OSDN Git Service

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