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