1/* Simulator instruction decoder for sh64_compact.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5Copyright 1996-2005 Free Software Foundation, Inc.
6
7This file is part of the GNU simulators.
8
9This program is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3 of the License, or
12(at your option) any later version.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along 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).  */
35static 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
40static 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
244static 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
250static INLINE void
251init_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
278void
279sh64_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
306const IDESC *
307sh64_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}
6500