ed38ac840097d4561d32f9f9365ed1bc4e2a768c
[external/binutils.git] / sim / sh64 / decode-compact.c
1 /* Simulator instruction decoder for sh64_compact.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright 1996-2005 Free Software Foundation, Inc.
6
7 This file is part of the GNU simulators.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
22
23 */
24
25 #define WANT_CPU sh64
26 #define WANT_CPU_SH64
27
28 #include "sim-main.h"
29 #include "sim-assert.h"
30
31 /* The instruction descriptor array.
32    This is computed at runtime.  Space for it is not malloc'd to save a
33    teensy bit of cpu in the decoder.  Moving it to malloc space is trivial
34    but won't be done until necessary (we don't currently support the runtime
35    addition of instructions nor an SMP machine with different cpus).  */
36 static IDESC sh64_compact_insn_data[SH64_COMPACT_INSN__MAX];
37
38 /* Commas between elements are contained in the macros.
39    Some of these are conditionally compiled out.  */
40
41 static const struct insn_sem sh64_compact_insn_sem[] =
42 {
43   { VIRTUAL_INSN_X_INVALID, SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_SFMT_EMPTY },
44   { VIRTUAL_INSN_X_AFTER, SH64_COMPACT_INSN_X_AFTER, SH64_COMPACT_SFMT_EMPTY },
45   { VIRTUAL_INSN_X_BEFORE, SH64_COMPACT_INSN_X_BEFORE, SH64_COMPACT_SFMT_EMPTY },
46   { VIRTUAL_INSN_X_CTI_CHAIN, SH64_COMPACT_INSN_X_CTI_CHAIN, SH64_COMPACT_SFMT_EMPTY },
47   { VIRTUAL_INSN_X_CHAIN, SH64_COMPACT_INSN_X_CHAIN, SH64_COMPACT_SFMT_EMPTY },
48   { VIRTUAL_INSN_X_BEGIN, SH64_COMPACT_INSN_X_BEGIN, SH64_COMPACT_SFMT_EMPTY },
49   { SH_INSN_ADD_COMPACT, SH64_COMPACT_INSN_ADD_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
50   { SH_INSN_ADDI_COMPACT, SH64_COMPACT_INSN_ADDI_COMPACT, SH64_COMPACT_SFMT_ADDI_COMPACT },
51   { SH_INSN_ADDC_COMPACT, SH64_COMPACT_INSN_ADDC_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT },
52   { SH_INSN_ADDV_COMPACT, SH64_COMPACT_INSN_ADDV_COMPACT, SH64_COMPACT_SFMT_ADDV_COMPACT },
53   { SH_INSN_AND_COMPACT, SH64_COMPACT_INSN_AND_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
54   { SH_INSN_ANDI_COMPACT, SH64_COMPACT_INSN_ANDI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
55   { SH_INSN_ANDB_COMPACT, SH64_COMPACT_INSN_ANDB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
56   { SH_INSN_BF_COMPACT, SH64_COMPACT_INSN_BF_COMPACT, SH64_COMPACT_SFMT_BF_COMPACT },
57   { SH_INSN_BFS_COMPACT, SH64_COMPACT_INSN_BFS_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT },
58   { SH_INSN_BRA_COMPACT, SH64_COMPACT_INSN_BRA_COMPACT, SH64_COMPACT_SFMT_BRA_COMPACT },
59   { SH_INSN_BRAF_COMPACT, SH64_COMPACT_INSN_BRAF_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT },
60   { SH_INSN_BRK_COMPACT, SH64_COMPACT_INSN_BRK_COMPACT, SH64_COMPACT_SFMT_BRK_COMPACT },
61   { SH_INSN_BSR_COMPACT, SH64_COMPACT_INSN_BSR_COMPACT, SH64_COMPACT_SFMT_BSR_COMPACT },
62   { SH_INSN_BSRF_COMPACT, SH64_COMPACT_INSN_BSRF_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
63   { SH_INSN_BT_COMPACT, SH64_COMPACT_INSN_BT_COMPACT, SH64_COMPACT_SFMT_BF_COMPACT },
64   { SH_INSN_BTS_COMPACT, SH64_COMPACT_INSN_BTS_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT },
65   { SH_INSN_CLRMAC_COMPACT, SH64_COMPACT_INSN_CLRMAC_COMPACT, SH64_COMPACT_SFMT_CLRMAC_COMPACT },
66   { SH_INSN_CLRS_COMPACT, SH64_COMPACT_INSN_CLRS_COMPACT, SH64_COMPACT_SFMT_CLRS_COMPACT },
67   { SH_INSN_CLRT_COMPACT, SH64_COMPACT_INSN_CLRT_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT },
68   { SH_INSN_CMPEQ_COMPACT, SH64_COMPACT_INSN_CMPEQ_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
69   { SH_INSN_CMPEQI_COMPACT, SH64_COMPACT_INSN_CMPEQI_COMPACT, SH64_COMPACT_SFMT_CMPEQI_COMPACT },
70   { SH_INSN_CMPGE_COMPACT, SH64_COMPACT_INSN_CMPGE_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
71   { SH_INSN_CMPGT_COMPACT, SH64_COMPACT_INSN_CMPGT_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
72   { SH_INSN_CMPHI_COMPACT, SH64_COMPACT_INSN_CMPHI_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
73   { SH_INSN_CMPHS_COMPACT, SH64_COMPACT_INSN_CMPHS_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
74   { SH_INSN_CMPPL_COMPACT, SH64_COMPACT_INSN_CMPPL_COMPACT, SH64_COMPACT_SFMT_CMPPL_COMPACT },
75   { SH_INSN_CMPPZ_COMPACT, SH64_COMPACT_INSN_CMPPZ_COMPACT, SH64_COMPACT_SFMT_CMPPL_COMPACT },
76   { SH_INSN_CMPSTR_COMPACT, SH64_COMPACT_INSN_CMPSTR_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
77   { SH_INSN_DIV0S_COMPACT, SH64_COMPACT_INSN_DIV0S_COMPACT, SH64_COMPACT_SFMT_DIV0S_COMPACT },
78   { SH_INSN_DIV0U_COMPACT, SH64_COMPACT_INSN_DIV0U_COMPACT, SH64_COMPACT_SFMT_DIV0U_COMPACT },
79   { SH_INSN_DIV1_COMPACT, SH64_COMPACT_INSN_DIV1_COMPACT, SH64_COMPACT_SFMT_DIV1_COMPACT },
80   { SH_INSN_DIVU_COMPACT, SH64_COMPACT_INSN_DIVU_COMPACT, SH64_COMPACT_SFMT_DIVU_COMPACT },
81   { SH_INSN_MULR_COMPACT, SH64_COMPACT_INSN_MULR_COMPACT, SH64_COMPACT_SFMT_DIVU_COMPACT },
82   { SH_INSN_DMULSL_COMPACT, SH64_COMPACT_INSN_DMULSL_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT },
83   { SH_INSN_DMULUL_COMPACT, SH64_COMPACT_INSN_DMULUL_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT },
84   { SH_INSN_DT_COMPACT, SH64_COMPACT_INSN_DT_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
85   { SH_INSN_EXTSB_COMPACT, SH64_COMPACT_INSN_EXTSB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
86   { SH_INSN_EXTSW_COMPACT, SH64_COMPACT_INSN_EXTSW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
87   { SH_INSN_EXTUB_COMPACT, SH64_COMPACT_INSN_EXTUB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
88   { SH_INSN_EXTUW_COMPACT, SH64_COMPACT_INSN_EXTUW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
89   { SH_INSN_FABS_COMPACT, SH64_COMPACT_INSN_FABS_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
90   { SH_INSN_FADD_COMPACT, SH64_COMPACT_INSN_FADD_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
91   { SH_INSN_FCMPEQ_COMPACT, SH64_COMPACT_INSN_FCMPEQ_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT },
92   { SH_INSN_FCMPGT_COMPACT, SH64_COMPACT_INSN_FCMPGT_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT },
93   { SH_INSN_FCNVDS_COMPACT, SH64_COMPACT_INSN_FCNVDS_COMPACT, SH64_COMPACT_SFMT_FCNVDS_COMPACT },
94   { SH_INSN_FCNVSD_COMPACT, SH64_COMPACT_INSN_FCNVSD_COMPACT, SH64_COMPACT_SFMT_FCNVSD_COMPACT },
95   { SH_INSN_FDIV_COMPACT, SH64_COMPACT_INSN_FDIV_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
96   { SH_INSN_FIPR_COMPACT, SH64_COMPACT_INSN_FIPR_COMPACT, SH64_COMPACT_SFMT_FIPR_COMPACT },
97   { SH_INSN_FLDS_COMPACT, SH64_COMPACT_INSN_FLDS_COMPACT, SH64_COMPACT_SFMT_FLDS_COMPACT },
98   { SH_INSN_FLDI0_COMPACT, SH64_COMPACT_INSN_FLDI0_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT },
99   { SH_INSN_FLDI1_COMPACT, SH64_COMPACT_INSN_FLDI1_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT },
100   { SH_INSN_FLOAT_COMPACT, SH64_COMPACT_INSN_FLOAT_COMPACT, SH64_COMPACT_SFMT_FLOAT_COMPACT },
101   { SH_INSN_FMAC_COMPACT, SH64_COMPACT_INSN_FMAC_COMPACT, SH64_COMPACT_SFMT_FMAC_COMPACT },
102   { SH_INSN_FMOV1_COMPACT, SH64_COMPACT_INSN_FMOV1_COMPACT, SH64_COMPACT_SFMT_FMOV1_COMPACT },
103   { SH_INSN_FMOV2_COMPACT, SH64_COMPACT_INSN_FMOV2_COMPACT, SH64_COMPACT_SFMT_FMOV2_COMPACT },
104   { SH_INSN_FMOV3_COMPACT, SH64_COMPACT_INSN_FMOV3_COMPACT, SH64_COMPACT_SFMT_FMOV3_COMPACT },
105   { SH_INSN_FMOV4_COMPACT, SH64_COMPACT_INSN_FMOV4_COMPACT, SH64_COMPACT_SFMT_FMOV4_COMPACT },
106   { SH_INSN_FMOV5_COMPACT, SH64_COMPACT_INSN_FMOV5_COMPACT, SH64_COMPACT_SFMT_FMOV5_COMPACT },
107   { SH_INSN_FMOV6_COMPACT, SH64_COMPACT_INSN_FMOV6_COMPACT, SH64_COMPACT_SFMT_FMOV6_COMPACT },
108   { SH_INSN_FMOV7_COMPACT, SH64_COMPACT_INSN_FMOV7_COMPACT, SH64_COMPACT_SFMT_FMOV7_COMPACT },
109   { SH_INSN_FMOV8_COMPACT, SH64_COMPACT_INSN_FMOV8_COMPACT, SH64_COMPACT_SFMT_FMOV8_COMPACT },
110   { SH_INSN_FMOV9_COMPACT, SH64_COMPACT_INSN_FMOV9_COMPACT, SH64_COMPACT_SFMT_FMOV9_COMPACT },
111   { SH_INSN_FMUL_COMPACT, SH64_COMPACT_INSN_FMUL_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
112   { SH_INSN_FNEG_COMPACT, SH64_COMPACT_INSN_FNEG_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
113   { SH_INSN_FRCHG_COMPACT, SH64_COMPACT_INSN_FRCHG_COMPACT, SH64_COMPACT_SFMT_FRCHG_COMPACT },
114   { SH_INSN_FSCHG_COMPACT, SH64_COMPACT_INSN_FSCHG_COMPACT, SH64_COMPACT_SFMT_FSCHG_COMPACT },
115   { SH_INSN_FSQRT_COMPACT, SH64_COMPACT_INSN_FSQRT_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
116   { SH_INSN_FSTS_COMPACT, SH64_COMPACT_INSN_FSTS_COMPACT, SH64_COMPACT_SFMT_FSTS_COMPACT },
117   { SH_INSN_FSUB_COMPACT, SH64_COMPACT_INSN_FSUB_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
118   { SH_INSN_FTRC_COMPACT, SH64_COMPACT_INSN_FTRC_COMPACT, SH64_COMPACT_SFMT_FTRC_COMPACT },
119   { SH_INSN_FTRV_COMPACT, SH64_COMPACT_INSN_FTRV_COMPACT, SH64_COMPACT_SFMT_FTRV_COMPACT },
120   { SH_INSN_JMP_COMPACT, SH64_COMPACT_INSN_JMP_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT },
121   { SH_INSN_JSR_COMPACT, SH64_COMPACT_INSN_JSR_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
122   { SH_INSN_LDC_GBR_COMPACT, SH64_COMPACT_INSN_LDC_GBR_COMPACT, SH64_COMPACT_SFMT_LDC_GBR_COMPACT },
123   { SH_INSN_LDC_VBR_COMPACT, SH64_COMPACT_INSN_LDC_VBR_COMPACT, SH64_COMPACT_SFMT_LDC_VBR_COMPACT },
124   { SH_INSN_LDC_SR_COMPACT, SH64_COMPACT_INSN_LDC_SR_COMPACT, SH64_COMPACT_SFMT_LDC_SR_COMPACT },
125   { SH_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_SFMT_LDCL_GBR_COMPACT },
126   { SH_INSN_LDCL_VBR_COMPACT, SH64_COMPACT_INSN_LDCL_VBR_COMPACT, SH64_COMPACT_SFMT_LDCL_VBR_COMPACT },
127   { SH_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDS_FPSCR_COMPACT },
128   { SH_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDSL_FPSCR_COMPACT },
129   { SH_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_SFMT_LDS_FPUL_COMPACT },
130   { SH_INSN_LDSL_FPUL_COMPACT, SH64_COMPACT_INSN_LDSL_FPUL_COMPACT, SH64_COMPACT_SFMT_LDSL_FPUL_COMPACT },
131   { SH_INSN_LDS_MACH_COMPACT, SH64_COMPACT_INSN_LDS_MACH_COMPACT, SH64_COMPACT_SFMT_LDS_MACH_COMPACT },
132   { SH_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_SFMT_LDSL_MACH_COMPACT },
133   { SH_INSN_LDS_MACL_COMPACT, SH64_COMPACT_INSN_LDS_MACL_COMPACT, SH64_COMPACT_SFMT_LDS_MACL_COMPACT },
134   { SH_INSN_LDSL_MACL_COMPACT, SH64_COMPACT_INSN_LDSL_MACL_COMPACT, SH64_COMPACT_SFMT_LDSL_MACL_COMPACT },
135   { SH_INSN_LDS_PR_COMPACT, SH64_COMPACT_INSN_LDS_PR_COMPACT, SH64_COMPACT_SFMT_LDS_PR_COMPACT },
136   { SH_INSN_LDSL_PR_COMPACT, SH64_COMPACT_INSN_LDSL_PR_COMPACT, SH64_COMPACT_SFMT_LDSL_PR_COMPACT },
137   { SH_INSN_MACL_COMPACT, SH64_COMPACT_INSN_MACL_COMPACT, SH64_COMPACT_SFMT_MACL_COMPACT },
138   { SH_INSN_MACW_COMPACT, SH64_COMPACT_INSN_MACW_COMPACT, SH64_COMPACT_SFMT_MACW_COMPACT },
139   { SH_INSN_MOV_COMPACT, SH64_COMPACT_INSN_MOV_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT },
140   { SH_INSN_MOVI_COMPACT, SH64_COMPACT_INSN_MOVI_COMPACT, SH64_COMPACT_SFMT_MOVI_COMPACT },
141   { SH_INSN_MOVI20_COMPACT, SH64_COMPACT_INSN_MOVI20_COMPACT, SH64_COMPACT_SFMT_MOVI20_COMPACT },
142   { SH_INSN_MOVB1_COMPACT, SH64_COMPACT_INSN_MOVB1_COMPACT, SH64_COMPACT_SFMT_MOVB1_COMPACT },
143   { SH_INSN_MOVB2_COMPACT, SH64_COMPACT_INSN_MOVB2_COMPACT, SH64_COMPACT_SFMT_MOVB2_COMPACT },
144   { SH_INSN_MOVB3_COMPACT, SH64_COMPACT_INSN_MOVB3_COMPACT, SH64_COMPACT_SFMT_MOVB3_COMPACT },
145   { SH_INSN_MOVB4_COMPACT, SH64_COMPACT_INSN_MOVB4_COMPACT, SH64_COMPACT_SFMT_MOVB4_COMPACT },
146   { SH_INSN_MOVB5_COMPACT, SH64_COMPACT_INSN_MOVB5_COMPACT, SH64_COMPACT_SFMT_MOVB5_COMPACT },
147   { SH_INSN_MOVB6_COMPACT, SH64_COMPACT_INSN_MOVB6_COMPACT, SH64_COMPACT_SFMT_MOVB6_COMPACT },
148   { SH_INSN_MOVB7_COMPACT, SH64_COMPACT_INSN_MOVB7_COMPACT, SH64_COMPACT_SFMT_MOVB7_COMPACT },
149   { SH_INSN_MOVB8_COMPACT, SH64_COMPACT_INSN_MOVB8_COMPACT, SH64_COMPACT_SFMT_MOVB8_COMPACT },
150   { SH_INSN_MOVB9_COMPACT, SH64_COMPACT_INSN_MOVB9_COMPACT, SH64_COMPACT_SFMT_MOVB9_COMPACT },
151   { SH_INSN_MOVB10_COMPACT, SH64_COMPACT_INSN_MOVB10_COMPACT, SH64_COMPACT_SFMT_MOVB10_COMPACT },
152   { SH_INSN_MOVL1_COMPACT, SH64_COMPACT_INSN_MOVL1_COMPACT, SH64_COMPACT_SFMT_MOVL1_COMPACT },
153   { SH_INSN_MOVL2_COMPACT, SH64_COMPACT_INSN_MOVL2_COMPACT, SH64_COMPACT_SFMT_MOVL2_COMPACT },
154   { SH_INSN_MOVL3_COMPACT, SH64_COMPACT_INSN_MOVL3_COMPACT, SH64_COMPACT_SFMT_MOVL3_COMPACT },
155   { SH_INSN_MOVL4_COMPACT, SH64_COMPACT_INSN_MOVL4_COMPACT, SH64_COMPACT_SFMT_MOVL4_COMPACT },
156   { SH_INSN_MOVL5_COMPACT, SH64_COMPACT_INSN_MOVL5_COMPACT, SH64_COMPACT_SFMT_MOVL5_COMPACT },
157   { SH_INSN_MOVL6_COMPACT, SH64_COMPACT_INSN_MOVL6_COMPACT, SH64_COMPACT_SFMT_MOVL6_COMPACT },
158   { SH_INSN_MOVL7_COMPACT, SH64_COMPACT_INSN_MOVL7_COMPACT, SH64_COMPACT_SFMT_MOVL7_COMPACT },
159   { SH_INSN_MOVL8_COMPACT, SH64_COMPACT_INSN_MOVL8_COMPACT, SH64_COMPACT_SFMT_MOVL8_COMPACT },
160   { SH_INSN_MOVL9_COMPACT, SH64_COMPACT_INSN_MOVL9_COMPACT, SH64_COMPACT_SFMT_MOVL9_COMPACT },
161   { SH_INSN_MOVL10_COMPACT, SH64_COMPACT_INSN_MOVL10_COMPACT, SH64_COMPACT_SFMT_MOVL10_COMPACT },
162   { SH_INSN_MOVL11_COMPACT, SH64_COMPACT_INSN_MOVL11_COMPACT, SH64_COMPACT_SFMT_MOVL11_COMPACT },
163   { SH_INSN_MOVL12_COMPACT, SH64_COMPACT_INSN_MOVL12_COMPACT, SH64_COMPACT_SFMT_MOVL12_COMPACT },
164   { SH_INSN_MOVL13_COMPACT, SH64_COMPACT_INSN_MOVL13_COMPACT, SH64_COMPACT_SFMT_MOVL13_COMPACT },
165   { SH_INSN_MOVW1_COMPACT, SH64_COMPACT_INSN_MOVW1_COMPACT, SH64_COMPACT_SFMT_MOVW1_COMPACT },
166   { SH_INSN_MOVW2_COMPACT, SH64_COMPACT_INSN_MOVW2_COMPACT, SH64_COMPACT_SFMT_MOVW2_COMPACT },
167   { SH_INSN_MOVW3_COMPACT, SH64_COMPACT_INSN_MOVW3_COMPACT, SH64_COMPACT_SFMT_MOVW3_COMPACT },
168   { SH_INSN_MOVW4_COMPACT, SH64_COMPACT_INSN_MOVW4_COMPACT, SH64_COMPACT_SFMT_MOVW4_COMPACT },
169   { SH_INSN_MOVW5_COMPACT, SH64_COMPACT_INSN_MOVW5_COMPACT, SH64_COMPACT_SFMT_MOVW5_COMPACT },
170   { SH_INSN_MOVW6_COMPACT, SH64_COMPACT_INSN_MOVW6_COMPACT, SH64_COMPACT_SFMT_MOVW6_COMPACT },
171   { SH_INSN_MOVW7_COMPACT, SH64_COMPACT_INSN_MOVW7_COMPACT, SH64_COMPACT_SFMT_MOVW7_COMPACT },
172   { SH_INSN_MOVW8_COMPACT, SH64_COMPACT_INSN_MOVW8_COMPACT, SH64_COMPACT_SFMT_MOVW8_COMPACT },
173   { SH_INSN_MOVW9_COMPACT, SH64_COMPACT_INSN_MOVW9_COMPACT, SH64_COMPACT_SFMT_MOVW9_COMPACT },
174   { SH_INSN_MOVW10_COMPACT, SH64_COMPACT_INSN_MOVW10_COMPACT, SH64_COMPACT_SFMT_MOVW10_COMPACT },
175   { SH_INSN_MOVW11_COMPACT, SH64_COMPACT_INSN_MOVW11_COMPACT, SH64_COMPACT_SFMT_MOVW11_COMPACT },
176   { SH_INSN_MOVA_COMPACT, SH64_COMPACT_INSN_MOVA_COMPACT, SH64_COMPACT_SFMT_MOVA_COMPACT },
177   { SH_INSN_MOVCAL_COMPACT, SH64_COMPACT_INSN_MOVCAL_COMPACT, SH64_COMPACT_SFMT_MOVCAL_COMPACT },
178   { SH_INSN_MOVCOL_COMPACT, SH64_COMPACT_INSN_MOVCOL_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
179   { SH_INSN_MOVT_COMPACT, SH64_COMPACT_INSN_MOVT_COMPACT, SH64_COMPACT_SFMT_MOVT_COMPACT },
180   { SH_INSN_MOVUAL_COMPACT, SH64_COMPACT_INSN_MOVUAL_COMPACT, SH64_COMPACT_SFMT_MOVUAL_COMPACT },
181   { SH_INSN_MOVUAL2_COMPACT, SH64_COMPACT_INSN_MOVUAL2_COMPACT, SH64_COMPACT_SFMT_MOVUAL2_COMPACT },
182   { SH_INSN_MULL_COMPACT, SH64_COMPACT_INSN_MULL_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
183   { SH_INSN_MULSW_COMPACT, SH64_COMPACT_INSN_MULSW_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
184   { SH_INSN_MULUW_COMPACT, SH64_COMPACT_INSN_MULUW_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
185   { SH_INSN_NEG_COMPACT, SH64_COMPACT_INSN_NEG_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
186   { SH_INSN_NEGC_COMPACT, SH64_COMPACT_INSN_NEGC_COMPACT, SH64_COMPACT_SFMT_NEGC_COMPACT },
187   { SH_INSN_NOP_COMPACT, SH64_COMPACT_INSN_NOP_COMPACT, SH64_COMPACT_SFMT_NOP_COMPACT },
188   { SH_INSN_NOT_COMPACT, SH64_COMPACT_INSN_NOT_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT },
189   { SH_INSN_OCBI_COMPACT, SH64_COMPACT_INSN_OCBI_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
190   { SH_INSN_OCBP_COMPACT, SH64_COMPACT_INSN_OCBP_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
191   { SH_INSN_OCBWB_COMPACT, SH64_COMPACT_INSN_OCBWB_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
192   { SH_INSN_OR_COMPACT, SH64_COMPACT_INSN_OR_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
193   { SH_INSN_ORI_COMPACT, SH64_COMPACT_INSN_ORI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
194   { SH_INSN_ORB_COMPACT, SH64_COMPACT_INSN_ORB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
195   { SH_INSN_PREF_COMPACT, SH64_COMPACT_INSN_PREF_COMPACT, SH64_COMPACT_SFMT_PREF_COMPACT },
196   { SH_INSN_ROTCL_COMPACT, SH64_COMPACT_INSN_ROTCL_COMPACT, SH64_COMPACT_SFMT_ROTCL_COMPACT },
197   { SH_INSN_ROTCR_COMPACT, SH64_COMPACT_INSN_ROTCR_COMPACT, SH64_COMPACT_SFMT_ROTCL_COMPACT },
198   { SH_INSN_ROTL_COMPACT, SH64_COMPACT_INSN_ROTL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
199   { SH_INSN_ROTR_COMPACT, SH64_COMPACT_INSN_ROTR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
200   { SH_INSN_RTS_COMPACT, SH64_COMPACT_INSN_RTS_COMPACT, SH64_COMPACT_SFMT_RTS_COMPACT },
201   { SH_INSN_SETS_COMPACT, SH64_COMPACT_INSN_SETS_COMPACT, SH64_COMPACT_SFMT_CLRS_COMPACT },
202   { SH_INSN_SETT_COMPACT, SH64_COMPACT_INSN_SETT_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT },
203   { SH_INSN_SHAD_COMPACT, SH64_COMPACT_INSN_SHAD_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT },
204   { SH_INSN_SHAL_COMPACT, SH64_COMPACT_INSN_SHAL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
205   { SH_INSN_SHAR_COMPACT, SH64_COMPACT_INSN_SHAR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
206   { SH_INSN_SHLD_COMPACT, SH64_COMPACT_INSN_SHLD_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT },
207   { SH_INSN_SHLL_COMPACT, SH64_COMPACT_INSN_SHLL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
208   { SH_INSN_SHLL2_COMPACT, SH64_COMPACT_INSN_SHLL2_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
209   { SH_INSN_SHLL8_COMPACT, SH64_COMPACT_INSN_SHLL8_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
210   { SH_INSN_SHLL16_COMPACT, SH64_COMPACT_INSN_SHLL16_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
211   { SH_INSN_SHLR_COMPACT, SH64_COMPACT_INSN_SHLR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
212   { SH_INSN_SHLR2_COMPACT, SH64_COMPACT_INSN_SHLR2_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
213   { SH_INSN_SHLR8_COMPACT, SH64_COMPACT_INSN_SHLR8_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
214   { SH_INSN_SHLR16_COMPACT, SH64_COMPACT_INSN_SHLR16_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
215   { SH_INSN_STC_GBR_COMPACT, SH64_COMPACT_INSN_STC_GBR_COMPACT, SH64_COMPACT_SFMT_STC_GBR_COMPACT },
216   { SH_INSN_STC_VBR_COMPACT, SH64_COMPACT_INSN_STC_VBR_COMPACT, SH64_COMPACT_SFMT_STC_VBR_COMPACT },
217   { SH_INSN_STCL_GBR_COMPACT, SH64_COMPACT_INSN_STCL_GBR_COMPACT, SH64_COMPACT_SFMT_STCL_GBR_COMPACT },
218   { SH_INSN_STCL_VBR_COMPACT, SH64_COMPACT_INSN_STCL_VBR_COMPACT, SH64_COMPACT_SFMT_STCL_VBR_COMPACT },
219   { SH_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_SFMT_STS_FPSCR_COMPACT },
220   { SH_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_STSL_FPSCR_COMPACT },
221   { SH_INSN_STS_FPUL_COMPACT, SH64_COMPACT_INSN_STS_FPUL_COMPACT, SH64_COMPACT_SFMT_STS_FPUL_COMPACT },
222   { SH_INSN_STSL_FPUL_COMPACT, SH64_COMPACT_INSN_STSL_FPUL_COMPACT, SH64_COMPACT_SFMT_STSL_FPUL_COMPACT },
223   { SH_INSN_STS_MACH_COMPACT, SH64_COMPACT_INSN_STS_MACH_COMPACT, SH64_COMPACT_SFMT_STS_MACH_COMPACT },
224   { SH_INSN_STSL_MACH_COMPACT, SH64_COMPACT_INSN_STSL_MACH_COMPACT, SH64_COMPACT_SFMT_STSL_MACH_COMPACT },
225   { SH_INSN_STS_MACL_COMPACT, SH64_COMPACT_INSN_STS_MACL_COMPACT, SH64_COMPACT_SFMT_STS_MACL_COMPACT },
226   { SH_INSN_STSL_MACL_COMPACT, SH64_COMPACT_INSN_STSL_MACL_COMPACT, SH64_COMPACT_SFMT_STSL_MACL_COMPACT },
227   { SH_INSN_STS_PR_COMPACT, SH64_COMPACT_INSN_STS_PR_COMPACT, SH64_COMPACT_SFMT_STS_PR_COMPACT },
228   { SH_INSN_STSL_PR_COMPACT, SH64_COMPACT_INSN_STSL_PR_COMPACT, SH64_COMPACT_SFMT_STSL_PR_COMPACT },
229   { SH_INSN_SUB_COMPACT, SH64_COMPACT_INSN_SUB_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
230   { SH_INSN_SUBC_COMPACT, SH64_COMPACT_INSN_SUBC_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT },
231   { SH_INSN_SUBV_COMPACT, SH64_COMPACT_INSN_SUBV_COMPACT, SH64_COMPACT_SFMT_ADDV_COMPACT },
232   { SH_INSN_SWAPB_COMPACT, SH64_COMPACT_INSN_SWAPB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
233   { SH_INSN_SWAPW_COMPACT, SH64_COMPACT_INSN_SWAPW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
234   { SH_INSN_TASB_COMPACT, SH64_COMPACT_INSN_TASB_COMPACT, SH64_COMPACT_SFMT_TASB_COMPACT },
235   { SH_INSN_TRAPA_COMPACT, SH64_COMPACT_INSN_TRAPA_COMPACT, SH64_COMPACT_SFMT_TRAPA_COMPACT },
236   { SH_INSN_TST_COMPACT, SH64_COMPACT_INSN_TST_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
237   { SH_INSN_TSTI_COMPACT, SH64_COMPACT_INSN_TSTI_COMPACT, SH64_COMPACT_SFMT_TSTI_COMPACT },
238   { SH_INSN_TSTB_COMPACT, SH64_COMPACT_INSN_TSTB_COMPACT, SH64_COMPACT_SFMT_TSTB_COMPACT },
239   { SH_INSN_XOR_COMPACT, SH64_COMPACT_INSN_XOR_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
240   { SH_INSN_XORI_COMPACT, SH64_COMPACT_INSN_XORI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
241   { SH_INSN_XORB_COMPACT, SH64_COMPACT_INSN_XORB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
242   { SH_INSN_XTRCT_COMPACT, SH64_COMPACT_INSN_XTRCT_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
243 };
244
245 static const struct insn_sem sh64_compact_insn_sem_invalid = {
246   VIRTUAL_INSN_X_INVALID, SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_SFMT_EMPTY
247 };
248
249 /* Initialize an IDESC from the compile-time computable parts.  */
250
251 static INLINE void
252 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
253 {
254   const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
255
256   id->num = t->index;
257   id->sfmt = t->sfmt;
258   if ((int) t->type <= 0)
259     id->idata = & cgen_virtual_insn_table[- (int) t->type];
260   else
261     id->idata = & insn_table[t->type];
262   id->attrs = CGEN_INSN_ATTRS (id->idata);
263   /* Oh my god, a magic number.  */
264   id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
265
266 #if WITH_PROFILE_MODEL_P
267   id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
268   {
269     SIM_DESC sd = CPU_STATE (cpu);
270     SIM_ASSERT (t->index == id->timing->num);
271   }
272 #endif
273
274   /* Semantic pointers are initialized elsewhere.  */
275 }
276
277 /* Initialize the instruction descriptor table.  */
278
279 void
280 sh64_compact_init_idesc_table (SIM_CPU *cpu)
281 {
282   IDESC *id,*tabend;
283   const struct insn_sem *t,*tend;
284   int tabsize = SH64_COMPACT_INSN__MAX;
285   IDESC *table = sh64_compact_insn_data;
286
287   memset (table, 0, tabsize * sizeof (IDESC));
288
289   /* First set all entries to the `invalid insn'.  */
290   t = & sh64_compact_insn_sem_invalid;
291   for (id = table, tabend = table + tabsize; id < tabend; ++id)
292     init_idesc (cpu, id, t);
293
294   /* Now fill in the values for the chosen cpu.  */
295   for (t = sh64_compact_insn_sem, tend = t + sizeof (sh64_compact_insn_sem) / sizeof (*t);
296        t != tend; ++t)
297     {
298       init_idesc (cpu, & table[t->index], t);
299     }
300
301   /* Link the IDESC table into the cpu.  */
302   CPU_IDESC (cpu) = table;
303 }
304
305 /* Given an instruction, return a pointer to its IDESC entry.  */
306
307 const IDESC *
308 sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
309               CGEN_INSN_INT base_insn, CGEN_INSN_INT entire_insn,
310               ARGBUF *abuf)
311 {
312   /* Result of decoder.  */
313   SH64_COMPACT_INSN_TYPE itype;
314
315   {
316     CGEN_INSN_INT insn = base_insn;
317
318     {
319       unsigned int val = (((insn >> 5) & (15 << 7)) | ((insn >> 0) & (127 << 0)));
320       switch (val)
321       {
322       case 0 : /* fall through */
323       case 16 : /* fall through */
324       case 32 : /* fall through */
325       case 48 : /* fall through */
326       case 64 : /* fall through */
327       case 80 : /* fall through */
328       case 96 : /* fall through */
329       case 112 :
330         if ((entire_insn & 0xf00f0000) == 0x0)
331           { itype = SH64_COMPACT_INSN_MOVI20_COMPACT; goto extract_sfmt_movi20_compact; }
332         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
333       case 3 :
334         {
335           unsigned int val = (((insn >> 7) & (1 << 0)));
336           switch (val)
337           {
338           case 0 :
339             if ((entire_insn & 0xf0ff) == 0x3)
340               { itype = SH64_COMPACT_INSN_BSRF_COMPACT; goto extract_sfmt_bsrf_compact; }
341             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
342           case 1 :
343             if ((entire_insn & 0xf0ff) == 0x83)
344               { itype = SH64_COMPACT_INSN_PREF_COMPACT; goto extract_sfmt_pref_compact; }
345             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
346           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
347           }
348         }
349       case 4 : /* fall through */
350       case 20 : /* fall through */
351       case 36 : /* fall through */
352       case 52 : /* fall through */
353       case 68 : /* fall through */
354       case 84 : /* fall through */
355       case 100 : /* fall through */
356       case 116 :
357         if ((entire_insn & 0xf00f) == 0x4)
358           { itype = SH64_COMPACT_INSN_MOVB3_COMPACT; goto extract_sfmt_movb3_compact; }
359         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
360       case 5 : /* fall through */
361       case 21 : /* fall through */
362       case 37 : /* fall through */
363       case 53 : /* fall through */
364       case 69 : /* fall through */
365       case 85 : /* fall through */
366       case 101 : /* fall through */
367       case 117 :
368         if ((entire_insn & 0xf00f) == 0x5)
369           { itype = SH64_COMPACT_INSN_MOVW3_COMPACT; goto extract_sfmt_movw3_compact; }
370         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
371       case 6 : /* fall through */
372       case 22 : /* fall through */
373       case 38 : /* fall through */
374       case 54 : /* fall through */
375       case 70 : /* fall through */
376       case 86 : /* fall through */
377       case 102 : /* fall through */
378       case 118 :
379         if ((entire_insn & 0xf00f) == 0x6)
380           { itype = SH64_COMPACT_INSN_MOVL3_COMPACT; goto extract_sfmt_movl3_compact; }
381         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
382       case 7 : /* fall through */
383       case 23 : /* fall through */
384       case 39 : /* fall through */
385       case 55 : /* fall through */
386       case 71 : /* fall through */
387       case 87 : /* fall through */
388       case 103 : /* fall through */
389       case 119 :
390         if ((entire_insn & 0xf00f) == 0x7)
391           { itype = SH64_COMPACT_INSN_MULL_COMPACT; goto extract_sfmt_mull_compact; }
392         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
393       case 8 :
394         if ((entire_insn & 0xffff) == 0x8)
395           { itype = SH64_COMPACT_INSN_CLRT_COMPACT; goto extract_sfmt_clrt_compact; }
396         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
397       case 9 :
398         if ((entire_insn & 0xffff) == 0x9)
399           { itype = SH64_COMPACT_INSN_NOP_COMPACT; goto extract_sfmt_nop_compact; }
400         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
401       case 10 :
402         if ((entire_insn & 0xf0ff) == 0xa)
403           { itype = SH64_COMPACT_INSN_STS_MACH_COMPACT; goto extract_sfmt_sts_mach_compact; }
404         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
405       case 11 :
406         if ((entire_insn & 0xffff) == 0xb)
407           { itype = SH64_COMPACT_INSN_RTS_COMPACT; goto extract_sfmt_rts_compact; }
408         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
409       case 12 : /* fall through */
410       case 28 : /* fall through */
411       case 44 : /* fall through */
412       case 60 : /* fall through */
413       case 76 : /* fall through */
414       case 92 : /* fall through */
415       case 108 : /* fall through */
416       case 124 :
417         if ((entire_insn & 0xf00f) == 0xc)
418           { itype = SH64_COMPACT_INSN_MOVB8_COMPACT; goto extract_sfmt_movb8_compact; }
419         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
420       case 13 : /* fall through */
421       case 29 : /* fall through */
422       case 45 : /* fall through */
423       case 61 : /* fall through */
424       case 77 : /* fall through */
425       case 93 : /* fall through */
426       case 109 : /* fall through */
427       case 125 :
428         if ((entire_insn & 0xf00f) == 0xd)
429           { itype = SH64_COMPACT_INSN_MOVW8_COMPACT; goto extract_sfmt_movw8_compact; }
430         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
431       case 14 : /* fall through */
432       case 30 : /* fall through */
433       case 46 : /* fall through */
434       case 62 : /* fall through */
435       case 78 : /* fall through */
436       case 94 : /* fall through */
437       case 110 : /* fall through */
438       case 126 :
439         if ((entire_insn & 0xf00f) == 0xe)
440           { itype = SH64_COMPACT_INSN_MOVL8_COMPACT; goto extract_sfmt_movl8_compact; }
441         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
442       case 15 : /* fall through */
443       case 31 : /* fall through */
444       case 47 : /* fall through */
445       case 63 : /* fall through */
446       case 79 : /* fall through */
447       case 95 : /* fall through */
448       case 111 : /* fall through */
449       case 127 :
450         if ((entire_insn & 0xf00f) == 0xf)
451           { itype = SH64_COMPACT_INSN_MACL_COMPACT; goto extract_sfmt_macl_compact; }
452         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
453       case 18 :
454         if ((entire_insn & 0xf0ff) == 0x12)
455           { itype = SH64_COMPACT_INSN_STC_GBR_COMPACT; goto extract_sfmt_stc_gbr_compact; }
456         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
457       case 19 :
458         if ((entire_insn & 0xf0ff) == 0x93)
459           { itype = SH64_COMPACT_INSN_OCBI_COMPACT; goto extract_sfmt_movcol_compact; }
460         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
461       case 24 :
462         if ((entire_insn & 0xffff) == 0x18)
463           { itype = SH64_COMPACT_INSN_SETT_COMPACT; goto extract_sfmt_clrt_compact; }
464         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
465       case 25 :
466         if ((entire_insn & 0xffff) == 0x19)
467           { itype = SH64_COMPACT_INSN_DIV0U_COMPACT; goto extract_sfmt_div0u_compact; }
468         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
469       case 26 :
470         if ((entire_insn & 0xf0ff) == 0x1a)
471           { itype = SH64_COMPACT_INSN_STS_MACL_COMPACT; goto extract_sfmt_sts_macl_compact; }
472         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
473       case 34 :
474         if ((entire_insn & 0xf0ff) == 0x22)
475           { itype = SH64_COMPACT_INSN_STC_VBR_COMPACT; goto extract_sfmt_stc_vbr_compact; }
476         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
477       case 35 :
478         {
479           unsigned int val = (((insn >> 7) & (1 << 0)));
480           switch (val)
481           {
482           case 0 :
483             if ((entire_insn & 0xf0ff) == 0x23)
484               { itype = SH64_COMPACT_INSN_BRAF_COMPACT; goto extract_sfmt_braf_compact; }
485             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
486           case 1 :
487             if ((entire_insn & 0xf0ff) == 0xa3)
488               { itype = SH64_COMPACT_INSN_OCBP_COMPACT; goto extract_sfmt_movcol_compact; }
489             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
490           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
491           }
492         }
493       case 40 :
494         if ((entire_insn & 0xffff) == 0x28)
495           { itype = SH64_COMPACT_INSN_CLRMAC_COMPACT; goto extract_sfmt_clrmac_compact; }
496         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
497       case 41 :
498         if ((entire_insn & 0xf0ff) == 0x29)
499           { itype = SH64_COMPACT_INSN_MOVT_COMPACT; goto extract_sfmt_movt_compact; }
500         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
501       case 42 :
502         if ((entire_insn & 0xf0ff) == 0x2a)
503           { itype = SH64_COMPACT_INSN_STS_PR_COMPACT; goto extract_sfmt_sts_pr_compact; }
504         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
505       case 51 :
506         if ((entire_insn & 0xf0ff) == 0xb3)
507           { itype = SH64_COMPACT_INSN_OCBWB_COMPACT; goto extract_sfmt_movcol_compact; }
508         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
509       case 59 :
510         if ((entire_insn & 0xffff) == 0x3b)
511           { itype = SH64_COMPACT_INSN_BRK_COMPACT; goto extract_sfmt_brk_compact; }
512         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
513       case 67 :
514         if ((entire_insn & 0xf0ff) == 0xc3)
515           { itype = SH64_COMPACT_INSN_MOVCAL_COMPACT; goto extract_sfmt_movcal_compact; }
516         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
517       case 72 :
518         if ((entire_insn & 0xffff) == 0x48)
519           { itype = SH64_COMPACT_INSN_CLRS_COMPACT; goto extract_sfmt_clrs_compact; }
520         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
521       case 88 :
522         if ((entire_insn & 0xffff) == 0x58)
523           { itype = SH64_COMPACT_INSN_SETS_COMPACT; goto extract_sfmt_clrs_compact; }
524         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
525       case 90 :
526         if ((entire_insn & 0xf0ff) == 0x5a)
527           { itype = SH64_COMPACT_INSN_STS_FPUL_COMPACT; goto extract_sfmt_sts_fpul_compact; }
528         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
529       case 106 :
530         if ((entire_insn & 0xf0ff) == 0x6a)
531           { itype = SH64_COMPACT_INSN_STS_FPSCR_COMPACT; goto extract_sfmt_sts_fpscr_compact; }
532         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
533       case 115 :
534         if ((entire_insn & 0xf0ff) == 0x73)
535           { itype = SH64_COMPACT_INSN_MOVCOL_COMPACT; goto extract_sfmt_movcol_compact; }
536         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
537       case 128 : /* fall through */
538       case 129 : /* fall through */
539       case 130 : /* fall through */
540       case 131 : /* fall through */
541       case 132 : /* fall through */
542       case 133 : /* fall through */
543       case 134 : /* fall through */
544       case 135 : /* fall through */
545       case 136 : /* fall through */
546       case 137 : /* fall through */
547       case 138 : /* fall through */
548       case 139 : /* fall through */
549       case 140 : /* fall through */
550       case 141 : /* fall through */
551       case 142 : /* fall through */
552       case 143 : /* fall through */
553       case 144 : /* fall through */
554       case 145 : /* fall through */
555       case 146 : /* fall through */
556       case 147 : /* fall through */
557       case 148 : /* fall through */
558       case 149 : /* fall through */
559       case 150 : /* fall through */
560       case 151 : /* fall through */
561       case 152 : /* fall through */
562       case 153 : /* fall through */
563       case 154 : /* fall through */
564       case 155 : /* fall through */
565       case 156 : /* fall through */
566       case 157 : /* fall through */
567       case 158 : /* fall through */
568       case 159 : /* fall through */
569       case 160 : /* fall through */
570       case 161 : /* fall through */
571       case 162 : /* fall through */
572       case 163 : /* fall through */
573       case 164 : /* fall through */
574       case 165 : /* fall through */
575       case 166 : /* fall through */
576       case 167 : /* fall through */
577       case 168 : /* fall through */
578       case 169 : /* fall through */
579       case 170 : /* fall through */
580       case 171 : /* fall through */
581       case 172 : /* fall through */
582       case 173 : /* fall through */
583       case 174 : /* fall through */
584       case 175 : /* fall through */
585       case 176 : /* fall through */
586       case 177 : /* fall through */
587       case 178 : /* fall through */
588       case 179 : /* fall through */
589       case 180 : /* fall through */
590       case 181 : /* fall through */
591       case 182 : /* fall through */
592       case 183 : /* fall through */
593       case 184 : /* fall through */
594       case 185 : /* fall through */
595       case 186 : /* fall through */
596       case 187 : /* fall through */
597       case 188 : /* fall through */
598       case 189 : /* fall through */
599       case 190 : /* fall through */
600       case 191 : /* fall through */
601       case 192 : /* fall through */
602       case 193 : /* fall through */
603       case 194 : /* fall through */
604       case 195 : /* fall through */
605       case 196 : /* fall through */
606       case 197 : /* fall through */
607       case 198 : /* fall through */
608       case 199 : /* fall through */
609       case 200 : /* fall through */
610       case 201 : /* fall through */
611       case 202 : /* fall through */
612       case 203 : /* fall through */
613       case 204 : /* fall through */
614       case 205 : /* fall through */
615       case 206 : /* fall through */
616       case 207 : /* fall through */
617       case 208 : /* fall through */
618       case 209 : /* fall through */
619       case 210 : /* fall through */
620       case 211 : /* fall through */
621       case 212 : /* fall through */
622       case 213 : /* fall through */
623       case 214 : /* fall through */
624       case 215 : /* fall through */
625       case 216 : /* fall through */
626       case 217 : /* fall through */
627       case 218 : /* fall through */
628       case 219 : /* fall through */
629       case 220 : /* fall through */
630       case 221 : /* fall through */
631       case 222 : /* fall through */
632       case 223 : /* fall through */
633       case 224 : /* fall through */
634       case 225 : /* fall through */
635       case 226 : /* fall through */
636       case 227 : /* fall through */
637       case 228 : /* fall through */
638       case 229 : /* fall through */
639       case 230 : /* fall through */
640       case 231 : /* fall through */
641       case 232 : /* fall through */
642       case 233 : /* fall through */
643       case 234 : /* fall through */
644       case 235 : /* fall through */
645       case 236 : /* fall through */
646       case 237 : /* fall through */
647       case 238 : /* fall through */
648       case 239 : /* fall through */
649       case 240 : /* fall through */
650       case 241 : /* fall through */
651       case 242 : /* fall through */
652       case 243 : /* fall through */
653       case 244 : /* fall through */
654       case 245 : /* fall through */
655       case 246 : /* fall through */
656       case 247 : /* fall through */
657       case 248 : /* fall through */
658       case 249 : /* fall through */
659       case 250 : /* fall through */
660       case 251 : /* fall through */
661       case 252 : /* fall through */
662       case 253 : /* fall through */
663       case 254 : /* fall through */
664       case 255 :
665         if ((entire_insn & 0xf000) == 0x1000)
666           { itype = SH64_COMPACT_INSN_MOVL5_COMPACT; goto extract_sfmt_movl5_compact; }
667         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
668       case 256 : /* fall through */
669       case 272 : /* fall through */
670       case 288 : /* fall through */
671       case 304 : /* fall through */
672       case 320 : /* fall through */
673       case 336 : /* fall through */
674       case 352 : /* fall through */
675       case 368 :
676         if ((entire_insn & 0xf00f) == 0x2000)
677           { itype = SH64_COMPACT_INSN_MOVB1_COMPACT; goto extract_sfmt_movb1_compact; }
678         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
679       case 257 : /* fall through */
680       case 273 : /* fall through */
681       case 289 : /* fall through */
682       case 305 : /* fall through */
683       case 321 : /* fall through */
684       case 337 : /* fall through */
685       case 353 : /* fall through */
686       case 369 :
687         if ((entire_insn & 0xf00f) == 0x2001)
688           { itype = SH64_COMPACT_INSN_MOVW1_COMPACT; goto extract_sfmt_movw1_compact; }
689         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
690       case 258 : /* fall through */
691       case 274 : /* fall through */
692       case 290 : /* fall through */
693       case 306 : /* fall through */
694       case 322 : /* fall through */
695       case 338 : /* fall through */
696       case 354 : /* fall through */
697       case 370 :
698         if ((entire_insn & 0xf00f) == 0x2002)
699           { itype = SH64_COMPACT_INSN_MOVL1_COMPACT; goto extract_sfmt_movl1_compact; }
700         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
701       case 260 : /* fall through */
702       case 276 : /* fall through */
703       case 292 : /* fall through */
704       case 308 : /* fall through */
705       case 324 : /* fall through */
706       case 340 : /* fall through */
707       case 356 : /* fall through */
708       case 372 :
709         if ((entire_insn & 0xf00f) == 0x2004)
710           { itype = SH64_COMPACT_INSN_MOVB2_COMPACT; goto extract_sfmt_movb2_compact; }
711         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
712       case 261 : /* fall through */
713       case 277 : /* fall through */
714       case 293 : /* fall through */
715       case 309 : /* fall through */
716       case 325 : /* fall through */
717       case 341 : /* fall through */
718       case 357 : /* fall through */
719       case 373 :
720         if ((entire_insn & 0xf00f) == 0x2005)
721           { itype = SH64_COMPACT_INSN_MOVW2_COMPACT; goto extract_sfmt_movw2_compact; }
722         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
723       case 262 : /* fall through */
724       case 278 : /* fall through */
725       case 294 : /* fall through */
726       case 310 : /* fall through */
727       case 326 : /* fall through */
728       case 342 : /* fall through */
729       case 358 : /* fall through */
730       case 374 :
731         if ((entire_insn & 0xf00f) == 0x2006)
732           { itype = SH64_COMPACT_INSN_MOVL2_COMPACT; goto extract_sfmt_movl2_compact; }
733         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
734       case 263 : /* fall through */
735       case 279 : /* fall through */
736       case 295 : /* fall through */
737       case 311 : /* fall through */
738       case 327 : /* fall through */
739       case 343 : /* fall through */
740       case 359 : /* fall through */
741       case 375 :
742         if ((entire_insn & 0xf00f) == 0x2007)
743           { itype = SH64_COMPACT_INSN_DIV0S_COMPACT; goto extract_sfmt_div0s_compact; }
744         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
745       case 264 : /* fall through */
746       case 280 : /* fall through */
747       case 296 : /* fall through */
748       case 312 : /* fall through */
749       case 328 : /* fall through */
750       case 344 : /* fall through */
751       case 360 : /* fall through */
752       case 376 :
753         if ((entire_insn & 0xf00f) == 0x2008)
754           { itype = SH64_COMPACT_INSN_TST_COMPACT; goto extract_sfmt_cmpeq_compact; }
755         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
756       case 265 : /* fall through */
757       case 281 : /* fall through */
758       case 297 : /* fall through */
759       case 313 : /* fall through */
760       case 329 : /* fall through */
761       case 345 : /* fall through */
762       case 361 : /* fall through */
763       case 377 :
764         if ((entire_insn & 0xf00f) == 0x2009)
765           { itype = SH64_COMPACT_INSN_AND_COMPACT; goto extract_sfmt_and_compact; }
766         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
767       case 266 : /* fall through */
768       case 282 : /* fall through */
769       case 298 : /* fall through */
770       case 314 : /* fall through */
771       case 330 : /* fall through */
772       case 346 : /* fall through */
773       case 362 : /* fall through */
774       case 378 :
775         if ((entire_insn & 0xf00f) == 0x200a)
776           { itype = SH64_COMPACT_INSN_XOR_COMPACT; goto extract_sfmt_and_compact; }
777         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
778       case 267 : /* fall through */
779       case 283 : /* fall through */
780       case 299 : /* fall through */
781       case 315 : /* fall through */
782       case 331 : /* fall through */
783       case 347 : /* fall through */
784       case 363 : /* fall through */
785       case 379 :
786         if ((entire_insn & 0xf00f) == 0x200b)
787           { itype = SH64_COMPACT_INSN_OR_COMPACT; goto extract_sfmt_and_compact; }
788         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
789       case 268 : /* fall through */
790       case 284 : /* fall through */
791       case 300 : /* fall through */
792       case 316 : /* fall through */
793       case 332 : /* fall through */
794       case 348 : /* fall through */
795       case 364 : /* fall through */
796       case 380 :
797         if ((entire_insn & 0xf00f) == 0x200c)
798           { itype = SH64_COMPACT_INSN_CMPSTR_COMPACT; goto extract_sfmt_cmpeq_compact; }
799         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
800       case 269 : /* fall through */
801       case 285 : /* fall through */
802       case 301 : /* fall through */
803       case 317 : /* fall through */
804       case 333 : /* fall through */
805       case 349 : /* fall through */
806       case 365 : /* fall through */
807       case 381 :
808         if ((entire_insn & 0xf00f) == 0x200d)
809           { itype = SH64_COMPACT_INSN_XTRCT_COMPACT; goto extract_sfmt_add_compact; }
810         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
811       case 270 : /* fall through */
812       case 286 : /* fall through */
813       case 302 : /* fall through */
814       case 318 : /* fall through */
815       case 334 : /* fall through */
816       case 350 : /* fall through */
817       case 366 : /* fall through */
818       case 382 :
819         if ((entire_insn & 0xf00f) == 0x200e)
820           { itype = SH64_COMPACT_INSN_MULUW_COMPACT; goto extract_sfmt_mull_compact; }
821         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
822       case 271 : /* fall through */
823       case 287 : /* fall through */
824       case 303 : /* fall through */
825       case 319 : /* fall through */
826       case 335 : /* fall through */
827       case 351 : /* fall through */
828       case 367 : /* fall through */
829       case 383 :
830         if ((entire_insn & 0xf00f) == 0x200f)
831           { itype = SH64_COMPACT_INSN_MULSW_COMPACT; goto extract_sfmt_mull_compact; }
832         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
833       case 384 : /* fall through */
834       case 400 : /* fall through */
835       case 416 : /* fall through */
836       case 432 : /* fall through */
837       case 448 : /* fall through */
838       case 464 : /* fall through */
839       case 480 : /* fall through */
840       case 496 :
841         if ((entire_insn & 0xf00f) == 0x3000)
842           { itype = SH64_COMPACT_INSN_CMPEQ_COMPACT; goto extract_sfmt_cmpeq_compact; }
843         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
844       case 385 : /* fall through */
845       case 417 : /* fall through */
846       case 449 : /* fall through */
847       case 481 :
848         {
849           unsigned int val = (((insn >> -3) & (1 << 1)) | ((insn >> -4) & (1 << 0)));
850           switch (val)
851           {
852           case 0 :
853             if ((entire_insn & 0xf00ff000) == 0x30012000)
854               { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
855             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
856           case 1 :
857             if ((entire_insn & 0xf01ff000) == 0x30013000)
858               { itype = SH64_COMPACT_INSN_FMOV9_COMPACT; goto extract_sfmt_fmov9_compact; }
859             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
860           case 2 :
861             if ((entire_insn & 0xf00ff000) == 0x30016000)
862               { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
863             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
864           case 3 :
865             if ((entire_insn & 0xf10ff000) == 0x30017000)
866               { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
867             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
868           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
869           }
870         }
871       case 386 : /* fall through */
872       case 402 : /* fall through */
873       case 418 : /* fall through */
874       case 434 : /* fall through */
875       case 450 : /* fall through */
876       case 466 : /* fall through */
877       case 482 : /* fall through */
878       case 498 :
879         if ((entire_insn & 0xf00f) == 0x3002)
880           { itype = SH64_COMPACT_INSN_CMPHS_COMPACT; goto extract_sfmt_cmpeq_compact; }
881         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
882       case 387 : /* fall through */
883       case 403 : /* fall through */
884       case 419 : /* fall through */
885       case 435 : /* fall through */
886       case 451 : /* fall through */
887       case 467 : /* fall through */
888       case 483 : /* fall through */
889       case 499 :
890         if ((entire_insn & 0xf00f) == 0x3003)
891           { itype = SH64_COMPACT_INSN_CMPGE_COMPACT; goto extract_sfmt_cmpeq_compact; }
892         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
893       case 388 : /* fall through */
894       case 404 : /* fall through */
895       case 420 : /* fall through */
896       case 436 : /* fall through */
897       case 452 : /* fall through */
898       case 468 : /* fall through */
899       case 484 : /* fall through */
900       case 500 :
901         if ((entire_insn & 0xf00f) == 0x3004)
902           { itype = SH64_COMPACT_INSN_DIV1_COMPACT; goto extract_sfmt_div1_compact; }
903         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
904       case 389 : /* fall through */
905       case 405 : /* fall through */
906       case 421 : /* fall through */
907       case 437 : /* fall through */
908       case 453 : /* fall through */
909       case 469 : /* fall through */
910       case 485 : /* fall through */
911       case 501 :
912         if ((entire_insn & 0xf00f) == 0x3005)
913           { itype = SH64_COMPACT_INSN_DMULUL_COMPACT; goto extract_sfmt_dmulsl_compact; }
914         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
915       case 390 : /* fall through */
916       case 406 : /* fall through */
917       case 422 : /* fall through */
918       case 438 : /* fall through */
919       case 454 : /* fall through */
920       case 470 : /* fall through */
921       case 486 : /* fall through */
922       case 502 :
923         if ((entire_insn & 0xf00f) == 0x3006)
924           { itype = SH64_COMPACT_INSN_CMPHI_COMPACT; goto extract_sfmt_cmpeq_compact; }
925         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
926       case 391 : /* fall through */
927       case 407 : /* fall through */
928       case 423 : /* fall through */
929       case 439 : /* fall through */
930       case 455 : /* fall through */
931       case 471 : /* fall through */
932       case 487 : /* fall through */
933       case 503 :
934         if ((entire_insn & 0xf00f) == 0x3007)
935           { itype = SH64_COMPACT_INSN_CMPGT_COMPACT; goto extract_sfmt_cmpeq_compact; }
936         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
937       case 392 : /* fall through */
938       case 408 : /* fall through */
939       case 424 : /* fall through */
940       case 440 : /* fall through */
941       case 456 : /* fall through */
942       case 472 : /* fall through */
943       case 488 : /* fall through */
944       case 504 :
945         if ((entire_insn & 0xf00f) == 0x3008)
946           { itype = SH64_COMPACT_INSN_SUB_COMPACT; goto extract_sfmt_add_compact; }
947         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
948       case 394 : /* fall through */
949       case 410 : /* fall through */
950       case 426 : /* fall through */
951       case 442 : /* fall through */
952       case 458 : /* fall through */
953       case 474 : /* fall through */
954       case 490 : /* fall through */
955       case 506 :
956         if ((entire_insn & 0xf00f) == 0x300a)
957           { itype = SH64_COMPACT_INSN_SUBC_COMPACT; goto extract_sfmt_addc_compact; }
958         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
959       case 395 : /* fall through */
960       case 411 : /* fall through */
961       case 427 : /* fall through */
962       case 443 : /* fall through */
963       case 459 : /* fall through */
964       case 475 : /* fall through */
965       case 491 : /* fall through */
966       case 507 :
967         if ((entire_insn & 0xf00f) == 0x300b)
968           { itype = SH64_COMPACT_INSN_SUBV_COMPACT; goto extract_sfmt_addv_compact; }
969         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
970       case 396 : /* fall through */
971       case 412 : /* fall through */
972       case 428 : /* fall through */
973       case 444 : /* fall through */
974       case 460 : /* fall through */
975       case 476 : /* fall through */
976       case 492 : /* fall through */
977       case 508 :
978         if ((entire_insn & 0xf00f) == 0x300c)
979           { itype = SH64_COMPACT_INSN_ADD_COMPACT; goto extract_sfmt_add_compact; }
980         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
981       case 397 : /* fall through */
982       case 413 : /* fall through */
983       case 429 : /* fall through */
984       case 445 : /* fall through */
985       case 461 : /* fall through */
986       case 477 : /* fall through */
987       case 493 : /* fall through */
988       case 509 :
989         if ((entire_insn & 0xf00f) == 0x300d)
990           { itype = SH64_COMPACT_INSN_DMULSL_COMPACT; goto extract_sfmt_dmulsl_compact; }
991         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
992       case 398 : /* fall through */
993       case 414 : /* fall through */
994       case 430 : /* fall through */
995       case 446 : /* fall through */
996       case 462 : /* fall through */
997       case 478 : /* fall through */
998       case 494 : /* fall through */
999       case 510 :
1000         if ((entire_insn & 0xf00f) == 0x300e)
1001           { itype = SH64_COMPACT_INSN_ADDC_COMPACT; goto extract_sfmt_addc_compact; }
1002         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1003       case 399 : /* fall through */
1004       case 415 : /* fall through */
1005       case 431 : /* fall through */
1006       case 447 : /* fall through */
1007       case 463 : /* fall through */
1008       case 479 : /* fall through */
1009       case 495 : /* fall through */
1010       case 511 :
1011         if ((entire_insn & 0xf00f) == 0x300f)
1012           { itype = SH64_COMPACT_INSN_ADDV_COMPACT; goto extract_sfmt_addv_compact; }
1013         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1014       case 401 : /* fall through */
1015       case 433 : /* fall through */
1016       case 465 : /* fall through */
1017       case 497 :
1018         {
1019           unsigned int val = (((insn >> -3) & (1 << 1)) | ((insn >> -4) & (1 << 0)));
1020           switch (val)
1021           {
1022           case 0 :
1023             if ((entire_insn & 0xf00ff000) == 0x30012000)
1024               { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
1025             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1026           case 2 :
1027             if ((entire_insn & 0xf00ff000) == 0x30016000)
1028               { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
1029             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1030           case 3 :
1031             if ((entire_insn & 0xf10ff000) == 0x30017000)
1032               { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
1033             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1034           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1035           }
1036         }
1037       case 512 :
1038         {
1039           unsigned int val = (((insn >> 7) & (1 << 0)));
1040           switch (val)
1041           {
1042           case 0 :
1043             if ((entire_insn & 0xf0ff) == 0x4000)
1044               { itype = SH64_COMPACT_INSN_SHLL_COMPACT; goto extract_sfmt_dt_compact; }
1045             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1046           case 1 :
1047             if ((entire_insn & 0xf0ff) == 0x4080)
1048               { itype = SH64_COMPACT_INSN_MULR_COMPACT; goto extract_sfmt_divu_compact; }
1049             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1050           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1051           }
1052         }
1053       case 513 :
1054         if ((entire_insn & 0xf0ff) == 0x4001)
1055           { itype = SH64_COMPACT_INSN_SHLR_COMPACT; goto extract_sfmt_dt_compact; }
1056         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1057       case 514 :
1058         if ((entire_insn & 0xf0ff) == 0x4002)
1059           { itype = SH64_COMPACT_INSN_STSL_MACH_COMPACT; goto extract_sfmt_stsl_mach_compact; }
1060         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1061       case 516 :
1062         {
1063           unsigned int val = (((insn >> 7) & (1 << 0)));
1064           switch (val)
1065           {
1066           case 0 :
1067             if ((entire_insn & 0xf0ff) == 0x4004)
1068               { itype = SH64_COMPACT_INSN_ROTL_COMPACT; goto extract_sfmt_dt_compact; }
1069             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1070           case 1 :
1071             if ((entire_insn & 0xf0ff) == 0x4084)
1072               { itype = SH64_COMPACT_INSN_DIVU_COMPACT; goto extract_sfmt_divu_compact; }
1073             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1074           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1075           }
1076         }
1077       case 517 :
1078         if ((entire_insn & 0xf0ff) == 0x4005)
1079           { itype = SH64_COMPACT_INSN_ROTR_COMPACT; goto extract_sfmt_dt_compact; }
1080         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1081       case 518 :
1082         if ((entire_insn & 0xf0ff) == 0x4006)
1083           { itype = SH64_COMPACT_INSN_LDSL_MACH_COMPACT; goto extract_sfmt_ldsl_mach_compact; }
1084         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1085       case 520 :
1086         if ((entire_insn & 0xf0ff) == 0x4008)
1087           { itype = SH64_COMPACT_INSN_SHLL2_COMPACT; goto extract_sfmt_movcol_compact; }
1088         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1089       case 521 :
1090         if ((entire_insn & 0xf0ff) == 0x4009)
1091           { itype = SH64_COMPACT_INSN_SHLR2_COMPACT; goto extract_sfmt_movcol_compact; }
1092         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1093       case 522 :
1094         if ((entire_insn & 0xf0ff) == 0x400a)
1095           { itype = SH64_COMPACT_INSN_LDS_MACH_COMPACT; goto extract_sfmt_lds_mach_compact; }
1096         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1097       case 523 :
1098         if ((entire_insn & 0xf0ff) == 0x400b)
1099           { itype = SH64_COMPACT_INSN_JSR_COMPACT; goto extract_sfmt_bsrf_compact; }
1100         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1101       case 524 : /* fall through */
1102       case 540 : /* fall through */
1103       case 556 : /* fall through */
1104       case 572 : /* fall through */
1105       case 588 : /* fall through */
1106       case 604 : /* fall through */
1107       case 620 : /* fall through */
1108       case 636 :
1109         if ((entire_insn & 0xf00f) == 0x400c)
1110           { itype = SH64_COMPACT_INSN_SHAD_COMPACT; goto extract_sfmt_shad_compact; }
1111         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1112       case 525 : /* fall through */
1113       case 541 : /* fall through */
1114       case 557 : /* fall through */
1115       case 573 : /* fall through */
1116       case 589 : /* fall through */
1117       case 605 : /* fall through */
1118       case 621 : /* fall through */
1119       case 637 :
1120         if ((entire_insn & 0xf00f) == 0x400d)
1121           { itype = SH64_COMPACT_INSN_SHLD_COMPACT; goto extract_sfmt_shad_compact; }
1122         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1123       case 526 :
1124         if ((entire_insn & 0xf0ff) == 0x400e)
1125           { itype = SH64_COMPACT_INSN_LDC_SR_COMPACT; goto extract_sfmt_ldc_sr_compact; }
1126         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1127       case 527 : /* fall through */
1128       case 543 : /* fall through */
1129       case 559 : /* fall through */
1130       case 575 : /* fall through */
1131       case 591 : /* fall through */
1132       case 607 : /* fall through */
1133       case 623 : /* fall through */
1134       case 639 :
1135         if ((entire_insn & 0xf00f) == 0x400f)
1136           { itype = SH64_COMPACT_INSN_MACW_COMPACT; goto extract_sfmt_macw_compact; }
1137         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1138       case 528 :
1139         if ((entire_insn & 0xf0ff) == 0x4010)
1140           { itype = SH64_COMPACT_INSN_DT_COMPACT; goto extract_sfmt_dt_compact; }
1141         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1142       case 529 :
1143         if ((entire_insn & 0xf0ff) == 0x4011)
1144           { itype = SH64_COMPACT_INSN_CMPPZ_COMPACT; goto extract_sfmt_cmppl_compact; }
1145         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1146       case 530 :
1147         if ((entire_insn & 0xf0ff) == 0x4012)
1148           { itype = SH64_COMPACT_INSN_STSL_MACL_COMPACT; goto extract_sfmt_stsl_macl_compact; }
1149         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1150       case 531 :
1151         if ((entire_insn & 0xf0ff) == 0x4013)
1152           { itype = SH64_COMPACT_INSN_STCL_GBR_COMPACT; goto extract_sfmt_stcl_gbr_compact; }
1153         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1154       case 533 :
1155         if ((entire_insn & 0xf0ff) == 0x4015)
1156           { itype = SH64_COMPACT_INSN_CMPPL_COMPACT; goto extract_sfmt_cmppl_compact; }
1157         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1158       case 534 :
1159         if ((entire_insn & 0xf0ff) == 0x4016)
1160           { itype = SH64_COMPACT_INSN_LDSL_MACL_COMPACT; goto extract_sfmt_ldsl_macl_compact; }
1161         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1162       case 535 :
1163         if ((entire_insn & 0xf0ff) == 0x4017)
1164           { itype = SH64_COMPACT_INSN_LDCL_GBR_COMPACT; goto extract_sfmt_ldcl_gbr_compact; }
1165         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1166       case 536 :
1167         if ((entire_insn & 0xf0ff) == 0x4018)
1168           { itype = SH64_COMPACT_INSN_SHLL8_COMPACT; goto extract_sfmt_movcol_compact; }
1169         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1170       case 537 :
1171         if ((entire_insn & 0xf0ff) == 0x4019)
1172           { itype = SH64_COMPACT_INSN_SHLR8_COMPACT; goto extract_sfmt_movcol_compact; }
1173         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1174       case 538 :
1175         if ((entire_insn & 0xf0ff) == 0x401a)
1176           { itype = SH64_COMPACT_INSN_LDS_MACL_COMPACT; goto extract_sfmt_lds_macl_compact; }
1177         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1178       case 539 :
1179         if ((entire_insn & 0xf0ff) == 0x401b)
1180           { itype = SH64_COMPACT_INSN_TASB_COMPACT; goto extract_sfmt_tasb_compact; }
1181         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1182       case 542 :
1183         if ((entire_insn & 0xf0ff) == 0x401e)
1184           { itype = SH64_COMPACT_INSN_LDC_GBR_COMPACT; goto extract_sfmt_ldc_gbr_compact; }
1185         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1186       case 544 :
1187         if ((entire_insn & 0xf0ff) == 0x4020)
1188           { itype = SH64_COMPACT_INSN_SHAL_COMPACT; goto extract_sfmt_dt_compact; }
1189         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1190       case 545 :
1191         if ((entire_insn & 0xf0ff) == 0x4021)
1192           { itype = SH64_COMPACT_INSN_SHAR_COMPACT; goto extract_sfmt_dt_compact; }
1193         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1194       case 546 :
1195         if ((entire_insn & 0xf0ff) == 0x4022)
1196           { itype = SH64_COMPACT_INSN_STSL_PR_COMPACT; goto extract_sfmt_stsl_pr_compact; }
1197         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1198       case 547 :
1199         if ((entire_insn & 0xf0ff) == 0x4023)
1200           { itype = SH64_COMPACT_INSN_STCL_VBR_COMPACT; goto extract_sfmt_stcl_vbr_compact; }
1201         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1202       case 548 :
1203         if ((entire_insn & 0xf0ff) == 0x4024)
1204           { itype = SH64_COMPACT_INSN_ROTCL_COMPACT; goto extract_sfmt_rotcl_compact; }
1205         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1206       case 549 :
1207         if ((entire_insn & 0xf0ff) == 0x4025)
1208           { itype = SH64_COMPACT_INSN_ROTCR_COMPACT; goto extract_sfmt_rotcl_compact; }
1209         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1210       case 550 :
1211         if ((entire_insn & 0xf0ff) == 0x4026)
1212           { itype = SH64_COMPACT_INSN_LDSL_PR_COMPACT; goto extract_sfmt_ldsl_pr_compact; }
1213         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1214       case 551 :
1215         if ((entire_insn & 0xf0ff) == 0x4027)
1216           { itype = SH64_COMPACT_INSN_LDCL_VBR_COMPACT; goto extract_sfmt_ldcl_vbr_compact; }
1217         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1218       case 552 :
1219         if ((entire_insn & 0xf0ff) == 0x4028)
1220           { itype = SH64_COMPACT_INSN_SHLL16_COMPACT; goto extract_sfmt_movcol_compact; }
1221         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1222       case 553 :
1223         {
1224           unsigned int val = (((insn >> 7) & (1 << 0)));
1225           switch (val)
1226           {
1227           case 0 :
1228             if ((entire_insn & 0xf0ff) == 0x4029)
1229               { itype = SH64_COMPACT_INSN_SHLR16_COMPACT; goto extract_sfmt_movcol_compact; }
1230             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1231           case 1 :
1232             if ((entire_insn & 0xf0ff) == 0x40a9)
1233               { itype = SH64_COMPACT_INSN_MOVUAL_COMPACT; goto extract_sfmt_movual_compact; }
1234             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1235           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1236           }
1237         }
1238       case 554 :
1239         if ((entire_insn & 0xf0ff) == 0x402a)
1240           { itype = SH64_COMPACT_INSN_LDS_PR_COMPACT; goto extract_sfmt_lds_pr_compact; }
1241         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1242       case 555 :
1243         if ((entire_insn & 0xf0ff) == 0x402b)
1244           { itype = SH64_COMPACT_INSN_JMP_COMPACT; goto extract_sfmt_braf_compact; }
1245         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1246       case 558 :
1247         if ((entire_insn & 0xf0ff) == 0x402e)
1248           { itype = SH64_COMPACT_INSN_LDC_VBR_COMPACT; goto extract_sfmt_ldc_vbr_compact; }
1249         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1250       case 594 :
1251         if ((entire_insn & 0xf0ff) == 0x4052)
1252           { itype = SH64_COMPACT_INSN_STSL_FPUL_COMPACT; goto extract_sfmt_stsl_fpul_compact; }
1253         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1254       case 598 :
1255         if ((entire_insn & 0xf0ff) == 0x4056)
1256           { itype = SH64_COMPACT_INSN_LDSL_FPUL_COMPACT; goto extract_sfmt_ldsl_fpul_compact; }
1257         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1258       case 602 :
1259         if ((entire_insn & 0xf0ff) == 0x405a)
1260           { itype = SH64_COMPACT_INSN_LDS_FPUL_COMPACT; goto extract_sfmt_lds_fpul_compact; }
1261         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1262       case 610 :
1263         if ((entire_insn & 0xf0ff) == 0x4062)
1264           { itype = SH64_COMPACT_INSN_STSL_FPSCR_COMPACT; goto extract_sfmt_stsl_fpscr_compact; }
1265         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1266       case 614 :
1267         if ((entire_insn & 0xf0ff) == 0x4066)
1268           { itype = SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT; goto extract_sfmt_ldsl_fpscr_compact; }
1269         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1270       case 617 :
1271         if ((entire_insn & 0xf0ff) == 0x40e9)
1272           { itype = SH64_COMPACT_INSN_MOVUAL2_COMPACT; goto extract_sfmt_movual2_compact; }
1273         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1274       case 618 :
1275         if ((entire_insn & 0xf0ff) == 0x406a)
1276           { itype = SH64_COMPACT_INSN_LDS_FPSCR_COMPACT; goto extract_sfmt_lds_fpscr_compact; }
1277         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1278       case 640 : /* fall through */
1279       case 641 : /* fall through */
1280       case 642 : /* fall through */
1281       case 643 : /* fall through */
1282       case 644 : /* fall through */
1283       case 645 : /* fall through */
1284       case 646 : /* fall through */
1285       case 647 : /* fall through */
1286       case 648 : /* fall through */
1287       case 649 : /* fall through */
1288       case 650 : /* fall through */
1289       case 651 : /* fall through */
1290       case 652 : /* fall through */
1291       case 653 : /* fall through */
1292       case 654 : /* fall through */
1293       case 655 : /* fall through */
1294       case 656 : /* fall through */
1295       case 657 : /* fall through */
1296       case 658 : /* fall through */
1297       case 659 : /* fall through */
1298       case 660 : /* fall through */
1299       case 661 : /* fall through */
1300       case 662 : /* fall through */
1301       case 663 : /* fall through */
1302       case 664 : /* fall through */
1303       case 665 : /* fall through */
1304       case 666 : /* fall through */
1305       case 667 : /* fall through */
1306       case 668 : /* fall through */
1307       case 669 : /* fall through */
1308       case 670 : /* fall through */
1309       case 671 : /* fall through */
1310       case 672 : /* fall through */
1311       case 673 : /* fall through */
1312       case 674 : /* fall through */
1313       case 675 : /* fall through */
1314       case 676 : /* fall through */
1315       case 677 : /* fall through */
1316       case 678 : /* fall through */
1317       case 679 : /* fall through */
1318       case 680 : /* fall through */
1319       case 681 : /* fall through */
1320       case 682 : /* fall through */
1321       case 683 : /* fall through */
1322       case 684 : /* fall through */
1323       case 685 : /* fall through */
1324       case 686 : /* fall through */
1325       case 687 : /* fall through */
1326       case 688 : /* fall through */
1327       case 689 : /* fall through */
1328       case 690 : /* fall through */
1329       case 691 : /* fall through */
1330       case 692 : /* fall through */
1331       case 693 : /* fall through */
1332       case 694 : /* fall through */
1333       case 695 : /* fall through */
1334       case 696 : /* fall through */
1335       case 697 : /* fall through */
1336       case 698 : /* fall through */
1337       case 699 : /* fall through */
1338       case 700 : /* fall through */
1339       case 701 : /* fall through */
1340       case 702 : /* fall through */
1341       case 703 : /* fall through */
1342       case 704 : /* fall through */
1343       case 705 : /* fall through */
1344       case 706 : /* fall through */
1345       case 707 : /* fall through */
1346       case 708 : /* fall through */
1347       case 709 : /* fall through */
1348       case 710 : /* fall through */
1349       case 711 : /* fall through */
1350       case 712 : /* fall through */
1351       case 713 : /* fall through */
1352       case 714 : /* fall through */
1353       case 715 : /* fall through */
1354       case 716 : /* fall through */
1355       case 717 : /* fall through */
1356       case 718 : /* fall through */
1357       case 719 : /* fall through */
1358       case 720 : /* fall through */
1359       case 721 : /* fall through */
1360       case 722 : /* fall through */
1361       case 723 : /* fall through */
1362       case 724 : /* fall through */
1363       case 725 : /* fall through */
1364       case 726 : /* fall through */
1365       case 727 : /* fall through */
1366       case 728 : /* fall through */
1367       case 729 : /* fall through */
1368       case 730 : /* fall through */
1369       case 731 : /* fall through */
1370       case 732 : /* fall through */
1371       case 733 : /* fall through */
1372       case 734 : /* fall through */
1373       case 735 : /* fall through */
1374       case 736 : /* fall through */
1375       case 737 : /* fall through */
1376       case 738 : /* fall through */
1377       case 739 : /* fall through */
1378       case 740 : /* fall through */
1379       case 741 : /* fall through */
1380       case 742 : /* fall through */
1381       case 743 : /* fall through */
1382       case 744 : /* fall through */
1383       case 745 : /* fall through */
1384       case 746 : /* fall through */
1385       case 747 : /* fall through */
1386       case 748 : /* fall through */
1387       case 749 : /* fall through */
1388       case 750 : /* fall through */
1389       case 751 : /* fall through */
1390       case 752 : /* fall through */
1391       case 753 : /* fall through */
1392       case 754 : /* fall through */
1393       case 755 : /* fall through */
1394       case 756 : /* fall through */
1395       case 757 : /* fall through */
1396       case 758 : /* fall through */
1397       case 759 : /* fall through */
1398       case 760 : /* fall through */
1399       case 761 : /* fall through */
1400       case 762 : /* fall through */
1401       case 763 : /* fall through */
1402       case 764 : /* fall through */
1403       case 765 : /* fall through */
1404       case 766 : /* fall through */
1405       case 767 :
1406         if ((entire_insn & 0xf000) == 0x5000)
1407           { itype = SH64_COMPACT_INSN_MOVL11_COMPACT; goto extract_sfmt_movl11_compact; }
1408         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1409       case 768 : /* fall through */
1410       case 784 : /* fall through */
1411       case 800 : /* fall through */
1412       case 816 : /* fall through */
1413       case 832 : /* fall through */
1414       case 848 : /* fall through */
1415       case 864 : /* fall through */
1416       case 880 :
1417         if ((entire_insn & 0xf00f) == 0x6000)
1418           { itype = SH64_COMPACT_INSN_MOVB6_COMPACT; goto extract_sfmt_movb6_compact; }
1419         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1420       case 769 : /* fall through */
1421       case 785 : /* fall through */
1422       case 801 : /* fall through */
1423       case 817 : /* fall through */
1424       case 833 : /* fall through */
1425       case 849 : /* fall through */
1426       case 865 : /* fall through */
1427       case 881 :
1428         if ((entire_insn & 0xf00f) == 0x6001)
1429           { itype = SH64_COMPACT_INSN_MOVW6_COMPACT; goto extract_sfmt_movw6_compact; }
1430         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1431       case 770 : /* fall through */
1432       case 786 : /* fall through */
1433       case 802 : /* fall through */
1434       case 818 : /* fall through */
1435       case 834 : /* fall through */
1436       case 850 : /* fall through */
1437       case 866 : /* fall through */
1438       case 882 :
1439         if ((entire_insn & 0xf00f) == 0x6002)
1440           { itype = SH64_COMPACT_INSN_MOVL6_COMPACT; goto extract_sfmt_movl6_compact; }
1441         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1442       case 771 : /* fall through */
1443       case 787 : /* fall through */
1444       case 803 : /* fall through */
1445       case 819 : /* fall through */
1446       case 835 : /* fall through */
1447       case 851 : /* fall through */
1448       case 867 : /* fall through */
1449       case 883 :
1450         if ((entire_insn & 0xf00f) == 0x6003)
1451           { itype = SH64_COMPACT_INSN_MOV_COMPACT; goto extract_sfmt_mov_compact; }
1452         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1453       case 772 : /* fall through */
1454       case 788 : /* fall through */
1455       case 804 : /* fall through */
1456       case 820 : /* fall through */
1457       case 836 : /* fall through */
1458       case 852 : /* fall through */
1459       case 868 : /* fall through */
1460       case 884 :
1461         if ((entire_insn & 0xf00f) == 0x6004)
1462           { itype = SH64_COMPACT_INSN_MOVB7_COMPACT; goto extract_sfmt_movb7_compact; }
1463         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1464       case 773 : /* fall through */
1465       case 789 : /* fall through */
1466       case 805 : /* fall through */
1467       case 821 : /* fall through */
1468       case 837 : /* fall through */
1469       case 853 : /* fall through */
1470       case 869 : /* fall through */
1471       case 885 :
1472         if ((entire_insn & 0xf00f) == 0x6005)
1473           { itype = SH64_COMPACT_INSN_MOVW7_COMPACT; goto extract_sfmt_movw7_compact; }
1474         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1475       case 774 : /* fall through */
1476       case 790 : /* fall through */
1477       case 806 : /* fall through */
1478       case 822 : /* fall through */
1479       case 838 : /* fall through */
1480       case 854 : /* fall through */
1481       case 870 : /* fall through */
1482       case 886 :
1483         if ((entire_insn & 0xf00f) == 0x6006)
1484           { itype = SH64_COMPACT_INSN_MOVL7_COMPACT; goto extract_sfmt_movl7_compact; }
1485         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1486       case 775 : /* fall through */
1487       case 791 : /* fall through */
1488       case 807 : /* fall through */
1489       case 823 : /* fall through */
1490       case 839 : /* fall through */
1491       case 855 : /* fall through */
1492       case 871 : /* fall through */
1493       case 887 :
1494         if ((entire_insn & 0xf00f) == 0x6007)
1495           { itype = SH64_COMPACT_INSN_NOT_COMPACT; goto extract_sfmt_mov_compact; }
1496         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1497       case 776 : /* fall through */
1498       case 792 : /* fall through */
1499       case 808 : /* fall through */
1500       case 824 : /* fall through */
1501       case 840 : /* fall through */
1502       case 856 : /* fall through */
1503       case 872 : /* fall through */
1504       case 888 :
1505         if ((entire_insn & 0xf00f) == 0x6008)
1506           { itype = SH64_COMPACT_INSN_SWAPB_COMPACT; goto extract_sfmt_extsb_compact; }
1507         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1508       case 777 : /* fall through */
1509       case 793 : /* fall through */
1510       case 809 : /* fall through */
1511       case 825 : /* fall through */
1512       case 841 : /* fall through */
1513       case 857 : /* fall through */
1514       case 873 : /* fall through */
1515       case 889 :
1516         if ((entire_insn & 0xf00f) == 0x6009)
1517           { itype = SH64_COMPACT_INSN_SWAPW_COMPACT; goto extract_sfmt_extsb_compact; }
1518         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1519       case 778 : /* fall through */
1520       case 794 : /* fall through */
1521       case 810 : /* fall through */
1522       case 826 : /* fall through */
1523       case 842 : /* fall through */
1524       case 858 : /* fall through */
1525       case 874 : /* fall through */
1526       case 890 :
1527         if ((entire_insn & 0xf00f) == 0x600a)
1528           { itype = SH64_COMPACT_INSN_NEGC_COMPACT; goto extract_sfmt_negc_compact; }
1529         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1530       case 779 : /* fall through */
1531       case 795 : /* fall through */
1532       case 811 : /* fall through */
1533       case 827 : /* fall through */
1534       case 843 : /* fall through */
1535       case 859 : /* fall through */
1536       case 875 : /* fall through */
1537       case 891 :
1538         if ((entire_insn & 0xf00f) == 0x600b)
1539           { itype = SH64_COMPACT_INSN_NEG_COMPACT; goto extract_sfmt_extsb_compact; }
1540         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1541       case 780 : /* fall through */
1542       case 796 : /* fall through */
1543       case 812 : /* fall through */
1544       case 828 : /* fall through */
1545       case 844 : /* fall through */
1546       case 860 : /* fall through */
1547       case 876 : /* fall through */
1548       case 892 :
1549         if ((entire_insn & 0xf00f) == 0x600c)
1550           { itype = SH64_COMPACT_INSN_EXTUB_COMPACT; goto extract_sfmt_extsb_compact; }
1551         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1552       case 781 : /* fall through */
1553       case 797 : /* fall through */
1554       case 813 : /* fall through */
1555       case 829 : /* fall through */
1556       case 845 : /* fall through */
1557       case 861 : /* fall through */
1558       case 877 : /* fall through */
1559       case 893 :
1560         if ((entire_insn & 0xf00f) == 0x600d)
1561           { itype = SH64_COMPACT_INSN_EXTUW_COMPACT; goto extract_sfmt_extsb_compact; }
1562         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1563       case 782 : /* fall through */
1564       case 798 : /* fall through */
1565       case 814 : /* fall through */
1566       case 830 : /* fall through */
1567       case 846 : /* fall through */
1568       case 862 : /* fall through */
1569       case 878 : /* fall through */
1570       case 894 :
1571         if ((entire_insn & 0xf00f) == 0x600e)
1572           { itype = SH64_COMPACT_INSN_EXTSB_COMPACT; goto extract_sfmt_extsb_compact; }
1573         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1574       case 783 : /* fall through */
1575       case 799 : /* fall through */
1576       case 815 : /* fall through */
1577       case 831 : /* fall through */
1578       case 847 : /* fall through */
1579       case 863 : /* fall through */
1580       case 879 : /* fall through */
1581       case 895 :
1582         if ((entire_insn & 0xf00f) == 0x600f)
1583           { itype = SH64_COMPACT_INSN_EXTSW_COMPACT; goto extract_sfmt_extsb_compact; }
1584         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1585       case 896 : /* fall through */
1586       case 897 : /* fall through */
1587       case 898 : /* fall through */
1588       case 899 : /* fall through */
1589       case 900 : /* fall through */
1590       case 901 : /* fall through */
1591       case 902 : /* fall through */
1592       case 903 : /* fall through */
1593       case 904 : /* fall through */
1594       case 905 : /* fall through */
1595       case 906 : /* fall through */
1596       case 907 : /* fall through */
1597       case 908 : /* fall through */
1598       case 909 : /* fall through */
1599       case 910 : /* fall through */
1600       case 911 : /* fall through */
1601       case 912 : /* fall through */
1602       case 913 : /* fall through */
1603       case 914 : /* fall through */
1604       case 915 : /* fall through */
1605       case 916 : /* fall through */
1606       case 917 : /* fall through */
1607       case 918 : /* fall through */
1608       case 919 : /* fall through */
1609       case 920 : /* fall through */
1610       case 921 : /* fall through */
1611       case 922 : /* fall through */
1612       case 923 : /* fall through */
1613       case 924 : /* fall through */
1614       case 925 : /* fall through */
1615       case 926 : /* fall through */
1616       case 927 : /* fall through */
1617       case 928 : /* fall through */
1618       case 929 : /* fall through */
1619       case 930 : /* fall through */
1620       case 931 : /* fall through */
1621       case 932 : /* fall through */
1622       case 933 : /* fall through */
1623       case 934 : /* fall through */
1624       case 935 : /* fall through */
1625       case 936 : /* fall through */
1626       case 937 : /* fall through */
1627       case 938 : /* fall through */
1628       case 939 : /* fall through */
1629       case 940 : /* fall through */
1630       case 941 : /* fall through */
1631       case 942 : /* fall through */
1632       case 943 : /* fall through */
1633       case 944 : /* fall through */
1634       case 945 : /* fall through */
1635       case 946 : /* fall through */
1636       case 947 : /* fall through */
1637       case 948 : /* fall through */
1638       case 949 : /* fall through */
1639       case 950 : /* fall through */
1640       case 951 : /* fall through */
1641       case 952 : /* fall through */
1642       case 953 : /* fall through */
1643       case 954 : /* fall through */
1644       case 955 : /* fall through */
1645       case 956 : /* fall through */
1646       case 957 : /* fall through */
1647       case 958 : /* fall through */
1648       case 959 : /* fall through */
1649       case 960 : /* fall through */
1650       case 961 : /* fall through */
1651       case 962 : /* fall through */
1652       case 963 : /* fall through */
1653       case 964 : /* fall through */
1654       case 965 : /* fall through */
1655       case 966 : /* fall through */
1656       case 967 : /* fall through */
1657       case 968 : /* fall through */
1658       case 969 : /* fall through */
1659       case 970 : /* fall through */
1660       case 971 : /* fall through */
1661       case 972 : /* fall through */
1662       case 973 : /* fall through */
1663       case 974 : /* fall through */
1664       case 975 : /* fall through */
1665       case 976 : /* fall through */
1666       case 977 : /* fall through */
1667       case 978 : /* fall through */
1668       case 979 : /* fall through */
1669       case 980 : /* fall through */
1670       case 981 : /* fall through */
1671       case 982 : /* fall through */
1672       case 983 : /* fall through */
1673       case 984 : /* fall through */
1674       case 985 : /* fall through */
1675       case 986 : /* fall through */
1676       case 987 : /* fall through */
1677       case 988 : /* fall through */
1678       case 989 : /* fall through */
1679       case 990 : /* fall through */
1680       case 991 : /* fall through */
1681       case 992 : /* fall through */
1682       case 993 : /* fall through */
1683       case 994 : /* fall through */
1684       case 995 : /* fall through */
1685       case 996 : /* fall through */
1686       case 997 : /* fall through */
1687       case 998 : /* fall through */
1688       case 999 : /* fall through */
1689       case 1000 : /* fall through */
1690       case 1001 : /* fall through */
1691       case 1002 : /* fall through */
1692       case 1003 : /* fall through */
1693       case 1004 : /* fall through */
1694       case 1005 : /* fall through */
1695       case 1006 : /* fall through */
1696       case 1007 : /* fall through */
1697       case 1008 : /* fall through */
1698       case 1009 : /* fall through */
1699       case 1010 : /* fall through */
1700       case 1011 : /* fall through */
1701       case 1012 : /* fall through */
1702       case 1013 : /* fall through */
1703       case 1014 : /* fall through */
1704       case 1015 : /* fall through */
1705       case 1016 : /* fall through */
1706       case 1017 : /* fall through */
1707       case 1018 : /* fall through */
1708       case 1019 : /* fall through */
1709       case 1020 : /* fall through */
1710       case 1021 : /* fall through */
1711       case 1022 : /* fall through */
1712       case 1023 :
1713         if ((entire_insn & 0xf000) == 0x7000)
1714           { itype = SH64_COMPACT_INSN_ADDI_COMPACT; goto extract_sfmt_addi_compact; }
1715         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1716       case 1024 : /* fall through */
1717       case 1025 : /* fall through */
1718       case 1026 : /* fall through */
1719       case 1027 : /* fall through */
1720       case 1028 : /* fall through */
1721       case 1029 : /* fall through */
1722       case 1030 : /* fall through */
1723       case 1031 : /* fall through */
1724       case 1032 : /* fall through */
1725       case 1033 : /* fall through */
1726       case 1034 : /* fall through */
1727       case 1035 : /* fall through */
1728       case 1036 : /* fall through */
1729       case 1037 : /* fall through */
1730       case 1038 : /* fall through */
1731       case 1039 : /* fall through */
1732       case 1040 : /* fall through */
1733       case 1041 : /* fall through */
1734       case 1042 : /* fall through */
1735       case 1043 : /* fall through */
1736       case 1044 : /* fall through */
1737       case 1045 : /* fall through */
1738       case 1046 : /* fall through */
1739       case 1047 : /* fall through */
1740       case 1048 : /* fall through */
1741       case 1049 : /* fall through */
1742       case 1050 : /* fall through */
1743       case 1051 : /* fall through */
1744       case 1052 : /* fall through */
1745       case 1053 : /* fall through */
1746       case 1054 : /* fall through */
1747       case 1055 : /* fall through */
1748       case 1056 : /* fall through */
1749       case 1057 : /* fall through */
1750       case 1058 : /* fall through */
1751       case 1059 : /* fall through */
1752       case 1060 : /* fall through */
1753       case 1061 : /* fall through */
1754       case 1062 : /* fall through */
1755       case 1063 : /* fall through */
1756       case 1064 : /* fall through */
1757       case 1065 : /* fall through */
1758       case 1066 : /* fall through */
1759       case 1067 : /* fall through */
1760       case 1068 : /* fall through */
1761       case 1069 : /* fall through */
1762       case 1070 : /* fall through */
1763       case 1071 : /* fall through */
1764       case 1072 : /* fall through */
1765       case 1073 : /* fall through */
1766       case 1074 : /* fall through */
1767       case 1075 : /* fall through */
1768       case 1076 : /* fall through */
1769       case 1077 : /* fall through */
1770       case 1078 : /* fall through */
1771       case 1079 : /* fall through */
1772       case 1080 : /* fall through */
1773       case 1081 : /* fall through */
1774       case 1082 : /* fall through */
1775       case 1083 : /* fall through */
1776       case 1084 : /* fall through */
1777       case 1085 : /* fall through */
1778       case 1086 : /* fall through */
1779       case 1087 : /* fall through */
1780       case 1088 : /* fall through */
1781       case 1089 : /* fall through */
1782       case 1090 : /* fall through */
1783       case 1091 : /* fall through */
1784       case 1092 : /* fall through */
1785       case 1093 : /* fall through */
1786       case 1094 : /* fall through */
1787       case 1095 : /* fall through */
1788       case 1096 : /* fall through */
1789       case 1097 : /* fall through */
1790       case 1098 : /* fall through */
1791       case 1099 : /* fall through */
1792       case 1100 : /* fall through */
1793       case 1101 : /* fall through */
1794       case 1102 : /* fall through */
1795       case 1103 : /* fall through */
1796       case 1104 : /* fall through */
1797       case 1105 : /* fall through */
1798       case 1106 : /* fall through */
1799       case 1107 : /* fall through */
1800       case 1108 : /* fall through */
1801       case 1109 : /* fall through */
1802       case 1110 : /* fall through */
1803       case 1111 : /* fall through */
1804       case 1112 : /* fall through */
1805       case 1113 : /* fall through */
1806       case 1114 : /* fall through */
1807       case 1115 : /* fall through */
1808       case 1116 : /* fall through */
1809       case 1117 : /* fall through */
1810       case 1118 : /* fall through */
1811       case 1119 : /* fall through */
1812       case 1120 : /* fall through */
1813       case 1121 : /* fall through */
1814       case 1122 : /* fall through */
1815       case 1123 : /* fall through */
1816       case 1124 : /* fall through */
1817       case 1125 : /* fall through */
1818       case 1126 : /* fall through */
1819       case 1127 : /* fall through */
1820       case 1128 : /* fall through */
1821       case 1129 : /* fall through */
1822       case 1130 : /* fall through */
1823       case 1131 : /* fall through */
1824       case 1132 : /* fall through */
1825       case 1133 : /* fall through */
1826       case 1134 : /* fall through */
1827       case 1135 : /* fall through */
1828       case 1136 : /* fall through */
1829       case 1137 : /* fall through */
1830       case 1138 : /* fall through */
1831       case 1139 : /* fall through */
1832       case 1140 : /* fall through */
1833       case 1141 : /* fall through */
1834       case 1142 : /* fall through */
1835       case 1143 : /* fall through */
1836       case 1144 : /* fall through */
1837       case 1145 : /* fall through */
1838       case 1146 : /* fall through */
1839       case 1147 : /* fall through */
1840       case 1148 : /* fall through */
1841       case 1149 : /* fall through */
1842       case 1150 : /* fall through */
1843       case 1151 :
1844         {
1845           unsigned int val = (((insn >> 8) & (15 << 0)));
1846           switch (val)
1847           {
1848           case 0 :
1849             if ((entire_insn & 0xff00) == 0x8000)
1850               { itype = SH64_COMPACT_INSN_MOVB5_COMPACT; goto extract_sfmt_movb5_compact; }
1851             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1852           case 1 :
1853             if ((entire_insn & 0xff00) == 0x8100)
1854               { itype = SH64_COMPACT_INSN_MOVW5_COMPACT; goto extract_sfmt_movw5_compact; }
1855             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1856           case 4 :
1857             if ((entire_insn & 0xff00) == 0x8400)
1858               { itype = SH64_COMPACT_INSN_MOVB10_COMPACT; goto extract_sfmt_movb10_compact; }
1859             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1860           case 5 :
1861             if ((entire_insn & 0xff00) == 0x8500)
1862               { itype = SH64_COMPACT_INSN_MOVW11_COMPACT; goto extract_sfmt_movw11_compact; }
1863             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1864           case 8 :
1865             if ((entire_insn & 0xff00) == 0x8800)
1866               { itype = SH64_COMPACT_INSN_CMPEQI_COMPACT; goto extract_sfmt_cmpeqi_compact; }
1867             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1868           case 9 :
1869             if ((entire_insn & 0xff00) == 0x8900)
1870               { itype = SH64_COMPACT_INSN_BT_COMPACT; goto extract_sfmt_bf_compact; }
1871             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1872           case 11 :
1873             if ((entire_insn & 0xff00) == 0x8b00)
1874               { itype = SH64_COMPACT_INSN_BF_COMPACT; goto extract_sfmt_bf_compact; }
1875             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1876           case 13 :
1877             if ((entire_insn & 0xff00) == 0x8d00)
1878               { itype = SH64_COMPACT_INSN_BTS_COMPACT; goto extract_sfmt_bfs_compact; }
1879             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1880           case 15 :
1881             if ((entire_insn & 0xff00) == 0x8f00)
1882               { itype = SH64_COMPACT_INSN_BFS_COMPACT; goto extract_sfmt_bfs_compact; }
1883             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1884           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1885           }
1886         }
1887       case 1152 : /* fall through */
1888       case 1153 : /* fall through */
1889       case 1154 : /* fall through */
1890       case 1155 : /* fall through */
1891       case 1156 : /* fall through */
1892       case 1157 : /* fall through */
1893       case 1158 : /* fall through */
1894       case 1159 : /* fall through */
1895       case 1160 : /* fall through */
1896       case 1161 : /* fall through */
1897       case 1162 : /* fall through */
1898       case 1163 : /* fall through */
1899       case 1164 : /* fall through */
1900       case 1165 : /* fall through */
1901       case 1166 : /* fall through */
1902       case 1167 : /* fall through */
1903       case 1168 : /* fall through */
1904       case 1169 : /* fall through */
1905       case 1170 : /* fall through */
1906       case 1171 : /* fall through */
1907       case 1172 : /* fall through */
1908       case 1173 : /* fall through */
1909       case 1174 : /* fall through */
1910       case 1175 : /* fall through */
1911       case 1176 : /* fall through */
1912       case 1177 : /* fall through */
1913       case 1178 : /* fall through */
1914       case 1179 : /* fall through */
1915       case 1180 : /* fall through */
1916       case 1181 : /* fall through */
1917       case 1182 : /* fall through */
1918       case 1183 : /* fall through */
1919       case 1184 : /* fall through */
1920       case 1185 : /* fall through */
1921       case 1186 : /* fall through */
1922       case 1187 : /* fall through */
1923       case 1188 : /* fall through */
1924       case 1189 : /* fall through */
1925       case 1190 : /* fall through */
1926       case 1191 : /* fall through */
1927       case 1192 : /* fall through */
1928       case 1193 : /* fall through */
1929       case 1194 : /* fall through */
1930       case 1195 : /* fall through */
1931       case 1196 : /* fall through */
1932       case 1197 : /* fall through */
1933       case 1198 : /* fall through */
1934       case 1199 : /* fall through */
1935       case 1200 : /* fall through */
1936       case 1201 : /* fall through */
1937       case 1202 : /* fall through */
1938       case 1203 : /* fall through */
1939       case 1204 : /* fall through */
1940       case 1205 : /* fall through */
1941       case 1206 : /* fall through */
1942       case 1207 : /* fall through */
1943       case 1208 : /* fall through */
1944       case 1209 : /* fall through */
1945       case 1210 : /* fall through */
1946       case 1211 : /* fall through */
1947       case 1212 : /* fall through */
1948       case 1213 : /* fall through */
1949       case 1214 : /* fall through */
1950       case 1215 : /* fall through */
1951       case 1216 : /* fall through */
1952       case 1217 : /* fall through */
1953       case 1218 : /* fall through */
1954       case 1219 : /* fall through */
1955       case 1220 : /* fall through */
1956       case 1221 : /* fall through */
1957       case 1222 : /* fall through */
1958       case 1223 : /* fall through */
1959       case 1224 : /* fall through */
1960       case 1225 : /* fall through */
1961       case 1226 : /* fall through */
1962       case 1227 : /* fall through */
1963       case 1228 : /* fall through */
1964       case 1229 : /* fall through */
1965       case 1230 : /* fall through */
1966       case 1231 : /* fall through */
1967       case 1232 : /* fall through */
1968       case 1233 : /* fall through */
1969       case 1234 : /* fall through */
1970       case 1235 : /* fall through */
1971       case 1236 : /* fall through */
1972       case 1237 : /* fall through */
1973       case 1238 : /* fall through */
1974       case 1239 : /* fall through */
1975       case 1240 : /* fall through */
1976       case 1241 : /* fall through */
1977       case 1242 : /* fall through */
1978       case 1243 : /* fall through */
1979       case 1244 : /* fall through */
1980       case 1245 : /* fall through */
1981       case 1246 : /* fall through */
1982       case 1247 : /* fall through */
1983       case 1248 : /* fall through */
1984       case 1249 : /* fall through */
1985       case 1250 : /* fall through */
1986       case 1251 : /* fall through */
1987       case 1252 : /* fall through */
1988       case 1253 : /* fall through */
1989       case 1254 : /* fall through */
1990       case 1255 : /* fall through */
1991       case 1256 : /* fall through */
1992       case 1257 : /* fall through */
1993       case 1258 : /* fall through */
1994       case 1259 : /* fall through */
1995       case 1260 : /* fall through */
1996       case 1261 : /* fall through */
1997       case 1262 : /* fall through */
1998       case 1263 : /* fall through */
1999       case 1264 : /* fall through */
2000       case 1265 : /* fall through */
2001       case 1266 : /* fall through */
2002       case 1267 : /* fall through */
2003       case 1268 : /* fall through */
2004       case 1269 : /* fall through */
2005       case 1270 : /* fall through */
2006       case 1271 : /* fall through */
2007       case 1272 : /* fall through */
2008       case 1273 : /* fall through */
2009       case 1274 : /* fall through */
2010       case 1275 : /* fall through */
2011       case 1276 : /* fall through */
2012       case 1277 : /* fall through */
2013       case 1278 : /* fall through */
2014       case 1279 :
2015         if ((entire_insn & 0xf000) == 0x9000)
2016           { itype = SH64_COMPACT_INSN_MOVW10_COMPACT; goto extract_sfmt_movw10_compact; }
2017         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2018       case 1280 : /* fall through */
2019       case 1281 : /* fall through */
2020       case 1282 : /* fall through */
2021       case 1283 : /* fall through */
2022       case 1284 : /* fall through */
2023       case 1285 : /* fall through */
2024       case 1286 : /* fall through */
2025       case 1287 : /* fall through */
2026       case 1288 : /* fall through */
2027       case 1289 : /* fall through */
2028       case 1290 : /* fall through */
2029       case 1291 : /* fall through */
2030       case 1292 : /* fall through */
2031       case 1293 : /* fall through */
2032       case 1294 : /* fall through */
2033       case 1295 : /* fall through */
2034       case 1296 : /* fall through */
2035       case 1297 : /* fall through */
2036       case 1298 : /* fall through */
2037       case 1299 : /* fall through */
2038       case 1300 : /* fall through */
2039       case 1301 : /* fall through */
2040       case 1302 : /* fall through */
2041       case 1303 : /* fall through */
2042       case 1304 : /* fall through */
2043       case 1305 : /* fall through */
2044       case 1306 : /* fall through */
2045       case 1307 : /* fall through */
2046       case 1308 : /* fall through */
2047       case 1309 : /* fall through */
2048       case 1310 : /* fall through */
2049       case 1311 : /* fall through */
2050       case 1312 : /* fall through */
2051       case 1313 : /* fall through */
2052       case 1314 : /* fall through */
2053       case 1315 : /* fall through */
2054       case 1316 : /* fall through */
2055       case 1317 : /* fall through */
2056       case 1318 : /* fall through */
2057       case 1319 : /* fall through */
2058       case 1320 : /* fall through */
2059       case 1321 : /* fall through */
2060       case 1322 : /* fall through */
2061       case 1323 : /* fall through */
2062       case 1324 : /* fall through */
2063       case 1325 : /* fall through */
2064       case 1326 : /* fall through */
2065       case 1327 : /* fall through */
2066       case 1328 : /* fall through */
2067       case 1329 : /* fall through */
2068       case 1330 : /* fall through */
2069       case 1331 : /* fall through */
2070       case 1332 : /* fall through */
2071       case 1333 : /* fall through */
2072       case 1334 : /* fall through */
2073       case 1335 : /* fall through */
2074       case 1336 : /* fall through */
2075       case 1337 : /* fall through */
2076       case 1338 : /* fall through */
2077       case 1339 : /* fall through */
2078       case 1340 : /* fall through */
2079       case 1341 : /* fall through */
2080       case 1342 : /* fall through */
2081       case 1343 : /* fall through */
2082       case 1344 : /* fall through */
2083       case 1345 : /* fall through */
2084       case 1346 : /* fall through */
2085       case 1347 : /* fall through */
2086       case 1348 : /* fall through */
2087       case 1349 : /* fall through */
2088       case 1350 : /* fall through */
2089       case 1351 : /* fall through */
2090       case 1352 : /* fall through */
2091       case 1353 : /* fall through */
2092       case 1354 : /* fall through */
2093       case 1355 : /* fall through */
2094       case 1356 : /* fall through */
2095       case 1357 : /* fall through */
2096       case 1358 : /* fall through */
2097       case 1359 : /* fall through */
2098       case 1360 : /* fall through */
2099       case 1361 : /* fall through */
2100       case 1362 : /* fall through */
2101       case 1363 : /* fall through */
2102       case 1364 : /* fall through */
2103       case 1365 : /* fall through */
2104       case 1366 : /* fall through */
2105       case 1367 : /* fall through */
2106       case 1368 : /* fall through */
2107       case 1369 : /* fall through */
2108       case 1370 : /* fall through */
2109       case 1371 : /* fall through */
2110       case 1372 : /* fall through */
2111       case 1373 : /* fall through */
2112       case 1374 : /* fall through */
2113       case 1375 : /* fall through */
2114       case 1376 : /* fall through */
2115       case 1377 : /* fall through */
2116       case 1378 : /* fall through */
2117       case 1379 : /* fall through */
2118       case 1380 : /* fall through */
2119       case 1381 : /* fall through */
2120       case 1382 : /* fall through */
2121       case 1383 : /* fall through */
2122       case 1384 : /* fall through */
2123       case 1385 : /* fall through */
2124       case 1386 : /* fall through */
2125       case 1387 : /* fall through */
2126       case 1388 : /* fall through */
2127       case 1389 : /* fall through */
2128       case 1390 : /* fall through */
2129       case 1391 : /* fall through */
2130       case 1392 : /* fall through */
2131       case 1393 : /* fall through */
2132       case 1394 : /* fall through */
2133       case 1395 : /* fall through */
2134       case 1396 : /* fall through */
2135       case 1397 : /* fall through */
2136       case 1398 : /* fall through */
2137       case 1399 : /* fall through */
2138       case 1400 : /* fall through */
2139       case 1401 : /* fall through */
2140       case 1402 : /* fall through */
2141       case 1403 : /* fall through */
2142       case 1404 : /* fall through */
2143       case 1405 : /* fall through */
2144       case 1406 : /* fall through */
2145       case 1407 :
2146         if ((entire_insn & 0xf000) == 0xa000)
2147           { itype = SH64_COMPACT_INSN_BRA_COMPACT; goto extract_sfmt_bra_compact; }
2148         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2149       case 1408 : /* fall through */
2150       case 1409 : /* fall through */
2151       case 1410 : /* fall through */
2152       case 1411 : /* fall through */
2153       case 1412 : /* fall through */
2154       case 1413 : /* fall through */
2155       case 1414 : /* fall through */
2156       case 1415 : /* fall through */
2157       case 1416 : /* fall through */
2158       case 1417 : /* fall through */
2159       case 1418 : /* fall through */
2160       case 1419 : /* fall through */
2161       case 1420 : /* fall through */
2162       case 1421 : /* fall through */
2163       case 1422 : /* fall through */
2164       case 1423 : /* fall through */
2165       case 1424 : /* fall through */
2166       case 1425 : /* fall through */
2167       case 1426 : /* fall through */
2168       case 1427 : /* fall through */
2169       case 1428 : /* fall through */
2170       case 1429 : /* fall through */
2171       case 1430 : /* fall through */
2172       case 1431 : /* fall through */
2173       case 1432 : /* fall through */
2174       case 1433 : /* fall through */
2175       case 1434 : /* fall through */
2176       case 1435 : /* fall through */
2177       case 1436 : /* fall through */
2178       case 1437 : /* fall through */
2179       case 1438 : /* fall through */
2180       case 1439 : /* fall through */
2181       case 1440 : /* fall through */
2182       case 1441 : /* fall through */
2183       case 1442 : /* fall through */
2184       case 1443 : /* fall through */
2185       case 1444 : /* fall through */
2186       case 1445 : /* fall through */
2187       case 1446 : /* fall through */
2188       case 1447 : /* fall through */
2189       case 1448 : /* fall through */
2190       case 1449 : /* fall through */
2191       case 1450 : /* fall through */
2192       case 1451 : /* fall through */
2193       case 1452 : /* fall through */
2194       case 1453 : /* fall through */
2195       case 1454 : /* fall through */
2196       case 1455 : /* fall through */
2197       case 1456 : /* fall through */
2198       case 1457 : /* fall through */
2199       case 1458 : /* fall through */
2200       case 1459 : /* fall through */
2201       case 1460 : /* fall through */
2202       case 1461 : /* fall through */
2203       case 1462 : /* fall through */
2204       case 1463 : /* fall through */
2205       case 1464 : /* fall through */
2206       case 1465 : /* fall through */
2207       case 1466 : /* fall through */
2208       case 1467 : /* fall through */
2209       case 1468 : /* fall through */
2210       case 1469 : /* fall through */
2211       case 1470 : /* fall through */
2212       case 1471 : /* fall through */
2213       case 1472 : /* fall through */
2214       case 1473 : /* fall through */
2215       case 1474 : /* fall through */
2216       case 1475 : /* fall through */
2217       case 1476 : /* fall through */
2218       case 1477 : /* fall through */
2219       case 1478 : /* fall through */
2220       case 1479 : /* fall through */
2221       case 1480 : /* fall through */
2222       case 1481 : /* fall through */
2223       case 1482 : /* fall through */
2224       case 1483 : /* fall through */
2225       case 1484 : /* fall through */
2226       case 1485 : /* fall through */
2227       case 1486 : /* fall through */
2228       case 1487 : /* fall through */
2229       case 1488 : /* fall through */
2230       case 1489 : /* fall through */
2231       case 1490 : /* fall through */
2232       case 1491 : /* fall through */
2233       case 1492 : /* fall through */
2234       case 1493 : /* fall through */
2235       case 1494 : /* fall through */
2236       case 1495 : /* fall through */
2237       case 1496 : /* fall through */
2238       case 1497 : /* fall through */
2239       case 1498 : /* fall through */
2240       case 1499 : /* fall through */
2241       case 1500 : /* fall through */
2242       case 1501 : /* fall through */
2243       case 1502 : /* fall through */
2244       case 1503 : /* fall through */
2245       case 1504 : /* fall through */
2246       case 1505 : /* fall through */
2247       case 1506 : /* fall through */
2248       case 1507 : /* fall through */
2249       case 1508 : /* fall through */
2250       case 1509 : /* fall through */
2251       case 1510 : /* fall through */
2252       case 1511 : /* fall through */
2253       case 1512 : /* fall through */
2254       case 1513 : /* fall through */
2255       case 1514 : /* fall through */
2256       case 1515 : /* fall through */
2257       case 1516 : /* fall through */
2258       case 1517 : /* fall through */
2259       case 1518 : /* fall through */
2260       case 1519 : /* fall through */
2261       case 1520 : /* fall through */
2262       case 1521 : /* fall through */
2263       case 1522 : /* fall through */
2264       case 1523 : /* fall through */
2265       case 1524 : /* fall through */
2266       case 1525 : /* fall through */
2267       case 1526 : /* fall through */
2268       case 1527 : /* fall through */
2269       case 1528 : /* fall through */
2270       case 1529 : /* fall through */
2271       case 1530 : /* fall through */
2272       case 1531 : /* fall through */
2273       case 1532 : /* fall through */
2274       case 1533 : /* fall through */
2275       case 1534 : /* fall through */
2276       case 1535 :
2277         if ((entire_insn & 0xf000) == 0xb000)
2278           { itype = SH64_COMPACT_INSN_BSR_COMPACT; goto extract_sfmt_bsr_compact; }
2279         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2280       case 1536 : /* fall through */
2281       case 1537 : /* fall through */
2282       case 1538 : /* fall through */
2283       case 1539 : /* fall through */
2284       case 1540 : /* fall through */
2285       case 1541 : /* fall through */
2286       case 1542 : /* fall through */
2287       case 1543 : /* fall through */
2288       case 1544 : /* fall through */
2289       case 1545 : /* fall through */
2290       case 1546 : /* fall through */
2291       case 1547 : /* fall through */
2292       case 1548 : /* fall through */
2293       case 1549 : /* fall through */
2294       case 1550 : /* fall through */
2295       case 1551 : /* fall through */
2296       case 1552 : /* fall through */
2297       case 1553 : /* fall through */
2298       case 1554 : /* fall through */
2299       case 1555 : /* fall through */
2300       case 1556 : /* fall through */
2301       case 1557 : /* fall through */
2302       case 1558 : /* fall through */
2303       case 1559 : /* fall through */
2304       case 1560 : /* fall through */
2305       case 1561 : /* fall through */
2306       case 1562 : /* fall through */
2307       case 1563 : /* fall through */
2308       case 1564 : /* fall through */
2309       case 1565 : /* fall through */
2310       case 1566 : /* fall through */
2311       case 1567 : /* fall through */
2312       case 1568 : /* fall through */
2313       case 1569 : /* fall through */
2314       case 1570 : /* fall through */
2315       case 1571 : /* fall through */
2316       case 1572 : /* fall through */
2317       case 1573 : /* fall through */
2318       case 1574 : /* fall through */
2319       case 1575 : /* fall through */
2320       case 1576 : /* fall through */
2321       case 1577 : /* fall through */
2322       case 1578 : /* fall through */
2323       case 1579 : /* fall through */
2324       case 1580 : /* fall through */
2325       case 1581 : /* fall through */
2326       case 1582 : /* fall through */
2327       case 1583 : /* fall through */
2328       case 1584 : /* fall through */
2329       case 1585 : /* fall through */
2330       case 1586 : /* fall through */
2331       case 1587 : /* fall through */
2332       case 1588 : /* fall through */
2333       case 1589 : /* fall through */
2334       case 1590 : /* fall through */
2335       case 1591 : /* fall through */
2336       case 1592 : /* fall through */
2337       case 1593 : /* fall through */
2338       case 1594 : /* fall through */
2339       case 1595 : /* fall through */
2340       case 1596 : /* fall through */
2341       case 1597 : /* fall through */
2342       case 1598 : /* fall through */
2343       case 1599 : /* fall through */
2344       case 1600 : /* fall through */
2345       case 1601 : /* fall through */
2346       case 1602 : /* fall through */
2347       case 1603 : /* fall through */
2348       case 1604 : /* fall through */
2349       case 1605 : /* fall through */
2350       case 1606 : /* fall through */
2351       case 1607 : /* fall through */
2352       case 1608 : /* fall through */
2353       case 1609 : /* fall through */
2354       case 1610 : /* fall through */
2355       case 1611 : /* fall through */
2356       case 1612 : /* fall through */
2357       case 1613 : /* fall through */
2358       case 1614 : /* fall through */
2359       case 1615 : /* fall through */
2360       case 1616 : /* fall through */
2361       case 1617 : /* fall through */
2362       case 1618 : /* fall through */
2363       case 1619 : /* fall through */
2364       case 1620 : /* fall through */
2365       case 1621 : /* fall through */
2366       case 1622 : /* fall through */
2367       case 1623 : /* fall through */
2368       case 1624 : /* fall through */
2369       case 1625 : /* fall through */
2370       case 1626 : /* fall through */
2371       case 1627 : /* fall through */
2372       case 1628 : /* fall through */
2373       case 1629 : /* fall through */
2374       case 1630 : /* fall through */
2375       case 1631 : /* fall through */
2376       case 1632 : /* fall through */
2377       case 1633 : /* fall through */
2378       case 1634 : /* fall through */
2379       case 1635 : /* fall through */
2380       case 1636 : /* fall through */
2381       case 1637 : /* fall through */
2382       case 1638 : /* fall through */
2383       case 1639 : /* fall through */
2384       case 1640 : /* fall through */
2385       case 1641 : /* fall through */
2386       case 1642 : /* fall through */
2387       case 1643 : /* fall through */
2388       case 1644 : /* fall through */
2389       case 1645 : /* fall through */
2390       case 1646 : /* fall through */
2391       case 1647 : /* fall through */
2392       case 1648 : /* fall through */
2393       case 1649 : /* fall through */
2394       case 1650 : /* fall through */
2395       case 1651 : /* fall through */
2396       case 1652 : /* fall through */
2397       case 1653 : /* fall through */
2398       case 1654 : /* fall through */
2399       case 1655 : /* fall through */
2400       case 1656 : /* fall through */
2401       case 1657 : /* fall through */
2402       case 1658 : /* fall through */
2403       case 1659 : /* fall through */
2404       case 1660 : /* fall through */
2405       case 1661 : /* fall through */
2406       case 1662 : /* fall through */
2407       case 1663 :
2408         {
2409           unsigned int val = (((insn >> 8) & (15 << 0)));
2410           switch (val)
2411           {
2412           case 0 :
2413             if ((entire_insn & 0xff00) == 0xc000)
2414               { itype = SH64_COMPACT_INSN_MOVB4_COMPACT; goto extract_sfmt_movb4_compact; }
2415             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2416           case 1 :
2417             if ((entire_insn & 0xff00) == 0xc100)
2418               { itype = SH64_COMPACT_INSN_MOVW4_COMPACT; goto extract_sfmt_movw4_compact; }
2419             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2420           case 2 :
2421             if ((entire_insn & 0xff00) == 0xc200)
2422               { itype = SH64_COMPACT_INSN_MOVL4_COMPACT; goto extract_sfmt_movl4_compact; }
2423             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2424           case 3 :
2425             if ((entire_insn & 0xff00) == 0xc300)
2426               { itype = SH64_COMPACT_INSN_TRAPA_COMPACT; goto extract_sfmt_trapa_compact; }
2427             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2428           case 4 :
2429             if ((entire_insn & 0xff00) == 0xc400)
2430               { itype = SH64_COMPACT_INSN_MOVB9_COMPACT; goto extract_sfmt_movb9_compact; }
2431             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2432           case 5 :
2433             if ((entire_insn & 0xff00) == 0xc500)
2434               { itype = SH64_COMPACT_INSN_MOVW9_COMPACT; goto extract_sfmt_movw9_compact; }
2435             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2436           case 6 :
2437             if ((entire_insn & 0xff00) == 0xc600)
2438               { itype = SH64_COMPACT_INSN_MOVL9_COMPACT; goto extract_sfmt_movl9_compact; }
2439             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2440           case 7 :
2441             if ((entire_insn & 0xff00) == 0xc700)
2442               { itype = SH64_COMPACT_INSN_MOVA_COMPACT; goto extract_sfmt_mova_compact; }
2443             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2444           case 8 :
2445             if ((entire_insn & 0xff00) == 0xc800)
2446               { itype = SH64_COMPACT_INSN_TSTI_COMPACT; goto extract_sfmt_tsti_compact; }
2447             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2448           case 9 :
2449             if ((entire_insn & 0xff00) == 0xc900)
2450               { itype = SH64_COMPACT_INSN_ANDI_COMPACT; goto extract_sfmt_andi_compact; }
2451             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2452           case 10 :
2453             if ((entire_insn & 0xff00) == 0xca00)
2454               { itype = SH64_COMPACT_INSN_XORI_COMPACT; goto extract_sfmt_andi_compact; }
2455             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2456           case 11 :
2457             if ((entire_insn & 0xff00) == 0xcb00)
2458               { itype = SH64_COMPACT_INSN_ORI_COMPACT; goto extract_sfmt_andi_compact; }
2459             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2460           case 12 :
2461             if ((entire_insn & 0xff00) == 0xcc00)
2462               { itype = SH64_COMPACT_INSN_TSTB_COMPACT; goto extract_sfmt_tstb_compact; }
2463             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2464           case 13 :
2465             if ((entire_insn & 0xff00) == 0xcd00)
2466               { itype = SH64_COMPACT_INSN_ANDB_COMPACT; goto extract_sfmt_andb_compact; }
2467             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2468           case 14 :
2469             if ((entire_insn & 0xff00) == 0xce00)
2470               { itype = SH64_COMPACT_INSN_XORB_COMPACT; goto extract_sfmt_andb_compact; }
2471             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2472           case 15 :
2473             if ((entire_insn & 0xff00) == 0xcf00)
2474               { itype = SH64_COMPACT_INSN_ORB_COMPACT; goto extract_sfmt_andb_compact; }
2475             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2476           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2477           }
2478         }
2479       case 1664 : /* fall through */
2480       case 1665 : /* fall through */
2481       case 1666 : /* fall through */
2482       case 1667 : /* fall through */
2483       case 1668 : /* fall through */
2484       case 1669 : /* fall through */
2485       case 1670 : /* fall through */
2486       case 1671 : /* fall through */
2487       case 1672 : /* fall through */
2488       case 1673 : /* fall through */
2489       case 1674 : /* fall through */
2490       case 1675 : /* fall through */
2491       case 1676 : /* fall through */
2492       case 1677 : /* fall through */
2493       case 1678 : /* fall through */
2494       case 1679 : /* fall through */
2495       case 1680 : /* fall through */
2496       case 1681 : /* fall through */
2497       case 1682 : /* fall through */
2498       case 1683 : /* fall through */
2499       case 1684 : /* fall through */
2500       case 1685 : /* fall through */
2501       case 1686 : /* fall through */
2502       case 1687 : /* fall through */
2503       case 1688 : /* fall through */
2504       case 1689 : /* fall through */
2505       case 1690 : /* fall through */
2506       case 1691 : /* fall through */
2507       case 1692 : /* fall through */
2508       case 1693 : /* fall through */
2509       case 1694 : /* fall through */
2510       case 1695 : /* fall through */
2511       case 1696 : /* fall through */
2512       case 1697 : /* fall through */
2513       case 1698 : /* fall through */
2514       case 1699 : /* fall through */
2515       case 1700 : /* fall through */
2516       case 1701 : /* fall through */
2517       case 1702 : /* fall through */
2518       case 1703 : /* fall through */
2519       case 1704 : /* fall through */
2520       case 1705 : /* fall through */
2521       case 1706 : /* fall through */
2522       case 1707 : /* fall through */
2523       case 1708 : /* fall through */
2524       case 1709 : /* fall through */
2525       case 1710 : /* fall through */
2526       case 1711 : /* fall through */
2527       case 1712 : /* fall through */
2528       case 1713 : /* fall through */
2529       case 1714 : /* fall through */
2530       case 1715 : /* fall through */
2531       case 1716 : /* fall through */
2532       case 1717 : /* fall through */
2533       case 1718 : /* fall through */
2534       case 1719 : /* fall through */
2535       case 1720 : /* fall through */
2536       case 1721 : /* fall through */
2537       case 1722 : /* fall through */
2538       case 1723 : /* fall through */
2539       case 1724 : /* fall through */
2540       case 1725 : /* fall through */
2541       case 1726 : /* fall through */
2542       case 1727 : /* fall through */
2543       case 1728 : /* fall through */
2544       case 1729 : /* fall through */
2545       case 1730 : /* fall through */
2546       case 1731 : /* fall through */
2547       case 1732 : /* fall through */
2548       case 1733 : /* fall through */
2549       case 1734 : /* fall through */
2550       case 1735 : /* fall through */
2551       case 1736 : /* fall through */
2552       case 1737 : /* fall through */
2553       case 1738 : /* fall through */
2554       case 1739 : /* fall through */
2555       case 1740 : /* fall through */
2556       case 1741 : /* fall through */
2557       case 1742 : /* fall through */
2558       case 1743 : /* fall through */
2559       case 1744 : /* fall through */
2560       case 1745 : /* fall through */
2561       case 1746 : /* fall through */
2562       case 1747 : /* fall through */
2563       case 1748 : /* fall through */
2564       case 1749 : /* fall through */
2565       case 1750 : /* fall through */
2566       case 1751 : /* fall through */
2567       case 1752 : /* fall through */
2568       case 1753 : /* fall through */
2569       case 1754 : /* fall through */
2570       case 1755 : /* fall through */
2571       case 1756 : /* fall through */
2572       case 1757 : /* fall through */
2573       case 1758 : /* fall through */
2574       case 1759 : /* fall through */
2575       case 1760 : /* fall through */
2576       case 1761 : /* fall through */
2577       case 1762 : /* fall through */
2578       case 1763 : /* fall through */
2579       case 1764 : /* fall through */
2580       case 1765 : /* fall through */
2581       case 1766 : /* fall through */
2582       case 1767 : /* fall through */
2583       case 1768 : /* fall through */
2584       case 1769 : /* fall through */
2585       case 1770 : /* fall through */
2586       case 1771 : /* fall through */
2587       case 1772 : /* fall through */
2588       case 1773 : /* fall through */
2589       case 1774 : /* fall through */
2590       case 1775 : /* fall through */
2591       case 1776 : /* fall through */
2592       case 1777 : /* fall through */
2593       case 1778 : /* fall through */
2594       case 1779 : /* fall through */
2595       case 1780 : /* fall through */
2596       case 1781 : /* fall through */
2597       case 1782 : /* fall through */
2598       case 1783 : /* fall through */
2599       case 1784 : /* fall through */
2600       case 1785 : /* fall through */
2601       case 1786 : /* fall through */
2602       case 1787 : /* fall through */
2603       case 1788 : /* fall through */
2604       case 1789 : /* fall through */
2605       case 1790 : /* fall through */
2606       case 1791 :
2607         if ((entire_insn & 0xf000) == 0xd000)
2608           { itype = SH64_COMPACT_INSN_MOVL10_COMPACT; goto extract_sfmt_movl10_compact; }
2609         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2610       case 1792 : /* fall through */
2611       case 1793 : /* fall through */
2612       case 1794 : /* fall through */
2613       case 1795 : /* fall through */
2614       case 1796 : /* fall through */
2615       case 1797 : /* fall through */
2616       case 1798 : /* fall through */
2617       case 1799 : /* fall through */
2618       case 1800 : /* fall through */
2619       case 1801 : /* fall through */
2620       case 1802 : /* fall through */
2621       case 1803 : /* fall through */
2622       case 1804 : /* fall through */
2623       case 1805 : /* fall through */
2624       case 1806 : /* fall through */
2625       case 1807 : /* fall through */
2626       case 1808 : /* fall through */
2627       case 1809 : /* fall through */
2628       case 1810 : /* fall through */
2629       case 1811 : /* fall through */
2630       case 1812 : /* fall through */
2631       case 1813 : /* fall through */
2632       case 1814 : /* fall through */
2633       case 1815 : /* fall through */
2634       case 1816 : /* fall through */
2635       case 1817 : /* fall through */
2636       case 1818 : /* fall through */
2637       case 1819 : /* fall through */
2638       case 1820 : /* fall through */
2639       case 1821 : /* fall through */
2640       case 1822 : /* fall through */
2641       case 1823 : /* fall through */
2642       case 1824 : /* fall through */
2643       case 1825 : /* fall through */
2644       case 1826 : /* fall through */
2645       case 1827 : /* fall through */
2646       case 1828 : /* fall through */
2647       case 1829 : /* fall through */
2648       case 1830 : /* fall through */
2649       case 1831 : /* fall through */
2650       case 1832 : /* fall through */
2651       case 1833 : /* fall through */
2652       case 1834 : /* fall through */
2653       case 1835 : /* fall through */
2654       case 1836 : /* fall through */
2655       case 1837 : /* fall through */
2656       case 1838 : /* fall through */
2657       case 1839 : /* fall through */
2658       case 1840 : /* fall through */
2659       case 1841 : /* fall through */
2660       case 1842 : /* fall through */
2661       case 1843 : /* fall through */
2662       case 1844 : /* fall through */
2663       case 1845 : /* fall through */
2664       case 1846 : /* fall through */
2665       case 1847 : /* fall through */
2666       case 1848 : /* fall through */
2667       case 1849 : /* fall through */
2668       case 1850 : /* fall through */
2669       case 1851 : /* fall through */
2670       case 1852 : /* fall through */
2671       case 1853 : /* fall through */
2672       case 1854 : /* fall through */
2673       case 1855 : /* fall through */
2674       case 1856 : /* fall through */
2675       case 1857 : /* fall through */
2676       case 1858 : /* fall through */
2677       case 1859 : /* fall through */
2678       case 1860 : /* fall through */
2679       case 1861 : /* fall through */
2680       case 1862 : /* fall through */
2681       case 1863 : /* fall through */
2682       case 1864 : /* fall through */
2683       case 1865 : /* fall through */
2684       case 1866 : /* fall through */
2685       case 1867 : /* fall through */
2686       case 1868 : /* fall through */
2687       case 1869 : /* fall through */
2688       case 1870 : /* fall through */
2689       case 1871 : /* fall through */
2690       case 1872 : /* fall through */
2691       case 1873 : /* fall through */
2692       case 1874 : /* fall through */
2693       case 1875 : /* fall through */
2694       case 1876 : /* fall through */
2695       case 1877 : /* fall through */
2696       case 1878 : /* fall through */
2697       case 1879 : /* fall through */
2698       case 1880 : /* fall through */
2699       case 1881 : /* fall through */
2700       case 1882 : /* fall through */
2701       case 1883 : /* fall through */
2702       case 1884 : /* fall through */
2703       case 1885 : /* fall through */
2704       case 1886 : /* fall through */
2705       case 1887 : /* fall through */
2706       case 1888 : /* fall through */
2707       case 1889 : /* fall through */
2708       case 1890 : /* fall through */
2709       case 1891 : /* fall through */
2710       case 1892 : /* fall through */
2711       case 1893 : /* fall through */
2712       case 1894 : /* fall through */
2713       case 1895 : /* fall through */
2714       case 1896 : /* fall through */
2715       case 1897 : /* fall through */
2716       case 1898 : /* fall through */
2717       case 1899 : /* fall through */
2718       case 1900 : /* fall through */
2719       case 1901 : /* fall through */
2720       case 1902 : /* fall through */
2721       case 1903 : /* fall through */
2722       case 1904 : /* fall through */
2723       case 1905 : /* fall through */
2724       case 1906 : /* fall through */
2725       case 1907 : /* fall through */
2726       case 1908 : /* fall through */
2727       case 1909 : /* fall through */
2728       case 1910 : /* fall through */
2729       case 1911 : /* fall through */
2730       case 1912 : /* fall through */
2731       case 1913 : /* fall through */
2732       case 1914 : /* fall through */
2733       case 1915 : /* fall through */
2734       case 1916 : /* fall through */
2735       case 1917 : /* fall through */
2736       case 1918 : /* fall through */
2737       case 1919 :
2738         if ((entire_insn & 0xf000) == 0xe000)
2739           { itype = SH64_COMPACT_INSN_MOVI_COMPACT; goto extract_sfmt_movi_compact; }
2740         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2741       case 1920 : /* fall through */
2742       case 1936 : /* fall through */
2743       case 1952 : /* fall through */
2744       case 1968 : /* fall through */
2745       case 1984 : /* fall through */
2746       case 2000 : /* fall through */
2747       case 2016 : /* fall through */
2748       case 2032 :
2749         if ((entire_insn & 0xf00f) == 0xf000)
2750           { itype = SH64_COMPACT_INSN_FADD_COMPACT; goto extract_sfmt_fadd_compact; }
2751         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2752       case 1921 : /* fall through */
2753       case 1937 : /* fall through */
2754       case 1953 : /* fall through */
2755       case 1969 : /* fall through */
2756       case 1985 : /* fall through */
2757       case 2001 : /* fall through */
2758       case 2017 : /* fall through */
2759       case 2033 :
2760         if ((entire_insn & 0xf00f) == 0xf001)
2761           { itype = SH64_COMPACT_INSN_FSUB_COMPACT; goto extract_sfmt_fadd_compact; }
2762         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2763       case 1922 : /* fall through */
2764       case 1938 : /* fall through */
2765       case 1954 : /* fall through */
2766       case 1970 : /* fall through */
2767       case 1986 : /* fall through */
2768       case 2002 : /* fall through */
2769       case 2018 : /* fall through */
2770       case 2034 :
2771         if ((entire_insn & 0xf00f) == 0xf002)
2772           { itype = SH64_COMPACT_INSN_FMUL_COMPACT; goto extract_sfmt_fadd_compact; }
2773         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2774       case 1923 : /* fall through */
2775       case 1939 : /* fall through */
2776       case 1955 : /* fall through */
2777       case 1971 : /* fall through */
2778       case 1987 : /* fall through */
2779       case 2003 : /* fall through */
2780       case 2019 : /* fall through */
2781       case 2035 :
2782         if ((entire_insn & 0xf00f) == 0xf003)
2783           { itype = SH64_COMPACT_INSN_FDIV_COMPACT; goto extract_sfmt_fadd_compact; }
2784         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2785       case 1924 : /* fall through */
2786       case 1940 : /* fall through */
2787       case 1956 : /* fall through */
2788       case 1972 : /* fall through */
2789       case 1988 : /* fall through */
2790       case 2004 : /* fall through */
2791       case 2020 : /* fall through */
2792       case 2036 :
2793         if ((entire_insn & 0xf00f) == 0xf004)
2794           { itype = SH64_COMPACT_INSN_FCMPEQ_COMPACT; goto extract_sfmt_fcmpeq_compact; }
2795         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2796       case 1925 : /* fall through */
2797       case 1941 : /* fall through */
2798       case 1957 : /* fall through */
2799       case 1973 : /* fall through */
2800       case 1989 : /* fall through */
2801       case 2005 : /* fall through */
2802       case 2021 : /* fall through */
2803       case 2037 :
2804         if ((entire_insn & 0xf00f) == 0xf005)
2805           { itype = SH64_COMPACT_INSN_FCMPGT_COMPACT; goto extract_sfmt_fcmpeq_compact; }
2806         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2807       case 1926 : /* fall through */
2808       case 1942 : /* fall through */
2809       case 1958 : /* fall through */
2810       case 1974 : /* fall through */
2811       case 1990 : /* fall through */
2812       case 2006 : /* fall through */
2813       case 2022 : /* fall through */
2814       case 2038 :
2815         if ((entire_insn & 0xf00f) == 0xf006)
2816           { itype = SH64_COMPACT_INSN_FMOV4_COMPACT; goto extract_sfmt_fmov4_compact; }
2817         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2818       case 1927 : /* fall through */
2819       case 1943 : /* fall through */
2820       case 1959 : /* fall through */
2821       case 1975 : /* fall through */
2822       case 1991 : /* fall through */
2823       case 2007 : /* fall through */
2824       case 2023 : /* fall through */
2825       case 2039 :
2826         if ((entire_insn & 0xf00f) == 0xf007)
2827           { itype = SH64_COMPACT_INSN_FMOV7_COMPACT; goto extract_sfmt_fmov7_compact; }
2828         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2829       case 1928 : /* fall through */
2830       case 1944 : /* fall through */
2831       case 1960 : /* fall through */
2832       case 1976 : /* fall through */
2833       case 1992 : /* fall through */
2834       case 2008 : /* fall through */
2835       case 2024 : /* fall through */
2836       case 2040 :
2837         if ((entire_insn & 0xf00f) == 0xf008)
2838           { itype = SH64_COMPACT_INSN_FMOV2_COMPACT; goto extract_sfmt_fmov2_compact; }
2839         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2840       case 1929 : /* fall through */
2841       case 1945 : /* fall through */
2842       case 1961 : /* fall through */
2843       case 1977 : /* fall through */
2844       case 1993 : /* fall through */
2845       case 2009 : /* fall through */
2846       case 2025 : /* fall through */
2847       case 2041 :
2848         if ((entire_insn & 0xf00f) == 0xf009)
2849           { itype = SH64_COMPACT_INSN_FMOV3_COMPACT; goto extract_sfmt_fmov3_compact; }
2850         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2851       case 1930 : /* fall through */
2852       case 1946 : /* fall through */
2853       case 1962 : /* fall through */
2854       case 1978 : /* fall through */
2855       case 1994 : /* fall through */
2856       case 2010 : /* fall through */
2857       case 2026 : /* fall through */
2858       case 2042 :
2859         if ((entire_insn & 0xf00f) == 0xf00a)
2860           { itype = SH64_COMPACT_INSN_FMOV5_COMPACT; goto extract_sfmt_fmov5_compact; }
2861         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2862       case 1931 : /* fall through */
2863       case 1947 : /* fall through */
2864       case 1963 : /* fall through */
2865       case 1979 : /* fall through */
2866       case 1995 : /* fall through */
2867       case 2011 : /* fall through */
2868       case 2027 : /* fall through */
2869       case 2043 :
2870         if ((entire_insn & 0xf00f) == 0xf00b)
2871           { itype = SH64_COMPACT_INSN_FMOV6_COMPACT; goto extract_sfmt_fmov6_compact; }
2872         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2873       case 1932 : /* fall through */
2874       case 1948 : /* fall through */
2875       case 1964 : /* fall through */
2876       case 1980 : /* fall through */
2877       case 1996 : /* fall through */
2878       case 2012 : /* fall through */
2879       case 2028 : /* fall through */
2880       case 2044 :
2881         if ((entire_insn & 0xf00f) == 0xf00c)
2882           { itype = SH64_COMPACT_INSN_FMOV1_COMPACT; goto extract_sfmt_fmov1_compact; }
2883         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2884       case 1933 :
2885         {
2886           unsigned int val = (((insn >> 7) & (1 << 0)));
2887           switch (val)
2888           {
2889           case 0 :
2890             if ((entire_insn & 0xf0ff) == 0xf00d)
2891               { itype = SH64_COMPACT_INSN_FSTS_COMPACT; goto extract_sfmt_fsts_compact; }
2892             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2893           case 1 :
2894             if ((entire_insn & 0xf0ff) == 0xf08d)
2895               { itype = SH64_COMPACT_INSN_FLDI0_COMPACT; goto extract_sfmt_fldi0_compact; }
2896             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2897           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2898           }
2899         }
2900       case 1934 : /* fall through */
2901       case 1950 : /* fall through */
2902       case 1966 : /* fall through */
2903       case 1982 : /* fall through */
2904       case 1998 : /* fall through */
2905       case 2014 : /* fall through */
2906       case 2030 : /* fall through */
2907       case 2046 :
2908         if ((entire_insn & 0xf00f) == 0xf00e)
2909           { itype = SH64_COMPACT_INSN_FMAC_COMPACT; goto extract_sfmt_fmac_compact; }
2910         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2911       case 1949 :
2912         {
2913           unsigned int val = (((insn >> 7) & (1 << 0)));
2914           switch (val)
2915           {
2916           case 0 :
2917             if ((entire_insn & 0xf0ff) == 0xf01d)
2918               { itype = SH64_COMPACT_INSN_FLDS_COMPACT; goto extract_sfmt_flds_compact; }
2919             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2920           case 1 :
2921             if ((entire_insn & 0xf0ff) == 0xf09d)
2922               { itype = SH64_COMPACT_INSN_FLDI1_COMPACT; goto extract_sfmt_fldi0_compact; }
2923             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2924           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2925           }
2926         }
2927       case 1965 :
2928         {
2929           unsigned int val = (((insn >> 7) & (1 << 0)));
2930           switch (val)
2931           {
2932           case 0 :
2933             if ((entire_insn & 0xf0ff) == 0xf02d)
2934               { itype = SH64_COMPACT_INSN_FLOAT_COMPACT; goto extract_sfmt_float_compact; }
2935             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2936           case 1 :
2937             if ((entire_insn & 0xf1ff) == 0xf0ad)
2938               { itype = SH64_COMPACT_INSN_FCNVSD_COMPACT; goto extract_sfmt_fcnvsd_compact; }
2939             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2940           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2941           }
2942         }
2943       case 1981 :
2944         {
2945           unsigned int val = (((insn >> 7) & (1 << 0)));
2946           switch (val)
2947           {
2948           case 0 :
2949             if ((entire_insn & 0xf0ff) == 0xf03d)
2950               { itype = SH64_COMPACT_INSN_FTRC_COMPACT; goto extract_sfmt_ftrc_compact; }
2951             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2952           case 1 :
2953             if ((entire_insn & 0xf1ff) == 0xf0bd)
2954               { itype = SH64_COMPACT_INSN_FCNVDS_COMPACT; goto extract_sfmt_fcnvds_compact; }
2955             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2956           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2957           }
2958         }
2959       case 1997 :
2960         if ((entire_insn & 0xf0ff) == 0xf04d)
2961           { itype = SH64_COMPACT_INSN_FNEG_COMPACT; goto extract_sfmt_fabs_compact; }
2962         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2963       case 2013 :
2964         if ((entire_insn & 0xf0ff) == 0xf05d)
2965           { itype = SH64_COMPACT_INSN_FABS_COMPACT; goto extract_sfmt_fabs_compact; }
2966         itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2967       case 2029 :
2968         {
2969           unsigned int val = (((insn >> 7) & (1 << 0)));
2970           switch (val)
2971           {
2972           case 0 :
2973             if ((entire_insn & 0xf0ff) == 0xf06d)
2974               { itype = SH64_COMPACT_INSN_FSQRT_COMPACT; goto extract_sfmt_fabs_compact; }
2975             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2976           case 1 :
2977             if ((entire_insn & 0xf0ff) == 0xf0ed)
2978               { itype = SH64_COMPACT_INSN_FIPR_COMPACT; goto extract_sfmt_fipr_compact; }
2979             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2980           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2981           }
2982         }
2983       case 2045 :
2984         {
2985           unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
2986           switch (val)
2987           {
2988           case 0 : /* fall through */
2989           case 2 :
2990             if ((entire_insn & 0xf3ff) == 0xf1fd)
2991               { itype = SH64_COMPACT_INSN_FTRV_COMPACT; goto extract_sfmt_ftrv_compact; }
2992             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2993           case 1 :
2994             if ((entire_insn & 0xffff) == 0xf3fd)
2995               { itype = SH64_COMPACT_INSN_FSCHG_COMPACT; goto extract_sfmt_fschg_compact; }
2996             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2997           case 3 :
2998             if ((entire_insn & 0xffff) == 0xfbfd)
2999               { itype = SH64_COMPACT_INSN_FRCHG_COMPACT; goto extract_sfmt_frchg_compact; }
3000             itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
3001           default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
3002           }
3003         }
3004       default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
3005       }
3006     }
3007   }
3008
3009   /* The instruction has been decoded, now extract the fields.  */
3010
3011  extract_sfmt_empty:
3012   {
3013     const IDESC *idesc = &sh64_compact_insn_data[itype];
3014 #define FLD(f) abuf->fields.fmt_empty.f
3015
3016
3017   /* Record the fields for the semantic handler.  */
3018   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
3019
3020 #undef FLD
3021     return idesc;
3022   }
3023
3024  extract_sfmt_add_compact:
3025   {
3026     const IDESC *idesc = &sh64_compact_insn_data[itype];
3027     CGEN_INSN_INT insn = entire_insn;
3028 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3029     UINT f_rn;
3030     UINT f_rm;
3031
3032     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3033     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3034
3035   /* Record the fields for the semantic handler.  */
3036   FLD (f_rm) = f_rm;
3037   FLD (f_rn) = f_rn;
3038   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3039
3040 #if WITH_PROFILE_MODEL_P
3041   /* Record the fields for profiling.  */
3042   if (PROFILE_MODEL_P (current_cpu))
3043     {
3044       FLD (in_rm) = f_rm;
3045       FLD (in_rn) = f_rn;
3046       FLD (out_rn) = f_rn;
3047     }
3048 #endif
3049 #undef FLD
3050     return idesc;
3051   }
3052
3053  extract_sfmt_addi_compact:
3054   {
3055     const IDESC *idesc = &sh64_compact_insn_data[itype];
3056     CGEN_INSN_INT insn = entire_insn;
3057 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3058     UINT f_rn;
3059     UINT f_imm8;
3060
3061     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3062     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3063
3064   /* Record the fields for the semantic handler.  */
3065   FLD (f_imm8) = f_imm8;
3066   FLD (f_rn) = f_rn;
3067   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3068
3069 #if WITH_PROFILE_MODEL_P
3070   /* Record the fields for profiling.  */
3071   if (PROFILE_MODEL_P (current_cpu))
3072     {
3073       FLD (in_rn) = f_rn;
3074       FLD (out_rn) = f_rn;
3075     }
3076 #endif
3077 #undef FLD
3078     return idesc;
3079   }
3080
3081  extract_sfmt_addc_compact:
3082   {
3083     const IDESC *idesc = &sh64_compact_insn_data[itype];
3084     CGEN_INSN_INT insn = entire_insn;
3085 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3086     UINT f_rn;
3087     UINT f_rm;
3088
3089     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3090     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3091
3092   /* Record the fields for the semantic handler.  */
3093   FLD (f_rm) = f_rm;
3094   FLD (f_rn) = f_rn;
3095   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3096
3097 #if WITH_PROFILE_MODEL_P
3098   /* Record the fields for profiling.  */
3099   if (PROFILE_MODEL_P (current_cpu))
3100     {
3101       FLD (in_rm) = f_rm;
3102       FLD (in_rn) = f_rn;
3103       FLD (out_rn) = f_rn;
3104     }
3105 #endif
3106 #undef FLD
3107     return idesc;
3108   }
3109
3110  extract_sfmt_addv_compact:
3111   {
3112     const IDESC *idesc = &sh64_compact_insn_data[itype];
3113     CGEN_INSN_INT insn = entire_insn;
3114 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3115     UINT f_rn;
3116     UINT f_rm;
3117
3118     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3119     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3120
3121   /* Record the fields for the semantic handler.  */
3122   FLD (f_rm) = f_rm;
3123   FLD (f_rn) = f_rn;
3124   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3125
3126 #if WITH_PROFILE_MODEL_P
3127   /* Record the fields for profiling.  */
3128   if (PROFILE_MODEL_P (current_cpu))
3129     {
3130       FLD (in_rm) = f_rm;
3131       FLD (in_rn) = f_rn;
3132       FLD (out_rn) = f_rn;
3133     }
3134 #endif
3135 #undef FLD
3136     return idesc;
3137   }
3138
3139  extract_sfmt_and_compact:
3140   {
3141     const IDESC *idesc = &sh64_compact_insn_data[itype];
3142     CGEN_INSN_INT insn = entire_insn;
3143 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3144     UINT f_rn;
3145     UINT f_rm;
3146
3147     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3148     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3149
3150   /* Record the fields for the semantic handler.  */
3151   FLD (f_rm) = f_rm;
3152   FLD (f_rn) = f_rn;
3153   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3154
3155 #if WITH_PROFILE_MODEL_P
3156   /* Record the fields for profiling.  */
3157   if (PROFILE_MODEL_P (current_cpu))
3158     {
3159       FLD (in_rm64) = f_rm;
3160       FLD (in_rn64) = f_rn;
3161       FLD (out_rn64) = f_rn;
3162     }
3163 #endif
3164 #undef FLD
3165     return idesc;
3166   }
3167
3168  extract_sfmt_andi_compact:
3169   {
3170     const IDESC *idesc = &sh64_compact_insn_data[itype];
3171     CGEN_INSN_INT insn = entire_insn;
3172 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3173     UINT f_imm8;
3174
3175     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3176
3177   /* Record the fields for the semantic handler.  */
3178   FLD (f_imm8) = f_imm8;
3179   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
3180
3181 #if WITH_PROFILE_MODEL_P
3182   /* Record the fields for profiling.  */
3183   if (PROFILE_MODEL_P (current_cpu))
3184     {
3185       FLD (in_r0) = 0;
3186       FLD (out_r0) = 0;
3187     }
3188 #endif
3189 #undef FLD
3190     return idesc;
3191   }
3192
3193  extract_sfmt_andb_compact:
3194   {
3195     const IDESC *idesc = &sh64_compact_insn_data[itype];
3196     CGEN_INSN_INT insn = entire_insn;
3197 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3198     UINT f_imm8;
3199
3200     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3201
3202   /* Record the fields for the semantic handler.  */
3203   FLD (f_imm8) = f_imm8;
3204   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
3205
3206 #if WITH_PROFILE_MODEL_P
3207   /* Record the fields for profiling.  */
3208   if (PROFILE_MODEL_P (current_cpu))
3209     {
3210       FLD (in_r0) = 0;
3211     }
3212 #endif
3213 #undef FLD
3214     return idesc;
3215   }
3216
3217  extract_sfmt_bf_compact:
3218   {
3219     const IDESC *idesc = &sh64_compact_insn_data[itype];
3220     CGEN_INSN_INT insn = entire_insn;
3221 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3222     SI f_disp8;
3223
3224     f_disp8 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3225
3226   /* Record the fields for the semantic handler.  */
3227   FLD (i_disp8) = f_disp8;
3228   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
3229
3230 #if WITH_PROFILE_MODEL_P
3231   /* Record the fields for profiling.  */
3232   if (PROFILE_MODEL_P (current_cpu))
3233     {
3234     }
3235 #endif
3236 #undef FLD
3237     return idesc;
3238   }
3239
3240  extract_sfmt_bfs_compact:
3241   {
3242     const IDESC *idesc = &sh64_compact_insn_data[itype];
3243     CGEN_INSN_INT insn = entire_insn;
3244 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3245     SI f_disp8;
3246
3247     f_disp8 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3248
3249   /* Record the fields for the semantic handler.  */
3250   FLD (i_disp8) = f_disp8;
3251   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bfs_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
3252
3253 #if WITH_PROFILE_MODEL_P
3254   /* Record the fields for profiling.  */
3255   if (PROFILE_MODEL_P (current_cpu))
3256     {
3257     }
3258 #endif
3259 #undef FLD
3260     return idesc;
3261   }
3262
3263  extract_sfmt_bra_compact:
3264   {
3265     const IDESC *idesc = &sh64_compact_insn_data[itype];
3266     CGEN_INSN_INT insn = entire_insn;
3267 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3268     SI f_disp12;
3269
3270     f_disp12 = ((((EXTRACT_MSB0_INT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3271
3272   /* Record the fields for the semantic handler.  */
3273   FLD (i_disp12) = f_disp12;
3274   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
3275
3276 #if WITH_PROFILE_MODEL_P
3277   /* Record the fields for profiling.  */
3278   if (PROFILE_MODEL_P (current_cpu))
3279     {
3280     }
3281 #endif
3282 #undef FLD
3283     return idesc;
3284   }
3285
3286  extract_sfmt_braf_compact:
3287   {
3288     const IDESC *idesc = &sh64_compact_insn_data[itype];
3289     CGEN_INSN_INT insn = entire_insn;
3290 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3291     UINT f_rn;
3292
3293     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3294
3295   /* Record the fields for the semantic handler.  */
3296   FLD (f_rn) = f_rn;
3297   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3298
3299 #if WITH_PROFILE_MODEL_P
3300   /* Record the fields for profiling.  */
3301   if (PROFILE_MODEL_P (current_cpu))
3302     {
3303       FLD (in_rn) = f_rn;
3304     }
3305 #endif
3306 #undef FLD
3307     return idesc;
3308   }
3309
3310  extract_sfmt_brk_compact:
3311   {
3312     const IDESC *idesc = &sh64_compact_insn_data[itype];
3313 #define FLD(f) abuf->fields.fmt_empty.f
3314
3315
3316   /* Record the fields for the semantic handler.  */
3317   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
3318
3319 #if WITH_PROFILE_MODEL_P
3320   /* Record the fields for profiling.  */
3321   if (PROFILE_MODEL_P (current_cpu))
3322     {
3323     }
3324 #endif
3325 #undef FLD
3326     return idesc;
3327   }
3328
3329  extract_sfmt_bsr_compact:
3330   {
3331     const IDESC *idesc = &sh64_compact_insn_data[itype];
3332     CGEN_INSN_INT insn = entire_insn;
3333 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3334     SI f_disp12;
3335
3336     f_disp12 = ((((EXTRACT_MSB0_INT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3337
3338   /* Record the fields for the semantic handler.  */
3339   FLD (i_disp12) = f_disp12;
3340   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
3341
3342 #if WITH_PROFILE_MODEL_P
3343   /* Record the fields for profiling.  */
3344   if (PROFILE_MODEL_P (current_cpu))
3345     {
3346     }
3347 #endif
3348 #undef FLD
3349     return idesc;
3350   }
3351
3352  extract_sfmt_bsrf_compact:
3353   {
3354     const IDESC *idesc = &sh64_compact_insn_data[itype];
3355     CGEN_INSN_INT insn = entire_insn;
3356 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3357     UINT f_rn;
3358
3359     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3360
3361   /* Record the fields for the semantic handler.  */
3362   FLD (f_rn) = f_rn;
3363   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3364
3365 #if WITH_PROFILE_MODEL_P
3366   /* Record the fields for profiling.  */
3367   if (PROFILE_MODEL_P (current_cpu))
3368     {
3369       FLD (in_rn) = f_rn;
3370     }
3371 #endif
3372 #undef FLD
3373     return idesc;
3374   }
3375
3376  extract_sfmt_clrmac_compact:
3377   {
3378     const IDESC *idesc = &sh64_compact_insn_data[itype];
3379 #define FLD(f) abuf->fields.fmt_empty.f
3380
3381
3382   /* Record the fields for the semantic handler.  */
3383   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrmac_compact", (char *) 0));
3384
3385 #undef FLD
3386     return idesc;
3387   }
3388
3389  extract_sfmt_clrs_compact:
3390   {
3391     const IDESC *idesc = &sh64_compact_insn_data[itype];
3392 #define FLD(f) abuf->fields.fmt_empty.f
3393
3394
3395   /* Record the fields for the semantic handler.  */
3396   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrs_compact", (char *) 0));
3397
3398 #undef FLD
3399     return idesc;
3400   }
3401
3402  extract_sfmt_clrt_compact:
3403   {
3404     const IDESC *idesc = &sh64_compact_insn_data[itype];
3405 #define FLD(f) abuf->fields.fmt_empty.f
3406
3407
3408   /* Record the fields for the semantic handler.  */
3409   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrt_compact", (char *) 0));
3410
3411 #undef FLD
3412     return idesc;
3413   }
3414
3415  extract_sfmt_cmpeq_compact:
3416   {
3417     const IDESC *idesc = &sh64_compact_insn_data[itype];
3418     CGEN_INSN_INT insn = entire_insn;
3419 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3420     UINT f_rn;
3421     UINT f_rm;
3422
3423     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3424     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3425
3426   /* Record the fields for the semantic handler.  */
3427   FLD (f_rm) = f_rm;
3428   FLD (f_rn) = f_rn;
3429   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3430
3431 #if WITH_PROFILE_MODEL_P
3432   /* Record the fields for profiling.  */
3433   if (PROFILE_MODEL_P (current_cpu))
3434     {
3435       FLD (in_rm) = f_rm;
3436       FLD (in_rn) = f_rn;
3437     }
3438 #endif
3439 #undef FLD
3440     return idesc;
3441   }
3442
3443  extract_sfmt_cmpeqi_compact:
3444   {
3445     const IDESC *idesc = &sh64_compact_insn_data[itype];
3446     CGEN_INSN_INT insn = entire_insn;
3447 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3448     UINT f_imm8;
3449
3450     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3451
3452   /* Record the fields for the semantic handler.  */
3453   FLD (f_imm8) = f_imm8;
3454   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
3455
3456 #if WITH_PROFILE_MODEL_P
3457   /* Record the fields for profiling.  */
3458   if (PROFILE_MODEL_P (current_cpu))
3459     {
3460       FLD (in_r0) = 0;
3461     }
3462 #endif
3463 #undef FLD
3464     return idesc;
3465   }
3466
3467  extract_sfmt_cmppl_compact:
3468   {
3469     const IDESC *idesc = &sh64_compact_insn_data[itype];
3470     CGEN_INSN_INT insn = entire_insn;
3471 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3472     UINT f_rn;
3473
3474     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3475
3476   /* Record the fields for the semantic handler.  */
3477   FLD (f_rn) = f_rn;
3478   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3479
3480 #if WITH_PROFILE_MODEL_P
3481   /* Record the fields for profiling.  */
3482   if (PROFILE_MODEL_P (current_cpu))
3483     {
3484       FLD (in_rn) = f_rn;
3485     }
3486 #endif
3487 #undef FLD
3488     return idesc;
3489   }
3490
3491  extract_sfmt_div0s_compact:
3492   {
3493     const IDESC *idesc = &sh64_compact_insn_data[itype];
3494     CGEN_INSN_INT insn = entire_insn;
3495 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3496     UINT f_rn;
3497     UINT f_rm;
3498
3499     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3500     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3501
3502   /* Record the fields for the semantic handler.  */
3503   FLD (f_rm) = f_rm;
3504   FLD (f_rn) = f_rn;
3505   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3506
3507 #if WITH_PROFILE_MODEL_P
3508   /* Record the fields for profiling.  */
3509   if (PROFILE_MODEL_P (current_cpu))
3510     {
3511       FLD (in_rm) = f_rm;
3512       FLD (in_rn) = f_rn;
3513     }
3514 #endif
3515 #undef FLD
3516     return idesc;
3517   }
3518
3519  extract_sfmt_div0u_compact:
3520   {
3521     const IDESC *idesc = &sh64_compact_insn_data[itype];
3522 #define FLD(f) abuf->fields.fmt_empty.f
3523
3524
3525   /* Record the fields for the semantic handler.  */
3526   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u_compact", (char *) 0));
3527
3528 #undef FLD
3529     return idesc;
3530   }
3531
3532  extract_sfmt_div1_compact:
3533   {
3534     const IDESC *idesc = &sh64_compact_insn_data[itype];
3535     CGEN_INSN_INT insn = entire_insn;
3536 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3537     UINT f_rn;
3538     UINT f_rm;
3539
3540     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3541     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3542
3543   /* Record the fields for the semantic handler.  */
3544   FLD (f_rm) = f_rm;
3545   FLD (f_rn) = f_rn;
3546   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3547
3548 #if WITH_PROFILE_MODEL_P
3549   /* Record the fields for profiling.  */
3550   if (PROFILE_MODEL_P (current_cpu))
3551     {
3552       FLD (in_rm) = f_rm;
3553       FLD (in_rn) = f_rn;
3554       FLD (out_rn) = f_rn;
3555     }
3556 #endif
3557 #undef FLD
3558     return idesc;
3559   }
3560
3561  extract_sfmt_divu_compact:
3562   {
3563     const IDESC *idesc = &sh64_compact_insn_data[itype];
3564     CGEN_INSN_INT insn = entire_insn;
3565 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3566     UINT f_rn;
3567
3568     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3569
3570   /* Record the fields for the semantic handler.  */
3571   FLD (f_rn) = f_rn;
3572   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3573
3574 #if WITH_PROFILE_MODEL_P
3575   /* Record the fields for profiling.  */
3576   if (PROFILE_MODEL_P (current_cpu))
3577     {
3578       FLD (in_r0) = 0;
3579       FLD (in_rn) = f_rn;
3580       FLD (out_rn) = f_rn;
3581     }
3582 #endif
3583 #undef FLD
3584     return idesc;
3585   }
3586
3587  extract_sfmt_dmulsl_compact:
3588   {
3589     const IDESC *idesc = &sh64_compact_insn_data[itype];
3590     CGEN_INSN_INT insn = entire_insn;
3591 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3592     UINT f_rn;
3593     UINT f_rm;
3594
3595     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3596     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3597
3598   /* Record the fields for the semantic handler.  */
3599   FLD (f_rm) = f_rm;
3600   FLD (f_rn) = f_rn;
3601   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3602
3603 #if WITH_PROFILE_MODEL_P
3604   /* Record the fields for profiling.  */
3605   if (PROFILE_MODEL_P (current_cpu))
3606     {
3607       FLD (in_rm) = f_rm;
3608       FLD (in_rn) = f_rn;
3609     }
3610 #endif
3611 #undef FLD
3612     return idesc;
3613   }
3614
3615  extract_sfmt_dt_compact:
3616   {
3617     const IDESC *idesc = &sh64_compact_insn_data[itype];
3618     CGEN_INSN_INT insn = entire_insn;
3619 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3620     UINT f_rn;
3621
3622     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3623
3624   /* Record the fields for the semantic handler.  */
3625   FLD (f_rn) = f_rn;
3626   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3627
3628 #if WITH_PROFILE_MODEL_P
3629   /* Record the fields for profiling.  */
3630   if (PROFILE_MODEL_P (current_cpu))
3631     {
3632       FLD (in_rn) = f_rn;
3633       FLD (out_rn) = f_rn;
3634     }
3635 #endif
3636 #undef FLD
3637     return idesc;
3638   }
3639
3640  extract_sfmt_extsb_compact:
3641   {
3642     const IDESC *idesc = &sh64_compact_insn_data[itype];
3643     CGEN_INSN_INT insn = entire_insn;
3644 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3645     UINT f_rn;
3646     UINT f_rm;
3647
3648     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3649     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3650
3651   /* Record the fields for the semantic handler.  */
3652   FLD (f_rm) = f_rm;
3653   FLD (f_rn) = f_rn;
3654   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3655
3656 #if WITH_PROFILE_MODEL_P
3657   /* Record the fields for profiling.  */
3658   if (PROFILE_MODEL_P (current_cpu))
3659     {
3660       FLD (in_rm) = f_rm;
3661       FLD (out_rn) = f_rn;
3662     }
3663 #endif
3664 #undef FLD
3665     return idesc;
3666   }
3667
3668  extract_sfmt_fabs_compact:
3669   {
3670     const IDESC *idesc = &sh64_compact_insn_data[itype];
3671     CGEN_INSN_INT insn = entire_insn;
3672 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3673     UINT f_rn;
3674
3675     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3676
3677   /* Record the fields for the semantic handler.  */
3678   FLD (f_rn) = f_rn;
3679   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3680
3681 #if WITH_PROFILE_MODEL_P
3682   /* Record the fields for profiling.  */
3683   if (PROFILE_MODEL_P (current_cpu))
3684     {
3685       FLD (in_fsdn) = f_rn;
3686       FLD (out_fsdn) = f_rn;
3687     }
3688 #endif
3689 #undef FLD
3690     return idesc;
3691   }
3692
3693  extract_sfmt_fadd_compact:
3694   {
3695     const IDESC *idesc = &sh64_compact_insn_data[itype];
3696     CGEN_INSN_INT insn = entire_insn;
3697 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3698     UINT f_rn;
3699     UINT f_rm;
3700
3701     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3702     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3703
3704   /* Record the fields for the semantic handler.  */
3705   FLD (f_rm) = f_rm;
3706   FLD (f_rn) = f_rn;
3707   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3708
3709 #if WITH_PROFILE_MODEL_P
3710   /* Record the fields for profiling.  */
3711   if (PROFILE_MODEL_P (current_cpu))
3712     {
3713       FLD (in_fsdm) = f_rm;
3714       FLD (in_fsdn) = f_rn;
3715       FLD (out_fsdn) = f_rn;
3716     }
3717 #endif
3718 #undef FLD
3719     return idesc;
3720   }
3721
3722  extract_sfmt_fcmpeq_compact:
3723   {
3724     const IDESC *idesc = &sh64_compact_insn_data[itype];
3725     CGEN_INSN_INT insn = entire_insn;
3726 #define FLD(f) abuf->fields.sfmt_movl12_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   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3737
3738 #if WITH_PROFILE_MODEL_P
3739   /* Record the fields for profiling.  */
3740   if (PROFILE_MODEL_P (current_cpu))
3741     {
3742       FLD (in_fsdm) = f_rm;
3743       FLD (in_fsdn) = f_rn;
3744     }
3745 #endif
3746 #undef FLD
3747     return idesc;
3748   }
3749
3750  extract_sfmt_fcnvds_compact:
3751   {
3752     const IDESC *idesc = &sh64_compact_insn_data[itype];
3753     CGEN_INSN_INT insn = entire_insn;
3754 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3755     SI f_dn;
3756
3757     f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
3758
3759   /* Record the fields for the semantic handler.  */
3760   FLD (f_dn) = f_dn;
3761   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
3762
3763 #if WITH_PROFILE_MODEL_P
3764   /* Record the fields for profiling.  */
3765   if (PROFILE_MODEL_P (current_cpu))
3766     {
3767       FLD (in_drn) = f_dn;
3768       FLD (out_fpul) = 32;
3769     }
3770 #endif
3771 #undef FLD
3772     return idesc;
3773   }
3774
3775  extract_sfmt_fcnvsd_compact:
3776   {
3777     const IDESC *idesc = &sh64_compact_insn_data[itype];
3778     CGEN_INSN_INT insn = entire_insn;
3779 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3780     SI f_dn;
3781
3782     f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
3783
3784   /* Record the fields for the semantic handler.  */
3785   FLD (f_dn) = f_dn;
3786   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
3787
3788 #if WITH_PROFILE_MODEL_P
3789   /* Record the fields for profiling.  */
3790   if (PROFILE_MODEL_P (current_cpu))
3791     {
3792       FLD (in_fpul) = 32;
3793       FLD (out_drn) = f_dn;
3794     }
3795 #endif
3796 #undef FLD
3797     return idesc;
3798   }
3799
3800  extract_sfmt_fipr_compact:
3801   {
3802     const IDESC *idesc = &sh64_compact_insn_data[itype];
3803     CGEN_INSN_INT insn = entire_insn;
3804 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
3805     SI f_vn;
3806     SI f_vm;
3807
3808     f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
3809     f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2));
3810
3811   /* Record the fields for the semantic handler.  */
3812   FLD (f_vm) = f_vm;
3813   FLD (f_vn) = f_vn;
3814   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm, "f_vn 0x%x", 'x', f_vn, (char *) 0));
3815
3816 #undef FLD
3817     return idesc;
3818   }
3819
3820  extract_sfmt_flds_compact:
3821   {
3822     const IDESC *idesc = &sh64_compact_insn_data[itype];
3823     CGEN_INSN_INT insn = entire_insn;
3824 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3825     UINT f_rn;
3826
3827     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3828
3829   /* Record the fields for the semantic handler.  */
3830   FLD (f_rn) = f_rn;
3831   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3832
3833 #if WITH_PROFILE_MODEL_P
3834   /* Record the fields for profiling.  */
3835   if (PROFILE_MODEL_P (current_cpu))
3836     {
3837       FLD (in_frn) = f_rn;
3838       FLD (out_fpul) = 32;
3839     }
3840 #endif
3841 #undef FLD
3842     return idesc;
3843   }
3844
3845  extract_sfmt_fldi0_compact:
3846   {
3847     const IDESC *idesc = &sh64_compact_insn_data[itype];
3848     CGEN_INSN_INT insn = entire_insn;
3849 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3850     UINT f_rn;
3851
3852     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3853
3854   /* Record the fields for the semantic handler.  */
3855   FLD (f_rn) = f_rn;
3856   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3857
3858 #if WITH_PROFILE_MODEL_P
3859   /* Record the fields for profiling.  */
3860   if (PROFILE_MODEL_P (current_cpu))
3861     {
3862       FLD (out_frn) = f_rn;
3863     }
3864 #endif
3865 #undef FLD
3866     return idesc;
3867   }
3868
3869  extract_sfmt_float_compact:
3870   {
3871     const IDESC *idesc = &sh64_compact_insn_data[itype];
3872     CGEN_INSN_INT insn = entire_insn;
3873 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3874     UINT f_rn;
3875
3876     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3877
3878   /* Record the fields for the semantic handler.  */
3879   FLD (f_rn) = f_rn;
3880   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3881
3882 #if WITH_PROFILE_MODEL_P
3883   /* Record the fields for profiling.  */
3884   if (PROFILE_MODEL_P (current_cpu))
3885     {
3886       FLD (in_fpul) = 32;
3887       FLD (out_fsdn) = f_rn;
3888     }
3889 #endif
3890 #undef FLD
3891     return idesc;
3892   }
3893
3894  extract_sfmt_fmac_compact:
3895   {
3896     const IDESC *idesc = &sh64_compact_insn_data[itype];
3897     CGEN_INSN_INT insn = entire_insn;
3898 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3899     UINT f_rn;
3900     UINT f_rm;
3901
3902     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3903     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3904
3905   /* Record the fields for the semantic handler.  */
3906   FLD (f_rm) = f_rm;
3907   FLD (f_rn) = f_rn;
3908   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3909
3910 #if WITH_PROFILE_MODEL_P
3911   /* Record the fields for profiling.  */
3912   if (PROFILE_MODEL_P (current_cpu))
3913     {
3914       FLD (in_fr0) = 0;
3915       FLD (in_frm) = f_rm;
3916       FLD (in_frn) = f_rn;
3917       FLD (out_frn) = f_rn;
3918     }
3919 #endif
3920 #undef FLD
3921     return idesc;
3922   }
3923
3924  extract_sfmt_fmov1_compact:
3925   {
3926     const IDESC *idesc = &sh64_compact_insn_data[itype];
3927     CGEN_INSN_INT insn = entire_insn;
3928 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3929     UINT f_rn;
3930     UINT f_rm;
3931
3932     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3933     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3934
3935   /* Record the fields for the semantic handler.  */
3936   FLD (f_rm) = f_rm;
3937   FLD (f_rn) = f_rn;
3938   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3939
3940 #if WITH_PROFILE_MODEL_P
3941   /* Record the fields for profiling.  */
3942   if (PROFILE_MODEL_P (current_cpu))
3943     {
3944       FLD (in_fmovm) = f_rm;
3945       FLD (out_fmovn) = f_rn;
3946     }
3947 #endif
3948 #undef FLD
3949     return idesc;
3950   }
3951
3952  extract_sfmt_fmov2_compact:
3953   {
3954     const IDESC *idesc = &sh64_compact_insn_data[itype];
3955     CGEN_INSN_INT insn = entire_insn;
3956 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3957     UINT f_rn;
3958     UINT f_rm;
3959
3960     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3961     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3962
3963   /* Record the fields for the semantic handler.  */
3964   FLD (f_rm) = f_rm;
3965   FLD (f_rn) = f_rn;
3966   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3967
3968 #if WITH_PROFILE_MODEL_P
3969   /* Record the fields for profiling.  */
3970   if (PROFILE_MODEL_P (current_cpu))
3971     {
3972       FLD (in_rm) = f_rm;
3973       FLD (out_fmovn) = f_rn;
3974     }
3975 #endif
3976 #undef FLD
3977     return idesc;
3978   }
3979
3980  extract_sfmt_fmov3_compact:
3981   {
3982     const IDESC *idesc = &sh64_compact_insn_data[itype];
3983     CGEN_INSN_INT insn = entire_insn;
3984 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3985     UINT f_rn;
3986     UINT f_rm;
3987
3988     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3989     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3990
3991   /* Record the fields for the semantic handler.  */
3992   FLD (f_rm) = f_rm;
3993   FLD (f_rn) = f_rn;
3994   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3995
3996 #if WITH_PROFILE_MODEL_P
3997   /* Record the fields for profiling.  */
3998   if (PROFILE_MODEL_P (current_cpu))
3999     {
4000       FLD (in_rm) = f_rm;
4001       FLD (out_fmovn) = f_rn;
4002       FLD (out_rm) = f_rm;
4003     }
4004 #endif
4005 #undef FLD
4006     return idesc;
4007   }
4008
4009  extract_sfmt_fmov4_compact:
4010   {
4011     const IDESC *idesc = &sh64_compact_insn_data[itype];
4012     CGEN_INSN_INT insn = entire_insn;
4013 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4014     UINT f_rn;
4015     UINT f_rm;
4016
4017     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4018     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4019
4020   /* Record the fields for the semantic handler.  */
4021   FLD (f_rm) = f_rm;
4022   FLD (f_rn) = f_rn;
4023   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov4_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4024
4025 #if WITH_PROFILE_MODEL_P
4026   /* Record the fields for profiling.  */
4027   if (PROFILE_MODEL_P (current_cpu))
4028     {
4029       FLD (in_r0) = 0;
4030       FLD (in_rm) = f_rm;
4031       FLD (out_fmovn) = f_rn;
4032     }
4033 #endif
4034 #undef FLD
4035     return idesc;
4036   }
4037
4038  extract_sfmt_fmov5_compact:
4039   {
4040     const IDESC *idesc = &sh64_compact_insn_data[itype];
4041     CGEN_INSN_INT insn = entire_insn;
4042 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4043     UINT f_rn;
4044     UINT f_rm;
4045
4046     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4047     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4048
4049   /* Record the fields for the semantic handler.  */
4050   FLD (f_rm) = f_rm;
4051   FLD (f_rn) = f_rn;
4052   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4053
4054 #if WITH_PROFILE_MODEL_P
4055   /* Record the fields for profiling.  */
4056   if (PROFILE_MODEL_P (current_cpu))
4057     {
4058       FLD (in_fmovm) = f_rm;
4059       FLD (in_rn) = f_rn;
4060     }
4061 #endif
4062 #undef FLD
4063     return idesc;
4064   }
4065
4066  extract_sfmt_fmov6_compact:
4067   {
4068     const IDESC *idesc = &sh64_compact_insn_data[itype];
4069     CGEN_INSN_INT insn = entire_insn;
4070 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4071     UINT f_rn;
4072     UINT f_rm;
4073
4074     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4075     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4076
4077   /* Record the fields for the semantic handler.  */
4078   FLD (f_rm) = f_rm;
4079   FLD (f_rn) = f_rn;
4080   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4081
4082 #if WITH_PROFILE_MODEL_P
4083   /* Record the fields for profiling.  */
4084   if (PROFILE_MODEL_P (current_cpu))
4085     {
4086       FLD (in_fmovm) = f_rm;
4087       FLD (in_rn) = f_rn;
4088       FLD (out_rn) = f_rn;
4089     }
4090 #endif
4091 #undef FLD
4092     return idesc;
4093   }
4094
4095  extract_sfmt_fmov7_compact:
4096   {
4097     const IDESC *idesc = &sh64_compact_insn_data[itype];
4098     CGEN_INSN_INT insn = entire_insn;
4099 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4100     UINT f_rn;
4101     UINT f_rm;
4102
4103     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4104     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4105
4106   /* Record the fields for the semantic handler.  */
4107   FLD (f_rm) = f_rm;
4108   FLD (f_rn) = f_rn;
4109   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4110
4111 #if WITH_PROFILE_MODEL_P
4112   /* Record the fields for profiling.  */
4113   if (PROFILE_MODEL_P (current_cpu))
4114     {
4115       FLD (in_fmovm) = f_rm;
4116       FLD (in_r0) = 0;
4117       FLD (in_rn) = f_rn;
4118     }
4119 #endif
4120 #undef FLD
4121     return idesc;
4122   }
4123
4124  extract_sfmt_fmov8_compact:
4125   {
4126     const IDESC *idesc = &sh64_compact_insn_data[itype];
4127     CGEN_INSN_INT insn = entire_insn;
4128 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
4129     SI f_dn;
4130     UINT f_rm;
4131     SI f_imm12x8;
4132
4133     f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1));
4134     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4135     f_imm12x8 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (3));
4136
4137   /* Record the fields for the semantic handler.  */
4138   FLD (f_imm12x8) = f_imm12x8;
4139   FLD (f_rm) = f_rm;
4140   FLD (f_dn) = f_dn;
4141   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov8_compact", "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rm 0x%x", 'x', f_rm, "f_dn 0x%x", 'x', f_dn, (char *) 0));
4142
4143 #if WITH_PROFILE_MODEL_P
4144   /* Record the fields for profiling.  */
4145   if (PROFILE_MODEL_P (current_cpu))
4146     {
4147       FLD (in_rm) = f_rm;
4148       FLD (out_drn) = f_dn;
4149     }
4150 #endif
4151 #undef FLD
4152     return idesc;
4153   }
4154
4155  extract_sfmt_fmov9_compact:
4156   {
4157     const IDESC *idesc = &sh64_compact_insn_data[itype];
4158     CGEN_INSN_INT insn = entire_insn;
4159 #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
4160     UINT f_rn;
4161     SI f_dm;
4162     SI f_imm12x8;
4163
4164     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4165     f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1));
4166     f_imm12x8 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (3));
4167
4168   /* Record the fields for the semantic handler.  */
4169   FLD (f_dm) = f_dm;
4170   FLD (f_imm12x8) = f_imm12x8;
4171   FLD (f_rn) = f_rn;
4172   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov9_compact", "f_dm 0x%x", 'x', f_dm, "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4173
4174 #if WITH_PROFILE_MODEL_P
4175   /* Record the fields for profiling.  */
4176   if (PROFILE_MODEL_P (current_cpu))
4177     {
4178       FLD (in_drm) = f_dm;
4179       FLD (in_rn) = f_rn;
4180     }
4181 #endif
4182 #undef FLD
4183     return idesc;
4184   }
4185
4186  extract_sfmt_frchg_compact:
4187   {
4188     const IDESC *idesc = &sh64_compact_insn_data[itype];
4189 #define FLD(f) abuf->fields.fmt_empty.f
4190
4191
4192   /* Record the fields for the semantic handler.  */
4193   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_frchg_compact", (char *) 0));
4194
4195 #undef FLD
4196     return idesc;
4197   }
4198
4199  extract_sfmt_fschg_compact:
4200   {
4201     const IDESC *idesc = &sh64_compact_insn_data[itype];
4202 #define FLD(f) abuf->fields.fmt_empty.f
4203
4204
4205   /* Record the fields for the semantic handler.  */
4206   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fschg_compact", (char *) 0));
4207
4208 #undef FLD
4209     return idesc;
4210   }
4211
4212  extract_sfmt_fsts_compact:
4213   {
4214     const IDESC *idesc = &sh64_compact_insn_data[itype];
4215     CGEN_INSN_INT insn = entire_insn;
4216 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4217     UINT f_rn;
4218
4219     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4220
4221   /* Record the fields for the semantic handler.  */
4222   FLD (f_rn) = f_rn;
4223   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4224
4225 #if WITH_PROFILE_MODEL_P
4226   /* Record the fields for profiling.  */
4227   if (PROFILE_MODEL_P (current_cpu))
4228     {
4229       FLD (in_fpul) = 32;
4230       FLD (out_frn) = f_rn;
4231     }
4232 #endif
4233 #undef FLD
4234     return idesc;
4235   }
4236
4237  extract_sfmt_ftrc_compact:
4238   {
4239     const IDESC *idesc = &sh64_compact_insn_data[itype];
4240     CGEN_INSN_INT insn = entire_insn;
4241 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4242     UINT f_rn;
4243
4244     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4245
4246   /* Record the fields for the semantic handler.  */
4247   FLD (f_rn) = f_rn;
4248   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4249
4250 #if WITH_PROFILE_MODEL_P
4251   /* Record the fields for profiling.  */
4252   if (PROFILE_MODEL_P (current_cpu))
4253     {
4254       FLD (in_fsdn) = f_rn;
4255       FLD (out_fpul) = 32;
4256     }
4257 #endif
4258 #undef FLD
4259     return idesc;
4260   }
4261
4262  extract_sfmt_ftrv_compact:
4263   {
4264     const IDESC *idesc = &sh64_compact_insn_data[itype];
4265     CGEN_INSN_INT insn = entire_insn;
4266 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
4267     SI f_vn;
4268
4269     f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
4270
4271   /* Record the fields for the semantic handler.  */
4272   FLD (f_vn) = f_vn;
4273   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn, (char *) 0));
4274
4275 #undef FLD
4276     return idesc;
4277   }
4278
4279  extract_sfmt_ldc_gbr_compact:
4280   {
4281     const IDESC *idesc = &sh64_compact_insn_data[itype];
4282     CGEN_INSN_INT insn = entire_insn;
4283 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4284     UINT f_rn;
4285
4286     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4287
4288   /* Record the fields for the semantic handler.  */
4289   FLD (f_rn) = f_rn;
4290   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4291
4292 #if WITH_PROFILE_MODEL_P
4293   /* Record the fields for profiling.  */
4294   if (PROFILE_MODEL_P (current_cpu))
4295     {
4296       FLD (in_rn) = f_rn;
4297     }
4298 #endif
4299 #undef FLD
4300     return idesc;
4301   }
4302
4303  extract_sfmt_ldc_vbr_compact:
4304   {
4305     const IDESC *idesc = &sh64_compact_insn_data[itype];
4306     CGEN_INSN_INT insn = entire_insn;
4307 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4308     UINT f_rn;
4309
4310     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4311
4312   /* Record the fields for the semantic handler.  */
4313   FLD (f_rn) = f_rn;
4314   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4315
4316 #if WITH_PROFILE_MODEL_P
4317   /* Record the fields for profiling.  */
4318   if (PROFILE_MODEL_P (current_cpu))
4319     {
4320       FLD (in_rn) = f_rn;
4321     }
4322 #endif
4323 #undef FLD
4324     return idesc;
4325   }
4326
4327  extract_sfmt_ldc_sr_compact:
4328   {
4329     const IDESC *idesc = &sh64_compact_insn_data[itype];
4330     CGEN_INSN_INT insn = entire_insn;
4331 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4332     UINT f_rn;
4333
4334     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4335
4336   /* Record the fields for the semantic handler.  */
4337   FLD (f_rn) = f_rn;
4338   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_sr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4339
4340 #if WITH_PROFILE_MODEL_P
4341   /* Record the fields for profiling.  */
4342   if (PROFILE_MODEL_P (current_cpu))
4343     {
4344       FLD (in_rn) = f_rn;
4345     }
4346 #endif
4347 #undef FLD
4348     return idesc;
4349   }
4350
4351  extract_sfmt_ldcl_gbr_compact:
4352   {
4353     const IDESC *idesc = &sh64_compact_insn_data[itype];
4354     CGEN_INSN_INT insn = entire_insn;
4355 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4356     UINT f_rn;
4357
4358     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4359
4360   /* Record the fields for the semantic handler.  */
4361   FLD (f_rn) = f_rn;
4362   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4363
4364 #if WITH_PROFILE_MODEL_P
4365   /* Record the fields for profiling.  */
4366   if (PROFILE_MODEL_P (current_cpu))
4367     {
4368       FLD (in_rn) = f_rn;
4369       FLD (out_rn) = f_rn;
4370     }
4371 #endif
4372 #undef FLD
4373     return idesc;
4374   }
4375
4376  extract_sfmt_ldcl_vbr_compact:
4377   {
4378     const IDESC *idesc = &sh64_compact_insn_data[itype];
4379     CGEN_INSN_INT insn = entire_insn;
4380 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4381     UINT f_rn;
4382
4383     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4384
4385   /* Record the fields for the semantic handler.  */
4386   FLD (f_rn) = f_rn;
4387   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4388
4389 #if WITH_PROFILE_MODEL_P
4390   /* Record the fields for profiling.  */
4391   if (PROFILE_MODEL_P (current_cpu))
4392     {
4393       FLD (in_rn) = f_rn;
4394       FLD (out_rn) = f_rn;
4395     }
4396 #endif
4397 #undef FLD
4398     return idesc;
4399   }
4400
4401  extract_sfmt_lds_fpscr_compact:
4402   {
4403     const IDESC *idesc = &sh64_compact_insn_data[itype];
4404     CGEN_INSN_INT insn = entire_insn;
4405 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4406     UINT f_rn;
4407
4408     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4409
4410   /* Record the fields for the semantic handler.  */
4411   FLD (f_rn) = f_rn;
4412   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4413
4414 #if WITH_PROFILE_MODEL_P
4415   /* Record the fields for profiling.  */
4416   if (PROFILE_MODEL_P (current_cpu))
4417     {
4418       FLD (in_rn) = f_rn;
4419     }
4420 #endif
4421 #undef FLD
4422     return idesc;
4423   }
4424
4425  extract_sfmt_ldsl_fpscr_compact:
4426   {
4427     const IDESC *idesc = &sh64_compact_insn_data[itype];
4428     CGEN_INSN_INT insn = entire_insn;
4429 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4430     UINT f_rn;
4431
4432     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4433
4434   /* Record the fields for the semantic handler.  */
4435   FLD (f_rn) = f_rn;
4436   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4437
4438 #if WITH_PROFILE_MODEL_P
4439   /* Record the fields for profiling.  */
4440   if (PROFILE_MODEL_P (current_cpu))
4441     {
4442       FLD (in_rn) = f_rn;
4443       FLD (out_rn) = f_rn;
4444     }
4445 #endif
4446 #undef FLD
4447     return idesc;
4448   }
4449
4450  extract_sfmt_lds_fpul_compact:
4451   {
4452     const IDESC *idesc = &sh64_compact_insn_data[itype];
4453     CGEN_INSN_INT insn = entire_insn;
4454 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4455     UINT f_rn;
4456
4457     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4458
4459   /* Record the fields for the semantic handler.  */
4460   FLD (f_rn) = f_rn;
4461   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4462
4463 #if WITH_PROFILE_MODEL_P
4464   /* Record the fields for profiling.  */
4465   if (PROFILE_MODEL_P (current_cpu))
4466     {
4467       FLD (in_rn) = f_rn;
4468       FLD (out_fpul) = 32;
4469     }
4470 #endif
4471 #undef FLD
4472     return idesc;
4473   }
4474
4475  extract_sfmt_ldsl_fpul_compact:
4476   {
4477     const IDESC *idesc = &sh64_compact_insn_data[itype];
4478     CGEN_INSN_INT insn = entire_insn;
4479 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4480     UINT f_rn;
4481
4482     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4483
4484   /* Record the fields for the semantic handler.  */
4485   FLD (f_rn) = f_rn;
4486   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4487
4488 #if WITH_PROFILE_MODEL_P
4489   /* Record the fields for profiling.  */
4490   if (PROFILE_MODEL_P (current_cpu))
4491     {
4492       FLD (in_rn) = f_rn;
4493       FLD (out_fpul) = 32;
4494       FLD (out_rn) = f_rn;
4495     }
4496 #endif
4497 #undef FLD
4498     return idesc;
4499   }
4500
4501  extract_sfmt_lds_mach_compact:
4502   {
4503     const IDESC *idesc = &sh64_compact_insn_data[itype];
4504     CGEN_INSN_INT insn = entire_insn;
4505 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4506     UINT f_rn;
4507
4508     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4509
4510   /* Record the fields for the semantic handler.  */
4511   FLD (f_rn) = f_rn;
4512   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4513
4514 #if WITH_PROFILE_MODEL_P
4515   /* Record the fields for profiling.  */
4516   if (PROFILE_MODEL_P (current_cpu))
4517     {
4518       FLD (in_rn) = f_rn;
4519     }
4520 #endif
4521 #undef FLD
4522     return idesc;
4523   }
4524
4525  extract_sfmt_ldsl_mach_compact:
4526   {
4527     const IDESC *idesc = &sh64_compact_insn_data[itype];
4528     CGEN_INSN_INT insn = entire_insn;
4529 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4530     UINT f_rn;
4531
4532     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4533
4534   /* Record the fields for the semantic handler.  */
4535   FLD (f_rn) = f_rn;
4536   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4537
4538 #if WITH_PROFILE_MODEL_P
4539   /* Record the fields for profiling.  */
4540   if (PROFILE_MODEL_P (current_cpu))
4541     {
4542       FLD (in_rn) = f_rn;
4543       FLD (out_rn) = f_rn;
4544     }
4545 #endif
4546 #undef FLD
4547     return idesc;
4548   }
4549
4550  extract_sfmt_lds_macl_compact:
4551   {
4552     const IDESC *idesc = &sh64_compact_insn_data[itype];
4553     CGEN_INSN_INT insn = entire_insn;
4554 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4555     UINT f_rn;
4556
4557     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4558
4559   /* Record the fields for the semantic handler.  */
4560   FLD (f_rn) = f_rn;
4561   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4562
4563 #if WITH_PROFILE_MODEL_P
4564   /* Record the fields for profiling.  */
4565   if (PROFILE_MODEL_P (current_cpu))
4566     {
4567       FLD (in_rn) = f_rn;
4568     }
4569 #endif
4570 #undef FLD
4571     return idesc;
4572   }
4573
4574  extract_sfmt_ldsl_macl_compact:
4575   {
4576     const IDESC *idesc = &sh64_compact_insn_data[itype];
4577     CGEN_INSN_INT insn = entire_insn;
4578 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4579     UINT f_rn;
4580
4581     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4582
4583   /* Record the fields for the semantic handler.  */
4584   FLD (f_rn) = f_rn;
4585   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4586
4587 #if WITH_PROFILE_MODEL_P
4588   /* Record the fields for profiling.  */
4589   if (PROFILE_MODEL_P (current_cpu))
4590     {
4591       FLD (in_rn) = f_rn;
4592       FLD (out_rn) = f_rn;
4593     }
4594 #endif
4595 #undef FLD
4596     return idesc;
4597   }
4598
4599  extract_sfmt_lds_pr_compact:
4600   {
4601     const IDESC *idesc = &sh64_compact_insn_data[itype];
4602     CGEN_INSN_INT insn = entire_insn;
4603 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4604     UINT f_rn;
4605
4606     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4607
4608   /* Record the fields for the semantic handler.  */
4609   FLD (f_rn) = f_rn;
4610   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4611
4612 #if WITH_PROFILE_MODEL_P
4613   /* Record the fields for profiling.  */
4614   if (PROFILE_MODEL_P (current_cpu))
4615     {
4616       FLD (in_rn) = f_rn;
4617     }
4618 #endif
4619 #undef FLD
4620     return idesc;
4621   }
4622
4623  extract_sfmt_ldsl_pr_compact:
4624   {
4625     const IDESC *idesc = &sh64_compact_insn_data[itype];
4626     CGEN_INSN_INT insn = entire_insn;
4627 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4628     UINT f_rn;
4629
4630     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4631
4632   /* Record the fields for the semantic handler.  */
4633   FLD (f_rn) = f_rn;
4634   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4635
4636 #if WITH_PROFILE_MODEL_P
4637   /* Record the fields for profiling.  */
4638   if (PROFILE_MODEL_P (current_cpu))
4639     {
4640       FLD (in_rn) = f_rn;
4641       FLD (out_rn) = f_rn;
4642     }
4643 #endif
4644 #undef FLD
4645     return idesc;
4646   }
4647
4648  extract_sfmt_macl_compact:
4649   {
4650     const IDESC *idesc = &sh64_compact_insn_data[itype];
4651     CGEN_INSN_INT insn = entire_insn;
4652 #define FLD(f) abuf->fields.sfmt_movl12_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   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4663
4664 #if WITH_PROFILE_MODEL_P
4665   /* Record the fields for profiling.  */
4666   if (PROFILE_MODEL_P (current_cpu))
4667     {
4668       FLD (in_rm) = f_rm;
4669       FLD (in_rn) = f_rn;
4670       FLD (out_rm) = f_rm;
4671       FLD (out_rn) = f_rn;
4672     }
4673 #endif
4674 #undef FLD
4675     return idesc;
4676   }
4677
4678  extract_sfmt_macw_compact:
4679   {
4680     const IDESC *idesc = &sh64_compact_insn_data[itype];
4681     CGEN_INSN_INT insn = entire_insn;
4682 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4683     UINT f_rn;
4684     UINT f_rm;
4685
4686     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4687     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4688
4689   /* Record the fields for the semantic handler.  */
4690   FLD (f_rm) = f_rm;
4691   FLD (f_rn) = f_rn;
4692   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4693
4694 #if WITH_PROFILE_MODEL_P
4695   /* Record the fields for profiling.  */
4696   if (PROFILE_MODEL_P (current_cpu))
4697     {
4698       FLD (in_rm) = f_rm;
4699       FLD (in_rn) = f_rn;
4700       FLD (out_rm) = f_rm;
4701       FLD (out_rn) = f_rn;
4702     }
4703 #endif
4704 #undef FLD
4705     return idesc;
4706   }
4707
4708  extract_sfmt_mov_compact:
4709   {
4710     const IDESC *idesc = &sh64_compact_insn_data[itype];
4711     CGEN_INSN_INT insn = entire_insn;
4712 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4713     UINT f_rn;
4714     UINT f_rm;
4715
4716     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4717     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4718
4719   /* Record the fields for the semantic handler.  */
4720   FLD (f_rm) = f_rm;
4721   FLD (f_rn) = f_rn;
4722   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4723
4724 #if WITH_PROFILE_MODEL_P
4725   /* Record the fields for profiling.  */
4726   if (PROFILE_MODEL_P (current_cpu))
4727     {
4728       FLD (in_rm64) = f_rm;
4729       FLD (out_rn64) = f_rn;
4730     }
4731 #endif
4732 #undef FLD
4733     return idesc;
4734   }
4735
4736  extract_sfmt_movi_compact:
4737   {
4738     const IDESC *idesc = &sh64_compact_insn_data[itype];
4739     CGEN_INSN_INT insn = entire_insn;
4740 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4741     UINT f_rn;
4742     UINT f_imm8;
4743
4744     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4745     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4746
4747   /* Record the fields for the semantic handler.  */
4748   FLD (f_imm8) = f_imm8;
4749   FLD (f_rn) = f_rn;
4750   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4751
4752 #if WITH_PROFILE_MODEL_P
4753   /* Record the fields for profiling.  */
4754   if (PROFILE_MODEL_P (current_cpu))
4755     {
4756       FLD (out_rn) = f_rn;
4757     }
4758 #endif
4759 #undef FLD
4760     return idesc;
4761   }
4762
4763  extract_sfmt_movi20_compact:
4764   {
4765     const IDESC *idesc = &sh64_compact_insn_data[itype];
4766     CGEN_INSN_INT insn = entire_insn;
4767 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
4768     UINT f_rn;
4769     INT f_imm20_hi;
4770     UINT f_imm20_lo;
4771     INT f_imm20;
4772
4773     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4774     f_imm20_hi = EXTRACT_MSB0_INT (insn, 32, 8, 4);
4775     f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4776   f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));
4777
4778   /* Record the fields for the semantic handler.  */
4779   FLD (f_imm20) = f_imm20;
4780   FLD (f_rn) = f_rn;
4781   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi20_compact", "f_imm20 0x%x", 'x', f_imm20, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4782
4783 #if WITH_PROFILE_MODEL_P
4784   /* Record the fields for profiling.  */
4785   if (PROFILE_MODEL_P (current_cpu))
4786     {
4787       FLD (out_rn) = f_rn;
4788     }
4789 #endif
4790 #undef FLD
4791     return idesc;
4792   }
4793
4794  extract_sfmt_movb1_compact:
4795   {
4796     const IDESC *idesc = &sh64_compact_insn_data[itype];
4797     CGEN_INSN_INT insn = entire_insn;
4798 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4799     UINT f_rn;
4800     UINT f_rm;
4801
4802     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4803     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4804
4805   /* Record the fields for the semantic handler.  */
4806   FLD (f_rm) = f_rm;
4807   FLD (f_rn) = f_rn;
4808   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4809
4810 #if WITH_PROFILE_MODEL_P
4811   /* Record the fields for profiling.  */
4812   if (PROFILE_MODEL_P (current_cpu))
4813     {
4814       FLD (in_rm) = f_rm;
4815       FLD (in_rn) = f_rn;
4816     }
4817 #endif
4818 #undef FLD
4819     return idesc;
4820   }
4821
4822  extract_sfmt_movb2_compact:
4823   {
4824     const IDESC *idesc = &sh64_compact_insn_data[itype];
4825     CGEN_INSN_INT insn = entire_insn;
4826 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4827     UINT f_rn;
4828     UINT f_rm;
4829
4830     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4831     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4832
4833   /* Record the fields for the semantic handler.  */
4834   FLD (f_rm) = f_rm;
4835   FLD (f_rn) = f_rn;
4836   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4837
4838 #if WITH_PROFILE_MODEL_P
4839   /* Record the fields for profiling.  */
4840   if (PROFILE_MODEL_P (current_cpu))
4841     {
4842       FLD (in_rm) = f_rm;
4843       FLD (in_rn) = f_rn;
4844       FLD (out_rn) = f_rn;
4845     }
4846 #endif
4847 #undef FLD
4848     return idesc;
4849   }
4850
4851  extract_sfmt_movb3_compact:
4852   {
4853     const IDESC *idesc = &sh64_compact_insn_data[itype];
4854     CGEN_INSN_INT insn = entire_insn;
4855 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4856     UINT f_rn;
4857     UINT f_rm;
4858
4859     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4860     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4861
4862   /* Record the fields for the semantic handler.  */
4863   FLD (f_rm) = f_rm;
4864   FLD (f_rn) = f_rn;
4865   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4866
4867 #if WITH_PROFILE_MODEL_P
4868   /* Record the fields for profiling.  */
4869   if (PROFILE_MODEL_P (current_cpu))
4870     {
4871       FLD (in_r0) = 0;
4872       FLD (in_rm) = f_rm;
4873       FLD (in_rn) = f_rn;
4874     }
4875 #endif
4876 #undef FLD
4877     return idesc;
4878   }
4879
4880  extract_sfmt_movb4_compact:
4881   {
4882     const IDESC *idesc = &sh64_compact_insn_data[itype];
4883     CGEN_INSN_INT insn = entire_insn;
4884 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4885     UINT f_imm8;
4886
4887     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4888
4889   /* Record the fields for the semantic handler.  */
4890   FLD (f_imm8) = f_imm8;
4891   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
4892
4893 #if WITH_PROFILE_MODEL_P
4894   /* Record the fields for profiling.  */
4895   if (PROFILE_MODEL_P (current_cpu))
4896     {
4897       FLD (in_r0) = 0;
4898     }
4899 #endif
4900 #undef FLD
4901     return idesc;
4902   }
4903
4904  extract_sfmt_movb5_compact:
4905   {
4906     const IDESC *idesc = &sh64_compact_insn_data[itype];
4907     CGEN_INSN_INT insn = entire_insn;
4908 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4909     UINT f_rm;
4910     UINT f_imm4;
4911
4912     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4913     f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4914
4915   /* Record the fields for the semantic handler.  */
4916   FLD (f_imm4) = f_imm4;
4917   FLD (f_rm) = f_rm;
4918   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
4919
4920 #if WITH_PROFILE_MODEL_P
4921   /* Record the fields for profiling.  */
4922   if (PROFILE_MODEL_P (current_cpu))
4923     {
4924       FLD (in_r0) = 0;
4925       FLD (in_rm) = f_rm;
4926     }
4927 #endif
4928 #undef FLD
4929     return idesc;
4930   }
4931
4932  extract_sfmt_movb6_compact:
4933   {
4934     const IDESC *idesc = &sh64_compact_insn_data[itype];
4935     CGEN_INSN_INT insn = entire_insn;
4936 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4937     UINT f_rn;
4938     UINT f_rm;
4939
4940     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4941     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4942
4943   /* Record the fields for the semantic handler.  */
4944   FLD (f_rm) = f_rm;
4945   FLD (f_rn) = f_rn;
4946   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4947
4948 #if WITH_PROFILE_MODEL_P
4949   /* Record the fields for profiling.  */
4950   if (PROFILE_MODEL_P (current_cpu))
4951     {
4952       FLD (in_rm) = f_rm;
4953       FLD (out_rn) = f_rn;
4954     }
4955 #endif
4956 #undef FLD
4957     return idesc;
4958   }
4959
4960  extract_sfmt_movb7_compact:
4961   {
4962     const IDESC *idesc = &sh64_compact_insn_data[itype];
4963     CGEN_INSN_INT insn = entire_insn;
4964 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4965     UINT f_rn;
4966     UINT f_rm;
4967
4968     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4969     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4970
4971   /* Record the fields for the semantic handler.  */
4972   FLD (f_rm) = f_rm;
4973   FLD (f_rn) = f_rn;
4974   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4975
4976 #if WITH_PROFILE_MODEL_P
4977   /* Record the fields for profiling.  */
4978   if (PROFILE_MODEL_P (current_cpu))
4979     {
4980       FLD (in_rm) = f_rm;
4981       FLD (out_rm) = f_rm;
4982       FLD (out_rn) = f_rn;
4983     }
4984 #endif
4985 #undef FLD
4986     return idesc;
4987   }
4988
4989  extract_sfmt_movb8_compact:
4990   {
4991     const IDESC *idesc = &sh64_compact_insn_data[itype];
4992     CGEN_INSN_INT insn = entire_insn;
4993 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4994     UINT f_rn;
4995     UINT f_rm;
4996
4997     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4998     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4999
5000   /* Record the fields for the semantic handler.  */
5001   FLD (f_rm) = f_rm;
5002   FLD (f_rn) = f_rn;
5003   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5004
5005 #if WITH_PROFILE_MODEL_P
5006   /* Record the fields for profiling.  */
5007   if (PROFILE_MODEL_P (current_cpu))
5008     {
5009       FLD (in_r0) = 0;
5010       FLD (in_rm) = f_rm;
5011       FLD (out_rn) = f_rn;
5012     }
5013 #endif
5014 #undef FLD
5015     return idesc;
5016   }
5017
5018  extract_sfmt_movb9_compact:
5019   {
5020     const IDESC *idesc = &sh64_compact_insn_data[itype];
5021     CGEN_INSN_INT insn = entire_insn;
5022 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5023     UINT f_imm8;
5024
5025     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5026
5027   /* Record the fields for the semantic handler.  */
5028   FLD (f_imm8) = f_imm8;
5029   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
5030
5031 #if WITH_PROFILE_MODEL_P
5032   /* Record the fields for profiling.  */
5033   if (PROFILE_MODEL_P (current_cpu))
5034     {
5035       FLD (out_r0) = 0;
5036     }
5037 #endif
5038 #undef FLD
5039     return idesc;
5040   }
5041
5042  extract_sfmt_movb10_compact:
5043   {
5044     const IDESC *idesc = &sh64_compact_insn_data[itype];
5045     CGEN_INSN_INT insn = entire_insn;
5046 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
5047     UINT f_rm;
5048     UINT f_imm4;
5049
5050     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5051     f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
5052
5053   /* Record the fields for the semantic handler.  */
5054   FLD (f_imm4) = f_imm4;
5055   FLD (f_rm) = f_rm;
5056   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
5057
5058 #if WITH_PROFILE_MODEL_P
5059   /* Record the fields for profiling.  */
5060   if (PROFILE_MODEL_P (current_cpu))
5061     {
5062       FLD (in_rm) = f_rm;
5063       FLD (out_r0) = 0;
5064     }
5065 #endif
5066 #undef FLD
5067     return idesc;
5068   }
5069
5070  extract_sfmt_movl1_compact:
5071   {
5072     const IDESC *idesc = &sh64_compact_insn_data[itype];
5073     CGEN_INSN_INT insn = entire_insn;
5074 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5075     UINT f_rn;
5076     UINT f_rm;
5077
5078     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5079     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5080
5081   /* Record the fields for the semantic handler.  */
5082   FLD (f_rm) = f_rm;
5083   FLD (f_rn) = f_rn;
5084   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5085
5086 #if WITH_PROFILE_MODEL_P
5087   /* Record the fields for profiling.  */
5088   if (PROFILE_MODEL_P (current_cpu))
5089     {
5090       FLD (in_rm) = f_rm;
5091       FLD (in_rn) = f_rn;
5092     }
5093 #endif
5094 #undef FLD
5095     return idesc;
5096   }
5097
5098  extract_sfmt_movl2_compact:
5099   {
5100     const IDESC *idesc = &sh64_compact_insn_data[itype];
5101     CGEN_INSN_INT insn = entire_insn;
5102 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5103     UINT f_rn;
5104     UINT f_rm;
5105
5106     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5107     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5108
5109   /* Record the fields for the semantic handler.  */
5110   FLD (f_rm) = f_rm;
5111   FLD (f_rn) = f_rn;
5112   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5113
5114 #if WITH_PROFILE_MODEL_P
5115   /* Record the fields for profiling.  */
5116   if (PROFILE_MODEL_P (current_cpu))
5117     {
5118       FLD (in_rm) = f_rm;
5119       FLD (in_rn) = f_rn;
5120       FLD (out_rn) = f_rn;
5121     }
5122 #endif
5123 #undef FLD
5124     return idesc;
5125   }
5126
5127  extract_sfmt_movl3_compact:
5128   {
5129     const IDESC *idesc = &sh64_compact_insn_data[itype];
5130     CGEN_INSN_INT insn = entire_insn;
5131 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5132     UINT f_rn;
5133     UINT f_rm;
5134
5135     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5136     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5137
5138   /* Record the fields for the semantic handler.  */
5139   FLD (f_rm) = f_rm;
5140   FLD (f_rn) = f_rn;
5141   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5142
5143 #if WITH_PROFILE_MODEL_P
5144   /* Record the fields for profiling.  */
5145   if (PROFILE_MODEL_P (current_cpu))
5146     {
5147       FLD (in_r0) = 0;
5148       FLD (in_rm) = f_rm;
5149       FLD (in_rn) = f_rn;
5150     }
5151 #endif
5152 #undef FLD
5153     return idesc;
5154   }
5155
5156  extract_sfmt_movl4_compact:
5157   {
5158     const IDESC *idesc = &sh64_compact_insn_data[itype];
5159     CGEN_INSN_INT insn = entire_insn;
5160 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5161     SI f_imm8x4;
5162
5163     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5164
5165   /* Record the fields for the semantic handler.  */
5166   FLD (f_imm8x4) = f_imm8x4;
5167   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
5168
5169 #if WITH_PROFILE_MODEL_P
5170   /* Record the fields for profiling.  */
5171   if (PROFILE_MODEL_P (current_cpu))
5172     {
5173       FLD (in_r0) = 0;
5174     }
5175 #endif
5176 #undef FLD
5177     return idesc;
5178   }
5179
5180  extract_sfmt_movl5_compact:
5181   {
5182     const IDESC *idesc = &sh64_compact_insn_data[itype];
5183     CGEN_INSN_INT insn = entire_insn;
5184 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5185     UINT f_rn;
5186     UINT f_rm;
5187     SI f_imm4x4;
5188
5189     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5190     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5191     f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5192
5193   /* Record the fields for the semantic handler.  */
5194   FLD (f_imm4x4) = f_imm4x4;
5195   FLD (f_rm) = f_rm;
5196   FLD (f_rn) = f_rn;
5197   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5198
5199 #if WITH_PROFILE_MODEL_P
5200   /* Record the fields for profiling.  */
5201   if (PROFILE_MODEL_P (current_cpu))
5202     {
5203       FLD (in_rm) = f_rm;
5204       FLD (in_rn) = f_rn;
5205     }
5206 #endif
5207 #undef FLD
5208     return idesc;
5209   }
5210
5211  extract_sfmt_movl6_compact:
5212   {
5213     const IDESC *idesc = &sh64_compact_insn_data[itype];
5214     CGEN_INSN_INT insn = entire_insn;
5215 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5216     UINT f_rn;
5217     UINT f_rm;
5218
5219     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5220     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5221
5222   /* Record the fields for the semantic handler.  */
5223   FLD (f_rm) = f_rm;
5224   FLD (f_rn) = f_rn;
5225   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5226
5227 #if WITH_PROFILE_MODEL_P
5228   /* Record the fields for profiling.  */
5229   if (PROFILE_MODEL_P (current_cpu))
5230     {
5231       FLD (in_rm) = f_rm;
5232       FLD (out_rn) = f_rn;
5233     }
5234 #endif
5235 #undef FLD
5236     return idesc;
5237   }
5238
5239  extract_sfmt_movl7_compact:
5240   {
5241     const IDESC *idesc = &sh64_compact_insn_data[itype];
5242     CGEN_INSN_INT insn = entire_insn;
5243 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5244     UINT f_rn;
5245     UINT f_rm;
5246
5247     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5248     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5249
5250   /* Record the fields for the semantic handler.  */
5251   FLD (f_rm) = f_rm;
5252   FLD (f_rn) = f_rn;
5253   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5254
5255 #if WITH_PROFILE_MODEL_P
5256   /* Record the fields for profiling.  */
5257   if (PROFILE_MODEL_P (current_cpu))
5258     {
5259       FLD (in_rm) = f_rm;
5260       FLD (in_rn) = f_rn;
5261       FLD (out_rm) = f_rm;
5262       FLD (out_rn) = f_rn;
5263     }
5264 #endif
5265 #undef FLD
5266     return idesc;
5267   }
5268
5269  extract_sfmt_movl8_compact:
5270   {
5271     const IDESC *idesc = &sh64_compact_insn_data[itype];
5272     CGEN_INSN_INT insn = entire_insn;
5273 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5274     UINT f_rn;
5275     UINT f_rm;
5276
5277     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5278     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5279
5280   /* Record the fields for the semantic handler.  */
5281   FLD (f_rm) = f_rm;
5282   FLD (f_rn) = f_rn;
5283   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5284
5285 #if WITH_PROFILE_MODEL_P
5286   /* Record the fields for profiling.  */
5287   if (PROFILE_MODEL_P (current_cpu))
5288     {
5289       FLD (in_r0) = 0;
5290       FLD (in_rm) = f_rm;
5291       FLD (out_rn) = f_rn;
5292     }
5293 #endif
5294 #undef FLD
5295     return idesc;
5296   }
5297
5298  extract_sfmt_movl9_compact:
5299   {
5300     const IDESC *idesc = &sh64_compact_insn_data[itype];
5301     CGEN_INSN_INT insn = entire_insn;
5302 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5303     SI f_imm8x4;
5304
5305     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5306
5307   /* Record the fields for the semantic handler.  */
5308   FLD (f_imm8x4) = f_imm8x4;
5309   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
5310
5311 #if WITH_PROFILE_MODEL_P
5312   /* Record the fields for profiling.  */
5313   if (PROFILE_MODEL_P (current_cpu))
5314     {
5315       FLD (out_r0) = 0;
5316     }
5317 #endif
5318 #undef FLD
5319     return idesc;
5320   }
5321
5322  extract_sfmt_movl10_compact:
5323   {
5324     const IDESC *idesc = &sh64_compact_insn_data[itype];
5325     CGEN_INSN_INT insn = entire_insn;
5326 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5327     UINT f_rn;
5328     SI f_imm8x4;
5329
5330     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5331     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5332
5333   /* Record the fields for the semantic handler.  */
5334   FLD (f_imm8x4) = f_imm8x4;
5335   FLD (f_rn) = f_rn;
5336   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5337
5338 #if WITH_PROFILE_MODEL_P
5339   /* Record the fields for profiling.  */
5340   if (PROFILE_MODEL_P (current_cpu))
5341     {
5342       FLD (out_rn) = f_rn;
5343     }
5344 #endif
5345 #undef FLD
5346     return idesc;
5347   }
5348
5349  extract_sfmt_movl11_compact:
5350   {
5351     const IDESC *idesc = &sh64_compact_insn_data[itype];
5352     CGEN_INSN_INT insn = entire_insn;
5353 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5354     UINT f_rn;
5355     UINT f_rm;
5356     SI f_imm4x4;
5357
5358     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5359     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5360     f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5361
5362   /* Record the fields for the semantic handler.  */
5363   FLD (f_imm4x4) = f_imm4x4;
5364   FLD (f_rm) = f_rm;
5365   FLD (f_rn) = f_rn;
5366   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5367
5368 #if WITH_PROFILE_MODEL_P
5369   /* Record the fields for profiling.  */
5370   if (PROFILE_MODEL_P (current_cpu))
5371     {
5372       FLD (in_rm) = f_rm;
5373       FLD (out_rn) = f_rn;
5374     }
5375 #endif
5376 #undef FLD
5377     return idesc;
5378   }
5379
5380  extract_sfmt_movl12_compact:
5381   {
5382     const IDESC *idesc = &sh64_compact_insn_data[itype];
5383     CGEN_INSN_INT insn = entire_insn;
5384 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5385     UINT f_rn;
5386     UINT f_rm;
5387     SI f_imm12x4;
5388
5389     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5390     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5391     f_imm12x4 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (2));
5392
5393   /* Record the fields for the semantic handler.  */
5394   FLD (f_imm12x4) = f_imm12x4;
5395   FLD (f_rm) = f_rm;
5396   FLD (f_rn) = f_rn;
5397   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl12_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5398
5399 #if WITH_PROFILE_MODEL_P
5400   /* Record the fields for profiling.  */
5401   if (PROFILE_MODEL_P (current_cpu))
5402     {
5403       FLD (in_rm) = f_rm;
5404       FLD (out_rn) = f_rn;
5405     }
5406 #endif
5407 #undef FLD
5408     return idesc;
5409   }
5410
5411  extract_sfmt_movl13_compact:
5412   {
5413     const IDESC *idesc = &sh64_compact_insn_data[itype];
5414     CGEN_INSN_INT insn = entire_insn;
5415 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5416     UINT f_rn;
5417     UINT f_rm;
5418     SI f_imm12x4;
5419
5420     f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5421     f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5422     f_imm12x4 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (2));
5423
5424   /* Record the fields for the semantic handler.  */
5425   FLD (f_imm12x4) = f_imm12x4;
5426   FLD (f_rm) = f_rm;
5427   FLD (f_rn) = f_rn;
5428   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl13_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5429
5430 #if WITH_PROFILE_MODEL_P
5431   /* Record the fields for profiling.  */
5432   if (PROFILE_MODEL_P (current_cpu))
5433     {
5434       FLD (in_rm) = f_rm;
5435       FLD (in_rn) = f_rn;
5436     }
5437 #endif
5438 #undef FLD
5439     return idesc;
5440   }
5441
5442  extract_sfmt_movw1_compact:
5443   {
5444     const IDESC *idesc = &sh64_compact_insn_data[itype];
5445     CGEN_INSN_INT insn = entire_insn;
5446 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5447     UINT f_rn;
5448     UINT f_rm;
5449
5450     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5451     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5452
5453   /* Record the fields for the semantic handler.  */
5454   FLD (f_rm) = f_rm;
5455   FLD (f_rn) = f_rn;
5456   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5457
5458 #if WITH_PROFILE_MODEL_P
5459   /* Record the fields for profiling.  */
5460   if (PROFILE_MODEL_P (current_cpu))
5461     {
5462       FLD (in_rm) = f_rm;
5463       FLD (in_rn) = f_rn;
5464     }
5465 #endif
5466 #undef FLD
5467     return idesc;
5468   }
5469
5470  extract_sfmt_movw2_compact:
5471   {
5472     const IDESC *idesc = &sh64_compact_insn_data[itype];
5473     CGEN_INSN_INT insn = entire_insn;
5474 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5475     UINT f_rn;
5476     UINT f_rm;
5477
5478     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5479     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5480
5481   /* Record the fields for the semantic handler.  */
5482   FLD (f_rm) = f_rm;
5483   FLD (f_rn) = f_rn;
5484   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5485
5486 #if WITH_PROFILE_MODEL_P
5487   /* Record the fields for profiling.  */
5488   if (PROFILE_MODEL_P (current_cpu))
5489     {
5490       FLD (in_rm) = f_rm;
5491       FLD (in_rn) = f_rn;
5492       FLD (out_rn) = f_rn;
5493     }
5494 #endif
5495 #undef FLD
5496     return idesc;
5497   }
5498
5499  extract_sfmt_movw3_compact:
5500   {
5501     const IDESC *idesc = &sh64_compact_insn_data[itype];
5502     CGEN_INSN_INT insn = entire_insn;
5503 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5504     UINT f_rn;
5505     UINT f_rm;
5506
5507     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5508     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5509
5510   /* Record the fields for the semantic handler.  */
5511   FLD (f_rm) = f_rm;
5512   FLD (f_rn) = f_rn;
5513   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5514
5515 #if WITH_PROFILE_MODEL_P
5516   /* Record the fields for profiling.  */
5517   if (PROFILE_MODEL_P (current_cpu))
5518     {
5519       FLD (in_r0) = 0;
5520       FLD (in_rm) = f_rm;
5521       FLD (in_rn) = f_rn;
5522     }
5523 #endif
5524 #undef FLD
5525     return idesc;
5526   }
5527
5528  extract_sfmt_movw4_compact:
5529   {
5530     const IDESC *idesc = &sh64_compact_insn_data[itype];
5531     CGEN_INSN_INT insn = entire_insn;
5532 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5533     SI f_imm8x2;
5534
5535     f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5536
5537   /* Record the fields for the semantic handler.  */
5538   FLD (f_imm8x2) = f_imm8x2;
5539   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
5540
5541 #if WITH_PROFILE_MODEL_P
5542   /* Record the fields for profiling.  */
5543   if (PROFILE_MODEL_P (current_cpu))
5544     {
5545       FLD (in_r0) = 0;
5546     }
5547 #endif
5548 #undef FLD
5549     return idesc;
5550   }
5551
5552  extract_sfmt_movw5_compact:
5553   {
5554     const IDESC *idesc = &sh64_compact_insn_data[itype];
5555     CGEN_INSN_INT insn = entire_insn;
5556 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5557     UINT f_rm;
5558     SI f_imm4x2;
5559
5560     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5561     f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5562
5563   /* Record the fields for the semantic handler.  */
5564   FLD (f_imm4x2) = f_imm4x2;
5565   FLD (f_rm) = f_rm;
5566   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
5567
5568 #if WITH_PROFILE_MODEL_P
5569   /* Record the fields for profiling.  */
5570   if (PROFILE_MODEL_P (current_cpu))
5571     {
5572       FLD (in_r0) = 0;
5573       FLD (in_rm) = f_rm;
5574     }
5575 #endif
5576 #undef FLD
5577     return idesc;
5578   }
5579
5580  extract_sfmt_movw6_compact:
5581   {
5582     const IDESC *idesc = &sh64_compact_insn_data[itype];
5583     CGEN_INSN_INT insn = entire_insn;
5584 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5585     UINT f_rn;
5586     UINT f_rm;
5587
5588     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5589     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5590
5591   /* Record the fields for the semantic handler.  */
5592   FLD (f_rm) = f_rm;
5593   FLD (f_rn) = f_rn;
5594   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5595
5596 #if WITH_PROFILE_MODEL_P
5597   /* Record the fields for profiling.  */
5598   if (PROFILE_MODEL_P (current_cpu))
5599     {
5600       FLD (in_rm) = f_rm;
5601       FLD (out_rn) = f_rn;
5602     }
5603 #endif
5604 #undef FLD
5605     return idesc;
5606   }
5607
5608  extract_sfmt_movw7_compact:
5609   {
5610     const IDESC *idesc = &sh64_compact_insn_data[itype];
5611     CGEN_INSN_INT insn = entire_insn;
5612 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5613     UINT f_rn;
5614     UINT f_rm;
5615
5616     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5617     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5618
5619   /* Record the fields for the semantic handler.  */
5620   FLD (f_rm) = f_rm;
5621   FLD (f_rn) = f_rn;
5622   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5623
5624 #if WITH_PROFILE_MODEL_P
5625   /* Record the fields for profiling.  */
5626   if (PROFILE_MODEL_P (current_cpu))
5627     {
5628       FLD (in_rm) = f_rm;
5629       FLD (out_rm) = f_rm;
5630       FLD (out_rn) = f_rn;
5631     }
5632 #endif
5633 #undef FLD
5634     return idesc;
5635   }
5636
5637  extract_sfmt_movw8_compact:
5638   {
5639     const IDESC *idesc = &sh64_compact_insn_data[itype];
5640     CGEN_INSN_INT insn = entire_insn;
5641 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5642     UINT f_rn;
5643     UINT f_rm;
5644
5645     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5646     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5647
5648   /* Record the fields for the semantic handler.  */
5649   FLD (f_rm) = f_rm;
5650   FLD (f_rn) = f_rn;
5651   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5652
5653 #if WITH_PROFILE_MODEL_P
5654   /* Record the fields for profiling.  */
5655   if (PROFILE_MODEL_P (current_cpu))
5656     {
5657       FLD (in_r0) = 0;
5658       FLD (in_rm) = f_rm;
5659       FLD (out_rn) = f_rn;
5660     }
5661 #endif
5662 #undef FLD
5663     return idesc;
5664   }
5665
5666  extract_sfmt_movw9_compact:
5667   {
5668     const IDESC *idesc = &sh64_compact_insn_data[itype];
5669     CGEN_INSN_INT insn = entire_insn;
5670 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5671     SI f_imm8x2;
5672
5673     f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5674
5675   /* Record the fields for the semantic handler.  */
5676   FLD (f_imm8x2) = f_imm8x2;
5677   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
5678
5679 #if WITH_PROFILE_MODEL_P
5680   /* Record the fields for profiling.  */
5681   if (PROFILE_MODEL_P (current_cpu))
5682     {
5683       FLD (out_r0) = 0;
5684     }
5685 #endif
5686 #undef FLD
5687     return idesc;
5688   }
5689
5690  extract_sfmt_movw10_compact:
5691   {
5692     const IDESC *idesc = &sh64_compact_insn_data[itype];
5693     CGEN_INSN_INT insn = entire_insn;
5694 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5695     UINT f_rn;
5696     SI f_imm8x2;
5697
5698     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5699     f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5700
5701   /* Record the fields for the semantic handler.  */
5702   FLD (f_imm8x2) = f_imm8x2;
5703   FLD (f_rn) = f_rn;
5704   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5705
5706 #if WITH_PROFILE_MODEL_P
5707   /* Record the fields for profiling.  */
5708   if (PROFILE_MODEL_P (current_cpu))
5709     {
5710       FLD (out_rn) = f_rn;
5711     }
5712 #endif
5713 #undef FLD
5714     return idesc;
5715   }
5716
5717  extract_sfmt_movw11_compact:
5718   {
5719     const IDESC *idesc = &sh64_compact_insn_data[itype];
5720     CGEN_INSN_INT insn = entire_insn;
5721 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5722     UINT f_rm;
5723     SI f_imm4x2;
5724
5725     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5726     f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5727
5728   /* Record the fields for the semantic handler.  */
5729   FLD (f_imm4x2) = f_imm4x2;
5730   FLD (f_rm) = f_rm;
5731   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
5732
5733 #if WITH_PROFILE_MODEL_P
5734   /* Record the fields for profiling.  */
5735   if (PROFILE_MODEL_P (current_cpu))
5736     {
5737       FLD (in_rm) = f_rm;
5738       FLD (out_r0) = 0;
5739     }
5740 #endif
5741 #undef FLD
5742     return idesc;
5743   }
5744
5745  extract_sfmt_mova_compact:
5746   {
5747     const IDESC *idesc = &sh64_compact_insn_data[itype];
5748     CGEN_INSN_INT insn = entire_insn;
5749 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5750     SI f_imm8x4;
5751
5752     f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5753
5754   /* Record the fields for the semantic handler.  */
5755   FLD (f_imm8x4) = f_imm8x4;
5756   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
5757
5758 #if WITH_PROFILE_MODEL_P
5759   /* Record the fields for profiling.  */
5760   if (PROFILE_MODEL_P (current_cpu))
5761     {
5762       FLD (out_r0) = 0;
5763     }
5764 #endif
5765 #undef FLD
5766     return idesc;
5767   }
5768
5769  extract_sfmt_movcal_compact:
5770   {
5771     const IDESC *idesc = &sh64_compact_insn_data[itype];
5772     CGEN_INSN_INT insn = entire_insn;
5773 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5774     UINT f_rn;
5775
5776     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5777
5778   /* Record the fields for the semantic handler.  */
5779   FLD (f_rn) = f_rn;
5780   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5781
5782 #if WITH_PROFILE_MODEL_P
5783   /* Record the fields for profiling.  */
5784   if (PROFILE_MODEL_P (current_cpu))
5785     {
5786       FLD (in_r0) = 0;
5787       FLD (in_rn) = f_rn;
5788     }
5789 #endif
5790 #undef FLD
5791     return idesc;
5792   }
5793
5794  extract_sfmt_movcol_compact:
5795   {
5796     const IDESC *idesc = &sh64_compact_insn_data[itype];
5797     CGEN_INSN_INT insn = entire_insn;
5798 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5799     UINT f_rn;
5800
5801     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5802
5803   /* Record the fields for the semantic handler.  */
5804   FLD (f_rn) = f_rn;
5805   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcol_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5806
5807 #if WITH_PROFILE_MODEL_P
5808   /* Record the fields for profiling.  */
5809   if (PROFILE_MODEL_P (current_cpu))
5810     {
5811       FLD (in_rn) = f_rn;
5812       FLD (out_rn) = f_rn;
5813     }
5814 #endif
5815 #undef FLD
5816     return idesc;
5817   }
5818
5819  extract_sfmt_movt_compact:
5820   {
5821     const IDESC *idesc = &sh64_compact_insn_data[itype];
5822     CGEN_INSN_INT insn = entire_insn;
5823 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5824     UINT f_rn;
5825
5826     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5827
5828   /* Record the fields for the semantic handler.  */
5829   FLD (f_rn) = f_rn;
5830   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5831
5832 #if WITH_PROFILE_MODEL_P
5833   /* Record the fields for profiling.  */
5834   if (PROFILE_MODEL_P (current_cpu))
5835     {
5836       FLD (out_rn) = f_rn;
5837     }
5838 #endif
5839 #undef FLD
5840     return idesc;
5841   }
5842
5843  extract_sfmt_movual_compact:
5844   {
5845     const IDESC *idesc = &sh64_compact_insn_data[itype];
5846     CGEN_INSN_INT insn = entire_insn;
5847 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5848     UINT f_rn;
5849
5850     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5851
5852   /* Record the fields for the semantic handler.  */
5853   FLD (f_rn) = f_rn;
5854   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5855
5856 #if WITH_PROFILE_MODEL_P
5857   /* Record the fields for profiling.  */
5858   if (PROFILE_MODEL_P (current_cpu))
5859     {
5860       FLD (in_rn) = f_rn;
5861       FLD (out_r0) = 0;
5862     }
5863 #endif
5864 #undef FLD
5865     return idesc;
5866   }
5867
5868  extract_sfmt_movual2_compact:
5869   {
5870     const IDESC *idesc = &sh64_compact_insn_data[itype];
5871     CGEN_INSN_INT insn = entire_insn;
5872 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5873     UINT f_rn;
5874
5875     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5876
5877   /* Record the fields for the semantic handler.  */
5878   FLD (f_rn) = f_rn;
5879   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual2_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5880
5881 #if WITH_PROFILE_MODEL_P
5882   /* Record the fields for profiling.  */
5883   if (PROFILE_MODEL_P (current_cpu))
5884     {
5885       FLD (in_rn) = f_rn;
5886       FLD (out_r0) = 0;
5887       FLD (out_rn) = f_rn;
5888     }
5889 #endif
5890 #undef FLD
5891     return idesc;
5892   }
5893
5894  extract_sfmt_mull_compact:
5895   {
5896     const IDESC *idesc = &sh64_compact_insn_data[itype];
5897     CGEN_INSN_INT insn = entire_insn;
5898 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5899     UINT f_rn;
5900     UINT f_rm;
5901
5902     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5903     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5904
5905   /* Record the fields for the semantic handler.  */
5906   FLD (f_rm) = f_rm;
5907   FLD (f_rn) = f_rn;
5908   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5909
5910 #if WITH_PROFILE_MODEL_P
5911   /* Record the fields for profiling.  */
5912   if (PROFILE_MODEL_P (current_cpu))
5913     {
5914       FLD (in_rm) = f_rm;
5915       FLD (in_rn) = f_rn;
5916     }
5917 #endif
5918 #undef FLD
5919     return idesc;
5920   }
5921
5922  extract_sfmt_negc_compact:
5923   {
5924     const IDESC *idesc = &sh64_compact_insn_data[itype];
5925     CGEN_INSN_INT insn = entire_insn;
5926 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5927     UINT f_rn;
5928     UINT f_rm;
5929
5930     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5931     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5932
5933   /* Record the fields for the semantic handler.  */
5934   FLD (f_rm) = f_rm;
5935   FLD (f_rn) = f_rn;
5936   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5937
5938 #if WITH_PROFILE_MODEL_P
5939   /* Record the fields for profiling.  */
5940   if (PROFILE_MODEL_P (current_cpu))
5941     {
5942       FLD (in_rm) = f_rm;
5943       FLD (out_rn) = f_rn;
5944     }
5945 #endif
5946 #undef FLD
5947     return idesc;
5948   }
5949
5950  extract_sfmt_nop_compact:
5951   {
5952     const IDESC *idesc = &sh64_compact_insn_data[itype];
5953 #define FLD(f) abuf->fields.fmt_empty.f
5954
5955
5956   /* Record the fields for the semantic handler.  */
5957   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
5958
5959 #undef FLD
5960     return idesc;
5961   }
5962
5963  extract_sfmt_pref_compact:
5964   {
5965     const IDESC *idesc = &sh64_compact_insn_data[itype];
5966     CGEN_INSN_INT insn = entire_insn;
5967 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5968     UINT f_rn;
5969
5970     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5971
5972   /* Record the fields for the semantic handler.  */
5973   FLD (f_rn) = f_rn;
5974   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pref_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5975
5976 #if WITH_PROFILE_MODEL_P
5977   /* Record the fields for profiling.  */
5978   if (PROFILE_MODEL_P (current_cpu))
5979     {
5980       FLD (in_rn) = f_rn;
5981     }
5982 #endif
5983 #undef FLD
5984     return idesc;
5985   }
5986
5987  extract_sfmt_rotcl_compact:
5988   {
5989     const IDESC *idesc = &sh64_compact_insn_data[itype];
5990     CGEN_INSN_INT insn = entire_insn;
5991 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5992     UINT f_rn;
5993
5994     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5995
5996   /* Record the fields for the semantic handler.  */
5997   FLD (f_rn) = f_rn;
5998   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5999
6000 #if WITH_PROFILE_MODEL_P
6001   /* Record the fields for profiling.  */
6002   if (PROFILE_MODEL_P (current_cpu))
6003     {
6004       FLD (in_rn) = f_rn;
6005       FLD (out_rn) = f_rn;
6006     }
6007 #endif
6008 #undef FLD
6009     return idesc;
6010   }
6011
6012  extract_sfmt_rts_compact:
6013   {
6014     const IDESC *idesc = &sh64_compact_insn_data[itype];
6015 #define FLD(f) abuf->fields.fmt_empty.f
6016
6017
6018   /* Record the fields for the semantic handler.  */
6019   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
6020
6021 #if WITH_PROFILE_MODEL_P
6022   /* Record the fields for profiling.  */
6023   if (PROFILE_MODEL_P (current_cpu))
6024     {
6025     }
6026 #endif
6027 #undef FLD
6028     return idesc;
6029   }
6030
6031  extract_sfmt_shad_compact:
6032   {
6033     const IDESC *idesc = &sh64_compact_insn_data[itype];
6034     CGEN_INSN_INT insn = entire_insn;
6035 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6036     UINT f_rn;
6037     UINT f_rm;
6038
6039     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6040     f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6041
6042   /* Record the fields for the semantic handler.  */
6043   FLD (f_rm) = f_rm;
6044   FLD (f_rn) = f_rn;
6045   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
6046
6047 #if WITH_PROFILE_MODEL_P
6048   /* Record the fields for profiling.  */
6049   if (PROFILE_MODEL_P (current_cpu))
6050     {
6051       FLD (in_rm) = f_rm;
6052       FLD (in_rn) = f_rn;
6053       FLD (out_rn) = f_rn;
6054     }
6055 #endif
6056 #undef FLD
6057     return idesc;
6058   }
6059
6060  extract_sfmt_stc_gbr_compact:
6061   {
6062     const IDESC *idesc = &sh64_compact_insn_data[itype];
6063     CGEN_INSN_INT insn = entire_insn;
6064 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6065     UINT f_rn;
6066
6067     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6068
6069   /* Record the fields for the semantic handler.  */
6070   FLD (f_rn) = f_rn;
6071   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6072
6073 #if WITH_PROFILE_MODEL_P
6074   /* Record the fields for profiling.  */
6075   if (PROFILE_MODEL_P (current_cpu))
6076     {
6077       FLD (out_rn) = f_rn;
6078     }
6079 #endif
6080 #undef FLD
6081     return idesc;
6082   }
6083
6084  extract_sfmt_stc_vbr_compact:
6085   {
6086     const IDESC *idesc = &sh64_compact_insn_data[itype];
6087     CGEN_INSN_INT insn = entire_insn;
6088 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6089     UINT f_rn;
6090
6091     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6092
6093   /* Record the fields for the semantic handler.  */
6094   FLD (f_rn) = f_rn;
6095   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6096
6097 #if WITH_PROFILE_MODEL_P
6098   /* Record the fields for profiling.  */
6099   if (PROFILE_MODEL_P (current_cpu))
6100     {
6101       FLD (out_rn) = f_rn;
6102     }
6103 #endif
6104 #undef FLD
6105     return idesc;
6106   }
6107
6108  extract_sfmt_stcl_gbr_compact:
6109   {
6110     const IDESC *idesc = &sh64_compact_insn_data[itype];
6111     CGEN_INSN_INT insn = entire_insn;
6112 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6113     UINT f_rn;
6114
6115     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6116
6117   /* Record the fields for the semantic handler.  */
6118   FLD (f_rn) = f_rn;
6119   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6120
6121 #if WITH_PROFILE_MODEL_P
6122   /* Record the fields for profiling.  */
6123   if (PROFILE_MODEL_P (current_cpu))
6124     {
6125       FLD (in_rn) = f_rn;
6126       FLD (out_rn) = f_rn;
6127     }
6128 #endif
6129 #undef FLD
6130     return idesc;
6131   }
6132
6133  extract_sfmt_stcl_vbr_compact:
6134   {
6135     const IDESC *idesc = &sh64_compact_insn_data[itype];
6136     CGEN_INSN_INT insn = entire_insn;
6137 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6138     UINT f_rn;
6139
6140     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6141
6142   /* Record the fields for the semantic handler.  */
6143   FLD (f_rn) = f_rn;
6144   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6145
6146 #if WITH_PROFILE_MODEL_P
6147   /* Record the fields for profiling.  */
6148   if (PROFILE_MODEL_P (current_cpu))
6149     {
6150       FLD (in_rn) = f_rn;
6151       FLD (out_rn) = f_rn;
6152     }
6153 #endif
6154 #undef FLD
6155     return idesc;
6156   }
6157
6158  extract_sfmt_sts_fpscr_compact:
6159   {
6160     const IDESC *idesc = &sh64_compact_insn_data[itype];
6161     CGEN_INSN_INT insn = entire_insn;
6162 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6163     UINT f_rn;
6164
6165     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6166
6167   /* Record the fields for the semantic handler.  */
6168   FLD (f_rn) = f_rn;
6169   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6170
6171 #if WITH_PROFILE_MODEL_P
6172   /* Record the fields for profiling.  */
6173   if (PROFILE_MODEL_P (current_cpu))
6174     {
6175       FLD (out_rn) = f_rn;
6176     }
6177 #endif
6178 #undef FLD
6179     return idesc;
6180   }
6181
6182  extract_sfmt_stsl_fpscr_compact:
6183   {
6184     const IDESC *idesc = &sh64_compact_insn_data[itype];
6185     CGEN_INSN_INT insn = entire_insn;
6186 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6187     UINT f_rn;
6188
6189     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6190
6191   /* Record the fields for the semantic handler.  */
6192   FLD (f_rn) = f_rn;
6193   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6194
6195 #if WITH_PROFILE_MODEL_P
6196   /* Record the fields for profiling.  */
6197   if (PROFILE_MODEL_P (current_cpu))
6198     {
6199       FLD (in_rn) = f_rn;
6200       FLD (out_rn) = f_rn;
6201     }
6202 #endif
6203 #undef FLD
6204     return idesc;
6205   }
6206
6207  extract_sfmt_sts_fpul_compact:
6208   {
6209     const IDESC *idesc = &sh64_compact_insn_data[itype];
6210     CGEN_INSN_INT insn = entire_insn;
6211 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6212     UINT f_rn;
6213
6214     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6215
6216   /* Record the fields for the semantic handler.  */
6217   FLD (f_rn) = f_rn;
6218   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6219
6220 #if WITH_PROFILE_MODEL_P
6221   /* Record the fields for profiling.  */
6222   if (PROFILE_MODEL_P (current_cpu))
6223     {
6224       FLD (in_fpul) = 32;
6225       FLD (out_rn) = f_rn;
6226     }
6227 #endif
6228 #undef FLD
6229     return idesc;
6230   }
6231
6232  extract_sfmt_stsl_fpul_compact:
6233   {
6234     const IDESC *idesc = &sh64_compact_insn_data[itype];
6235     CGEN_INSN_INT insn = entire_insn;
6236 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6237     UINT f_rn;
6238
6239     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6240
6241   /* Record the fields for the semantic handler.  */
6242   FLD (f_rn) = f_rn;
6243   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6244
6245 #if WITH_PROFILE_MODEL_P
6246   /* Record the fields for profiling.  */
6247   if (PROFILE_MODEL_P (current_cpu))
6248     {
6249       FLD (in_fpul) = 32;
6250       FLD (in_rn) = f_rn;
6251       FLD (out_rn) = f_rn;
6252     }
6253 #endif
6254 #undef FLD
6255     return idesc;
6256   }
6257
6258  extract_sfmt_sts_mach_compact:
6259   {
6260     const IDESC *idesc = &sh64_compact_insn_data[itype];
6261     CGEN_INSN_INT insn = entire_insn;
6262 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6263     UINT f_rn;
6264
6265     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6266
6267   /* Record the fields for the semantic handler.  */
6268   FLD (f_rn) = f_rn;
6269   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6270
6271 #if WITH_PROFILE_MODEL_P
6272   /* Record the fields for profiling.  */
6273   if (PROFILE_MODEL_P (current_cpu))
6274     {
6275       FLD (out_rn) = f_rn;
6276     }
6277 #endif
6278 #undef FLD
6279     return idesc;
6280   }
6281
6282  extract_sfmt_stsl_mach_compact:
6283   {
6284     const IDESC *idesc = &sh64_compact_insn_data[itype];
6285     CGEN_INSN_INT insn = entire_insn;
6286 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6287     UINT f_rn;
6288
6289     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6290
6291   /* Record the fields for the semantic handler.  */
6292   FLD (f_rn) = f_rn;
6293   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6294
6295 #if WITH_PROFILE_MODEL_P
6296   /* Record the fields for profiling.  */
6297   if (PROFILE_MODEL_P (current_cpu))
6298     {
6299       FLD (in_rn) = f_rn;
6300       FLD (out_rn) = f_rn;
6301     }
6302 #endif
6303 #undef FLD
6304     return idesc;
6305   }
6306
6307  extract_sfmt_sts_macl_compact:
6308   {
6309     const IDESC *idesc = &sh64_compact_insn_data[itype];
6310     CGEN_INSN_INT insn = entire_insn;
6311 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6312     UINT f_rn;
6313
6314     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6315
6316   /* Record the fields for the semantic handler.  */
6317   FLD (f_rn) = f_rn;
6318   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6319
6320 #if WITH_PROFILE_MODEL_P
6321   /* Record the fields for profiling.  */
6322   if (PROFILE_MODEL_P (current_cpu))
6323     {
6324       FLD (out_rn) = f_rn;
6325     }
6326 #endif
6327 #undef FLD
6328     return idesc;
6329   }
6330
6331  extract_sfmt_stsl_macl_compact:
6332   {
6333     const IDESC *idesc = &sh64_compact_insn_data[itype];
6334     CGEN_INSN_INT insn = entire_insn;
6335 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6336     UINT f_rn;
6337
6338     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6339
6340   /* Record the fields for the semantic handler.  */
6341   FLD (f_rn) = f_rn;
6342   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6343
6344 #if WITH_PROFILE_MODEL_P
6345   /* Record the fields for profiling.  */
6346   if (PROFILE_MODEL_P (current_cpu))
6347     {
6348       FLD (in_rn) = f_rn;
6349       FLD (out_rn) = f_rn;
6350     }
6351 #endif
6352 #undef FLD
6353     return idesc;
6354   }
6355
6356  extract_sfmt_sts_pr_compact:
6357   {
6358     const IDESC *idesc = &sh64_compact_insn_data[itype];
6359     CGEN_INSN_INT insn = entire_insn;
6360 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6361     UINT f_rn;
6362
6363     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6364
6365   /* Record the fields for the semantic handler.  */
6366   FLD (f_rn) = f_rn;
6367   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6368
6369 #if WITH_PROFILE_MODEL_P
6370   /* Record the fields for profiling.  */
6371   if (PROFILE_MODEL_P (current_cpu))
6372     {
6373       FLD (out_rn) = f_rn;
6374     }
6375 #endif
6376 #undef FLD
6377     return idesc;
6378   }
6379
6380  extract_sfmt_stsl_pr_compact:
6381   {
6382     const IDESC *idesc = &sh64_compact_insn_data[itype];
6383     CGEN_INSN_INT insn = entire_insn;
6384 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6385     UINT f_rn;
6386
6387     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6388
6389   /* Record the fields for the semantic handler.  */
6390   FLD (f_rn) = f_rn;
6391   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6392
6393 #if WITH_PROFILE_MODEL_P
6394   /* Record the fields for profiling.  */
6395   if (PROFILE_MODEL_P (current_cpu))
6396     {
6397       FLD (in_rn) = f_rn;
6398       FLD (out_rn) = f_rn;
6399     }
6400 #endif
6401 #undef FLD
6402     return idesc;
6403   }
6404
6405  extract_sfmt_tasb_compact:
6406   {
6407     const IDESC *idesc = &sh64_compact_insn_data[itype];
6408     CGEN_INSN_INT insn = entire_insn;
6409 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6410     UINT f_rn;
6411
6412     f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6413
6414   /* Record the fields for the semantic handler.  */
6415   FLD (f_rn) = f_rn;
6416   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6417
6418 #if WITH_PROFILE_MODEL_P
6419   /* Record the fields for profiling.  */
6420   if (PROFILE_MODEL_P (current_cpu))
6421     {
6422       FLD (in_rn) = f_rn;
6423     }
6424 #endif
6425 #undef FLD
6426     return idesc;
6427   }
6428
6429  extract_sfmt_trapa_compact:
6430   {
6431     const IDESC *idesc = &sh64_compact_insn_data[itype];
6432     CGEN_INSN_INT insn = entire_insn;
6433 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6434     UINT f_imm8;
6435
6436     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6437
6438   /* Record the fields for the semantic handler.  */
6439   FLD (f_imm8) = f_imm8;
6440   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
6441
6442 #if WITH_PROFILE_MODEL_P
6443   /* Record the fields for profiling.  */
6444   if (PROFILE_MODEL_P (current_cpu))
6445     {
6446     }
6447 #endif
6448 #undef FLD
6449     return idesc;
6450   }
6451
6452  extract_sfmt_tsti_compact:
6453   {
6454     const IDESC *idesc = &sh64_compact_insn_data[itype];
6455     CGEN_INSN_INT insn = entire_insn;
6456 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6457     UINT f_imm8;
6458
6459     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6460
6461   /* Record the fields for the semantic handler.  */
6462   FLD (f_imm8) = f_imm8;
6463   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
6464
6465 #if WITH_PROFILE_MODEL_P
6466   /* Record the fields for profiling.  */
6467   if (PROFILE_MODEL_P (current_cpu))
6468     {
6469       FLD (in_r0) = 0;
6470     }
6471 #endif
6472 #undef FLD
6473     return idesc;
6474   }
6475
6476  extract_sfmt_tstb_compact:
6477   {
6478     const IDESC *idesc = &sh64_compact_insn_data[itype];
6479     CGEN_INSN_INT insn = entire_insn;
6480 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6481     UINT f_imm8;
6482
6483     f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6484
6485   /* Record the fields for the semantic handler.  */
6486   FLD (f_imm8) = f_imm8;
6487   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
6488
6489 #if WITH_PROFILE_MODEL_P
6490   /* Record the fields for profiling.  */
6491   if (PROFILE_MODEL_P (current_cpu))
6492     {
6493       FLD (in_r0) = 0;
6494     }
6495 #endif
6496 #undef FLD
6497     return idesc;
6498   }
6499
6500 }