OSDN Git Service

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