1 /* Simulator instruction decoder for sh4.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2009 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
18 using namespace sh4; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 sh4_idesc sh4_idesc::idesc_table[SH4_INSN_XTRCT_COMPACT + 1] =
25 { sh4_sem_x_invalid, "X_INVALID", SH4_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
26 { sh4_sem_add_compact, "ADD_COMPACT", SH4_INSN_ADD_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
27 { sh4_sem_addi_compact, "ADDI_COMPACT", SH4_INSN_ADDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_NONE } },
28 { sh4_sem_addc_compact, "ADDC_COMPACT", SH4_INSN_ADDC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
29 { sh4_sem_addv_compact, "ADDV_COMPACT", SH4_INSN_ADDV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
30 { sh4_sem_and_compact, "AND_COMPACT", SH4_INSN_AND_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
31 { sh4_sem_andi_compact, "ANDI_COMPACT", SH4_INSN_ANDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
32 { sh4_sem_andb_compact, "ANDB_COMPACT", SH4_INSN_ANDB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
33 { sh4_sem_bf_compact, "BF_COMPACT", SH4_INSN_BF_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
34 { sh4_sem_bfs_compact, "BFS_COMPACT", SH4_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 { sh4_sem_bra_compact, "BRA_COMPACT", SH4_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 { sh4_sem_braf_compact, "BRAF_COMPACT", SH4_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 { sh4_sem_bsr_compact, "BSR_COMPACT", SH4_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 { sh4_sem_bsrf_compact, "BSRF_COMPACT", SH4_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 { sh4_sem_bt_compact, "BT_COMPACT", SH4_INSN_BT_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
40 { sh4_sem_bts_compact, "BTS_COMPACT", SH4_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 { sh4_sem_clrmac_compact, "CLRMAC_COMPACT", SH4_INSN_CLRMAC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
42 { sh4_sem_clrs_compact, "CLRS_COMPACT", SH4_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 { sh4_sem_clrt_compact, "CLRT_COMPACT", SH4_INSN_CLRT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
44 { sh4_sem_cmpeq_compact, "CMPEQ_COMPACT", SH4_INSN_CMPEQ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
45 { sh4_sem_cmpeqi_compact, "CMPEQI_COMPACT", SH4_INSN_CMPEQI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
46 { sh4_sem_cmpge_compact, "CMPGE_COMPACT", SH4_INSN_CMPGE_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
47 { sh4_sem_cmpgt_compact, "CMPGT_COMPACT", SH4_INSN_CMPGT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
48 { sh4_sem_cmphi_compact, "CMPHI_COMPACT", SH4_INSN_CMPHI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
49 { sh4_sem_cmphs_compact, "CMPHS_COMPACT", SH4_INSN_CMPHS_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
50 { sh4_sem_cmppl_compact, "CMPPL_COMPACT", SH4_INSN_CMPPL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
51 { sh4_sem_cmppz_compact, "CMPPZ_COMPACT", SH4_INSN_CMPPZ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
52 { sh4_sem_cmpstr_compact, "CMPSTR_COMPACT", SH4_INSN_CMPSTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
53 { sh4_sem_div0s_compact, "DIV0S_COMPACT", SH4_INSN_DIV0S_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
54 { sh4_sem_div0u_compact, "DIV0U_COMPACT", SH4_INSN_DIV0U_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
55 { sh4_sem_div1_compact, "DIV1_COMPACT", SH4_INSN_DIV1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
56 { sh4_sem_divu_compact, "DIVU_COMPACT", SH4_INSN_DIVU_COMPACT, { 0, (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
57 { sh4_sem_mulr_compact, "MULR_COMPACT", SH4_INSN_MULR_COMPACT, { 0, (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
58 { sh4_sem_dmulsl_compact, "DMULSL_COMPACT", SH4_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 } },
59 { sh4_sem_dmulul_compact, "DMULUL_COMPACT", SH4_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 } },
60 { sh4_sem_dt_compact, "DT_COMPACT", SH4_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 } },
61 { sh4_sem_extsb_compact, "EXTSB_COMPACT", SH4_INSN_EXTSB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
62 { sh4_sem_extsw_compact, "EXTSW_COMPACT", SH4_INSN_EXTSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
63 { sh4_sem_extub_compact, "EXTUB_COMPACT", SH4_INSN_EXTUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
64 { sh4_sem_extuw_compact, "EXTUW_COMPACT", SH4_INSN_EXTUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
65 { sh4_sem_fabs_compact, "FABS_COMPACT", SH4_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 } },
66 { sh4_sem_fadd_compact, "FADD_COMPACT", SH4_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 } },
67 { sh4_sem_fcmpeq_compact, "FCMPEQ_COMPACT", SH4_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 } },
68 { sh4_sem_fcmpgt_compact, "FCMPGT_COMPACT", SH4_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 } },
69 { sh4_sem_fcnvds_compact, "FCNVDS_COMPACT", SH4_INSN_FCNVDS_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
70 { sh4_sem_fcnvsd_compact, "FCNVSD_COMPACT", SH4_INSN_FCNVSD_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
71 { sh4_sem_fdiv_compact, "FDIV_COMPACT", SH4_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 } },
72 { sh4_sem_fipr_compact, "FIPR_COMPACT", SH4_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 } },
73 { sh4_sem_flds_compact, "FLDS_COMPACT", SH4_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 } },
74 { sh4_sem_fldi0_compact, "FLDI0_COMPACT", SH4_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 } },
75 { sh4_sem_fldi1_compact, "FLDI1_COMPACT", SH4_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 } },
76 { sh4_sem_float_compact, "FLOAT_COMPACT", SH4_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 } },
77 { sh4_sem_fmac_compact, "FMAC_COMPACT", SH4_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 } },
78 { sh4_sem_fmov1_compact, "FMOV1_COMPACT", SH4_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 } },
79 { sh4_sem_fmov2_compact, "FMOV2_COMPACT", SH4_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 } },
80 { sh4_sem_fmov3_compact, "FMOV3_COMPACT", SH4_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 } },
81 { sh4_sem_fmov4_compact, "FMOV4_COMPACT", SH4_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 } },
82 { sh4_sem_fmov5_compact, "FMOV5_COMPACT", SH4_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 } },
83 { sh4_sem_fmov6_compact, "FMOV6_COMPACT", SH4_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 } },
84 { sh4_sem_fmov7_compact, "FMOV7_COMPACT", SH4_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 } },
85 { sh4_sem_fmov8_compact, "FMOV8_COMPACT", SH4_INSN_FMOV8_COMPACT, { 0|(1<<CGEN_INSN_32_BIT_INSN), (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
86 { sh4_sem_fmov9_compact, "FMOV9_COMPACT", SH4_INSN_FMOV9_COMPACT, { 0|(1<<CGEN_INSN_32_BIT_INSN), (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
87 { sh4_sem_fmul_compact, "FMUL_COMPACT", SH4_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 } },
88 { sh4_sem_fneg_compact, "FNEG_COMPACT", SH4_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 } },
89 { sh4_sem_frchg_compact, "FRCHG_COMPACT", SH4_INSN_FRCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
90 { sh4_sem_fschg_compact, "FSCHG_COMPACT", SH4_INSN_FSCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
91 { sh4_sem_fsqrt_compact, "FSQRT_COMPACT", SH4_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 } },
92 { sh4_sem_fsts_compact, "FSTS_COMPACT", SH4_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 } },
93 { sh4_sem_fsub_compact, "FSUB_COMPACT", SH4_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 } },
94 { sh4_sem_ftrc_compact, "FTRC_COMPACT", SH4_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 } },
95 { sh4_sem_ftrv_compact, "FTRV_COMPACT", SH4_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 } },
96 { sh4_sem_jmp_compact, "JMP_COMPACT", SH4_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 } },
97 { sh4_sem_jsr_compact, "JSR_COMPACT", SH4_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 } },
98 { sh4_sem_ldc_gbr_compact, "LDC_GBR_COMPACT", SH4_INSN_LDC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
99 { sh4_sem_ldc_vbr_compact, "LDC_VBR_COMPACT", SH4_INSN_LDC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
100 { sh4_sem_ldc_sr_compact, "LDC_SR_COMPACT", SH4_INSN_LDC_SR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
101 { sh4_sem_ldcl_gbr_compact, "LDCL_GBR_COMPACT", SH4_INSN_LDCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
102 { sh4_sem_ldcl_vbr_compact, "LDCL_VBR_COMPACT", SH4_INSN_LDCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
103 { sh4_sem_lds_fpscr_compact, "LDS_FPSCR_COMPACT", SH4_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 } },
104 { sh4_sem_ldsl_fpscr_compact, "LDSL_FPSCR_COMPACT", SH4_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 } },
105 { sh4_sem_lds_fpul_compact, "LDS_FPUL_COMPACT", SH4_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 } },
106 { sh4_sem_ldsl_fpul_compact, "LDSL_FPUL_COMPACT", SH4_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 } },
107 { sh4_sem_lds_mach_compact, "LDS_MACH_COMPACT", SH4_INSN_LDS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
108 { sh4_sem_ldsl_mach_compact, "LDSL_MACH_COMPACT", SH4_INSN_LDSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
109 { sh4_sem_lds_macl_compact, "LDS_MACL_COMPACT", SH4_INSN_LDS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
110 { sh4_sem_ldsl_macl_compact, "LDSL_MACL_COMPACT", SH4_INSN_LDSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
111 { sh4_sem_lds_pr_compact, "LDS_PR_COMPACT", SH4_INSN_LDS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
112 { sh4_sem_ldsl_pr_compact, "LDSL_PR_COMPACT", SH4_INSN_LDSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
113 { sh4_sem_macl_compact, "MACL_COMPACT", SH4_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 } },
114 { sh4_sem_macw_compact, "MACW_COMPACT", SH4_INSN_MACW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
115 { sh4_sem_mov_compact, "MOV_COMPACT", SH4_INSN_MOV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
116 { sh4_sem_movi_compact, "MOVI_COMPACT", SH4_INSN_MOVI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_MT } },
117 { sh4_sem_movi20_compact, "MOVI20_COMPACT", SH4_INSN_MOVI20_COMPACT, { 0|(1<<CGEN_INSN_32_BIT_INSN), (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
118 { sh4_sem_movb1_compact, "MOVB1_COMPACT", SH4_INSN_MOVB1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
119 { sh4_sem_movb2_compact, "MOVB2_COMPACT", SH4_INSN_MOVB2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
120 { sh4_sem_movb3_compact, "MOVB3_COMPACT", SH4_INSN_MOVB3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
121 { sh4_sem_movb4_compact, "MOVB4_COMPACT", SH4_INSN_MOVB4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
122 { sh4_sem_movb5_compact, "MOVB5_COMPACT", SH4_INSN_MOVB5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
123 { sh4_sem_movb6_compact, "MOVB6_COMPACT", SH4_INSN_MOVB6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
124 { sh4_sem_movb7_compact, "MOVB7_COMPACT", SH4_INSN_MOVB7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
125 { sh4_sem_movb8_compact, "MOVB8_COMPACT", SH4_INSN_MOVB8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
126 { sh4_sem_movb9_compact, "MOVB9_COMPACT", SH4_INSN_MOVB9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
127 { sh4_sem_movb10_compact, "MOVB10_COMPACT", SH4_INSN_MOVB10_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
128 { sh4_sem_movl1_compact, "MOVL1_COMPACT", SH4_INSN_MOVL1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
129 { sh4_sem_movl2_compact, "MOVL2_COMPACT", SH4_INSN_MOVL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
130 { sh4_sem_movl3_compact, "MOVL3_COMPACT", SH4_INSN_MOVL3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
131 { sh4_sem_movl4_compact, "MOVL4_COMPACT", SH4_INSN_MOVL4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
132 { sh4_sem_movl5_compact, "MOVL5_COMPACT", SH4_INSN_MOVL5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
133 { sh4_sem_movl6_compact, "MOVL6_COMPACT", SH4_INSN_MOVL6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
134 { sh4_sem_movl7_compact, "MOVL7_COMPACT", SH4_INSN_MOVL7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
135 { sh4_sem_movl8_compact, "MOVL8_COMPACT", SH4_INSN_MOVL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
136 { sh4_sem_movl9_compact, "MOVL9_COMPACT", SH4_INSN_MOVL9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
137 { sh4_sem_movl10_compact, "MOVL10_COMPACT", SH4_INSN_MOVL10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
138 { sh4_sem_movl11_compact, "MOVL11_COMPACT", SH4_INSN_MOVL11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
139 { sh4_sem_movl12_compact, "MOVL12_COMPACT", SH4_INSN_MOVL12_COMPACT, { 0|(1<<CGEN_INSN_32_BIT_INSN), (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
140 { sh4_sem_movl13_compact, "MOVL13_COMPACT", SH4_INSN_MOVL13_COMPACT, { 0|(1<<CGEN_INSN_32_BIT_INSN), (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
141 { sh4_sem_movw1_compact, "MOVW1_COMPACT", SH4_INSN_MOVW1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
142 { sh4_sem_movw2_compact, "MOVW2_COMPACT", SH4_INSN_MOVW2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
143 { sh4_sem_movw3_compact, "MOVW3_COMPACT", SH4_INSN_MOVW3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
144 { sh4_sem_movw4_compact, "MOVW4_COMPACT", SH4_INSN_MOVW4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
145 { sh4_sem_movw5_compact, "MOVW5_COMPACT", SH4_INSN_MOVW5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
146 { sh4_sem_movw6_compact, "MOVW6_COMPACT", SH4_INSN_MOVW6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
147 { sh4_sem_movw7_compact, "MOVW7_COMPACT", SH4_INSN_MOVW7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
148 { sh4_sem_movw8_compact, "MOVW8_COMPACT", SH4_INSN_MOVW8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
149 { sh4_sem_movw9_compact, "MOVW9_COMPACT", SH4_INSN_MOVW9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
150 { sh4_sem_movw10_compact, "MOVW10_COMPACT", SH4_INSN_MOVW10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
151 { sh4_sem_movw11_compact, "MOVW11_COMPACT", SH4_INSN_MOVW11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
152 { sh4_sem_mova_compact, "MOVA_COMPACT", SH4_INSN_MOVA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_LS } },
153 { sh4_sem_movcal_compact, "MOVCAL_COMPACT", SH4_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 } },
154 { sh4_sem_movt_compact, "MOVT_COMPACT", SH4_INSN_MOVT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
155 { sh4_sem_mull_compact, "MULL_COMPACT", SH4_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 } },
156 { sh4_sem_mulsw_compact, "MULSW_COMPACT", SH4_INSN_MULSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
157 { sh4_sem_muluw_compact, "MULUW_COMPACT", SH4_INSN_MULUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
158 { sh4_sem_neg_compact, "NEG_COMPACT", SH4_INSN_NEG_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
159 { sh4_sem_negc_compact, "NEGC_COMPACT", SH4_INSN_NEGC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
160 { sh4_sem_nop_compact, "NOP_COMPACT", SH4_INSN_NOP_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
161 { sh4_sem_not_compact, "NOT_COMPACT", SH4_INSN_NOT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
162 { sh4_sem_ocbi_compact, "OCBI_COMPACT", SH4_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 } },
163 { sh4_sem_ocbp_compact, "OCBP_COMPACT", SH4_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 } },
164 { sh4_sem_ocbwb_compact, "OCBWB_COMPACT", SH4_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 } },
165 { sh4_sem_or_compact, "OR_COMPACT", SH4_INSN_OR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
166 { sh4_sem_ori_compact, "ORI_COMPACT", SH4_INSN_ORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
167 { sh4_sem_orb_compact, "ORB_COMPACT", SH4_INSN_ORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
168 { sh4_sem_pref_compact, "PREF_COMPACT", SH4_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 } },
169 { sh4_sem_rotcl_compact, "ROTCL_COMPACT", SH4_INSN_ROTCL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
170 { sh4_sem_rotcr_compact, "ROTCR_COMPACT", SH4_INSN_ROTCR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
171 { sh4_sem_rotl_compact, "ROTL_COMPACT", SH4_INSN_ROTL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
172 { sh4_sem_rotr_compact, "ROTR_COMPACT", SH4_INSN_ROTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
173 { sh4_sem_rts_compact, "RTS_COMPACT", SH4_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 } },
174 { sh4_sem_sets_compact, "SETS_COMPACT", SH4_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 } },
175 { sh4_sem_sett_compact, "SETT_COMPACT", SH4_INSN_SETT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
176 { sh4_sem_shad_compact, "SHAD_COMPACT", SH4_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 } },
177 { sh4_sem_shal_compact, "SHAL_COMPACT", SH4_INSN_SHAL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
178 { sh4_sem_shar_compact, "SHAR_COMPACT", SH4_INSN_SHAR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
179 { sh4_sem_shld_compact, "SHLD_COMPACT", SH4_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 } },
180 { sh4_sem_shll_compact, "SHLL_COMPACT", SH4_INSN_SHLL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
181 { sh4_sem_shll2_compact, "SHLL2_COMPACT", SH4_INSN_SHLL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
182 { sh4_sem_shll8_compact, "SHLL8_COMPACT", SH4_INSN_SHLL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
183 { sh4_sem_shll16_compact, "SHLL16_COMPACT", SH4_INSN_SHLL16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
184 { sh4_sem_shlr_compact, "SHLR_COMPACT", SH4_INSN_SHLR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
185 { sh4_sem_shlr2_compact, "SHLR2_COMPACT", SH4_INSN_SHLR2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
186 { sh4_sem_shlr8_compact, "SHLR8_COMPACT", SH4_INSN_SHLR8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
187 { sh4_sem_shlr16_compact, "SHLR16_COMPACT", SH4_INSN_SHLR16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
188 { sh4_sem_stc_gbr_compact, "STC_GBR_COMPACT", SH4_INSN_STC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
189 { sh4_sem_stc_vbr_compact, "STC_VBR_COMPACT", SH4_INSN_STC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
190 { sh4_sem_stcl_gbr_compact, "STCL_GBR_COMPACT", SH4_INSN_STCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
191 { sh4_sem_stcl_vbr_compact, "STCL_VBR_COMPACT", SH4_INSN_STCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
192 { sh4_sem_sts_fpscr_compact, "STS_FPSCR_COMPACT", SH4_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 } },
193 { sh4_sem_stsl_fpscr_compact, "STSL_FPSCR_COMPACT", SH4_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 } },
194 { sh4_sem_sts_fpul_compact, "STS_FPUL_COMPACT", SH4_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 } },
195 { sh4_sem_stsl_fpul_compact, "STSL_FPUL_COMPACT", SH4_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 } },
196 { sh4_sem_sts_mach_compact, "STS_MACH_COMPACT", SH4_INSN_STS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
197 { sh4_sem_stsl_mach_compact, "STSL_MACH_COMPACT", SH4_INSN_STSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
198 { sh4_sem_sts_macl_compact, "STS_MACL_COMPACT", SH4_INSN_STS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
199 { sh4_sem_stsl_macl_compact, "STSL_MACL_COMPACT", SH4_INSN_STSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
200 { sh4_sem_sts_pr_compact, "STS_PR_COMPACT", SH4_INSN_STS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
201 { sh4_sem_stsl_pr_compact, "STSL_PR_COMPACT", SH4_INSN_STSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
202 { sh4_sem_sub_compact, "SUB_COMPACT", SH4_INSN_SUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
203 { sh4_sem_subc_compact, "SUBC_COMPACT", SH4_INSN_SUBC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
204 { sh4_sem_subv_compact, "SUBV_COMPACT", SH4_INSN_SUBV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
205 { sh4_sem_swapb_compact, "SWAPB_COMPACT", SH4_INSN_SWAPB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
206 { sh4_sem_swapw_compact, "SWAPW_COMPACT", SH4_INSN_SWAPW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
207 { sh4_sem_tasb_compact, "TASB_COMPACT", SH4_INSN_TASB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
208 { sh4_sem_trapa_compact, "TRAPA_COMPACT", SH4_INSN_TRAPA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
209 { sh4_sem_tst_compact, "TST_COMPACT", SH4_INSN_TST_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
210 { sh4_sem_tsti_compact, "TSTI_COMPACT", SH4_INSN_TSTI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
211 { sh4_sem_tstb_compact, "TSTB_COMPACT", SH4_INSN_TSTB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
212 { sh4_sem_xor_compact, "XOR_COMPACT", SH4_INSN_XOR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
213 { sh4_sem_xori_compact, "XORI_COMPACT", SH4_INSN_XORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
214 { sh4_sem_xorb_compact, "XORB_COMPACT", SH4_INSN_XORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
215 { sh4_sem_xtrct_compact, "XTRCT_COMPACT", SH4_INSN_XTRCT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
219 // Given a canonical virtual insn id, return the target specific one.
222 sh4_idesc::lookup_virtual (virtual_insn_type vit)
226 case VIRTUAL_INSN_INVALID: return SH4_INSN_X_INVALID;
227 case VIRTUAL_INSN_COND: return SH4_INSN_X_INVALID;
233 // Declare extractor functions
236 sh4_extract_sfmt_empty (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
238 sh4_extract_sfmt_add_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
240 sh4_extract_sfmt_addi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
242 sh4_extract_sfmt_addc_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
244 sh4_extract_sfmt_addv_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
246 sh4_extract_sfmt_and_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
248 sh4_extract_sfmt_andi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
250 sh4_extract_sfmt_andb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
252 sh4_extract_sfmt_bf_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
254 sh4_extract_sfmt_bfs_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
256 sh4_extract_sfmt_bra_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
258 sh4_extract_sfmt_braf_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
260 sh4_extract_sfmt_bsr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
262 sh4_extract_sfmt_bsrf_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
264 sh4_extract_sfmt_clrmac_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
266 sh4_extract_sfmt_clrs_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
268 sh4_extract_sfmt_clrt_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
270 sh4_extract_sfmt_cmpeq_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
272 sh4_extract_sfmt_cmpeqi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
274 sh4_extract_sfmt_cmppl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
276 sh4_extract_sfmt_div0s_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
278 sh4_extract_sfmt_div0u_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
280 sh4_extract_sfmt_div1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
282 sh4_extract_sfmt_divu_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
284 sh4_extract_sfmt_dmulsl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
286 sh4_extract_sfmt_dt_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
288 sh4_extract_sfmt_extsb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
290 sh4_extract_sfmt_fabs_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
292 sh4_extract_sfmt_fadd_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
294 sh4_extract_sfmt_fcmpeq_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
296 sh4_extract_sfmt_fcnvds_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
298 sh4_extract_sfmt_fcnvsd_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
300 sh4_extract_sfmt_fipr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
302 sh4_extract_sfmt_flds_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
304 sh4_extract_sfmt_fldi0_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
306 sh4_extract_sfmt_float_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
308 sh4_extract_sfmt_fmac_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
310 sh4_extract_sfmt_fmov1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
312 sh4_extract_sfmt_fmov2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
314 sh4_extract_sfmt_fmov3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
316 sh4_extract_sfmt_fmov4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
318 sh4_extract_sfmt_fmov5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
320 sh4_extract_sfmt_fmov6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
322 sh4_extract_sfmt_fmov7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
324 sh4_extract_sfmt_fmov8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
326 sh4_extract_sfmt_fmov9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
328 sh4_extract_sfmt_frchg_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
330 sh4_extract_sfmt_fschg_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
332 sh4_extract_sfmt_fsts_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
334 sh4_extract_sfmt_ftrc_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
336 sh4_extract_sfmt_ftrv_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
338 sh4_extract_sfmt_ldc_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
340 sh4_extract_sfmt_ldc_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
342 sh4_extract_sfmt_ldc_sr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
344 sh4_extract_sfmt_ldcl_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
346 sh4_extract_sfmt_ldcl_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
348 sh4_extract_sfmt_lds_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
350 sh4_extract_sfmt_ldsl_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
352 sh4_extract_sfmt_lds_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
354 sh4_extract_sfmt_ldsl_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
356 sh4_extract_sfmt_lds_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
358 sh4_extract_sfmt_ldsl_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
360 sh4_extract_sfmt_lds_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
362 sh4_extract_sfmt_ldsl_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
364 sh4_extract_sfmt_lds_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
366 sh4_extract_sfmt_ldsl_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
368 sh4_extract_sfmt_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
370 sh4_extract_sfmt_macw_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
372 sh4_extract_sfmt_mov_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
374 sh4_extract_sfmt_movi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
376 sh4_extract_sfmt_movi20_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
378 sh4_extract_sfmt_movb1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
380 sh4_extract_sfmt_movb2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
382 sh4_extract_sfmt_movb3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
384 sh4_extract_sfmt_movb4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
386 sh4_extract_sfmt_movb5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
388 sh4_extract_sfmt_movb6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
390 sh4_extract_sfmt_movb7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
392 sh4_extract_sfmt_movb8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
394 sh4_extract_sfmt_movb9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
396 sh4_extract_sfmt_movb10_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
398 sh4_extract_sfmt_movl1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
400 sh4_extract_sfmt_movl2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
402 sh4_extract_sfmt_movl3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
404 sh4_extract_sfmt_movl4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
406 sh4_extract_sfmt_movl5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
408 sh4_extract_sfmt_movl6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
410 sh4_extract_sfmt_movl7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
412 sh4_extract_sfmt_movl8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
414 sh4_extract_sfmt_movl9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
416 sh4_extract_sfmt_movl10_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
418 sh4_extract_sfmt_movl11_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
420 sh4_extract_sfmt_movl12_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
422 sh4_extract_sfmt_movl13_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
424 sh4_extract_sfmt_movw1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
426 sh4_extract_sfmt_movw2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
428 sh4_extract_sfmt_movw3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
430 sh4_extract_sfmt_movw4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
432 sh4_extract_sfmt_movw5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
434 sh4_extract_sfmt_movw6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
436 sh4_extract_sfmt_movw7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
438 sh4_extract_sfmt_movw8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
440 sh4_extract_sfmt_movw9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
442 sh4_extract_sfmt_movw10_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
444 sh4_extract_sfmt_movw11_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
446 sh4_extract_sfmt_mova_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
448 sh4_extract_sfmt_movcal_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
450 sh4_extract_sfmt_movt_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
452 sh4_extract_sfmt_mull_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
454 sh4_extract_sfmt_negc_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
456 sh4_extract_sfmt_nop_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
458 sh4_extract_sfmt_ocbi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
460 sh4_extract_sfmt_pref_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
462 sh4_extract_sfmt_rotcl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
464 sh4_extract_sfmt_rts_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
466 sh4_extract_sfmt_shad_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
468 sh4_extract_sfmt_stc_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
470 sh4_extract_sfmt_stc_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
472 sh4_extract_sfmt_stcl_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
474 sh4_extract_sfmt_stcl_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
476 sh4_extract_sfmt_sts_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
478 sh4_extract_sfmt_stsl_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
480 sh4_extract_sfmt_sts_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
482 sh4_extract_sfmt_stsl_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
484 sh4_extract_sfmt_sts_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
486 sh4_extract_sfmt_stsl_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
488 sh4_extract_sfmt_sts_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
490 sh4_extract_sfmt_stsl_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
492 sh4_extract_sfmt_sts_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
494 sh4_extract_sfmt_stsl_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
496 sh4_extract_sfmt_tasb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
498 sh4_extract_sfmt_trapa_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
500 sh4_extract_sfmt_tsti_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
502 sh4_extract_sfmt_tstb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn);
504 // Fetch & decode instruction
506 sh4_scache::decode (sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn)
508 /* Result of decoder. */
512 sh4_insn_word insn = base_insn;
515 unsigned int val = (((insn >> 21) & (15 << 7)) | ((insn >> 16) & (127 << 0)));
518 case 0 : /* fall through */
519 case 16 : /* fall through */
520 case 32 : /* fall through */
521 case 48 : /* fall through */
522 case 64 : /* fall through */
523 case 80 : /* fall through */
524 case 96 : /* fall through */
525 case 112 : itype = SH4_INSN_MOVI20_COMPACT; sh4_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
528 unsigned int val = (((insn >> 23) & (1 << 0)));
532 entire_insn = entire_insn >> 16;
533 itype = SH4_INSN_BSRF_COMPACT; sh4_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
535 entire_insn = entire_insn >> 16;
536 itype = SH4_INSN_PREF_COMPACT; sh4_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
537 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
540 case 4 : /* fall through */
541 case 20 : /* fall through */
542 case 36 : /* fall through */
543 case 52 : /* fall through */
544 case 68 : /* fall through */
545 case 84 : /* fall through */
546 case 100 : /* fall through */
548 entire_insn = entire_insn >> 16;
549 itype = SH4_INSN_MOVB3_COMPACT; sh4_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
550 case 5 : /* fall through */
551 case 21 : /* fall through */
552 case 37 : /* fall through */
553 case 53 : /* fall through */
554 case 69 : /* fall through */
555 case 85 : /* fall through */
556 case 101 : /* fall through */
558 entire_insn = entire_insn >> 16;
559 itype = SH4_INSN_MOVW3_COMPACT; sh4_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
560 case 6 : /* fall through */
561 case 22 : /* fall through */
562 case 38 : /* fall through */
563 case 54 : /* fall through */
564 case 70 : /* fall through */
565 case 86 : /* fall through */
566 case 102 : /* fall through */
568 entire_insn = entire_insn >> 16;
569 itype = SH4_INSN_MOVL3_COMPACT; sh4_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
570 case 7 : /* fall through */
571 case 23 : /* fall through */
572 case 39 : /* fall through */
573 case 55 : /* fall through */
574 case 71 : /* fall through */
575 case 87 : /* fall through */
576 case 103 : /* fall through */
578 entire_insn = entire_insn >> 16;
579 itype = SH4_INSN_MULL_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
581 entire_insn = entire_insn >> 16;
582 if ((entire_insn & 0xffff) == 0x8)
583 { itype = SH4_INSN_CLRT_COMPACT; sh4_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
584 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
586 entire_insn = entire_insn >> 16;
587 if ((entire_insn & 0xffff) == 0x9)
588 { itype = SH4_INSN_NOP_COMPACT; sh4_extract_sfmt_nop_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
589 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
591 entire_insn = entire_insn >> 16;
592 if ((entire_insn & 0xf0ff) == 0xa)
593 { itype = SH4_INSN_STS_MACH_COMPACT; sh4_extract_sfmt_sts_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
594 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
596 entire_insn = entire_insn >> 16;
597 if ((entire_insn & 0xffff) == 0xb)
598 { itype = SH4_INSN_RTS_COMPACT; sh4_extract_sfmt_rts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
599 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
600 case 12 : /* fall through */
601 case 28 : /* fall through */
602 case 44 : /* fall through */
603 case 60 : /* fall through */
604 case 76 : /* fall through */
605 case 92 : /* fall through */
606 case 108 : /* fall through */
608 entire_insn = entire_insn >> 16;
609 itype = SH4_INSN_MOVB8_COMPACT; sh4_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
610 case 13 : /* fall through */
611 case 29 : /* fall through */
612 case 45 : /* fall through */
613 case 61 : /* fall through */
614 case 77 : /* fall through */
615 case 93 : /* fall through */
616 case 109 : /* fall through */
618 entire_insn = entire_insn >> 16;
619 itype = SH4_INSN_MOVW8_COMPACT; sh4_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
620 case 14 : /* fall through */
621 case 30 : /* fall through */
622 case 46 : /* fall through */
623 case 62 : /* fall through */
624 case 78 : /* fall through */
625 case 94 : /* fall through */
626 case 110 : /* fall through */
628 entire_insn = entire_insn >> 16;
629 itype = SH4_INSN_MOVL8_COMPACT; sh4_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
630 case 15 : /* fall through */
631 case 31 : /* fall through */
632 case 47 : /* fall through */
633 case 63 : /* fall through */
634 case 79 : /* fall through */
635 case 95 : /* fall through */
636 case 111 : /* fall through */
638 entire_insn = entire_insn >> 16;
639 itype = SH4_INSN_MACL_COMPACT; sh4_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
641 entire_insn = entire_insn >> 16;
642 if ((entire_insn & 0xf0ff) == 0x12)
643 { itype = SH4_INSN_STC_GBR_COMPACT; sh4_extract_sfmt_stc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
644 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
646 entire_insn = entire_insn >> 16;
647 if ((entire_insn & 0xf0ff) == 0x93)
648 { itype = SH4_INSN_OCBI_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
649 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
651 entire_insn = entire_insn >> 16;
652 if ((entire_insn & 0xffff) == 0x18)
653 { itype = SH4_INSN_SETT_COMPACT; sh4_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
654 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
656 entire_insn = entire_insn >> 16;
657 if ((entire_insn & 0xffff) == 0x19)
658 { itype = SH4_INSN_DIV0U_COMPACT; sh4_extract_sfmt_div0u_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
659 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
661 entire_insn = entire_insn >> 16;
662 if ((entire_insn & 0xf0ff) == 0x1a)
663 { itype = SH4_INSN_STS_MACL_COMPACT; sh4_extract_sfmt_sts_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
664 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
666 entire_insn = entire_insn >> 16;
667 if ((entire_insn & 0xf0ff) == 0x22)
668 { itype = SH4_INSN_STC_VBR_COMPACT; sh4_extract_sfmt_stc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
669 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
672 unsigned int val = (((insn >> 23) & (1 << 0)));
676 entire_insn = entire_insn >> 16;
677 itype = SH4_INSN_BRAF_COMPACT; sh4_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
679 entire_insn = entire_insn >> 16;
680 itype = SH4_INSN_OCBP_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
681 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
685 entire_insn = entire_insn >> 16;
686 if ((entire_insn & 0xffff) == 0x28)
687 { itype = SH4_INSN_CLRMAC_COMPACT; sh4_extract_sfmt_clrmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
688 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
690 entire_insn = entire_insn >> 16;
691 if ((entire_insn & 0xf0ff) == 0x29)
692 { itype = SH4_INSN_MOVT_COMPACT; sh4_extract_sfmt_movt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
693 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
695 entire_insn = entire_insn >> 16;
696 if ((entire_insn & 0xf0ff) == 0x2a)
697 { itype = SH4_INSN_STS_PR_COMPACT; sh4_extract_sfmt_sts_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
698 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
700 entire_insn = entire_insn >> 16;
701 if ((entire_insn & 0xf0ff) == 0xb3)
702 { itype = SH4_INSN_OCBWB_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
703 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
705 entire_insn = entire_insn >> 16;
706 if ((entire_insn & 0xf0ff) == 0xc3)
707 { itype = SH4_INSN_MOVCAL_COMPACT; sh4_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
708 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
710 entire_insn = entire_insn >> 16;
711 if ((entire_insn & 0xffff) == 0x48)
712 { itype = SH4_INSN_CLRS_COMPACT; sh4_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
713 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
715 entire_insn = entire_insn >> 16;
716 if ((entire_insn & 0xffff) == 0x58)
717 { itype = SH4_INSN_SETS_COMPACT; sh4_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
718 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
720 entire_insn = entire_insn >> 16;
721 if ((entire_insn & 0xf0ff) == 0x5a)
722 { itype = SH4_INSN_STS_FPUL_COMPACT; sh4_extract_sfmt_sts_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
723 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
725 entire_insn = entire_insn >> 16;
726 if ((entire_insn & 0xf0ff) == 0x6a)
727 { itype = SH4_INSN_STS_FPSCR_COMPACT; sh4_extract_sfmt_sts_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
728 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
729 case 128 : /* fall through */
730 case 129 : /* fall through */
731 case 130 : /* fall through */
732 case 131 : /* fall through */
733 case 132 : /* fall through */
734 case 133 : /* fall through */
735 case 134 : /* fall through */
736 case 135 : /* fall through */
737 case 136 : /* fall through */
738 case 137 : /* fall through */
739 case 138 : /* fall through */
740 case 139 : /* fall through */
741 case 140 : /* fall through */
742 case 141 : /* fall through */
743 case 142 : /* fall through */
744 case 143 : /* fall through */
745 case 144 : /* fall through */
746 case 145 : /* fall through */
747 case 146 : /* fall through */
748 case 147 : /* fall through */
749 case 148 : /* fall through */
750 case 149 : /* fall through */
751 case 150 : /* fall through */
752 case 151 : /* fall through */
753 case 152 : /* fall through */
754 case 153 : /* fall through */
755 case 154 : /* fall through */
756 case 155 : /* fall through */
757 case 156 : /* fall through */
758 case 157 : /* fall through */
759 case 158 : /* fall through */
760 case 159 : /* fall through */
761 case 160 : /* fall through */
762 case 161 : /* fall through */
763 case 162 : /* fall through */
764 case 163 : /* fall through */
765 case 164 : /* fall through */
766 case 165 : /* fall through */
767 case 166 : /* fall through */
768 case 167 : /* fall through */
769 case 168 : /* fall through */
770 case 169 : /* fall through */
771 case 170 : /* fall through */
772 case 171 : /* fall through */
773 case 172 : /* fall through */
774 case 173 : /* fall through */
775 case 174 : /* fall through */
776 case 175 : /* fall through */
777 case 176 : /* fall through */
778 case 177 : /* fall through */
779 case 178 : /* fall through */
780 case 179 : /* fall through */
781 case 180 : /* fall through */
782 case 181 : /* fall through */
783 case 182 : /* fall through */
784 case 183 : /* fall through */
785 case 184 : /* fall through */
786 case 185 : /* fall through */
787 case 186 : /* fall through */
788 case 187 : /* fall through */
789 case 188 : /* fall through */
790 case 189 : /* fall through */
791 case 190 : /* fall through */
792 case 191 : /* fall through */
793 case 192 : /* fall through */
794 case 193 : /* fall through */
795 case 194 : /* fall through */
796 case 195 : /* fall through */
797 case 196 : /* fall through */
798 case 197 : /* fall through */
799 case 198 : /* fall through */
800 case 199 : /* fall through */
801 case 200 : /* fall through */
802 case 201 : /* fall through */
803 case 202 : /* fall through */
804 case 203 : /* fall through */
805 case 204 : /* fall through */
806 case 205 : /* fall through */
807 case 206 : /* fall through */
808 case 207 : /* fall through */
809 case 208 : /* fall through */
810 case 209 : /* fall through */
811 case 210 : /* fall through */
812 case 211 : /* fall through */
813 case 212 : /* fall through */
814 case 213 : /* fall through */
815 case 214 : /* fall through */
816 case 215 : /* fall through */
817 case 216 : /* fall through */
818 case 217 : /* fall through */
819 case 218 : /* fall through */
820 case 219 : /* fall through */
821 case 220 : /* fall through */
822 case 221 : /* fall through */
823 case 222 : /* fall through */
824 case 223 : /* fall through */
825 case 224 : /* fall through */
826 case 225 : /* fall through */
827 case 226 : /* fall through */
828 case 227 : /* fall through */
829 case 228 : /* fall through */
830 case 229 : /* fall through */
831 case 230 : /* fall through */
832 case 231 : /* fall through */
833 case 232 : /* fall through */
834 case 233 : /* fall through */
835 case 234 : /* fall through */
836 case 235 : /* fall through */
837 case 236 : /* fall through */
838 case 237 : /* fall through */
839 case 238 : /* fall through */
840 case 239 : /* fall through */
841 case 240 : /* fall through */
842 case 241 : /* fall through */
843 case 242 : /* fall through */
844 case 243 : /* fall through */
845 case 244 : /* fall through */
846 case 245 : /* fall through */
847 case 246 : /* fall through */
848 case 247 : /* fall through */
849 case 248 : /* fall through */
850 case 249 : /* fall through */
851 case 250 : /* fall through */
852 case 251 : /* fall through */
853 case 252 : /* fall through */
854 case 253 : /* fall through */
855 case 254 : /* fall through */
857 entire_insn = entire_insn >> 16;
858 itype = SH4_INSN_MOVL5_COMPACT; sh4_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
859 case 256 : /* fall through */
860 case 272 : /* fall through */
861 case 288 : /* fall through */
862 case 304 : /* fall through */
863 case 320 : /* fall through */
864 case 336 : /* fall through */
865 case 352 : /* fall through */
867 entire_insn = entire_insn >> 16;
868 itype = SH4_INSN_MOVB1_COMPACT; sh4_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
869 case 257 : /* fall through */
870 case 273 : /* fall through */
871 case 289 : /* fall through */
872 case 305 : /* fall through */
873 case 321 : /* fall through */
874 case 337 : /* fall through */
875 case 353 : /* fall through */
877 entire_insn = entire_insn >> 16;
878 itype = SH4_INSN_MOVW1_COMPACT; sh4_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
879 case 258 : /* fall through */
880 case 274 : /* fall through */
881 case 290 : /* fall through */
882 case 306 : /* fall through */
883 case 322 : /* fall through */
884 case 338 : /* fall through */
885 case 354 : /* fall through */
887 entire_insn = entire_insn >> 16;
888 itype = SH4_INSN_MOVL1_COMPACT; sh4_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
889 case 260 : /* fall through */
890 case 276 : /* fall through */
891 case 292 : /* fall through */
892 case 308 : /* fall through */
893 case 324 : /* fall through */
894 case 340 : /* fall through */
895 case 356 : /* fall through */
897 entire_insn = entire_insn >> 16;
898 itype = SH4_INSN_MOVB2_COMPACT; sh4_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
899 case 261 : /* fall through */
900 case 277 : /* fall through */
901 case 293 : /* fall through */
902 case 309 : /* fall through */
903 case 325 : /* fall through */
904 case 341 : /* fall through */
905 case 357 : /* fall through */
907 entire_insn = entire_insn >> 16;
908 itype = SH4_INSN_MOVW2_COMPACT; sh4_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
909 case 262 : /* fall through */
910 case 278 : /* fall through */
911 case 294 : /* fall through */
912 case 310 : /* fall through */
913 case 326 : /* fall through */
914 case 342 : /* fall through */
915 case 358 : /* fall through */
917 entire_insn = entire_insn >> 16;
918 itype = SH4_INSN_MOVL2_COMPACT; sh4_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
919 case 263 : /* fall through */
920 case 279 : /* fall through */
921 case 295 : /* fall through */
922 case 311 : /* fall through */
923 case 327 : /* fall through */
924 case 343 : /* fall through */
925 case 359 : /* fall through */
927 entire_insn = entire_insn >> 16;
928 itype = SH4_INSN_DIV0S_COMPACT; sh4_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
929 case 264 : /* fall through */
930 case 280 : /* fall through */
931 case 296 : /* fall through */
932 case 312 : /* fall through */
933 case 328 : /* fall through */
934 case 344 : /* fall through */
935 case 360 : /* fall through */
937 entire_insn = entire_insn >> 16;
938 itype = SH4_INSN_TST_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
939 case 265 : /* fall through */
940 case 281 : /* fall through */
941 case 297 : /* fall through */
942 case 313 : /* fall through */
943 case 329 : /* fall through */
944 case 345 : /* fall through */
945 case 361 : /* fall through */
947 entire_insn = entire_insn >> 16;
948 itype = SH4_INSN_AND_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
949 case 266 : /* fall through */
950 case 282 : /* fall through */
951 case 298 : /* fall through */
952 case 314 : /* fall through */
953 case 330 : /* fall through */
954 case 346 : /* fall through */
955 case 362 : /* fall through */
957 entire_insn = entire_insn >> 16;
958 itype = SH4_INSN_XOR_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
959 case 267 : /* fall through */
960 case 283 : /* fall through */
961 case 299 : /* fall through */
962 case 315 : /* fall through */
963 case 331 : /* fall through */
964 case 347 : /* fall through */
965 case 363 : /* fall through */
967 entire_insn = entire_insn >> 16;
968 itype = SH4_INSN_OR_COMPACT; sh4_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
969 case 268 : /* fall through */
970 case 284 : /* fall through */
971 case 300 : /* fall through */
972 case 316 : /* fall through */
973 case 332 : /* fall through */
974 case 348 : /* fall through */
975 case 364 : /* fall through */
977 entire_insn = entire_insn >> 16;
978 itype = SH4_INSN_CMPSTR_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
979 case 269 : /* fall through */
980 case 285 : /* fall through */
981 case 301 : /* fall through */
982 case 317 : /* fall through */
983 case 333 : /* fall through */
984 case 349 : /* fall through */
985 case 365 : /* fall through */
987 entire_insn = entire_insn >> 16;
988 itype = SH4_INSN_XTRCT_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
989 case 270 : /* fall through */
990 case 286 : /* fall through */
991 case 302 : /* fall through */
992 case 318 : /* fall through */
993 case 334 : /* fall through */
994 case 350 : /* fall through */
995 case 366 : /* fall through */
997 entire_insn = entire_insn >> 16;
998 itype = SH4_INSN_MULUW_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
999 case 271 : /* fall through */
1000 case 287 : /* fall through */
1001 case 303 : /* fall through */
1002 case 319 : /* fall through */
1003 case 335 : /* fall through */
1004 case 351 : /* fall through */
1005 case 367 : /* fall through */
1007 entire_insn = entire_insn >> 16;
1008 itype = SH4_INSN_MULSW_COMPACT; sh4_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1009 case 384 : /* fall through */
1010 case 400 : /* fall through */
1011 case 416 : /* fall through */
1012 case 432 : /* fall through */
1013 case 448 : /* fall through */
1014 case 464 : /* fall through */
1015 case 480 : /* fall through */
1017 entire_insn = entire_insn >> 16;
1018 itype = SH4_INSN_CMPEQ_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1019 case 385 : /* fall through */
1020 case 417 : /* fall through */
1021 case 449 : /* fall through */
1024 unsigned int val = (((insn >> 13) & (1 << 1)) | ((insn >> 12) & (1 << 0)));
1028 if ((entire_insn & 0xf00ff000) == 0x30012000)
1029 { itype = SH4_INSN_MOVL13_COMPACT; sh4_extract_sfmt_movl13_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1030 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1032 if ((entire_insn & 0xf01ff000) == 0x30013000)
1033 { itype = SH4_INSN_FMOV9_COMPACT; sh4_extract_sfmt_fmov9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1034 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1036 if ((entire_insn & 0xf00ff000) == 0x30016000)
1037 { itype = SH4_INSN_MOVL12_COMPACT; sh4_extract_sfmt_movl12_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1038 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1040 if ((entire_insn & 0xf10ff000) == 0x30017000)
1041 { itype = SH4_INSN_FMOV8_COMPACT; sh4_extract_sfmt_fmov8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1042 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1043 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1046 case 386 : /* fall through */
1047 case 402 : /* fall through */
1048 case 418 : /* fall through */
1049 case 434 : /* fall through */
1050 case 450 : /* fall through */
1051 case 466 : /* fall through */
1052 case 482 : /* fall through */
1054 entire_insn = entire_insn >> 16;
1055 itype = SH4_INSN_CMPHS_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1056 case 387 : /* fall through */
1057 case 403 : /* fall through */
1058 case 419 : /* fall through */
1059 case 435 : /* fall through */
1060 case 451 : /* fall through */
1061 case 467 : /* fall through */
1062 case 483 : /* fall through */
1064 entire_insn = entire_insn >> 16;
1065 itype = SH4_INSN_CMPGE_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1066 case 388 : /* fall through */
1067 case 404 : /* fall through */
1068 case 420 : /* fall through */
1069 case 436 : /* fall through */
1070 case 452 : /* fall through */
1071 case 468 : /* fall through */
1072 case 484 : /* fall through */
1074 entire_insn = entire_insn >> 16;
1075 itype = SH4_INSN_DIV1_COMPACT; sh4_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1076 case 389 : /* fall through */
1077 case 405 : /* fall through */
1078 case 421 : /* fall through */
1079 case 437 : /* fall through */
1080 case 453 : /* fall through */
1081 case 469 : /* fall through */
1082 case 485 : /* fall through */
1084 entire_insn = entire_insn >> 16;
1085 itype = SH4_INSN_DMULUL_COMPACT; sh4_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1086 case 390 : /* fall through */
1087 case 406 : /* fall through */
1088 case 422 : /* fall through */
1089 case 438 : /* fall through */
1090 case 454 : /* fall through */
1091 case 470 : /* fall through */
1092 case 486 : /* fall through */
1094 entire_insn = entire_insn >> 16;
1095 itype = SH4_INSN_CMPHI_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1096 case 391 : /* fall through */
1097 case 407 : /* fall through */
1098 case 423 : /* fall through */
1099 case 439 : /* fall through */
1100 case 455 : /* fall through */
1101 case 471 : /* fall through */
1102 case 487 : /* fall through */
1104 entire_insn = entire_insn >> 16;
1105 itype = SH4_INSN_CMPGT_COMPACT; sh4_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1106 case 392 : /* fall through */
1107 case 408 : /* fall through */
1108 case 424 : /* fall through */
1109 case 440 : /* fall through */
1110 case 456 : /* fall through */
1111 case 472 : /* fall through */
1112 case 488 : /* fall through */
1114 entire_insn = entire_insn >> 16;
1115 itype = SH4_INSN_SUB_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1116 case 394 : /* fall through */
1117 case 410 : /* fall through */
1118 case 426 : /* fall through */
1119 case 442 : /* fall through */
1120 case 458 : /* fall through */
1121 case 474 : /* fall through */
1122 case 490 : /* fall through */
1124 entire_insn = entire_insn >> 16;
1125 itype = SH4_INSN_SUBC_COMPACT; sh4_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1126 case 395 : /* fall through */
1127 case 411 : /* fall through */
1128 case 427 : /* fall through */
1129 case 443 : /* fall through */
1130 case 459 : /* fall through */
1131 case 475 : /* fall through */
1132 case 491 : /* fall through */
1134 entire_insn = entire_insn >> 16;
1135 itype = SH4_INSN_SUBV_COMPACT; sh4_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1136 case 396 : /* fall through */
1137 case 412 : /* fall through */
1138 case 428 : /* fall through */
1139 case 444 : /* fall through */
1140 case 460 : /* fall through */
1141 case 476 : /* fall through */
1142 case 492 : /* fall through */
1144 entire_insn = entire_insn >> 16;
1145 itype = SH4_INSN_ADD_COMPACT; sh4_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1146 case 397 : /* fall through */
1147 case 413 : /* fall through */
1148 case 429 : /* fall through */
1149 case 445 : /* fall through */
1150 case 461 : /* fall through */
1151 case 477 : /* fall through */
1152 case 493 : /* fall through */
1154 entire_insn = entire_insn >> 16;
1155 itype = SH4_INSN_DMULSL_COMPACT; sh4_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1156 case 398 : /* fall through */
1157 case 414 : /* fall through */
1158 case 430 : /* fall through */
1159 case 446 : /* fall through */
1160 case 462 : /* fall through */
1161 case 478 : /* fall through */
1162 case 494 : /* fall through */
1164 entire_insn = entire_insn >> 16;
1165 itype = SH4_INSN_ADDC_COMPACT; sh4_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1166 case 399 : /* fall through */
1167 case 415 : /* fall through */
1168 case 431 : /* fall through */
1169 case 447 : /* fall through */
1170 case 463 : /* fall through */
1171 case 479 : /* fall through */
1172 case 495 : /* fall through */
1174 entire_insn = entire_insn >> 16;
1175 itype = SH4_INSN_ADDV_COMPACT; sh4_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1176 case 401 : /* fall through */
1177 case 433 : /* fall through */
1178 case 465 : /* fall through */
1181 unsigned int val = (((insn >> 13) & (1 << 1)) | ((insn >> 12) & (1 << 0)));
1185 if ((entire_insn & 0xf00ff000) == 0x30012000)
1186 { itype = SH4_INSN_MOVL13_COMPACT; sh4_extract_sfmt_movl13_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1187 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1189 if ((entire_insn & 0xf00ff000) == 0x30016000)
1190 { itype = SH4_INSN_MOVL12_COMPACT; sh4_extract_sfmt_movl12_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1191 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1193 if ((entire_insn & 0xf10ff000) == 0x30017000)
1194 { itype = SH4_INSN_FMOV8_COMPACT; sh4_extract_sfmt_fmov8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1195 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1196 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1201 unsigned int val = (((insn >> 23) & (1 << 0)));
1205 entire_insn = entire_insn >> 16;
1206 itype = SH4_INSN_SHLL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1208 entire_insn = entire_insn >> 16;
1209 itype = SH4_INSN_MULR_COMPACT; sh4_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1210 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1214 entire_insn = entire_insn >> 16;
1215 if ((entire_insn & 0xf0ff) == 0x4001)
1216 { itype = SH4_INSN_SHLR_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1217 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1219 entire_insn = entire_insn >> 16;
1220 if ((entire_insn & 0xf0ff) == 0x4002)
1221 { itype = SH4_INSN_STSL_MACH_COMPACT; sh4_extract_sfmt_stsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1222 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1225 unsigned int val = (((insn >> 23) & (1 << 0)));
1229 entire_insn = entire_insn >> 16;
1230 itype = SH4_INSN_ROTL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1232 entire_insn = entire_insn >> 16;
1233 itype = SH4_INSN_DIVU_COMPACT; sh4_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1234 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1238 entire_insn = entire_insn >> 16;
1239 if ((entire_insn & 0xf0ff) == 0x4005)
1240 { itype = SH4_INSN_ROTR_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1241 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1243 entire_insn = entire_insn >> 16;
1244 if ((entire_insn & 0xf0ff) == 0x4006)
1245 { itype = SH4_INSN_LDSL_MACH_COMPACT; sh4_extract_sfmt_ldsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1246 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1248 entire_insn = entire_insn >> 16;
1249 if ((entire_insn & 0xf0ff) == 0x4008)
1250 { itype = SH4_INSN_SHLL2_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1251 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1253 entire_insn = entire_insn >> 16;
1254 if ((entire_insn & 0xf0ff) == 0x4009)
1255 { itype = SH4_INSN_SHLR2_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1256 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1258 entire_insn = entire_insn >> 16;
1259 if ((entire_insn & 0xf0ff) == 0x400a)
1260 { itype = SH4_INSN_LDS_MACH_COMPACT; sh4_extract_sfmt_lds_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1261 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1263 entire_insn = entire_insn >> 16;
1264 if ((entire_insn & 0xf0ff) == 0x400b)
1265 { itype = SH4_INSN_JSR_COMPACT; sh4_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1266 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1267 case 524 : /* fall through */
1268 case 540 : /* fall through */
1269 case 556 : /* fall through */
1270 case 572 : /* fall through */
1271 case 588 : /* fall through */
1272 case 604 : /* fall through */
1273 case 620 : /* fall through */
1275 entire_insn = entire_insn >> 16;
1276 itype = SH4_INSN_SHAD_COMPACT; sh4_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1277 case 525 : /* fall through */
1278 case 541 : /* fall through */
1279 case 557 : /* fall through */
1280 case 573 : /* fall through */
1281 case 589 : /* fall through */
1282 case 605 : /* fall through */
1283 case 621 : /* fall through */
1285 entire_insn = entire_insn >> 16;
1286 itype = SH4_INSN_SHLD_COMPACT; sh4_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1288 entire_insn = entire_insn >> 16;
1289 if ((entire_insn & 0xf0ff) == 0x400e)
1290 { itype = SH4_INSN_LDC_SR_COMPACT; sh4_extract_sfmt_ldc_sr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1291 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1292 case 527 : /* fall through */
1293 case 543 : /* fall through */
1294 case 559 : /* fall through */
1295 case 575 : /* fall through */
1296 case 591 : /* fall through */
1297 case 607 : /* fall through */
1298 case 623 : /* fall through */
1300 entire_insn = entire_insn >> 16;
1301 itype = SH4_INSN_MACW_COMPACT; sh4_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1303 entire_insn = entire_insn >> 16;
1304 if ((entire_insn & 0xf0ff) == 0x4010)
1305 { itype = SH4_INSN_DT_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1306 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1308 entire_insn = entire_insn >> 16;
1309 if ((entire_insn & 0xf0ff) == 0x4011)
1310 { itype = SH4_INSN_CMPPZ_COMPACT; sh4_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1311 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1313 entire_insn = entire_insn >> 16;
1314 if ((entire_insn & 0xf0ff) == 0x4012)
1315 { itype = SH4_INSN_STSL_MACL_COMPACT; sh4_extract_sfmt_stsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1316 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1318 entire_insn = entire_insn >> 16;
1319 if ((entire_insn & 0xf0ff) == 0x4013)
1320 { itype = SH4_INSN_STCL_GBR_COMPACT; sh4_extract_sfmt_stcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1321 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1323 entire_insn = entire_insn >> 16;
1324 if ((entire_insn & 0xf0ff) == 0x4015)
1325 { itype = SH4_INSN_CMPPL_COMPACT; sh4_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1326 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1328 entire_insn = entire_insn >> 16;
1329 if ((entire_insn & 0xf0ff) == 0x4016)
1330 { itype = SH4_INSN_LDSL_MACL_COMPACT; sh4_extract_sfmt_ldsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1331 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1333 entire_insn = entire_insn >> 16;
1334 if ((entire_insn & 0xf0ff) == 0x4017)
1335 { itype = SH4_INSN_LDCL_GBR_COMPACT; sh4_extract_sfmt_ldcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1336 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1338 entire_insn = entire_insn >> 16;
1339 if ((entire_insn & 0xf0ff) == 0x4018)
1340 { itype = SH4_INSN_SHLL8_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1341 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1343 entire_insn = entire_insn >> 16;
1344 if ((entire_insn & 0xf0ff) == 0x4019)
1345 { itype = SH4_INSN_SHLR8_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1346 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1348 entire_insn = entire_insn >> 16;
1349 if ((entire_insn & 0xf0ff) == 0x401a)
1350 { itype = SH4_INSN_LDS_MACL_COMPACT; sh4_extract_sfmt_lds_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1351 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1353 entire_insn = entire_insn >> 16;
1354 if ((entire_insn & 0xf0ff) == 0x401b)
1355 { itype = SH4_INSN_TASB_COMPACT; sh4_extract_sfmt_tasb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1356 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1358 entire_insn = entire_insn >> 16;
1359 if ((entire_insn & 0xf0ff) == 0x401e)
1360 { itype = SH4_INSN_LDC_GBR_COMPACT; sh4_extract_sfmt_ldc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1361 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1363 entire_insn = entire_insn >> 16;
1364 if ((entire_insn & 0xf0ff) == 0x4020)
1365 { itype = SH4_INSN_SHAL_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1366 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1368 entire_insn = entire_insn >> 16;
1369 if ((entire_insn & 0xf0ff) == 0x4021)
1370 { itype = SH4_INSN_SHAR_COMPACT; sh4_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1371 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1373 entire_insn = entire_insn >> 16;
1374 if ((entire_insn & 0xf0ff) == 0x4022)
1375 { itype = SH4_INSN_STSL_PR_COMPACT; sh4_extract_sfmt_stsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1376 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1378 entire_insn = entire_insn >> 16;
1379 if ((entire_insn & 0xf0ff) == 0x4023)
1380 { itype = SH4_INSN_STCL_VBR_COMPACT; sh4_extract_sfmt_stcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1381 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1383 entire_insn = entire_insn >> 16;
1384 if ((entire_insn & 0xf0ff) == 0x4024)
1385 { itype = SH4_INSN_ROTCL_COMPACT; sh4_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1386 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1388 entire_insn = entire_insn >> 16;
1389 if ((entire_insn & 0xf0ff) == 0x4025)
1390 { itype = SH4_INSN_ROTCR_COMPACT; sh4_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1391 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1393 entire_insn = entire_insn >> 16;
1394 if ((entire_insn & 0xf0ff) == 0x4026)
1395 { itype = SH4_INSN_LDSL_PR_COMPACT; sh4_extract_sfmt_ldsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1396 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1398 entire_insn = entire_insn >> 16;
1399 if ((entire_insn & 0xf0ff) == 0x4027)
1400 { itype = SH4_INSN_LDCL_VBR_COMPACT; sh4_extract_sfmt_ldcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1401 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1403 entire_insn = entire_insn >> 16;
1404 if ((entire_insn & 0xf0ff) == 0x4028)
1405 { itype = SH4_INSN_SHLL16_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1406 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1408 entire_insn = entire_insn >> 16;
1409 if ((entire_insn & 0xf0ff) == 0x4029)
1410 { itype = SH4_INSN_SHLR16_COMPACT; sh4_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1411 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1413 entire_insn = entire_insn >> 16;
1414 if ((entire_insn & 0xf0ff) == 0x402a)
1415 { itype = SH4_INSN_LDS_PR_COMPACT; sh4_extract_sfmt_lds_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1416 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1418 entire_insn = entire_insn >> 16;
1419 if ((entire_insn & 0xf0ff) == 0x402b)
1420 { itype = SH4_INSN_JMP_COMPACT; sh4_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1421 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1423 entire_insn = entire_insn >> 16;
1424 if ((entire_insn & 0xf0ff) == 0x402e)
1425 { itype = SH4_INSN_LDC_VBR_COMPACT; sh4_extract_sfmt_ldc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1426 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1428 entire_insn = entire_insn >> 16;
1429 if ((entire_insn & 0xf0ff) == 0x4052)
1430 { itype = SH4_INSN_STSL_FPUL_COMPACT; sh4_extract_sfmt_stsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1431 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1433 entire_insn = entire_insn >> 16;
1434 if ((entire_insn & 0xf0ff) == 0x4056)
1435 { itype = SH4_INSN_LDSL_FPUL_COMPACT; sh4_extract_sfmt_ldsl_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1436 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1438 entire_insn = entire_insn >> 16;
1439 if ((entire_insn & 0xf0ff) == 0x405a)
1440 { itype = SH4_INSN_LDS_FPUL_COMPACT; sh4_extract_sfmt_lds_fpul_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1441 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1443 entire_insn = entire_insn >> 16;
1444 if ((entire_insn & 0xf0ff) == 0x4062)
1445 { itype = SH4_INSN_STSL_FPSCR_COMPACT; sh4_extract_sfmt_stsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1446 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1448 entire_insn = entire_insn >> 16;
1449 if ((entire_insn & 0xf0ff) == 0x4066)
1450 { itype = SH4_INSN_LDSL_FPSCR_COMPACT; sh4_extract_sfmt_ldsl_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1451 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1453 entire_insn = entire_insn >> 16;
1454 if ((entire_insn & 0xf0ff) == 0x406a)
1455 { itype = SH4_INSN_LDS_FPSCR_COMPACT; sh4_extract_sfmt_lds_fpscr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1456 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1457 case 640 : /* fall through */
1458 case 641 : /* fall through */
1459 case 642 : /* fall through */
1460 case 643 : /* fall through */
1461 case 644 : /* fall through */
1462 case 645 : /* fall through */
1463 case 646 : /* fall through */
1464 case 647 : /* fall through */
1465 case 648 : /* fall through */
1466 case 649 : /* fall through */
1467 case 650 : /* fall through */
1468 case 651 : /* fall through */
1469 case 652 : /* fall through */
1470 case 653 : /* fall through */
1471 case 654 : /* fall through */
1472 case 655 : /* fall through */
1473 case 656 : /* fall through */
1474 case 657 : /* fall through */
1475 case 658 : /* fall through */
1476 case 659 : /* fall through */
1477 case 660 : /* fall through */
1478 case 661 : /* fall through */
1479 case 662 : /* fall through */
1480 case 663 : /* fall through */
1481 case 664 : /* fall through */
1482 case 665 : /* fall through */
1483 case 666 : /* fall through */
1484 case 667 : /* fall through */
1485 case 668 : /* fall through */
1486 case 669 : /* fall through */
1487 case 670 : /* fall through */
1488 case 671 : /* fall through */
1489 case 672 : /* fall through */
1490 case 673 : /* fall through */
1491 case 674 : /* fall through */
1492 case 675 : /* fall through */
1493 case 676 : /* fall through */
1494 case 677 : /* fall through */
1495 case 678 : /* fall through */
1496 case 679 : /* fall through */
1497 case 680 : /* fall through */
1498 case 681 : /* fall through */
1499 case 682 : /* fall through */
1500 case 683 : /* fall through */
1501 case 684 : /* fall through */
1502 case 685 : /* fall through */
1503 case 686 : /* fall through */
1504 case 687 : /* fall through */
1505 case 688 : /* fall through */
1506 case 689 : /* fall through */
1507 case 690 : /* fall through */
1508 case 691 : /* fall through */
1509 case 692 : /* fall through */
1510 case 693 : /* fall through */
1511 case 694 : /* fall through */
1512 case 695 : /* fall through */
1513 case 696 : /* fall through */
1514 case 697 : /* fall through */
1515 case 698 : /* fall through */
1516 case 699 : /* fall through */
1517 case 700 : /* fall through */
1518 case 701 : /* fall through */
1519 case 702 : /* fall through */
1520 case 703 : /* fall through */
1521 case 704 : /* fall through */
1522 case 705 : /* fall through */
1523 case 706 : /* fall through */
1524 case 707 : /* fall through */
1525 case 708 : /* fall through */
1526 case 709 : /* fall through */
1527 case 710 : /* fall through */
1528 case 711 : /* fall through */
1529 case 712 : /* fall through */
1530 case 713 : /* fall through */
1531 case 714 : /* fall through */
1532 case 715 : /* fall through */
1533 case 716 : /* fall through */
1534 case 717 : /* fall through */
1535 case 718 : /* fall through */
1536 case 719 : /* fall through */
1537 case 720 : /* fall through */
1538 case 721 : /* fall through */
1539 case 722 : /* fall through */
1540 case 723 : /* fall through */
1541 case 724 : /* fall through */
1542 case 725 : /* fall through */
1543 case 726 : /* fall through */
1544 case 727 : /* fall through */
1545 case 728 : /* fall through */
1546 case 729 : /* fall through */
1547 case 730 : /* fall through */
1548 case 731 : /* fall through */
1549 case 732 : /* fall through */
1550 case 733 : /* fall through */
1551 case 734 : /* fall through */
1552 case 735 : /* fall through */
1553 case 736 : /* fall through */
1554 case 737 : /* fall through */
1555 case 738 : /* fall through */
1556 case 739 : /* fall through */
1557 case 740 : /* fall through */
1558 case 741 : /* fall through */
1559 case 742 : /* fall through */
1560 case 743 : /* fall through */
1561 case 744 : /* fall through */
1562 case 745 : /* fall through */
1563 case 746 : /* fall through */
1564 case 747 : /* fall through */
1565 case 748 : /* fall through */
1566 case 749 : /* fall through */
1567 case 750 : /* fall through */
1568 case 751 : /* fall through */
1569 case 752 : /* fall through */
1570 case 753 : /* fall through */
1571 case 754 : /* fall through */
1572 case 755 : /* fall through */
1573 case 756 : /* fall through */
1574 case 757 : /* fall through */
1575 case 758 : /* fall through */
1576 case 759 : /* fall through */
1577 case 760 : /* fall through */
1578 case 761 : /* fall through */
1579 case 762 : /* fall through */
1580 case 763 : /* fall through */
1581 case 764 : /* fall through */
1582 case 765 : /* fall through */
1583 case 766 : /* fall through */
1585 entire_insn = entire_insn >> 16;
1586 itype = SH4_INSN_MOVL11_COMPACT; sh4_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1587 case 768 : /* fall through */
1588 case 784 : /* fall through */
1589 case 800 : /* fall through */
1590 case 816 : /* fall through */
1591 case 832 : /* fall through */
1592 case 848 : /* fall through */
1593 case 864 : /* fall through */
1595 entire_insn = entire_insn >> 16;
1596 itype = SH4_INSN_MOVB6_COMPACT; sh4_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1597 case 769 : /* fall through */
1598 case 785 : /* fall through */
1599 case 801 : /* fall through */
1600 case 817 : /* fall through */
1601 case 833 : /* fall through */
1602 case 849 : /* fall through */
1603 case 865 : /* fall through */
1605 entire_insn = entire_insn >> 16;
1606 itype = SH4_INSN_MOVW6_COMPACT; sh4_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1607 case 770 : /* fall through */
1608 case 786 : /* fall through */
1609 case 802 : /* fall through */
1610 case 818 : /* fall through */
1611 case 834 : /* fall through */
1612 case 850 : /* fall through */
1613 case 866 : /* fall through */
1615 entire_insn = entire_insn >> 16;
1616 itype = SH4_INSN_MOVL6_COMPACT; sh4_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1617 case 771 : /* fall through */
1618 case 787 : /* fall through */
1619 case 803 : /* fall through */
1620 case 819 : /* fall through */
1621 case 835 : /* fall through */
1622 case 851 : /* fall through */
1623 case 867 : /* fall through */
1625 entire_insn = entire_insn >> 16;
1626 itype = SH4_INSN_MOV_COMPACT; sh4_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1627 case 772 : /* fall through */
1628 case 788 : /* fall through */
1629 case 804 : /* fall through */
1630 case 820 : /* fall through */
1631 case 836 : /* fall through */
1632 case 852 : /* fall through */
1633 case 868 : /* fall through */
1635 entire_insn = entire_insn >> 16;
1636 itype = SH4_INSN_MOVB7_COMPACT; sh4_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1637 case 773 : /* fall through */
1638 case 789 : /* fall through */
1639 case 805 : /* fall through */
1640 case 821 : /* fall through */
1641 case 837 : /* fall through */
1642 case 853 : /* fall through */
1643 case 869 : /* fall through */
1645 entire_insn = entire_insn >> 16;
1646 itype = SH4_INSN_MOVW7_COMPACT; sh4_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1647 case 774 : /* fall through */
1648 case 790 : /* fall through */
1649 case 806 : /* fall through */
1650 case 822 : /* fall through */
1651 case 838 : /* fall through */
1652 case 854 : /* fall through */
1653 case 870 : /* fall through */
1655 entire_insn = entire_insn >> 16;
1656 itype = SH4_INSN_MOVL7_COMPACT; sh4_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1657 case 775 : /* fall through */
1658 case 791 : /* fall through */
1659 case 807 : /* fall through */
1660 case 823 : /* fall through */
1661 case 839 : /* fall through */
1662 case 855 : /* fall through */
1663 case 871 : /* fall through */
1665 entire_insn = entire_insn >> 16;
1666 itype = SH4_INSN_NOT_COMPACT; sh4_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1667 case 776 : /* fall through */
1668 case 792 : /* fall through */
1669 case 808 : /* fall through */
1670 case 824 : /* fall through */
1671 case 840 : /* fall through */
1672 case 856 : /* fall through */
1673 case 872 : /* fall through */
1675 entire_insn = entire_insn >> 16;
1676 itype = SH4_INSN_SWAPB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1677 case 777 : /* fall through */
1678 case 793 : /* fall through */
1679 case 809 : /* fall through */
1680 case 825 : /* fall through */
1681 case 841 : /* fall through */
1682 case 857 : /* fall through */
1683 case 873 : /* fall through */
1685 entire_insn = entire_insn >> 16;
1686 itype = SH4_INSN_SWAPW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1687 case 778 : /* fall through */
1688 case 794 : /* fall through */
1689 case 810 : /* fall through */
1690 case 826 : /* fall through */
1691 case 842 : /* fall through */
1692 case 858 : /* fall through */
1693 case 874 : /* fall through */
1695 entire_insn = entire_insn >> 16;
1696 itype = SH4_INSN_NEGC_COMPACT; sh4_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1697 case 779 : /* fall through */
1698 case 795 : /* fall through */
1699 case 811 : /* fall through */
1700 case 827 : /* fall through */
1701 case 843 : /* fall through */
1702 case 859 : /* fall through */
1703 case 875 : /* fall through */
1705 entire_insn = entire_insn >> 16;
1706 itype = SH4_INSN_NEG_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1707 case 780 : /* fall through */
1708 case 796 : /* fall through */
1709 case 812 : /* fall through */
1710 case 828 : /* fall through */
1711 case 844 : /* fall through */
1712 case 860 : /* fall through */
1713 case 876 : /* fall through */
1715 entire_insn = entire_insn >> 16;
1716 itype = SH4_INSN_EXTUB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1717 case 781 : /* fall through */
1718 case 797 : /* fall through */
1719 case 813 : /* fall through */
1720 case 829 : /* fall through */
1721 case 845 : /* fall through */
1722 case 861 : /* fall through */
1723 case 877 : /* fall through */
1725 entire_insn = entire_insn >> 16;
1726 itype = SH4_INSN_EXTUW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1727 case 782 : /* fall through */
1728 case 798 : /* fall through */
1729 case 814 : /* fall through */
1730 case 830 : /* fall through */
1731 case 846 : /* fall through */
1732 case 862 : /* fall through */
1733 case 878 : /* fall through */
1735 entire_insn = entire_insn >> 16;
1736 itype = SH4_INSN_EXTSB_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1737 case 783 : /* fall through */
1738 case 799 : /* fall through */
1739 case 815 : /* fall through */
1740 case 831 : /* fall through */
1741 case 847 : /* fall through */
1742 case 863 : /* fall through */
1743 case 879 : /* fall through */
1745 entire_insn = entire_insn >> 16;
1746 itype = SH4_INSN_EXTSW_COMPACT; sh4_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1747 case 896 : /* fall through */
1748 case 897 : /* fall through */
1749 case 898 : /* fall through */
1750 case 899 : /* fall through */
1751 case 900 : /* fall through */
1752 case 901 : /* fall through */
1753 case 902 : /* fall through */
1754 case 903 : /* fall through */
1755 case 904 : /* fall through */
1756 case 905 : /* fall through */
1757 case 906 : /* fall through */
1758 case 907 : /* fall through */
1759 case 908 : /* fall through */
1760 case 909 : /* fall through */
1761 case 910 : /* fall through */
1762 case 911 : /* fall through */
1763 case 912 : /* fall through */
1764 case 913 : /* fall through */
1765 case 914 : /* fall through */
1766 case 915 : /* fall through */
1767 case 916 : /* fall through */
1768 case 917 : /* fall through */
1769 case 918 : /* fall through */
1770 case 919 : /* fall through */
1771 case 920 : /* fall through */
1772 case 921 : /* fall through */
1773 case 922 : /* fall through */
1774 case 923 : /* fall through */
1775 case 924 : /* fall through */
1776 case 925 : /* fall through */
1777 case 926 : /* fall through */
1778 case 927 : /* fall through */
1779 case 928 : /* fall through */
1780 case 929 : /* fall through */
1781 case 930 : /* fall through */
1782 case 931 : /* fall through */
1783 case 932 : /* fall through */
1784 case 933 : /* fall through */
1785 case 934 : /* fall through */
1786 case 935 : /* fall through */
1787 case 936 : /* fall through */
1788 case 937 : /* fall through */
1789 case 938 : /* fall through */
1790 case 939 : /* fall through */
1791 case 940 : /* fall through */
1792 case 941 : /* fall through */
1793 case 942 : /* fall through */
1794 case 943 : /* fall through */
1795 case 944 : /* fall through */
1796 case 945 : /* fall through */
1797 case 946 : /* fall through */
1798 case 947 : /* fall through */
1799 case 948 : /* fall through */
1800 case 949 : /* fall through */
1801 case 950 : /* fall through */
1802 case 951 : /* fall through */
1803 case 952 : /* fall through */
1804 case 953 : /* fall through */
1805 case 954 : /* fall through */
1806 case 955 : /* fall through */
1807 case 956 : /* fall through */
1808 case 957 : /* fall through */
1809 case 958 : /* fall through */
1810 case 959 : /* fall through */
1811 case 960 : /* fall through */
1812 case 961 : /* fall through */
1813 case 962 : /* fall through */
1814 case 963 : /* fall through */
1815 case 964 : /* fall through */
1816 case 965 : /* fall through */
1817 case 966 : /* fall through */
1818 case 967 : /* fall through */
1819 case 968 : /* fall through */
1820 case 969 : /* fall through */
1821 case 970 : /* fall through */
1822 case 971 : /* fall through */
1823 case 972 : /* fall through */
1824 case 973 : /* fall through */
1825 case 974 : /* fall through */
1826 case 975 : /* fall through */
1827 case 976 : /* fall through */
1828 case 977 : /* fall through */
1829 case 978 : /* fall through */
1830 case 979 : /* fall through */
1831 case 980 : /* fall through */
1832 case 981 : /* fall through */
1833 case 982 : /* fall through */
1834 case 983 : /* fall through */
1835 case 984 : /* fall through */
1836 case 985 : /* fall through */
1837 case 986 : /* fall through */
1838 case 987 : /* fall through */
1839 case 988 : /* fall through */
1840 case 989 : /* fall through */
1841 case 990 : /* fall through */
1842 case 991 : /* fall through */
1843 case 992 : /* fall through */
1844 case 993 : /* fall through */
1845 case 994 : /* fall through */
1846 case 995 : /* fall through */
1847 case 996 : /* fall through */
1848 case 997 : /* fall through */
1849 case 998 : /* fall through */
1850 case 999 : /* fall through */
1851 case 1000 : /* fall through */
1852 case 1001 : /* fall through */
1853 case 1002 : /* fall through */
1854 case 1003 : /* fall through */
1855 case 1004 : /* fall through */
1856 case 1005 : /* fall through */
1857 case 1006 : /* fall through */
1858 case 1007 : /* fall through */
1859 case 1008 : /* fall through */
1860 case 1009 : /* fall through */
1861 case 1010 : /* fall through */
1862 case 1011 : /* fall through */
1863 case 1012 : /* fall through */
1864 case 1013 : /* fall through */
1865 case 1014 : /* fall through */
1866 case 1015 : /* fall through */
1867 case 1016 : /* fall through */
1868 case 1017 : /* fall through */
1869 case 1018 : /* fall through */
1870 case 1019 : /* fall through */
1871 case 1020 : /* fall through */
1872 case 1021 : /* fall through */
1873 case 1022 : /* fall through */
1875 entire_insn = entire_insn >> 16;
1876 itype = SH4_INSN_ADDI_COMPACT; sh4_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1877 case 1024 : /* fall through */
1878 case 1025 : /* fall through */
1879 case 1026 : /* fall through */
1880 case 1027 : /* fall through */
1881 case 1028 : /* fall through */
1882 case 1029 : /* fall through */
1883 case 1030 : /* fall through */
1884 case 1031 : /* fall through */
1885 case 1032 : /* fall through */
1886 case 1033 : /* fall through */
1887 case 1034 : /* fall through */
1888 case 1035 : /* fall through */
1889 case 1036 : /* fall through */
1890 case 1037 : /* fall through */
1891 case 1038 : /* fall through */
1892 case 1039 : /* fall through */
1893 case 1040 : /* fall through */
1894 case 1041 : /* fall through */
1895 case 1042 : /* fall through */
1896 case 1043 : /* fall through */
1897 case 1044 : /* fall through */
1898 case 1045 : /* fall through */
1899 case 1046 : /* fall through */
1900 case 1047 : /* fall through */
1901 case 1048 : /* fall through */
1902 case 1049 : /* fall through */
1903 case 1050 : /* fall through */
1904 case 1051 : /* fall through */
1905 case 1052 : /* fall through */
1906 case 1053 : /* fall through */
1907 case 1054 : /* fall through */
1908 case 1055 : /* fall through */
1909 case 1056 : /* fall through */
1910 case 1057 : /* fall through */
1911 case 1058 : /* fall through */
1912 case 1059 : /* fall through */
1913 case 1060 : /* fall through */
1914 case 1061 : /* fall through */
1915 case 1062 : /* fall through */
1916 case 1063 : /* fall through */
1917 case 1064 : /* fall through */
1918 case 1065 : /* fall through */
1919 case 1066 : /* fall through */
1920 case 1067 : /* fall through */
1921 case 1068 : /* fall through */
1922 case 1069 : /* fall through */
1923 case 1070 : /* fall through */
1924 case 1071 : /* fall through */
1925 case 1072 : /* fall through */
1926 case 1073 : /* fall through */
1927 case 1074 : /* fall through */
1928 case 1075 : /* fall through */
1929 case 1076 : /* fall through */
1930 case 1077 : /* fall through */
1931 case 1078 : /* fall through */
1932 case 1079 : /* fall through */
1933 case 1080 : /* fall through */
1934 case 1081 : /* fall through */
1935 case 1082 : /* fall through */
1936 case 1083 : /* fall through */
1937 case 1084 : /* fall through */
1938 case 1085 : /* fall through */
1939 case 1086 : /* fall through */
1940 case 1087 : /* fall through */
1941 case 1088 : /* fall through */
1942 case 1089 : /* fall through */
1943 case 1090 : /* fall through */
1944 case 1091 : /* fall through */
1945 case 1092 : /* fall through */
1946 case 1093 : /* fall through */
1947 case 1094 : /* fall through */
1948 case 1095 : /* fall through */
1949 case 1096 : /* fall through */
1950 case 1097 : /* fall through */
1951 case 1098 : /* fall through */
1952 case 1099 : /* fall through */
1953 case 1100 : /* fall through */
1954 case 1101 : /* fall through */
1955 case 1102 : /* fall through */
1956 case 1103 : /* fall through */
1957 case 1104 : /* fall through */
1958 case 1105 : /* fall through */
1959 case 1106 : /* fall through */
1960 case 1107 : /* fall through */
1961 case 1108 : /* fall through */
1962 case 1109 : /* fall through */
1963 case 1110 : /* fall through */
1964 case 1111 : /* fall through */
1965 case 1112 : /* fall through */
1966 case 1113 : /* fall through */
1967 case 1114 : /* fall through */
1968 case 1115 : /* fall through */
1969 case 1116 : /* fall through */
1970 case 1117 : /* fall through */
1971 case 1118 : /* fall through */
1972 case 1119 : /* fall through */
1973 case 1120 : /* fall through */
1974 case 1121 : /* fall through */
1975 case 1122 : /* fall through */
1976 case 1123 : /* fall through */
1977 case 1124 : /* fall through */
1978 case 1125 : /* fall through */
1979 case 1126 : /* fall through */
1980 case 1127 : /* fall through */
1981 case 1128 : /* fall through */
1982 case 1129 : /* fall through */
1983 case 1130 : /* fall through */
1984 case 1131 : /* fall through */
1985 case 1132 : /* fall through */
1986 case 1133 : /* fall through */
1987 case 1134 : /* fall through */
1988 case 1135 : /* fall through */
1989 case 1136 : /* fall through */
1990 case 1137 : /* fall through */
1991 case 1138 : /* fall through */
1992 case 1139 : /* fall through */
1993 case 1140 : /* fall through */
1994 case 1141 : /* fall through */
1995 case 1142 : /* fall through */
1996 case 1143 : /* fall through */
1997 case 1144 : /* fall through */
1998 case 1145 : /* fall through */
1999 case 1146 : /* fall through */
2000 case 1147 : /* fall through */
2001 case 1148 : /* fall through */
2002 case 1149 : /* fall through */
2003 case 1150 : /* fall through */
2006 unsigned int val = (((insn >> 24) & (15 << 0)));
2010 entire_insn = entire_insn >> 16;
2011 itype = SH4_INSN_MOVB5_COMPACT; sh4_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2013 entire_insn = entire_insn >> 16;
2014 itype = SH4_INSN_MOVW5_COMPACT; sh4_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2016 entire_insn = entire_insn >> 16;
2017 itype = SH4_INSN_MOVB10_COMPACT; sh4_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2019 entire_insn = entire_insn >> 16;
2020 itype = SH4_INSN_MOVW11_COMPACT; sh4_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2022 entire_insn = entire_insn >> 16;
2023 itype = SH4_INSN_CMPEQI_COMPACT; sh4_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2025 entire_insn = entire_insn >> 16;
2026 itype = SH4_INSN_BT_COMPACT; sh4_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2028 entire_insn = entire_insn >> 16;
2029 itype = SH4_INSN_BF_COMPACT; sh4_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2031 entire_insn = entire_insn >> 16;
2032 itype = SH4_INSN_BTS_COMPACT; sh4_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2034 entire_insn = entire_insn >> 16;
2035 itype = SH4_INSN_BFS_COMPACT; sh4_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2036 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2039 case 1152 : /* fall through */
2040 case 1153 : /* fall through */
2041 case 1154 : /* fall through */
2042 case 1155 : /* fall through */
2043 case 1156 : /* fall through */
2044 case 1157 : /* fall through */
2045 case 1158 : /* fall through */
2046 case 1159 : /* fall through */
2047 case 1160 : /* fall through */
2048 case 1161 : /* fall through */
2049 case 1162 : /* fall through */
2050 case 1163 : /* fall through */
2051 case 1164 : /* fall through */
2052 case 1165 : /* fall through */
2053 case 1166 : /* fall through */
2054 case 1167 : /* fall through */
2055 case 1168 : /* fall through */
2056 case 1169 : /* fall through */
2057 case 1170 : /* fall through */
2058 case 1171 : /* fall through */
2059 case 1172 : /* fall through */
2060 case 1173 : /* fall through */
2061 case 1174 : /* fall through */
2062 case 1175 : /* fall through */
2063 case 1176 : /* fall through */
2064 case 1177 : /* fall through */
2065 case 1178 : /* fall through */
2066 case 1179 : /* fall through */
2067 case 1180 : /* fall through */
2068 case 1181 : /* fall through */
2069 case 1182 : /* fall through */
2070 case 1183 : /* fall through */
2071 case 1184 : /* fall through */
2072 case 1185 : /* fall through */
2073 case 1186 : /* fall through */
2074 case 1187 : /* fall through */
2075 case 1188 : /* fall through */
2076 case 1189 : /* fall through */
2077 case 1190 : /* fall through */
2078 case 1191 : /* fall through */
2079 case 1192 : /* fall through */
2080 case 1193 : /* fall through */
2081 case 1194 : /* fall through */
2082 case 1195 : /* fall through */
2083 case 1196 : /* fall through */
2084 case 1197 : /* fall through */
2085 case 1198 : /* fall through */
2086 case 1199 : /* fall through */
2087 case 1200 : /* fall through */
2088 case 1201 : /* fall through */
2089 case 1202 : /* fall through */
2090 case 1203 : /* fall through */
2091 case 1204 : /* fall through */
2092 case 1205 : /* fall through */
2093 case 1206 : /* fall through */
2094 case 1207 : /* fall through */
2095 case 1208 : /* fall through */
2096 case 1209 : /* fall through */
2097 case 1210 : /* fall through */
2098 case 1211 : /* fall through */
2099 case 1212 : /* fall through */
2100 case 1213 : /* fall through */
2101 case 1214 : /* fall through */
2102 case 1215 : /* fall through */
2103 case 1216 : /* fall through */
2104 case 1217 : /* fall through */
2105 case 1218 : /* fall through */
2106 case 1219 : /* fall through */
2107 case 1220 : /* fall through */
2108 case 1221 : /* fall through */
2109 case 1222 : /* fall through */
2110 case 1223 : /* fall through */
2111 case 1224 : /* fall through */
2112 case 1225 : /* fall through */
2113 case 1226 : /* fall through */
2114 case 1227 : /* fall through */
2115 case 1228 : /* fall through */
2116 case 1229 : /* fall through */
2117 case 1230 : /* fall through */
2118 case 1231 : /* fall through */
2119 case 1232 : /* fall through */
2120 case 1233 : /* fall through */
2121 case 1234 : /* fall through */
2122 case 1235 : /* fall through */
2123 case 1236 : /* fall through */
2124 case 1237 : /* fall through */
2125 case 1238 : /* fall through */
2126 case 1239 : /* fall through */
2127 case 1240 : /* fall through */
2128 case 1241 : /* fall through */
2129 case 1242 : /* fall through */
2130 case 1243 : /* fall through */
2131 case 1244 : /* fall through */
2132 case 1245 : /* fall through */
2133 case 1246 : /* fall through */
2134 case 1247 : /* fall through */
2135 case 1248 : /* fall through */
2136 case 1249 : /* fall through */
2137 case 1250 : /* fall through */
2138 case 1251 : /* fall through */
2139 case 1252 : /* fall through */
2140 case 1253 : /* fall through */
2141 case 1254 : /* fall through */
2142 case 1255 : /* fall through */
2143 case 1256 : /* fall through */
2144 case 1257 : /* fall through */
2145 case 1258 : /* fall through */
2146 case 1259 : /* fall through */
2147 case 1260 : /* fall through */
2148 case 1261 : /* fall through */
2149 case 1262 : /* fall through */
2150 case 1263 : /* fall through */
2151 case 1264 : /* fall through */
2152 case 1265 : /* fall through */
2153 case 1266 : /* fall through */
2154 case 1267 : /* fall through */
2155 case 1268 : /* fall through */
2156 case 1269 : /* fall through */
2157 case 1270 : /* fall through */
2158 case 1271 : /* fall through */
2159 case 1272 : /* fall through */
2160 case 1273 : /* fall through */
2161 case 1274 : /* fall through */
2162 case 1275 : /* fall through */
2163 case 1276 : /* fall through */
2164 case 1277 : /* fall through */
2165 case 1278 : /* fall through */
2167 entire_insn = entire_insn >> 16;
2168 itype = SH4_INSN_MOVW10_COMPACT; sh4_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2169 case 1280 : /* fall through */
2170 case 1281 : /* fall through */
2171 case 1282 : /* fall through */
2172 case 1283 : /* fall through */
2173 case 1284 : /* fall through */
2174 case 1285 : /* fall through */
2175 case 1286 : /* fall through */
2176 case 1287 : /* fall through */
2177 case 1288 : /* fall through */
2178 case 1289 : /* fall through */
2179 case 1290 : /* fall through */
2180 case 1291 : /* fall through */
2181 case 1292 : /* fall through */
2182 case 1293 : /* fall through */
2183 case 1294 : /* fall through */
2184 case 1295 : /* fall through */
2185 case 1296 : /* fall through */
2186 case 1297 : /* fall through */
2187 case 1298 : /* fall through */
2188 case 1299 : /* fall through */
2189 case 1300 : /* fall through */
2190 case 1301 : /* fall through */
2191 case 1302 : /* fall through */
2192 case 1303 : /* fall through */
2193 case 1304 : /* fall through */
2194 case 1305 : /* fall through */
2195 case 1306 : /* fall through */
2196 case 1307 : /* fall through */
2197 case 1308 : /* fall through */
2198 case 1309 : /* fall through */
2199 case 1310 : /* fall through */
2200 case 1311 : /* fall through */
2201 case 1312 : /* fall through */
2202 case 1313 : /* fall through */
2203 case 1314 : /* fall through */
2204 case 1315 : /* fall through */
2205 case 1316 : /* fall through */
2206 case 1317 : /* fall through */
2207 case 1318 : /* fall through */
2208 case 1319 : /* fall through */
2209 case 1320 : /* fall through */
2210 case 1321 : /* fall through */
2211 case 1322 : /* fall through */
2212 case 1323 : /* fall through */
2213 case 1324 : /* fall through */
2214 case 1325 : /* fall through */
2215 case 1326 : /* fall through */
2216 case 1327 : /* fall through */
2217 case 1328 : /* fall through */
2218 case 1329 : /* fall through */
2219 case 1330 : /* fall through */
2220 case 1331 : /* fall through */
2221 case 1332 : /* fall through */
2222 case 1333 : /* fall through */
2223 case 1334 : /* fall through */
2224 case 1335 : /* fall through */
2225 case 1336 : /* fall through */
2226 case 1337 : /* fall through */
2227 case 1338 : /* fall through */
2228 case 1339 : /* fall through */
2229 case 1340 : /* fall through */
2230 case 1341 : /* fall through */
2231 case 1342 : /* fall through */
2232 case 1343 : /* fall through */
2233 case 1344 : /* fall through */
2234 case 1345 : /* fall through */
2235 case 1346 : /* fall through */
2236 case 1347 : /* fall through */
2237 case 1348 : /* fall through */
2238 case 1349 : /* fall through */
2239 case 1350 : /* fall through */
2240 case 1351 : /* fall through */
2241 case 1352 : /* fall through */
2242 case 1353 : /* fall through */
2243 case 1354 : /* fall through */
2244 case 1355 : /* fall through */
2245 case 1356 : /* fall through */
2246 case 1357 : /* fall through */
2247 case 1358 : /* fall through */
2248 case 1359 : /* fall through */
2249 case 1360 : /* fall through */
2250 case 1361 : /* fall through */
2251 case 1362 : /* fall through */
2252 case 1363 : /* fall through */
2253 case 1364 : /* fall through */
2254 case 1365 : /* fall through */
2255 case 1366 : /* fall through */
2256 case 1367 : /* fall through */
2257 case 1368 : /* fall through */
2258 case 1369 : /* fall through */
2259 case 1370 : /* fall through */
2260 case 1371 : /* fall through */
2261 case 1372 : /* fall through */
2262 case 1373 : /* fall through */
2263 case 1374 : /* fall through */
2264 case 1375 : /* fall through */
2265 case 1376 : /* fall through */
2266 case 1377 : /* fall through */
2267 case 1378 : /* fall through */
2268 case 1379 : /* fall through */
2269 case 1380 : /* fall through */
2270 case 1381 : /* fall through */
2271 case 1382 : /* fall through */
2272 case 1383 : /* fall through */
2273 case 1384 : /* fall through */
2274 case 1385 : /* fall through */
2275 case 1386 : /* fall through */
2276 case 1387 : /* fall through */
2277 case 1388 : /* fall through */
2278 case 1389 : /* fall through */
2279 case 1390 : /* fall through */
2280 case 1391 : /* fall through */
2281 case 1392 : /* fall through */
2282 case 1393 : /* fall through */
2283 case 1394 : /* fall through */
2284 case 1395 : /* fall through */
2285 case 1396 : /* fall through */
2286 case 1397 : /* fall through */
2287 case 1398 : /* fall through */
2288 case 1399 : /* fall through */
2289 case 1400 : /* fall through */
2290 case 1401 : /* fall through */
2291 case 1402 : /* fall through */
2292 case 1403 : /* fall through */
2293 case 1404 : /* fall through */
2294 case 1405 : /* fall through */
2295 case 1406 : /* fall through */
2297 entire_insn = entire_insn >> 16;
2298 itype = SH4_INSN_BRA_COMPACT; sh4_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2299 case 1408 : /* fall through */
2300 case 1409 : /* fall through */
2301 case 1410 : /* fall through */
2302 case 1411 : /* fall through */
2303 case 1412 : /* fall through */
2304 case 1413 : /* fall through */
2305 case 1414 : /* fall through */
2306 case 1415 : /* fall through */
2307 case 1416 : /* fall through */
2308 case 1417 : /* fall through */
2309 case 1418 : /* fall through */
2310 case 1419 : /* fall through */
2311 case 1420 : /* fall through */
2312 case 1421 : /* fall through */
2313 case 1422 : /* fall through */
2314 case 1423 : /* fall through */
2315 case 1424 : /* fall through */
2316 case 1425 : /* fall through */
2317 case 1426 : /* fall through */
2318 case 1427 : /* fall through */
2319 case 1428 : /* fall through */
2320 case 1429 : /* fall through */
2321 case 1430 : /* fall through */
2322 case 1431 : /* fall through */
2323 case 1432 : /* fall through */
2324 case 1433 : /* fall through */
2325 case 1434 : /* fall through */
2326 case 1435 : /* fall through */
2327 case 1436 : /* fall through */
2328 case 1437 : /* fall through */
2329 case 1438 : /* fall through */
2330 case 1439 : /* fall through */
2331 case 1440 : /* fall through */
2332 case 1441 : /* fall through */
2333 case 1442 : /* fall through */
2334 case 1443 : /* fall through */
2335 case 1444 : /* fall through */
2336 case 1445 : /* fall through */
2337 case 1446 : /* fall through */
2338 case 1447 : /* fall through */
2339 case 1448 : /* fall through */
2340 case 1449 : /* fall through */
2341 case 1450 : /* fall through */
2342 case 1451 : /* fall through */
2343 case 1452 : /* fall through */
2344 case 1453 : /* fall through */
2345 case 1454 : /* fall through */
2346 case 1455 : /* fall through */
2347 case 1456 : /* fall through */
2348 case 1457 : /* fall through */
2349 case 1458 : /* fall through */
2350 case 1459 : /* fall through */
2351 case 1460 : /* fall through */
2352 case 1461 : /* fall through */
2353 case 1462 : /* fall through */
2354 case 1463 : /* fall through */
2355 case 1464 : /* fall through */
2356 case 1465 : /* fall through */
2357 case 1466 : /* fall through */
2358 case 1467 : /* fall through */
2359 case 1468 : /* fall through */
2360 case 1469 : /* fall through */
2361 case 1470 : /* fall through */
2362 case 1471 : /* fall through */
2363 case 1472 : /* fall through */
2364 case 1473 : /* fall through */
2365 case 1474 : /* fall through */
2366 case 1475 : /* fall through */
2367 case 1476 : /* fall through */
2368 case 1477 : /* fall through */
2369 case 1478 : /* fall through */
2370 case 1479 : /* fall through */
2371 case 1480 : /* fall through */
2372 case 1481 : /* fall through */
2373 case 1482 : /* fall through */
2374 case 1483 : /* fall through */
2375 case 1484 : /* fall through */
2376 case 1485 : /* fall through */
2377 case 1486 : /* fall through */
2378 case 1487 : /* fall through */
2379 case 1488 : /* fall through */
2380 case 1489 : /* fall through */
2381 case 1490 : /* fall through */
2382 case 1491 : /* fall through */
2383 case 1492 : /* fall through */
2384 case 1493 : /* fall through */
2385 case 1494 : /* fall through */
2386 case 1495 : /* fall through */
2387 case 1496 : /* fall through */
2388 case 1497 : /* fall through */
2389 case 1498 : /* fall through */
2390 case 1499 : /* fall through */
2391 case 1500 : /* fall through */
2392 case 1501 : /* fall through */
2393 case 1502 : /* fall through */
2394 case 1503 : /* fall through */
2395 case 1504 : /* fall through */
2396 case 1505 : /* fall through */
2397 case 1506 : /* fall through */
2398 case 1507 : /* fall through */
2399 case 1508 : /* fall through */
2400 case 1509 : /* fall through */
2401 case 1510 : /* fall through */
2402 case 1511 : /* fall through */
2403 case 1512 : /* fall through */
2404 case 1513 : /* fall through */
2405 case 1514 : /* fall through */
2406 case 1515 : /* fall through */
2407 case 1516 : /* fall through */
2408 case 1517 : /* fall through */
2409 case 1518 : /* fall through */
2410 case 1519 : /* fall through */
2411 case 1520 : /* fall through */
2412 case 1521 : /* fall through */
2413 case 1522 : /* fall through */
2414 case 1523 : /* fall through */
2415 case 1524 : /* fall through */
2416 case 1525 : /* fall through */
2417 case 1526 : /* fall through */
2418 case 1527 : /* fall through */
2419 case 1528 : /* fall through */
2420 case 1529 : /* fall through */
2421 case 1530 : /* fall through */
2422 case 1531 : /* fall through */
2423 case 1532 : /* fall through */
2424 case 1533 : /* fall through */
2425 case 1534 : /* fall through */
2427 entire_insn = entire_insn >> 16;
2428 itype = SH4_INSN_BSR_COMPACT; sh4_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2429 case 1536 : /* fall through */
2430 case 1537 : /* fall through */
2431 case 1538 : /* fall through */
2432 case 1539 : /* fall through */
2433 case 1540 : /* fall through */
2434 case 1541 : /* fall through */
2435 case 1542 : /* fall through */
2436 case 1543 : /* fall through */
2437 case 1544 : /* fall through */
2438 case 1545 : /* fall through */
2439 case 1546 : /* fall through */
2440 case 1547 : /* fall through */
2441 case 1548 : /* fall through */
2442 case 1549 : /* fall through */
2443 case 1550 : /* fall through */
2444 case 1551 : /* fall through */
2445 case 1552 : /* fall through */
2446 case 1553 : /* fall through */
2447 case 1554 : /* fall through */
2448 case 1555 : /* fall through */
2449 case 1556 : /* fall through */
2450 case 1557 : /* fall through */
2451 case 1558 : /* fall through */
2452 case 1559 : /* fall through */
2453 case 1560 : /* fall through */
2454 case 1561 : /* fall through */
2455 case 1562 : /* fall through */
2456 case 1563 : /* fall through */
2457 case 1564 : /* fall through */
2458 case 1565 : /* fall through */
2459 case 1566 : /* fall through */
2460 case 1567 : /* fall through */
2461 case 1568 : /* fall through */
2462 case 1569 : /* fall through */
2463 case 1570 : /* fall through */
2464 case 1571 : /* fall through */
2465 case 1572 : /* fall through */
2466 case 1573 : /* fall through */
2467 case 1574 : /* fall through */
2468 case 1575 : /* fall through */
2469 case 1576 : /* fall through */
2470 case 1577 : /* fall through */
2471 case 1578 : /* fall through */
2472 case 1579 : /* fall through */
2473 case 1580 : /* fall through */
2474 case 1581 : /* fall through */
2475 case 1582 : /* fall through */
2476 case 1583 : /* fall through */
2477 case 1584 : /* fall through */
2478 case 1585 : /* fall through */
2479 case 1586 : /* fall through */
2480 case 1587 : /* fall through */
2481 case 1588 : /* fall through */
2482 case 1589 : /* fall through */
2483 case 1590 : /* fall through */
2484 case 1591 : /* fall through */
2485 case 1592 : /* fall through */
2486 case 1593 : /* fall through */
2487 case 1594 : /* fall through */
2488 case 1595 : /* fall through */
2489 case 1596 : /* fall through */
2490 case 1597 : /* fall through */
2491 case 1598 : /* fall through */
2492 case 1599 : /* fall through */
2493 case 1600 : /* fall through */
2494 case 1601 : /* fall through */
2495 case 1602 : /* fall through */
2496 case 1603 : /* fall through */
2497 case 1604 : /* fall through */
2498 case 1605 : /* fall through */
2499 case 1606 : /* fall through */
2500 case 1607 : /* fall through */
2501 case 1608 : /* fall through */
2502 case 1609 : /* fall through */
2503 case 1610 : /* fall through */
2504 case 1611 : /* fall through */
2505 case 1612 : /* fall through */
2506 case 1613 : /* fall through */
2507 case 1614 : /* fall through */
2508 case 1615 : /* fall through */
2509 case 1616 : /* fall through */
2510 case 1617 : /* fall through */
2511 case 1618 : /* fall through */
2512 case 1619 : /* fall through */
2513 case 1620 : /* fall through */
2514 case 1621 : /* fall through */
2515 case 1622 : /* fall through */
2516 case 1623 : /* fall through */
2517 case 1624 : /* fall through */
2518 case 1625 : /* fall through */
2519 case 1626 : /* fall through */
2520 case 1627 : /* fall through */
2521 case 1628 : /* fall through */
2522 case 1629 : /* fall through */
2523 case 1630 : /* fall through */
2524 case 1631 : /* fall through */
2525 case 1632 : /* fall through */
2526 case 1633 : /* fall through */
2527 case 1634 : /* fall through */
2528 case 1635 : /* fall through */
2529 case 1636 : /* fall through */
2530 case 1637 : /* fall through */
2531 case 1638 : /* fall through */
2532 case 1639 : /* fall through */
2533 case 1640 : /* fall through */
2534 case 1641 : /* fall through */
2535 case 1642 : /* fall through */
2536 case 1643 : /* fall through */
2537 case 1644 : /* fall through */
2538 case 1645 : /* fall through */
2539 case 1646 : /* fall through */
2540 case 1647 : /* fall through */
2541 case 1648 : /* fall through */
2542 case 1649 : /* fall through */
2543 case 1650 : /* fall through */
2544 case 1651 : /* fall through */
2545 case 1652 : /* fall through */
2546 case 1653 : /* fall through */
2547 case 1654 : /* fall through */
2548 case 1655 : /* fall through */
2549 case 1656 : /* fall through */
2550 case 1657 : /* fall through */
2551 case 1658 : /* fall through */
2552 case 1659 : /* fall through */
2553 case 1660 : /* fall through */
2554 case 1661 : /* fall through */
2555 case 1662 : /* fall through */
2558 unsigned int val = (((insn >> 24) & (15 << 0)));
2562 entire_insn = entire_insn >> 16;
2563 itype = SH4_INSN_MOVB4_COMPACT; sh4_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2565 entire_insn = entire_insn >> 16;
2566 itype = SH4_INSN_MOVW4_COMPACT; sh4_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2568 entire_insn = entire_insn >> 16;
2569 itype = SH4_INSN_MOVL4_COMPACT; sh4_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2571 entire_insn = entire_insn >> 16;
2572 itype = SH4_INSN_TRAPA_COMPACT; sh4_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2574 entire_insn = entire_insn >> 16;
2575 itype = SH4_INSN_MOVB9_COMPACT; sh4_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2577 entire_insn = entire_insn >> 16;
2578 itype = SH4_INSN_MOVW9_COMPACT; sh4_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2580 entire_insn = entire_insn >> 16;
2581 itype = SH4_INSN_MOVL9_COMPACT; sh4_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2583 entire_insn = entire_insn >> 16;
2584 itype = SH4_INSN_MOVA_COMPACT; sh4_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2586 entire_insn = entire_insn >> 16;
2587 itype = SH4_INSN_TSTI_COMPACT; sh4_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2589 entire_insn = entire_insn >> 16;
2590 itype = SH4_INSN_ANDI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2592 entire_insn = entire_insn >> 16;
2593 itype = SH4_INSN_XORI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2595 entire_insn = entire_insn >> 16;
2596 itype = SH4_INSN_ORI_COMPACT; sh4_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2598 entire_insn = entire_insn >> 16;
2599 itype = SH4_INSN_TSTB_COMPACT; sh4_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2601 entire_insn = entire_insn >> 16;
2602 itype = SH4_INSN_ANDB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2604 entire_insn = entire_insn >> 16;
2605 itype = SH4_INSN_XORB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2607 entire_insn = entire_insn >> 16;
2608 itype = SH4_INSN_ORB_COMPACT; sh4_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2609 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2612 case 1664 : /* fall through */
2613 case 1665 : /* fall through */
2614 case 1666 : /* fall through */
2615 case 1667 : /* fall through */
2616 case 1668 : /* fall through */
2617 case 1669 : /* fall through */
2618 case 1670 : /* fall through */
2619 case 1671 : /* fall through */
2620 case 1672 : /* fall through */
2621 case 1673 : /* fall through */
2622 case 1674 : /* fall through */
2623 case 1675 : /* fall through */
2624 case 1676 : /* fall through */
2625 case 1677 : /* fall through */
2626 case 1678 : /* fall through */
2627 case 1679 : /* fall through */
2628 case 1680 : /* fall through */
2629 case 1681 : /* fall through */
2630 case 1682 : /* fall through */
2631 case 1683 : /* fall through */
2632 case 1684 : /* fall through */
2633 case 1685 : /* fall through */
2634 case 1686 : /* fall through */
2635 case 1687 : /* fall through */
2636 case 1688 : /* fall through */
2637 case 1689 : /* fall through */
2638 case 1690 : /* fall through */
2639 case 1691 : /* fall through */
2640 case 1692 : /* fall through */
2641 case 1693 : /* fall through */
2642 case 1694 : /* fall through */
2643 case 1695 : /* fall through */
2644 case 1696 : /* fall through */
2645 case 1697 : /* fall through */
2646 case 1698 : /* fall through */
2647 case 1699 : /* fall through */
2648 case 1700 : /* fall through */
2649 case 1701 : /* fall through */
2650 case 1702 : /* fall through */
2651 case 1703 : /* fall through */
2652 case 1704 : /* fall through */
2653 case 1705 : /* fall through */
2654 case 1706 : /* fall through */
2655 case 1707 : /* fall through */
2656 case 1708 : /* fall through */
2657 case 1709 : /* fall through */
2658 case 1710 : /* fall through */
2659 case 1711 : /* fall through */
2660 case 1712 : /* fall through */
2661 case 1713 : /* fall through */
2662 case 1714 : /* fall through */
2663 case 1715 : /* fall through */
2664 case 1716 : /* fall through */
2665 case 1717 : /* fall through */
2666 case 1718 : /* fall through */
2667 case 1719 : /* fall through */
2668 case 1720 : /* fall through */
2669 case 1721 : /* fall through */
2670 case 1722 : /* fall through */
2671 case 1723 : /* fall through */
2672 case 1724 : /* fall through */
2673 case 1725 : /* fall through */
2674 case 1726 : /* fall through */
2675 case 1727 : /* fall through */
2676 case 1728 : /* fall through */
2677 case 1729 : /* fall through */
2678 case 1730 : /* fall through */
2679 case 1731 : /* fall through */
2680 case 1732 : /* fall through */
2681 case 1733 : /* fall through */
2682 case 1734 : /* fall through */
2683 case 1735 : /* fall through */
2684 case 1736 : /* fall through */
2685 case 1737 : /* fall through */
2686 case 1738 : /* fall through */
2687 case 1739 : /* fall through */
2688 case 1740 : /* fall through */
2689 case 1741 : /* fall through */
2690 case 1742 : /* fall through */
2691 case 1743 : /* fall through */
2692 case 1744 : /* fall through */
2693 case 1745 : /* fall through */
2694 case 1746 : /* fall through */
2695 case 1747 : /* fall through */
2696 case 1748 : /* fall through */
2697 case 1749 : /* fall through */
2698 case 1750 : /* fall through */
2699 case 1751 : /* fall through */
2700 case 1752 : /* fall through */
2701 case 1753 : /* fall through */
2702 case 1754 : /* fall through */
2703 case 1755 : /* fall through */
2704 case 1756 : /* fall through */
2705 case 1757 : /* fall through */
2706 case 1758 : /* fall through */
2707 case 1759 : /* fall through */
2708 case 1760 : /* fall through */
2709 case 1761 : /* fall through */
2710 case 1762 : /* fall through */
2711 case 1763 : /* fall through */
2712 case 1764 : /* fall through */
2713 case 1765 : /* fall through */
2714 case 1766 : /* fall through */
2715 case 1767 : /* fall through */
2716 case 1768 : /* fall through */
2717 case 1769 : /* fall through */
2718 case 1770 : /* fall through */
2719 case 1771 : /* fall through */
2720 case 1772 : /* fall through */
2721 case 1773 : /* fall through */
2722 case 1774 : /* fall through */
2723 case 1775 : /* fall through */
2724 case 1776 : /* fall through */
2725 case 1777 : /* fall through */
2726 case 1778 : /* fall through */
2727 case 1779 : /* fall through */
2728 case 1780 : /* fall through */
2729 case 1781 : /* fall through */
2730 case 1782 : /* fall through */
2731 case 1783 : /* fall through */
2732 case 1784 : /* fall through */
2733 case 1785 : /* fall through */
2734 case 1786 : /* fall through */
2735 case 1787 : /* fall through */
2736 case 1788 : /* fall through */
2737 case 1789 : /* fall through */
2738 case 1790 : /* fall through */
2740 entire_insn = entire_insn >> 16;
2741 itype = SH4_INSN_MOVL10_COMPACT; sh4_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2742 case 1792 : /* fall through */
2743 case 1793 : /* fall through */
2744 case 1794 : /* fall through */
2745 case 1795 : /* fall through */
2746 case 1796 : /* fall through */
2747 case 1797 : /* fall through */
2748 case 1798 : /* fall through */
2749 case 1799 : /* fall through */
2750 case 1800 : /* fall through */
2751 case 1801 : /* fall through */
2752 case 1802 : /* fall through */
2753 case 1803 : /* fall through */
2754 case 1804 : /* fall through */
2755 case 1805 : /* fall through */
2756 case 1806 : /* fall through */
2757 case 1807 : /* fall through */
2758 case 1808 : /* fall through */
2759 case 1809 : /* fall through */
2760 case 1810 : /* fall through */
2761 case 1811 : /* fall through */
2762 case 1812 : /* fall through */
2763 case 1813 : /* fall through */
2764 case 1814 : /* fall through */
2765 case 1815 : /* fall through */
2766 case 1816 : /* fall through */
2767 case 1817 : /* fall through */
2768 case 1818 : /* fall through */
2769 case 1819 : /* fall through */
2770 case 1820 : /* fall through */
2771 case 1821 : /* fall through */
2772 case 1822 : /* fall through */
2773 case 1823 : /* fall through */
2774 case 1824 : /* fall through */
2775 case 1825 : /* fall through */
2776 case 1826 : /* fall through */
2777 case 1827 : /* fall through */
2778 case 1828 : /* fall through */
2779 case 1829 : /* fall through */
2780 case 1830 : /* fall through */
2781 case 1831 : /* fall through */
2782 case 1832 : /* fall through */
2783 case 1833 : /* fall through */
2784 case 1834 : /* fall through */
2785 case 1835 : /* fall through */
2786 case 1836 : /* fall through */
2787 case 1837 : /* fall through */
2788 case 1838 : /* fall through */
2789 case 1839 : /* fall through */
2790 case 1840 : /* fall through */
2791 case 1841 : /* fall through */
2792 case 1842 : /* fall through */
2793 case 1843 : /* fall through */
2794 case 1844 : /* fall through */
2795 case 1845 : /* fall through */
2796 case 1846 : /* fall through */
2797 case 1847 : /* fall through */
2798 case 1848 : /* fall through */
2799 case 1849 : /* fall through */
2800 case 1850 : /* fall through */
2801 case 1851 : /* fall through */
2802 case 1852 : /* fall through */
2803 case 1853 : /* fall through */
2804 case 1854 : /* fall through */
2805 case 1855 : /* fall through */
2806 case 1856 : /* fall through */
2807 case 1857 : /* fall through */
2808 case 1858 : /* fall through */
2809 case 1859 : /* fall through */
2810 case 1860 : /* fall through */
2811 case 1861 : /* fall through */
2812 case 1862 : /* fall through */
2813 case 1863 : /* fall through */
2814 case 1864 : /* fall through */
2815 case 1865 : /* fall through */
2816 case 1866 : /* fall through */
2817 case 1867 : /* fall through */
2818 case 1868 : /* fall through */
2819 case 1869 : /* fall through */
2820 case 1870 : /* fall through */
2821 case 1871 : /* fall through */
2822 case 1872 : /* fall through */
2823 case 1873 : /* fall through */
2824 case 1874 : /* fall through */
2825 case 1875 : /* fall through */
2826 case 1876 : /* fall through */
2827 case 1877 : /* fall through */
2828 case 1878 : /* fall through */
2829 case 1879 : /* fall through */
2830 case 1880 : /* fall through */
2831 case 1881 : /* fall through */
2832 case 1882 : /* fall through */
2833 case 1883 : /* fall through */
2834 case 1884 : /* fall through */
2835 case 1885 : /* fall through */
2836 case 1886 : /* fall through */
2837 case 1887 : /* fall through */
2838 case 1888 : /* fall through */
2839 case 1889 : /* fall through */
2840 case 1890 : /* fall through */
2841 case 1891 : /* fall through */
2842 case 1892 : /* fall through */
2843 case 1893 : /* fall through */
2844 case 1894 : /* fall through */
2845 case 1895 : /* fall through */
2846 case 1896 : /* fall through */
2847 case 1897 : /* fall through */
2848 case 1898 : /* fall through */
2849 case 1899 : /* fall through */
2850 case 1900 : /* fall through */
2851 case 1901 : /* fall through */
2852 case 1902 : /* fall through */
2853 case 1903 : /* fall through */
2854 case 1904 : /* fall through */
2855 case 1905 : /* fall through */
2856 case 1906 : /* fall through */
2857 case 1907 : /* fall through */
2858 case 1908 : /* fall through */
2859 case 1909 : /* fall through */
2860 case 1910 : /* fall through */
2861 case 1911 : /* fall through */
2862 case 1912 : /* fall through */
2863 case 1913 : /* fall through */
2864 case 1914 : /* fall through */
2865 case 1915 : /* fall through */
2866 case 1916 : /* fall through */
2867 case 1917 : /* fall through */
2868 case 1918 : /* fall through */
2870 entire_insn = entire_insn >> 16;
2871 itype = SH4_INSN_MOVI_COMPACT; sh4_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2872 case 1920 : /* fall through */
2873 case 1936 : /* fall through */
2874 case 1952 : /* fall through */
2875 case 1968 : /* fall through */
2876 case 1984 : /* fall through */
2877 case 2000 : /* fall through */
2878 case 2016 : /* fall through */
2880 entire_insn = entire_insn >> 16;
2881 itype = SH4_INSN_FADD_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2882 case 1921 : /* fall through */
2883 case 1937 : /* fall through */
2884 case 1953 : /* fall through */
2885 case 1969 : /* fall through */
2886 case 1985 : /* fall through */
2887 case 2001 : /* fall through */
2888 case 2017 : /* fall through */
2890 entire_insn = entire_insn >> 16;
2891 itype = SH4_INSN_FSUB_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2892 case 1922 : /* fall through */
2893 case 1938 : /* fall through */
2894 case 1954 : /* fall through */
2895 case 1970 : /* fall through */
2896 case 1986 : /* fall through */
2897 case 2002 : /* fall through */
2898 case 2018 : /* fall through */
2900 entire_insn = entire_insn >> 16;
2901 itype = SH4_INSN_FMUL_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2902 case 1923 : /* fall through */
2903 case 1939 : /* fall through */
2904 case 1955 : /* fall through */
2905 case 1971 : /* fall through */
2906 case 1987 : /* fall through */
2907 case 2003 : /* fall through */
2908 case 2019 : /* fall through */
2910 entire_insn = entire_insn >> 16;
2911 itype = SH4_INSN_FDIV_COMPACT; sh4_extract_sfmt_fadd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2912 case 1924 : /* fall through */
2913 case 1940 : /* fall through */
2914 case 1956 : /* fall through */
2915 case 1972 : /* fall through */
2916 case 1988 : /* fall through */
2917 case 2004 : /* fall through */
2918 case 2020 : /* fall through */
2920 entire_insn = entire_insn >> 16;
2921 itype = SH4_INSN_FCMPEQ_COMPACT; sh4_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2922 case 1925 : /* fall through */
2923 case 1941 : /* fall through */
2924 case 1957 : /* fall through */
2925 case 1973 : /* fall through */
2926 case 1989 : /* fall through */
2927 case 2005 : /* fall through */
2928 case 2021 : /* fall through */
2930 entire_insn = entire_insn >> 16;
2931 itype = SH4_INSN_FCMPGT_COMPACT; sh4_extract_sfmt_fcmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2932 case 1926 : /* fall through */
2933 case 1942 : /* fall through */
2934 case 1958 : /* fall through */
2935 case 1974 : /* fall through */
2936 case 1990 : /* fall through */
2937 case 2006 : /* fall through */
2938 case 2022 : /* fall through */
2940 entire_insn = entire_insn >> 16;
2941 itype = SH4_INSN_FMOV4_COMPACT; sh4_extract_sfmt_fmov4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2942 case 1927 : /* fall through */
2943 case 1943 : /* fall through */
2944 case 1959 : /* fall through */
2945 case 1975 : /* fall through */
2946 case 1991 : /* fall through */
2947 case 2007 : /* fall through */
2948 case 2023 : /* fall through */
2950 entire_insn = entire_insn >> 16;
2951 itype = SH4_INSN_FMOV7_COMPACT; sh4_extract_sfmt_fmov7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2952 case 1928 : /* fall through */
2953 case 1944 : /* fall through */
2954 case 1960 : /* fall through */
2955 case 1976 : /* fall through */
2956 case 1992 : /* fall through */
2957 case 2008 : /* fall through */
2958 case 2024 : /* fall through */
2960 entire_insn = entire_insn >> 16;
2961 itype = SH4_INSN_FMOV2_COMPACT; sh4_extract_sfmt_fmov2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2962 case 1929 : /* fall through */
2963 case 1945 : /* fall through */
2964 case 1961 : /* fall through */
2965 case 1977 : /* fall through */
2966 case 1993 : /* fall through */
2967 case 2009 : /* fall through */
2968 case 2025 : /* fall through */
2970 entire_insn = entire_insn >> 16;
2971 itype = SH4_INSN_FMOV3_COMPACT; sh4_extract_sfmt_fmov3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2972 case 1930 : /* fall through */
2973 case 1946 : /* fall through */
2974 case 1962 : /* fall through */
2975 case 1978 : /* fall through */
2976 case 1994 : /* fall through */
2977 case 2010 : /* fall through */
2978 case 2026 : /* fall through */
2980 entire_insn = entire_insn >> 16;
2981 itype = SH4_INSN_FMOV5_COMPACT; sh4_extract_sfmt_fmov5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2982 case 1931 : /* fall through */
2983 case 1947 : /* fall through */
2984 case 1963 : /* fall through */
2985 case 1979 : /* fall through */
2986 case 1995 : /* fall through */
2987 case 2011 : /* fall through */
2988 case 2027 : /* fall through */
2990 entire_insn = entire_insn >> 16;
2991 itype = SH4_INSN_FMOV6_COMPACT; sh4_extract_sfmt_fmov6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2992 case 1932 : /* fall through */
2993 case 1948 : /* fall through */
2994 case 1964 : /* fall through */
2995 case 1980 : /* fall through */
2996 case 1996 : /* fall through */
2997 case 2012 : /* fall through */
2998 case 2028 : /* fall through */
3000 entire_insn = entire_insn >> 16;
3001 itype = SH4_INSN_FMOV1_COMPACT; sh4_extract_sfmt_fmov1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3004 unsigned int val = (((insn >> 23) & (1 << 0)));
3008 entire_insn = entire_insn >> 16;
3009 itype = SH4_INSN_FSTS_COMPACT; sh4_extract_sfmt_fsts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3011 entire_insn = entire_insn >> 16;
3012 itype = SH4_INSN_FLDI0_COMPACT; sh4_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3013 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3016 case 1934 : /* fall through */
3017 case 1950 : /* fall through */
3018 case 1966 : /* fall through */
3019 case 1982 : /* fall through */
3020 case 1998 : /* fall through */
3021 case 2014 : /* fall through */
3022 case 2030 : /* fall through */
3024 entire_insn = entire_insn >> 16;
3025 itype = SH4_INSN_FMAC_COMPACT; sh4_extract_sfmt_fmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3028 unsigned int val = (((insn >> 23) & (1 << 0)));
3032 entire_insn = entire_insn >> 16;
3033 itype = SH4_INSN_FLDS_COMPACT; sh4_extract_sfmt_flds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3035 entire_insn = entire_insn >> 16;
3036 itype = SH4_INSN_FLDI1_COMPACT; sh4_extract_sfmt_fldi0_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3037 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3042 unsigned int val = (((insn >> 23) & (1 << 0)));
3046 entire_insn = entire_insn >> 16;
3047 itype = SH4_INSN_FLOAT_COMPACT; sh4_extract_sfmt_float_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3049 entire_insn = entire_insn >> 16;
3050 if ((entire_insn & 0xf1ff) == 0xf0ad)
3051 { itype = SH4_INSN_FCNVSD_COMPACT; sh4_extract_sfmt_fcnvsd_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3052 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3053 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3058 unsigned int val = (((insn >> 23) & (1 << 0)));
3062 entire_insn = entire_insn >> 16;
3063 itype = SH4_INSN_FTRC_COMPACT; sh4_extract_sfmt_ftrc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3065 entire_insn = entire_insn >> 16;
3066 if ((entire_insn & 0xf1ff) == 0xf0bd)
3067 { itype = SH4_INSN_FCNVDS_COMPACT; sh4_extract_sfmt_fcnvds_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3068 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3069 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3073 entire_insn = entire_insn >> 16;
3074 if ((entire_insn & 0xf0ff) == 0xf04d)
3075 { itype = SH4_INSN_FNEG_COMPACT; sh4_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3076 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3078 entire_insn = entire_insn >> 16;
3079 if ((entire_insn & 0xf0ff) == 0xf05d)
3080 { itype = SH4_INSN_FABS_COMPACT; sh4_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3081 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3084 unsigned int val = (((insn >> 23) & (1 << 0)));
3088 entire_insn = entire_insn >> 16;
3089 itype = SH4_INSN_FSQRT_COMPACT; sh4_extract_sfmt_fabs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3091 entire_insn = entire_insn >> 16;
3092 itype = SH4_INSN_FIPR_COMPACT; sh4_extract_sfmt_fipr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
3093 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3098 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 25) & (1 << 0)));
3101 case 0 : /* fall through */
3103 entire_insn = entire_insn >> 16;
3104 if ((entire_insn & 0xf3ff) == 0xf1fd)
3105 { itype = SH4_INSN_FTRV_COMPACT; sh4_extract_sfmt_ftrv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3106 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3108 entire_insn = entire_insn >> 16;
3109 if ((entire_insn & 0xffff) == 0xf3fd)
3110 { itype = SH4_INSN_FSCHG_COMPACT; sh4_extract_sfmt_fschg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3111 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3113 entire_insn = entire_insn >> 16;
3114 if ((entire_insn & 0xffff) == 0xfbfd)
3115 { itype = SH4_INSN_FRCHG_COMPACT; sh4_extract_sfmt_frchg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
3116 itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3117 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3120 default : itype = SH4_INSN_X_INVALID; sh4_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
3126 /* The instruction has been decoded and fields extracted. */
3130 // FIXME: To be redone (to handle ISA variants).
3131 this->idesc = & sh4_idesc::idesc_table[itype];
3132 // ??? record semantic handler?
3133 assert(this->idesc->sem_index == itype);
3137 sh4_extract_sfmt_empty (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3138 sh4_insn_word insn = entire_insn;
3139 #define FLD(f) abuf->fields.fmt_empty.f
3142 /* Record the fields for the semantic handler. */
3143 if (UNLIKELY(current_cpu->trace_extract_p))
3145 current_cpu->trace_stream
3146 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
3154 sh4_extract_sfmt_add_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3155 sh4_insn_word insn = entire_insn;
3156 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3160 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3161 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3163 /* Record the fields for the semantic handler. */
3166 if (UNLIKELY(current_cpu->trace_extract_p))
3168 current_cpu->trace_stream
3169 << "0x" << hex << pc << dec << " (sfmt_add_compact)\t"
3170 << " f_rm:0x" << hex << f_rm << dec
3171 << " f_rn:0x" << hex << f_rn << dec
3175 /* Record the fields for profiling. */
3176 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3180 FLD (out_rn) = f_rn;
3186 sh4_extract_sfmt_addi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3187 sh4_insn_word insn = entire_insn;
3188 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3192 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3193 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3195 /* Record the fields for the semantic handler. */
3196 FLD (f_imm8) = f_imm8;
3198 if (UNLIKELY(current_cpu->trace_extract_p))
3200 current_cpu->trace_stream
3201 << "0x" << hex << pc << dec << " (sfmt_addi_compact)\t"
3202 << " f_imm8:0x" << hex << f_imm8 << dec
3203 << " f_rn:0x" << hex << f_rn << dec
3207 /* Record the fields for profiling. */
3208 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3211 FLD (out_rn) = f_rn;
3217 sh4_extract_sfmt_addc_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3218 sh4_insn_word insn = entire_insn;
3219 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3223 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3224 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3226 /* Record the fields for the semantic handler. */
3229 if (UNLIKELY(current_cpu->trace_extract_p))
3231 current_cpu->trace_stream
3232 << "0x" << hex << pc << dec << " (sfmt_addc_compact)\t"
3233 << " f_rm:0x" << hex << f_rm << dec
3234 << " f_rn:0x" << hex << f_rn << dec
3238 /* Record the fields for profiling. */
3239 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3243 FLD (out_rn) = f_rn;
3249 sh4_extract_sfmt_addv_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3250 sh4_insn_word insn = entire_insn;
3251 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3255 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3256 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3258 /* Record the fields for the semantic handler. */
3261 if (UNLIKELY(current_cpu->trace_extract_p))
3263 current_cpu->trace_stream
3264 << "0x" << hex << pc << dec << " (sfmt_addv_compact)\t"
3265 << " f_rm:0x" << hex << f_rm << dec
3266 << " f_rn:0x" << hex << f_rn << dec
3270 /* Record the fields for profiling. */
3271 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3275 FLD (out_rn) = f_rn;
3281 sh4_extract_sfmt_and_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3282 sh4_insn_word insn = entire_insn;
3283 #define FLD(f) abuf->fields.sfmt_and_compact.f
3287 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3288 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3290 /* Record the fields for the semantic handler. */
3293 if (UNLIKELY(current_cpu->trace_extract_p))
3295 current_cpu->trace_stream
3296 << "0x" << hex << pc << dec << " (sfmt_and_compact)\t"
3297 << " f_rm:0x" << hex << f_rm << dec
3298 << " f_rn:0x" << hex << f_rn << dec
3302 /* Record the fields for profiling. */
3303 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3305 FLD (in_rm64) = f_rm;
3306 FLD (in_rn64) = f_rn;
3307 FLD (out_rn64) = f_rn;
3313 sh4_extract_sfmt_andi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3314 sh4_insn_word insn = entire_insn;
3315 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3318 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3320 /* Record the fields for the semantic handler. */
3321 FLD (f_imm8) = f_imm8;
3322 if (UNLIKELY(current_cpu->trace_extract_p))
3324 current_cpu->trace_stream
3325 << "0x" << hex << pc << dec << " (sfmt_andi_compact)\t"
3326 << " f_imm8:0x" << hex << f_imm8 << dec
3330 /* Record the fields for profiling. */
3331 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3340 sh4_extract_sfmt_andb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3341 sh4_insn_word insn = entire_insn;
3342 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3345 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3347 /* Record the fields for the semantic handler. */
3348 FLD (f_imm8) = f_imm8;
3349 if (UNLIKELY(current_cpu->trace_extract_p))
3351 current_cpu->trace_stream
3352 << "0x" << hex << pc << dec << " (sfmt_andb_compact)\t"
3353 << " f_imm8:0x" << hex << f_imm8 << dec
3357 /* Record the fields for profiling. */
3358 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3366 sh4_extract_sfmt_bf_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3367 sh4_insn_word insn = entire_insn;
3368 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3371 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3373 /* Record the fields for the semantic handler. */
3374 FLD (i_disp8) = f_disp8;
3375 if (UNLIKELY(current_cpu->trace_extract_p))
3377 current_cpu->trace_stream
3378 << "0x" << hex << pc << dec << " (sfmt_bf_compact)\t"
3382 /* Record the fields for profiling. */
3383 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3390 sh4_extract_sfmt_bfs_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3391 sh4_insn_word insn = entire_insn;
3392 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3395 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3397 /* Record the fields for the semantic handler. */
3398 FLD (i_disp8) = f_disp8;
3399 if (UNLIKELY(current_cpu->trace_extract_p))
3401 current_cpu->trace_stream
3402 << "0x" << hex << pc << dec << " (sfmt_bfs_compact)\t"
3406 /* Record the fields for profiling. */
3407 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3414 sh4_extract_sfmt_bra_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3415 sh4_insn_word insn = entire_insn;
3416 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3419 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3421 /* Record the fields for the semantic handler. */
3422 FLD (i_disp12) = f_disp12;
3423 if (UNLIKELY(current_cpu->trace_extract_p))
3425 current_cpu->trace_stream
3426 << "0x" << hex << pc << dec << " (sfmt_bra_compact)\t"
3430 /* Record the fields for profiling. */
3431 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3438 sh4_extract_sfmt_braf_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3439 sh4_insn_word insn = entire_insn;
3440 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3443 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3445 /* Record the fields for the semantic handler. */
3447 if (UNLIKELY(current_cpu->trace_extract_p))
3449 current_cpu->trace_stream
3450 << "0x" << hex << pc << dec << " (sfmt_braf_compact)\t"
3451 << " f_rn:0x" << hex << f_rn << dec
3455 /* Record the fields for profiling. */
3456 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3464 sh4_extract_sfmt_bsr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3465 sh4_insn_word insn = entire_insn;
3466 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3469 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3471 /* Record the fields for the semantic handler. */
3472 FLD (i_disp12) = f_disp12;
3473 if (UNLIKELY(current_cpu->trace_extract_p))
3475 current_cpu->trace_stream
3476 << "0x" << hex << pc << dec << " (sfmt_bsr_compact)\t"
3480 /* Record the fields for profiling. */
3481 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3488 sh4_extract_sfmt_bsrf_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3489 sh4_insn_word insn = entire_insn;
3490 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3493 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3495 /* Record the fields for the semantic handler. */
3497 if (UNLIKELY(current_cpu->trace_extract_p))
3499 current_cpu->trace_stream
3500 << "0x" << hex << pc << dec << " (sfmt_bsrf_compact)\t"
3501 << " f_rn:0x" << hex << f_rn << dec
3505 /* Record the fields for profiling. */
3506 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3514 sh4_extract_sfmt_clrmac_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3515 sh4_insn_word insn = entire_insn;
3516 #define FLD(f) abuf->fields.fmt_empty.f
3519 /* Record the fields for the semantic handler. */
3520 if (UNLIKELY(current_cpu->trace_extract_p))
3522 current_cpu->trace_stream
3523 << "0x" << hex << pc << dec << " (sfmt_clrmac_compact)\t"
3531 sh4_extract_sfmt_clrs_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3532 sh4_insn_word insn = entire_insn;
3533 #define FLD(f) abuf->fields.fmt_empty.f
3536 /* Record the fields for the semantic handler. */
3537 if (UNLIKELY(current_cpu->trace_extract_p))
3539 current_cpu->trace_stream
3540 << "0x" << hex << pc << dec << " (sfmt_clrs_compact)\t"
3548 sh4_extract_sfmt_clrt_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3549 sh4_insn_word insn = entire_insn;
3550 #define FLD(f) abuf->fields.fmt_empty.f
3553 /* Record the fields for the semantic handler. */
3554 if (UNLIKELY(current_cpu->trace_extract_p))
3556 current_cpu->trace_stream
3557 << "0x" << hex << pc << dec << " (sfmt_clrt_compact)\t"
3565 sh4_extract_sfmt_cmpeq_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3566 sh4_insn_word insn = entire_insn;
3567 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3571 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3572 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3574 /* Record the fields for the semantic handler. */
3577 if (UNLIKELY(current_cpu->trace_extract_p))
3579 current_cpu->trace_stream
3580 << "0x" << hex << pc << dec << " (sfmt_cmpeq_compact)\t"
3581 << " f_rm:0x" << hex << f_rm << dec
3582 << " f_rn:0x" << hex << f_rn << dec
3586 /* Record the fields for profiling. */
3587 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3596 sh4_extract_sfmt_cmpeqi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3597 sh4_insn_word insn = entire_insn;
3598 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3601 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3603 /* Record the fields for the semantic handler. */
3604 FLD (f_imm8) = f_imm8;
3605 if (UNLIKELY(current_cpu->trace_extract_p))
3607 current_cpu->trace_stream
3608 << "0x" << hex << pc << dec << " (sfmt_cmpeqi_compact)\t"
3609 << " f_imm8:0x" << hex << f_imm8 << dec
3613 /* Record the fields for profiling. */
3614 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3622 sh4_extract_sfmt_cmppl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3623 sh4_insn_word insn = entire_insn;
3624 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3627 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3629 /* Record the fields for the semantic handler. */
3631 if (UNLIKELY(current_cpu->trace_extract_p))
3633 current_cpu->trace_stream
3634 << "0x" << hex << pc << dec << " (sfmt_cmppl_compact)\t"
3635 << " f_rn:0x" << hex << f_rn << dec
3639 /* Record the fields for profiling. */
3640 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3648 sh4_extract_sfmt_div0s_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3649 sh4_insn_word insn = entire_insn;
3650 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3654 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3655 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3657 /* Record the fields for the semantic handler. */
3660 if (UNLIKELY(current_cpu->trace_extract_p))
3662 current_cpu->trace_stream
3663 << "0x" << hex << pc << dec << " (sfmt_div0s_compact)\t"
3664 << " f_rm:0x" << hex << f_rm << dec
3665 << " f_rn:0x" << hex << f_rn << dec
3669 /* Record the fields for profiling. */
3670 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3679 sh4_extract_sfmt_div0u_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3680 sh4_insn_word insn = entire_insn;
3681 #define FLD(f) abuf->fields.fmt_empty.f
3684 /* Record the fields for the semantic handler. */
3685 if (UNLIKELY(current_cpu->trace_extract_p))
3687 current_cpu->trace_stream
3688 << "0x" << hex << pc << dec << " (sfmt_div0u_compact)\t"
3696 sh4_extract_sfmt_div1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3697 sh4_insn_word insn = entire_insn;
3698 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3702 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3703 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3705 /* Record the fields for the semantic handler. */
3708 if (UNLIKELY(current_cpu->trace_extract_p))
3710 current_cpu->trace_stream
3711 << "0x" << hex << pc << dec << " (sfmt_div1_compact)\t"
3712 << " f_rm:0x" << hex << f_rm << dec
3713 << " f_rn:0x" << hex << f_rn << dec
3717 /* Record the fields for profiling. */
3718 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3722 FLD (out_rn) = f_rn;
3728 sh4_extract_sfmt_divu_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3729 sh4_insn_word insn = entire_insn;
3730 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3733 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3735 /* Record the fields for the semantic handler. */
3737 if (UNLIKELY(current_cpu->trace_extract_p))
3739 current_cpu->trace_stream
3740 << "0x" << hex << pc << dec << " (sfmt_divu_compact)\t"
3741 << " f_rn:0x" << hex << f_rn << dec
3745 /* Record the fields for profiling. */
3746 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3750 FLD (out_rn) = f_rn;
3756 sh4_extract_sfmt_dmulsl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3757 sh4_insn_word insn = entire_insn;
3758 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3762 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3763 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3765 /* Record the fields for the semantic handler. */
3768 if (UNLIKELY(current_cpu->trace_extract_p))
3770 current_cpu->trace_stream
3771 << "0x" << hex << pc << dec << " (sfmt_dmulsl_compact)\t"
3772 << " f_rm:0x" << hex << f_rm << dec
3773 << " f_rn:0x" << hex << f_rn << dec
3777 /* Record the fields for profiling. */
3778 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3787 sh4_extract_sfmt_dt_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3788 sh4_insn_word insn = entire_insn;
3789 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
3792 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3794 /* Record the fields for the semantic handler. */
3796 if (UNLIKELY(current_cpu->trace_extract_p))
3798 current_cpu->trace_stream
3799 << "0x" << hex << pc << dec << " (sfmt_dt_compact)\t"
3800 << " f_rn:0x" << hex << f_rn << dec
3804 /* Record the fields for profiling. */
3805 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3808 FLD (out_rn) = f_rn;
3814 sh4_extract_sfmt_extsb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3815 sh4_insn_word insn = entire_insn;
3816 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3820 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3821 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3823 /* Record the fields for the semantic handler. */
3826 if (UNLIKELY(current_cpu->trace_extract_p))
3828 current_cpu->trace_stream
3829 << "0x" << hex << pc << dec << " (sfmt_extsb_compact)\t"
3830 << " f_rm:0x" << hex << f_rm << dec
3831 << " f_rn:0x" << hex << f_rn << dec
3835 /* Record the fields for profiling. */
3836 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3839 FLD (out_rn) = f_rn;
3845 sh4_extract_sfmt_fabs_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3846 sh4_insn_word insn = entire_insn;
3847 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3850 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3852 /* Record the fields for the semantic handler. */
3854 if (UNLIKELY(current_cpu->trace_extract_p))
3856 current_cpu->trace_stream
3857 << "0x" << hex << pc << dec << " (sfmt_fabs_compact)\t"
3858 << " f_rn:0x" << hex << f_rn << dec
3862 /* Record the fields for profiling. */
3863 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3865 FLD (in_fsdn) = f_rn;
3866 FLD (out_fsdn) = f_rn;
3872 sh4_extract_sfmt_fadd_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3873 sh4_insn_word insn = entire_insn;
3874 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3878 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3879 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3881 /* Record the fields for the semantic handler. */
3884 if (UNLIKELY(current_cpu->trace_extract_p))
3886 current_cpu->trace_stream
3887 << "0x" << hex << pc << dec << " (sfmt_fadd_compact)\t"
3888 << " f_rm:0x" << hex << f_rm << dec
3889 << " f_rn:0x" << hex << f_rn << dec
3893 /* Record the fields for profiling. */
3894 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3896 FLD (in_fsdm) = f_rm;
3897 FLD (in_fsdn) = f_rn;
3898 FLD (out_fsdn) = f_rn;
3904 sh4_extract_sfmt_fcmpeq_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3905 sh4_insn_word insn = entire_insn;
3906 #define FLD(f) abuf->fields.sfmt_fadd_compact.f
3910 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3911 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3913 /* Record the fields for the semantic handler. */
3916 if (UNLIKELY(current_cpu->trace_extract_p))
3918 current_cpu->trace_stream
3919 << "0x" << hex << pc << dec << " (sfmt_fcmpeq_compact)\t"
3920 << " f_rm:0x" << hex << f_rm << dec
3921 << " f_rn:0x" << hex << f_rn << dec
3925 /* Record the fields for profiling. */
3926 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3928 FLD (in_fsdm) = f_rm;
3929 FLD (in_fsdn) = f_rn;
3935 sh4_extract_sfmt_fcnvds_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3936 sh4_insn_word insn = entire_insn;
3937 #define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
3940 f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
3942 /* Record the fields for the semantic handler. */
3944 if (UNLIKELY(current_cpu->trace_extract_p))
3946 current_cpu->trace_stream
3947 << "0x" << hex << pc << dec << " (sfmt_fcnvds_compact)\t"
3948 << " f_dn:0x" << hex << f_dn << dec
3952 /* Record the fields for profiling. */
3953 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3955 FLD (in_drn) = f_dn;
3956 FLD (out_fpul) = 32;
3962 sh4_extract_sfmt_fcnvsd_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3963 sh4_insn_word insn = entire_insn;
3964 #define FLD(f) abuf->fields.sfmt_fcnvsd_compact.f
3967 f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
3969 /* Record the fields for the semantic handler. */
3971 if (UNLIKELY(current_cpu->trace_extract_p))
3973 current_cpu->trace_stream
3974 << "0x" << hex << pc << dec << " (sfmt_fcnvsd_compact)\t"
3975 << " f_dn:0x" << hex << f_dn << dec
3979 /* Record the fields for profiling. */
3980 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3983 FLD (out_drn) = f_dn;
3989 sh4_extract_sfmt_fipr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
3990 sh4_insn_word insn = entire_insn;
3991 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
3995 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
3996 f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2));
3998 /* Record the fields for the semantic handler. */
4001 if (UNLIKELY(current_cpu->trace_extract_p))
4003 current_cpu->trace_stream
4004 << "0x" << hex << pc << dec << " (sfmt_fipr_compact)\t"
4005 << " f_vm:0x" << hex << f_vm << dec
4006 << " f_vn:0x" << hex << f_vn << dec
4014 sh4_extract_sfmt_flds_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4015 sh4_insn_word insn = entire_insn;
4016 #define FLD(f) abuf->fields.sfmt_flds_compact.f
4019 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4021 /* Record the fields for the semantic handler. */
4023 if (UNLIKELY(current_cpu->trace_extract_p))
4025 current_cpu->trace_stream
4026 << "0x" << hex << pc << dec << " (sfmt_flds_compact)\t"
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))
4034 FLD (in_frn) = f_rn;
4035 FLD (out_fpul) = 32;
4041 sh4_extract_sfmt_fldi0_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4042 sh4_insn_word insn = entire_insn;
4043 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
4046 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4048 /* Record the fields for the semantic handler. */
4050 if (UNLIKELY(current_cpu->trace_extract_p))
4052 current_cpu->trace_stream
4053 << "0x" << hex << pc << dec << " (sfmt_fldi0_compact)\t"
4054 << " f_rn:0x" << hex << f_rn << dec
4058 /* Record the fields for profiling. */
4059 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4061 FLD (out_frn) = f_rn;
4067 sh4_extract_sfmt_float_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4068 sh4_insn_word insn = entire_insn;
4069 #define FLD(f) abuf->fields.sfmt_float_compact.f
4072 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4074 /* Record the fields for the semantic handler. */
4076 if (UNLIKELY(current_cpu->trace_extract_p))
4078 current_cpu->trace_stream
4079 << "0x" << hex << pc << dec << " (sfmt_float_compact)\t"
4080 << " f_rn:0x" << hex << f_rn << dec
4084 /* Record the fields for profiling. */
4085 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4088 FLD (out_fsdn) = f_rn;
4094 sh4_extract_sfmt_fmac_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4095 sh4_insn_word insn = entire_insn;
4096 #define FLD(f) abuf->fields.sfmt_fmac_compact.f
4100 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4101 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4103 /* Record the fields for the semantic handler. */
4106 if (UNLIKELY(current_cpu->trace_extract_p))
4108 current_cpu->trace_stream
4109 << "0x" << hex << pc << dec << " (sfmt_fmac_compact)\t"
4110 << " f_rm:0x" << hex << f_rm << dec
4111 << " f_rn:0x" << hex << f_rn << dec
4115 /* Record the fields for profiling. */
4116 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4119 FLD (in_frm) = f_rm;
4120 FLD (in_frn) = f_rn;
4121 FLD (out_frn) = f_rn;
4127 sh4_extract_sfmt_fmov1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4128 sh4_insn_word insn = entire_insn;
4129 #define FLD(f) abuf->fields.sfmt_fmov1_compact.f
4133 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4134 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4136 /* Record the fields for the semantic handler. */
4139 if (UNLIKELY(current_cpu->trace_extract_p))
4141 current_cpu->trace_stream
4142 << "0x" << hex << pc << dec << " (sfmt_fmov1_compact)\t"
4143 << " f_rm:0x" << hex << f_rm << dec
4144 << " f_rn:0x" << hex << f_rn << dec
4148 /* Record the fields for profiling. */
4149 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4151 FLD (in_fmovm) = f_rm;
4152 FLD (out_fmovn) = f_rn;
4158 sh4_extract_sfmt_fmov2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4159 sh4_insn_word insn = entire_insn;
4160 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
4164 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4165 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4167 /* Record the fields for the semantic handler. */
4170 if (UNLIKELY(current_cpu->trace_extract_p))
4172 current_cpu->trace_stream
4173 << "0x" << hex << pc << dec << " (sfmt_fmov2_compact)\t"
4174 << " f_rm:0x" << hex << f_rm << dec
4175 << " f_rn:0x" << hex << f_rn << dec
4179 /* Record the fields for profiling. */
4180 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4183 FLD (out_fmovn) = f_rn;
4189 sh4_extract_sfmt_fmov3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4190 sh4_insn_word insn = entire_insn;
4191 #define FLD(f) abuf->fields.sfmt_fmov3_compact.f
4195 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4196 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4198 /* Record the fields for the semantic handler. */
4201 if (UNLIKELY(current_cpu->trace_extract_p))
4203 current_cpu->trace_stream
4204 << "0x" << hex << pc << dec << " (sfmt_fmov3_compact)\t"
4205 << " f_rm:0x" << hex << f_rm << dec
4206 << " f_rn:0x" << hex << f_rn << dec
4210 /* Record the fields for profiling. */
4211 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4214 FLD (out_fmovn) = f_rn;
4215 FLD (out_rm) = f_rm;
4221 sh4_extract_sfmt_fmov4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4222 sh4_insn_word insn = entire_insn;
4223 #define FLD(f) abuf->fields.sfmt_fmov4_compact.f
4227 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4228 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4230 /* Record the fields for the semantic handler. */
4233 if (UNLIKELY(current_cpu->trace_extract_p))
4235 current_cpu->trace_stream
4236 << "0x" << hex << pc << dec << " (sfmt_fmov4_compact)\t"
4237 << " f_rm:0x" << hex << f_rm << dec
4238 << " f_rn:0x" << hex << f_rn << dec
4242 /* Record the fields for profiling. */
4243 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4247 FLD (out_fmovn) = f_rn;
4253 sh4_extract_sfmt_fmov5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4254 sh4_insn_word insn = entire_insn;
4255 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
4259 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4260 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4262 /* Record the fields for the semantic handler. */
4265 if (UNLIKELY(current_cpu->trace_extract_p))
4267 current_cpu->trace_stream
4268 << "0x" << hex << pc << dec << " (sfmt_fmov5_compact)\t"
4269 << " f_rm:0x" << hex << f_rm << dec
4270 << " f_rn:0x" << hex << f_rn << dec
4274 /* Record the fields for profiling. */
4275 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4277 FLD (in_fmovm) = f_rm;
4284 sh4_extract_sfmt_fmov6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4285 sh4_insn_word insn = entire_insn;
4286 #define FLD(f) abuf->fields.sfmt_fmov6_compact.f
4290 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4291 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4293 /* Record the fields for the semantic handler. */
4296 if (UNLIKELY(current_cpu->trace_extract_p))
4298 current_cpu->trace_stream
4299 << "0x" << hex << pc << dec << " (sfmt_fmov6_compact)\t"
4300 << " f_rm:0x" << hex << f_rm << dec
4301 << " f_rn:0x" << hex << f_rn << dec
4305 /* Record the fields for profiling. */
4306 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4308 FLD (in_fmovm) = f_rm;
4310 FLD (out_rn) = f_rn;
4316 sh4_extract_sfmt_fmov7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4317 sh4_insn_word insn = entire_insn;
4318 #define FLD(f) abuf->fields.sfmt_fmov7_compact.f
4322 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4323 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4325 /* Record the fields for the semantic handler. */
4328 if (UNLIKELY(current_cpu->trace_extract_p))
4330 current_cpu->trace_stream
4331 << "0x" << hex << pc << dec << " (sfmt_fmov7_compact)\t"
4332 << " f_rm:0x" << hex << f_rm << dec
4333 << " f_rn:0x" << hex << f_rn << dec
4337 /* Record the fields for profiling. */
4338 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4340 FLD (in_fmovm) = f_rm;
4348 sh4_extract_sfmt_fmov8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4349 sh4_insn_word insn = entire_insn;
4350 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
4355 f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1));
4356 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4357 f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3));
4359 /* Record the fields for the semantic handler. */
4360 FLD (f_imm12x8) = f_imm12x8;
4363 if (UNLIKELY(current_cpu->trace_extract_p))
4365 current_cpu->trace_stream
4366 << "0x" << hex << pc << dec << " (sfmt_fmov8_compact)\t"
4367 << " f_imm12x8:0x" << hex << f_imm12x8 << dec
4368 << " f_rm:0x" << hex << f_rm << dec
4369 << " f_dn:0x" << hex << f_dn << dec
4373 /* Record the fields for profiling. */
4374 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4377 FLD (out_drn) = f_dn;
4383 sh4_extract_sfmt_fmov9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4384 sh4_insn_word insn = entire_insn;
4385 #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
4390 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4391 f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1));
4392 f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3));
4394 /* Record the fields for the semantic handler. */
4396 FLD (f_imm12x8) = f_imm12x8;
4398 if (UNLIKELY(current_cpu->trace_extract_p))
4400 current_cpu->trace_stream
4401 << "0x" << hex << pc << dec << " (sfmt_fmov9_compact)\t"
4402 << " f_dm:0x" << hex << f_dm << dec
4403 << " f_imm12x8:0x" << hex << f_imm12x8 << dec
4404 << " f_rn:0x" << hex << f_rn << dec
4408 /* Record the fields for profiling. */
4409 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4411 FLD (in_drm) = f_dm;
4418 sh4_extract_sfmt_frchg_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4419 sh4_insn_word insn = entire_insn;
4420 #define FLD(f) abuf->fields.fmt_empty.f
4423 /* Record the fields for the semantic handler. */
4424 if (UNLIKELY(current_cpu->trace_extract_p))
4426 current_cpu->trace_stream
4427 << "0x" << hex << pc << dec << " (sfmt_frchg_compact)\t"
4435 sh4_extract_sfmt_fschg_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4436 sh4_insn_word insn = entire_insn;
4437 #define FLD(f) abuf->fields.fmt_empty.f
4440 /* Record the fields for the semantic handler. */
4441 if (UNLIKELY(current_cpu->trace_extract_p))
4443 current_cpu->trace_stream
4444 << "0x" << hex << pc << dec << " (sfmt_fschg_compact)\t"
4452 sh4_extract_sfmt_fsts_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4453 sh4_insn_word insn = entire_insn;
4454 #define FLD(f) abuf->fields.sfmt_fsts_compact.f
4457 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4459 /* Record the fields for the semantic handler. */
4461 if (UNLIKELY(current_cpu->trace_extract_p))
4463 current_cpu->trace_stream
4464 << "0x" << hex << pc << dec << " (sfmt_fsts_compact)\t"
4465 << " f_rn:0x" << hex << f_rn << dec
4469 /* Record the fields for profiling. */
4470 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4473 FLD (out_frn) = f_rn;
4479 sh4_extract_sfmt_ftrc_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4480 sh4_insn_word insn = entire_insn;
4481 #define FLD(f) abuf->fields.sfmt_ftrc_compact.f
4484 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4486 /* Record the fields for the semantic handler. */
4488 if (UNLIKELY(current_cpu->trace_extract_p))
4490 current_cpu->trace_stream
4491 << "0x" << hex << pc << dec << " (sfmt_ftrc_compact)\t"
4492 << " f_rn:0x" << hex << f_rn << dec
4496 /* Record the fields for profiling. */
4497 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4499 FLD (in_fsdn) = f_rn;
4500 FLD (out_fpul) = 32;
4506 sh4_extract_sfmt_ftrv_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4507 sh4_insn_word insn = entire_insn;
4508 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
4511 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
4513 /* Record the fields for the semantic handler. */
4515 if (UNLIKELY(current_cpu->trace_extract_p))
4517 current_cpu->trace_stream
4518 << "0x" << hex << pc << dec << " (sfmt_ftrv_compact)\t"
4519 << " f_vn:0x" << hex << f_vn << dec
4527 sh4_extract_sfmt_ldc_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4528 sh4_insn_word insn = entire_insn;
4529 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4532 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4534 /* Record the fields for the semantic handler. */
4536 if (UNLIKELY(current_cpu->trace_extract_p))
4538 current_cpu->trace_stream
4539 << "0x" << hex << pc << dec << " (sfmt_ldc_gbr_compact)\t"
4540 << " f_rn:0x" << hex << f_rn << dec
4544 /* Record the fields for profiling. */
4545 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4553 sh4_extract_sfmt_ldc_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4554 sh4_insn_word insn = entire_insn;
4555 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4558 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4560 /* Record the fields for the semantic handler. */
4562 if (UNLIKELY(current_cpu->trace_extract_p))
4564 current_cpu->trace_stream
4565 << "0x" << hex << pc << dec << " (sfmt_ldc_vbr_compact)\t"
4566 << " f_rn:0x" << hex << f_rn << dec
4570 /* Record the fields for profiling. */
4571 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4579 sh4_extract_sfmt_ldc_sr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4580 sh4_insn_word insn = entire_insn;
4581 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4584 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4586 /* Record the fields for the semantic handler. */
4588 if (UNLIKELY(current_cpu->trace_extract_p))
4590 current_cpu->trace_stream
4591 << "0x" << hex << pc << dec << " (sfmt_ldc_sr_compact)\t"
4592 << " f_rn:0x" << hex << f_rn << dec
4596 /* Record the fields for profiling. */
4597 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4605 sh4_extract_sfmt_ldcl_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4606 sh4_insn_word insn = entire_insn;
4607 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4610 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4612 /* Record the fields for the semantic handler. */
4614 if (UNLIKELY(current_cpu->trace_extract_p))
4616 current_cpu->trace_stream
4617 << "0x" << hex << pc << dec << " (sfmt_ldcl_gbr_compact)\t"
4618 << " f_rn:0x" << hex << f_rn << dec
4622 /* Record the fields for profiling. */
4623 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4626 FLD (out_rn) = f_rn;
4632 sh4_extract_sfmt_ldcl_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4633 sh4_insn_word insn = entire_insn;
4634 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4637 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4639 /* Record the fields for the semantic handler. */
4641 if (UNLIKELY(current_cpu->trace_extract_p))
4643 current_cpu->trace_stream
4644 << "0x" << hex << pc << dec << " (sfmt_ldcl_vbr_compact)\t"
4645 << " f_rn:0x" << hex << f_rn << dec
4649 /* Record the fields for profiling. */
4650 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4653 FLD (out_rn) = f_rn;
4659 sh4_extract_sfmt_lds_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4660 sh4_insn_word insn = entire_insn;
4661 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4664 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4666 /* Record the fields for the semantic handler. */
4668 if (UNLIKELY(current_cpu->trace_extract_p))
4670 current_cpu->trace_stream
4671 << "0x" << hex << pc << dec << " (sfmt_lds_fpscr_compact)\t"
4672 << " f_rn:0x" << hex << f_rn << dec
4676 /* Record the fields for profiling. */
4677 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4685 sh4_extract_sfmt_ldsl_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4686 sh4_insn_word insn = entire_insn;
4687 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4690 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4692 /* Record the fields for the semantic handler. */
4694 if (UNLIKELY(current_cpu->trace_extract_p))
4696 current_cpu->trace_stream
4697 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpscr_compact)\t"
4698 << " f_rn:0x" << hex << f_rn << dec
4702 /* Record the fields for profiling. */
4703 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4706 FLD (out_rn) = f_rn;
4712 sh4_extract_sfmt_lds_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4713 sh4_insn_word insn = entire_insn;
4714 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4717 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4719 /* Record the fields for the semantic handler. */
4721 if (UNLIKELY(current_cpu->trace_extract_p))
4723 current_cpu->trace_stream
4724 << "0x" << hex << pc << dec << " (sfmt_lds_fpul_compact)\t"
4725 << " f_rn:0x" << hex << f_rn << dec
4729 /* Record the fields for profiling. */
4730 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4733 FLD (out_fpul) = 32;
4739 sh4_extract_sfmt_ldsl_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4740 sh4_insn_word insn = entire_insn;
4741 #define FLD(f) abuf->fields.sfmt_ldsl_fpul_compact.f
4744 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4746 /* Record the fields for the semantic handler. */
4748 if (UNLIKELY(current_cpu->trace_extract_p))
4750 current_cpu->trace_stream
4751 << "0x" << hex << pc << dec << " (sfmt_ldsl_fpul_compact)\t"
4752 << " f_rn:0x" << hex << f_rn << dec
4756 /* Record the fields for profiling. */
4757 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4760 FLD (out_fpul) = 32;
4761 FLD (out_rn) = f_rn;
4767 sh4_extract_sfmt_lds_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4768 sh4_insn_word insn = entire_insn;
4769 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4772 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4774 /* Record the fields for the semantic handler. */
4776 if (UNLIKELY(current_cpu->trace_extract_p))
4778 current_cpu->trace_stream
4779 << "0x" << hex << pc << dec << " (sfmt_lds_mach_compact)\t"
4780 << " f_rn:0x" << hex << f_rn << dec
4784 /* Record the fields for profiling. */
4785 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4793 sh4_extract_sfmt_ldsl_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4794 sh4_insn_word insn = entire_insn;
4795 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4798 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4800 /* Record the fields for the semantic handler. */
4802 if (UNLIKELY(current_cpu->trace_extract_p))
4804 current_cpu->trace_stream
4805 << "0x" << hex << pc << dec << " (sfmt_ldsl_mach_compact)\t"
4806 << " f_rn:0x" << hex << f_rn << dec
4810 /* Record the fields for profiling. */
4811 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4814 FLD (out_rn) = f_rn;
4820 sh4_extract_sfmt_lds_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4821 sh4_insn_word insn = entire_insn;
4822 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4825 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4827 /* Record the fields for the semantic handler. */
4829 if (UNLIKELY(current_cpu->trace_extract_p))
4831 current_cpu->trace_stream
4832 << "0x" << hex << pc << dec << " (sfmt_lds_macl_compact)\t"
4833 << " f_rn:0x" << hex << f_rn << dec
4837 /* Record the fields for profiling. */
4838 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4846 sh4_extract_sfmt_ldsl_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4847 sh4_insn_word insn = entire_insn;
4848 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4851 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4853 /* Record the fields for the semantic handler. */
4855 if (UNLIKELY(current_cpu->trace_extract_p))
4857 current_cpu->trace_stream
4858 << "0x" << hex << pc << dec << " (sfmt_ldsl_macl_compact)\t"
4859 << " f_rn:0x" << hex << f_rn << dec
4863 /* Record the fields for profiling. */
4864 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4867 FLD (out_rn) = f_rn;
4873 sh4_extract_sfmt_lds_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4874 sh4_insn_word insn = entire_insn;
4875 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4878 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4880 /* Record the fields for the semantic handler. */
4882 if (UNLIKELY(current_cpu->trace_extract_p))
4884 current_cpu->trace_stream
4885 << "0x" << hex << pc << dec << " (sfmt_lds_pr_compact)\t"
4886 << " f_rn:0x" << hex << f_rn << dec
4890 /* Record the fields for profiling. */
4891 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4899 sh4_extract_sfmt_ldsl_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4900 sh4_insn_word insn = entire_insn;
4901 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
4904 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4906 /* Record the fields for the semantic handler. */
4908 if (UNLIKELY(current_cpu->trace_extract_p))
4910 current_cpu->trace_stream
4911 << "0x" << hex << pc << dec << " (sfmt_ldsl_pr_compact)\t"
4912 << " f_rn:0x" << hex << f_rn << dec
4916 /* Record the fields for profiling. */
4917 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4920 FLD (out_rn) = f_rn;
4926 sh4_extract_sfmt_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4927 sh4_insn_word insn = entire_insn;
4928 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4932 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4933 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4935 /* Record the fields for the semantic handler. */
4938 if (UNLIKELY(current_cpu->trace_extract_p))
4940 current_cpu->trace_stream
4941 << "0x" << hex << pc << dec << " (sfmt_macl_compact)\t"
4942 << " f_rm:0x" << hex << f_rm << dec
4943 << " f_rn:0x" << hex << f_rn << dec
4947 /* Record the fields for profiling. */
4948 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4952 FLD (out_rm) = f_rm;
4953 FLD (out_rn) = f_rn;
4959 sh4_extract_sfmt_macw_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4960 sh4_insn_word insn = entire_insn;
4961 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4965 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4966 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4968 /* Record the fields for the semantic handler. */
4971 if (UNLIKELY(current_cpu->trace_extract_p))
4973 current_cpu->trace_stream
4974 << "0x" << hex << pc << dec << " (sfmt_macw_compact)\t"
4975 << " f_rm:0x" << hex << f_rm << dec
4976 << " f_rn:0x" << hex << f_rn << dec
4980 /* Record the fields for profiling. */
4981 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4985 FLD (out_rm) = f_rm;
4986 FLD (out_rn) = f_rn;
4992 sh4_extract_sfmt_mov_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
4993 sh4_insn_word insn = entire_insn;
4994 #define FLD(f) abuf->fields.sfmt_and_compact.f
4998 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4999 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5001 /* Record the fields for the semantic handler. */
5004 if (UNLIKELY(current_cpu->trace_extract_p))
5006 current_cpu->trace_stream
5007 << "0x" << hex << pc << dec << " (sfmt_mov_compact)\t"
5008 << " f_rm:0x" << hex << f_rm << dec
5009 << " f_rn:0x" << hex << f_rn << dec
5013 /* Record the fields for profiling. */
5014 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5016 FLD (in_rm64) = f_rm;
5017 FLD (out_rn64) = f_rn;
5023 sh4_extract_sfmt_movi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5024 sh4_insn_word insn = entire_insn;
5025 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5029 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5030 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5032 /* Record the fields for the semantic handler. */
5033 FLD (f_imm8) = f_imm8;
5035 if (UNLIKELY(current_cpu->trace_extract_p))
5037 current_cpu->trace_stream
5038 << "0x" << hex << pc << dec << " (sfmt_movi_compact)\t"
5039 << " f_imm8:0x" << hex << f_imm8 << dec
5040 << " f_rn:0x" << hex << f_rn << dec
5044 /* Record the fields for profiling. */
5045 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5047 FLD (out_rn) = f_rn;
5053 sh4_extract_sfmt_movi20_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5054 sh4_insn_word insn = entire_insn;
5055 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
5061 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5062 f_imm20_hi = EXTRACT_MSB0_SINT (insn, 32, 8, 4);
5063 f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
5064 f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));
5066 /* Record the fields for the semantic handler. */
5067 FLD (f_imm20) = f_imm20;
5069 if (UNLIKELY(current_cpu->trace_extract_p))
5071 current_cpu->trace_stream
5072 << "0x" << hex << pc << dec << " (sfmt_movi20_compact)\t"
5073 << " f_imm20:0x" << hex << f_imm20 << dec
5074 << " f_rn:0x" << hex << f_rn << dec
5078 /* Record the fields for profiling. */
5079 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5081 FLD (out_rn) = f_rn;
5087 sh4_extract_sfmt_movb1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5088 sh4_insn_word insn = entire_insn;
5089 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5093 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5094 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5096 /* Record the fields for the semantic handler. */
5099 if (UNLIKELY(current_cpu->trace_extract_p))
5101 current_cpu->trace_stream
5102 << "0x" << hex << pc << dec << " (sfmt_movb1_compact)\t"
5103 << " f_rm:0x" << hex << f_rm << dec
5104 << " f_rn:0x" << hex << f_rn << dec
5108 /* Record the fields for profiling. */
5109 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5118 sh4_extract_sfmt_movb2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5119 sh4_insn_word insn = entire_insn;
5120 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5124 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5125 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5127 /* Record the fields for the semantic handler. */
5130 if (UNLIKELY(current_cpu->trace_extract_p))
5132 current_cpu->trace_stream
5133 << "0x" << hex << pc << dec << " (sfmt_movb2_compact)\t"
5134 << " f_rm:0x" << hex << f_rm << dec
5135 << " f_rn:0x" << hex << f_rn << dec
5139 /* Record the fields for profiling. */
5140 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5144 FLD (out_rn) = f_rn;
5150 sh4_extract_sfmt_movb3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5151 sh4_insn_word insn = entire_insn;
5152 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5156 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5157 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5159 /* Record the fields for the semantic handler. */
5162 if (UNLIKELY(current_cpu->trace_extract_p))
5164 current_cpu->trace_stream
5165 << "0x" << hex << pc << dec << " (sfmt_movb3_compact)\t"
5166 << " f_rm:0x" << hex << f_rm << dec
5167 << " f_rn:0x" << hex << f_rn << dec
5171 /* Record the fields for profiling. */
5172 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5182 sh4_extract_sfmt_movb4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5183 sh4_insn_word insn = entire_insn;
5184 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5187 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5189 /* Record the fields for the semantic handler. */
5190 FLD (f_imm8) = f_imm8;
5191 if (UNLIKELY(current_cpu->trace_extract_p))
5193 current_cpu->trace_stream
5194 << "0x" << hex << pc << dec << " (sfmt_movb4_compact)\t"
5195 << " f_imm8:0x" << hex << f_imm8 << dec
5199 /* Record the fields for profiling. */
5200 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5208 sh4_extract_sfmt_movb5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5209 sh4_insn_word insn = entire_insn;
5210 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
5214 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5215 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
5217 /* Record the fields for the semantic handler. */
5218 FLD (f_imm4) = f_imm4;
5220 if (UNLIKELY(current_cpu->trace_extract_p))
5222 current_cpu->trace_stream
5223 << "0x" << hex << pc << dec << " (sfmt_movb5_compact)\t"
5224 << " f_imm4:0x" << hex << f_imm4 << dec
5225 << " f_rm:0x" << hex << f_rm << dec
5229 /* Record the fields for profiling. */
5230 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5239 sh4_extract_sfmt_movb6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5240 sh4_insn_word insn = entire_insn;
5241 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5245 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5246 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5248 /* Record the fields for the semantic handler. */
5251 if (UNLIKELY(current_cpu->trace_extract_p))
5253 current_cpu->trace_stream
5254 << "0x" << hex << pc << dec << " (sfmt_movb6_compact)\t"
5255 << " f_rm:0x" << hex << f_rm << dec
5256 << " f_rn:0x" << hex << f_rn << dec
5260 /* Record the fields for profiling. */
5261 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5264 FLD (out_rn) = f_rn;
5270 sh4_extract_sfmt_movb7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5271 sh4_insn_word insn = entire_insn;
5272 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5276 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5277 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5279 /* Record the fields for the semantic handler. */
5282 if (UNLIKELY(current_cpu->trace_extract_p))
5284 current_cpu->trace_stream
5285 << "0x" << hex << pc << dec << " (sfmt_movb7_compact)\t"
5286 << " f_rm:0x" << hex << f_rm << dec
5287 << " f_rn:0x" << hex << f_rn << dec
5291 /* Record the fields for profiling. */
5292 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5295 FLD (out_rm) = f_rm;
5296 FLD (out_rn) = f_rn;
5302 sh4_extract_sfmt_movb8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5303 sh4_insn_word insn = entire_insn;
5304 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5308 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5309 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5311 /* Record the fields for the semantic handler. */
5314 if (UNLIKELY(current_cpu->trace_extract_p))
5316 current_cpu->trace_stream
5317 << "0x" << hex << pc << dec << " (sfmt_movb8_compact)\t"
5318 << " f_rm:0x" << hex << f_rm << dec
5319 << " f_rn:0x" << hex << f_rn << dec
5323 /* Record the fields for profiling. */
5324 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5328 FLD (out_rn) = f_rn;
5334 sh4_extract_sfmt_movb9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5335 sh4_insn_word insn = entire_insn;
5336 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5339 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5341 /* Record the fields for the semantic handler. */
5342 FLD (f_imm8) = f_imm8;
5343 if (UNLIKELY(current_cpu->trace_extract_p))
5345 current_cpu->trace_stream
5346 << "0x" << hex << pc << dec << " (sfmt_movb9_compact)\t"
5347 << " f_imm8:0x" << hex << f_imm8 << dec
5351 /* Record the fields for profiling. */
5352 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5360 sh4_extract_sfmt_movb10_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5361 sh4_insn_word insn = entire_insn;
5362 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
5366 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5367 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
5369 /* Record the fields for the semantic handler. */
5370 FLD (f_imm4) = f_imm4;
5372 if (UNLIKELY(current_cpu->trace_extract_p))
5374 current_cpu->trace_stream
5375 << "0x" << hex << pc << dec << " (sfmt_movb10_compact)\t"
5376 << " f_imm4:0x" << hex << f_imm4 << dec
5377 << " f_rm:0x" << hex << f_rm << dec
5381 /* Record the fields for profiling. */
5382 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5391 sh4_extract_sfmt_movl1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5392 sh4_insn_word insn = entire_insn;
5393 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5397 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5398 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5400 /* Record the fields for the semantic handler. */
5403 if (UNLIKELY(current_cpu->trace_extract_p))
5405 current_cpu->trace_stream
5406 << "0x" << hex << pc << dec << " (sfmt_movl1_compact)\t"
5407 << " f_rm:0x" << hex << f_rm << dec
5408 << " f_rn:0x" << hex << f_rn << dec
5412 /* Record the fields for profiling. */
5413 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5422 sh4_extract_sfmt_movl2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5423 sh4_insn_word insn = entire_insn;
5424 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5428 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5429 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5431 /* Record the fields for the semantic handler. */
5434 if (UNLIKELY(current_cpu->trace_extract_p))
5436 current_cpu->trace_stream
5437 << "0x" << hex << pc << dec << " (sfmt_movl2_compact)\t"
5438 << " f_rm:0x" << hex << f_rm << dec
5439 << " f_rn:0x" << hex << f_rn << dec
5443 /* Record the fields for profiling. */
5444 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5448 FLD (out_rn) = f_rn;
5454 sh4_extract_sfmt_movl3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5455 sh4_insn_word insn = entire_insn;
5456 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5460 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5461 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5463 /* Record the fields for the semantic handler. */
5466 if (UNLIKELY(current_cpu->trace_extract_p))
5468 current_cpu->trace_stream
5469 << "0x" << hex << pc << dec << " (sfmt_movl3_compact)\t"
5470 << " f_rm:0x" << hex << f_rm << dec
5471 << " f_rn:0x" << hex << f_rn << dec
5475 /* Record the fields for profiling. */
5476 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5486 sh4_extract_sfmt_movl4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5487 sh4_insn_word insn = entire_insn;
5488 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
5491 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5493 /* Record the fields for the semantic handler. */
5494 FLD (f_imm8x4) = f_imm8x4;
5495 if (UNLIKELY(current_cpu->trace_extract_p))
5497 current_cpu->trace_stream
5498 << "0x" << hex << pc << dec << " (sfmt_movl4_compact)\t"
5499 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5503 /* Record the fields for profiling. */
5504 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5512 sh4_extract_sfmt_movl5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5513 sh4_insn_word insn = entire_insn;
5514 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5519 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5520 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5521 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5523 /* Record the fields for the semantic handler. */
5524 FLD (f_imm4x4) = f_imm4x4;
5527 if (UNLIKELY(current_cpu->trace_extract_p))
5529 current_cpu->trace_stream
5530 << "0x" << hex << pc << dec << " (sfmt_movl5_compact)\t"
5531 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5532 << " f_rm:0x" << hex << f_rm << dec
5533 << " f_rn:0x" << hex << f_rn << dec
5537 /* Record the fields for profiling. */
5538 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5547 sh4_extract_sfmt_movl6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5548 sh4_insn_word insn = entire_insn;
5549 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5553 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5554 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5556 /* Record the fields for the semantic handler. */
5559 if (UNLIKELY(current_cpu->trace_extract_p))
5561 current_cpu->trace_stream
5562 << "0x" << hex << pc << dec << " (sfmt_movl6_compact)\t"
5563 << " f_rm:0x" << hex << f_rm << dec
5564 << " f_rn:0x" << hex << f_rn << dec
5568 /* Record the fields for profiling. */
5569 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5572 FLD (out_rn) = f_rn;
5578 sh4_extract_sfmt_movl7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5579 sh4_insn_word insn = entire_insn;
5580 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5584 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5585 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5587 /* Record the fields for the semantic handler. */
5590 if (UNLIKELY(current_cpu->trace_extract_p))
5592 current_cpu->trace_stream
5593 << "0x" << hex << pc << dec << " (sfmt_movl7_compact)\t"
5594 << " f_rm:0x" << hex << f_rm << dec
5595 << " f_rn:0x" << hex << f_rn << dec
5599 /* Record the fields for profiling. */
5600 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5604 FLD (out_rm) = f_rm;
5605 FLD (out_rn) = f_rn;
5611 sh4_extract_sfmt_movl8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5612 sh4_insn_word insn = entire_insn;
5613 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
5617 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5618 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5620 /* Record the fields for the semantic handler. */
5623 if (UNLIKELY(current_cpu->trace_extract_p))
5625 current_cpu->trace_stream
5626 << "0x" << hex << pc << dec << " (sfmt_movl8_compact)\t"
5627 << " f_rm:0x" << hex << f_rm << dec
5628 << " f_rn:0x" << hex << f_rn << dec
5632 /* Record the fields for profiling. */
5633 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5637 FLD (out_rn) = f_rn;
5643 sh4_extract_sfmt_movl9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5644 sh4_insn_word insn = entire_insn;
5645 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
5648 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5650 /* Record the fields for the semantic handler. */
5651 FLD (f_imm8x4) = f_imm8x4;
5652 if (UNLIKELY(current_cpu->trace_extract_p))
5654 current_cpu->trace_stream
5655 << "0x" << hex << pc << dec << " (sfmt_movl9_compact)\t"
5656 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5660 /* Record the fields for profiling. */
5661 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5669 sh4_extract_sfmt_movl10_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5670 sh4_insn_word insn = entire_insn;
5671 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5675 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5676 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5678 /* Record the fields for the semantic handler. */
5679 FLD (f_imm8x4) = f_imm8x4;
5681 if (UNLIKELY(current_cpu->trace_extract_p))
5683 current_cpu->trace_stream
5684 << "0x" << hex << pc << dec << " (sfmt_movl10_compact)\t"
5685 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5686 << " f_rn:0x" << hex << f_rn << dec
5690 /* Record the fields for profiling. */
5691 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5693 FLD (out_rn) = f_rn;
5699 sh4_extract_sfmt_movl11_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5700 sh4_insn_word insn = entire_insn;
5701 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
5706 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5707 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5708 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5710 /* Record the fields for the semantic handler. */
5711 FLD (f_imm4x4) = f_imm4x4;
5714 if (UNLIKELY(current_cpu->trace_extract_p))
5716 current_cpu->trace_stream
5717 << "0x" << hex << pc << dec << " (sfmt_movl11_compact)\t"
5718 << " f_imm4x4:0x" << hex << f_imm4x4 << dec
5719 << " f_rm:0x" << hex << f_rm << dec
5720 << " f_rn:0x" << hex << f_rn << dec
5724 /* Record the fields for profiling. */
5725 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5728 FLD (out_rn) = f_rn;
5734 sh4_extract_sfmt_movl12_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5735 sh4_insn_word insn = entire_insn;
5736 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5741 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5742 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5743 f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
5745 /* Record the fields for the semantic handler. */
5746 FLD (f_imm12x4) = f_imm12x4;
5749 if (UNLIKELY(current_cpu->trace_extract_p))
5751 current_cpu->trace_stream
5752 << "0x" << hex << pc << dec << " (sfmt_movl12_compact)\t"
5753 << " f_imm12x4:0x" << hex << f_imm12x4 << dec
5754 << " f_rm:0x" << hex << f_rm << dec
5755 << " f_rn:0x" << hex << f_rn << dec
5759 /* Record the fields for profiling. */
5760 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5763 FLD (out_rn) = f_rn;
5769 sh4_extract_sfmt_movl13_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5770 sh4_insn_word insn = entire_insn;
5771 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5776 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5777 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5778 f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
5780 /* Record the fields for the semantic handler. */
5781 FLD (f_imm12x4) = f_imm12x4;
5784 if (UNLIKELY(current_cpu->trace_extract_p))
5786 current_cpu->trace_stream
5787 << "0x" << hex << pc << dec << " (sfmt_movl13_compact)\t"
5788 << " f_imm12x4:0x" << hex << f_imm12x4 << dec
5789 << " f_rm:0x" << hex << f_rm << dec
5790 << " f_rn:0x" << hex << f_rn << dec
5794 /* Record the fields for profiling. */
5795 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5804 sh4_extract_sfmt_movw1_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5805 sh4_insn_word insn = entire_insn;
5806 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5810 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5811 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5813 /* Record the fields for the semantic handler. */
5816 if (UNLIKELY(current_cpu->trace_extract_p))
5818 current_cpu->trace_stream
5819 << "0x" << hex << pc << dec << " (sfmt_movw1_compact)\t"
5820 << " f_rm:0x" << hex << f_rm << dec
5821 << " f_rn:0x" << hex << f_rn << dec
5825 /* Record the fields for profiling. */
5826 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5835 sh4_extract_sfmt_movw2_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5836 sh4_insn_word insn = entire_insn;
5837 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5841 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5842 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5844 /* 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_movw2_compact)\t"
5851 << " f_rm:0x" << hex << f_rm << dec
5852 << " f_rn:0x" << hex << f_rn << dec
5856 /* Record the fields for profiling. */
5857 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5861 FLD (out_rn) = f_rn;
5867 sh4_extract_sfmt_movw3_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5868 sh4_insn_word insn = entire_insn;
5869 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
5873 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5874 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5876 /* Record the fields for the semantic handler. */
5879 if (UNLIKELY(current_cpu->trace_extract_p))
5881 current_cpu->trace_stream
5882 << "0x" << hex << pc << dec << " (sfmt_movw3_compact)\t"
5883 << " f_rm:0x" << hex << f_rm << dec
5884 << " f_rn:0x" << hex << f_rn << dec
5888 /* Record the fields for profiling. */
5889 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5899 sh4_extract_sfmt_movw4_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5900 sh4_insn_word insn = entire_insn;
5901 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
5904 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5906 /* Record the fields for the semantic handler. */
5907 FLD (f_imm8x2) = f_imm8x2;
5908 if (UNLIKELY(current_cpu->trace_extract_p))
5910 current_cpu->trace_stream
5911 << "0x" << hex << pc << dec << " (sfmt_movw4_compact)\t"
5912 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
5916 /* Record the fields for profiling. */
5917 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5925 sh4_extract_sfmt_movw5_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5926 sh4_insn_word insn = entire_insn;
5927 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5931 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5932 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5934 /* Record the fields for the semantic handler. */
5935 FLD (f_imm4x2) = f_imm4x2;
5937 if (UNLIKELY(current_cpu->trace_extract_p))
5939 current_cpu->trace_stream
5940 << "0x" << hex << pc << dec << " (sfmt_movw5_compact)\t"
5941 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
5942 << " f_rm:0x" << hex << f_rm << dec
5946 /* Record the fields for profiling. */
5947 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5956 sh4_extract_sfmt_movw6_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5957 sh4_insn_word insn = entire_insn;
5958 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5962 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5963 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5965 /* Record the fields for the semantic handler. */
5968 if (UNLIKELY(current_cpu->trace_extract_p))
5970 current_cpu->trace_stream
5971 << "0x" << hex << pc << dec << " (sfmt_movw6_compact)\t"
5972 << " f_rm:0x" << hex << f_rm << dec
5973 << " f_rn:0x" << hex << f_rn << dec
5977 /* Record the fields for profiling. */
5978 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5981 FLD (out_rn) = f_rn;
5987 sh4_extract_sfmt_movw7_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
5988 sh4_insn_word insn = entire_insn;
5989 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5993 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5994 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5996 /* Record the fields for the semantic handler. */
5999 if (UNLIKELY(current_cpu->trace_extract_p))
6001 current_cpu->trace_stream
6002 << "0x" << hex << pc << dec << " (sfmt_movw7_compact)\t"
6003 << " f_rm:0x" << hex << f_rm << dec
6004 << " f_rn:0x" << hex << f_rn << dec
6008 /* Record the fields for profiling. */
6009 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6012 FLD (out_rm) = f_rm;
6013 FLD (out_rn) = f_rn;
6019 sh4_extract_sfmt_movw8_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6020 sh4_insn_word insn = entire_insn;
6021 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
6025 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6026 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6028 /* Record the fields for the semantic handler. */
6031 if (UNLIKELY(current_cpu->trace_extract_p))
6033 current_cpu->trace_stream
6034 << "0x" << hex << pc << dec << " (sfmt_movw8_compact)\t"
6035 << " f_rm:0x" << hex << f_rm << dec
6036 << " f_rn:0x" << hex << f_rn << dec
6040 /* Record the fields for profiling. */
6041 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6045 FLD (out_rn) = f_rn;
6051 sh4_extract_sfmt_movw9_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6052 sh4_insn_word insn = entire_insn;
6053 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
6056 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
6058 /* Record the fields for the semantic handler. */
6059 FLD (f_imm8x2) = f_imm8x2;
6060 if (UNLIKELY(current_cpu->trace_extract_p))
6062 current_cpu->trace_stream
6063 << "0x" << hex << pc << dec << " (sfmt_movw9_compact)\t"
6064 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
6068 /* Record the fields for profiling. */
6069 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6077 sh4_extract_sfmt_movw10_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6078 sh4_insn_word insn = entire_insn;
6079 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6083 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6084 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
6086 /* Record the fields for the semantic handler. */
6087 FLD (f_imm8x2) = f_imm8x2;
6089 if (UNLIKELY(current_cpu->trace_extract_p))
6091 current_cpu->trace_stream
6092 << "0x" << hex << pc << dec << " (sfmt_movw10_compact)\t"
6093 << " f_imm8x2:0x" << hex << f_imm8x2 << dec
6094 << " f_rn:0x" << hex << f_rn << dec
6098 /* Record the fields for profiling. */
6099 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6101 FLD (out_rn) = f_rn;
6107 sh4_extract_sfmt_movw11_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6108 sh4_insn_word insn = entire_insn;
6109 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
6113 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6114 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
6116 /* Record the fields for the semantic handler. */
6117 FLD (f_imm4x2) = f_imm4x2;
6119 if (UNLIKELY(current_cpu->trace_extract_p))
6121 current_cpu->trace_stream
6122 << "0x" << hex << pc << dec << " (sfmt_movw11_compact)\t"
6123 << " f_imm4x2:0x" << hex << f_imm4x2 << dec
6124 << " f_rm:0x" << hex << f_rm << dec
6128 /* Record the fields for profiling. */
6129 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6138 sh4_extract_sfmt_mova_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6139 sh4_insn_word insn = entire_insn;
6140 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
6143 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
6145 /* Record the fields for the semantic handler. */
6146 FLD (f_imm8x4) = f_imm8x4;
6147 if (UNLIKELY(current_cpu->trace_extract_p))
6149 current_cpu->trace_stream
6150 << "0x" << hex << pc << dec << " (sfmt_mova_compact)\t"
6151 << " f_imm8x4:0x" << hex << f_imm8x4 << dec
6155 /* Record the fields for profiling. */
6156 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6164 sh4_extract_sfmt_movcal_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6165 sh4_insn_word insn = entire_insn;
6166 #define FLD(f) abuf->fields.sfmt_divu_compact.f
6169 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6171 /* Record the fields for the semantic handler. */
6173 if (UNLIKELY(current_cpu->trace_extract_p))
6175 current_cpu->trace_stream
6176 << "0x" << hex << pc << dec << " (sfmt_movcal_compact)\t"
6177 << " f_rn:0x" << hex << f_rn << dec
6181 /* Record the fields for profiling. */
6182 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6191 sh4_extract_sfmt_movt_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6192 sh4_insn_word insn = entire_insn;
6193 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6196 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6198 /* Record the fields for the semantic handler. */
6200 if (UNLIKELY(current_cpu->trace_extract_p))
6202 current_cpu->trace_stream
6203 << "0x" << hex << pc << dec << " (sfmt_movt_compact)\t"
6204 << " f_rn:0x" << hex << f_rn << dec
6208 /* Record the fields for profiling. */
6209 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6211 FLD (out_rn) = f_rn;
6217 sh4_extract_sfmt_mull_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6218 sh4_insn_word insn = entire_insn;
6219 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
6223 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6224 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6226 /* Record the fields for the semantic handler. */
6229 if (UNLIKELY(current_cpu->trace_extract_p))
6231 current_cpu->trace_stream
6232 << "0x" << hex << pc << dec << " (sfmt_mull_compact)\t"
6233 << " f_rm:0x" << hex << f_rm << dec
6234 << " f_rn:0x" << hex << f_rn << dec
6238 /* Record the fields for profiling. */
6239 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6248 sh4_extract_sfmt_negc_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6249 sh4_insn_word insn = entire_insn;
6250 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6254 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6255 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6257 /* Record the fields for the semantic handler. */
6260 if (UNLIKELY(current_cpu->trace_extract_p))
6262 current_cpu->trace_stream
6263 << "0x" << hex << pc << dec << " (sfmt_negc_compact)\t"
6264 << " f_rm:0x" << hex << f_rm << dec
6265 << " f_rn:0x" << hex << f_rn << dec
6269 /* Record the fields for profiling. */
6270 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6273 FLD (out_rn) = f_rn;
6279 sh4_extract_sfmt_nop_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6280 sh4_insn_word insn = entire_insn;
6281 #define FLD(f) abuf->fields.fmt_empty.f
6284 /* Record the fields for the semantic handler. */
6285 if (UNLIKELY(current_cpu->trace_extract_p))
6287 current_cpu->trace_stream
6288 << "0x" << hex << pc << dec << " (sfmt_nop_compact)\t"
6296 sh4_extract_sfmt_ocbi_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6297 sh4_insn_word insn = entire_insn;
6298 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6301 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6303 /* Record the fields for the semantic handler. */
6305 if (UNLIKELY(current_cpu->trace_extract_p))
6307 current_cpu->trace_stream
6308 << "0x" << hex << pc << dec << " (sfmt_ocbi_compact)\t"
6309 << " f_rn:0x" << hex << f_rn << dec
6313 /* Record the fields for profiling. */
6314 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6317 FLD (out_rn) = f_rn;
6323 sh4_extract_sfmt_pref_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6324 sh4_insn_word insn = entire_insn;
6325 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6328 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6330 /* Record the fields for the semantic handler. */
6332 if (UNLIKELY(current_cpu->trace_extract_p))
6334 current_cpu->trace_stream
6335 << "0x" << hex << pc << dec << " (sfmt_pref_compact)\t"
6336 << " f_rn:0x" << hex << f_rn << dec
6340 /* Record the fields for profiling. */
6341 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6349 sh4_extract_sfmt_rotcl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6350 sh4_insn_word insn = entire_insn;
6351 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6354 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6356 /* Record the fields for the semantic handler. */
6358 if (UNLIKELY(current_cpu->trace_extract_p))
6360 current_cpu->trace_stream
6361 << "0x" << hex << pc << dec << " (sfmt_rotcl_compact)\t"
6362 << " f_rn:0x" << hex << f_rn << dec
6366 /* Record the fields for profiling. */
6367 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6370 FLD (out_rn) = f_rn;
6376 sh4_extract_sfmt_rts_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6377 sh4_insn_word insn = entire_insn;
6378 #define FLD(f) abuf->fields.fmt_empty.f
6381 /* Record the fields for the semantic handler. */
6382 if (UNLIKELY(current_cpu->trace_extract_p))
6384 current_cpu->trace_stream
6385 << "0x" << hex << pc << dec << " (sfmt_rts_compact)\t"
6389 /* Record the fields for profiling. */
6390 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6397 sh4_extract_sfmt_shad_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6398 sh4_insn_word insn = entire_insn;
6399 #define FLD(f) abuf->fields.sfmt_macl_compact.f
6403 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6404 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6406 /* Record the fields for the semantic handler. */
6409 if (UNLIKELY(current_cpu->trace_extract_p))
6411 current_cpu->trace_stream
6412 << "0x" << hex << pc << dec << " (sfmt_shad_compact)\t"
6413 << " f_rm:0x" << hex << f_rm << dec
6414 << " f_rn:0x" << hex << f_rn << dec
6418 /* Record the fields for profiling. */
6419 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6423 FLD (out_rn) = f_rn;
6429 sh4_extract_sfmt_stc_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6430 sh4_insn_word insn = entire_insn;
6431 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6434 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6436 /* Record the fields for the semantic handler. */
6438 if (UNLIKELY(current_cpu->trace_extract_p))
6440 current_cpu->trace_stream
6441 << "0x" << hex << pc << dec << " (sfmt_stc_gbr_compact)\t"
6442 << " f_rn:0x" << hex << f_rn << dec
6446 /* Record the fields for profiling. */
6447 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6449 FLD (out_rn) = f_rn;
6455 sh4_extract_sfmt_stc_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6456 sh4_insn_word insn = entire_insn;
6457 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6460 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6462 /* Record the fields for the semantic handler. */
6464 if (UNLIKELY(current_cpu->trace_extract_p))
6466 current_cpu->trace_stream
6467 << "0x" << hex << pc << dec << " (sfmt_stc_vbr_compact)\t"
6468 << " f_rn:0x" << hex << f_rn << dec
6472 /* Record the fields for profiling. */
6473 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6475 FLD (out_rn) = f_rn;
6481 sh4_extract_sfmt_stcl_gbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6482 sh4_insn_word insn = entire_insn;
6483 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6486 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6488 /* Record the fields for the semantic handler. */
6490 if (UNLIKELY(current_cpu->trace_extract_p))
6492 current_cpu->trace_stream
6493 << "0x" << hex << pc << dec << " (sfmt_stcl_gbr_compact)\t"
6494 << " f_rn:0x" << hex << f_rn << dec
6498 /* Record the fields for profiling. */
6499 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6502 FLD (out_rn) = f_rn;
6508 sh4_extract_sfmt_stcl_vbr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6509 sh4_insn_word insn = entire_insn;
6510 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6513 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6515 /* Record the fields for the semantic handler. */
6517 if (UNLIKELY(current_cpu->trace_extract_p))
6519 current_cpu->trace_stream
6520 << "0x" << hex << pc << dec << " (sfmt_stcl_vbr_compact)\t"
6521 << " f_rn:0x" << hex << f_rn << dec
6525 /* Record the fields for profiling. */
6526 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6529 FLD (out_rn) = f_rn;
6535 sh4_extract_sfmt_sts_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6536 sh4_insn_word insn = entire_insn;
6537 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6540 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6542 /* Record the fields for the semantic handler. */
6544 if (UNLIKELY(current_cpu->trace_extract_p))
6546 current_cpu->trace_stream
6547 << "0x" << hex << pc << dec << " (sfmt_sts_fpscr_compact)\t"
6548 << " f_rn:0x" << hex << f_rn << dec
6552 /* Record the fields for profiling. */
6553 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6555 FLD (out_rn) = f_rn;
6561 sh4_extract_sfmt_stsl_fpscr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6562 sh4_insn_word insn = entire_insn;
6563 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6566 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6568 /* Record the fields for the semantic handler. */
6570 if (UNLIKELY(current_cpu->trace_extract_p))
6572 current_cpu->trace_stream
6573 << "0x" << hex << pc << dec << " (sfmt_stsl_fpscr_compact)\t"
6574 << " f_rn:0x" << hex << f_rn << dec
6578 /* Record the fields for profiling. */
6579 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6582 FLD (out_rn) = f_rn;
6588 sh4_extract_sfmt_sts_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6589 sh4_insn_word insn = entire_insn;
6590 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6593 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6595 /* Record the fields for the semantic handler. */
6597 if (UNLIKELY(current_cpu->trace_extract_p))
6599 current_cpu->trace_stream
6600 << "0x" << hex << pc << dec << " (sfmt_sts_fpul_compact)\t"
6601 << " f_rn:0x" << hex << f_rn << dec
6605 /* Record the fields for profiling. */
6606 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6609 FLD (out_rn) = f_rn;
6615 sh4_extract_sfmt_stsl_fpul_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6616 sh4_insn_word insn = entire_insn;
6617 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6620 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6622 /* Record the fields for the semantic handler. */
6624 if (UNLIKELY(current_cpu->trace_extract_p))
6626 current_cpu->trace_stream
6627 << "0x" << hex << pc << dec << " (sfmt_stsl_fpul_compact)\t"
6628 << " f_rn:0x" << hex << f_rn << dec
6632 /* Record the fields for profiling. */
6633 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6637 FLD (out_rn) = f_rn;
6643 sh4_extract_sfmt_sts_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6644 sh4_insn_word insn = entire_insn;
6645 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6648 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6650 /* Record the fields for the semantic handler. */
6652 if (UNLIKELY(current_cpu->trace_extract_p))
6654 current_cpu->trace_stream
6655 << "0x" << hex << pc << dec << " (sfmt_sts_mach_compact)\t"
6656 << " f_rn:0x" << hex << f_rn << dec
6660 /* Record the fields for profiling. */
6661 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6663 FLD (out_rn) = f_rn;
6669 sh4_extract_sfmt_stsl_mach_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6670 sh4_insn_word insn = entire_insn;
6671 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6674 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6676 /* Record the fields for the semantic handler. */
6678 if (UNLIKELY(current_cpu->trace_extract_p))
6680 current_cpu->trace_stream
6681 << "0x" << hex << pc << dec << " (sfmt_stsl_mach_compact)\t"
6682 << " f_rn:0x" << hex << f_rn << dec
6686 /* Record the fields for profiling. */
6687 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6690 FLD (out_rn) = f_rn;
6696 sh4_extract_sfmt_sts_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6697 sh4_insn_word insn = entire_insn;
6698 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6701 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6703 /* Record the fields for the semantic handler. */
6705 if (UNLIKELY(current_cpu->trace_extract_p))
6707 current_cpu->trace_stream
6708 << "0x" << hex << pc << dec << " (sfmt_sts_macl_compact)\t"
6709 << " f_rn:0x" << hex << f_rn << dec
6713 /* Record the fields for profiling. */
6714 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6716 FLD (out_rn) = f_rn;
6722 sh4_extract_sfmt_stsl_macl_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6723 sh4_insn_word insn = entire_insn;
6724 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6727 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6729 /* Record the fields for the semantic handler. */
6731 if (UNLIKELY(current_cpu->trace_extract_p))
6733 current_cpu->trace_stream
6734 << "0x" << hex << pc << dec << " (sfmt_stsl_macl_compact)\t"
6735 << " f_rn:0x" << hex << f_rn << dec
6739 /* Record the fields for profiling. */
6740 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6743 FLD (out_rn) = f_rn;
6749 sh4_extract_sfmt_sts_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6750 sh4_insn_word insn = entire_insn;
6751 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6754 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6756 /* Record the fields for the semantic handler. */
6758 if (UNLIKELY(current_cpu->trace_extract_p))
6760 current_cpu->trace_stream
6761 << "0x" << hex << pc << dec << " (sfmt_sts_pr_compact)\t"
6762 << " f_rn:0x" << hex << f_rn << dec
6766 /* Record the fields for profiling. */
6767 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6769 FLD (out_rn) = f_rn;
6775 sh4_extract_sfmt_stsl_pr_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6776 sh4_insn_word insn = entire_insn;
6777 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6780 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6782 /* Record the fields for the semantic handler. */
6784 if (UNLIKELY(current_cpu->trace_extract_p))
6786 current_cpu->trace_stream
6787 << "0x" << hex << pc << dec << " (sfmt_stsl_pr_compact)\t"
6788 << " f_rn:0x" << hex << f_rn << dec
6792 /* Record the fields for profiling. */
6793 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6796 FLD (out_rn) = f_rn;
6802 sh4_extract_sfmt_tasb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6803 sh4_insn_word insn = entire_insn;
6804 #define FLD(f) abuf->fields.sfmt_stsl_fpul_compact.f
6807 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6809 /* Record the fields for the semantic handler. */
6811 if (UNLIKELY(current_cpu->trace_extract_p))
6813 current_cpu->trace_stream
6814 << "0x" << hex << pc << dec << " (sfmt_tasb_compact)\t"
6815 << " f_rn:0x" << hex << f_rn << dec
6819 /* Record the fields for profiling. */
6820 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6828 sh4_extract_sfmt_trapa_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6829 sh4_insn_word insn = entire_insn;
6830 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6833 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6835 /* Record the fields for the semantic handler. */
6836 FLD (f_imm8) = f_imm8;
6837 if (UNLIKELY(current_cpu->trace_extract_p))
6839 current_cpu->trace_stream
6840 << "0x" << hex << pc << dec << " (sfmt_trapa_compact)\t"
6841 << " f_imm8:0x" << hex << f_imm8 << dec
6845 /* Record the fields for profiling. */
6846 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6853 sh4_extract_sfmt_tsti_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6854 sh4_insn_word insn = entire_insn;
6855 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6858 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6860 /* Record the fields for the semantic handler. */
6861 FLD (f_imm8) = f_imm8;
6862 if (UNLIKELY(current_cpu->trace_extract_p))
6864 current_cpu->trace_stream
6865 << "0x" << hex << pc << dec << " (sfmt_tsti_compact)\t"
6866 << " f_imm8:0x" << hex << f_imm8 << dec
6870 /* Record the fields for profiling. */
6871 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6879 sh4_extract_sfmt_tstb_compact (sh4_scache* abuf, sh4_cpu* current_cpu, PCADDR pc, sh4_insn_word base_insn, sh4_insn_word entire_insn){
6880 sh4_insn_word insn = entire_insn;
6881 #define FLD(f) abuf->fields.sfmt_andi_compact.f
6884 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6886 /* Record the fields for the semantic handler. */
6887 FLD (f_imm8) = f_imm8;
6888 if (UNLIKELY(current_cpu->trace_extract_p))
6890 current_cpu->trace_stream
6891 << "0x" << hex << pc << dec << " (sfmt_tstb_compact)\t"
6892 << " f_imm8:0x" << hex << f_imm8 << dec
6896 /* Record the fields for profiling. */
6897 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))