OSDN Git Service

6f1fc44b1eaf1d84dad0de703b106001086cb9ab
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / sh / sh4-nofpu-decode.cxx
1 /* Simulator instruction decoder for sh4_nofpu.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 2000-2009 Red Hat, Inc.
6
7 This file is part of the Red Hat simulators.
8
9
10 */
11
12
13 #if HAVE_CONFIG_H
14 #include "config.h"
15 #endif
16 #include "sh4_nofpu.h"
17
18 using namespace sh4_nofpu; // FIXME: namespace organization still wip
19
20
21 // The instruction descriptor array. 
22
23 sh4_nofpu_idesc sh4_nofpu_idesc::idesc_table[SH4_NOFPU_INSN_XTRCT_COMPACT + 1] =
24 {
25   { sh4_nofpu_sem_x_invalid, "X_INVALID", SH4_NOFPU_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_NONE, SH4A_GROUP_NONE } },
26   { sh4_nofpu_sem_add_compact, "ADD_COMPACT", SH4_NOFPU_INSN_ADD_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
27   { sh4_nofpu_sem_addi_compact, "ADDI_COMPACT", SH4_NOFPU_INSN_ADDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_NONE } },
28   { sh4_nofpu_sem_addc_compact, "ADDC_COMPACT", SH4_NOFPU_INSN_ADDC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
29   { sh4_nofpu_sem_addv_compact, "ADDV_COMPACT", SH4_NOFPU_INSN_ADDV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
30   { sh4_nofpu_sem_and_compact, "AND_COMPACT", SH4_NOFPU_INSN_AND_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
31   { sh4_nofpu_sem_andi_compact, "ANDI_COMPACT", SH4_NOFPU_INSN_ANDI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
32   { sh4_nofpu_sem_andb_compact, "ANDB_COMPACT", SH4_NOFPU_INSN_ANDB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
33   { sh4_nofpu_sem_bf_compact, "BF_COMPACT", SH4_NOFPU_INSN_BF_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
34   { sh4_nofpu_sem_bfs_compact, "BFS_COMPACT", SH4_NOFPU_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_nofpu_sem_bra_compact, "BRA_COMPACT", SH4_NOFPU_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_nofpu_sem_braf_compact, "BRAF_COMPACT", SH4_NOFPU_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_nofpu_sem_bsr_compact, "BSR_COMPACT", SH4_NOFPU_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_nofpu_sem_bsrf_compact, "BSRF_COMPACT", SH4_NOFPU_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_nofpu_sem_bt_compact, "BT_COMPACT", SH4_NOFPU_INSN_BT_COMPACT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_BR, SH4A_GROUP_BR } },
40   { sh4_nofpu_sem_bts_compact, "BTS_COMPACT", SH4_NOFPU_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_nofpu_sem_clrmac_compact, "CLRMAC_COMPACT", SH4_NOFPU_INSN_CLRMAC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
42   { sh4_nofpu_sem_clrs_compact, "CLRS_COMPACT", SH4_NOFPU_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_nofpu_sem_clrt_compact, "CLRT_COMPACT", SH4_NOFPU_INSN_CLRT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
44   { sh4_nofpu_sem_cmpeq_compact, "CMPEQ_COMPACT", SH4_NOFPU_INSN_CMPEQ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
45   { sh4_nofpu_sem_cmpeqi_compact, "CMPEQI_COMPACT", SH4_NOFPU_INSN_CMPEQI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
46   { sh4_nofpu_sem_cmpge_compact, "CMPGE_COMPACT", SH4_NOFPU_INSN_CMPGE_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
47   { sh4_nofpu_sem_cmpgt_compact, "CMPGT_COMPACT", SH4_NOFPU_INSN_CMPGT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
48   { sh4_nofpu_sem_cmphi_compact, "CMPHI_COMPACT", SH4_NOFPU_INSN_CMPHI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
49   { sh4_nofpu_sem_cmphs_compact, "CMPHS_COMPACT", SH4_NOFPU_INSN_CMPHS_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
50   { sh4_nofpu_sem_cmppl_compact, "CMPPL_COMPACT", SH4_NOFPU_INSN_CMPPL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
51   { sh4_nofpu_sem_cmppz_compact, "CMPPZ_COMPACT", SH4_NOFPU_INSN_CMPPZ_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
52   { sh4_nofpu_sem_cmpstr_compact, "CMPSTR_COMPACT", SH4_NOFPU_INSN_CMPSTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
53   { sh4_nofpu_sem_div0s_compact, "DIV0S_COMPACT", SH4_NOFPU_INSN_DIV0S_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
54   { sh4_nofpu_sem_div0u_compact, "DIV0U_COMPACT", SH4_NOFPU_INSN_DIV0U_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
55   { sh4_nofpu_sem_div1_compact, "DIV1_COMPACT", SH4_NOFPU_INSN_DIV1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
56   { sh4_nofpu_sem_divu_compact, "DIVU_COMPACT", SH4_NOFPU_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_nofpu_sem_mulr_compact, "MULR_COMPACT", SH4_NOFPU_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_nofpu_sem_dmulsl_compact, "DMULSL_COMPACT", SH4_NOFPU_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_nofpu_sem_dmulul_compact, "DMULUL_COMPACT", SH4_NOFPU_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_nofpu_sem_dt_compact, "DT_COMPACT", SH4_NOFPU_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_nofpu_sem_extsb_compact, "EXTSB_COMPACT", SH4_NOFPU_INSN_EXTSB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
62   { sh4_nofpu_sem_extsw_compact, "EXTSW_COMPACT", SH4_NOFPU_INSN_EXTSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
63   { sh4_nofpu_sem_extub_compact, "EXTUB_COMPACT", SH4_NOFPU_INSN_EXTUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
64   { sh4_nofpu_sem_extuw_compact, "EXTUW_COMPACT", SH4_NOFPU_INSN_EXTUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
65   { sh4_nofpu_sem_frchg_compact, "FRCHG_COMPACT", SH4_NOFPU_INSN_FRCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
66   { sh4_nofpu_sem_fschg_compact, "FSCHG_COMPACT", SH4_NOFPU_INSN_FSCHG_COMPACT, { 0|(1<<CGEN_INSN_FP_INSN), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_FE, SH4A_GROUP_FE } },
67   { sh4_nofpu_sem_jmp_compact, "JMP_COMPACT", SH4_NOFPU_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 } },
68   { sh4_nofpu_sem_jsr_compact, "JSR_COMPACT", SH4_NOFPU_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 } },
69   { sh4_nofpu_sem_ldc_gbr_compact, "LDC_GBR_COMPACT", SH4_NOFPU_INSN_LDC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
70   { sh4_nofpu_sem_ldc_vbr_compact, "LDC_VBR_COMPACT", SH4_NOFPU_INSN_LDC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
71   { sh4_nofpu_sem_ldc_sr_compact, "LDC_SR_COMPACT", SH4_NOFPU_INSN_LDC_SR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
72   { sh4_nofpu_sem_ldcl_gbr_compact, "LDCL_GBR_COMPACT", SH4_NOFPU_INSN_LDCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
73   { sh4_nofpu_sem_ldcl_vbr_compact, "LDCL_VBR_COMPACT", SH4_NOFPU_INSN_LDCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
74   { sh4_nofpu_sem_lds_mach_compact, "LDS_MACH_COMPACT", SH4_NOFPU_INSN_LDS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
75   { sh4_nofpu_sem_ldsl_mach_compact, "LDSL_MACH_COMPACT", SH4_NOFPU_INSN_LDSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
76   { sh4_nofpu_sem_lds_macl_compact, "LDS_MACL_COMPACT", SH4_NOFPU_INSN_LDS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
77   { sh4_nofpu_sem_ldsl_macl_compact, "LDSL_MACL_COMPACT", SH4_NOFPU_INSN_LDSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
78   { sh4_nofpu_sem_lds_pr_compact, "LDS_PR_COMPACT", SH4_NOFPU_INSN_LDS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
79   { sh4_nofpu_sem_ldsl_pr_compact, "LDSL_PR_COMPACT", SH4_NOFPU_INSN_LDSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
80   { sh4_nofpu_sem_macl_compact, "MACL_COMPACT", SH4_NOFPU_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 } },
81   { sh4_nofpu_sem_macw_compact, "MACW_COMPACT", SH4_NOFPU_INSN_MACW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
82   { sh4_nofpu_sem_mov_compact, "MOV_COMPACT", SH4_NOFPU_INSN_MOV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
83   { sh4_nofpu_sem_movi_compact, "MOVI_COMPACT", SH4_NOFPU_INSN_MOVI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_MT } },
84   { sh4_nofpu_sem_movi20_compact, "MOVI20_COMPACT", SH4_NOFPU_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 } },
85   { sh4_nofpu_sem_movb1_compact, "MOVB1_COMPACT", SH4_NOFPU_INSN_MOVB1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
86   { sh4_nofpu_sem_movb2_compact, "MOVB2_COMPACT", SH4_NOFPU_INSN_MOVB2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
87   { sh4_nofpu_sem_movb3_compact, "MOVB3_COMPACT", SH4_NOFPU_INSN_MOVB3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
88   { sh4_nofpu_sem_movb4_compact, "MOVB4_COMPACT", SH4_NOFPU_INSN_MOVB4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
89   { sh4_nofpu_sem_movb5_compact, "MOVB5_COMPACT", SH4_NOFPU_INSN_MOVB5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
90   { sh4_nofpu_sem_movb6_compact, "MOVB6_COMPACT", SH4_NOFPU_INSN_MOVB6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
91   { sh4_nofpu_sem_movb7_compact, "MOVB7_COMPACT", SH4_NOFPU_INSN_MOVB7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
92   { sh4_nofpu_sem_movb8_compact, "MOVB8_COMPACT", SH4_NOFPU_INSN_MOVB8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
93   { sh4_nofpu_sem_movb9_compact, "MOVB9_COMPACT", SH4_NOFPU_INSN_MOVB9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
94   { sh4_nofpu_sem_movb10_compact, "MOVB10_COMPACT", SH4_NOFPU_INSN_MOVB10_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
95   { sh4_nofpu_sem_movl1_compact, "MOVL1_COMPACT", SH4_NOFPU_INSN_MOVL1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
96   { sh4_nofpu_sem_movl2_compact, "MOVL2_COMPACT", SH4_NOFPU_INSN_MOVL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
97   { sh4_nofpu_sem_movl3_compact, "MOVL3_COMPACT", SH4_NOFPU_INSN_MOVL3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
98   { sh4_nofpu_sem_movl4_compact, "MOVL4_COMPACT", SH4_NOFPU_INSN_MOVL4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
99   { sh4_nofpu_sem_movl5_compact, "MOVL5_COMPACT", SH4_NOFPU_INSN_MOVL5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
100   { sh4_nofpu_sem_movl6_compact, "MOVL6_COMPACT", SH4_NOFPU_INSN_MOVL6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
101   { sh4_nofpu_sem_movl7_compact, "MOVL7_COMPACT", SH4_NOFPU_INSN_MOVL7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
102   { sh4_nofpu_sem_movl8_compact, "MOVL8_COMPACT", SH4_NOFPU_INSN_MOVL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
103   { sh4_nofpu_sem_movl9_compact, "MOVL9_COMPACT", SH4_NOFPU_INSN_MOVL9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
104   { sh4_nofpu_sem_movl10_compact, "MOVL10_COMPACT", SH4_NOFPU_INSN_MOVL10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
105   { sh4_nofpu_sem_movl11_compact, "MOVL11_COMPACT", SH4_NOFPU_INSN_MOVL11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
106   { sh4_nofpu_sem_movl12_compact, "MOVL12_COMPACT", SH4_NOFPU_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 } },
107   { sh4_nofpu_sem_movl13_compact, "MOVL13_COMPACT", SH4_NOFPU_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 } },
108   { sh4_nofpu_sem_movw1_compact, "MOVW1_COMPACT", SH4_NOFPU_INSN_MOVW1_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
109   { sh4_nofpu_sem_movw2_compact, "MOVW2_COMPACT", SH4_NOFPU_INSN_MOVW2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
110   { sh4_nofpu_sem_movw3_compact, "MOVW3_COMPACT", SH4_NOFPU_INSN_MOVW3_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
111   { sh4_nofpu_sem_movw4_compact, "MOVW4_COMPACT", SH4_NOFPU_INSN_MOVW4_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
112   { sh4_nofpu_sem_movw5_compact, "MOVW5_COMPACT", SH4_NOFPU_INSN_MOVW5_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
113   { sh4_nofpu_sem_movw6_compact, "MOVW6_COMPACT", SH4_NOFPU_INSN_MOVW6_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
114   { sh4_nofpu_sem_movw7_compact, "MOVW7_COMPACT", SH4_NOFPU_INSN_MOVW7_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
115   { sh4_nofpu_sem_movw8_compact, "MOVW8_COMPACT", SH4_NOFPU_INSN_MOVW8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
116   { sh4_nofpu_sem_movw9_compact, "MOVW9_COMPACT", SH4_NOFPU_INSN_MOVW9_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
117   { sh4_nofpu_sem_movw10_compact, "MOVW10_COMPACT", SH4_NOFPU_INSN_MOVW10_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
118   { sh4_nofpu_sem_movw11_compact, "MOVW11_COMPACT", SH4_NOFPU_INSN_MOVW11_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_LS, SH4A_GROUP_LS } },
119   { sh4_nofpu_sem_mova_compact, "MOVA_COMPACT", SH4_NOFPU_INSN_MOVA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_LS } },
120   { sh4_nofpu_sem_movcal_compact, "MOVCAL_COMPACT", SH4_NOFPU_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 } },
121   { sh4_nofpu_sem_movt_compact, "MOVT_COMPACT", SH4_NOFPU_INSN_MOVT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
122   { sh4_nofpu_sem_mull_compact, "MULL_COMPACT", SH4_NOFPU_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 } },
123   { sh4_nofpu_sem_mulsw_compact, "MULSW_COMPACT", SH4_NOFPU_INSN_MULSW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
124   { sh4_nofpu_sem_muluw_compact, "MULUW_COMPACT", SH4_NOFPU_INSN_MULUW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_EX } },
125   { sh4_nofpu_sem_neg_compact, "NEG_COMPACT", SH4_NOFPU_INSN_NEG_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
126   { sh4_nofpu_sem_negc_compact, "NEGC_COMPACT", SH4_NOFPU_INSN_NEGC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
127   { sh4_nofpu_sem_nop_compact, "NOP_COMPACT", SH4_NOFPU_INSN_NOP_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_MT } },
128   { sh4_nofpu_sem_not_compact, "NOT_COMPACT", SH4_NOFPU_INSN_NOT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
129   { sh4_nofpu_sem_ocbi_compact, "OCBI_COMPACT", SH4_NOFPU_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 } },
130   { sh4_nofpu_sem_ocbp_compact, "OCBP_COMPACT", SH4_NOFPU_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 } },
131   { sh4_nofpu_sem_ocbwb_compact, "OCBWB_COMPACT", SH4_NOFPU_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 } },
132   { sh4_nofpu_sem_or_compact, "OR_COMPACT", SH4_NOFPU_INSN_OR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
133   { sh4_nofpu_sem_ori_compact, "ORI_COMPACT", SH4_NOFPU_INSN_ORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
134   { sh4_nofpu_sem_orb_compact, "ORB_COMPACT", SH4_NOFPU_INSN_ORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
135   { sh4_nofpu_sem_pref_compact, "PREF_COMPACT", SH4_NOFPU_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 } },
136   { sh4_nofpu_sem_rotcl_compact, "ROTCL_COMPACT", SH4_NOFPU_INSN_ROTCL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
137   { sh4_nofpu_sem_rotcr_compact, "ROTCR_COMPACT", SH4_NOFPU_INSN_ROTCR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
138   { sh4_nofpu_sem_rotl_compact, "ROTL_COMPACT", SH4_NOFPU_INSN_ROTL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
139   { sh4_nofpu_sem_rotr_compact, "ROTR_COMPACT", SH4_NOFPU_INSN_ROTR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
140   { sh4_nofpu_sem_rts_compact, "RTS_COMPACT", SH4_NOFPU_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 } },
141   { sh4_nofpu_sem_sets_compact, "SETS_COMPACT", SH4_NOFPU_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 } },
142   { sh4_nofpu_sem_sett_compact, "SETT_COMPACT", SH4_NOFPU_INSN_SETT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
143   { sh4_nofpu_sem_shad_compact, "SHAD_COMPACT", SH4_NOFPU_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 } },
144   { sh4_nofpu_sem_shal_compact, "SHAL_COMPACT", SH4_NOFPU_INSN_SHAL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
145   { sh4_nofpu_sem_shar_compact, "SHAR_COMPACT", SH4_NOFPU_INSN_SHAR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
146   { sh4_nofpu_sem_shld_compact, "SHLD_COMPACT", SH4_NOFPU_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 } },
147   { sh4_nofpu_sem_shll_compact, "SHLL_COMPACT", SH4_NOFPU_INSN_SHLL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
148   { sh4_nofpu_sem_shll2_compact, "SHLL2_COMPACT", SH4_NOFPU_INSN_SHLL2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
149   { sh4_nofpu_sem_shll8_compact, "SHLL8_COMPACT", SH4_NOFPU_INSN_SHLL8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
150   { sh4_nofpu_sem_shll16_compact, "SHLL16_COMPACT", SH4_NOFPU_INSN_SHLL16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
151   { sh4_nofpu_sem_shlr_compact, "SHLR_COMPACT", SH4_NOFPU_INSN_SHLR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
152   { sh4_nofpu_sem_shlr2_compact, "SHLR2_COMPACT", SH4_NOFPU_INSN_SHLR2_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
153   { sh4_nofpu_sem_shlr8_compact, "SHLR8_COMPACT", SH4_NOFPU_INSN_SHLR8_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
154   { sh4_nofpu_sem_shlr16_compact, "SHLR16_COMPACT", SH4_NOFPU_INSN_SHLR16_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
155   { sh4_nofpu_sem_stc_gbr_compact, "STC_GBR_COMPACT", SH4_NOFPU_INSN_STC_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
156   { sh4_nofpu_sem_stc_vbr_compact, "STC_VBR_COMPACT", SH4_NOFPU_INSN_STC_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
157   { sh4_nofpu_sem_stcl_gbr_compact, "STCL_GBR_COMPACT", SH4_NOFPU_INSN_STCL_GBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
158   { sh4_nofpu_sem_stcl_vbr_compact, "STCL_VBR_COMPACT", SH4_NOFPU_INSN_STCL_VBR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_NONE } },
159   { sh4_nofpu_sem_sts_mach_compact, "STS_MACH_COMPACT", SH4_NOFPU_INSN_STS_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
160   { sh4_nofpu_sem_stsl_mach_compact, "STSL_MACH_COMPACT", SH4_NOFPU_INSN_STSL_MACH_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
161   { sh4_nofpu_sem_sts_macl_compact, "STS_MACL_COMPACT", SH4_NOFPU_INSN_STS_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
162   { sh4_nofpu_sem_stsl_macl_compact, "STSL_MACL_COMPACT", SH4_NOFPU_INSN_STSL_MACL_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
163   { sh4_nofpu_sem_sts_pr_compact, "STS_PR_COMPACT", SH4_NOFPU_INSN_STS_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
164   { sh4_nofpu_sem_stsl_pr_compact, "STSL_PR_COMPACT", SH4_NOFPU_INSN_STSL_PR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_LS } },
165   { sh4_nofpu_sem_sub_compact, "SUB_COMPACT", SH4_NOFPU_INSN_SUB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
166   { sh4_nofpu_sem_subc_compact, "SUBC_COMPACT", SH4_NOFPU_INSN_SUBC_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
167   { sh4_nofpu_sem_subv_compact, "SUBV_COMPACT", SH4_NOFPU_INSN_SUBV_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
168   { sh4_nofpu_sem_swapb_compact, "SWAPB_COMPACT", SH4_NOFPU_INSN_SWAPB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
169   { sh4_nofpu_sem_swapw_compact, "SWAPW_COMPACT", SH4_NOFPU_INSN_SWAPW_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
170   { sh4_nofpu_sem_tasb_compact, "TASB_COMPACT", SH4_NOFPU_INSN_TASB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
171   { sh4_nofpu_sem_trapa_compact, "TRAPA_COMPACT", SH4_NOFPU_INSN_TRAPA_COMPACT, { 0|(1<<CGEN_INSN_ILLSLOT), (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
172   { sh4_nofpu_sem_tst_compact, "TST_COMPACT", SH4_NOFPU_INSN_TST_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
173   { sh4_nofpu_sem_tsti_compact, "TSTI_COMPACT", SH4_NOFPU_INSN_TSTI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_MT, SH4A_GROUP_EX } },
174   { sh4_nofpu_sem_tstb_compact, "TSTB_COMPACT", SH4_NOFPU_INSN_TSTB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
175   { sh4_nofpu_sem_xor_compact, "XOR_COMPACT", SH4_NOFPU_INSN_XOR_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
176   { sh4_nofpu_sem_xori_compact, "XORI_COMPACT", SH4_NOFPU_INSN_XORI_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
177   { sh4_nofpu_sem_xorb_compact, "XORB_COMPACT", SH4_NOFPU_INSN_XORB_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_CO, SH4A_GROUP_CO } },
178   { sh4_nofpu_sem_xtrct_compact, "XTRCT_COMPACT", SH4_NOFPU_INSN_XTRCT_COMPACT, { 0, (1<<MACH_BASE), { 1, "\x80" }, SH4_GROUP_EX, SH4A_GROUP_EX } },
179
180 };
181
182 // Given a canonical virtual insn id, return the target specific one.
183
184 sh4_nofpu_insn_type
185 sh4_nofpu_idesc::lookup_virtual (virtual_insn_type vit)
186 {
187   switch (vit)
188     {
189       case VIRTUAL_INSN_INVALID: return SH4_NOFPU_INSN_X_INVALID;
190       case VIRTUAL_INSN_COND: return SH4_NOFPU_INSN_X_INVALID;
191     }
192   abort ();
193 }
194
195
196 // Declare extractor functions
197
198 static void
199 sh4_nofpu_extract_sfmt_empty (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
200 static void
201 sh4_nofpu_extract_sfmt_add_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
202 static void
203 sh4_nofpu_extract_sfmt_addi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
204 static void
205 sh4_nofpu_extract_sfmt_addc_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
206 static void
207 sh4_nofpu_extract_sfmt_addv_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
208 static void
209 sh4_nofpu_extract_sfmt_and_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
210 static void
211 sh4_nofpu_extract_sfmt_andi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
212 static void
213 sh4_nofpu_extract_sfmt_andb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
214 static void
215 sh4_nofpu_extract_sfmt_bf_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
216 static void
217 sh4_nofpu_extract_sfmt_bfs_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
218 static void
219 sh4_nofpu_extract_sfmt_bra_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
220 static void
221 sh4_nofpu_extract_sfmt_braf_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
222 static void
223 sh4_nofpu_extract_sfmt_bsr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
224 static void
225 sh4_nofpu_extract_sfmt_bsrf_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
226 static void
227 sh4_nofpu_extract_sfmt_clrmac_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
228 static void
229 sh4_nofpu_extract_sfmt_clrs_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
230 static void
231 sh4_nofpu_extract_sfmt_clrt_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
232 static void
233 sh4_nofpu_extract_sfmt_cmpeq_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
234 static void
235 sh4_nofpu_extract_sfmt_cmpeqi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
236 static void
237 sh4_nofpu_extract_sfmt_cmppl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
238 static void
239 sh4_nofpu_extract_sfmt_div0s_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
240 static void
241 sh4_nofpu_extract_sfmt_div0u_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
242 static void
243 sh4_nofpu_extract_sfmt_div1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
244 static void
245 sh4_nofpu_extract_sfmt_divu_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
246 static void
247 sh4_nofpu_extract_sfmt_dmulsl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
248 static void
249 sh4_nofpu_extract_sfmt_dt_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
250 static void
251 sh4_nofpu_extract_sfmt_extsb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
252 static void
253 sh4_nofpu_extract_sfmt_frchg_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
254 static void
255 sh4_nofpu_extract_sfmt_fschg_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
256 static void
257 sh4_nofpu_extract_sfmt_ldc_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
258 static void
259 sh4_nofpu_extract_sfmt_ldc_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
260 static void
261 sh4_nofpu_extract_sfmt_ldc_sr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
262 static void
263 sh4_nofpu_extract_sfmt_ldcl_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
264 static void
265 sh4_nofpu_extract_sfmt_ldcl_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
266 static void
267 sh4_nofpu_extract_sfmt_lds_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
268 static void
269 sh4_nofpu_extract_sfmt_ldsl_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
270 static void
271 sh4_nofpu_extract_sfmt_lds_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
272 static void
273 sh4_nofpu_extract_sfmt_ldsl_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
274 static void
275 sh4_nofpu_extract_sfmt_lds_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
276 static void
277 sh4_nofpu_extract_sfmt_ldsl_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
278 static void
279 sh4_nofpu_extract_sfmt_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
280 static void
281 sh4_nofpu_extract_sfmt_macw_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
282 static void
283 sh4_nofpu_extract_sfmt_mov_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
284 static void
285 sh4_nofpu_extract_sfmt_movi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
286 static void
287 sh4_nofpu_extract_sfmt_movi20_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
288 static void
289 sh4_nofpu_extract_sfmt_movb1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
290 static void
291 sh4_nofpu_extract_sfmt_movb2_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
292 static void
293 sh4_nofpu_extract_sfmt_movb3_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
294 static void
295 sh4_nofpu_extract_sfmt_movb4_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
296 static void
297 sh4_nofpu_extract_sfmt_movb5_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
298 static void
299 sh4_nofpu_extract_sfmt_movb6_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
300 static void
301 sh4_nofpu_extract_sfmt_movb7_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
302 static void
303 sh4_nofpu_extract_sfmt_movb8_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
304 static void
305 sh4_nofpu_extract_sfmt_movb9_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
306 static void
307 sh4_nofpu_extract_sfmt_movb10_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
308 static void
309 sh4_nofpu_extract_sfmt_movl1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
310 static void
311 sh4_nofpu_extract_sfmt_movl2_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
312 static void
313 sh4_nofpu_extract_sfmt_movl3_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
314 static void
315 sh4_nofpu_extract_sfmt_movl4_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
316 static void
317 sh4_nofpu_extract_sfmt_movl5_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
318 static void
319 sh4_nofpu_extract_sfmt_movl6_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
320 static void
321 sh4_nofpu_extract_sfmt_movl7_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
322 static void
323 sh4_nofpu_extract_sfmt_movl8_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
324 static void
325 sh4_nofpu_extract_sfmt_movl9_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
326 static void
327 sh4_nofpu_extract_sfmt_movl10_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
328 static void
329 sh4_nofpu_extract_sfmt_movl11_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
330 static void
331 sh4_nofpu_extract_sfmt_movl12_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
332 static void
333 sh4_nofpu_extract_sfmt_movl13_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
334 static void
335 sh4_nofpu_extract_sfmt_movw1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
336 static void
337 sh4_nofpu_extract_sfmt_movw2_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
338 static void
339 sh4_nofpu_extract_sfmt_movw3_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
340 static void
341 sh4_nofpu_extract_sfmt_movw4_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
342 static void
343 sh4_nofpu_extract_sfmt_movw5_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
344 static void
345 sh4_nofpu_extract_sfmt_movw6_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
346 static void
347 sh4_nofpu_extract_sfmt_movw7_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
348 static void
349 sh4_nofpu_extract_sfmt_movw8_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
350 static void
351 sh4_nofpu_extract_sfmt_movw9_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
352 static void
353 sh4_nofpu_extract_sfmt_movw10_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
354 static void
355 sh4_nofpu_extract_sfmt_movw11_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
356 static void
357 sh4_nofpu_extract_sfmt_mova_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
358 static void
359 sh4_nofpu_extract_sfmt_movcal_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
360 static void
361 sh4_nofpu_extract_sfmt_movt_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
362 static void
363 sh4_nofpu_extract_sfmt_mull_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
364 static void
365 sh4_nofpu_extract_sfmt_negc_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
366 static void
367 sh4_nofpu_extract_sfmt_nop_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
368 static void
369 sh4_nofpu_extract_sfmt_ocbi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
370 static void
371 sh4_nofpu_extract_sfmt_pref_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
372 static void
373 sh4_nofpu_extract_sfmt_rotcl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
374 static void
375 sh4_nofpu_extract_sfmt_rts_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
376 static void
377 sh4_nofpu_extract_sfmt_shad_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
378 static void
379 sh4_nofpu_extract_sfmt_stc_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
380 static void
381 sh4_nofpu_extract_sfmt_stc_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
382 static void
383 sh4_nofpu_extract_sfmt_stcl_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
384 static void
385 sh4_nofpu_extract_sfmt_stcl_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
386 static void
387 sh4_nofpu_extract_sfmt_sts_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
388 static void
389 sh4_nofpu_extract_sfmt_stsl_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
390 static void
391 sh4_nofpu_extract_sfmt_sts_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
392 static void
393 sh4_nofpu_extract_sfmt_stsl_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
394 static void
395 sh4_nofpu_extract_sfmt_sts_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
396 static void
397 sh4_nofpu_extract_sfmt_stsl_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
398 static void
399 sh4_nofpu_extract_sfmt_tasb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
400 static void
401 sh4_nofpu_extract_sfmt_trapa_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
402 static void
403 sh4_nofpu_extract_sfmt_tsti_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
404 static void
405 sh4_nofpu_extract_sfmt_tstb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn);
406
407 // Fetch & decode instruction
408 void
409 sh4_nofpu_scache::decode (sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn)
410 {
411   /* Result of decoder.  */
412   SH4_NOFPU_INSN_TYPE itype;
413
414   {
415     sh4_nofpu_insn_word insn = base_insn;
416
417     {
418       unsigned int val = (((insn >> 21) & (15 << 7)) | ((insn >> 17) & (1 << 6)) | ((insn >> 16) & (63 << 0)));
419       switch (val)
420       {
421       case 0 : /* fall through */
422       case 16 : /* fall through */
423       case 32 : /* fall through */
424       case 48 : /* fall through */
425       case 64 : /* fall through */
426       case 80 : /* fall through */
427       case 96 : /* fall through */
428       case 112 : itype = SH4_NOFPU_INSN_MOVI20_COMPACT; sh4_nofpu_extract_sfmt_movi20_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
429       case 3 :
430         entire_insn = entire_insn >> 16;
431         if ((entire_insn & 0xf0ff) == 0x3)
432           { itype = SH4_NOFPU_INSN_BSRF_COMPACT; sh4_nofpu_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
433         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
434       case 4 : /* fall through */
435       case 20 : /* fall through */
436       case 36 : /* fall through */
437       case 52 : /* fall through */
438       case 68 : /* fall through */
439       case 84 : /* fall through */
440       case 100 : /* fall through */
441       case 116 :
442         entire_insn = entire_insn >> 16;
443         itype = SH4_NOFPU_INSN_MOVB3_COMPACT; sh4_nofpu_extract_sfmt_movb3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
444       case 5 : /* fall through */
445       case 21 : /* fall through */
446       case 37 : /* fall through */
447       case 53 : /* fall through */
448       case 69 : /* fall through */
449       case 85 : /* fall through */
450       case 101 : /* fall through */
451       case 117 :
452         entire_insn = entire_insn >> 16;
453         itype = SH4_NOFPU_INSN_MOVW3_COMPACT; sh4_nofpu_extract_sfmt_movw3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
454       case 6 : /* fall through */
455       case 22 : /* fall through */
456       case 38 : /* fall through */
457       case 54 : /* fall through */
458       case 70 : /* fall through */
459       case 86 : /* fall through */
460       case 102 : /* fall through */
461       case 118 :
462         entire_insn = entire_insn >> 16;
463         itype = SH4_NOFPU_INSN_MOVL3_COMPACT; sh4_nofpu_extract_sfmt_movl3_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
464       case 7 : /* fall through */
465       case 23 : /* fall through */
466       case 39 : /* fall through */
467       case 55 : /* fall through */
468       case 71 : /* fall through */
469       case 87 : /* fall through */
470       case 103 : /* fall through */
471       case 119 :
472         entire_insn = entire_insn >> 16;
473         itype = SH4_NOFPU_INSN_MULL_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
474       case 8 :
475         {
476           unsigned int val = (((insn >> 22) & (1 << 0)));
477           switch (val)
478           {
479           case 0 :
480             entire_insn = entire_insn >> 16;
481             if ((entire_insn & 0xffff) == 0x8)
482               { itype = SH4_NOFPU_INSN_CLRT_COMPACT; sh4_nofpu_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
483             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
484           case 1 :
485             entire_insn = entire_insn >> 16;
486             if ((entire_insn & 0xffff) == 0x48)
487               { itype = SH4_NOFPU_INSN_CLRS_COMPACT; sh4_nofpu_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
488             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
489           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
490           }
491         }
492       case 9 :
493         entire_insn = entire_insn >> 16;
494         if ((entire_insn & 0xffff) == 0x9)
495           { itype = SH4_NOFPU_INSN_NOP_COMPACT; sh4_nofpu_extract_sfmt_nop_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
496         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
497       case 10 :
498         entire_insn = entire_insn >> 16;
499         if ((entire_insn & 0xf0ff) == 0xa)
500           { itype = SH4_NOFPU_INSN_STS_MACH_COMPACT; sh4_nofpu_extract_sfmt_sts_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
501         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
502       case 11 :
503         entire_insn = entire_insn >> 16;
504         if ((entire_insn & 0xffff) == 0xb)
505           { itype = SH4_NOFPU_INSN_RTS_COMPACT; sh4_nofpu_extract_sfmt_rts_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
506         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
507       case 12 : /* fall through */
508       case 28 : /* fall through */
509       case 44 : /* fall through */
510       case 60 : /* fall through */
511       case 76 : /* fall through */
512       case 92 : /* fall through */
513       case 108 : /* fall through */
514       case 124 :
515         entire_insn = entire_insn >> 16;
516         itype = SH4_NOFPU_INSN_MOVB8_COMPACT; sh4_nofpu_extract_sfmt_movb8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
517       case 13 : /* fall through */
518       case 29 : /* fall through */
519       case 45 : /* fall through */
520       case 61 : /* fall through */
521       case 77 : /* fall through */
522       case 93 : /* fall through */
523       case 109 : /* fall through */
524       case 125 :
525         entire_insn = entire_insn >> 16;
526         itype = SH4_NOFPU_INSN_MOVW8_COMPACT; sh4_nofpu_extract_sfmt_movw8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
527       case 14 : /* fall through */
528       case 30 : /* fall through */
529       case 46 : /* fall through */
530       case 62 : /* fall through */
531       case 78 : /* fall through */
532       case 94 : /* fall through */
533       case 110 : /* fall through */
534       case 126 :
535         entire_insn = entire_insn >> 16;
536         itype = SH4_NOFPU_INSN_MOVL8_COMPACT; sh4_nofpu_extract_sfmt_movl8_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
537       case 15 : /* fall through */
538       case 31 : /* fall through */
539       case 47 : /* fall through */
540       case 63 : /* fall through */
541       case 79 : /* fall through */
542       case 95 : /* fall through */
543       case 111 : /* fall through */
544       case 127 :
545         entire_insn = entire_insn >> 16;
546         itype = SH4_NOFPU_INSN_MACL_COMPACT; sh4_nofpu_extract_sfmt_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
547       case 18 :
548         entire_insn = entire_insn >> 16;
549         if ((entire_insn & 0xf0ff) == 0x12)
550           { itype = SH4_NOFPU_INSN_STC_GBR_COMPACT; sh4_nofpu_extract_sfmt_stc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
551         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
552       case 24 :
553         {
554           unsigned int val = (((insn >> 22) & (1 << 0)));
555           switch (val)
556           {
557           case 0 :
558             entire_insn = entire_insn >> 16;
559             if ((entire_insn & 0xffff) == 0x18)
560               { itype = SH4_NOFPU_INSN_SETT_COMPACT; sh4_nofpu_extract_sfmt_clrt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
561             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
562           case 1 :
563             entire_insn = entire_insn >> 16;
564             if ((entire_insn & 0xffff) == 0x58)
565               { itype = SH4_NOFPU_INSN_SETS_COMPACT; sh4_nofpu_extract_sfmt_clrs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
566             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
567           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
568           }
569         }
570       case 25 :
571         entire_insn = entire_insn >> 16;
572         if ((entire_insn & 0xffff) == 0x19)
573           { itype = SH4_NOFPU_INSN_DIV0U_COMPACT; sh4_nofpu_extract_sfmt_div0u_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
574         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
575       case 26 :
576         entire_insn = entire_insn >> 16;
577         if ((entire_insn & 0xf0ff) == 0x1a)
578           { itype = SH4_NOFPU_INSN_STS_MACL_COMPACT; sh4_nofpu_extract_sfmt_sts_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
579         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
580       case 34 :
581         entire_insn = entire_insn >> 16;
582         if ((entire_insn & 0xf0ff) == 0x22)
583           { itype = SH4_NOFPU_INSN_STC_VBR_COMPACT; sh4_nofpu_extract_sfmt_stc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
584         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
585       case 35 :
586         entire_insn = entire_insn >> 16;
587         if ((entire_insn & 0xf0ff) == 0x23)
588           { itype = SH4_NOFPU_INSN_BRAF_COMPACT; sh4_nofpu_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
589         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
590       case 40 :
591         entire_insn = entire_insn >> 16;
592         if ((entire_insn & 0xffff) == 0x28)
593           { itype = SH4_NOFPU_INSN_CLRMAC_COMPACT; sh4_nofpu_extract_sfmt_clrmac_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
594         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
595       case 41 :
596         entire_insn = entire_insn >> 16;
597         if ((entire_insn & 0xf0ff) == 0x29)
598           { itype = SH4_NOFPU_INSN_MOVT_COMPACT; sh4_nofpu_extract_sfmt_movt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
599         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
600       case 42 :
601         entire_insn = entire_insn >> 16;
602         if ((entire_insn & 0xf0ff) == 0x2a)
603           { itype = SH4_NOFPU_INSN_STS_PR_COMPACT; sh4_nofpu_extract_sfmt_sts_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
604         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
605       case 67 :
606         {
607           unsigned int val = (((insn >> 22) & (1 << 0)));
608           switch (val)
609           {
610           case 0 :
611             entire_insn = entire_insn >> 16;
612             itype = SH4_NOFPU_INSN_PREF_COMPACT; sh4_nofpu_extract_sfmt_pref_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
613           case 1 :
614             entire_insn = entire_insn >> 16;
615             itype = SH4_NOFPU_INSN_MOVCAL_COMPACT; sh4_nofpu_extract_sfmt_movcal_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
616           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
617           }
618         }
619       case 83 :
620         entire_insn = entire_insn >> 16;
621         if ((entire_insn & 0xf0ff) == 0x93)
622           { itype = SH4_NOFPU_INSN_OCBI_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
623         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
624       case 99 :
625         entire_insn = entire_insn >> 16;
626         if ((entire_insn & 0xf0ff) == 0xa3)
627           { itype = SH4_NOFPU_INSN_OCBP_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
628         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
629       case 115 :
630         entire_insn = entire_insn >> 16;
631         if ((entire_insn & 0xf0ff) == 0xb3)
632           { itype = SH4_NOFPU_INSN_OCBWB_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
633         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
634       case 128 : /* fall through */
635       case 129 : /* fall through */
636       case 130 : /* fall through */
637       case 131 : /* fall through */
638       case 132 : /* fall through */
639       case 133 : /* fall through */
640       case 134 : /* fall through */
641       case 135 : /* fall through */
642       case 136 : /* fall through */
643       case 137 : /* fall through */
644       case 138 : /* fall through */
645       case 139 : /* fall through */
646       case 140 : /* fall through */
647       case 141 : /* fall through */
648       case 142 : /* fall through */
649       case 143 : /* fall through */
650       case 144 : /* fall through */
651       case 145 : /* fall through */
652       case 146 : /* fall through */
653       case 147 : /* fall through */
654       case 148 : /* fall through */
655       case 149 : /* fall through */
656       case 150 : /* fall through */
657       case 151 : /* fall through */
658       case 152 : /* fall through */
659       case 153 : /* fall through */
660       case 154 : /* fall through */
661       case 155 : /* fall through */
662       case 156 : /* fall through */
663       case 157 : /* fall through */
664       case 158 : /* fall through */
665       case 159 : /* fall through */
666       case 160 : /* fall through */
667       case 161 : /* fall through */
668       case 162 : /* fall through */
669       case 163 : /* fall through */
670       case 164 : /* fall through */
671       case 165 : /* fall through */
672       case 166 : /* fall through */
673       case 167 : /* fall through */
674       case 168 : /* fall through */
675       case 169 : /* fall through */
676       case 170 : /* fall through */
677       case 171 : /* fall through */
678       case 172 : /* fall through */
679       case 173 : /* fall through */
680       case 174 : /* fall through */
681       case 175 : /* fall through */
682       case 176 : /* fall through */
683       case 177 : /* fall through */
684       case 178 : /* fall through */
685       case 179 : /* fall through */
686       case 180 : /* fall through */
687       case 181 : /* fall through */
688       case 182 : /* fall through */
689       case 183 : /* fall through */
690       case 184 : /* fall through */
691       case 185 : /* fall through */
692       case 186 : /* fall through */
693       case 187 : /* fall through */
694       case 188 : /* fall through */
695       case 189 : /* fall through */
696       case 190 : /* fall through */
697       case 191 : /* fall through */
698       case 192 : /* fall through */
699       case 193 : /* fall through */
700       case 194 : /* fall through */
701       case 195 : /* fall through */
702       case 196 : /* fall through */
703       case 197 : /* fall through */
704       case 198 : /* fall through */
705       case 199 : /* fall through */
706       case 200 : /* fall through */
707       case 201 : /* fall through */
708       case 202 : /* fall through */
709       case 203 : /* fall through */
710       case 204 : /* fall through */
711       case 205 : /* fall through */
712       case 206 : /* fall through */
713       case 207 : /* fall through */
714       case 208 : /* fall through */
715       case 209 : /* fall through */
716       case 210 : /* fall through */
717       case 211 : /* fall through */
718       case 212 : /* fall through */
719       case 213 : /* fall through */
720       case 214 : /* fall through */
721       case 215 : /* fall through */
722       case 216 : /* fall through */
723       case 217 : /* fall through */
724       case 218 : /* fall through */
725       case 219 : /* fall through */
726       case 220 : /* fall through */
727       case 221 : /* fall through */
728       case 222 : /* fall through */
729       case 223 : /* fall through */
730       case 224 : /* fall through */
731       case 225 : /* fall through */
732       case 226 : /* fall through */
733       case 227 : /* fall through */
734       case 228 : /* fall through */
735       case 229 : /* fall through */
736       case 230 : /* fall through */
737       case 231 : /* fall through */
738       case 232 : /* fall through */
739       case 233 : /* fall through */
740       case 234 : /* fall through */
741       case 235 : /* fall through */
742       case 236 : /* fall through */
743       case 237 : /* fall through */
744       case 238 : /* fall through */
745       case 239 : /* fall through */
746       case 240 : /* fall through */
747       case 241 : /* fall through */
748       case 242 : /* fall through */
749       case 243 : /* fall through */
750       case 244 : /* fall through */
751       case 245 : /* fall through */
752       case 246 : /* fall through */
753       case 247 : /* fall through */
754       case 248 : /* fall through */
755       case 249 : /* fall through */
756       case 250 : /* fall through */
757       case 251 : /* fall through */
758       case 252 : /* fall through */
759       case 253 : /* fall through */
760       case 254 : /* fall through */
761       case 255 :
762         entire_insn = entire_insn >> 16;
763         itype = SH4_NOFPU_INSN_MOVL5_COMPACT; sh4_nofpu_extract_sfmt_movl5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
764       case 256 : /* fall through */
765       case 272 : /* fall through */
766       case 288 : /* fall through */
767       case 304 : /* fall through */
768       case 320 : /* fall through */
769       case 336 : /* fall through */
770       case 352 : /* fall through */
771       case 368 :
772         entire_insn = entire_insn >> 16;
773         itype = SH4_NOFPU_INSN_MOVB1_COMPACT; sh4_nofpu_extract_sfmt_movb1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
774       case 257 : /* fall through */
775       case 273 : /* fall through */
776       case 289 : /* fall through */
777       case 305 : /* fall through */
778       case 321 : /* fall through */
779       case 337 : /* fall through */
780       case 353 : /* fall through */
781       case 369 :
782         entire_insn = entire_insn >> 16;
783         itype = SH4_NOFPU_INSN_MOVW1_COMPACT; sh4_nofpu_extract_sfmt_movw1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
784       case 258 : /* fall through */
785       case 274 : /* fall through */
786       case 290 : /* fall through */
787       case 306 : /* fall through */
788       case 322 : /* fall through */
789       case 338 : /* fall through */
790       case 354 : /* fall through */
791       case 370 :
792         entire_insn = entire_insn >> 16;
793         itype = SH4_NOFPU_INSN_MOVL1_COMPACT; sh4_nofpu_extract_sfmt_movl1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
794       case 260 : /* fall through */
795       case 276 : /* fall through */
796       case 292 : /* fall through */
797       case 308 : /* fall through */
798       case 324 : /* fall through */
799       case 340 : /* fall through */
800       case 356 : /* fall through */
801       case 372 :
802         entire_insn = entire_insn >> 16;
803         itype = SH4_NOFPU_INSN_MOVB2_COMPACT; sh4_nofpu_extract_sfmt_movb2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
804       case 261 : /* fall through */
805       case 277 : /* fall through */
806       case 293 : /* fall through */
807       case 309 : /* fall through */
808       case 325 : /* fall through */
809       case 341 : /* fall through */
810       case 357 : /* fall through */
811       case 373 :
812         entire_insn = entire_insn >> 16;
813         itype = SH4_NOFPU_INSN_MOVW2_COMPACT; sh4_nofpu_extract_sfmt_movw2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
814       case 262 : /* fall through */
815       case 278 : /* fall through */
816       case 294 : /* fall through */
817       case 310 : /* fall through */
818       case 326 : /* fall through */
819       case 342 : /* fall through */
820       case 358 : /* fall through */
821       case 374 :
822         entire_insn = entire_insn >> 16;
823         itype = SH4_NOFPU_INSN_MOVL2_COMPACT; sh4_nofpu_extract_sfmt_movl2_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
824       case 263 : /* fall through */
825       case 279 : /* fall through */
826       case 295 : /* fall through */
827       case 311 : /* fall through */
828       case 327 : /* fall through */
829       case 343 : /* fall through */
830       case 359 : /* fall through */
831       case 375 :
832         entire_insn = entire_insn >> 16;
833         itype = SH4_NOFPU_INSN_DIV0S_COMPACT; sh4_nofpu_extract_sfmt_div0s_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
834       case 264 : /* fall through */
835       case 280 : /* fall through */
836       case 296 : /* fall through */
837       case 312 : /* fall through */
838       case 328 : /* fall through */
839       case 344 : /* fall through */
840       case 360 : /* fall through */
841       case 376 :
842         entire_insn = entire_insn >> 16;
843         itype = SH4_NOFPU_INSN_TST_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
844       case 265 : /* fall through */
845       case 281 : /* fall through */
846       case 297 : /* fall through */
847       case 313 : /* fall through */
848       case 329 : /* fall through */
849       case 345 : /* fall through */
850       case 361 : /* fall through */
851       case 377 :
852         entire_insn = entire_insn >> 16;
853         itype = SH4_NOFPU_INSN_AND_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
854       case 266 : /* fall through */
855       case 282 : /* fall through */
856       case 298 : /* fall through */
857       case 314 : /* fall through */
858       case 330 : /* fall through */
859       case 346 : /* fall through */
860       case 362 : /* fall through */
861       case 378 :
862         entire_insn = entire_insn >> 16;
863         itype = SH4_NOFPU_INSN_XOR_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
864       case 267 : /* fall through */
865       case 283 : /* fall through */
866       case 299 : /* fall through */
867       case 315 : /* fall through */
868       case 331 : /* fall through */
869       case 347 : /* fall through */
870       case 363 : /* fall through */
871       case 379 :
872         entire_insn = entire_insn >> 16;
873         itype = SH4_NOFPU_INSN_OR_COMPACT; sh4_nofpu_extract_sfmt_and_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
874       case 268 : /* fall through */
875       case 284 : /* fall through */
876       case 300 : /* fall through */
877       case 316 : /* fall through */
878       case 332 : /* fall through */
879       case 348 : /* fall through */
880       case 364 : /* fall through */
881       case 380 :
882         entire_insn = entire_insn >> 16;
883         itype = SH4_NOFPU_INSN_CMPSTR_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
884       case 269 : /* fall through */
885       case 285 : /* fall through */
886       case 301 : /* fall through */
887       case 317 : /* fall through */
888       case 333 : /* fall through */
889       case 349 : /* fall through */
890       case 365 : /* fall through */
891       case 381 :
892         entire_insn = entire_insn >> 16;
893         itype = SH4_NOFPU_INSN_XTRCT_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
894       case 270 : /* fall through */
895       case 286 : /* fall through */
896       case 302 : /* fall through */
897       case 318 : /* fall through */
898       case 334 : /* fall through */
899       case 350 : /* fall through */
900       case 366 : /* fall through */
901       case 382 :
902         entire_insn = entire_insn >> 16;
903         itype = SH4_NOFPU_INSN_MULUW_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
904       case 271 : /* fall through */
905       case 287 : /* fall through */
906       case 303 : /* fall through */
907       case 319 : /* fall through */
908       case 335 : /* fall through */
909       case 351 : /* fall through */
910       case 367 : /* fall through */
911       case 383 :
912         entire_insn = entire_insn >> 16;
913         itype = SH4_NOFPU_INSN_MULSW_COMPACT; sh4_nofpu_extract_sfmt_mull_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
914       case 384 : /* fall through */
915       case 400 : /* fall through */
916       case 416 : /* fall through */
917       case 432 : /* fall through */
918       case 448 : /* fall through */
919       case 464 : /* fall through */
920       case 480 : /* fall through */
921       case 496 :
922         entire_insn = entire_insn >> 16;
923         itype = SH4_NOFPU_INSN_CMPEQ_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
924       case 385 : /* fall through */
925       case 401 : /* fall through */
926       case 417 : /* fall through */
927       case 433 : /* fall through */
928       case 449 : /* fall through */
929       case 465 : /* fall through */
930       case 481 : /* fall through */
931       case 497 :
932         {
933           unsigned int val = (((insn >> 14) & (1 << 0)));
934           switch (val)
935           {
936           case 0 :
937             if ((entire_insn & 0xf00ff000) == 0x30012000)
938               { itype = SH4_NOFPU_INSN_MOVL13_COMPACT; sh4_nofpu_extract_sfmt_movl13_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
939             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
940           case 1 :
941             if ((entire_insn & 0xf00ff000) == 0x30016000)
942               { itype = SH4_NOFPU_INSN_MOVL12_COMPACT; sh4_nofpu_extract_sfmt_movl12_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
943             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
944           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
945           }
946         }
947       case 386 : /* fall through */
948       case 402 : /* fall through */
949       case 418 : /* fall through */
950       case 434 : /* fall through */
951       case 450 : /* fall through */
952       case 466 : /* fall through */
953       case 482 : /* fall through */
954       case 498 :
955         entire_insn = entire_insn >> 16;
956         itype = SH4_NOFPU_INSN_CMPHS_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
957       case 387 : /* fall through */
958       case 403 : /* fall through */
959       case 419 : /* fall through */
960       case 435 : /* fall through */
961       case 451 : /* fall through */
962       case 467 : /* fall through */
963       case 483 : /* fall through */
964       case 499 :
965         entire_insn = entire_insn >> 16;
966         itype = SH4_NOFPU_INSN_CMPGE_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
967       case 388 : /* fall through */
968       case 404 : /* fall through */
969       case 420 : /* fall through */
970       case 436 : /* fall through */
971       case 452 : /* fall through */
972       case 468 : /* fall through */
973       case 484 : /* fall through */
974       case 500 :
975         entire_insn = entire_insn >> 16;
976         itype = SH4_NOFPU_INSN_DIV1_COMPACT; sh4_nofpu_extract_sfmt_div1_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
977       case 389 : /* fall through */
978       case 405 : /* fall through */
979       case 421 : /* fall through */
980       case 437 : /* fall through */
981       case 453 : /* fall through */
982       case 469 : /* fall through */
983       case 485 : /* fall through */
984       case 501 :
985         entire_insn = entire_insn >> 16;
986         itype = SH4_NOFPU_INSN_DMULUL_COMPACT; sh4_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
987       case 390 : /* fall through */
988       case 406 : /* fall through */
989       case 422 : /* fall through */
990       case 438 : /* fall through */
991       case 454 : /* fall through */
992       case 470 : /* fall through */
993       case 486 : /* fall through */
994       case 502 :
995         entire_insn = entire_insn >> 16;
996         itype = SH4_NOFPU_INSN_CMPHI_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
997       case 391 : /* fall through */
998       case 407 : /* fall through */
999       case 423 : /* fall through */
1000       case 439 : /* fall through */
1001       case 455 : /* fall through */
1002       case 471 : /* fall through */
1003       case 487 : /* fall through */
1004       case 503 :
1005         entire_insn = entire_insn >> 16;
1006         itype = SH4_NOFPU_INSN_CMPGT_COMPACT; sh4_nofpu_extract_sfmt_cmpeq_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1007       case 392 : /* fall through */
1008       case 408 : /* fall through */
1009       case 424 : /* fall through */
1010       case 440 : /* fall through */
1011       case 456 : /* fall through */
1012       case 472 : /* fall through */
1013       case 488 : /* fall through */
1014       case 504 :
1015         entire_insn = entire_insn >> 16;
1016         itype = SH4_NOFPU_INSN_SUB_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1017       case 394 : /* fall through */
1018       case 410 : /* fall through */
1019       case 426 : /* fall through */
1020       case 442 : /* fall through */
1021       case 458 : /* fall through */
1022       case 474 : /* fall through */
1023       case 490 : /* fall through */
1024       case 506 :
1025         entire_insn = entire_insn >> 16;
1026         itype = SH4_NOFPU_INSN_SUBC_COMPACT; sh4_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1027       case 395 : /* fall through */
1028       case 411 : /* fall through */
1029       case 427 : /* fall through */
1030       case 443 : /* fall through */
1031       case 459 : /* fall through */
1032       case 475 : /* fall through */
1033       case 491 : /* fall through */
1034       case 507 :
1035         entire_insn = entire_insn >> 16;
1036         itype = SH4_NOFPU_INSN_SUBV_COMPACT; sh4_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1037       case 396 : /* fall through */
1038       case 412 : /* fall through */
1039       case 428 : /* fall through */
1040       case 444 : /* fall through */
1041       case 460 : /* fall through */
1042       case 476 : /* fall through */
1043       case 492 : /* fall through */
1044       case 508 :
1045         entire_insn = entire_insn >> 16;
1046         itype = SH4_NOFPU_INSN_ADD_COMPACT; sh4_nofpu_extract_sfmt_add_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1047       case 397 : /* fall through */
1048       case 413 : /* fall through */
1049       case 429 : /* fall through */
1050       case 445 : /* fall through */
1051       case 461 : /* fall through */
1052       case 477 : /* fall through */
1053       case 493 : /* fall through */
1054       case 509 :
1055         entire_insn = entire_insn >> 16;
1056         itype = SH4_NOFPU_INSN_DMULSL_COMPACT; sh4_nofpu_extract_sfmt_dmulsl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1057       case 398 : /* fall through */
1058       case 414 : /* fall through */
1059       case 430 : /* fall through */
1060       case 446 : /* fall through */
1061       case 462 : /* fall through */
1062       case 478 : /* fall through */
1063       case 494 : /* fall through */
1064       case 510 :
1065         entire_insn = entire_insn >> 16;
1066         itype = SH4_NOFPU_INSN_ADDC_COMPACT; sh4_nofpu_extract_sfmt_addc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1067       case 399 : /* fall through */
1068       case 415 : /* fall through */
1069       case 431 : /* fall through */
1070       case 447 : /* fall through */
1071       case 463 : /* fall through */
1072       case 479 : /* fall through */
1073       case 495 : /* fall through */
1074       case 511 :
1075         entire_insn = entire_insn >> 16;
1076         itype = SH4_NOFPU_INSN_ADDV_COMPACT; sh4_nofpu_extract_sfmt_addv_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1077       case 512 :
1078         entire_insn = entire_insn >> 16;
1079         if ((entire_insn & 0xf0ff) == 0x4000)
1080           { itype = SH4_NOFPU_INSN_SHLL_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1081         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1082       case 513 :
1083         entire_insn = entire_insn >> 16;
1084         if ((entire_insn & 0xf0ff) == 0x4001)
1085           { itype = SH4_NOFPU_INSN_SHLR_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1086         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1087       case 514 :
1088         entire_insn = entire_insn >> 16;
1089         if ((entire_insn & 0xf0ff) == 0x4002)
1090           { itype = SH4_NOFPU_INSN_STSL_MACH_COMPACT; sh4_nofpu_extract_sfmt_stsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1091         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1092       case 516 :
1093         entire_insn = entire_insn >> 16;
1094         if ((entire_insn & 0xf0ff) == 0x4004)
1095           { itype = SH4_NOFPU_INSN_ROTL_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1096         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1097       case 517 :
1098         entire_insn = entire_insn >> 16;
1099         if ((entire_insn & 0xf0ff) == 0x4005)
1100           { itype = SH4_NOFPU_INSN_ROTR_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1101         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1102       case 518 :
1103         entire_insn = entire_insn >> 16;
1104         if ((entire_insn & 0xf0ff) == 0x4006)
1105           { itype = SH4_NOFPU_INSN_LDSL_MACH_COMPACT; sh4_nofpu_extract_sfmt_ldsl_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1106         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1107       case 520 :
1108         entire_insn = entire_insn >> 16;
1109         if ((entire_insn & 0xf0ff) == 0x4008)
1110           { itype = SH4_NOFPU_INSN_SHLL2_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1111         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1112       case 521 :
1113         entire_insn = entire_insn >> 16;
1114         if ((entire_insn & 0xf0ff) == 0x4009)
1115           { itype = SH4_NOFPU_INSN_SHLR2_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1116         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1117       case 522 :
1118         entire_insn = entire_insn >> 16;
1119         if ((entire_insn & 0xf0ff) == 0x400a)
1120           { itype = SH4_NOFPU_INSN_LDS_MACH_COMPACT; sh4_nofpu_extract_sfmt_lds_mach_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1121         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1122       case 523 :
1123         entire_insn = entire_insn >> 16;
1124         if ((entire_insn & 0xf0ff) == 0x400b)
1125           { itype = SH4_NOFPU_INSN_JSR_COMPACT; sh4_nofpu_extract_sfmt_bsrf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1126         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1127       case 524 : /* fall through */
1128       case 540 : /* fall through */
1129       case 556 : /* fall through */
1130       case 572 : /* fall through */
1131       case 588 : /* fall through */
1132       case 604 : /* fall through */
1133       case 620 : /* fall through */
1134       case 636 :
1135         entire_insn = entire_insn >> 16;
1136         itype = SH4_NOFPU_INSN_SHAD_COMPACT; sh4_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1137       case 525 : /* fall through */
1138       case 541 : /* fall through */
1139       case 557 : /* fall through */
1140       case 573 : /* fall through */
1141       case 589 : /* fall through */
1142       case 605 : /* fall through */
1143       case 621 : /* fall through */
1144       case 637 :
1145         entire_insn = entire_insn >> 16;
1146         itype = SH4_NOFPU_INSN_SHLD_COMPACT; sh4_nofpu_extract_sfmt_shad_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1147       case 526 :
1148         entire_insn = entire_insn >> 16;
1149         if ((entire_insn & 0xf0ff) == 0x400e)
1150           { itype = SH4_NOFPU_INSN_LDC_SR_COMPACT; sh4_nofpu_extract_sfmt_ldc_sr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1151         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1152       case 527 : /* fall through */
1153       case 543 : /* fall through */
1154       case 559 : /* fall through */
1155       case 575 : /* fall through */
1156       case 591 : /* fall through */
1157       case 607 : /* fall through */
1158       case 623 : /* fall through */
1159       case 639 :
1160         entire_insn = entire_insn >> 16;
1161         itype = SH4_NOFPU_INSN_MACW_COMPACT; sh4_nofpu_extract_sfmt_macw_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1162       case 528 :
1163         entire_insn = entire_insn >> 16;
1164         if ((entire_insn & 0xf0ff) == 0x4010)
1165           { itype = SH4_NOFPU_INSN_DT_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1166         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1167       case 529 :
1168         entire_insn = entire_insn >> 16;
1169         if ((entire_insn & 0xf0ff) == 0x4011)
1170           { itype = SH4_NOFPU_INSN_CMPPZ_COMPACT; sh4_nofpu_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1171         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1172       case 530 :
1173         entire_insn = entire_insn >> 16;
1174         if ((entire_insn & 0xf0ff) == 0x4012)
1175           { itype = SH4_NOFPU_INSN_STSL_MACL_COMPACT; sh4_nofpu_extract_sfmt_stsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1176         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1177       case 531 :
1178         entire_insn = entire_insn >> 16;
1179         if ((entire_insn & 0xf0ff) == 0x4013)
1180           { itype = SH4_NOFPU_INSN_STCL_GBR_COMPACT; sh4_nofpu_extract_sfmt_stcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1181         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1182       case 533 :
1183         entire_insn = entire_insn >> 16;
1184         if ((entire_insn & 0xf0ff) == 0x4015)
1185           { itype = SH4_NOFPU_INSN_CMPPL_COMPACT; sh4_nofpu_extract_sfmt_cmppl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1186         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1187       case 534 :
1188         entire_insn = entire_insn >> 16;
1189         if ((entire_insn & 0xf0ff) == 0x4016)
1190           { itype = SH4_NOFPU_INSN_LDSL_MACL_COMPACT; sh4_nofpu_extract_sfmt_ldsl_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1191         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1192       case 535 :
1193         entire_insn = entire_insn >> 16;
1194         if ((entire_insn & 0xf0ff) == 0x4017)
1195           { itype = SH4_NOFPU_INSN_LDCL_GBR_COMPACT; sh4_nofpu_extract_sfmt_ldcl_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1196         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1197       case 536 :
1198         entire_insn = entire_insn >> 16;
1199         if ((entire_insn & 0xf0ff) == 0x4018)
1200           { itype = SH4_NOFPU_INSN_SHLL8_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1201         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1202       case 537 :
1203         entire_insn = entire_insn >> 16;
1204         if ((entire_insn & 0xf0ff) == 0x4019)
1205           { itype = SH4_NOFPU_INSN_SHLR8_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1206         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1207       case 538 :
1208         entire_insn = entire_insn >> 16;
1209         if ((entire_insn & 0xf0ff) == 0x401a)
1210           { itype = SH4_NOFPU_INSN_LDS_MACL_COMPACT; sh4_nofpu_extract_sfmt_lds_macl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1211         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1212       case 539 :
1213         entire_insn = entire_insn >> 16;
1214         if ((entire_insn & 0xf0ff) == 0x401b)
1215           { itype = SH4_NOFPU_INSN_TASB_COMPACT; sh4_nofpu_extract_sfmt_tasb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1216         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1217       case 542 :
1218         entire_insn = entire_insn >> 16;
1219         if ((entire_insn & 0xf0ff) == 0x401e)
1220           { itype = SH4_NOFPU_INSN_LDC_GBR_COMPACT; sh4_nofpu_extract_sfmt_ldc_gbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1221         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1222       case 544 :
1223         entire_insn = entire_insn >> 16;
1224         if ((entire_insn & 0xf0ff) == 0x4020)
1225           { itype = SH4_NOFPU_INSN_SHAL_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1226         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1227       case 545 :
1228         entire_insn = entire_insn >> 16;
1229         if ((entire_insn & 0xf0ff) == 0x4021)
1230           { itype = SH4_NOFPU_INSN_SHAR_COMPACT; sh4_nofpu_extract_sfmt_dt_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1231         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1232       case 546 :
1233         entire_insn = entire_insn >> 16;
1234         if ((entire_insn & 0xf0ff) == 0x4022)
1235           { itype = SH4_NOFPU_INSN_STSL_PR_COMPACT; sh4_nofpu_extract_sfmt_stsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1236         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1237       case 547 :
1238         entire_insn = entire_insn >> 16;
1239         if ((entire_insn & 0xf0ff) == 0x4023)
1240           { itype = SH4_NOFPU_INSN_STCL_VBR_COMPACT; sh4_nofpu_extract_sfmt_stcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1241         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1242       case 548 :
1243         entire_insn = entire_insn >> 16;
1244         if ((entire_insn & 0xf0ff) == 0x4024)
1245           { itype = SH4_NOFPU_INSN_ROTCL_COMPACT; sh4_nofpu_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1246         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1247       case 549 :
1248         entire_insn = entire_insn >> 16;
1249         if ((entire_insn & 0xf0ff) == 0x4025)
1250           { itype = SH4_NOFPU_INSN_ROTCR_COMPACT; sh4_nofpu_extract_sfmt_rotcl_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1251         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1252       case 550 :
1253         entire_insn = entire_insn >> 16;
1254         if ((entire_insn & 0xf0ff) == 0x4026)
1255           { itype = SH4_NOFPU_INSN_LDSL_PR_COMPACT; sh4_nofpu_extract_sfmt_ldsl_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1256         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1257       case 551 :
1258         entire_insn = entire_insn >> 16;
1259         if ((entire_insn & 0xf0ff) == 0x4027)
1260           { itype = SH4_NOFPU_INSN_LDCL_VBR_COMPACT; sh4_nofpu_extract_sfmt_ldcl_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1261         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1262       case 552 :
1263         entire_insn = entire_insn >> 16;
1264         if ((entire_insn & 0xf0ff) == 0x4028)
1265           { itype = SH4_NOFPU_INSN_SHLL16_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1266         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1267       case 553 :
1268         entire_insn = entire_insn >> 16;
1269         if ((entire_insn & 0xf0ff) == 0x4029)
1270           { itype = SH4_NOFPU_INSN_SHLR16_COMPACT; sh4_nofpu_extract_sfmt_ocbi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1271         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1272       case 554 :
1273         entire_insn = entire_insn >> 16;
1274         if ((entire_insn & 0xf0ff) == 0x402a)
1275           { itype = SH4_NOFPU_INSN_LDS_PR_COMPACT; sh4_nofpu_extract_sfmt_lds_pr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1276         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1277       case 555 :
1278         entire_insn = entire_insn >> 16;
1279         if ((entire_insn & 0xf0ff) == 0x402b)
1280           { itype = SH4_NOFPU_INSN_JMP_COMPACT; sh4_nofpu_extract_sfmt_braf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1281         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1282       case 558 :
1283         entire_insn = entire_insn >> 16;
1284         if ((entire_insn & 0xf0ff) == 0x402e)
1285           { itype = SH4_NOFPU_INSN_LDC_VBR_COMPACT; sh4_nofpu_extract_sfmt_ldc_vbr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1286         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1287       case 576 :
1288         entire_insn = entire_insn >> 16;
1289         if ((entire_insn & 0xf0ff) == 0x4080)
1290           { itype = SH4_NOFPU_INSN_MULR_COMPACT; sh4_nofpu_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1291         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1292       case 580 :
1293         entire_insn = entire_insn >> 16;
1294         if ((entire_insn & 0xf0ff) == 0x4084)
1295           { itype = SH4_NOFPU_INSN_DIVU_COMPACT; sh4_nofpu_extract_sfmt_divu_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1296         itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1297       case 640 : /* fall through */
1298       case 641 : /* fall through */
1299       case 642 : /* fall through */
1300       case 643 : /* fall through */
1301       case 644 : /* fall through */
1302       case 645 : /* fall through */
1303       case 646 : /* fall through */
1304       case 647 : /* fall through */
1305       case 648 : /* fall through */
1306       case 649 : /* fall through */
1307       case 650 : /* fall through */
1308       case 651 : /* fall through */
1309       case 652 : /* fall through */
1310       case 653 : /* fall through */
1311       case 654 : /* fall through */
1312       case 655 : /* fall through */
1313       case 656 : /* fall through */
1314       case 657 : /* fall through */
1315       case 658 : /* fall through */
1316       case 659 : /* fall through */
1317       case 660 : /* fall through */
1318       case 661 : /* fall through */
1319       case 662 : /* fall through */
1320       case 663 : /* fall through */
1321       case 664 : /* fall through */
1322       case 665 : /* fall through */
1323       case 666 : /* fall through */
1324       case 667 : /* fall through */
1325       case 668 : /* fall through */
1326       case 669 : /* fall through */
1327       case 670 : /* fall through */
1328       case 671 : /* fall through */
1329       case 672 : /* fall through */
1330       case 673 : /* fall through */
1331       case 674 : /* fall through */
1332       case 675 : /* fall through */
1333       case 676 : /* fall through */
1334       case 677 : /* fall through */
1335       case 678 : /* fall through */
1336       case 679 : /* fall through */
1337       case 680 : /* fall through */
1338       case 681 : /* fall through */
1339       case 682 : /* fall through */
1340       case 683 : /* fall through */
1341       case 684 : /* fall through */
1342       case 685 : /* fall through */
1343       case 686 : /* fall through */
1344       case 687 : /* fall through */
1345       case 688 : /* fall through */
1346       case 689 : /* fall through */
1347       case 690 : /* fall through */
1348       case 691 : /* fall through */
1349       case 692 : /* fall through */
1350       case 693 : /* fall through */
1351       case 694 : /* fall through */
1352       case 695 : /* fall through */
1353       case 696 : /* fall through */
1354       case 697 : /* fall through */
1355       case 698 : /* fall through */
1356       case 699 : /* fall through */
1357       case 700 : /* fall through */
1358       case 701 : /* fall through */
1359       case 702 : /* fall through */
1360       case 703 : /* fall through */
1361       case 704 : /* fall through */
1362       case 705 : /* fall through */
1363       case 706 : /* fall through */
1364       case 707 : /* fall through */
1365       case 708 : /* fall through */
1366       case 709 : /* fall through */
1367       case 710 : /* fall through */
1368       case 711 : /* fall through */
1369       case 712 : /* fall through */
1370       case 713 : /* fall through */
1371       case 714 : /* fall through */
1372       case 715 : /* fall through */
1373       case 716 : /* fall through */
1374       case 717 : /* fall through */
1375       case 718 : /* fall through */
1376       case 719 : /* fall through */
1377       case 720 : /* fall through */
1378       case 721 : /* fall through */
1379       case 722 : /* fall through */
1380       case 723 : /* fall through */
1381       case 724 : /* fall through */
1382       case 725 : /* fall through */
1383       case 726 : /* fall through */
1384       case 727 : /* fall through */
1385       case 728 : /* fall through */
1386       case 729 : /* fall through */
1387       case 730 : /* fall through */
1388       case 731 : /* fall through */
1389       case 732 : /* fall through */
1390       case 733 : /* fall through */
1391       case 734 : /* fall through */
1392       case 735 : /* fall through */
1393       case 736 : /* fall through */
1394       case 737 : /* fall through */
1395       case 738 : /* fall through */
1396       case 739 : /* fall through */
1397       case 740 : /* fall through */
1398       case 741 : /* fall through */
1399       case 742 : /* fall through */
1400       case 743 : /* fall through */
1401       case 744 : /* fall through */
1402       case 745 : /* fall through */
1403       case 746 : /* fall through */
1404       case 747 : /* fall through */
1405       case 748 : /* fall through */
1406       case 749 : /* fall through */
1407       case 750 : /* fall through */
1408       case 751 : /* fall through */
1409       case 752 : /* fall through */
1410       case 753 : /* fall through */
1411       case 754 : /* fall through */
1412       case 755 : /* fall through */
1413       case 756 : /* fall through */
1414       case 757 : /* fall through */
1415       case 758 : /* fall through */
1416       case 759 : /* fall through */
1417       case 760 : /* fall through */
1418       case 761 : /* fall through */
1419       case 762 : /* fall through */
1420       case 763 : /* fall through */
1421       case 764 : /* fall through */
1422       case 765 : /* fall through */
1423       case 766 : /* fall through */
1424       case 767 :
1425         entire_insn = entire_insn >> 16;
1426         itype = SH4_NOFPU_INSN_MOVL11_COMPACT; sh4_nofpu_extract_sfmt_movl11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1427       case 768 : /* fall through */
1428       case 784 : /* fall through */
1429       case 800 : /* fall through */
1430       case 816 : /* fall through */
1431       case 832 : /* fall through */
1432       case 848 : /* fall through */
1433       case 864 : /* fall through */
1434       case 880 :
1435         entire_insn = entire_insn >> 16;
1436         itype = SH4_NOFPU_INSN_MOVB6_COMPACT; sh4_nofpu_extract_sfmt_movb6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1437       case 769 : /* fall through */
1438       case 785 : /* fall through */
1439       case 801 : /* fall through */
1440       case 817 : /* fall through */
1441       case 833 : /* fall through */
1442       case 849 : /* fall through */
1443       case 865 : /* fall through */
1444       case 881 :
1445         entire_insn = entire_insn >> 16;
1446         itype = SH4_NOFPU_INSN_MOVW6_COMPACT; sh4_nofpu_extract_sfmt_movw6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1447       case 770 : /* fall through */
1448       case 786 : /* fall through */
1449       case 802 : /* fall through */
1450       case 818 : /* fall through */
1451       case 834 : /* fall through */
1452       case 850 : /* fall through */
1453       case 866 : /* fall through */
1454       case 882 :
1455         entire_insn = entire_insn >> 16;
1456         itype = SH4_NOFPU_INSN_MOVL6_COMPACT; sh4_nofpu_extract_sfmt_movl6_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1457       case 771 : /* fall through */
1458       case 787 : /* fall through */
1459       case 803 : /* fall through */
1460       case 819 : /* fall through */
1461       case 835 : /* fall through */
1462       case 851 : /* fall through */
1463       case 867 : /* fall through */
1464       case 883 :
1465         entire_insn = entire_insn >> 16;
1466         itype = SH4_NOFPU_INSN_MOV_COMPACT; sh4_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1467       case 772 : /* fall through */
1468       case 788 : /* fall through */
1469       case 804 : /* fall through */
1470       case 820 : /* fall through */
1471       case 836 : /* fall through */
1472       case 852 : /* fall through */
1473       case 868 : /* fall through */
1474       case 884 :
1475         entire_insn = entire_insn >> 16;
1476         itype = SH4_NOFPU_INSN_MOVB7_COMPACT; sh4_nofpu_extract_sfmt_movb7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1477       case 773 : /* fall through */
1478       case 789 : /* fall through */
1479       case 805 : /* fall through */
1480       case 821 : /* fall through */
1481       case 837 : /* fall through */
1482       case 853 : /* fall through */
1483       case 869 : /* fall through */
1484       case 885 :
1485         entire_insn = entire_insn >> 16;
1486         itype = SH4_NOFPU_INSN_MOVW7_COMPACT; sh4_nofpu_extract_sfmt_movw7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1487       case 774 : /* fall through */
1488       case 790 : /* fall through */
1489       case 806 : /* fall through */
1490       case 822 : /* fall through */
1491       case 838 : /* fall through */
1492       case 854 : /* fall through */
1493       case 870 : /* fall through */
1494       case 886 :
1495         entire_insn = entire_insn >> 16;
1496         itype = SH4_NOFPU_INSN_MOVL7_COMPACT; sh4_nofpu_extract_sfmt_movl7_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1497       case 775 : /* fall through */
1498       case 791 : /* fall through */
1499       case 807 : /* fall through */
1500       case 823 : /* fall through */
1501       case 839 : /* fall through */
1502       case 855 : /* fall through */
1503       case 871 : /* fall through */
1504       case 887 :
1505         entire_insn = entire_insn >> 16;
1506         itype = SH4_NOFPU_INSN_NOT_COMPACT; sh4_nofpu_extract_sfmt_mov_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1507       case 776 : /* fall through */
1508       case 792 : /* fall through */
1509       case 808 : /* fall through */
1510       case 824 : /* fall through */
1511       case 840 : /* fall through */
1512       case 856 : /* fall through */
1513       case 872 : /* fall through */
1514       case 888 :
1515         entire_insn = entire_insn >> 16;
1516         itype = SH4_NOFPU_INSN_SWAPB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1517       case 777 : /* fall through */
1518       case 793 : /* fall through */
1519       case 809 : /* fall through */
1520       case 825 : /* fall through */
1521       case 841 : /* fall through */
1522       case 857 : /* fall through */
1523       case 873 : /* fall through */
1524       case 889 :
1525         entire_insn = entire_insn >> 16;
1526         itype = SH4_NOFPU_INSN_SWAPW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1527       case 778 : /* fall through */
1528       case 794 : /* fall through */
1529       case 810 : /* fall through */
1530       case 826 : /* fall through */
1531       case 842 : /* fall through */
1532       case 858 : /* fall through */
1533       case 874 : /* fall through */
1534       case 890 :
1535         entire_insn = entire_insn >> 16;
1536         itype = SH4_NOFPU_INSN_NEGC_COMPACT; sh4_nofpu_extract_sfmt_negc_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1537       case 779 : /* fall through */
1538       case 795 : /* fall through */
1539       case 811 : /* fall through */
1540       case 827 : /* fall through */
1541       case 843 : /* fall through */
1542       case 859 : /* fall through */
1543       case 875 : /* fall through */
1544       case 891 :
1545         entire_insn = entire_insn >> 16;
1546         itype = SH4_NOFPU_INSN_NEG_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1547       case 780 : /* fall through */
1548       case 796 : /* fall through */
1549       case 812 : /* fall through */
1550       case 828 : /* fall through */
1551       case 844 : /* fall through */
1552       case 860 : /* fall through */
1553       case 876 : /* fall through */
1554       case 892 :
1555         entire_insn = entire_insn >> 16;
1556         itype = SH4_NOFPU_INSN_EXTUB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1557       case 781 : /* fall through */
1558       case 797 : /* fall through */
1559       case 813 : /* fall through */
1560       case 829 : /* fall through */
1561       case 845 : /* fall through */
1562       case 861 : /* fall through */
1563       case 877 : /* fall through */
1564       case 893 :
1565         entire_insn = entire_insn >> 16;
1566         itype = SH4_NOFPU_INSN_EXTUW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1567       case 782 : /* fall through */
1568       case 798 : /* fall through */
1569       case 814 : /* fall through */
1570       case 830 : /* fall through */
1571       case 846 : /* fall through */
1572       case 862 : /* fall through */
1573       case 878 : /* fall through */
1574       case 894 :
1575         entire_insn = entire_insn >> 16;
1576         itype = SH4_NOFPU_INSN_EXTSB_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1577       case 783 : /* fall through */
1578       case 799 : /* fall through */
1579       case 815 : /* fall through */
1580       case 831 : /* fall through */
1581       case 847 : /* fall through */
1582       case 863 : /* fall through */
1583       case 879 : /* fall through */
1584       case 895 :
1585         entire_insn = entire_insn >> 16;
1586         itype = SH4_NOFPU_INSN_EXTSW_COMPACT; sh4_nofpu_extract_sfmt_extsb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1587       case 896 : /* fall through */
1588       case 897 : /* fall through */
1589       case 898 : /* fall through */
1590       case 899 : /* fall through */
1591       case 900 : /* fall through */
1592       case 901 : /* fall through */
1593       case 902 : /* fall through */
1594       case 903 : /* fall through */
1595       case 904 : /* fall through */
1596       case 905 : /* fall through */
1597       case 906 : /* fall through */
1598       case 907 : /* fall through */
1599       case 908 : /* fall through */
1600       case 909 : /* fall through */
1601       case 910 : /* fall through */
1602       case 911 : /* fall through */
1603       case 912 : /* fall through */
1604       case 913 : /* fall through */
1605       case 914 : /* fall through */
1606       case 915 : /* fall through */
1607       case 916 : /* fall through */
1608       case 917 : /* fall through */
1609       case 918 : /* fall through */
1610       case 919 : /* fall through */
1611       case 920 : /* fall through */
1612       case 921 : /* fall through */
1613       case 922 : /* fall through */
1614       case 923 : /* fall through */
1615       case 924 : /* fall through */
1616       case 925 : /* fall through */
1617       case 926 : /* fall through */
1618       case 927 : /* fall through */
1619       case 928 : /* fall through */
1620       case 929 : /* fall through */
1621       case 930 : /* fall through */
1622       case 931 : /* fall through */
1623       case 932 : /* fall through */
1624       case 933 : /* fall through */
1625       case 934 : /* fall through */
1626       case 935 : /* fall through */
1627       case 936 : /* fall through */
1628       case 937 : /* fall through */
1629       case 938 : /* fall through */
1630       case 939 : /* fall through */
1631       case 940 : /* fall through */
1632       case 941 : /* fall through */
1633       case 942 : /* fall through */
1634       case 943 : /* fall through */
1635       case 944 : /* fall through */
1636       case 945 : /* fall through */
1637       case 946 : /* fall through */
1638       case 947 : /* fall through */
1639       case 948 : /* fall through */
1640       case 949 : /* fall through */
1641       case 950 : /* fall through */
1642       case 951 : /* fall through */
1643       case 952 : /* fall through */
1644       case 953 : /* fall through */
1645       case 954 : /* fall through */
1646       case 955 : /* fall through */
1647       case 956 : /* fall through */
1648       case 957 : /* fall through */
1649       case 958 : /* fall through */
1650       case 959 : /* fall through */
1651       case 960 : /* fall through */
1652       case 961 : /* fall through */
1653       case 962 : /* fall through */
1654       case 963 : /* fall through */
1655       case 964 : /* fall through */
1656       case 965 : /* fall through */
1657       case 966 : /* fall through */
1658       case 967 : /* fall through */
1659       case 968 : /* fall through */
1660       case 969 : /* fall through */
1661       case 970 : /* fall through */
1662       case 971 : /* fall through */
1663       case 972 : /* fall through */
1664       case 973 : /* fall through */
1665       case 974 : /* fall through */
1666       case 975 : /* fall through */
1667       case 976 : /* fall through */
1668       case 977 : /* fall through */
1669       case 978 : /* fall through */
1670       case 979 : /* fall through */
1671       case 980 : /* fall through */
1672       case 981 : /* fall through */
1673       case 982 : /* fall through */
1674       case 983 : /* fall through */
1675       case 984 : /* fall through */
1676       case 985 : /* fall through */
1677       case 986 : /* fall through */
1678       case 987 : /* fall through */
1679       case 988 : /* fall through */
1680       case 989 : /* fall through */
1681       case 990 : /* fall through */
1682       case 991 : /* fall through */
1683       case 992 : /* fall through */
1684       case 993 : /* fall through */
1685       case 994 : /* fall through */
1686       case 995 : /* fall through */
1687       case 996 : /* fall through */
1688       case 997 : /* fall through */
1689       case 998 : /* fall through */
1690       case 999 : /* fall through */
1691       case 1000 : /* fall through */
1692       case 1001 : /* fall through */
1693       case 1002 : /* fall through */
1694       case 1003 : /* fall through */
1695       case 1004 : /* fall through */
1696       case 1005 : /* fall through */
1697       case 1006 : /* fall through */
1698       case 1007 : /* fall through */
1699       case 1008 : /* fall through */
1700       case 1009 : /* fall through */
1701       case 1010 : /* fall through */
1702       case 1011 : /* fall through */
1703       case 1012 : /* fall through */
1704       case 1013 : /* fall through */
1705       case 1014 : /* fall through */
1706       case 1015 : /* fall through */
1707       case 1016 : /* fall through */
1708       case 1017 : /* fall through */
1709       case 1018 : /* fall through */
1710       case 1019 : /* fall through */
1711       case 1020 : /* fall through */
1712       case 1021 : /* fall through */
1713       case 1022 : /* fall through */
1714       case 1023 :
1715         entire_insn = entire_insn >> 16;
1716         itype = SH4_NOFPU_INSN_ADDI_COMPACT; sh4_nofpu_extract_sfmt_addi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1717       case 1024 : /* fall through */
1718       case 1025 : /* fall through */
1719       case 1026 : /* fall through */
1720       case 1027 : /* fall through */
1721       case 1028 : /* fall through */
1722       case 1029 : /* fall through */
1723       case 1030 : /* fall through */
1724       case 1031 : /* fall through */
1725       case 1032 : /* fall through */
1726       case 1033 : /* fall through */
1727       case 1034 : /* fall through */
1728       case 1035 : /* fall through */
1729       case 1036 : /* fall through */
1730       case 1037 : /* fall through */
1731       case 1038 : /* fall through */
1732       case 1039 : /* fall through */
1733       case 1040 : /* fall through */
1734       case 1041 : /* fall through */
1735       case 1042 : /* fall through */
1736       case 1043 : /* fall through */
1737       case 1044 : /* fall through */
1738       case 1045 : /* fall through */
1739       case 1046 : /* fall through */
1740       case 1047 : /* fall through */
1741       case 1048 : /* fall through */
1742       case 1049 : /* fall through */
1743       case 1050 : /* fall through */
1744       case 1051 : /* fall through */
1745       case 1052 : /* fall through */
1746       case 1053 : /* fall through */
1747       case 1054 : /* fall through */
1748       case 1055 : /* fall through */
1749       case 1056 : /* fall through */
1750       case 1057 : /* fall through */
1751       case 1058 : /* fall through */
1752       case 1059 : /* fall through */
1753       case 1060 : /* fall through */
1754       case 1061 : /* fall through */
1755       case 1062 : /* fall through */
1756       case 1063 : /* fall through */
1757       case 1064 : /* fall through */
1758       case 1065 : /* fall through */
1759       case 1066 : /* fall through */
1760       case 1067 : /* fall through */
1761       case 1068 : /* fall through */
1762       case 1069 : /* fall through */
1763       case 1070 : /* fall through */
1764       case 1071 : /* fall through */
1765       case 1072 : /* fall through */
1766       case 1073 : /* fall through */
1767       case 1074 : /* fall through */
1768       case 1075 : /* fall through */
1769       case 1076 : /* fall through */
1770       case 1077 : /* fall through */
1771       case 1078 : /* fall through */
1772       case 1079 : /* fall through */
1773       case 1080 : /* fall through */
1774       case 1081 : /* fall through */
1775       case 1082 : /* fall through */
1776       case 1083 : /* fall through */
1777       case 1084 : /* fall through */
1778       case 1085 : /* fall through */
1779       case 1086 : /* fall through */
1780       case 1087 : /* fall through */
1781       case 1088 : /* fall through */
1782       case 1089 : /* fall through */
1783       case 1090 : /* fall through */
1784       case 1091 : /* fall through */
1785       case 1092 : /* fall through */
1786       case 1093 : /* fall through */
1787       case 1094 : /* fall through */
1788       case 1095 : /* fall through */
1789       case 1096 : /* fall through */
1790       case 1097 : /* fall through */
1791       case 1098 : /* fall through */
1792       case 1099 : /* fall through */
1793       case 1100 : /* fall through */
1794       case 1101 : /* fall through */
1795       case 1102 : /* fall through */
1796       case 1103 : /* fall through */
1797       case 1104 : /* fall through */
1798       case 1105 : /* fall through */
1799       case 1106 : /* fall through */
1800       case 1107 : /* fall through */
1801       case 1108 : /* fall through */
1802       case 1109 : /* fall through */
1803       case 1110 : /* fall through */
1804       case 1111 : /* fall through */
1805       case 1112 : /* fall through */
1806       case 1113 : /* fall through */
1807       case 1114 : /* fall through */
1808       case 1115 : /* fall through */
1809       case 1116 : /* fall through */
1810       case 1117 : /* fall through */
1811       case 1118 : /* fall through */
1812       case 1119 : /* fall through */
1813       case 1120 : /* fall through */
1814       case 1121 : /* fall through */
1815       case 1122 : /* fall through */
1816       case 1123 : /* fall through */
1817       case 1124 : /* fall through */
1818       case 1125 : /* fall through */
1819       case 1126 : /* fall through */
1820       case 1127 : /* fall through */
1821       case 1128 : /* fall through */
1822       case 1129 : /* fall through */
1823       case 1130 : /* fall through */
1824       case 1131 : /* fall through */
1825       case 1132 : /* fall through */
1826       case 1133 : /* fall through */
1827       case 1134 : /* fall through */
1828       case 1135 : /* fall through */
1829       case 1136 : /* fall through */
1830       case 1137 : /* fall through */
1831       case 1138 : /* fall through */
1832       case 1139 : /* fall through */
1833       case 1140 : /* fall through */
1834       case 1141 : /* fall through */
1835       case 1142 : /* fall through */
1836       case 1143 : /* fall through */
1837       case 1144 : /* fall through */
1838       case 1145 : /* fall through */
1839       case 1146 : /* fall through */
1840       case 1147 : /* fall through */
1841       case 1148 : /* fall through */
1842       case 1149 : /* fall through */
1843       case 1150 : /* fall through */
1844       case 1151 :
1845         {
1846           unsigned int val = (((insn >> 24) & (15 << 0)));
1847           switch (val)
1848           {
1849           case 0 :
1850             entire_insn = entire_insn >> 16;
1851             itype = SH4_NOFPU_INSN_MOVB5_COMPACT; sh4_nofpu_extract_sfmt_movb5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1852           case 1 :
1853             entire_insn = entire_insn >> 16;
1854             itype = SH4_NOFPU_INSN_MOVW5_COMPACT; sh4_nofpu_extract_sfmt_movw5_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1855           case 4 :
1856             entire_insn = entire_insn >> 16;
1857             itype = SH4_NOFPU_INSN_MOVB10_COMPACT; sh4_nofpu_extract_sfmt_movb10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1858           case 5 :
1859             entire_insn = entire_insn >> 16;
1860             itype = SH4_NOFPU_INSN_MOVW11_COMPACT; sh4_nofpu_extract_sfmt_movw11_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1861           case 8 :
1862             entire_insn = entire_insn >> 16;
1863             itype = SH4_NOFPU_INSN_CMPEQI_COMPACT; sh4_nofpu_extract_sfmt_cmpeqi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1864           case 9 :
1865             entire_insn = entire_insn >> 16;
1866             itype = SH4_NOFPU_INSN_BT_COMPACT; sh4_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1867           case 11 :
1868             entire_insn = entire_insn >> 16;
1869             itype = SH4_NOFPU_INSN_BF_COMPACT; sh4_nofpu_extract_sfmt_bf_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1870           case 13 :
1871             entire_insn = entire_insn >> 16;
1872             itype = SH4_NOFPU_INSN_BTS_COMPACT; sh4_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1873           case 15 :
1874             entire_insn = entire_insn >> 16;
1875             itype = SH4_NOFPU_INSN_BFS_COMPACT; sh4_nofpu_extract_sfmt_bfs_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
1876           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1877           }
1878         }
1879       case 1152 : /* fall through */
1880       case 1153 : /* fall through */
1881       case 1154 : /* fall through */
1882       case 1155 : /* fall through */
1883       case 1156 : /* fall through */
1884       case 1157 : /* fall through */
1885       case 1158 : /* fall through */
1886       case 1159 : /* fall through */
1887       case 1160 : /* fall through */
1888       case 1161 : /* fall through */
1889       case 1162 : /* fall through */
1890       case 1163 : /* fall through */
1891       case 1164 : /* fall through */
1892       case 1165 : /* fall through */
1893       case 1166 : /* fall through */
1894       case 1167 : /* fall through */
1895       case 1168 : /* fall through */
1896       case 1169 : /* fall through */
1897       case 1170 : /* fall through */
1898       case 1171 : /* fall through */
1899       case 1172 : /* fall through */
1900       case 1173 : /* fall through */
1901       case 1174 : /* fall through */
1902       case 1175 : /* fall through */
1903       case 1176 : /* fall through */
1904       case 1177 : /* fall through */
1905       case 1178 : /* fall through */
1906       case 1179 : /* fall through */
1907       case 1180 : /* fall through */
1908       case 1181 : /* fall through */
1909       case 1182 : /* fall through */
1910       case 1183 : /* fall through */
1911       case 1184 : /* fall through */
1912       case 1185 : /* fall through */
1913       case 1186 : /* fall through */
1914       case 1187 : /* fall through */
1915       case 1188 : /* fall through */
1916       case 1189 : /* fall through */
1917       case 1190 : /* fall through */
1918       case 1191 : /* fall through */
1919       case 1192 : /* fall through */
1920       case 1193 : /* fall through */
1921       case 1194 : /* fall through */
1922       case 1195 : /* fall through */
1923       case 1196 : /* fall through */
1924       case 1197 : /* fall through */
1925       case 1198 : /* fall through */
1926       case 1199 : /* fall through */
1927       case 1200 : /* fall through */
1928       case 1201 : /* fall through */
1929       case 1202 : /* fall through */
1930       case 1203 : /* fall through */
1931       case 1204 : /* fall through */
1932       case 1205 : /* fall through */
1933       case 1206 : /* fall through */
1934       case 1207 : /* fall through */
1935       case 1208 : /* fall through */
1936       case 1209 : /* fall through */
1937       case 1210 : /* fall through */
1938       case 1211 : /* fall through */
1939       case 1212 : /* fall through */
1940       case 1213 : /* fall through */
1941       case 1214 : /* fall through */
1942       case 1215 : /* fall through */
1943       case 1216 : /* fall through */
1944       case 1217 : /* fall through */
1945       case 1218 : /* fall through */
1946       case 1219 : /* fall through */
1947       case 1220 : /* fall through */
1948       case 1221 : /* fall through */
1949       case 1222 : /* fall through */
1950       case 1223 : /* fall through */
1951       case 1224 : /* fall through */
1952       case 1225 : /* fall through */
1953       case 1226 : /* fall through */
1954       case 1227 : /* fall through */
1955       case 1228 : /* fall through */
1956       case 1229 : /* fall through */
1957       case 1230 : /* fall through */
1958       case 1231 : /* fall through */
1959       case 1232 : /* fall through */
1960       case 1233 : /* fall through */
1961       case 1234 : /* fall through */
1962       case 1235 : /* fall through */
1963       case 1236 : /* fall through */
1964       case 1237 : /* fall through */
1965       case 1238 : /* fall through */
1966       case 1239 : /* fall through */
1967       case 1240 : /* fall through */
1968       case 1241 : /* fall through */
1969       case 1242 : /* fall through */
1970       case 1243 : /* fall through */
1971       case 1244 : /* fall through */
1972       case 1245 : /* fall through */
1973       case 1246 : /* fall through */
1974       case 1247 : /* fall through */
1975       case 1248 : /* fall through */
1976       case 1249 : /* fall through */
1977       case 1250 : /* fall through */
1978       case 1251 : /* fall through */
1979       case 1252 : /* fall through */
1980       case 1253 : /* fall through */
1981       case 1254 : /* fall through */
1982       case 1255 : /* fall through */
1983       case 1256 : /* fall through */
1984       case 1257 : /* fall through */
1985       case 1258 : /* fall through */
1986       case 1259 : /* fall through */
1987       case 1260 : /* fall through */
1988       case 1261 : /* fall through */
1989       case 1262 : /* fall through */
1990       case 1263 : /* fall through */
1991       case 1264 : /* fall through */
1992       case 1265 : /* fall through */
1993       case 1266 : /* fall through */
1994       case 1267 : /* fall through */
1995       case 1268 : /* fall through */
1996       case 1269 : /* fall through */
1997       case 1270 : /* fall through */
1998       case 1271 : /* fall through */
1999       case 1272 : /* fall through */
2000       case 1273 : /* fall through */
2001       case 1274 : /* fall through */
2002       case 1275 : /* fall through */
2003       case 1276 : /* fall through */
2004       case 1277 : /* fall through */
2005       case 1278 : /* fall through */
2006       case 1279 :
2007         entire_insn = entire_insn >> 16;
2008         itype = SH4_NOFPU_INSN_MOVW10_COMPACT; sh4_nofpu_extract_sfmt_movw10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2009       case 1280 : /* fall through */
2010       case 1281 : /* fall through */
2011       case 1282 : /* fall through */
2012       case 1283 : /* fall through */
2013       case 1284 : /* fall through */
2014       case 1285 : /* fall through */
2015       case 1286 : /* fall through */
2016       case 1287 : /* fall through */
2017       case 1288 : /* fall through */
2018       case 1289 : /* fall through */
2019       case 1290 : /* fall through */
2020       case 1291 : /* fall through */
2021       case 1292 : /* fall through */
2022       case 1293 : /* fall through */
2023       case 1294 : /* fall through */
2024       case 1295 : /* fall through */
2025       case 1296 : /* fall through */
2026       case 1297 : /* fall through */
2027       case 1298 : /* fall through */
2028       case 1299 : /* fall through */
2029       case 1300 : /* fall through */
2030       case 1301 : /* fall through */
2031       case 1302 : /* fall through */
2032       case 1303 : /* fall through */
2033       case 1304 : /* fall through */
2034       case 1305 : /* fall through */
2035       case 1306 : /* fall through */
2036       case 1307 : /* fall through */
2037       case 1308 : /* fall through */
2038       case 1309 : /* fall through */
2039       case 1310 : /* fall through */
2040       case 1311 : /* fall through */
2041       case 1312 : /* fall through */
2042       case 1313 : /* fall through */
2043       case 1314 : /* fall through */
2044       case 1315 : /* fall through */
2045       case 1316 : /* fall through */
2046       case 1317 : /* fall through */
2047       case 1318 : /* fall through */
2048       case 1319 : /* fall through */
2049       case 1320 : /* fall through */
2050       case 1321 : /* fall through */
2051       case 1322 : /* fall through */
2052       case 1323 : /* fall through */
2053       case 1324 : /* fall through */
2054       case 1325 : /* fall through */
2055       case 1326 : /* fall through */
2056       case 1327 : /* fall through */
2057       case 1328 : /* fall through */
2058       case 1329 : /* fall through */
2059       case 1330 : /* fall through */
2060       case 1331 : /* fall through */
2061       case 1332 : /* fall through */
2062       case 1333 : /* fall through */
2063       case 1334 : /* fall through */
2064       case 1335 : /* fall through */
2065       case 1336 : /* fall through */
2066       case 1337 : /* fall through */
2067       case 1338 : /* fall through */
2068       case 1339 : /* fall through */
2069       case 1340 : /* fall through */
2070       case 1341 : /* fall through */
2071       case 1342 : /* fall through */
2072       case 1343 : /* fall through */
2073       case 1344 : /* fall through */
2074       case 1345 : /* fall through */
2075       case 1346 : /* fall through */
2076       case 1347 : /* fall through */
2077       case 1348 : /* fall through */
2078       case 1349 : /* fall through */
2079       case 1350 : /* fall through */
2080       case 1351 : /* fall through */
2081       case 1352 : /* fall through */
2082       case 1353 : /* fall through */
2083       case 1354 : /* fall through */
2084       case 1355 : /* fall through */
2085       case 1356 : /* fall through */
2086       case 1357 : /* fall through */
2087       case 1358 : /* fall through */
2088       case 1359 : /* fall through */
2089       case 1360 : /* fall through */
2090       case 1361 : /* fall through */
2091       case 1362 : /* fall through */
2092       case 1363 : /* fall through */
2093       case 1364 : /* fall through */
2094       case 1365 : /* fall through */
2095       case 1366 : /* fall through */
2096       case 1367 : /* fall through */
2097       case 1368 : /* fall through */
2098       case 1369 : /* fall through */
2099       case 1370 : /* fall through */
2100       case 1371 : /* fall through */
2101       case 1372 : /* fall through */
2102       case 1373 : /* fall through */
2103       case 1374 : /* fall through */
2104       case 1375 : /* fall through */
2105       case 1376 : /* fall through */
2106       case 1377 : /* fall through */
2107       case 1378 : /* fall through */
2108       case 1379 : /* fall through */
2109       case 1380 : /* fall through */
2110       case 1381 : /* fall through */
2111       case 1382 : /* fall through */
2112       case 1383 : /* fall through */
2113       case 1384 : /* fall through */
2114       case 1385 : /* fall through */
2115       case 1386 : /* fall through */
2116       case 1387 : /* fall through */
2117       case 1388 : /* fall through */
2118       case 1389 : /* fall through */
2119       case 1390 : /* fall through */
2120       case 1391 : /* fall through */
2121       case 1392 : /* fall through */
2122       case 1393 : /* fall through */
2123       case 1394 : /* fall through */
2124       case 1395 : /* fall through */
2125       case 1396 : /* fall through */
2126       case 1397 : /* fall through */
2127       case 1398 : /* fall through */
2128       case 1399 : /* fall through */
2129       case 1400 : /* fall through */
2130       case 1401 : /* fall through */
2131       case 1402 : /* fall through */
2132       case 1403 : /* fall through */
2133       case 1404 : /* fall through */
2134       case 1405 : /* fall through */
2135       case 1406 : /* fall through */
2136       case 1407 :
2137         entire_insn = entire_insn >> 16;
2138         itype = SH4_NOFPU_INSN_BRA_COMPACT; sh4_nofpu_extract_sfmt_bra_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2139       case 1408 : /* fall through */
2140       case 1409 : /* fall through */
2141       case 1410 : /* fall through */
2142       case 1411 : /* fall through */
2143       case 1412 : /* fall through */
2144       case 1413 : /* fall through */
2145       case 1414 : /* fall through */
2146       case 1415 : /* fall through */
2147       case 1416 : /* fall through */
2148       case 1417 : /* fall through */
2149       case 1418 : /* fall through */
2150       case 1419 : /* fall through */
2151       case 1420 : /* fall through */
2152       case 1421 : /* fall through */
2153       case 1422 : /* fall through */
2154       case 1423 : /* fall through */
2155       case 1424 : /* fall through */
2156       case 1425 : /* fall through */
2157       case 1426 : /* fall through */
2158       case 1427 : /* fall through */
2159       case 1428 : /* fall through */
2160       case 1429 : /* fall through */
2161       case 1430 : /* fall through */
2162       case 1431 : /* fall through */
2163       case 1432 : /* fall through */
2164       case 1433 : /* fall through */
2165       case 1434 : /* fall through */
2166       case 1435 : /* fall through */
2167       case 1436 : /* fall through */
2168       case 1437 : /* fall through */
2169       case 1438 : /* fall through */
2170       case 1439 : /* fall through */
2171       case 1440 : /* fall through */
2172       case 1441 : /* fall through */
2173       case 1442 : /* fall through */
2174       case 1443 : /* fall through */
2175       case 1444 : /* fall through */
2176       case 1445 : /* fall through */
2177       case 1446 : /* fall through */
2178       case 1447 : /* fall through */
2179       case 1448 : /* fall through */
2180       case 1449 : /* fall through */
2181       case 1450 : /* fall through */
2182       case 1451 : /* fall through */
2183       case 1452 : /* fall through */
2184       case 1453 : /* fall through */
2185       case 1454 : /* fall through */
2186       case 1455 : /* fall through */
2187       case 1456 : /* fall through */
2188       case 1457 : /* fall through */
2189       case 1458 : /* fall through */
2190       case 1459 : /* fall through */
2191       case 1460 : /* fall through */
2192       case 1461 : /* fall through */
2193       case 1462 : /* fall through */
2194       case 1463 : /* fall through */
2195       case 1464 : /* fall through */
2196       case 1465 : /* fall through */
2197       case 1466 : /* fall through */
2198       case 1467 : /* fall through */
2199       case 1468 : /* fall through */
2200       case 1469 : /* fall through */
2201       case 1470 : /* fall through */
2202       case 1471 : /* fall through */
2203       case 1472 : /* fall through */
2204       case 1473 : /* fall through */
2205       case 1474 : /* fall through */
2206       case 1475 : /* fall through */
2207       case 1476 : /* fall through */
2208       case 1477 : /* fall through */
2209       case 1478 : /* fall through */
2210       case 1479 : /* fall through */
2211       case 1480 : /* fall through */
2212       case 1481 : /* fall through */
2213       case 1482 : /* fall through */
2214       case 1483 : /* fall through */
2215       case 1484 : /* fall through */
2216       case 1485 : /* fall through */
2217       case 1486 : /* fall through */
2218       case 1487 : /* fall through */
2219       case 1488 : /* fall through */
2220       case 1489 : /* fall through */
2221       case 1490 : /* fall through */
2222       case 1491 : /* fall through */
2223       case 1492 : /* fall through */
2224       case 1493 : /* fall through */
2225       case 1494 : /* fall through */
2226       case 1495 : /* fall through */
2227       case 1496 : /* fall through */
2228       case 1497 : /* fall through */
2229       case 1498 : /* fall through */
2230       case 1499 : /* fall through */
2231       case 1500 : /* fall through */
2232       case 1501 : /* fall through */
2233       case 1502 : /* fall through */
2234       case 1503 : /* fall through */
2235       case 1504 : /* fall through */
2236       case 1505 : /* fall through */
2237       case 1506 : /* fall through */
2238       case 1507 : /* fall through */
2239       case 1508 : /* fall through */
2240       case 1509 : /* fall through */
2241       case 1510 : /* fall through */
2242       case 1511 : /* fall through */
2243       case 1512 : /* fall through */
2244       case 1513 : /* fall through */
2245       case 1514 : /* fall through */
2246       case 1515 : /* fall through */
2247       case 1516 : /* fall through */
2248       case 1517 : /* fall through */
2249       case 1518 : /* fall through */
2250       case 1519 : /* fall through */
2251       case 1520 : /* fall through */
2252       case 1521 : /* fall through */
2253       case 1522 : /* fall through */
2254       case 1523 : /* fall through */
2255       case 1524 : /* fall through */
2256       case 1525 : /* fall through */
2257       case 1526 : /* fall through */
2258       case 1527 : /* fall through */
2259       case 1528 : /* fall through */
2260       case 1529 : /* fall through */
2261       case 1530 : /* fall through */
2262       case 1531 : /* fall through */
2263       case 1532 : /* fall through */
2264       case 1533 : /* fall through */
2265       case 1534 : /* fall through */
2266       case 1535 :
2267         entire_insn = entire_insn >> 16;
2268         itype = SH4_NOFPU_INSN_BSR_COMPACT; sh4_nofpu_extract_sfmt_bsr_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2269       case 1536 : /* fall through */
2270       case 1537 : /* fall through */
2271       case 1538 : /* fall through */
2272       case 1539 : /* fall through */
2273       case 1540 : /* fall through */
2274       case 1541 : /* fall through */
2275       case 1542 : /* fall through */
2276       case 1543 : /* fall through */
2277       case 1544 : /* fall through */
2278       case 1545 : /* fall through */
2279       case 1546 : /* fall through */
2280       case 1547 : /* fall through */
2281       case 1548 : /* fall through */
2282       case 1549 : /* fall through */
2283       case 1550 : /* fall through */
2284       case 1551 : /* fall through */
2285       case 1552 : /* fall through */
2286       case 1553 : /* fall through */
2287       case 1554 : /* fall through */
2288       case 1555 : /* fall through */
2289       case 1556 : /* fall through */
2290       case 1557 : /* fall through */
2291       case 1558 : /* fall through */
2292       case 1559 : /* fall through */
2293       case 1560 : /* fall through */
2294       case 1561 : /* fall through */
2295       case 1562 : /* fall through */
2296       case 1563 : /* fall through */
2297       case 1564 : /* fall through */
2298       case 1565 : /* fall through */
2299       case 1566 : /* fall through */
2300       case 1567 : /* fall through */
2301       case 1568 : /* fall through */
2302       case 1569 : /* fall through */
2303       case 1570 : /* fall through */
2304       case 1571 : /* fall through */
2305       case 1572 : /* fall through */
2306       case 1573 : /* fall through */
2307       case 1574 : /* fall through */
2308       case 1575 : /* fall through */
2309       case 1576 : /* fall through */
2310       case 1577 : /* fall through */
2311       case 1578 : /* fall through */
2312       case 1579 : /* fall through */
2313       case 1580 : /* fall through */
2314       case 1581 : /* fall through */
2315       case 1582 : /* fall through */
2316       case 1583 : /* fall through */
2317       case 1584 : /* fall through */
2318       case 1585 : /* fall through */
2319       case 1586 : /* fall through */
2320       case 1587 : /* fall through */
2321       case 1588 : /* fall through */
2322       case 1589 : /* fall through */
2323       case 1590 : /* fall through */
2324       case 1591 : /* fall through */
2325       case 1592 : /* fall through */
2326       case 1593 : /* fall through */
2327       case 1594 : /* fall through */
2328       case 1595 : /* fall through */
2329       case 1596 : /* fall through */
2330       case 1597 : /* fall through */
2331       case 1598 : /* fall through */
2332       case 1599 : /* fall through */
2333       case 1600 : /* fall through */
2334       case 1601 : /* fall through */
2335       case 1602 : /* fall through */
2336       case 1603 : /* fall through */
2337       case 1604 : /* fall through */
2338       case 1605 : /* fall through */
2339       case 1606 : /* fall through */
2340       case 1607 : /* fall through */
2341       case 1608 : /* fall through */
2342       case 1609 : /* fall through */
2343       case 1610 : /* fall through */
2344       case 1611 : /* fall through */
2345       case 1612 : /* fall through */
2346       case 1613 : /* fall through */
2347       case 1614 : /* fall through */
2348       case 1615 : /* fall through */
2349       case 1616 : /* fall through */
2350       case 1617 : /* fall through */
2351       case 1618 : /* fall through */
2352       case 1619 : /* fall through */
2353       case 1620 : /* fall through */
2354       case 1621 : /* fall through */
2355       case 1622 : /* fall through */
2356       case 1623 : /* fall through */
2357       case 1624 : /* fall through */
2358       case 1625 : /* fall through */
2359       case 1626 : /* fall through */
2360       case 1627 : /* fall through */
2361       case 1628 : /* fall through */
2362       case 1629 : /* fall through */
2363       case 1630 : /* fall through */
2364       case 1631 : /* fall through */
2365       case 1632 : /* fall through */
2366       case 1633 : /* fall through */
2367       case 1634 : /* fall through */
2368       case 1635 : /* fall through */
2369       case 1636 : /* fall through */
2370       case 1637 : /* fall through */
2371       case 1638 : /* fall through */
2372       case 1639 : /* fall through */
2373       case 1640 : /* fall through */
2374       case 1641 : /* fall through */
2375       case 1642 : /* fall through */
2376       case 1643 : /* fall through */
2377       case 1644 : /* fall through */
2378       case 1645 : /* fall through */
2379       case 1646 : /* fall through */
2380       case 1647 : /* fall through */
2381       case 1648 : /* fall through */
2382       case 1649 : /* fall through */
2383       case 1650 : /* fall through */
2384       case 1651 : /* fall through */
2385       case 1652 : /* fall through */
2386       case 1653 : /* fall through */
2387       case 1654 : /* fall through */
2388       case 1655 : /* fall through */
2389       case 1656 : /* fall through */
2390       case 1657 : /* fall through */
2391       case 1658 : /* fall through */
2392       case 1659 : /* fall through */
2393       case 1660 : /* fall through */
2394       case 1661 : /* fall through */
2395       case 1662 : /* fall through */
2396       case 1663 :
2397         {
2398           unsigned int val = (((insn >> 24) & (15 << 0)));
2399           switch (val)
2400           {
2401           case 0 :
2402             entire_insn = entire_insn >> 16;
2403             itype = SH4_NOFPU_INSN_MOVB4_COMPACT; sh4_nofpu_extract_sfmt_movb4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2404           case 1 :
2405             entire_insn = entire_insn >> 16;
2406             itype = SH4_NOFPU_INSN_MOVW4_COMPACT; sh4_nofpu_extract_sfmt_movw4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2407           case 2 :
2408             entire_insn = entire_insn >> 16;
2409             itype = SH4_NOFPU_INSN_MOVL4_COMPACT; sh4_nofpu_extract_sfmt_movl4_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2410           case 3 :
2411             entire_insn = entire_insn >> 16;
2412             itype = SH4_NOFPU_INSN_TRAPA_COMPACT; sh4_nofpu_extract_sfmt_trapa_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2413           case 4 :
2414             entire_insn = entire_insn >> 16;
2415             itype = SH4_NOFPU_INSN_MOVB9_COMPACT; sh4_nofpu_extract_sfmt_movb9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2416           case 5 :
2417             entire_insn = entire_insn >> 16;
2418             itype = SH4_NOFPU_INSN_MOVW9_COMPACT; sh4_nofpu_extract_sfmt_movw9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2419           case 6 :
2420             entire_insn = entire_insn >> 16;
2421             itype = SH4_NOFPU_INSN_MOVL9_COMPACT; sh4_nofpu_extract_sfmt_movl9_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2422           case 7 :
2423             entire_insn = entire_insn >> 16;
2424             itype = SH4_NOFPU_INSN_MOVA_COMPACT; sh4_nofpu_extract_sfmt_mova_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2425           case 8 :
2426             entire_insn = entire_insn >> 16;
2427             itype = SH4_NOFPU_INSN_TSTI_COMPACT; sh4_nofpu_extract_sfmt_tsti_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2428           case 9 :
2429             entire_insn = entire_insn >> 16;
2430             itype = SH4_NOFPU_INSN_ANDI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2431           case 10 :
2432             entire_insn = entire_insn >> 16;
2433             itype = SH4_NOFPU_INSN_XORI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2434           case 11 :
2435             entire_insn = entire_insn >> 16;
2436             itype = SH4_NOFPU_INSN_ORI_COMPACT; sh4_nofpu_extract_sfmt_andi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2437           case 12 :
2438             entire_insn = entire_insn >> 16;
2439             itype = SH4_NOFPU_INSN_TSTB_COMPACT; sh4_nofpu_extract_sfmt_tstb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2440           case 13 :
2441             entire_insn = entire_insn >> 16;
2442             itype = SH4_NOFPU_INSN_ANDB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2443           case 14 :
2444             entire_insn = entire_insn >> 16;
2445             itype = SH4_NOFPU_INSN_XORB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2446           case 15 :
2447             entire_insn = entire_insn >> 16;
2448             itype = SH4_NOFPU_INSN_ORB_COMPACT; sh4_nofpu_extract_sfmt_andb_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2449           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2450           }
2451         }
2452       case 1664 : /* fall through */
2453       case 1665 : /* fall through */
2454       case 1666 : /* fall through */
2455       case 1667 : /* fall through */
2456       case 1668 : /* fall through */
2457       case 1669 : /* fall through */
2458       case 1670 : /* fall through */
2459       case 1671 : /* fall through */
2460       case 1672 : /* fall through */
2461       case 1673 : /* fall through */
2462       case 1674 : /* fall through */
2463       case 1675 : /* fall through */
2464       case 1676 : /* fall through */
2465       case 1677 : /* fall through */
2466       case 1678 : /* fall through */
2467       case 1679 : /* fall through */
2468       case 1680 : /* fall through */
2469       case 1681 : /* fall through */
2470       case 1682 : /* fall through */
2471       case 1683 : /* fall through */
2472       case 1684 : /* fall through */
2473       case 1685 : /* fall through */
2474       case 1686 : /* fall through */
2475       case 1687 : /* fall through */
2476       case 1688 : /* fall through */
2477       case 1689 : /* fall through */
2478       case 1690 : /* fall through */
2479       case 1691 : /* fall through */
2480       case 1692 : /* fall through */
2481       case 1693 : /* fall through */
2482       case 1694 : /* fall through */
2483       case 1695 : /* fall through */
2484       case 1696 : /* fall through */
2485       case 1697 : /* fall through */
2486       case 1698 : /* fall through */
2487       case 1699 : /* fall through */
2488       case 1700 : /* fall through */
2489       case 1701 : /* fall through */
2490       case 1702 : /* fall through */
2491       case 1703 : /* fall through */
2492       case 1704 : /* fall through */
2493       case 1705 : /* fall through */
2494       case 1706 : /* fall through */
2495       case 1707 : /* fall through */
2496       case 1708 : /* fall through */
2497       case 1709 : /* fall through */
2498       case 1710 : /* fall through */
2499       case 1711 : /* fall through */
2500       case 1712 : /* fall through */
2501       case 1713 : /* fall through */
2502       case 1714 : /* fall through */
2503       case 1715 : /* fall through */
2504       case 1716 : /* fall through */
2505       case 1717 : /* fall through */
2506       case 1718 : /* fall through */
2507       case 1719 : /* fall through */
2508       case 1720 : /* fall through */
2509       case 1721 : /* fall through */
2510       case 1722 : /* fall through */
2511       case 1723 : /* fall through */
2512       case 1724 : /* fall through */
2513       case 1725 : /* fall through */
2514       case 1726 : /* fall through */
2515       case 1727 : /* fall through */
2516       case 1728 : /* fall through */
2517       case 1729 : /* fall through */
2518       case 1730 : /* fall through */
2519       case 1731 : /* fall through */
2520       case 1732 : /* fall through */
2521       case 1733 : /* fall through */
2522       case 1734 : /* fall through */
2523       case 1735 : /* fall through */
2524       case 1736 : /* fall through */
2525       case 1737 : /* fall through */
2526       case 1738 : /* fall through */
2527       case 1739 : /* fall through */
2528       case 1740 : /* fall through */
2529       case 1741 : /* fall through */
2530       case 1742 : /* fall through */
2531       case 1743 : /* fall through */
2532       case 1744 : /* fall through */
2533       case 1745 : /* fall through */
2534       case 1746 : /* fall through */
2535       case 1747 : /* fall through */
2536       case 1748 : /* fall through */
2537       case 1749 : /* fall through */
2538       case 1750 : /* fall through */
2539       case 1751 : /* fall through */
2540       case 1752 : /* fall through */
2541       case 1753 : /* fall through */
2542       case 1754 : /* fall through */
2543       case 1755 : /* fall through */
2544       case 1756 : /* fall through */
2545       case 1757 : /* fall through */
2546       case 1758 : /* fall through */
2547       case 1759 : /* fall through */
2548       case 1760 : /* fall through */
2549       case 1761 : /* fall through */
2550       case 1762 : /* fall through */
2551       case 1763 : /* fall through */
2552       case 1764 : /* fall through */
2553       case 1765 : /* fall through */
2554       case 1766 : /* fall through */
2555       case 1767 : /* fall through */
2556       case 1768 : /* fall through */
2557       case 1769 : /* fall through */
2558       case 1770 : /* fall through */
2559       case 1771 : /* fall through */
2560       case 1772 : /* fall through */
2561       case 1773 : /* fall through */
2562       case 1774 : /* fall through */
2563       case 1775 : /* fall through */
2564       case 1776 : /* fall through */
2565       case 1777 : /* fall through */
2566       case 1778 : /* fall through */
2567       case 1779 : /* fall through */
2568       case 1780 : /* fall through */
2569       case 1781 : /* fall through */
2570       case 1782 : /* fall through */
2571       case 1783 : /* fall through */
2572       case 1784 : /* fall through */
2573       case 1785 : /* fall through */
2574       case 1786 : /* fall through */
2575       case 1787 : /* fall through */
2576       case 1788 : /* fall through */
2577       case 1789 : /* fall through */
2578       case 1790 : /* fall through */
2579       case 1791 :
2580         entire_insn = entire_insn >> 16;
2581         itype = SH4_NOFPU_INSN_MOVL10_COMPACT; sh4_nofpu_extract_sfmt_movl10_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2582       case 1792 : /* fall through */
2583       case 1793 : /* fall through */
2584       case 1794 : /* fall through */
2585       case 1795 : /* fall through */
2586       case 1796 : /* fall through */
2587       case 1797 : /* fall through */
2588       case 1798 : /* fall through */
2589       case 1799 : /* fall through */
2590       case 1800 : /* fall through */
2591       case 1801 : /* fall through */
2592       case 1802 : /* fall through */
2593       case 1803 : /* fall through */
2594       case 1804 : /* fall through */
2595       case 1805 : /* fall through */
2596       case 1806 : /* fall through */
2597       case 1807 : /* fall through */
2598       case 1808 : /* fall through */
2599       case 1809 : /* fall through */
2600       case 1810 : /* fall through */
2601       case 1811 : /* fall through */
2602       case 1812 : /* fall through */
2603       case 1813 : /* fall through */
2604       case 1814 : /* fall through */
2605       case 1815 : /* fall through */
2606       case 1816 : /* fall through */
2607       case 1817 : /* fall through */
2608       case 1818 : /* fall through */
2609       case 1819 : /* fall through */
2610       case 1820 : /* fall through */
2611       case 1821 : /* fall through */
2612       case 1822 : /* fall through */
2613       case 1823 : /* fall through */
2614       case 1824 : /* fall through */
2615       case 1825 : /* fall through */
2616       case 1826 : /* fall through */
2617       case 1827 : /* fall through */
2618       case 1828 : /* fall through */
2619       case 1829 : /* fall through */
2620       case 1830 : /* fall through */
2621       case 1831 : /* fall through */
2622       case 1832 : /* fall through */
2623       case 1833 : /* fall through */
2624       case 1834 : /* fall through */
2625       case 1835 : /* fall through */
2626       case 1836 : /* fall through */
2627       case 1837 : /* fall through */
2628       case 1838 : /* fall through */
2629       case 1839 : /* fall through */
2630       case 1840 : /* fall through */
2631       case 1841 : /* fall through */
2632       case 1842 : /* fall through */
2633       case 1843 : /* fall through */
2634       case 1844 : /* fall through */
2635       case 1845 : /* fall through */
2636       case 1846 : /* fall through */
2637       case 1847 : /* fall through */
2638       case 1848 : /* fall through */
2639       case 1849 : /* fall through */
2640       case 1850 : /* fall through */
2641       case 1851 : /* fall through */
2642       case 1852 : /* fall through */
2643       case 1853 : /* fall through */
2644       case 1854 : /* fall through */
2645       case 1855 : /* fall through */
2646       case 1856 : /* fall through */
2647       case 1857 : /* fall through */
2648       case 1858 : /* fall through */
2649       case 1859 : /* fall through */
2650       case 1860 : /* fall through */
2651       case 1861 : /* fall through */
2652       case 1862 : /* fall through */
2653       case 1863 : /* fall through */
2654       case 1864 : /* fall through */
2655       case 1865 : /* fall through */
2656       case 1866 : /* fall through */
2657       case 1867 : /* fall through */
2658       case 1868 : /* fall through */
2659       case 1869 : /* fall through */
2660       case 1870 : /* fall through */
2661       case 1871 : /* fall through */
2662       case 1872 : /* fall through */
2663       case 1873 : /* fall through */
2664       case 1874 : /* fall through */
2665       case 1875 : /* fall through */
2666       case 1876 : /* fall through */
2667       case 1877 : /* fall through */
2668       case 1878 : /* fall through */
2669       case 1879 : /* fall through */
2670       case 1880 : /* fall through */
2671       case 1881 : /* fall through */
2672       case 1882 : /* fall through */
2673       case 1883 : /* fall through */
2674       case 1884 : /* fall through */
2675       case 1885 : /* fall through */
2676       case 1886 : /* fall through */
2677       case 1887 : /* fall through */
2678       case 1888 : /* fall through */
2679       case 1889 : /* fall through */
2680       case 1890 : /* fall through */
2681       case 1891 : /* fall through */
2682       case 1892 : /* fall through */
2683       case 1893 : /* fall through */
2684       case 1894 : /* fall through */
2685       case 1895 : /* fall through */
2686       case 1896 : /* fall through */
2687       case 1897 : /* fall through */
2688       case 1898 : /* fall through */
2689       case 1899 : /* fall through */
2690       case 1900 : /* fall through */
2691       case 1901 : /* fall through */
2692       case 1902 : /* fall through */
2693       case 1903 : /* fall through */
2694       case 1904 : /* fall through */
2695       case 1905 : /* fall through */
2696       case 1906 : /* fall through */
2697       case 1907 : /* fall through */
2698       case 1908 : /* fall through */
2699       case 1909 : /* fall through */
2700       case 1910 : /* fall through */
2701       case 1911 : /* fall through */
2702       case 1912 : /* fall through */
2703       case 1913 : /* fall through */
2704       case 1914 : /* fall through */
2705       case 1915 : /* fall through */
2706       case 1916 : /* fall through */
2707       case 1917 : /* fall through */
2708       case 1918 : /* fall through */
2709       case 1919 :
2710         entire_insn = entire_insn >> 16;
2711         itype = SH4_NOFPU_INSN_MOVI_COMPACT; sh4_nofpu_extract_sfmt_movi_compact (this, current_cpu, pc, base_insn, entire_insn); goto done;
2712       case 2045 :
2713         {
2714           unsigned int val = (((insn >> 27) & (1 << 0)));
2715           switch (val)
2716           {
2717           case 0 :
2718             entire_insn = entire_insn >> 16;
2719             if ((entire_insn & 0xffff) == 0xf3fd)
2720               { itype = SH4_NOFPU_INSN_FSCHG_COMPACT; sh4_nofpu_extract_sfmt_fschg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2721             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2722           case 1 :
2723             entire_insn = entire_insn >> 16;
2724             if ((entire_insn & 0xffff) == 0xfbfd)
2725               { itype = SH4_NOFPU_INSN_FRCHG_COMPACT; sh4_nofpu_extract_sfmt_frchg_compact (this, current_cpu, pc, base_insn, entire_insn); goto done; }
2726             itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2727           default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2728           }
2729         }
2730       default : itype = SH4_NOFPU_INSN_X_INVALID; sh4_nofpu_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2731       }
2732     }
2733
2734   }
2735
2736   /* The instruction has been decoded and fields extracted.  */
2737   done:
2738
2739   this->addr = pc;
2740   // FIXME: To be redone (to handle ISA variants).
2741   this->idesc = & sh4_nofpu_idesc::idesc_table[itype];
2742   // ??? record semantic handler?
2743   assert(this->idesc->sem_index == itype);
2744 }
2745
2746 void
2747 sh4_nofpu_extract_sfmt_empty (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2748     sh4_nofpu_insn_word insn = entire_insn;
2749 #define FLD(f) abuf->fields.fmt_empty.f
2750
2751
2752   /* Record the fields for the semantic handler.  */
2753   if (UNLIKELY(current_cpu->trace_extract_p))
2754     {
2755       current_cpu->trace_stream 
2756         << "0x" << hex << pc << dec << " (sfmt_empty)\t"
2757         << endl;
2758     }
2759
2760 #undef FLD
2761 }
2762
2763 void
2764 sh4_nofpu_extract_sfmt_add_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2765     sh4_nofpu_insn_word insn = entire_insn;
2766 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2767     UINT f_rn;
2768     UINT f_rm;
2769
2770     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2771     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2772
2773   /* Record the fields for the semantic handler.  */
2774   FLD (f_rm) = f_rm;
2775   FLD (f_rn) = f_rn;
2776   if (UNLIKELY(current_cpu->trace_extract_p))
2777     {
2778       current_cpu->trace_stream 
2779         << "0x" << hex << pc << dec << " (sfmt_add_compact)\t"
2780         << " f_rm:0x" << hex << f_rm << dec
2781         << " f_rn:0x" << hex << f_rn << dec
2782         << endl;
2783     }
2784
2785   /* Record the fields for profiling.  */
2786   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2787     {
2788       FLD (in_rm) = f_rm;
2789       FLD (in_rn) = f_rn;
2790       FLD (out_rn) = f_rn;
2791     }
2792 #undef FLD
2793 }
2794
2795 void
2796 sh4_nofpu_extract_sfmt_addi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2797     sh4_nofpu_insn_word insn = entire_insn;
2798 #define FLD(f) abuf->fields.sfmt_addi_compact.f
2799     UINT f_rn;
2800     UINT f_imm8;
2801
2802     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2803     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2804
2805   /* Record the fields for the semantic handler.  */
2806   FLD (f_imm8) = f_imm8;
2807   FLD (f_rn) = f_rn;
2808   if (UNLIKELY(current_cpu->trace_extract_p))
2809     {
2810       current_cpu->trace_stream 
2811         << "0x" << hex << pc << dec << " (sfmt_addi_compact)\t"
2812         << " f_imm8:0x" << hex << f_imm8 << dec
2813         << " f_rn:0x" << hex << f_rn << dec
2814         << endl;
2815     }
2816
2817   /* Record the fields for profiling.  */
2818   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2819     {
2820       FLD (in_rn) = f_rn;
2821       FLD (out_rn) = f_rn;
2822     }
2823 #undef FLD
2824 }
2825
2826 void
2827 sh4_nofpu_extract_sfmt_addc_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2828     sh4_nofpu_insn_word insn = entire_insn;
2829 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2830     UINT f_rn;
2831     UINT f_rm;
2832
2833     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2834     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2835
2836   /* Record the fields for the semantic handler.  */
2837   FLD (f_rm) = f_rm;
2838   FLD (f_rn) = f_rn;
2839   if (UNLIKELY(current_cpu->trace_extract_p))
2840     {
2841       current_cpu->trace_stream 
2842         << "0x" << hex << pc << dec << " (sfmt_addc_compact)\t"
2843         << " f_rm:0x" << hex << f_rm << dec
2844         << " f_rn:0x" << hex << f_rn << dec
2845         << endl;
2846     }
2847
2848   /* Record the fields for profiling.  */
2849   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2850     {
2851       FLD (in_rm) = f_rm;
2852       FLD (in_rn) = f_rn;
2853       FLD (out_rn) = f_rn;
2854     }
2855 #undef FLD
2856 }
2857
2858 void
2859 sh4_nofpu_extract_sfmt_addv_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2860     sh4_nofpu_insn_word insn = entire_insn;
2861 #define FLD(f) abuf->fields.sfmt_macl_compact.f
2862     UINT f_rn;
2863     UINT f_rm;
2864
2865     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2866     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2867
2868   /* Record the fields for the semantic handler.  */
2869   FLD (f_rm) = f_rm;
2870   FLD (f_rn) = f_rn;
2871   if (UNLIKELY(current_cpu->trace_extract_p))
2872     {
2873       current_cpu->trace_stream 
2874         << "0x" << hex << pc << dec << " (sfmt_addv_compact)\t"
2875         << " f_rm:0x" << hex << f_rm << dec
2876         << " f_rn:0x" << hex << f_rn << dec
2877         << endl;
2878     }
2879
2880   /* Record the fields for profiling.  */
2881   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2882     {
2883       FLD (in_rm) = f_rm;
2884       FLD (in_rn) = f_rn;
2885       FLD (out_rn) = f_rn;
2886     }
2887 #undef FLD
2888 }
2889
2890 void
2891 sh4_nofpu_extract_sfmt_and_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2892     sh4_nofpu_insn_word insn = entire_insn;
2893 #define FLD(f) abuf->fields.sfmt_and_compact.f
2894     UINT f_rn;
2895     UINT f_rm;
2896
2897     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2898     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2899
2900   /* Record the fields for the semantic handler.  */
2901   FLD (f_rm) = f_rm;
2902   FLD (f_rn) = f_rn;
2903   if (UNLIKELY(current_cpu->trace_extract_p))
2904     {
2905       current_cpu->trace_stream 
2906         << "0x" << hex << pc << dec << " (sfmt_and_compact)\t"
2907         << " f_rm:0x" << hex << f_rm << dec
2908         << " f_rn:0x" << hex << f_rn << dec
2909         << endl;
2910     }
2911
2912   /* Record the fields for profiling.  */
2913   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2914     {
2915       FLD (in_rm64) = f_rm;
2916       FLD (in_rn64) = f_rn;
2917       FLD (out_rn64) = f_rn;
2918     }
2919 #undef FLD
2920 }
2921
2922 void
2923 sh4_nofpu_extract_sfmt_andi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2924     sh4_nofpu_insn_word insn = entire_insn;
2925 #define FLD(f) abuf->fields.sfmt_andi_compact.f
2926     UINT f_imm8;
2927
2928     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2929
2930   /* Record the fields for the semantic handler.  */
2931   FLD (f_imm8) = f_imm8;
2932   if (UNLIKELY(current_cpu->trace_extract_p))
2933     {
2934       current_cpu->trace_stream 
2935         << "0x" << hex << pc << dec << " (sfmt_andi_compact)\t"
2936         << " f_imm8:0x" << hex << f_imm8 << dec
2937         << endl;
2938     }
2939
2940   /* Record the fields for profiling.  */
2941   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2942     {
2943       FLD (in_r0) = 0;
2944       FLD (out_r0) = 0;
2945     }
2946 #undef FLD
2947 }
2948
2949 void
2950 sh4_nofpu_extract_sfmt_andb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2951     sh4_nofpu_insn_word insn = entire_insn;
2952 #define FLD(f) abuf->fields.sfmt_andi_compact.f
2953     UINT f_imm8;
2954
2955     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2956
2957   /* Record the fields for the semantic handler.  */
2958   FLD (f_imm8) = f_imm8;
2959   if (UNLIKELY(current_cpu->trace_extract_p))
2960     {
2961       current_cpu->trace_stream 
2962         << "0x" << hex << pc << dec << " (sfmt_andb_compact)\t"
2963         << " f_imm8:0x" << hex << f_imm8 << dec
2964         << endl;
2965     }
2966
2967   /* Record the fields for profiling.  */
2968   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2969     {
2970       FLD (in_r0) = 0;
2971     }
2972 #undef FLD
2973 }
2974
2975 void
2976 sh4_nofpu_extract_sfmt_bf_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
2977     sh4_nofpu_insn_word insn = entire_insn;
2978 #define FLD(f) abuf->fields.sfmt_bf_compact.f
2979     SI f_disp8;
2980
2981     f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
2982
2983   /* Record the fields for the semantic handler.  */
2984   FLD (i_disp8) = f_disp8;
2985   if (UNLIKELY(current_cpu->trace_extract_p))
2986     {
2987       current_cpu->trace_stream 
2988         << "0x" << hex << pc << dec << " (sfmt_bf_compact)\t"
2989         << endl;
2990     }
2991
2992   /* Record the fields for profiling.  */
2993   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2994     {
2995     }
2996 #undef FLD
2997 }
2998
2999 void
3000 sh4_nofpu_extract_sfmt_bfs_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3001     sh4_nofpu_insn_word insn = entire_insn;
3002 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3003     SI f_disp8;
3004
3005     f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3006
3007   /* Record the fields for the semantic handler.  */
3008   FLD (i_disp8) = f_disp8;
3009   if (UNLIKELY(current_cpu->trace_extract_p))
3010     {
3011       current_cpu->trace_stream 
3012         << "0x" << hex << pc << dec << " (sfmt_bfs_compact)\t"
3013         << endl;
3014     }
3015
3016   /* Record the fields for profiling.  */
3017   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3018     {
3019     }
3020 #undef FLD
3021 }
3022
3023 void
3024 sh4_nofpu_extract_sfmt_bra_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3025     sh4_nofpu_insn_word insn = entire_insn;
3026 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3027     SI f_disp12;
3028
3029     f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3030
3031   /* Record the fields for the semantic handler.  */
3032   FLD (i_disp12) = f_disp12;
3033   if (UNLIKELY(current_cpu->trace_extract_p))
3034     {
3035       current_cpu->trace_stream 
3036         << "0x" << hex << pc << dec << " (sfmt_bra_compact)\t"
3037         << endl;
3038     }
3039
3040   /* Record the fields for profiling.  */
3041   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3042     {
3043     }
3044 #undef FLD
3045 }
3046
3047 void
3048 sh4_nofpu_extract_sfmt_braf_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3049     sh4_nofpu_insn_word insn = entire_insn;
3050 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3051     UINT f_rn;
3052
3053     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3054
3055   /* Record the fields for the semantic handler.  */
3056   FLD (f_rn) = f_rn;
3057   if (UNLIKELY(current_cpu->trace_extract_p))
3058     {
3059       current_cpu->trace_stream 
3060         << "0x" << hex << pc << dec << " (sfmt_braf_compact)\t"
3061         << " f_rn:0x" << hex << f_rn << dec
3062         << endl;
3063     }
3064
3065   /* Record the fields for profiling.  */
3066   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3067     {
3068       FLD (in_rn) = f_rn;
3069     }
3070 #undef FLD
3071 }
3072
3073 void
3074 sh4_nofpu_extract_sfmt_bsr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3075     sh4_nofpu_insn_word insn = entire_insn;
3076 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3077     SI f_disp12;
3078
3079     f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3080
3081   /* Record the fields for the semantic handler.  */
3082   FLD (i_disp12) = f_disp12;
3083   if (UNLIKELY(current_cpu->trace_extract_p))
3084     {
3085       current_cpu->trace_stream 
3086         << "0x" << hex << pc << dec << " (sfmt_bsr_compact)\t"
3087         << endl;
3088     }
3089
3090   /* Record the fields for profiling.  */
3091   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3092     {
3093     }
3094 #undef FLD
3095 }
3096
3097 void
3098 sh4_nofpu_extract_sfmt_bsrf_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3099     sh4_nofpu_insn_word insn = entire_insn;
3100 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3101     UINT f_rn;
3102
3103     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3104
3105   /* Record the fields for the semantic handler.  */
3106   FLD (f_rn) = f_rn;
3107   if (UNLIKELY(current_cpu->trace_extract_p))
3108     {
3109       current_cpu->trace_stream 
3110         << "0x" << hex << pc << dec << " (sfmt_bsrf_compact)\t"
3111         << " f_rn:0x" << hex << f_rn << dec
3112         << endl;
3113     }
3114
3115   /* Record the fields for profiling.  */
3116   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3117     {
3118       FLD (in_rn) = f_rn;
3119     }
3120 #undef FLD
3121 }
3122
3123 void
3124 sh4_nofpu_extract_sfmt_clrmac_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3125     sh4_nofpu_insn_word insn = entire_insn;
3126 #define FLD(f) abuf->fields.fmt_empty.f
3127
3128
3129   /* Record the fields for the semantic handler.  */
3130   if (UNLIKELY(current_cpu->trace_extract_p))
3131     {
3132       current_cpu->trace_stream 
3133         << "0x" << hex << pc << dec << " (sfmt_clrmac_compact)\t"
3134         << endl;
3135     }
3136
3137 #undef FLD
3138 }
3139
3140 void
3141 sh4_nofpu_extract_sfmt_clrs_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3142     sh4_nofpu_insn_word insn = entire_insn;
3143 #define FLD(f) abuf->fields.fmt_empty.f
3144
3145
3146   /* Record the fields for the semantic handler.  */
3147   if (UNLIKELY(current_cpu->trace_extract_p))
3148     {
3149       current_cpu->trace_stream 
3150         << "0x" << hex << pc << dec << " (sfmt_clrs_compact)\t"
3151         << endl;
3152     }
3153
3154 #undef FLD
3155 }
3156
3157 void
3158 sh4_nofpu_extract_sfmt_clrt_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3159     sh4_nofpu_insn_word insn = entire_insn;
3160 #define FLD(f) abuf->fields.fmt_empty.f
3161
3162
3163   /* Record the fields for the semantic handler.  */
3164   if (UNLIKELY(current_cpu->trace_extract_p))
3165     {
3166       current_cpu->trace_stream 
3167         << "0x" << hex << pc << dec << " (sfmt_clrt_compact)\t"
3168         << endl;
3169     }
3170
3171 #undef FLD
3172 }
3173
3174 void
3175 sh4_nofpu_extract_sfmt_cmpeq_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3176     sh4_nofpu_insn_word insn = entire_insn;
3177 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3178     UINT f_rn;
3179     UINT f_rm;
3180
3181     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3182     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3183
3184   /* Record the fields for the semantic handler.  */
3185   FLD (f_rm) = f_rm;
3186   FLD (f_rn) = f_rn;
3187   if (UNLIKELY(current_cpu->trace_extract_p))
3188     {
3189       current_cpu->trace_stream 
3190         << "0x" << hex << pc << dec << " (sfmt_cmpeq_compact)\t"
3191         << " f_rm:0x" << hex << f_rm << dec
3192         << " f_rn:0x" << hex << f_rn << dec
3193         << endl;
3194     }
3195
3196   /* Record the fields for profiling.  */
3197   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3198     {
3199       FLD (in_rm) = f_rm;
3200       FLD (in_rn) = f_rn;
3201     }
3202 #undef FLD
3203 }
3204
3205 void
3206 sh4_nofpu_extract_sfmt_cmpeqi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3207     sh4_nofpu_insn_word insn = entire_insn;
3208 #define FLD(f) abuf->fields.sfmt_andi_compact.f
3209     UINT f_imm8;
3210
3211     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3212
3213   /* Record the fields for the semantic handler.  */
3214   FLD (f_imm8) = f_imm8;
3215   if (UNLIKELY(current_cpu->trace_extract_p))
3216     {
3217       current_cpu->trace_stream 
3218         << "0x" << hex << pc << dec << " (sfmt_cmpeqi_compact)\t"
3219         << " f_imm8:0x" << hex << f_imm8 << dec
3220         << endl;
3221     }
3222
3223   /* Record the fields for profiling.  */
3224   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3225     {
3226       FLD (in_r0) = 0;
3227     }
3228 #undef FLD
3229 }
3230
3231 void
3232 sh4_nofpu_extract_sfmt_cmppl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3233     sh4_nofpu_insn_word insn = entire_insn;
3234 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3235     UINT f_rn;
3236
3237     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3238
3239   /* Record the fields for the semantic handler.  */
3240   FLD (f_rn) = f_rn;
3241   if (UNLIKELY(current_cpu->trace_extract_p))
3242     {
3243       current_cpu->trace_stream 
3244         << "0x" << hex << pc << dec << " (sfmt_cmppl_compact)\t"
3245         << " f_rn:0x" << hex << f_rn << dec
3246         << endl;
3247     }
3248
3249   /* Record the fields for profiling.  */
3250   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3251     {
3252       FLD (in_rn) = f_rn;
3253     }
3254 #undef FLD
3255 }
3256
3257 void
3258 sh4_nofpu_extract_sfmt_div0s_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3259     sh4_nofpu_insn_word insn = entire_insn;
3260 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3261     UINT f_rn;
3262     UINT f_rm;
3263
3264     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3265     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3266
3267   /* Record the fields for the semantic handler.  */
3268   FLD (f_rm) = f_rm;
3269   FLD (f_rn) = f_rn;
3270   if (UNLIKELY(current_cpu->trace_extract_p))
3271     {
3272       current_cpu->trace_stream 
3273         << "0x" << hex << pc << dec << " (sfmt_div0s_compact)\t"
3274         << " f_rm:0x" << hex << f_rm << dec
3275         << " f_rn:0x" << hex << f_rn << dec
3276         << endl;
3277     }
3278
3279   /* Record the fields for profiling.  */
3280   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3281     {
3282       FLD (in_rm) = f_rm;
3283       FLD (in_rn) = f_rn;
3284     }
3285 #undef FLD
3286 }
3287
3288 void
3289 sh4_nofpu_extract_sfmt_div0u_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3290     sh4_nofpu_insn_word insn = entire_insn;
3291 #define FLD(f) abuf->fields.fmt_empty.f
3292
3293
3294   /* Record the fields for the semantic handler.  */
3295   if (UNLIKELY(current_cpu->trace_extract_p))
3296     {
3297       current_cpu->trace_stream 
3298         << "0x" << hex << pc << dec << " (sfmt_div0u_compact)\t"
3299         << endl;
3300     }
3301
3302 #undef FLD
3303 }
3304
3305 void
3306 sh4_nofpu_extract_sfmt_div1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3307     sh4_nofpu_insn_word insn = entire_insn;
3308 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3309     UINT f_rn;
3310     UINT f_rm;
3311
3312     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3313     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3314
3315   /* Record the fields for the semantic handler.  */
3316   FLD (f_rm) = f_rm;
3317   FLD (f_rn) = f_rn;
3318   if (UNLIKELY(current_cpu->trace_extract_p))
3319     {
3320       current_cpu->trace_stream 
3321         << "0x" << hex << pc << dec << " (sfmt_div1_compact)\t"
3322         << " f_rm:0x" << hex << f_rm << dec
3323         << " f_rn:0x" << hex << f_rn << dec
3324         << endl;
3325     }
3326
3327   /* Record the fields for profiling.  */
3328   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3329     {
3330       FLD (in_rm) = f_rm;
3331       FLD (in_rn) = f_rn;
3332       FLD (out_rn) = f_rn;
3333     }
3334 #undef FLD
3335 }
3336
3337 void
3338 sh4_nofpu_extract_sfmt_divu_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3339     sh4_nofpu_insn_word insn = entire_insn;
3340 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3341     UINT f_rn;
3342
3343     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3344
3345   /* Record the fields for the semantic handler.  */
3346   FLD (f_rn) = f_rn;
3347   if (UNLIKELY(current_cpu->trace_extract_p))
3348     {
3349       current_cpu->trace_stream 
3350         << "0x" << hex << pc << dec << " (sfmt_divu_compact)\t"
3351         << " f_rn:0x" << hex << f_rn << dec
3352         << endl;
3353     }
3354
3355   /* Record the fields for profiling.  */
3356   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3357     {
3358       FLD (in_r0) = 0;
3359       FLD (in_rn) = f_rn;
3360       FLD (out_rn) = f_rn;
3361     }
3362 #undef FLD
3363 }
3364
3365 void
3366 sh4_nofpu_extract_sfmt_dmulsl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3367     sh4_nofpu_insn_word insn = entire_insn;
3368 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3369     UINT f_rn;
3370     UINT f_rm;
3371
3372     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3373     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3374
3375   /* Record the fields for the semantic handler.  */
3376   FLD (f_rm) = f_rm;
3377   FLD (f_rn) = f_rn;
3378   if (UNLIKELY(current_cpu->trace_extract_p))
3379     {
3380       current_cpu->trace_stream 
3381         << "0x" << hex << pc << dec << " (sfmt_dmulsl_compact)\t"
3382         << " f_rm:0x" << hex << f_rm << dec
3383         << " f_rn:0x" << hex << f_rn << dec
3384         << endl;
3385     }
3386
3387   /* Record the fields for profiling.  */
3388   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3389     {
3390       FLD (in_rm) = f_rm;
3391       FLD (in_rn) = f_rn;
3392     }
3393 #undef FLD
3394 }
3395
3396 void
3397 sh4_nofpu_extract_sfmt_dt_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3398     sh4_nofpu_insn_word insn = entire_insn;
3399 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3400     UINT f_rn;
3401
3402     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3403
3404   /* Record the fields for the semantic handler.  */
3405   FLD (f_rn) = f_rn;
3406   if (UNLIKELY(current_cpu->trace_extract_p))
3407     {
3408       current_cpu->trace_stream 
3409         << "0x" << hex << pc << dec << " (sfmt_dt_compact)\t"
3410         << " f_rn:0x" << hex << f_rn << dec
3411         << endl;
3412     }
3413
3414   /* Record the fields for profiling.  */
3415   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3416     {
3417       FLD (in_rn) = f_rn;
3418       FLD (out_rn) = f_rn;
3419     }
3420 #undef FLD
3421 }
3422
3423 void
3424 sh4_nofpu_extract_sfmt_extsb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3425     sh4_nofpu_insn_word insn = entire_insn;
3426 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3427     UINT f_rn;
3428     UINT f_rm;
3429
3430     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3431     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3432
3433   /* Record the fields for the semantic handler.  */
3434   FLD (f_rm) = f_rm;
3435   FLD (f_rn) = f_rn;
3436   if (UNLIKELY(current_cpu->trace_extract_p))
3437     {
3438       current_cpu->trace_stream 
3439         << "0x" << hex << pc << dec << " (sfmt_extsb_compact)\t"
3440         << " f_rm:0x" << hex << f_rm << dec
3441         << " f_rn:0x" << hex << f_rn << dec
3442         << endl;
3443     }
3444
3445   /* Record the fields for profiling.  */
3446   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3447     {
3448       FLD (in_rm) = f_rm;
3449       FLD (out_rn) = f_rn;
3450     }
3451 #undef FLD
3452 }
3453
3454 void
3455 sh4_nofpu_extract_sfmt_frchg_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3456     sh4_nofpu_insn_word insn = entire_insn;
3457 #define FLD(f) abuf->fields.fmt_empty.f
3458
3459
3460   /* Record the fields for the semantic handler.  */
3461   if (UNLIKELY(current_cpu->trace_extract_p))
3462     {
3463       current_cpu->trace_stream 
3464         << "0x" << hex << pc << dec << " (sfmt_frchg_compact)\t"
3465         << endl;
3466     }
3467
3468 #undef FLD
3469 }
3470
3471 void
3472 sh4_nofpu_extract_sfmt_fschg_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3473     sh4_nofpu_insn_word insn = entire_insn;
3474 #define FLD(f) abuf->fields.fmt_empty.f
3475
3476
3477   /* Record the fields for the semantic handler.  */
3478   if (UNLIKELY(current_cpu->trace_extract_p))
3479     {
3480       current_cpu->trace_stream 
3481         << "0x" << hex << pc << dec << " (sfmt_fschg_compact)\t"
3482         << endl;
3483     }
3484
3485 #undef FLD
3486 }
3487
3488 void
3489 sh4_nofpu_extract_sfmt_ldc_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3490     sh4_nofpu_insn_word insn = entire_insn;
3491 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3492     UINT f_rn;
3493
3494     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3495
3496   /* Record the fields for the semantic handler.  */
3497   FLD (f_rn) = f_rn;
3498   if (UNLIKELY(current_cpu->trace_extract_p))
3499     {
3500       current_cpu->trace_stream 
3501         << "0x" << hex << pc << dec << " (sfmt_ldc_gbr_compact)\t"
3502         << " f_rn:0x" << hex << f_rn << dec
3503         << endl;
3504     }
3505
3506   /* Record the fields for profiling.  */
3507   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3508     {
3509       FLD (in_rn) = f_rn;
3510     }
3511 #undef FLD
3512 }
3513
3514 void
3515 sh4_nofpu_extract_sfmt_ldc_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3516     sh4_nofpu_insn_word insn = entire_insn;
3517 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3518     UINT f_rn;
3519
3520     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3521
3522   /* Record the fields for the semantic handler.  */
3523   FLD (f_rn) = f_rn;
3524   if (UNLIKELY(current_cpu->trace_extract_p))
3525     {
3526       current_cpu->trace_stream 
3527         << "0x" << hex << pc << dec << " (sfmt_ldc_vbr_compact)\t"
3528         << " f_rn:0x" << hex << f_rn << dec
3529         << endl;
3530     }
3531
3532   /* Record the fields for profiling.  */
3533   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3534     {
3535       FLD (in_rn) = f_rn;
3536     }
3537 #undef FLD
3538 }
3539
3540 void
3541 sh4_nofpu_extract_sfmt_ldc_sr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3542     sh4_nofpu_insn_word insn = entire_insn;
3543 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3544     UINT f_rn;
3545
3546     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3547
3548   /* Record the fields for the semantic handler.  */
3549   FLD (f_rn) = f_rn;
3550   if (UNLIKELY(current_cpu->trace_extract_p))
3551     {
3552       current_cpu->trace_stream 
3553         << "0x" << hex << pc << dec << " (sfmt_ldc_sr_compact)\t"
3554         << " f_rn:0x" << hex << f_rn << dec
3555         << endl;
3556     }
3557
3558   /* Record the fields for profiling.  */
3559   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3560     {
3561       FLD (in_rn) = f_rn;
3562     }
3563 #undef FLD
3564 }
3565
3566 void
3567 sh4_nofpu_extract_sfmt_ldcl_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3568     sh4_nofpu_insn_word insn = entire_insn;
3569 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3570     UINT f_rn;
3571
3572     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3573
3574   /* Record the fields for the semantic handler.  */
3575   FLD (f_rn) = f_rn;
3576   if (UNLIKELY(current_cpu->trace_extract_p))
3577     {
3578       current_cpu->trace_stream 
3579         << "0x" << hex << pc << dec << " (sfmt_ldcl_gbr_compact)\t"
3580         << " f_rn:0x" << hex << f_rn << dec
3581         << endl;
3582     }
3583
3584   /* Record the fields for profiling.  */
3585   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3586     {
3587       FLD (in_rn) = f_rn;
3588       FLD (out_rn) = f_rn;
3589     }
3590 #undef FLD
3591 }
3592
3593 void
3594 sh4_nofpu_extract_sfmt_ldcl_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3595     sh4_nofpu_insn_word insn = entire_insn;
3596 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3597     UINT f_rn;
3598
3599     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3600
3601   /* Record the fields for the semantic handler.  */
3602   FLD (f_rn) = f_rn;
3603   if (UNLIKELY(current_cpu->trace_extract_p))
3604     {
3605       current_cpu->trace_stream 
3606         << "0x" << hex << pc << dec << " (sfmt_ldcl_vbr_compact)\t"
3607         << " f_rn:0x" << hex << f_rn << dec
3608         << endl;
3609     }
3610
3611   /* Record the fields for profiling.  */
3612   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3613     {
3614       FLD (in_rn) = f_rn;
3615       FLD (out_rn) = f_rn;
3616     }
3617 #undef FLD
3618 }
3619
3620 void
3621 sh4_nofpu_extract_sfmt_lds_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3622     sh4_nofpu_insn_word insn = entire_insn;
3623 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3624     UINT f_rn;
3625
3626     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3627
3628   /* Record the fields for the semantic handler.  */
3629   FLD (f_rn) = f_rn;
3630   if (UNLIKELY(current_cpu->trace_extract_p))
3631     {
3632       current_cpu->trace_stream 
3633         << "0x" << hex << pc << dec << " (sfmt_lds_mach_compact)\t"
3634         << " f_rn:0x" << hex << f_rn << dec
3635         << endl;
3636     }
3637
3638   /* Record the fields for profiling.  */
3639   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3640     {
3641       FLD (in_rn) = f_rn;
3642     }
3643 #undef FLD
3644 }
3645
3646 void
3647 sh4_nofpu_extract_sfmt_ldsl_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3648     sh4_nofpu_insn_word insn = entire_insn;
3649 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3650     UINT f_rn;
3651
3652     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3653
3654   /* Record the fields for the semantic handler.  */
3655   FLD (f_rn) = f_rn;
3656   if (UNLIKELY(current_cpu->trace_extract_p))
3657     {
3658       current_cpu->trace_stream 
3659         << "0x" << hex << pc << dec << " (sfmt_ldsl_mach_compact)\t"
3660         << " f_rn:0x" << hex << f_rn << dec
3661         << endl;
3662     }
3663
3664   /* Record the fields for profiling.  */
3665   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3666     {
3667       FLD (in_rn) = f_rn;
3668       FLD (out_rn) = f_rn;
3669     }
3670 #undef FLD
3671 }
3672
3673 void
3674 sh4_nofpu_extract_sfmt_lds_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3675     sh4_nofpu_insn_word insn = entire_insn;
3676 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3677     UINT f_rn;
3678
3679     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3680
3681   /* Record the fields for the semantic handler.  */
3682   FLD (f_rn) = f_rn;
3683   if (UNLIKELY(current_cpu->trace_extract_p))
3684     {
3685       current_cpu->trace_stream 
3686         << "0x" << hex << pc << dec << " (sfmt_lds_macl_compact)\t"
3687         << " f_rn:0x" << hex << f_rn << dec
3688         << endl;
3689     }
3690
3691   /* Record the fields for profiling.  */
3692   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3693     {
3694       FLD (in_rn) = f_rn;
3695     }
3696 #undef FLD
3697 }
3698
3699 void
3700 sh4_nofpu_extract_sfmt_ldsl_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3701     sh4_nofpu_insn_word insn = entire_insn;
3702 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3703     UINT f_rn;
3704
3705     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3706
3707   /* Record the fields for the semantic handler.  */
3708   FLD (f_rn) = f_rn;
3709   if (UNLIKELY(current_cpu->trace_extract_p))
3710     {
3711       current_cpu->trace_stream 
3712         << "0x" << hex << pc << dec << " (sfmt_ldsl_macl_compact)\t"
3713         << " f_rn:0x" << hex << f_rn << dec
3714         << endl;
3715     }
3716
3717   /* Record the fields for profiling.  */
3718   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3719     {
3720       FLD (in_rn) = f_rn;
3721       FLD (out_rn) = f_rn;
3722     }
3723 #undef FLD
3724 }
3725
3726 void
3727 sh4_nofpu_extract_sfmt_lds_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3728     sh4_nofpu_insn_word insn = entire_insn;
3729 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3730     UINT f_rn;
3731
3732     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3733
3734   /* Record the fields for the semantic handler.  */
3735   FLD (f_rn) = f_rn;
3736   if (UNLIKELY(current_cpu->trace_extract_p))
3737     {
3738       current_cpu->trace_stream 
3739         << "0x" << hex << pc << dec << " (sfmt_lds_pr_compact)\t"
3740         << " f_rn:0x" << hex << f_rn << dec
3741         << endl;
3742     }
3743
3744   /* Record the fields for profiling.  */
3745   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3746     {
3747       FLD (in_rn) = f_rn;
3748     }
3749 #undef FLD
3750 }
3751
3752 void
3753 sh4_nofpu_extract_sfmt_ldsl_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3754     sh4_nofpu_insn_word insn = entire_insn;
3755 #define FLD(f) abuf->fields.sfmt_divu_compact.f
3756     UINT f_rn;
3757
3758     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3759
3760   /* Record the fields for the semantic handler.  */
3761   FLD (f_rn) = f_rn;
3762   if (UNLIKELY(current_cpu->trace_extract_p))
3763     {
3764       current_cpu->trace_stream 
3765         << "0x" << hex << pc << dec << " (sfmt_ldsl_pr_compact)\t"
3766         << " f_rn:0x" << hex << f_rn << dec
3767         << endl;
3768     }
3769
3770   /* Record the fields for profiling.  */
3771   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3772     {
3773       FLD (in_rn) = f_rn;
3774       FLD (out_rn) = f_rn;
3775     }
3776 #undef FLD
3777 }
3778
3779 void
3780 sh4_nofpu_extract_sfmt_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3781     sh4_nofpu_insn_word insn = entire_insn;
3782 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3783     UINT f_rn;
3784     UINT f_rm;
3785
3786     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3787     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3788
3789   /* Record the fields for the semantic handler.  */
3790   FLD (f_rm) = f_rm;
3791   FLD (f_rn) = f_rn;
3792   if (UNLIKELY(current_cpu->trace_extract_p))
3793     {
3794       current_cpu->trace_stream 
3795         << "0x" << hex << pc << dec << " (sfmt_macl_compact)\t"
3796         << " f_rm:0x" << hex << f_rm << dec
3797         << " f_rn:0x" << hex << f_rn << dec
3798         << endl;
3799     }
3800
3801   /* Record the fields for profiling.  */
3802   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3803     {
3804       FLD (in_rm) = f_rm;
3805       FLD (in_rn) = f_rn;
3806       FLD (out_rm) = f_rm;
3807       FLD (out_rn) = f_rn;
3808     }
3809 #undef FLD
3810 }
3811
3812 void
3813 sh4_nofpu_extract_sfmt_macw_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3814     sh4_nofpu_insn_word insn = entire_insn;
3815 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3816     UINT f_rn;
3817     UINT f_rm;
3818
3819     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3820     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3821
3822   /* Record the fields for the semantic handler.  */
3823   FLD (f_rm) = f_rm;
3824   FLD (f_rn) = f_rn;
3825   if (UNLIKELY(current_cpu->trace_extract_p))
3826     {
3827       current_cpu->trace_stream 
3828         << "0x" << hex << pc << dec << " (sfmt_macw_compact)\t"
3829         << " f_rm:0x" << hex << f_rm << dec
3830         << " f_rn:0x" << hex << f_rn << dec
3831         << endl;
3832     }
3833
3834   /* Record the fields for profiling.  */
3835   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3836     {
3837       FLD (in_rm) = f_rm;
3838       FLD (in_rn) = f_rn;
3839       FLD (out_rm) = f_rm;
3840       FLD (out_rn) = f_rn;
3841     }
3842 #undef FLD
3843 }
3844
3845 void
3846 sh4_nofpu_extract_sfmt_mov_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3847     sh4_nofpu_insn_word insn = entire_insn;
3848 #define FLD(f) abuf->fields.sfmt_and_compact.f
3849     UINT f_rn;
3850     UINT f_rm;
3851
3852     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3853     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3854
3855   /* Record the fields for the semantic handler.  */
3856   FLD (f_rm) = f_rm;
3857   FLD (f_rn) = f_rn;
3858   if (UNLIKELY(current_cpu->trace_extract_p))
3859     {
3860       current_cpu->trace_stream 
3861         << "0x" << hex << pc << dec << " (sfmt_mov_compact)\t"
3862         << " f_rm:0x" << hex << f_rm << dec
3863         << " f_rn:0x" << hex << f_rn << dec
3864         << endl;
3865     }
3866
3867   /* Record the fields for profiling.  */
3868   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3869     {
3870       FLD (in_rm64) = f_rm;
3871       FLD (out_rn64) = f_rn;
3872     }
3873 #undef FLD
3874 }
3875
3876 void
3877 sh4_nofpu_extract_sfmt_movi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3878     sh4_nofpu_insn_word insn = entire_insn;
3879 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3880     UINT f_rn;
3881     UINT f_imm8;
3882
3883     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3884     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3885
3886   /* Record the fields for the semantic handler.  */
3887   FLD (f_imm8) = f_imm8;
3888   FLD (f_rn) = f_rn;
3889   if (UNLIKELY(current_cpu->trace_extract_p))
3890     {
3891       current_cpu->trace_stream 
3892         << "0x" << hex << pc << dec << " (sfmt_movi_compact)\t"
3893         << " f_imm8:0x" << hex << f_imm8 << dec
3894         << " f_rn:0x" << hex << f_rn << dec
3895         << endl;
3896     }
3897
3898   /* Record the fields for profiling.  */
3899   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3900     {
3901       FLD (out_rn) = f_rn;
3902     }
3903 #undef FLD
3904 }
3905
3906 void
3907 sh4_nofpu_extract_sfmt_movi20_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3908     sh4_nofpu_insn_word insn = entire_insn;
3909 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
3910     UINT f_rn;
3911     INT f_imm20_hi;
3912     UINT f_imm20_lo;
3913     INT f_imm20;
3914
3915     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3916     f_imm20_hi = EXTRACT_MSB0_SINT (insn, 32, 8, 4);
3917     f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3918   f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));
3919
3920   /* Record the fields for the semantic handler.  */
3921   FLD (f_imm20) = f_imm20;
3922   FLD (f_rn) = f_rn;
3923   if (UNLIKELY(current_cpu->trace_extract_p))
3924     {
3925       current_cpu->trace_stream 
3926         << "0x" << hex << pc << dec << " (sfmt_movi20_compact)\t"
3927         << " f_imm20:0x" << hex << f_imm20 << dec
3928         << " f_rn:0x" << hex << f_rn << dec
3929         << endl;
3930     }
3931
3932   /* Record the fields for profiling.  */
3933   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3934     {
3935       FLD (out_rn) = f_rn;
3936     }
3937 #undef FLD
3938 }
3939
3940 void
3941 sh4_nofpu_extract_sfmt_movb1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3942     sh4_nofpu_insn_word insn = entire_insn;
3943 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
3944     UINT f_rn;
3945     UINT f_rm;
3946
3947     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3948     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3949
3950   /* Record the fields for the semantic handler.  */
3951   FLD (f_rm) = f_rm;
3952   FLD (f_rn) = f_rn;
3953   if (UNLIKELY(current_cpu->trace_extract_p))
3954     {
3955       current_cpu->trace_stream 
3956         << "0x" << hex << pc << dec << " (sfmt_movb1_compact)\t"
3957         << " f_rm:0x" << hex << f_rm << dec
3958         << " f_rn:0x" << hex << f_rn << dec
3959         << endl;
3960     }
3961
3962   /* Record the fields for profiling.  */
3963   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3964     {
3965       FLD (in_rm) = f_rm;
3966       FLD (in_rn) = f_rn;
3967     }
3968 #undef FLD
3969 }
3970
3971 void
3972 sh4_nofpu_extract_sfmt_movb2_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
3973     sh4_nofpu_insn_word insn = entire_insn;
3974 #define FLD(f) abuf->fields.sfmt_macl_compact.f
3975     UINT f_rn;
3976     UINT f_rm;
3977
3978     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3979     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3980
3981   /* Record the fields for the semantic handler.  */
3982   FLD (f_rm) = f_rm;
3983   FLD (f_rn) = f_rn;
3984   if (UNLIKELY(current_cpu->trace_extract_p))
3985     {
3986       current_cpu->trace_stream 
3987         << "0x" << hex << pc << dec << " (sfmt_movb2_compact)\t"
3988         << " f_rm:0x" << hex << f_rm << dec
3989         << " f_rn:0x" << hex << f_rn << dec
3990         << endl;
3991     }
3992
3993   /* Record the fields for profiling.  */
3994   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3995     {
3996       FLD (in_rm) = f_rm;
3997       FLD (in_rn) = f_rn;
3998       FLD (out_rn) = f_rn;
3999     }
4000 #undef FLD
4001 }
4002
4003 void
4004 sh4_nofpu_extract_sfmt_movb3_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4005     sh4_nofpu_insn_word insn = entire_insn;
4006 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4007     UINT f_rn;
4008     UINT f_rm;
4009
4010     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4011     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4012
4013   /* Record the fields for the semantic handler.  */
4014   FLD (f_rm) = f_rm;
4015   FLD (f_rn) = f_rn;
4016   if (UNLIKELY(current_cpu->trace_extract_p))
4017     {
4018       current_cpu->trace_stream 
4019         << "0x" << hex << pc << dec << " (sfmt_movb3_compact)\t"
4020         << " f_rm:0x" << hex << f_rm << dec
4021         << " f_rn:0x" << hex << f_rn << dec
4022         << endl;
4023     }
4024
4025   /* Record the fields for profiling.  */
4026   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4027     {
4028       FLD (in_r0) = 0;
4029       FLD (in_rm) = f_rm;
4030       FLD (in_rn) = f_rn;
4031     }
4032 #undef FLD
4033 }
4034
4035 void
4036 sh4_nofpu_extract_sfmt_movb4_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4037     sh4_nofpu_insn_word insn = entire_insn;
4038 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4039     UINT f_imm8;
4040
4041     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4042
4043   /* Record the fields for the semantic handler.  */
4044   FLD (f_imm8) = f_imm8;
4045   if (UNLIKELY(current_cpu->trace_extract_p))
4046     {
4047       current_cpu->trace_stream 
4048         << "0x" << hex << pc << dec << " (sfmt_movb4_compact)\t"
4049         << " f_imm8:0x" << hex << f_imm8 << dec
4050         << endl;
4051     }
4052
4053   /* Record the fields for profiling.  */
4054   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4055     {
4056       FLD (in_r0) = 0;
4057     }
4058 #undef FLD
4059 }
4060
4061 void
4062 sh4_nofpu_extract_sfmt_movb5_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4063     sh4_nofpu_insn_word insn = entire_insn;
4064 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4065     UINT f_rm;
4066     UINT f_imm4;
4067
4068     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4069     f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4070
4071   /* Record the fields for the semantic handler.  */
4072   FLD (f_imm4) = f_imm4;
4073   FLD (f_rm) = f_rm;
4074   if (UNLIKELY(current_cpu->trace_extract_p))
4075     {
4076       current_cpu->trace_stream 
4077         << "0x" << hex << pc << dec << " (sfmt_movb5_compact)\t"
4078         << " f_imm4:0x" << hex << f_imm4 << dec
4079         << " f_rm:0x" << hex << f_rm << dec
4080         << endl;
4081     }
4082
4083   /* Record the fields for profiling.  */
4084   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4085     {
4086       FLD (in_r0) = 0;
4087       FLD (in_rm) = f_rm;
4088     }
4089 #undef FLD
4090 }
4091
4092 void
4093 sh4_nofpu_extract_sfmt_movb6_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4094     sh4_nofpu_insn_word insn = entire_insn;
4095 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4096     UINT f_rn;
4097     UINT f_rm;
4098
4099     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4100     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4101
4102   /* Record the fields for the semantic handler.  */
4103   FLD (f_rm) = f_rm;
4104   FLD (f_rn) = f_rn;
4105   if (UNLIKELY(current_cpu->trace_extract_p))
4106     {
4107       current_cpu->trace_stream 
4108         << "0x" << hex << pc << dec << " (sfmt_movb6_compact)\t"
4109         << " f_rm:0x" << hex << f_rm << dec
4110         << " f_rn:0x" << hex << f_rn << dec
4111         << endl;
4112     }
4113
4114   /* Record the fields for profiling.  */
4115   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4116     {
4117       FLD (in_rm) = f_rm;
4118       FLD (out_rn) = f_rn;
4119     }
4120 #undef FLD
4121 }
4122
4123 void
4124 sh4_nofpu_extract_sfmt_movb7_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4125     sh4_nofpu_insn_word insn = entire_insn;
4126 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4127     UINT f_rn;
4128     UINT f_rm;
4129
4130     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4131     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4132
4133   /* Record the fields for the semantic handler.  */
4134   FLD (f_rm) = f_rm;
4135   FLD (f_rn) = f_rn;
4136   if (UNLIKELY(current_cpu->trace_extract_p))
4137     {
4138       current_cpu->trace_stream 
4139         << "0x" << hex << pc << dec << " (sfmt_movb7_compact)\t"
4140         << " f_rm:0x" << hex << f_rm << dec
4141         << " f_rn:0x" << hex << f_rn << dec
4142         << endl;
4143     }
4144
4145   /* Record the fields for profiling.  */
4146   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4147     {
4148       FLD (in_rm) = f_rm;
4149       FLD (out_rm) = f_rm;
4150       FLD (out_rn) = f_rn;
4151     }
4152 #undef FLD
4153 }
4154
4155 void
4156 sh4_nofpu_extract_sfmt_movb8_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4157     sh4_nofpu_insn_word insn = entire_insn;
4158 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4159     UINT f_rn;
4160     UINT f_rm;
4161
4162     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4163     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4164
4165   /* Record the fields for the semantic handler.  */
4166   FLD (f_rm) = f_rm;
4167   FLD (f_rn) = f_rn;
4168   if (UNLIKELY(current_cpu->trace_extract_p))
4169     {
4170       current_cpu->trace_stream 
4171         << "0x" << hex << pc << dec << " (sfmt_movb8_compact)\t"
4172         << " f_rm:0x" << hex << f_rm << dec
4173         << " f_rn:0x" << hex << f_rn << dec
4174         << endl;
4175     }
4176
4177   /* Record the fields for profiling.  */
4178   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4179     {
4180       FLD (in_r0) = 0;
4181       FLD (in_rm) = f_rm;
4182       FLD (out_rn) = f_rn;
4183     }
4184 #undef FLD
4185 }
4186
4187 void
4188 sh4_nofpu_extract_sfmt_movb9_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4189     sh4_nofpu_insn_word insn = entire_insn;
4190 #define FLD(f) abuf->fields.sfmt_andi_compact.f
4191     UINT f_imm8;
4192
4193     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4194
4195   /* Record the fields for the semantic handler.  */
4196   FLD (f_imm8) = f_imm8;
4197   if (UNLIKELY(current_cpu->trace_extract_p))
4198     {
4199       current_cpu->trace_stream 
4200         << "0x" << hex << pc << dec << " (sfmt_movb9_compact)\t"
4201         << " f_imm8:0x" << hex << f_imm8 << dec
4202         << endl;
4203     }
4204
4205   /* Record the fields for profiling.  */
4206   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4207     {
4208       FLD (out_r0) = 0;
4209     }
4210 #undef FLD
4211 }
4212
4213 void
4214 sh4_nofpu_extract_sfmt_movb10_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4215     sh4_nofpu_insn_word insn = entire_insn;
4216 #define FLD(f) abuf->fields.sfmt_movb10_compact.f
4217     UINT f_rm;
4218     UINT f_imm4;
4219
4220     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4221     f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4222
4223   /* Record the fields for the semantic handler.  */
4224   FLD (f_imm4) = f_imm4;
4225   FLD (f_rm) = f_rm;
4226   if (UNLIKELY(current_cpu->trace_extract_p))
4227     {
4228       current_cpu->trace_stream 
4229         << "0x" << hex << pc << dec << " (sfmt_movb10_compact)\t"
4230         << " f_imm4:0x" << hex << f_imm4 << dec
4231         << " f_rm:0x" << hex << f_rm << dec
4232         << endl;
4233     }
4234
4235   /* Record the fields for profiling.  */
4236   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4237     {
4238       FLD (in_rm) = f_rm;
4239       FLD (out_r0) = 0;
4240     }
4241 #undef FLD
4242 }
4243
4244 void
4245 sh4_nofpu_extract_sfmt_movl1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4246     sh4_nofpu_insn_word insn = entire_insn;
4247 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
4248     UINT f_rn;
4249     UINT f_rm;
4250
4251     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4252     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4253
4254   /* Record the fields for the semantic handler.  */
4255   FLD (f_rm) = f_rm;
4256   FLD (f_rn) = f_rn;
4257   if (UNLIKELY(current_cpu->trace_extract_p))
4258     {
4259       current_cpu->trace_stream 
4260         << "0x" << hex << pc << dec << " (sfmt_movl1_compact)\t"
4261         << " f_rm:0x" << hex << f_rm << dec
4262         << " f_rn:0x" << hex << f_rn << dec
4263         << endl;
4264     }
4265
4266   /* Record the fields for profiling.  */
4267   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4268     {
4269       FLD (in_rm) = f_rm;
4270       FLD (in_rn) = f_rn;
4271     }
4272 #undef FLD
4273 }
4274
4275 void
4276 sh4_nofpu_extract_sfmt_movl2_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4277     sh4_nofpu_insn_word insn = entire_insn;
4278 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4279     UINT f_rn;
4280     UINT f_rm;
4281
4282     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4283     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4284
4285   /* Record the fields for the semantic handler.  */
4286   FLD (f_rm) = f_rm;
4287   FLD (f_rn) = f_rn;
4288   if (UNLIKELY(current_cpu->trace_extract_p))
4289     {
4290       current_cpu->trace_stream 
4291         << "0x" << hex << pc << dec << " (sfmt_movl2_compact)\t"
4292         << " f_rm:0x" << hex << f_rm << dec
4293         << " f_rn:0x" << hex << f_rn << dec
4294         << endl;
4295     }
4296
4297   /* Record the fields for profiling.  */
4298   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4299     {
4300       FLD (in_rm) = f_rm;
4301       FLD (in_rn) = f_rn;
4302       FLD (out_rn) = f_rn;
4303     }
4304 #undef FLD
4305 }
4306
4307 void
4308 sh4_nofpu_extract_sfmt_movl3_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4309     sh4_nofpu_insn_word insn = entire_insn;
4310 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4311     UINT f_rn;
4312     UINT f_rm;
4313
4314     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4315     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4316
4317   /* Record the fields for the semantic handler.  */
4318   FLD (f_rm) = f_rm;
4319   FLD (f_rn) = f_rn;
4320   if (UNLIKELY(current_cpu->trace_extract_p))
4321     {
4322       current_cpu->trace_stream 
4323         << "0x" << hex << pc << dec << " (sfmt_movl3_compact)\t"
4324         << " f_rm:0x" << hex << f_rm << dec
4325         << " f_rn:0x" << hex << f_rn << dec
4326         << endl;
4327     }
4328
4329   /* Record the fields for profiling.  */
4330   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4331     {
4332       FLD (in_r0) = 0;
4333       FLD (in_rm) = f_rm;
4334       FLD (in_rn) = f_rn;
4335     }
4336 #undef FLD
4337 }
4338
4339 void
4340 sh4_nofpu_extract_sfmt_movl4_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4341     sh4_nofpu_insn_word insn = entire_insn;
4342 #define FLD(f) abuf->fields.sfmt_movl4_compact.f
4343     SI f_imm8x4;
4344
4345     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
4346
4347   /* Record the fields for the semantic handler.  */
4348   FLD (f_imm8x4) = f_imm8x4;
4349   if (UNLIKELY(current_cpu->trace_extract_p))
4350     {
4351       current_cpu->trace_stream 
4352         << "0x" << hex << pc << dec << " (sfmt_movl4_compact)\t"
4353         << " f_imm8x4:0x" << hex << f_imm8x4 << dec
4354         << endl;
4355     }
4356
4357   /* Record the fields for profiling.  */
4358   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4359     {
4360       FLD (in_r0) = 0;
4361     }
4362 #undef FLD
4363 }
4364
4365 void
4366 sh4_nofpu_extract_sfmt_movl5_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4367     sh4_nofpu_insn_word insn = entire_insn;
4368 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
4369     UINT f_rn;
4370     UINT f_rm;
4371     SI f_imm4x4;
4372
4373     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4374     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4375     f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
4376
4377   /* Record the fields for the semantic handler.  */
4378   FLD (f_imm4x4) = f_imm4x4;
4379   FLD (f_rm) = f_rm;
4380   FLD (f_rn) = f_rn;
4381   if (UNLIKELY(current_cpu->trace_extract_p))
4382     {
4383       current_cpu->trace_stream 
4384         << "0x" << hex << pc << dec << " (sfmt_movl5_compact)\t"
4385         << " f_imm4x4:0x" << hex << f_imm4x4 << dec
4386         << " f_rm:0x" << hex << f_rm << dec
4387         << " f_rn:0x" << hex << f_rn << dec
4388         << endl;
4389     }
4390
4391   /* Record the fields for profiling.  */
4392   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4393     {
4394       FLD (in_rm) = f_rm;
4395       FLD (in_rn) = f_rn;
4396     }
4397 #undef FLD
4398 }
4399
4400 void
4401 sh4_nofpu_extract_sfmt_movl6_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4402     sh4_nofpu_insn_word insn = entire_insn;
4403 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4404     UINT f_rn;
4405     UINT f_rm;
4406
4407     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4408     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4409
4410   /* Record the fields for the semantic handler.  */
4411   FLD (f_rm) = f_rm;
4412   FLD (f_rn) = f_rn;
4413   if (UNLIKELY(current_cpu->trace_extract_p))
4414     {
4415       current_cpu->trace_stream 
4416         << "0x" << hex << pc << dec << " (sfmt_movl6_compact)\t"
4417         << " f_rm:0x" << hex << f_rm << dec
4418         << " f_rn:0x" << hex << f_rn << dec
4419         << endl;
4420     }
4421
4422   /* Record the fields for profiling.  */
4423   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4424     {
4425       FLD (in_rm) = f_rm;
4426       FLD (out_rn) = f_rn;
4427     }
4428 #undef FLD
4429 }
4430
4431 void
4432 sh4_nofpu_extract_sfmt_movl7_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4433     sh4_nofpu_insn_word insn = entire_insn;
4434 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4435     UINT f_rn;
4436     UINT f_rm;
4437
4438     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4439     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4440
4441   /* Record the fields for the semantic handler.  */
4442   FLD (f_rm) = f_rm;
4443   FLD (f_rn) = f_rn;
4444   if (UNLIKELY(current_cpu->trace_extract_p))
4445     {
4446       current_cpu->trace_stream 
4447         << "0x" << hex << pc << dec << " (sfmt_movl7_compact)\t"
4448         << " f_rm:0x" << hex << f_rm << dec
4449         << " f_rn:0x" << hex << f_rn << dec
4450         << endl;
4451     }
4452
4453   /* Record the fields for profiling.  */
4454   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4455     {
4456       FLD (in_rm) = f_rm;
4457       FLD (in_rn) = f_rn;
4458       FLD (out_rm) = f_rm;
4459       FLD (out_rn) = f_rn;
4460     }
4461 #undef FLD
4462 }
4463
4464 void
4465 sh4_nofpu_extract_sfmt_movl8_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4466     sh4_nofpu_insn_word insn = entire_insn;
4467 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4468     UINT f_rn;
4469     UINT f_rm;
4470
4471     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4472     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4473
4474   /* Record the fields for the semantic handler.  */
4475   FLD (f_rm) = f_rm;
4476   FLD (f_rn) = f_rn;
4477   if (UNLIKELY(current_cpu->trace_extract_p))
4478     {
4479       current_cpu->trace_stream 
4480         << "0x" << hex << pc << dec << " (sfmt_movl8_compact)\t"
4481         << " f_rm:0x" << hex << f_rm << dec
4482         << " f_rn:0x" << hex << f_rn << dec
4483         << endl;
4484     }
4485
4486   /* Record the fields for profiling.  */
4487   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4488     {
4489       FLD (in_r0) = 0;
4490       FLD (in_rm) = f_rm;
4491       FLD (out_rn) = f_rn;
4492     }
4493 #undef FLD
4494 }
4495
4496 void
4497 sh4_nofpu_extract_sfmt_movl9_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4498     sh4_nofpu_insn_word insn = entire_insn;
4499 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4500     SI f_imm8x4;
4501
4502     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
4503
4504   /* Record the fields for the semantic handler.  */
4505   FLD (f_imm8x4) = f_imm8x4;
4506   if (UNLIKELY(current_cpu->trace_extract_p))
4507     {
4508       current_cpu->trace_stream 
4509         << "0x" << hex << pc << dec << " (sfmt_movl9_compact)\t"
4510         << " f_imm8x4:0x" << hex << f_imm8x4 << dec
4511         << endl;
4512     }
4513
4514   /* Record the fields for profiling.  */
4515   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4516     {
4517       FLD (out_r0) = 0;
4518     }
4519 #undef FLD
4520 }
4521
4522 void
4523 sh4_nofpu_extract_sfmt_movl10_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4524     sh4_nofpu_insn_word insn = entire_insn;
4525 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
4526     UINT f_rn;
4527     SI f_imm8x4;
4528
4529     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4530     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
4531
4532   /* Record the fields for the semantic handler.  */
4533   FLD (f_imm8x4) = f_imm8x4;
4534   FLD (f_rn) = f_rn;
4535   if (UNLIKELY(current_cpu->trace_extract_p))
4536     {
4537       current_cpu->trace_stream 
4538         << "0x" << hex << pc << dec << " (sfmt_movl10_compact)\t"
4539         << " f_imm8x4:0x" << hex << f_imm8x4 << dec
4540         << " f_rn:0x" << hex << f_rn << dec
4541         << endl;
4542     }
4543
4544   /* Record the fields for profiling.  */
4545   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4546     {
4547       FLD (out_rn) = f_rn;
4548     }
4549 #undef FLD
4550 }
4551
4552 void
4553 sh4_nofpu_extract_sfmt_movl11_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4554     sh4_nofpu_insn_word insn = entire_insn;
4555 #define FLD(f) abuf->fields.sfmt_movl11_compact.f
4556     UINT f_rn;
4557     UINT f_rm;
4558     SI f_imm4x4;
4559
4560     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4561     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4562     f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
4563
4564   /* Record the fields for the semantic handler.  */
4565   FLD (f_imm4x4) = f_imm4x4;
4566   FLD (f_rm) = f_rm;
4567   FLD (f_rn) = f_rn;
4568   if (UNLIKELY(current_cpu->trace_extract_p))
4569     {
4570       current_cpu->trace_stream 
4571         << "0x" << hex << pc << dec << " (sfmt_movl11_compact)\t"
4572         << " f_imm4x4:0x" << hex << f_imm4x4 << dec
4573         << " f_rm:0x" << hex << f_rm << dec
4574         << " f_rn:0x" << hex << f_rn << dec
4575         << endl;
4576     }
4577
4578   /* Record the fields for profiling.  */
4579   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4580     {
4581       FLD (in_rm) = f_rm;
4582       FLD (out_rn) = f_rn;
4583     }
4584 #undef FLD
4585 }
4586
4587 void
4588 sh4_nofpu_extract_sfmt_movl12_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4589     sh4_nofpu_insn_word insn = entire_insn;
4590 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4591     UINT f_rn;
4592     UINT f_rm;
4593     SI f_imm12x4;
4594
4595     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4596     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4597     f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
4598
4599   /* Record the fields for the semantic handler.  */
4600   FLD (f_imm12x4) = f_imm12x4;
4601   FLD (f_rm) = f_rm;
4602   FLD (f_rn) = f_rn;
4603   if (UNLIKELY(current_cpu->trace_extract_p))
4604     {
4605       current_cpu->trace_stream 
4606         << "0x" << hex << pc << dec << " (sfmt_movl12_compact)\t"
4607         << " f_imm12x4:0x" << hex << f_imm12x4 << dec
4608         << " f_rm:0x" << hex << f_rm << dec
4609         << " f_rn:0x" << hex << f_rn << dec
4610         << endl;
4611     }
4612
4613   /* Record the fields for profiling.  */
4614   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4615     {
4616       FLD (in_rm) = f_rm;
4617       FLD (out_rn) = f_rn;
4618     }
4619 #undef FLD
4620 }
4621
4622 void
4623 sh4_nofpu_extract_sfmt_movl13_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4624     sh4_nofpu_insn_word insn = entire_insn;
4625 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
4626     UINT f_rn;
4627     UINT f_rm;
4628     SI f_imm12x4;
4629
4630     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4631     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4632     f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
4633
4634   /* Record the fields for the semantic handler.  */
4635   FLD (f_imm12x4) = f_imm12x4;
4636   FLD (f_rm) = f_rm;
4637   FLD (f_rn) = f_rn;
4638   if (UNLIKELY(current_cpu->trace_extract_p))
4639     {
4640       current_cpu->trace_stream 
4641         << "0x" << hex << pc << dec << " (sfmt_movl13_compact)\t"
4642         << " f_imm12x4:0x" << hex << f_imm12x4 << dec
4643         << " f_rm:0x" << hex << f_rm << dec
4644         << " f_rn:0x" << hex << f_rn << dec
4645         << endl;
4646     }
4647
4648   /* Record the fields for profiling.  */
4649   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4650     {
4651       FLD (in_rm) = f_rm;
4652       FLD (in_rn) = f_rn;
4653     }
4654 #undef FLD
4655 }
4656
4657 void
4658 sh4_nofpu_extract_sfmt_movw1_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4659     sh4_nofpu_insn_word insn = entire_insn;
4660 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
4661     UINT f_rn;
4662     UINT f_rm;
4663
4664     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4665     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4666
4667   /* Record the fields for the semantic handler.  */
4668   FLD (f_rm) = f_rm;
4669   FLD (f_rn) = f_rn;
4670   if (UNLIKELY(current_cpu->trace_extract_p))
4671     {
4672       current_cpu->trace_stream 
4673         << "0x" << hex << pc << dec << " (sfmt_movw1_compact)\t"
4674         << " f_rm:0x" << hex << f_rm << dec
4675         << " f_rn:0x" << hex << f_rn << dec
4676         << endl;
4677     }
4678
4679   /* Record the fields for profiling.  */
4680   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4681     {
4682       FLD (in_rm) = f_rm;
4683       FLD (in_rn) = f_rn;
4684     }
4685 #undef FLD
4686 }
4687
4688 void
4689 sh4_nofpu_extract_sfmt_movw2_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4690     sh4_nofpu_insn_word insn = entire_insn;
4691 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4692     UINT f_rn;
4693     UINT f_rm;
4694
4695     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4696     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4697
4698   /* Record the fields for the semantic handler.  */
4699   FLD (f_rm) = f_rm;
4700   FLD (f_rn) = f_rn;
4701   if (UNLIKELY(current_cpu->trace_extract_p))
4702     {
4703       current_cpu->trace_stream 
4704         << "0x" << hex << pc << dec << " (sfmt_movw2_compact)\t"
4705         << " f_rm:0x" << hex << f_rm << dec
4706         << " f_rn:0x" << hex << f_rn << dec
4707         << endl;
4708     }
4709
4710   /* Record the fields for profiling.  */
4711   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4712     {
4713       FLD (in_rm) = f_rm;
4714       FLD (in_rn) = f_rn;
4715       FLD (out_rn) = f_rn;
4716     }
4717 #undef FLD
4718 }
4719
4720 void
4721 sh4_nofpu_extract_sfmt_movw3_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4722     sh4_nofpu_insn_word insn = entire_insn;
4723 #define FLD(f) abuf->fields.sfmt_movb3_compact.f
4724     UINT f_rn;
4725     UINT f_rm;
4726
4727     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4728     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4729
4730   /* Record the fields for the semantic handler.  */
4731   FLD (f_rm) = f_rm;
4732   FLD (f_rn) = f_rn;
4733   if (UNLIKELY(current_cpu->trace_extract_p))
4734     {
4735       current_cpu->trace_stream 
4736         << "0x" << hex << pc << dec << " (sfmt_movw3_compact)\t"
4737         << " f_rm:0x" << hex << f_rm << dec
4738         << " f_rn:0x" << hex << f_rn << dec
4739         << endl;
4740     }
4741
4742   /* Record the fields for profiling.  */
4743   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4744     {
4745       FLD (in_r0) = 0;
4746       FLD (in_rm) = f_rm;
4747       FLD (in_rn) = f_rn;
4748     }
4749 #undef FLD
4750 }
4751
4752 void
4753 sh4_nofpu_extract_sfmt_movw4_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4754     sh4_nofpu_insn_word insn = entire_insn;
4755 #define FLD(f) abuf->fields.sfmt_movw4_compact.f
4756     SI f_imm8x2;
4757
4758     f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
4759
4760   /* Record the fields for the semantic handler.  */
4761   FLD (f_imm8x2) = f_imm8x2;
4762   if (UNLIKELY(current_cpu->trace_extract_p))
4763     {
4764       current_cpu->trace_stream 
4765         << "0x" << hex << pc << dec << " (sfmt_movw4_compact)\t"
4766         << " f_imm8x2:0x" << hex << f_imm8x2 << dec
4767         << endl;
4768     }
4769
4770   /* Record the fields for profiling.  */
4771   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4772     {
4773       FLD (in_r0) = 0;
4774     }
4775 #undef FLD
4776 }
4777
4778 void
4779 sh4_nofpu_extract_sfmt_movw5_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4780     sh4_nofpu_insn_word insn = entire_insn;
4781 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
4782     UINT f_rm;
4783     SI f_imm4x2;
4784
4785     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4786     f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
4787
4788   /* Record the fields for the semantic handler.  */
4789   FLD (f_imm4x2) = f_imm4x2;
4790   FLD (f_rm) = f_rm;
4791   if (UNLIKELY(current_cpu->trace_extract_p))
4792     {
4793       current_cpu->trace_stream 
4794         << "0x" << hex << pc << dec << " (sfmt_movw5_compact)\t"
4795         << " f_imm4x2:0x" << hex << f_imm4x2 << dec
4796         << " f_rm:0x" << hex << f_rm << dec
4797         << endl;
4798     }
4799
4800   /* Record the fields for profiling.  */
4801   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4802     {
4803       FLD (in_r0) = 0;
4804       FLD (in_rm) = f_rm;
4805     }
4806 #undef FLD
4807 }
4808
4809 void
4810 sh4_nofpu_extract_sfmt_movw6_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4811     sh4_nofpu_insn_word insn = entire_insn;
4812 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4813     UINT f_rn;
4814     UINT f_rm;
4815
4816     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4817     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4818
4819   /* Record the fields for the semantic handler.  */
4820   FLD (f_rm) = f_rm;
4821   FLD (f_rn) = f_rn;
4822   if (UNLIKELY(current_cpu->trace_extract_p))
4823     {
4824       current_cpu->trace_stream 
4825         << "0x" << hex << pc << dec << " (sfmt_movw6_compact)\t"
4826         << " f_rm:0x" << hex << f_rm << dec
4827         << " f_rn:0x" << hex << f_rn << dec
4828         << endl;
4829     }
4830
4831   /* Record the fields for profiling.  */
4832   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4833     {
4834       FLD (in_rm) = f_rm;
4835       FLD (out_rn) = f_rn;
4836     }
4837 #undef FLD
4838 }
4839
4840 void
4841 sh4_nofpu_extract_sfmt_movw7_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4842     sh4_nofpu_insn_word insn = entire_insn;
4843 #define FLD(f) abuf->fields.sfmt_macl_compact.f
4844     UINT f_rn;
4845     UINT f_rm;
4846
4847     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4848     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4849
4850   /* Record the fields for the semantic handler.  */
4851   FLD (f_rm) = f_rm;
4852   FLD (f_rn) = f_rn;
4853   if (UNLIKELY(current_cpu->trace_extract_p))
4854     {
4855       current_cpu->trace_stream 
4856         << "0x" << hex << pc << dec << " (sfmt_movw7_compact)\t"
4857         << " f_rm:0x" << hex << f_rm << dec
4858         << " f_rn:0x" << hex << f_rn << dec
4859         << endl;
4860     }
4861
4862   /* Record the fields for profiling.  */
4863   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4864     {
4865       FLD (in_rm) = f_rm;
4866       FLD (out_rm) = f_rm;
4867       FLD (out_rn) = f_rn;
4868     }
4869 #undef FLD
4870 }
4871
4872 void
4873 sh4_nofpu_extract_sfmt_movw8_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4874     sh4_nofpu_insn_word insn = entire_insn;
4875 #define FLD(f) abuf->fields.sfmt_movb8_compact.f
4876     UINT f_rn;
4877     UINT f_rm;
4878
4879     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4880     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4881
4882   /* Record the fields for the semantic handler.  */
4883   FLD (f_rm) = f_rm;
4884   FLD (f_rn) = f_rn;
4885   if (UNLIKELY(current_cpu->trace_extract_p))
4886     {
4887       current_cpu->trace_stream 
4888         << "0x" << hex << pc << dec << " (sfmt_movw8_compact)\t"
4889         << " f_rm:0x" << hex << f_rm << dec
4890         << " f_rn:0x" << hex << f_rn << dec
4891         << endl;
4892     }
4893
4894   /* Record the fields for profiling.  */
4895   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4896     {
4897       FLD (in_r0) = 0;
4898       FLD (in_rm) = f_rm;
4899       FLD (out_rn) = f_rn;
4900     }
4901 #undef FLD
4902 }
4903
4904 void
4905 sh4_nofpu_extract_sfmt_movw9_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4906     sh4_nofpu_insn_word insn = entire_insn;
4907 #define FLD(f) abuf->fields.sfmt_movw9_compact.f
4908     SI f_imm8x2;
4909
4910     f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
4911
4912   /* Record the fields for the semantic handler.  */
4913   FLD (f_imm8x2) = f_imm8x2;
4914   if (UNLIKELY(current_cpu->trace_extract_p))
4915     {
4916       current_cpu->trace_stream 
4917         << "0x" << hex << pc << dec << " (sfmt_movw9_compact)\t"
4918         << " f_imm8x2:0x" << hex << f_imm8x2 << dec
4919         << endl;
4920     }
4921
4922   /* Record the fields for profiling.  */
4923   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4924     {
4925       FLD (out_r0) = 0;
4926     }
4927 #undef FLD
4928 }
4929
4930 void
4931 sh4_nofpu_extract_sfmt_movw10_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4932     sh4_nofpu_insn_word insn = entire_insn;
4933 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4934     UINT f_rn;
4935     SI f_imm8x2;
4936
4937     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4938     f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
4939
4940   /* Record the fields for the semantic handler.  */
4941   FLD (f_imm8x2) = f_imm8x2;
4942   FLD (f_rn) = f_rn;
4943   if (UNLIKELY(current_cpu->trace_extract_p))
4944     {
4945       current_cpu->trace_stream 
4946         << "0x" << hex << pc << dec << " (sfmt_movw10_compact)\t"
4947         << " f_imm8x2:0x" << hex << f_imm8x2 << dec
4948         << " f_rn:0x" << hex << f_rn << dec
4949         << endl;
4950     }
4951
4952   /* Record the fields for profiling.  */
4953   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4954     {
4955       FLD (out_rn) = f_rn;
4956     }
4957 #undef FLD
4958 }
4959
4960 void
4961 sh4_nofpu_extract_sfmt_movw11_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4962     sh4_nofpu_insn_word insn = entire_insn;
4963 #define FLD(f) abuf->fields.sfmt_movw11_compact.f
4964     UINT f_rm;
4965     SI f_imm4x2;
4966
4967     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4968     f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
4969
4970   /* Record the fields for the semantic handler.  */
4971   FLD (f_imm4x2) = f_imm4x2;
4972   FLD (f_rm) = f_rm;
4973   if (UNLIKELY(current_cpu->trace_extract_p))
4974     {
4975       current_cpu->trace_stream 
4976         << "0x" << hex << pc << dec << " (sfmt_movw11_compact)\t"
4977         << " f_imm4x2:0x" << hex << f_imm4x2 << dec
4978         << " f_rm:0x" << hex << f_rm << dec
4979         << endl;
4980     }
4981
4982   /* Record the fields for profiling.  */
4983   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4984     {
4985       FLD (in_rm) = f_rm;
4986       FLD (out_r0) = 0;
4987     }
4988 #undef FLD
4989 }
4990
4991 void
4992 sh4_nofpu_extract_sfmt_mova_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
4993     sh4_nofpu_insn_word insn = entire_insn;
4994 #define FLD(f) abuf->fields.sfmt_movl9_compact.f
4995     SI f_imm8x4;
4996
4997     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
4998
4999   /* Record the fields for the semantic handler.  */
5000   FLD (f_imm8x4) = f_imm8x4;
5001   if (UNLIKELY(current_cpu->trace_extract_p))
5002     {
5003       current_cpu->trace_stream 
5004         << "0x" << hex << pc << dec << " (sfmt_mova_compact)\t"
5005         << " f_imm8x4:0x" << hex << f_imm8x4 << dec
5006         << endl;
5007     }
5008
5009   /* Record the fields for profiling.  */
5010   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5011     {
5012       FLD (out_r0) = 0;
5013     }
5014 #undef FLD
5015 }
5016
5017 void
5018 sh4_nofpu_extract_sfmt_movcal_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5019     sh4_nofpu_insn_word insn = entire_insn;
5020 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5021     UINT f_rn;
5022
5023     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5024
5025   /* Record the fields for the semantic handler.  */
5026   FLD (f_rn) = f_rn;
5027   if (UNLIKELY(current_cpu->trace_extract_p))
5028     {
5029       current_cpu->trace_stream 
5030         << "0x" << hex << pc << dec << " (sfmt_movcal_compact)\t"
5031         << " f_rn:0x" << hex << f_rn << dec
5032         << endl;
5033     }
5034
5035   /* Record the fields for profiling.  */
5036   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5037     {
5038       FLD (in_r0) = 0;
5039       FLD (in_rn) = f_rn;
5040     }
5041 #undef FLD
5042 }
5043
5044 void
5045 sh4_nofpu_extract_sfmt_movt_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5046     sh4_nofpu_insn_word insn = entire_insn;
5047 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5048     UINT f_rn;
5049
5050     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5051
5052   /* Record the fields for the semantic handler.  */
5053   FLD (f_rn) = f_rn;
5054   if (UNLIKELY(current_cpu->trace_extract_p))
5055     {
5056       current_cpu->trace_stream 
5057         << "0x" << hex << pc << dec << " (sfmt_movt_compact)\t"
5058         << " f_rn:0x" << hex << f_rn << dec
5059         << endl;
5060     }
5061
5062   /* Record the fields for profiling.  */
5063   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5064     {
5065       FLD (out_rn) = f_rn;
5066     }
5067 #undef FLD
5068 }
5069
5070 void
5071 sh4_nofpu_extract_sfmt_mull_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5072     sh4_nofpu_insn_word insn = entire_insn;
5073 #define FLD(f) abuf->fields.sfmt_movl13_compact.f
5074     UINT f_rn;
5075     UINT f_rm;
5076
5077     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5078     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5079
5080   /* Record the fields for the semantic handler.  */
5081   FLD (f_rm) = f_rm;
5082   FLD (f_rn) = f_rn;
5083   if (UNLIKELY(current_cpu->trace_extract_p))
5084     {
5085       current_cpu->trace_stream 
5086         << "0x" << hex << pc << dec << " (sfmt_mull_compact)\t"
5087         << " f_rm:0x" << hex << f_rm << dec
5088         << " f_rn:0x" << hex << f_rn << dec
5089         << endl;
5090     }
5091
5092   /* Record the fields for profiling.  */
5093   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5094     {
5095       FLD (in_rm) = f_rm;
5096       FLD (in_rn) = f_rn;
5097     }
5098 #undef FLD
5099 }
5100
5101 void
5102 sh4_nofpu_extract_sfmt_negc_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5103     sh4_nofpu_insn_word insn = entire_insn;
5104 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5105     UINT f_rn;
5106     UINT f_rm;
5107
5108     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5109     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5110
5111   /* Record the fields for the semantic handler.  */
5112   FLD (f_rm) = f_rm;
5113   FLD (f_rn) = f_rn;
5114   if (UNLIKELY(current_cpu->trace_extract_p))
5115     {
5116       current_cpu->trace_stream 
5117         << "0x" << hex << pc << dec << " (sfmt_negc_compact)\t"
5118         << " f_rm:0x" << hex << f_rm << dec
5119         << " f_rn:0x" << hex << f_rn << dec
5120         << endl;
5121     }
5122
5123   /* Record the fields for profiling.  */
5124   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5125     {
5126       FLD (in_rm) = f_rm;
5127       FLD (out_rn) = f_rn;
5128     }
5129 #undef FLD
5130 }
5131
5132 void
5133 sh4_nofpu_extract_sfmt_nop_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5134     sh4_nofpu_insn_word insn = entire_insn;
5135 #define FLD(f) abuf->fields.fmt_empty.f
5136
5137
5138   /* Record the fields for the semantic handler.  */
5139   if (UNLIKELY(current_cpu->trace_extract_p))
5140     {
5141       current_cpu->trace_stream 
5142         << "0x" << hex << pc << dec << " (sfmt_nop_compact)\t"
5143         << endl;
5144     }
5145
5146 #undef FLD
5147 }
5148
5149 void
5150 sh4_nofpu_extract_sfmt_ocbi_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5151     sh4_nofpu_insn_word insn = entire_insn;
5152 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5153     UINT f_rn;
5154
5155     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5156
5157   /* Record the fields for the semantic handler.  */
5158   FLD (f_rn) = f_rn;
5159   if (UNLIKELY(current_cpu->trace_extract_p))
5160     {
5161       current_cpu->trace_stream 
5162         << "0x" << hex << pc << dec << " (sfmt_ocbi_compact)\t"
5163         << " f_rn:0x" << hex << f_rn << dec
5164         << endl;
5165     }
5166
5167   /* Record the fields for profiling.  */
5168   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5169     {
5170       FLD (in_rn) = f_rn;
5171       FLD (out_rn) = f_rn;
5172     }
5173 #undef FLD
5174 }
5175
5176 void
5177 sh4_nofpu_extract_sfmt_pref_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5178     sh4_nofpu_insn_word insn = entire_insn;
5179 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5180     UINT f_rn;
5181
5182     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5183
5184   /* Record the fields for the semantic handler.  */
5185   FLD (f_rn) = f_rn;
5186   if (UNLIKELY(current_cpu->trace_extract_p))
5187     {
5188       current_cpu->trace_stream 
5189         << "0x" << hex << pc << dec << " (sfmt_pref_compact)\t"
5190         << " f_rn:0x" << hex << f_rn << dec
5191         << endl;
5192     }
5193
5194   /* Record the fields for profiling.  */
5195   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5196     {
5197       FLD (in_rn) = f_rn;
5198     }
5199 #undef FLD
5200 }
5201
5202 void
5203 sh4_nofpu_extract_sfmt_rotcl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5204     sh4_nofpu_insn_word insn = entire_insn;
5205 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5206     UINT f_rn;
5207
5208     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5209
5210   /* Record the fields for the semantic handler.  */
5211   FLD (f_rn) = f_rn;
5212   if (UNLIKELY(current_cpu->trace_extract_p))
5213     {
5214       current_cpu->trace_stream 
5215         << "0x" << hex << pc << dec << " (sfmt_rotcl_compact)\t"
5216         << " f_rn:0x" << hex << f_rn << dec
5217         << endl;
5218     }
5219
5220   /* Record the fields for profiling.  */
5221   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5222     {
5223       FLD (in_rn) = f_rn;
5224       FLD (out_rn) = f_rn;
5225     }
5226 #undef FLD
5227 }
5228
5229 void
5230 sh4_nofpu_extract_sfmt_rts_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5231     sh4_nofpu_insn_word insn = entire_insn;
5232 #define FLD(f) abuf->fields.fmt_empty.f
5233
5234
5235   /* Record the fields for the semantic handler.  */
5236   if (UNLIKELY(current_cpu->trace_extract_p))
5237     {
5238       current_cpu->trace_stream 
5239         << "0x" << hex << pc << dec << " (sfmt_rts_compact)\t"
5240         << endl;
5241     }
5242
5243   /* Record the fields for profiling.  */
5244   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5245     {
5246     }
5247 #undef FLD
5248 }
5249
5250 void
5251 sh4_nofpu_extract_sfmt_shad_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5252     sh4_nofpu_insn_word insn = entire_insn;
5253 #define FLD(f) abuf->fields.sfmt_macl_compact.f
5254     UINT f_rn;
5255     UINT f_rm;
5256
5257     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5258     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5259
5260   /* Record the fields for the semantic handler.  */
5261   FLD (f_rm) = f_rm;
5262   FLD (f_rn) = f_rn;
5263   if (UNLIKELY(current_cpu->trace_extract_p))
5264     {
5265       current_cpu->trace_stream 
5266         << "0x" << hex << pc << dec << " (sfmt_shad_compact)\t"
5267         << " f_rm:0x" << hex << f_rm << dec
5268         << " f_rn:0x" << hex << f_rn << dec
5269         << endl;
5270     }
5271
5272   /* Record the fields for profiling.  */
5273   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5274     {
5275       FLD (in_rm) = f_rm;
5276       FLD (in_rn) = f_rn;
5277       FLD (out_rn) = f_rn;
5278     }
5279 #undef FLD
5280 }
5281
5282 void
5283 sh4_nofpu_extract_sfmt_stc_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5284     sh4_nofpu_insn_word insn = entire_insn;
5285 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5286     UINT f_rn;
5287
5288     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5289
5290   /* Record the fields for the semantic handler.  */
5291   FLD (f_rn) = f_rn;
5292   if (UNLIKELY(current_cpu->trace_extract_p))
5293     {
5294       current_cpu->trace_stream 
5295         << "0x" << hex << pc << dec << " (sfmt_stc_gbr_compact)\t"
5296         << " f_rn:0x" << hex << f_rn << dec
5297         << endl;
5298     }
5299
5300   /* Record the fields for profiling.  */
5301   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5302     {
5303       FLD (out_rn) = f_rn;
5304     }
5305 #undef FLD
5306 }
5307
5308 void
5309 sh4_nofpu_extract_sfmt_stc_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5310     sh4_nofpu_insn_word insn = entire_insn;
5311 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5312     UINT f_rn;
5313
5314     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5315
5316   /* Record the fields for the semantic handler.  */
5317   FLD (f_rn) = f_rn;
5318   if (UNLIKELY(current_cpu->trace_extract_p))
5319     {
5320       current_cpu->trace_stream 
5321         << "0x" << hex << pc << dec << " (sfmt_stc_vbr_compact)\t"
5322         << " f_rn:0x" << hex << f_rn << dec
5323         << endl;
5324     }
5325
5326   /* Record the fields for profiling.  */
5327   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5328     {
5329       FLD (out_rn) = f_rn;
5330     }
5331 #undef FLD
5332 }
5333
5334 void
5335 sh4_nofpu_extract_sfmt_stcl_gbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5336     sh4_nofpu_insn_word insn = entire_insn;
5337 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5338     UINT f_rn;
5339
5340     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5341
5342   /* Record the fields for the semantic handler.  */
5343   FLD (f_rn) = f_rn;
5344   if (UNLIKELY(current_cpu->trace_extract_p))
5345     {
5346       current_cpu->trace_stream 
5347         << "0x" << hex << pc << dec << " (sfmt_stcl_gbr_compact)\t"
5348         << " f_rn:0x" << hex << f_rn << dec
5349         << endl;
5350     }
5351
5352   /* Record the fields for profiling.  */
5353   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5354     {
5355       FLD (in_rn) = f_rn;
5356       FLD (out_rn) = f_rn;
5357     }
5358 #undef FLD
5359 }
5360
5361 void
5362 sh4_nofpu_extract_sfmt_stcl_vbr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5363     sh4_nofpu_insn_word insn = entire_insn;
5364 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5365     UINT f_rn;
5366
5367     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5368
5369   /* Record the fields for the semantic handler.  */
5370   FLD (f_rn) = f_rn;
5371   if (UNLIKELY(current_cpu->trace_extract_p))
5372     {
5373       current_cpu->trace_stream 
5374         << "0x" << hex << pc << dec << " (sfmt_stcl_vbr_compact)\t"
5375         << " f_rn:0x" << hex << f_rn << dec
5376         << endl;
5377     }
5378
5379   /* Record the fields for profiling.  */
5380   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5381     {
5382       FLD (in_rn) = f_rn;
5383       FLD (out_rn) = f_rn;
5384     }
5385 #undef FLD
5386 }
5387
5388 void
5389 sh4_nofpu_extract_sfmt_sts_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5390     sh4_nofpu_insn_word insn = entire_insn;
5391 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5392     UINT f_rn;
5393
5394     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5395
5396   /* Record the fields for the semantic handler.  */
5397   FLD (f_rn) = f_rn;
5398   if (UNLIKELY(current_cpu->trace_extract_p))
5399     {
5400       current_cpu->trace_stream 
5401         << "0x" << hex << pc << dec << " (sfmt_sts_mach_compact)\t"
5402         << " f_rn:0x" << hex << f_rn << dec
5403         << endl;
5404     }
5405
5406   /* Record the fields for profiling.  */
5407   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5408     {
5409       FLD (out_rn) = f_rn;
5410     }
5411 #undef FLD
5412 }
5413
5414 void
5415 sh4_nofpu_extract_sfmt_stsl_mach_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5416     sh4_nofpu_insn_word insn = entire_insn;
5417 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5418     UINT f_rn;
5419
5420     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5421
5422   /* Record the fields for the semantic handler.  */
5423   FLD (f_rn) = f_rn;
5424   if (UNLIKELY(current_cpu->trace_extract_p))
5425     {
5426       current_cpu->trace_stream 
5427         << "0x" << hex << pc << dec << " (sfmt_stsl_mach_compact)\t"
5428         << " f_rn:0x" << hex << f_rn << dec
5429         << endl;
5430     }
5431
5432   /* Record the fields for profiling.  */
5433   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5434     {
5435       FLD (in_rn) = f_rn;
5436       FLD (out_rn) = f_rn;
5437     }
5438 #undef FLD
5439 }
5440
5441 void
5442 sh4_nofpu_extract_sfmt_sts_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5443     sh4_nofpu_insn_word insn = entire_insn;
5444 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5445     UINT f_rn;
5446
5447     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5448
5449   /* Record the fields for the semantic handler.  */
5450   FLD (f_rn) = f_rn;
5451   if (UNLIKELY(current_cpu->trace_extract_p))
5452     {
5453       current_cpu->trace_stream 
5454         << "0x" << hex << pc << dec << " (sfmt_sts_macl_compact)\t"
5455         << " f_rn:0x" << hex << f_rn << dec
5456         << endl;
5457     }
5458
5459   /* Record the fields for profiling.  */
5460   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5461     {
5462       FLD (out_rn) = f_rn;
5463     }
5464 #undef FLD
5465 }
5466
5467 void
5468 sh4_nofpu_extract_sfmt_stsl_macl_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5469     sh4_nofpu_insn_word insn = entire_insn;
5470 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5471     UINT f_rn;
5472
5473     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5474
5475   /* Record the fields for the semantic handler.  */
5476   FLD (f_rn) = f_rn;
5477   if (UNLIKELY(current_cpu->trace_extract_p))
5478     {
5479       current_cpu->trace_stream 
5480         << "0x" << hex << pc << dec << " (sfmt_stsl_macl_compact)\t"
5481         << " f_rn:0x" << hex << f_rn << dec
5482         << endl;
5483     }
5484
5485   /* Record the fields for profiling.  */
5486   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5487     {
5488       FLD (in_rn) = f_rn;
5489       FLD (out_rn) = f_rn;
5490     }
5491 #undef FLD
5492 }
5493
5494 void
5495 sh4_nofpu_extract_sfmt_sts_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5496     sh4_nofpu_insn_word insn = entire_insn;
5497 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5498     UINT f_rn;
5499
5500     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5501
5502   /* Record the fields for the semantic handler.  */
5503   FLD (f_rn) = f_rn;
5504   if (UNLIKELY(current_cpu->trace_extract_p))
5505     {
5506       current_cpu->trace_stream 
5507         << "0x" << hex << pc << dec << " (sfmt_sts_pr_compact)\t"
5508         << " f_rn:0x" << hex << f_rn << dec
5509         << endl;
5510     }
5511
5512   /* Record the fields for profiling.  */
5513   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5514     {
5515       FLD (out_rn) = f_rn;
5516     }
5517 #undef FLD
5518 }
5519
5520 void
5521 sh4_nofpu_extract_sfmt_stsl_pr_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5522     sh4_nofpu_insn_word insn = entire_insn;
5523 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5524     UINT f_rn;
5525
5526     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5527
5528   /* Record the fields for the semantic handler.  */
5529   FLD (f_rn) = f_rn;
5530   if (UNLIKELY(current_cpu->trace_extract_p))
5531     {
5532       current_cpu->trace_stream 
5533         << "0x" << hex << pc << dec << " (sfmt_stsl_pr_compact)\t"
5534         << " f_rn:0x" << hex << f_rn << dec
5535         << endl;
5536     }
5537
5538   /* Record the fields for profiling.  */
5539   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5540     {
5541       FLD (in_rn) = f_rn;
5542       FLD (out_rn) = f_rn;
5543     }
5544 #undef FLD
5545 }
5546
5547 void
5548 sh4_nofpu_extract_sfmt_tasb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5549     sh4_nofpu_insn_word insn = entire_insn;
5550 #define FLD(f) abuf->fields.sfmt_divu_compact.f
5551     UINT f_rn;
5552
5553     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5554
5555   /* Record the fields for the semantic handler.  */
5556   FLD (f_rn) = f_rn;
5557   if (UNLIKELY(current_cpu->trace_extract_p))
5558     {
5559       current_cpu->trace_stream 
5560         << "0x" << hex << pc << dec << " (sfmt_tasb_compact)\t"
5561         << " f_rn:0x" << hex << f_rn << dec
5562         << endl;
5563     }
5564
5565   /* Record the fields for profiling.  */
5566   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5567     {
5568       FLD (in_rn) = f_rn;
5569     }
5570 #undef FLD
5571 }
5572
5573 void
5574 sh4_nofpu_extract_sfmt_trapa_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5575     sh4_nofpu_insn_word insn = entire_insn;
5576 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5577     UINT f_imm8;
5578
5579     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5580
5581   /* Record the fields for the semantic handler.  */
5582   FLD (f_imm8) = f_imm8;
5583   if (UNLIKELY(current_cpu->trace_extract_p))
5584     {
5585       current_cpu->trace_stream 
5586         << "0x" << hex << pc << dec << " (sfmt_trapa_compact)\t"
5587         << " f_imm8:0x" << hex << f_imm8 << dec
5588         << endl;
5589     }
5590
5591   /* Record the fields for profiling.  */
5592   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5593     {
5594     }
5595 #undef FLD
5596 }
5597
5598 void
5599 sh4_nofpu_extract_sfmt_tsti_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5600     sh4_nofpu_insn_word insn = entire_insn;
5601 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5602     UINT f_imm8;
5603
5604     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5605
5606   /* Record the fields for the semantic handler.  */
5607   FLD (f_imm8) = f_imm8;
5608   if (UNLIKELY(current_cpu->trace_extract_p))
5609     {
5610       current_cpu->trace_stream 
5611         << "0x" << hex << pc << dec << " (sfmt_tsti_compact)\t"
5612         << " f_imm8:0x" << hex << f_imm8 << dec
5613         << endl;
5614     }
5615
5616   /* Record the fields for profiling.  */
5617   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5618     {
5619       FLD (in_r0) = 0;
5620     }
5621 #undef FLD
5622 }
5623
5624 void
5625 sh4_nofpu_extract_sfmt_tstb_compact (sh4_nofpu_scache* abuf, sh4_nofpu_cpu* current_cpu, PCADDR pc, sh4_nofpu_insn_word base_insn, sh4_nofpu_insn_word entire_insn){
5626     sh4_nofpu_insn_word insn = entire_insn;
5627 #define FLD(f) abuf->fields.sfmt_andi_compact.f
5628     UINT f_imm8;
5629
5630     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5631
5632   /* Record the fields for the semantic handler.  */
5633   FLD (f_imm8) = f_imm8;
5634   if (UNLIKELY(current_cpu->trace_extract_p))
5635     {
5636       current_cpu->trace_stream 
5637         << "0x" << hex << pc << dec << " (sfmt_tstb_compact)\t"
5638         << " f_imm8:0x" << hex << f_imm8 << dec
5639         << endl;
5640     }
5641
5642   /* Record the fields for profiling.  */
5643   if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5644     {
5645       FLD (in_r0) = 0;
5646     }
5647 #undef FLD
5648 }
5649