1 /* Simulator instruction decoder for sh64_compact.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2005 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
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.
29 #include "sim-assert.h"
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];
38 /* Commas between elements are contained in the macros.
39 Some of these are conditionally compiled out. */
41 static const struct insn_sem sh64_compact_insn_sem[] =
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 },
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
249 /* Initialize an IDESC from the compile-time computable parts. */
252 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
254 const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
258 if ((int) t->type <= 0)
259 id->idata = & cgen_virtual_insn_table[- (int) t->type];
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;
266 #if WITH_PROFILE_MODEL_P
267 id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
269 SIM_DESC sd = CPU_STATE (cpu);
270 SIM_ASSERT (t->index == id->timing->num);
274 /* Semantic pointers are initialized elsewhere. */
277 /* Initialize the instruction descriptor table. */
280 sh64_compact_init_idesc_table (SIM_CPU *cpu)
283 const struct insn_sem *t,*tend;
284 int tabsize = SH64_COMPACT_INSN__MAX;
285 IDESC *table = sh64_compact_insn_data;
287 memset (table, 0, tabsize * sizeof (IDESC));
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);
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);
298 init_idesc (cpu, & table[t->index], t);
301 /* Link the IDESC table into the cpu. */
302 CPU_IDESC (cpu) = table;
305 /* Given an instruction, return a pointer to its IDESC entry. */
308 sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
309 CGEN_INSN_INT base_insn, CGEN_INSN_INT entire_insn,
312 /* Result of decoder. */
313 SH64_COMPACT_INSN_TYPE itype;
316 CGEN_INSN_INT insn = base_insn;
319 unsigned int val = (((insn >> 5) & (15 << 7)) | ((insn >> 0) & (127 << 0)));
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 */
330 if ((entire_insn & 0xf00f0000) == 0x0)
331 { itype = SH64_COMPACT_INSN_MOVI20_COMPACT; goto extract_sfmt_movi20_compact; }
332 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
335 unsigned int val = (((insn >> 7) & (1 << 0)));
339 if ((entire_insn & 0xf0ff) == 0x3)
340 { itype = SH64_COMPACT_INSN_BSRF_COMPACT; goto extract_sfmt_bsrf_compact; }
341 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
343 if ((entire_insn & 0xf0ff) == 0x83)
344 { itype = SH64_COMPACT_INSN_PREF_COMPACT; goto extract_sfmt_pref_compact; }
345 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
346 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
349 case 4 : /* fall through */
350 case 20 : /* fall through */
351 case 36 : /* fall through */
352 case 52 : /* fall through */
353 case 68 : /* fall through */
354 case 84 : /* fall through */
355 case 100 : /* fall through */
357 if ((entire_insn & 0xf00f) == 0x4)
358 { itype = SH64_COMPACT_INSN_MOVB3_COMPACT; goto extract_sfmt_movb3_compact; }
359 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
360 case 5 : /* fall through */
361 case 21 : /* fall through */
362 case 37 : /* fall through */
363 case 53 : /* fall through */
364 case 69 : /* fall through */
365 case 85 : /* fall through */
366 case 101 : /* fall through */
368 if ((entire_insn & 0xf00f) == 0x5)
369 { itype = SH64_COMPACT_INSN_MOVW3_COMPACT; goto extract_sfmt_movw3_compact; }
370 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
371 case 6 : /* fall through */
372 case 22 : /* fall through */
373 case 38 : /* fall through */
374 case 54 : /* fall through */
375 case 70 : /* fall through */
376 case 86 : /* fall through */
377 case 102 : /* fall through */
379 if ((entire_insn & 0xf00f) == 0x6)
380 { itype = SH64_COMPACT_INSN_MOVL3_COMPACT; goto extract_sfmt_movl3_compact; }
381 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
382 case 7 : /* fall through */
383 case 23 : /* fall through */
384 case 39 : /* fall through */
385 case 55 : /* fall through */
386 case 71 : /* fall through */
387 case 87 : /* fall through */
388 case 103 : /* fall through */
390 if ((entire_insn & 0xf00f) == 0x7)
391 { itype = SH64_COMPACT_INSN_MULL_COMPACT; goto extract_sfmt_mull_compact; }
392 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
394 if ((entire_insn & 0xffff) == 0x8)
395 { itype = SH64_COMPACT_INSN_CLRT_COMPACT; goto extract_sfmt_clrt_compact; }
396 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
398 if ((entire_insn & 0xffff) == 0x9)
399 { itype = SH64_COMPACT_INSN_NOP_COMPACT; goto extract_sfmt_nop_compact; }
400 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
402 if ((entire_insn & 0xf0ff) == 0xa)
403 { itype = SH64_COMPACT_INSN_STS_MACH_COMPACT; goto extract_sfmt_sts_mach_compact; }
404 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
406 if ((entire_insn & 0xffff) == 0xb)
407 { itype = SH64_COMPACT_INSN_RTS_COMPACT; goto extract_sfmt_rts_compact; }
408 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
409 case 12 : /* fall through */
410 case 28 : /* fall through */
411 case 44 : /* fall through */
412 case 60 : /* fall through */
413 case 76 : /* fall through */
414 case 92 : /* fall through */
415 case 108 : /* fall through */
417 if ((entire_insn & 0xf00f) == 0xc)
418 { itype = SH64_COMPACT_INSN_MOVB8_COMPACT; goto extract_sfmt_movb8_compact; }
419 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
420 case 13 : /* fall through */
421 case 29 : /* fall through */
422 case 45 : /* fall through */
423 case 61 : /* fall through */
424 case 77 : /* fall through */
425 case 93 : /* fall through */
426 case 109 : /* fall through */
428 if ((entire_insn & 0xf00f) == 0xd)
429 { itype = SH64_COMPACT_INSN_MOVW8_COMPACT; goto extract_sfmt_movw8_compact; }
430 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
431 case 14 : /* fall through */
432 case 30 : /* fall through */
433 case 46 : /* fall through */
434 case 62 : /* fall through */
435 case 78 : /* fall through */
436 case 94 : /* fall through */
437 case 110 : /* fall through */
439 if ((entire_insn & 0xf00f) == 0xe)
440 { itype = SH64_COMPACT_INSN_MOVL8_COMPACT; goto extract_sfmt_movl8_compact; }
441 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
442 case 15 : /* fall through */
443 case 31 : /* fall through */
444 case 47 : /* fall through */
445 case 63 : /* fall through */
446 case 79 : /* fall through */
447 case 95 : /* fall through */
448 case 111 : /* fall through */
450 if ((entire_insn & 0xf00f) == 0xf)
451 { itype = SH64_COMPACT_INSN_MACL_COMPACT; goto extract_sfmt_macl_compact; }
452 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
454 if ((entire_insn & 0xf0ff) == 0x12)
455 { itype = SH64_COMPACT_INSN_STC_GBR_COMPACT; goto extract_sfmt_stc_gbr_compact; }
456 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
458 if ((entire_insn & 0xf0ff) == 0x93)
459 { itype = SH64_COMPACT_INSN_OCBI_COMPACT; goto extract_sfmt_movcol_compact; }
460 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
462 if ((entire_insn & 0xffff) == 0x18)
463 { itype = SH64_COMPACT_INSN_SETT_COMPACT; goto extract_sfmt_clrt_compact; }
464 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
466 if ((entire_insn & 0xffff) == 0x19)
467 { itype = SH64_COMPACT_INSN_DIV0U_COMPACT; goto extract_sfmt_div0u_compact; }
468 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
470 if ((entire_insn & 0xf0ff) == 0x1a)
471 { itype = SH64_COMPACT_INSN_STS_MACL_COMPACT; goto extract_sfmt_sts_macl_compact; }
472 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
474 if ((entire_insn & 0xf0ff) == 0x22)
475 { itype = SH64_COMPACT_INSN_STC_VBR_COMPACT; goto extract_sfmt_stc_vbr_compact; }
476 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
479 unsigned int val = (((insn >> 7) & (1 << 0)));
483 if ((entire_insn & 0xf0ff) == 0x23)
484 { itype = SH64_COMPACT_INSN_BRAF_COMPACT; goto extract_sfmt_braf_compact; }
485 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
487 if ((entire_insn & 0xf0ff) == 0xa3)
488 { itype = SH64_COMPACT_INSN_OCBP_COMPACT; goto extract_sfmt_movcol_compact; }
489 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
490 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
494 if ((entire_insn & 0xffff) == 0x28)
495 { itype = SH64_COMPACT_INSN_CLRMAC_COMPACT; goto extract_sfmt_clrmac_compact; }
496 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
498 if ((entire_insn & 0xf0ff) == 0x29)
499 { itype = SH64_COMPACT_INSN_MOVT_COMPACT; goto extract_sfmt_movt_compact; }
500 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
502 if ((entire_insn & 0xf0ff) == 0x2a)
503 { itype = SH64_COMPACT_INSN_STS_PR_COMPACT; goto extract_sfmt_sts_pr_compact; }
504 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
506 if ((entire_insn & 0xf0ff) == 0xb3)
507 { itype = SH64_COMPACT_INSN_OCBWB_COMPACT; goto extract_sfmt_movcol_compact; }
508 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
510 if ((entire_insn & 0xffff) == 0x3b)
511 { itype = SH64_COMPACT_INSN_BRK_COMPACT; goto extract_sfmt_brk_compact; }
512 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
514 if ((entire_insn & 0xf0ff) == 0xc3)
515 { itype = SH64_COMPACT_INSN_MOVCAL_COMPACT; goto extract_sfmt_movcal_compact; }
516 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
518 if ((entire_insn & 0xffff) == 0x48)
519 { itype = SH64_COMPACT_INSN_CLRS_COMPACT; goto extract_sfmt_clrs_compact; }
520 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
522 if ((entire_insn & 0xffff) == 0x58)
523 { itype = SH64_COMPACT_INSN_SETS_COMPACT; goto extract_sfmt_clrs_compact; }
524 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
526 if ((entire_insn & 0xf0ff) == 0x5a)
527 { itype = SH64_COMPACT_INSN_STS_FPUL_COMPACT; goto extract_sfmt_sts_fpul_compact; }
528 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
530 if ((entire_insn & 0xf0ff) == 0x6a)
531 { itype = SH64_COMPACT_INSN_STS_FPSCR_COMPACT; goto extract_sfmt_sts_fpscr_compact; }
532 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
534 if ((entire_insn & 0xf0ff) == 0x73)
535 { itype = SH64_COMPACT_INSN_MOVCOL_COMPACT; goto extract_sfmt_movcol_compact; }
536 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
537 case 128 : /* fall through */
538 case 129 : /* fall through */
539 case 130 : /* fall through */
540 case 131 : /* fall through */
541 case 132 : /* fall through */
542 case 133 : /* fall through */
543 case 134 : /* fall through */
544 case 135 : /* fall through */
545 case 136 : /* fall through */
546 case 137 : /* fall through */
547 case 138 : /* fall through */
548 case 139 : /* fall through */
549 case 140 : /* fall through */
550 case 141 : /* fall through */
551 case 142 : /* fall through */
552 case 143 : /* fall through */
553 case 144 : /* fall through */
554 case 145 : /* fall through */
555 case 146 : /* fall through */
556 case 147 : /* fall through */
557 case 148 : /* fall through */
558 case 149 : /* fall through */
559 case 150 : /* fall through */
560 case 151 : /* fall through */
561 case 152 : /* fall through */
562 case 153 : /* fall through */
563 case 154 : /* fall through */
564 case 155 : /* fall through */
565 case 156 : /* fall through */
566 case 157 : /* fall through */
567 case 158 : /* fall through */
568 case 159 : /* fall through */
569 case 160 : /* fall through */
570 case 161 : /* fall through */
571 case 162 : /* fall through */
572 case 163 : /* fall through */
573 case 164 : /* fall through */
574 case 165 : /* fall through */
575 case 166 : /* fall through */
576 case 167 : /* fall through */
577 case 168 : /* fall through */
578 case 169 : /* fall through */
579 case 170 : /* fall through */
580 case 171 : /* fall through */
581 case 172 : /* fall through */
582 case 173 : /* fall through */
583 case 174 : /* fall through */
584 case 175 : /* fall through */
585 case 176 : /* fall through */
586 case 177 : /* fall through */
587 case 178 : /* fall through */
588 case 179 : /* fall through */
589 case 180 : /* fall through */
590 case 181 : /* fall through */
591 case 182 : /* fall through */
592 case 183 : /* fall through */
593 case 184 : /* fall through */
594 case 185 : /* fall through */
595 case 186 : /* fall through */
596 case 187 : /* fall through */
597 case 188 : /* fall through */
598 case 189 : /* fall through */
599 case 190 : /* fall through */
600 case 191 : /* fall through */
601 case 192 : /* fall through */
602 case 193 : /* fall through */
603 case 194 : /* fall through */
604 case 195 : /* fall through */
605 case 196 : /* fall through */
606 case 197 : /* fall through */
607 case 198 : /* fall through */
608 case 199 : /* fall through */
609 case 200 : /* fall through */
610 case 201 : /* fall through */
611 case 202 : /* fall through */
612 case 203 : /* fall through */
613 case 204 : /* fall through */
614 case 205 : /* fall through */
615 case 206 : /* fall through */
616 case 207 : /* fall through */
617 case 208 : /* fall through */
618 case 209 : /* fall through */
619 case 210 : /* fall through */
620 case 211 : /* fall through */
621 case 212 : /* fall through */
622 case 213 : /* fall through */
623 case 214 : /* fall through */
624 case 215 : /* fall through */
625 case 216 : /* fall through */
626 case 217 : /* fall through */
627 case 218 : /* fall through */
628 case 219 : /* fall through */
629 case 220 : /* fall through */
630 case 221 : /* fall through */
631 case 222 : /* fall through */
632 case 223 : /* fall through */
633 case 224 : /* fall through */
634 case 225 : /* fall through */
635 case 226 : /* fall through */
636 case 227 : /* fall through */
637 case 228 : /* fall through */
638 case 229 : /* fall through */
639 case 230 : /* fall through */
640 case 231 : /* fall through */
641 case 232 : /* fall through */
642 case 233 : /* fall through */
643 case 234 : /* fall through */
644 case 235 : /* fall through */
645 case 236 : /* fall through */
646 case 237 : /* fall through */
647 case 238 : /* fall through */
648 case 239 : /* fall through */
649 case 240 : /* fall through */
650 case 241 : /* fall through */
651 case 242 : /* fall through */
652 case 243 : /* fall through */
653 case 244 : /* fall through */
654 case 245 : /* fall through */
655 case 246 : /* fall through */
656 case 247 : /* fall through */
657 case 248 : /* fall through */
658 case 249 : /* fall through */
659 case 250 : /* fall through */
660 case 251 : /* fall through */
661 case 252 : /* fall through */
662 case 253 : /* fall through */
663 case 254 : /* fall through */
665 if ((entire_insn & 0xf000) == 0x1000)
666 { itype = SH64_COMPACT_INSN_MOVL5_COMPACT; goto extract_sfmt_movl5_compact; }
667 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
668 case 256 : /* fall through */
669 case 272 : /* fall through */
670 case 288 : /* fall through */
671 case 304 : /* fall through */
672 case 320 : /* fall through */
673 case 336 : /* fall through */
674 case 352 : /* fall through */
676 if ((entire_insn & 0xf00f) == 0x2000)
677 { itype = SH64_COMPACT_INSN_MOVB1_COMPACT; goto extract_sfmt_movb1_compact; }
678 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
679 case 257 : /* fall through */
680 case 273 : /* fall through */
681 case 289 : /* fall through */
682 case 305 : /* fall through */
683 case 321 : /* fall through */
684 case 337 : /* fall through */
685 case 353 : /* fall through */
687 if ((entire_insn & 0xf00f) == 0x2001)
688 { itype = SH64_COMPACT_INSN_MOVW1_COMPACT; goto extract_sfmt_movw1_compact; }
689 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
690 case 258 : /* fall through */
691 case 274 : /* fall through */
692 case 290 : /* fall through */
693 case 306 : /* fall through */
694 case 322 : /* fall through */
695 case 338 : /* fall through */
696 case 354 : /* fall through */
698 if ((entire_insn & 0xf00f) == 0x2002)
699 { itype = SH64_COMPACT_INSN_MOVL1_COMPACT; goto extract_sfmt_movl1_compact; }
700 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
701 case 260 : /* fall through */
702 case 276 : /* fall through */
703 case 292 : /* fall through */
704 case 308 : /* fall through */
705 case 324 : /* fall through */
706 case 340 : /* fall through */
707 case 356 : /* fall through */
709 if ((entire_insn & 0xf00f) == 0x2004)
710 { itype = SH64_COMPACT_INSN_MOVB2_COMPACT; goto extract_sfmt_movb2_compact; }
711 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
712 case 261 : /* fall through */
713 case 277 : /* fall through */
714 case 293 : /* fall through */
715 case 309 : /* fall through */
716 case 325 : /* fall through */
717 case 341 : /* fall through */
718 case 357 : /* fall through */
720 if ((entire_insn & 0xf00f) == 0x2005)
721 { itype = SH64_COMPACT_INSN_MOVW2_COMPACT; goto extract_sfmt_movw2_compact; }
722 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
723 case 262 : /* fall through */
724 case 278 : /* fall through */
725 case 294 : /* fall through */
726 case 310 : /* fall through */
727 case 326 : /* fall through */
728 case 342 : /* fall through */
729 case 358 : /* fall through */
731 if ((entire_insn & 0xf00f) == 0x2006)
732 { itype = SH64_COMPACT_INSN_MOVL2_COMPACT; goto extract_sfmt_movl2_compact; }
733 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
734 case 263 : /* fall through */
735 case 279 : /* fall through */
736 case 295 : /* fall through */
737 case 311 : /* fall through */
738 case 327 : /* fall through */
739 case 343 : /* fall through */
740 case 359 : /* fall through */
742 if ((entire_insn & 0xf00f) == 0x2007)
743 { itype = SH64_COMPACT_INSN_DIV0S_COMPACT; goto extract_sfmt_div0s_compact; }
744 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
745 case 264 : /* fall through */
746 case 280 : /* fall through */
747 case 296 : /* fall through */
748 case 312 : /* fall through */
749 case 328 : /* fall through */
750 case 344 : /* fall through */
751 case 360 : /* fall through */
753 if ((entire_insn & 0xf00f) == 0x2008)
754 { itype = SH64_COMPACT_INSN_TST_COMPACT; goto extract_sfmt_cmpeq_compact; }
755 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
756 case 265 : /* fall through */
757 case 281 : /* fall through */
758 case 297 : /* fall through */
759 case 313 : /* fall through */
760 case 329 : /* fall through */
761 case 345 : /* fall through */
762 case 361 : /* fall through */
764 if ((entire_insn & 0xf00f) == 0x2009)
765 { itype = SH64_COMPACT_INSN_AND_COMPACT; goto extract_sfmt_and_compact; }
766 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
767 case 266 : /* fall through */
768 case 282 : /* fall through */
769 case 298 : /* fall through */
770 case 314 : /* fall through */
771 case 330 : /* fall through */
772 case 346 : /* fall through */
773 case 362 : /* fall through */
775 if ((entire_insn & 0xf00f) == 0x200a)
776 { itype = SH64_COMPACT_INSN_XOR_COMPACT; goto extract_sfmt_and_compact; }
777 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
778 case 267 : /* fall through */
779 case 283 : /* fall through */
780 case 299 : /* fall through */
781 case 315 : /* fall through */
782 case 331 : /* fall through */
783 case 347 : /* fall through */
784 case 363 : /* fall through */
786 if ((entire_insn & 0xf00f) == 0x200b)
787 { itype = SH64_COMPACT_INSN_OR_COMPACT; goto extract_sfmt_and_compact; }
788 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
789 case 268 : /* fall through */
790 case 284 : /* fall through */
791 case 300 : /* fall through */
792 case 316 : /* fall through */
793 case 332 : /* fall through */
794 case 348 : /* fall through */
795 case 364 : /* fall through */
797 if ((entire_insn & 0xf00f) == 0x200c)
798 { itype = SH64_COMPACT_INSN_CMPSTR_COMPACT; goto extract_sfmt_cmpeq_compact; }
799 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
800 case 269 : /* fall through */
801 case 285 : /* fall through */
802 case 301 : /* fall through */
803 case 317 : /* fall through */
804 case 333 : /* fall through */
805 case 349 : /* fall through */
806 case 365 : /* fall through */
808 if ((entire_insn & 0xf00f) == 0x200d)
809 { itype = SH64_COMPACT_INSN_XTRCT_COMPACT; goto extract_sfmt_add_compact; }
810 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
811 case 270 : /* fall through */
812 case 286 : /* fall through */
813 case 302 : /* fall through */
814 case 318 : /* fall through */
815 case 334 : /* fall through */
816 case 350 : /* fall through */
817 case 366 : /* fall through */
819 if ((entire_insn & 0xf00f) == 0x200e)
820 { itype = SH64_COMPACT_INSN_MULUW_COMPACT; goto extract_sfmt_mull_compact; }
821 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
822 case 271 : /* fall through */
823 case 287 : /* fall through */
824 case 303 : /* fall through */
825 case 319 : /* fall through */
826 case 335 : /* fall through */
827 case 351 : /* fall through */
828 case 367 : /* fall through */
830 if ((entire_insn & 0xf00f) == 0x200f)
831 { itype = SH64_COMPACT_INSN_MULSW_COMPACT; goto extract_sfmt_mull_compact; }
832 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
833 case 384 : /* fall through */
834 case 400 : /* fall through */
835 case 416 : /* fall through */
836 case 432 : /* fall through */
837 case 448 : /* fall through */
838 case 464 : /* fall through */
839 case 480 : /* fall through */
841 if ((entire_insn & 0xf00f) == 0x3000)
842 { itype = SH64_COMPACT_INSN_CMPEQ_COMPACT; goto extract_sfmt_cmpeq_compact; }
843 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
844 case 385 : /* fall through */
845 case 417 : /* fall through */
846 case 449 : /* fall through */
849 unsigned int val = (((insn >> -3) & (1 << 1)) | ((insn >> -4) & (1 << 0)));
853 if ((entire_insn & 0xf00ff000) == 0x30012000)
854 { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
855 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
857 if ((entire_insn & 0xf01ff000) == 0x30013000)
858 { itype = SH64_COMPACT_INSN_FMOV9_COMPACT; goto extract_sfmt_fmov9_compact; }
859 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
861 if ((entire_insn & 0xf00ff000) == 0x30016000)
862 { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
863 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
865 if ((entire_insn & 0xf10ff000) == 0x30017000)
866 { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
867 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
868 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
871 case 386 : /* fall through */
872 case 402 : /* fall through */
873 case 418 : /* fall through */
874 case 434 : /* fall through */
875 case 450 : /* fall through */
876 case 466 : /* fall through */
877 case 482 : /* fall through */
879 if ((entire_insn & 0xf00f) == 0x3002)
880 { itype = SH64_COMPACT_INSN_CMPHS_COMPACT; goto extract_sfmt_cmpeq_compact; }
881 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
882 case 387 : /* fall through */
883 case 403 : /* fall through */
884 case 419 : /* fall through */
885 case 435 : /* fall through */
886 case 451 : /* fall through */
887 case 467 : /* fall through */
888 case 483 : /* fall through */
890 if ((entire_insn & 0xf00f) == 0x3003)
891 { itype = SH64_COMPACT_INSN_CMPGE_COMPACT; goto extract_sfmt_cmpeq_compact; }
892 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
893 case 388 : /* fall through */
894 case 404 : /* fall through */
895 case 420 : /* fall through */
896 case 436 : /* fall through */
897 case 452 : /* fall through */
898 case 468 : /* fall through */
899 case 484 : /* fall through */
901 if ((entire_insn & 0xf00f) == 0x3004)
902 { itype = SH64_COMPACT_INSN_DIV1_COMPACT; goto extract_sfmt_div1_compact; }
903 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
904 case 389 : /* fall through */
905 case 405 : /* fall through */
906 case 421 : /* fall through */
907 case 437 : /* fall through */
908 case 453 : /* fall through */
909 case 469 : /* fall through */
910 case 485 : /* fall through */
912 if ((entire_insn & 0xf00f) == 0x3005)
913 { itype = SH64_COMPACT_INSN_DMULUL_COMPACT; goto extract_sfmt_dmulsl_compact; }
914 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
915 case 390 : /* fall through */
916 case 406 : /* fall through */
917 case 422 : /* fall through */
918 case 438 : /* fall through */
919 case 454 : /* fall through */
920 case 470 : /* fall through */
921 case 486 : /* fall through */
923 if ((entire_insn & 0xf00f) == 0x3006)
924 { itype = SH64_COMPACT_INSN_CMPHI_COMPACT; goto extract_sfmt_cmpeq_compact; }
925 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
926 case 391 : /* fall through */
927 case 407 : /* fall through */
928 case 423 : /* fall through */
929 case 439 : /* fall through */
930 case 455 : /* fall through */
931 case 471 : /* fall through */
932 case 487 : /* fall through */
934 if ((entire_insn & 0xf00f) == 0x3007)
935 { itype = SH64_COMPACT_INSN_CMPGT_COMPACT; goto extract_sfmt_cmpeq_compact; }
936 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
937 case 392 : /* fall through */
938 case 408 : /* fall through */
939 case 424 : /* fall through */
940 case 440 : /* fall through */
941 case 456 : /* fall through */
942 case 472 : /* fall through */
943 case 488 : /* fall through */
945 if ((entire_insn & 0xf00f) == 0x3008)
946 { itype = SH64_COMPACT_INSN_SUB_COMPACT; goto extract_sfmt_add_compact; }
947 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
948 case 394 : /* fall through */
949 case 410 : /* fall through */
950 case 426 : /* fall through */
951 case 442 : /* fall through */
952 case 458 : /* fall through */
953 case 474 : /* fall through */
954 case 490 : /* fall through */
956 if ((entire_insn & 0xf00f) == 0x300a)
957 { itype = SH64_COMPACT_INSN_SUBC_COMPACT; goto extract_sfmt_addc_compact; }
958 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
959 case 395 : /* fall through */
960 case 411 : /* fall through */
961 case 427 : /* fall through */
962 case 443 : /* fall through */
963 case 459 : /* fall through */
964 case 475 : /* fall through */
965 case 491 : /* fall through */
967 if ((entire_insn & 0xf00f) == 0x300b)
968 { itype = SH64_COMPACT_INSN_SUBV_COMPACT; goto extract_sfmt_addv_compact; }
969 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
970 case 396 : /* fall through */
971 case 412 : /* fall through */
972 case 428 : /* fall through */
973 case 444 : /* fall through */
974 case 460 : /* fall through */
975 case 476 : /* fall through */
976 case 492 : /* fall through */
978 if ((entire_insn & 0xf00f) == 0x300c)
979 { itype = SH64_COMPACT_INSN_ADD_COMPACT; goto extract_sfmt_add_compact; }
980 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
981 case 397 : /* fall through */
982 case 413 : /* fall through */
983 case 429 : /* fall through */
984 case 445 : /* fall through */
985 case 461 : /* fall through */
986 case 477 : /* fall through */
987 case 493 : /* fall through */
989 if ((entire_insn & 0xf00f) == 0x300d)
990 { itype = SH64_COMPACT_INSN_DMULSL_COMPACT; goto extract_sfmt_dmulsl_compact; }
991 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
992 case 398 : /* fall through */
993 case 414 : /* fall through */
994 case 430 : /* fall through */
995 case 446 : /* fall through */
996 case 462 : /* fall through */
997 case 478 : /* fall through */
998 case 494 : /* fall through */
1000 if ((entire_insn & 0xf00f) == 0x300e)
1001 { itype = SH64_COMPACT_INSN_ADDC_COMPACT; goto extract_sfmt_addc_compact; }
1002 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1003 case 399 : /* fall through */
1004 case 415 : /* fall through */
1005 case 431 : /* fall through */
1006 case 447 : /* fall through */
1007 case 463 : /* fall through */
1008 case 479 : /* fall through */
1009 case 495 : /* fall through */
1011 if ((entire_insn & 0xf00f) == 0x300f)
1012 { itype = SH64_COMPACT_INSN_ADDV_COMPACT; goto extract_sfmt_addv_compact; }
1013 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1014 case 401 : /* fall through */
1015 case 433 : /* fall through */
1016 case 465 : /* fall through */
1019 unsigned int val = (((insn >> -3) & (1 << 1)) | ((insn >> -4) & (1 << 0)));
1023 if ((entire_insn & 0xf00ff000) == 0x30012000)
1024 { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
1025 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1027 if ((entire_insn & 0xf00ff000) == 0x30016000)
1028 { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
1029 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1031 if ((entire_insn & 0xf10ff000) == 0x30017000)
1032 { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
1033 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1034 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1039 unsigned int val = (((insn >> 7) & (1 << 0)));
1043 if ((entire_insn & 0xf0ff) == 0x4000)
1044 { itype = SH64_COMPACT_INSN_SHLL_COMPACT; goto extract_sfmt_dt_compact; }
1045 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1047 if ((entire_insn & 0xf0ff) == 0x4080)
1048 { itype = SH64_COMPACT_INSN_MULR_COMPACT; goto extract_sfmt_divu_compact; }
1049 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1050 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1054 if ((entire_insn & 0xf0ff) == 0x4001)
1055 { itype = SH64_COMPACT_INSN_SHLR_COMPACT; goto extract_sfmt_dt_compact; }
1056 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1058 if ((entire_insn & 0xf0ff) == 0x4002)
1059 { itype = SH64_COMPACT_INSN_STSL_MACH_COMPACT; goto extract_sfmt_stsl_mach_compact; }
1060 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1063 unsigned int val = (((insn >> 7) & (1 << 0)));
1067 if ((entire_insn & 0xf0ff) == 0x4004)
1068 { itype = SH64_COMPACT_INSN_ROTL_COMPACT; goto extract_sfmt_dt_compact; }
1069 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1071 if ((entire_insn & 0xf0ff) == 0x4084)
1072 { itype = SH64_COMPACT_INSN_DIVU_COMPACT; goto extract_sfmt_divu_compact; }
1073 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1074 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1078 if ((entire_insn & 0xf0ff) == 0x4005)
1079 { itype = SH64_COMPACT_INSN_ROTR_COMPACT; goto extract_sfmt_dt_compact; }
1080 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1082 if ((entire_insn & 0xf0ff) == 0x4006)
1083 { itype = SH64_COMPACT_INSN_LDSL_MACH_COMPACT; goto extract_sfmt_ldsl_mach_compact; }
1084 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1086 if ((entire_insn & 0xf0ff) == 0x4008)
1087 { itype = SH64_COMPACT_INSN_SHLL2_COMPACT; goto extract_sfmt_movcol_compact; }
1088 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1090 if ((entire_insn & 0xf0ff) == 0x4009)
1091 { itype = SH64_COMPACT_INSN_SHLR2_COMPACT; goto extract_sfmt_movcol_compact; }
1092 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1094 if ((entire_insn & 0xf0ff) == 0x400a)
1095 { itype = SH64_COMPACT_INSN_LDS_MACH_COMPACT; goto extract_sfmt_lds_mach_compact; }
1096 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1098 if ((entire_insn & 0xf0ff) == 0x400b)
1099 { itype = SH64_COMPACT_INSN_JSR_COMPACT; goto extract_sfmt_bsrf_compact; }
1100 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1101 case 524 : /* fall through */
1102 case 540 : /* fall through */
1103 case 556 : /* fall through */
1104 case 572 : /* fall through */
1105 case 588 : /* fall through */
1106 case 604 : /* fall through */
1107 case 620 : /* fall through */
1109 if ((entire_insn & 0xf00f) == 0x400c)
1110 { itype = SH64_COMPACT_INSN_SHAD_COMPACT; goto extract_sfmt_shad_compact; }
1111 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1112 case 525 : /* fall through */
1113 case 541 : /* fall through */
1114 case 557 : /* fall through */
1115 case 573 : /* fall through */
1116 case 589 : /* fall through */
1117 case 605 : /* fall through */
1118 case 621 : /* fall through */
1120 if ((entire_insn & 0xf00f) == 0x400d)
1121 { itype = SH64_COMPACT_INSN_SHLD_COMPACT; goto extract_sfmt_shad_compact; }
1122 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1124 if ((entire_insn & 0xf0ff) == 0x400e)
1125 { itype = SH64_COMPACT_INSN_LDC_SR_COMPACT; goto extract_sfmt_ldc_sr_compact; }
1126 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1127 case 527 : /* fall through */
1128 case 543 : /* fall through */
1129 case 559 : /* fall through */
1130 case 575 : /* fall through */
1131 case 591 : /* fall through */
1132 case 607 : /* fall through */
1133 case 623 : /* fall through */
1135 if ((entire_insn & 0xf00f) == 0x400f)
1136 { itype = SH64_COMPACT_INSN_MACW_COMPACT; goto extract_sfmt_macw_compact; }
1137 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1139 if ((entire_insn & 0xf0ff) == 0x4010)
1140 { itype = SH64_COMPACT_INSN_DT_COMPACT; goto extract_sfmt_dt_compact; }
1141 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1143 if ((entire_insn & 0xf0ff) == 0x4011)
1144 { itype = SH64_COMPACT_INSN_CMPPZ_COMPACT; goto extract_sfmt_cmppl_compact; }
1145 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1147 if ((entire_insn & 0xf0ff) == 0x4012)
1148 { itype = SH64_COMPACT_INSN_STSL_MACL_COMPACT; goto extract_sfmt_stsl_macl_compact; }
1149 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1151 if ((entire_insn & 0xf0ff) == 0x4013)
1152 { itype = SH64_COMPACT_INSN_STCL_GBR_COMPACT; goto extract_sfmt_stcl_gbr_compact; }
1153 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1155 if ((entire_insn & 0xf0ff) == 0x4015)
1156 { itype = SH64_COMPACT_INSN_CMPPL_COMPACT; goto extract_sfmt_cmppl_compact; }
1157 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1159 if ((entire_insn & 0xf0ff) == 0x4016)
1160 { itype = SH64_COMPACT_INSN_LDSL_MACL_COMPACT; goto extract_sfmt_ldsl_macl_compact; }
1161 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1163 if ((entire_insn & 0xf0ff) == 0x4017)
1164 { itype = SH64_COMPACT_INSN_LDCL_GBR_COMPACT; goto extract_sfmt_ldcl_gbr_compact; }
1165 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1167 if ((entire_insn & 0xf0ff) == 0x4018)
1168 { itype = SH64_COMPACT_INSN_SHLL8_COMPACT; goto extract_sfmt_movcol_compact; }
1169 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1171 if ((entire_insn & 0xf0ff) == 0x4019)
1172 { itype = SH64_COMPACT_INSN_SHLR8_COMPACT; goto extract_sfmt_movcol_compact; }
1173 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1175 if ((entire_insn & 0xf0ff) == 0x401a)
1176 { itype = SH64_COMPACT_INSN_LDS_MACL_COMPACT; goto extract_sfmt_lds_macl_compact; }
1177 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1179 if ((entire_insn & 0xf0ff) == 0x401b)
1180 { itype = SH64_COMPACT_INSN_TASB_COMPACT; goto extract_sfmt_tasb_compact; }
1181 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1183 if ((entire_insn & 0xf0ff) == 0x401e)
1184 { itype = SH64_COMPACT_INSN_LDC_GBR_COMPACT; goto extract_sfmt_ldc_gbr_compact; }
1185 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1187 if ((entire_insn & 0xf0ff) == 0x4020)
1188 { itype = SH64_COMPACT_INSN_SHAL_COMPACT; goto extract_sfmt_dt_compact; }
1189 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1191 if ((entire_insn & 0xf0ff) == 0x4021)
1192 { itype = SH64_COMPACT_INSN_SHAR_COMPACT; goto extract_sfmt_dt_compact; }
1193 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1195 if ((entire_insn & 0xf0ff) == 0x4022)
1196 { itype = SH64_COMPACT_INSN_STSL_PR_COMPACT; goto extract_sfmt_stsl_pr_compact; }
1197 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1199 if ((entire_insn & 0xf0ff) == 0x4023)
1200 { itype = SH64_COMPACT_INSN_STCL_VBR_COMPACT; goto extract_sfmt_stcl_vbr_compact; }
1201 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1203 if ((entire_insn & 0xf0ff) == 0x4024)
1204 { itype = SH64_COMPACT_INSN_ROTCL_COMPACT; goto extract_sfmt_rotcl_compact; }
1205 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1207 if ((entire_insn & 0xf0ff) == 0x4025)
1208 { itype = SH64_COMPACT_INSN_ROTCR_COMPACT; goto extract_sfmt_rotcl_compact; }
1209 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1211 if ((entire_insn & 0xf0ff) == 0x4026)
1212 { itype = SH64_COMPACT_INSN_LDSL_PR_COMPACT; goto extract_sfmt_ldsl_pr_compact; }
1213 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1215 if ((entire_insn & 0xf0ff) == 0x4027)
1216 { itype = SH64_COMPACT_INSN_LDCL_VBR_COMPACT; goto extract_sfmt_ldcl_vbr_compact; }
1217 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1219 if ((entire_insn & 0xf0ff) == 0x4028)
1220 { itype = SH64_COMPACT_INSN_SHLL16_COMPACT; goto extract_sfmt_movcol_compact; }
1221 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1224 unsigned int val = (((insn >> 7) & (1 << 0)));
1228 if ((entire_insn & 0xf0ff) == 0x4029)
1229 { itype = SH64_COMPACT_INSN_SHLR16_COMPACT; goto extract_sfmt_movcol_compact; }
1230 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1232 if ((entire_insn & 0xf0ff) == 0x40a9)
1233 { itype = SH64_COMPACT_INSN_MOVUAL_COMPACT; goto extract_sfmt_movual_compact; }
1234 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1235 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1239 if ((entire_insn & 0xf0ff) == 0x402a)
1240 { itype = SH64_COMPACT_INSN_LDS_PR_COMPACT; goto extract_sfmt_lds_pr_compact; }
1241 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1243 if ((entire_insn & 0xf0ff) == 0x402b)
1244 { itype = SH64_COMPACT_INSN_JMP_COMPACT; goto extract_sfmt_braf_compact; }
1245 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1247 if ((entire_insn & 0xf0ff) == 0x402e)
1248 { itype = SH64_COMPACT_INSN_LDC_VBR_COMPACT; goto extract_sfmt_ldc_vbr_compact; }
1249 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1251 if ((entire_insn & 0xf0ff) == 0x4052)
1252 { itype = SH64_COMPACT_INSN_STSL_FPUL_COMPACT; goto extract_sfmt_stsl_fpul_compact; }
1253 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1255 if ((entire_insn & 0xf0ff) == 0x4056)
1256 { itype = SH64_COMPACT_INSN_LDSL_FPUL_COMPACT; goto extract_sfmt_ldsl_fpul_compact; }
1257 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1259 if ((entire_insn & 0xf0ff) == 0x405a)
1260 { itype = SH64_COMPACT_INSN_LDS_FPUL_COMPACT; goto extract_sfmt_lds_fpul_compact; }
1261 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1263 if ((entire_insn & 0xf0ff) == 0x4062)
1264 { itype = SH64_COMPACT_INSN_STSL_FPSCR_COMPACT; goto extract_sfmt_stsl_fpscr_compact; }
1265 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1267 if ((entire_insn & 0xf0ff) == 0x4066)
1268 { itype = SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT; goto extract_sfmt_ldsl_fpscr_compact; }
1269 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1271 if ((entire_insn & 0xf0ff) == 0x40e9)
1272 { itype = SH64_COMPACT_INSN_MOVUAL2_COMPACT; goto extract_sfmt_movual2_compact; }
1273 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1275 if ((entire_insn & 0xf0ff) == 0x406a)
1276 { itype = SH64_COMPACT_INSN_LDS_FPSCR_COMPACT; goto extract_sfmt_lds_fpscr_compact; }
1277 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1278 case 640 : /* fall through */
1279 case 641 : /* fall through */
1280 case 642 : /* fall through */
1281 case 643 : /* fall through */
1282 case 644 : /* fall through */
1283 case 645 : /* fall through */
1284 case 646 : /* fall through */
1285 case 647 : /* fall through */
1286 case 648 : /* fall through */
1287 case 649 : /* fall through */
1288 case 650 : /* fall through */
1289 case 651 : /* fall through */
1290 case 652 : /* fall through */
1291 case 653 : /* fall through */
1292 case 654 : /* fall through */
1293 case 655 : /* fall through */
1294 case 656 : /* fall through */
1295 case 657 : /* fall through */
1296 case 658 : /* fall through */
1297 case 659 : /* fall through */
1298 case 660 : /* fall through */
1299 case 661 : /* fall through */
1300 case 662 : /* fall through */
1301 case 663 : /* fall through */
1302 case 664 : /* fall through */
1303 case 665 : /* fall through */
1304 case 666 : /* fall through */
1305 case 667 : /* fall through */
1306 case 668 : /* fall through */
1307 case 669 : /* fall through */
1308 case 670 : /* fall through */
1309 case 671 : /* fall through */
1310 case 672 : /* fall through */
1311 case 673 : /* fall through */
1312 case 674 : /* fall through */
1313 case 675 : /* fall through */
1314 case 676 : /* fall through */
1315 case 677 : /* fall through */
1316 case 678 : /* fall through */
1317 case 679 : /* fall through */
1318 case 680 : /* fall through */
1319 case 681 : /* fall through */
1320 case 682 : /* fall through */
1321 case 683 : /* fall through */
1322 case 684 : /* fall through */
1323 case 685 : /* fall through */
1324 case 686 : /* fall through */
1325 case 687 : /* fall through */
1326 case 688 : /* fall through */
1327 case 689 : /* fall through */
1328 case 690 : /* fall through */
1329 case 691 : /* fall through */
1330 case 692 : /* fall through */
1331 case 693 : /* fall through */
1332 case 694 : /* fall through */
1333 case 695 : /* fall through */
1334 case 696 : /* fall through */
1335 case 697 : /* fall through */
1336 case 698 : /* fall through */
1337 case 699 : /* fall through */
1338 case 700 : /* fall through */
1339 case 701 : /* fall through */
1340 case 702 : /* fall through */
1341 case 703 : /* fall through */
1342 case 704 : /* fall through */
1343 case 705 : /* fall through */
1344 case 706 : /* fall through */
1345 case 707 : /* fall through */
1346 case 708 : /* fall through */
1347 case 709 : /* fall through */
1348 case 710 : /* fall through */
1349 case 711 : /* fall through */
1350 case 712 : /* fall through */
1351 case 713 : /* fall through */
1352 case 714 : /* fall through */
1353 case 715 : /* fall through */
1354 case 716 : /* fall through */
1355 case 717 : /* fall through */
1356 case 718 : /* fall through */
1357 case 719 : /* fall through */
1358 case 720 : /* fall through */
1359 case 721 : /* fall through */
1360 case 722 : /* fall through */
1361 case 723 : /* fall through */
1362 case 724 : /* fall through */
1363 case 725 : /* fall through */
1364 case 726 : /* fall through */
1365 case 727 : /* fall through */
1366 case 728 : /* fall through */
1367 case 729 : /* fall through */
1368 case 730 : /* fall through */
1369 case 731 : /* fall through */
1370 case 732 : /* fall through */
1371 case 733 : /* fall through */
1372 case 734 : /* fall through */
1373 case 735 : /* fall through */
1374 case 736 : /* fall through */
1375 case 737 : /* fall through */
1376 case 738 : /* fall through */
1377 case 739 : /* fall through */
1378 case 740 : /* fall through */
1379 case 741 : /* fall through */
1380 case 742 : /* fall through */
1381 case 743 : /* fall through */
1382 case 744 : /* fall through */
1383 case 745 : /* fall through */
1384 case 746 : /* fall through */
1385 case 747 : /* fall through */
1386 case 748 : /* fall through */
1387 case 749 : /* fall through */
1388 case 750 : /* fall through */
1389 case 751 : /* fall through */
1390 case 752 : /* fall through */
1391 case 753 : /* fall through */
1392 case 754 : /* fall through */
1393 case 755 : /* fall through */
1394 case 756 : /* fall through */
1395 case 757 : /* fall through */
1396 case 758 : /* fall through */
1397 case 759 : /* fall through */
1398 case 760 : /* fall through */
1399 case 761 : /* fall through */
1400 case 762 : /* fall through */
1401 case 763 : /* fall through */
1402 case 764 : /* fall through */
1403 case 765 : /* fall through */
1404 case 766 : /* fall through */
1406 if ((entire_insn & 0xf000) == 0x5000)
1407 { itype = SH64_COMPACT_INSN_MOVL11_COMPACT; goto extract_sfmt_movl11_compact; }
1408 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1409 case 768 : /* fall through */
1410 case 784 : /* fall through */
1411 case 800 : /* fall through */
1412 case 816 : /* fall through */
1413 case 832 : /* fall through */
1414 case 848 : /* fall through */
1415 case 864 : /* fall through */
1417 if ((entire_insn & 0xf00f) == 0x6000)
1418 { itype = SH64_COMPACT_INSN_MOVB6_COMPACT; goto extract_sfmt_movb6_compact; }
1419 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1420 case 769 : /* fall through */
1421 case 785 : /* fall through */
1422 case 801 : /* fall through */
1423 case 817 : /* fall through */
1424 case 833 : /* fall through */
1425 case 849 : /* fall through */
1426 case 865 : /* fall through */
1428 if ((entire_insn & 0xf00f) == 0x6001)
1429 { itype = SH64_COMPACT_INSN_MOVW6_COMPACT; goto extract_sfmt_movw6_compact; }
1430 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1431 case 770 : /* fall through */
1432 case 786 : /* fall through */
1433 case 802 : /* fall through */
1434 case 818 : /* fall through */
1435 case 834 : /* fall through */
1436 case 850 : /* fall through */
1437 case 866 : /* fall through */
1439 if ((entire_insn & 0xf00f) == 0x6002)
1440 { itype = SH64_COMPACT_INSN_MOVL6_COMPACT; goto extract_sfmt_movl6_compact; }
1441 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1442 case 771 : /* fall through */
1443 case 787 : /* fall through */
1444 case 803 : /* fall through */
1445 case 819 : /* fall through */
1446 case 835 : /* fall through */
1447 case 851 : /* fall through */
1448 case 867 : /* fall through */
1450 if ((entire_insn & 0xf00f) == 0x6003)
1451 { itype = SH64_COMPACT_INSN_MOV_COMPACT; goto extract_sfmt_mov_compact; }
1452 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1453 case 772 : /* fall through */
1454 case 788 : /* fall through */
1455 case 804 : /* fall through */
1456 case 820 : /* fall through */
1457 case 836 : /* fall through */
1458 case 852 : /* fall through */
1459 case 868 : /* fall through */
1461 if ((entire_insn & 0xf00f) == 0x6004)
1462 { itype = SH64_COMPACT_INSN_MOVB7_COMPACT; goto extract_sfmt_movb7_compact; }
1463 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1464 case 773 : /* fall through */
1465 case 789 : /* fall through */
1466 case 805 : /* fall through */
1467 case 821 : /* fall through */
1468 case 837 : /* fall through */
1469 case 853 : /* fall through */
1470 case 869 : /* fall through */
1472 if ((entire_insn & 0xf00f) == 0x6005)
1473 { itype = SH64_COMPACT_INSN_MOVW7_COMPACT; goto extract_sfmt_movw7_compact; }
1474 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1475 case 774 : /* fall through */
1476 case 790 : /* fall through */
1477 case 806 : /* fall through */
1478 case 822 : /* fall through */
1479 case 838 : /* fall through */
1480 case 854 : /* fall through */
1481 case 870 : /* fall through */
1483 if ((entire_insn & 0xf00f) == 0x6006)
1484 { itype = SH64_COMPACT_INSN_MOVL7_COMPACT; goto extract_sfmt_movl7_compact; }
1485 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1486 case 775 : /* fall through */
1487 case 791 : /* fall through */
1488 case 807 : /* fall through */
1489 case 823 : /* fall through */
1490 case 839 : /* fall through */
1491 case 855 : /* fall through */
1492 case 871 : /* fall through */
1494 if ((entire_insn & 0xf00f) == 0x6007)
1495 { itype = SH64_COMPACT_INSN_NOT_COMPACT; goto extract_sfmt_mov_compact; }
1496 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1497 case 776 : /* fall through */
1498 case 792 : /* fall through */
1499 case 808 : /* fall through */
1500 case 824 : /* fall through */
1501 case 840 : /* fall through */
1502 case 856 : /* fall through */
1503 case 872 : /* fall through */
1505 if ((entire_insn & 0xf00f) == 0x6008)
1506 { itype = SH64_COMPACT_INSN_SWAPB_COMPACT; goto extract_sfmt_extsb_compact; }
1507 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1508 case 777 : /* fall through */
1509 case 793 : /* fall through */
1510 case 809 : /* fall through */
1511 case 825 : /* fall through */
1512 case 841 : /* fall through */
1513 case 857 : /* fall through */
1514 case 873 : /* fall through */
1516 if ((entire_insn & 0xf00f) == 0x6009)
1517 { itype = SH64_COMPACT_INSN_SWAPW_COMPACT; goto extract_sfmt_extsb_compact; }
1518 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1519 case 778 : /* fall through */
1520 case 794 : /* fall through */
1521 case 810 : /* fall through */
1522 case 826 : /* fall through */
1523 case 842 : /* fall through */
1524 case 858 : /* fall through */
1525 case 874 : /* fall through */
1527 if ((entire_insn & 0xf00f) == 0x600a)
1528 { itype = SH64_COMPACT_INSN_NEGC_COMPACT; goto extract_sfmt_negc_compact; }
1529 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1530 case 779 : /* fall through */
1531 case 795 : /* fall through */
1532 case 811 : /* fall through */
1533 case 827 : /* fall through */
1534 case 843 : /* fall through */
1535 case 859 : /* fall through */
1536 case 875 : /* fall through */
1538 if ((entire_insn & 0xf00f) == 0x600b)
1539 { itype = SH64_COMPACT_INSN_NEG_COMPACT; goto extract_sfmt_extsb_compact; }
1540 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1541 case 780 : /* fall through */
1542 case 796 : /* fall through */
1543 case 812 : /* fall through */
1544 case 828 : /* fall through */
1545 case 844 : /* fall through */
1546 case 860 : /* fall through */
1547 case 876 : /* fall through */
1549 if ((entire_insn & 0xf00f) == 0x600c)
1550 { itype = SH64_COMPACT_INSN_EXTUB_COMPACT; goto extract_sfmt_extsb_compact; }
1551 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1552 case 781 : /* fall through */
1553 case 797 : /* fall through */
1554 case 813 : /* fall through */
1555 case 829 : /* fall through */
1556 case 845 : /* fall through */
1557 case 861 : /* fall through */
1558 case 877 : /* fall through */
1560 if ((entire_insn & 0xf00f) == 0x600d)
1561 { itype = SH64_COMPACT_INSN_EXTUW_COMPACT; goto extract_sfmt_extsb_compact; }
1562 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1563 case 782 : /* fall through */
1564 case 798 : /* fall through */
1565 case 814 : /* fall through */
1566 case 830 : /* fall through */
1567 case 846 : /* fall through */
1568 case 862 : /* fall through */
1569 case 878 : /* fall through */
1571 if ((entire_insn & 0xf00f) == 0x600e)
1572 { itype = SH64_COMPACT_INSN_EXTSB_COMPACT; goto extract_sfmt_extsb_compact; }
1573 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1574 case 783 : /* fall through */
1575 case 799 : /* fall through */
1576 case 815 : /* fall through */
1577 case 831 : /* fall through */
1578 case 847 : /* fall through */
1579 case 863 : /* fall through */
1580 case 879 : /* fall through */
1582 if ((entire_insn & 0xf00f) == 0x600f)
1583 { itype = SH64_COMPACT_INSN_EXTSW_COMPACT; goto extract_sfmt_extsb_compact; }
1584 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1585 case 896 : /* fall through */
1586 case 897 : /* fall through */
1587 case 898 : /* fall through */
1588 case 899 : /* fall through */
1589 case 900 : /* fall through */
1590 case 901 : /* fall through */
1591 case 902 : /* fall through */
1592 case 903 : /* fall through */
1593 case 904 : /* fall through */
1594 case 905 : /* fall through */
1595 case 906 : /* fall through */
1596 case 907 : /* fall through */
1597 case 908 : /* fall through */
1598 case 909 : /* fall through */
1599 case 910 : /* fall through */
1600 case 911 : /* fall through */
1601 case 912 : /* fall through */
1602 case 913 : /* fall through */
1603 case 914 : /* fall through */
1604 case 915 : /* fall through */
1605 case 916 : /* fall through */
1606 case 917 : /* fall through */
1607 case 918 : /* fall through */
1608 case 919 : /* fall through */
1609 case 920 : /* fall through */
1610 case 921 : /* fall through */
1611 case 922 : /* fall through */
1612 case 923 : /* fall through */
1613 case 924 : /* fall through */
1614 case 925 : /* fall through */
1615 case 926 : /* fall through */
1616 case 927 : /* fall through */
1617 case 928 : /* fall through */
1618 case 929 : /* fall through */
1619 case 930 : /* fall through */
1620 case 931 : /* fall through */
1621 case 932 : /* fall through */
1622 case 933 : /* fall through */
1623 case 934 : /* fall through */
1624 case 935 : /* fall through */
1625 case 936 : /* fall through */
1626 case 937 : /* fall through */
1627 case 938 : /* fall through */
1628 case 939 : /* fall through */
1629 case 940 : /* fall through */
1630 case 941 : /* fall through */
1631 case 942 : /* fall through */
1632 case 943 : /* fall through */
1633 case 944 : /* fall through */
1634 case 945 : /* fall through */
1635 case 946 : /* fall through */
1636 case 947 : /* fall through */
1637 case 948 : /* fall through */
1638 case 949 : /* fall through */
1639 case 950 : /* fall through */
1640 case 951 : /* fall through */
1641 case 952 : /* fall through */
1642 case 953 : /* fall through */
1643 case 954 : /* fall through */
1644 case 955 : /* fall through */
1645 case 956 : /* fall through */
1646 case 957 : /* fall through */
1647 case 958 : /* fall through */
1648 case 959 : /* fall through */
1649 case 960 : /* fall through */
1650 case 961 : /* fall through */
1651 case 962 : /* fall through */
1652 case 963 : /* fall through */
1653 case 964 : /* fall through */
1654 case 965 : /* fall through */
1655 case 966 : /* fall through */
1656 case 967 : /* fall through */
1657 case 968 : /* fall through */
1658 case 969 : /* fall through */
1659 case 970 : /* fall through */
1660 case 971 : /* fall through */
1661 case 972 : /* fall through */
1662 case 973 : /* fall through */
1663 case 974 : /* fall through */
1664 case 975 : /* fall through */
1665 case 976 : /* fall through */
1666 case 977 : /* fall through */
1667 case 978 : /* fall through */
1668 case 979 : /* fall through */
1669 case 980 : /* fall through */
1670 case 981 : /* fall through */
1671 case 982 : /* fall through */
1672 case 983 : /* fall through */
1673 case 984 : /* fall through */
1674 case 985 : /* fall through */
1675 case 986 : /* fall through */
1676 case 987 : /* fall through */
1677 case 988 : /* fall through */
1678 case 989 : /* fall through */
1679 case 990 : /* fall through */
1680 case 991 : /* fall through */
1681 case 992 : /* fall through */
1682 case 993 : /* fall through */
1683 case 994 : /* fall through */
1684 case 995 : /* fall through */
1685 case 996 : /* fall through */
1686 case 997 : /* fall through */
1687 case 998 : /* fall through */
1688 case 999 : /* fall through */
1689 case 1000 : /* fall through */
1690 case 1001 : /* fall through */
1691 case 1002 : /* fall through */
1692 case 1003 : /* fall through */
1693 case 1004 : /* fall through */
1694 case 1005 : /* fall through */
1695 case 1006 : /* fall through */
1696 case 1007 : /* fall through */
1697 case 1008 : /* fall through */
1698 case 1009 : /* fall through */
1699 case 1010 : /* fall through */
1700 case 1011 : /* fall through */
1701 case 1012 : /* fall through */
1702 case 1013 : /* fall through */
1703 case 1014 : /* fall through */
1704 case 1015 : /* fall through */
1705 case 1016 : /* fall through */
1706 case 1017 : /* fall through */
1707 case 1018 : /* fall through */
1708 case 1019 : /* fall through */
1709 case 1020 : /* fall through */
1710 case 1021 : /* fall through */
1711 case 1022 : /* fall through */
1713 if ((entire_insn & 0xf000) == 0x7000)
1714 { itype = SH64_COMPACT_INSN_ADDI_COMPACT; goto extract_sfmt_addi_compact; }
1715 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1716 case 1024 : /* fall through */
1717 case 1025 : /* fall through */
1718 case 1026 : /* fall through */
1719 case 1027 : /* fall through */
1720 case 1028 : /* fall through */
1721 case 1029 : /* fall through */
1722 case 1030 : /* fall through */
1723 case 1031 : /* fall through */
1724 case 1032 : /* fall through */
1725 case 1033 : /* fall through */
1726 case 1034 : /* fall through */
1727 case 1035 : /* fall through */
1728 case 1036 : /* fall through */
1729 case 1037 : /* fall through */
1730 case 1038 : /* fall through */
1731 case 1039 : /* fall through */
1732 case 1040 : /* fall through */
1733 case 1041 : /* fall through */
1734 case 1042 : /* fall through */
1735 case 1043 : /* fall through */
1736 case 1044 : /* fall through */
1737 case 1045 : /* fall through */
1738 case 1046 : /* fall through */
1739 case 1047 : /* fall through */
1740 case 1048 : /* fall through */
1741 case 1049 : /* fall through */
1742 case 1050 : /* fall through */
1743 case 1051 : /* fall through */
1744 case 1052 : /* fall through */
1745 case 1053 : /* fall through */
1746 case 1054 : /* fall through */
1747 case 1055 : /* fall through */
1748 case 1056 : /* fall through */
1749 case 1057 : /* fall through */
1750 case 1058 : /* fall through */
1751 case 1059 : /* fall through */
1752 case 1060 : /* fall through */
1753 case 1061 : /* fall through */
1754 case 1062 : /* fall through */
1755 case 1063 : /* fall through */
1756 case 1064 : /* fall through */
1757 case 1065 : /* fall through */
1758 case 1066 : /* fall through */
1759 case 1067 : /* fall through */
1760 case 1068 : /* fall through */
1761 case 1069 : /* fall through */
1762 case 1070 : /* fall through */
1763 case 1071 : /* fall through */
1764 case 1072 : /* fall through */
1765 case 1073 : /* fall through */
1766 case 1074 : /* fall through */
1767 case 1075 : /* fall through */
1768 case 1076 : /* fall through */
1769 case 1077 : /* fall through */
1770 case 1078 : /* fall through */
1771 case 1079 : /* fall through */
1772 case 1080 : /* fall through */
1773 case 1081 : /* fall through */
1774 case 1082 : /* fall through */
1775 case 1083 : /* fall through */
1776 case 1084 : /* fall through */
1777 case 1085 : /* fall through */
1778 case 1086 : /* fall through */
1779 case 1087 : /* fall through */
1780 case 1088 : /* fall through */
1781 case 1089 : /* fall through */
1782 case 1090 : /* fall through */
1783 case 1091 : /* fall through */
1784 case 1092 : /* fall through */
1785 case 1093 : /* fall through */
1786 case 1094 : /* fall through */
1787 case 1095 : /* fall through */
1788 case 1096 : /* fall through */
1789 case 1097 : /* fall through */
1790 case 1098 : /* fall through */
1791 case 1099 : /* fall through */
1792 case 1100 : /* fall through */
1793 case 1101 : /* fall through */
1794 case 1102 : /* fall through */
1795 case 1103 : /* fall through */
1796 case 1104 : /* fall through */
1797 case 1105 : /* fall through */
1798 case 1106 : /* fall through */
1799 case 1107 : /* fall through */
1800 case 1108 : /* fall through */
1801 case 1109 : /* fall through */
1802 case 1110 : /* fall through */
1803 case 1111 : /* fall through */
1804 case 1112 : /* fall through */
1805 case 1113 : /* fall through */
1806 case 1114 : /* fall through */
1807 case 1115 : /* fall through */
1808 case 1116 : /* fall through */
1809 case 1117 : /* fall through */
1810 case 1118 : /* fall through */
1811 case 1119 : /* fall through */
1812 case 1120 : /* fall through */
1813 case 1121 : /* fall through */
1814 case 1122 : /* fall through */
1815 case 1123 : /* fall through */
1816 case 1124 : /* fall through */
1817 case 1125 : /* fall through */
1818 case 1126 : /* fall through */
1819 case 1127 : /* fall through */
1820 case 1128 : /* fall through */
1821 case 1129 : /* fall through */
1822 case 1130 : /* fall through */
1823 case 1131 : /* fall through */
1824 case 1132 : /* fall through */
1825 case 1133 : /* fall through */
1826 case 1134 : /* fall through */
1827 case 1135 : /* fall through */
1828 case 1136 : /* fall through */
1829 case 1137 : /* fall through */
1830 case 1138 : /* fall through */
1831 case 1139 : /* fall through */
1832 case 1140 : /* fall through */
1833 case 1141 : /* fall through */
1834 case 1142 : /* fall through */
1835 case 1143 : /* fall through */
1836 case 1144 : /* fall through */
1837 case 1145 : /* fall through */
1838 case 1146 : /* fall through */
1839 case 1147 : /* fall through */
1840 case 1148 : /* fall through */
1841 case 1149 : /* fall through */
1842 case 1150 : /* fall through */
1845 unsigned int val = (((insn >> 8) & (15 << 0)));
1849 if ((entire_insn & 0xff00) == 0x8000)
1850 { itype = SH64_COMPACT_INSN_MOVB5_COMPACT; goto extract_sfmt_movb5_compact; }
1851 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1853 if ((entire_insn & 0xff00) == 0x8100)
1854 { itype = SH64_COMPACT_INSN_MOVW5_COMPACT; goto extract_sfmt_movw5_compact; }
1855 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1857 if ((entire_insn & 0xff00) == 0x8400)
1858 { itype = SH64_COMPACT_INSN_MOVB10_COMPACT; goto extract_sfmt_movb10_compact; }
1859 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1861 if ((entire_insn & 0xff00) == 0x8500)
1862 { itype = SH64_COMPACT_INSN_MOVW11_COMPACT; goto extract_sfmt_movw11_compact; }
1863 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1865 if ((entire_insn & 0xff00) == 0x8800)
1866 { itype = SH64_COMPACT_INSN_CMPEQI_COMPACT; goto extract_sfmt_cmpeqi_compact; }
1867 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1869 if ((entire_insn & 0xff00) == 0x8900)
1870 { itype = SH64_COMPACT_INSN_BT_COMPACT; goto extract_sfmt_bf_compact; }
1871 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1873 if ((entire_insn & 0xff00) == 0x8b00)
1874 { itype = SH64_COMPACT_INSN_BF_COMPACT; goto extract_sfmt_bf_compact; }
1875 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1877 if ((entire_insn & 0xff00) == 0x8d00)
1878 { itype = SH64_COMPACT_INSN_BTS_COMPACT; goto extract_sfmt_bfs_compact; }
1879 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1881 if ((entire_insn & 0xff00) == 0x8f00)
1882 { itype = SH64_COMPACT_INSN_BFS_COMPACT; goto extract_sfmt_bfs_compact; }
1883 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1884 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
1887 case 1152 : /* fall through */
1888 case 1153 : /* fall through */
1889 case 1154 : /* fall through */
1890 case 1155 : /* fall through */
1891 case 1156 : /* fall through */
1892 case 1157 : /* fall through */
1893 case 1158 : /* fall through */
1894 case 1159 : /* fall through */
1895 case 1160 : /* fall through */
1896 case 1161 : /* fall through */
1897 case 1162 : /* fall through */
1898 case 1163 : /* fall through */
1899 case 1164 : /* fall through */
1900 case 1165 : /* fall through */
1901 case 1166 : /* fall through */
1902 case 1167 : /* fall through */
1903 case 1168 : /* fall through */
1904 case 1169 : /* fall through */
1905 case 1170 : /* fall through */
1906 case 1171 : /* fall through */
1907 case 1172 : /* fall through */
1908 case 1173 : /* fall through */
1909 case 1174 : /* fall through */
1910 case 1175 : /* fall through */
1911 case 1176 : /* fall through */
1912 case 1177 : /* fall through */
1913 case 1178 : /* fall through */
1914 case 1179 : /* fall through */
1915 case 1180 : /* fall through */
1916 case 1181 : /* fall through */
1917 case 1182 : /* fall through */
1918 case 1183 : /* fall through */
1919 case 1184 : /* fall through */
1920 case 1185 : /* fall through */
1921 case 1186 : /* fall through */
1922 case 1187 : /* fall through */
1923 case 1188 : /* fall through */
1924 case 1189 : /* fall through */
1925 case 1190 : /* fall through */
1926 case 1191 : /* fall through */
1927 case 1192 : /* fall through */
1928 case 1193 : /* fall through */
1929 case 1194 : /* fall through */
1930 case 1195 : /* fall through */
1931 case 1196 : /* fall through */
1932 case 1197 : /* fall through */
1933 case 1198 : /* fall through */
1934 case 1199 : /* fall through */
1935 case 1200 : /* fall through */
1936 case 1201 : /* fall through */
1937 case 1202 : /* fall through */
1938 case 1203 : /* fall through */
1939 case 1204 : /* fall through */
1940 case 1205 : /* fall through */
1941 case 1206 : /* fall through */
1942 case 1207 : /* fall through */
1943 case 1208 : /* fall through */
1944 case 1209 : /* fall through */
1945 case 1210 : /* fall through */
1946 case 1211 : /* fall through */
1947 case 1212 : /* fall through */
1948 case 1213 : /* fall through */
1949 case 1214 : /* fall through */
1950 case 1215 : /* fall through */
1951 case 1216 : /* fall through */
1952 case 1217 : /* fall through */
1953 case 1218 : /* fall through */
1954 case 1219 : /* fall through */
1955 case 1220 : /* fall through */
1956 case 1221 : /* fall through */
1957 case 1222 : /* fall through */
1958 case 1223 : /* fall through */
1959 case 1224 : /* fall through */
1960 case 1225 : /* fall through */
1961 case 1226 : /* fall through */
1962 case 1227 : /* fall through */
1963 case 1228 : /* fall through */
1964 case 1229 : /* fall through */
1965 case 1230 : /* fall through */
1966 case 1231 : /* fall through */
1967 case 1232 : /* fall through */
1968 case 1233 : /* fall through */
1969 case 1234 : /* fall through */
1970 case 1235 : /* fall through */
1971 case 1236 : /* fall through */
1972 case 1237 : /* fall through */
1973 case 1238 : /* fall through */
1974 case 1239 : /* fall through */
1975 case 1240 : /* fall through */
1976 case 1241 : /* fall through */
1977 case 1242 : /* fall through */
1978 case 1243 : /* fall through */
1979 case 1244 : /* fall through */
1980 case 1245 : /* fall through */
1981 case 1246 : /* fall through */
1982 case 1247 : /* fall through */
1983 case 1248 : /* fall through */
1984 case 1249 : /* fall through */
1985 case 1250 : /* fall through */
1986 case 1251 : /* fall through */
1987 case 1252 : /* fall through */
1988 case 1253 : /* fall through */
1989 case 1254 : /* fall through */
1990 case 1255 : /* fall through */
1991 case 1256 : /* fall through */
1992 case 1257 : /* fall through */
1993 case 1258 : /* fall through */
1994 case 1259 : /* fall through */
1995 case 1260 : /* fall through */
1996 case 1261 : /* fall through */
1997 case 1262 : /* fall through */
1998 case 1263 : /* fall through */
1999 case 1264 : /* fall through */
2000 case 1265 : /* fall through */
2001 case 1266 : /* fall through */
2002 case 1267 : /* fall through */
2003 case 1268 : /* fall through */
2004 case 1269 : /* fall through */
2005 case 1270 : /* fall through */
2006 case 1271 : /* fall through */
2007 case 1272 : /* fall through */
2008 case 1273 : /* fall through */
2009 case 1274 : /* fall through */
2010 case 1275 : /* fall through */
2011 case 1276 : /* fall through */
2012 case 1277 : /* fall through */
2013 case 1278 : /* fall through */
2015 if ((entire_insn & 0xf000) == 0x9000)
2016 { itype = SH64_COMPACT_INSN_MOVW10_COMPACT; goto extract_sfmt_movw10_compact; }
2017 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2018 case 1280 : /* fall through */
2019 case 1281 : /* fall through */
2020 case 1282 : /* fall through */
2021 case 1283 : /* fall through */
2022 case 1284 : /* fall through */
2023 case 1285 : /* fall through */
2024 case 1286 : /* fall through */
2025 case 1287 : /* fall through */
2026 case 1288 : /* fall through */
2027 case 1289 : /* fall through */
2028 case 1290 : /* fall through */
2029 case 1291 : /* fall through */
2030 case 1292 : /* fall through */
2031 case 1293 : /* fall through */
2032 case 1294 : /* fall through */
2033 case 1295 : /* fall through */
2034 case 1296 : /* fall through */
2035 case 1297 : /* fall through */
2036 case 1298 : /* fall through */
2037 case 1299 : /* fall through */
2038 case 1300 : /* fall through */
2039 case 1301 : /* fall through */
2040 case 1302 : /* fall through */
2041 case 1303 : /* fall through */
2042 case 1304 : /* fall through */
2043 case 1305 : /* fall through */
2044 case 1306 : /* fall through */
2045 case 1307 : /* fall through */
2046 case 1308 : /* fall through */
2047 case 1309 : /* fall through */
2048 case 1310 : /* fall through */
2049 case 1311 : /* fall through */
2050 case 1312 : /* fall through */
2051 case 1313 : /* fall through */
2052 case 1314 : /* fall through */
2053 case 1315 : /* fall through */
2054 case 1316 : /* fall through */
2055 case 1317 : /* fall through */
2056 case 1318 : /* fall through */
2057 case 1319 : /* fall through */
2058 case 1320 : /* fall through */
2059 case 1321 : /* fall through */
2060 case 1322 : /* fall through */
2061 case 1323 : /* fall through */
2062 case 1324 : /* fall through */
2063 case 1325 : /* fall through */
2064 case 1326 : /* fall through */
2065 case 1327 : /* fall through */
2066 case 1328 : /* fall through */
2067 case 1329 : /* fall through */
2068 case 1330 : /* fall through */
2069 case 1331 : /* fall through */
2070 case 1332 : /* fall through */
2071 case 1333 : /* fall through */
2072 case 1334 : /* fall through */
2073 case 1335 : /* fall through */
2074 case 1336 : /* fall through */
2075 case 1337 : /* fall through */
2076 case 1338 : /* fall through */
2077 case 1339 : /* fall through */
2078 case 1340 : /* fall through */
2079 case 1341 : /* fall through */
2080 case 1342 : /* fall through */
2081 case 1343 : /* fall through */
2082 case 1344 : /* fall through */
2083 case 1345 : /* fall through */
2084 case 1346 : /* fall through */
2085 case 1347 : /* fall through */
2086 case 1348 : /* fall through */
2087 case 1349 : /* fall through */
2088 case 1350 : /* fall through */
2089 case 1351 : /* fall through */
2090 case 1352 : /* fall through */
2091 case 1353 : /* fall through */
2092 case 1354 : /* fall through */
2093 case 1355 : /* fall through */
2094 case 1356 : /* fall through */
2095 case 1357 : /* fall through */
2096 case 1358 : /* fall through */
2097 case 1359 : /* fall through */
2098 case 1360 : /* fall through */
2099 case 1361 : /* fall through */
2100 case 1362 : /* fall through */
2101 case 1363 : /* fall through */
2102 case 1364 : /* fall through */
2103 case 1365 : /* fall through */
2104 case 1366 : /* fall through */
2105 case 1367 : /* fall through */
2106 case 1368 : /* fall through */
2107 case 1369 : /* fall through */
2108 case 1370 : /* fall through */
2109 case 1371 : /* fall through */
2110 case 1372 : /* fall through */
2111 case 1373 : /* fall through */
2112 case 1374 : /* fall through */
2113 case 1375 : /* fall through */
2114 case 1376 : /* fall through */
2115 case 1377 : /* fall through */
2116 case 1378 : /* fall through */
2117 case 1379 : /* fall through */
2118 case 1380 : /* fall through */
2119 case 1381 : /* fall through */
2120 case 1382 : /* fall through */
2121 case 1383 : /* fall through */
2122 case 1384 : /* fall through */
2123 case 1385 : /* fall through */
2124 case 1386 : /* fall through */
2125 case 1387 : /* fall through */
2126 case 1388 : /* fall through */
2127 case 1389 : /* fall through */
2128 case 1390 : /* fall through */
2129 case 1391 : /* fall through */
2130 case 1392 : /* fall through */
2131 case 1393 : /* fall through */
2132 case 1394 : /* fall through */
2133 case 1395 : /* fall through */
2134 case 1396 : /* fall through */
2135 case 1397 : /* fall through */
2136 case 1398 : /* fall through */
2137 case 1399 : /* fall through */
2138 case 1400 : /* fall through */
2139 case 1401 : /* fall through */
2140 case 1402 : /* fall through */
2141 case 1403 : /* fall through */
2142 case 1404 : /* fall through */
2143 case 1405 : /* fall through */
2144 case 1406 : /* fall through */
2146 if ((entire_insn & 0xf000) == 0xa000)
2147 { itype = SH64_COMPACT_INSN_BRA_COMPACT; goto extract_sfmt_bra_compact; }
2148 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2149 case 1408 : /* fall through */
2150 case 1409 : /* fall through */
2151 case 1410 : /* fall through */
2152 case 1411 : /* fall through */
2153 case 1412 : /* fall through */
2154 case 1413 : /* fall through */
2155 case 1414 : /* fall through */
2156 case 1415 : /* fall through */
2157 case 1416 : /* fall through */
2158 case 1417 : /* fall through */
2159 case 1418 : /* fall through */
2160 case 1419 : /* fall through */
2161 case 1420 : /* fall through */
2162 case 1421 : /* fall through */
2163 case 1422 : /* fall through */
2164 case 1423 : /* fall through */
2165 case 1424 : /* fall through */
2166 case 1425 : /* fall through */
2167 case 1426 : /* fall through */
2168 case 1427 : /* fall through */
2169 case 1428 : /* fall through */
2170 case 1429 : /* fall through */
2171 case 1430 : /* fall through */
2172 case 1431 : /* fall through */
2173 case 1432 : /* fall through */
2174 case 1433 : /* fall through */
2175 case 1434 : /* fall through */
2176 case 1435 : /* fall through */
2177 case 1436 : /* fall through */
2178 case 1437 : /* fall through */
2179 case 1438 : /* fall through */
2180 case 1439 : /* fall through */
2181 case 1440 : /* fall through */
2182 case 1441 : /* fall through */
2183 case 1442 : /* fall through */
2184 case 1443 : /* fall through */
2185 case 1444 : /* fall through */
2186 case 1445 : /* fall through */
2187 case 1446 : /* fall through */
2188 case 1447 : /* fall through */
2189 case 1448 : /* fall through */
2190 case 1449 : /* fall through */
2191 case 1450 : /* fall through */
2192 case 1451 : /* fall through */
2193 case 1452 : /* fall through */
2194 case 1453 : /* fall through */
2195 case 1454 : /* fall through */
2196 case 1455 : /* fall through */
2197 case 1456 : /* fall through */
2198 case 1457 : /* fall through */
2199 case 1458 : /* fall through */
2200 case 1459 : /* fall through */
2201 case 1460 : /* fall through */
2202 case 1461 : /* fall through */
2203 case 1462 : /* fall through */
2204 case 1463 : /* fall through */
2205 case 1464 : /* fall through */
2206 case 1465 : /* fall through */
2207 case 1466 : /* fall through */
2208 case 1467 : /* fall through */
2209 case 1468 : /* fall through */
2210 case 1469 : /* fall through */
2211 case 1470 : /* fall through */
2212 case 1471 : /* fall through */
2213 case 1472 : /* fall through */
2214 case 1473 : /* fall through */
2215 case 1474 : /* fall through */
2216 case 1475 : /* fall through */
2217 case 1476 : /* fall through */
2218 case 1477 : /* fall through */
2219 case 1478 : /* fall through */
2220 case 1479 : /* fall through */
2221 case 1480 : /* fall through */
2222 case 1481 : /* fall through */
2223 case 1482 : /* fall through */
2224 case 1483 : /* fall through */
2225 case 1484 : /* fall through */
2226 case 1485 : /* fall through */
2227 case 1486 : /* fall through */
2228 case 1487 : /* fall through */
2229 case 1488 : /* fall through */
2230 case 1489 : /* fall through */
2231 case 1490 : /* fall through */
2232 case 1491 : /* fall through */
2233 case 1492 : /* fall through */
2234 case 1493 : /* fall through */
2235 case 1494 : /* fall through */
2236 case 1495 : /* fall through */
2237 case 1496 : /* fall through */
2238 case 1497 : /* fall through */
2239 case 1498 : /* fall through */
2240 case 1499 : /* fall through */
2241 case 1500 : /* fall through */
2242 case 1501 : /* fall through */
2243 case 1502 : /* fall through */
2244 case 1503 : /* fall through */
2245 case 1504 : /* fall through */
2246 case 1505 : /* fall through */
2247 case 1506 : /* fall through */
2248 case 1507 : /* fall through */
2249 case 1508 : /* fall through */
2250 case 1509 : /* fall through */
2251 case 1510 : /* fall through */
2252 case 1511 : /* fall through */
2253 case 1512 : /* fall through */
2254 case 1513 : /* fall through */
2255 case 1514 : /* fall through */
2256 case 1515 : /* fall through */
2257 case 1516 : /* fall through */
2258 case 1517 : /* fall through */
2259 case 1518 : /* fall through */
2260 case 1519 : /* fall through */
2261 case 1520 : /* fall through */
2262 case 1521 : /* fall through */
2263 case 1522 : /* fall through */
2264 case 1523 : /* fall through */
2265 case 1524 : /* fall through */
2266 case 1525 : /* fall through */
2267 case 1526 : /* fall through */
2268 case 1527 : /* fall through */
2269 case 1528 : /* fall through */
2270 case 1529 : /* fall through */
2271 case 1530 : /* fall through */
2272 case 1531 : /* fall through */
2273 case 1532 : /* fall through */
2274 case 1533 : /* fall through */
2275 case 1534 : /* fall through */
2277 if ((entire_insn & 0xf000) == 0xb000)
2278 { itype = SH64_COMPACT_INSN_BSR_COMPACT; goto extract_sfmt_bsr_compact; }
2279 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2280 case 1536 : /* fall through */
2281 case 1537 : /* fall through */
2282 case 1538 : /* fall through */
2283 case 1539 : /* fall through */
2284 case 1540 : /* fall through */
2285 case 1541 : /* fall through */
2286 case 1542 : /* fall through */
2287 case 1543 : /* fall through */
2288 case 1544 : /* fall through */
2289 case 1545 : /* fall through */
2290 case 1546 : /* fall through */
2291 case 1547 : /* fall through */
2292 case 1548 : /* fall through */
2293 case 1549 : /* fall through */
2294 case 1550 : /* fall through */
2295 case 1551 : /* fall through */
2296 case 1552 : /* fall through */
2297 case 1553 : /* fall through */
2298 case 1554 : /* fall through */
2299 case 1555 : /* fall through */
2300 case 1556 : /* fall through */
2301 case 1557 : /* fall through */
2302 case 1558 : /* fall through */
2303 case 1559 : /* fall through */
2304 case 1560 : /* fall through */
2305 case 1561 : /* fall through */
2306 case 1562 : /* fall through */
2307 case 1563 : /* fall through */
2308 case 1564 : /* fall through */
2309 case 1565 : /* fall through */
2310 case 1566 : /* fall through */
2311 case 1567 : /* fall through */
2312 case 1568 : /* fall through */
2313 case 1569 : /* fall through */
2314 case 1570 : /* fall through */
2315 case 1571 : /* fall through */
2316 case 1572 : /* fall through */
2317 case 1573 : /* fall through */
2318 case 1574 : /* fall through */
2319 case 1575 : /* fall through */
2320 case 1576 : /* fall through */
2321 case 1577 : /* fall through */
2322 case 1578 : /* fall through */
2323 case 1579 : /* fall through */
2324 case 1580 : /* fall through */
2325 case 1581 : /* fall through */
2326 case 1582 : /* fall through */
2327 case 1583 : /* fall through */
2328 case 1584 : /* fall through */
2329 case 1585 : /* fall through */
2330 case 1586 : /* fall through */
2331 case 1587 : /* fall through */
2332 case 1588 : /* fall through */
2333 case 1589 : /* fall through */
2334 case 1590 : /* fall through */
2335 case 1591 : /* fall through */
2336 case 1592 : /* fall through */
2337 case 1593 : /* fall through */
2338 case 1594 : /* fall through */
2339 case 1595 : /* fall through */
2340 case 1596 : /* fall through */
2341 case 1597 : /* fall through */
2342 case 1598 : /* fall through */
2343 case 1599 : /* fall through */
2344 case 1600 : /* fall through */
2345 case 1601 : /* fall through */
2346 case 1602 : /* fall through */
2347 case 1603 : /* fall through */
2348 case 1604 : /* fall through */
2349 case 1605 : /* fall through */
2350 case 1606 : /* fall through */
2351 case 1607 : /* fall through */
2352 case 1608 : /* fall through */
2353 case 1609 : /* fall through */
2354 case 1610 : /* fall through */
2355 case 1611 : /* fall through */
2356 case 1612 : /* fall through */
2357 case 1613 : /* fall through */
2358 case 1614 : /* fall through */
2359 case 1615 : /* fall through */
2360 case 1616 : /* fall through */
2361 case 1617 : /* fall through */
2362 case 1618 : /* fall through */
2363 case 1619 : /* fall through */
2364 case 1620 : /* fall through */
2365 case 1621 : /* fall through */
2366 case 1622 : /* fall through */
2367 case 1623 : /* fall through */
2368 case 1624 : /* fall through */
2369 case 1625 : /* fall through */
2370 case 1626 : /* fall through */
2371 case 1627 : /* fall through */
2372 case 1628 : /* fall through */
2373 case 1629 : /* fall through */
2374 case 1630 : /* fall through */
2375 case 1631 : /* fall through */
2376 case 1632 : /* fall through */
2377 case 1633 : /* fall through */
2378 case 1634 : /* fall through */
2379 case 1635 : /* fall through */
2380 case 1636 : /* fall through */
2381 case 1637 : /* fall through */
2382 case 1638 : /* fall through */
2383 case 1639 : /* fall through */
2384 case 1640 : /* fall through */
2385 case 1641 : /* fall through */
2386 case 1642 : /* fall through */
2387 case 1643 : /* fall through */
2388 case 1644 : /* fall through */
2389 case 1645 : /* fall through */
2390 case 1646 : /* fall through */
2391 case 1647 : /* fall through */
2392 case 1648 : /* fall through */
2393 case 1649 : /* fall through */
2394 case 1650 : /* fall through */
2395 case 1651 : /* fall through */
2396 case 1652 : /* fall through */
2397 case 1653 : /* fall through */
2398 case 1654 : /* fall through */
2399 case 1655 : /* fall through */
2400 case 1656 : /* fall through */
2401 case 1657 : /* fall through */
2402 case 1658 : /* fall through */
2403 case 1659 : /* fall through */
2404 case 1660 : /* fall through */
2405 case 1661 : /* fall through */
2406 case 1662 : /* fall through */
2409 unsigned int val = (((insn >> 8) & (15 << 0)));
2413 if ((entire_insn & 0xff00) == 0xc000)
2414 { itype = SH64_COMPACT_INSN_MOVB4_COMPACT; goto extract_sfmt_movb4_compact; }
2415 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2417 if ((entire_insn & 0xff00) == 0xc100)
2418 { itype = SH64_COMPACT_INSN_MOVW4_COMPACT; goto extract_sfmt_movw4_compact; }
2419 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2421 if ((entire_insn & 0xff00) == 0xc200)
2422 { itype = SH64_COMPACT_INSN_MOVL4_COMPACT; goto extract_sfmt_movl4_compact; }
2423 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2425 if ((entire_insn & 0xff00) == 0xc300)
2426 { itype = SH64_COMPACT_INSN_TRAPA_COMPACT; goto extract_sfmt_trapa_compact; }
2427 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2429 if ((entire_insn & 0xff00) == 0xc400)
2430 { itype = SH64_COMPACT_INSN_MOVB9_COMPACT; goto extract_sfmt_movb9_compact; }
2431 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2433 if ((entire_insn & 0xff00) == 0xc500)
2434 { itype = SH64_COMPACT_INSN_MOVW9_COMPACT; goto extract_sfmt_movw9_compact; }
2435 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2437 if ((entire_insn & 0xff00) == 0xc600)
2438 { itype = SH64_COMPACT_INSN_MOVL9_COMPACT; goto extract_sfmt_movl9_compact; }
2439 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2441 if ((entire_insn & 0xff00) == 0xc700)
2442 { itype = SH64_COMPACT_INSN_MOVA_COMPACT; goto extract_sfmt_mova_compact; }
2443 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2445 if ((entire_insn & 0xff00) == 0xc800)
2446 { itype = SH64_COMPACT_INSN_TSTI_COMPACT; goto extract_sfmt_tsti_compact; }
2447 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2449 if ((entire_insn & 0xff00) == 0xc900)
2450 { itype = SH64_COMPACT_INSN_ANDI_COMPACT; goto extract_sfmt_andi_compact; }
2451 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2453 if ((entire_insn & 0xff00) == 0xca00)
2454 { itype = SH64_COMPACT_INSN_XORI_COMPACT; goto extract_sfmt_andi_compact; }
2455 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2457 if ((entire_insn & 0xff00) == 0xcb00)
2458 { itype = SH64_COMPACT_INSN_ORI_COMPACT; goto extract_sfmt_andi_compact; }
2459 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2461 if ((entire_insn & 0xff00) == 0xcc00)
2462 { itype = SH64_COMPACT_INSN_TSTB_COMPACT; goto extract_sfmt_tstb_compact; }
2463 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2465 if ((entire_insn & 0xff00) == 0xcd00)
2466 { itype = SH64_COMPACT_INSN_ANDB_COMPACT; goto extract_sfmt_andb_compact; }
2467 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2469 if ((entire_insn & 0xff00) == 0xce00)
2470 { itype = SH64_COMPACT_INSN_XORB_COMPACT; goto extract_sfmt_andb_compact; }
2471 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2473 if ((entire_insn & 0xff00) == 0xcf00)
2474 { itype = SH64_COMPACT_INSN_ORB_COMPACT; goto extract_sfmt_andb_compact; }
2475 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2476 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2479 case 1664 : /* fall through */
2480 case 1665 : /* fall through */
2481 case 1666 : /* fall through */
2482 case 1667 : /* fall through */
2483 case 1668 : /* fall through */
2484 case 1669 : /* fall through */
2485 case 1670 : /* fall through */
2486 case 1671 : /* fall through */
2487 case 1672 : /* fall through */
2488 case 1673 : /* fall through */
2489 case 1674 : /* fall through */
2490 case 1675 : /* fall through */
2491 case 1676 : /* fall through */
2492 case 1677 : /* fall through */
2493 case 1678 : /* fall through */
2494 case 1679 : /* fall through */
2495 case 1680 : /* fall through */
2496 case 1681 : /* fall through */
2497 case 1682 : /* fall through */
2498 case 1683 : /* fall through */
2499 case 1684 : /* fall through */
2500 case 1685 : /* fall through */
2501 case 1686 : /* fall through */
2502 case 1687 : /* fall through */
2503 case 1688 : /* fall through */
2504 case 1689 : /* fall through */
2505 case 1690 : /* fall through */
2506 case 1691 : /* fall through */
2507 case 1692 : /* fall through */
2508 case 1693 : /* fall through */
2509 case 1694 : /* fall through */
2510 case 1695 : /* fall through */
2511 case 1696 : /* fall through */
2512 case 1697 : /* fall through */
2513 case 1698 : /* fall through */
2514 case 1699 : /* fall through */
2515 case 1700 : /* fall through */
2516 case 1701 : /* fall through */
2517 case 1702 : /* fall through */
2518 case 1703 : /* fall through */
2519 case 1704 : /* fall through */
2520 case 1705 : /* fall through */
2521 case 1706 : /* fall through */
2522 case 1707 : /* fall through */
2523 case 1708 : /* fall through */
2524 case 1709 : /* fall through */
2525 case 1710 : /* fall through */
2526 case 1711 : /* fall through */
2527 case 1712 : /* fall through */
2528 case 1713 : /* fall through */
2529 case 1714 : /* fall through */
2530 case 1715 : /* fall through */
2531 case 1716 : /* fall through */
2532 case 1717 : /* fall through */
2533 case 1718 : /* fall through */
2534 case 1719 : /* fall through */
2535 case 1720 : /* fall through */
2536 case 1721 : /* fall through */
2537 case 1722 : /* fall through */
2538 case 1723 : /* fall through */
2539 case 1724 : /* fall through */
2540 case 1725 : /* fall through */
2541 case 1726 : /* fall through */
2542 case 1727 : /* fall through */
2543 case 1728 : /* fall through */
2544 case 1729 : /* fall through */
2545 case 1730 : /* fall through */
2546 case 1731 : /* fall through */
2547 case 1732 : /* fall through */
2548 case 1733 : /* fall through */
2549 case 1734 : /* fall through */
2550 case 1735 : /* fall through */
2551 case 1736 : /* fall through */
2552 case 1737 : /* fall through */
2553 case 1738 : /* fall through */
2554 case 1739 : /* fall through */
2555 case 1740 : /* fall through */
2556 case 1741 : /* fall through */
2557 case 1742 : /* fall through */
2558 case 1743 : /* fall through */
2559 case 1744 : /* fall through */
2560 case 1745 : /* fall through */
2561 case 1746 : /* fall through */
2562 case 1747 : /* fall through */
2563 case 1748 : /* fall through */
2564 case 1749 : /* fall through */
2565 case 1750 : /* fall through */
2566 case 1751 : /* fall through */
2567 case 1752 : /* fall through */
2568 case 1753 : /* fall through */
2569 case 1754 : /* fall through */
2570 case 1755 : /* fall through */
2571 case 1756 : /* fall through */
2572 case 1757 : /* fall through */
2573 case 1758 : /* fall through */
2574 case 1759 : /* fall through */
2575 case 1760 : /* fall through */
2576 case 1761 : /* fall through */
2577 case 1762 : /* fall through */
2578 case 1763 : /* fall through */
2579 case 1764 : /* fall through */
2580 case 1765 : /* fall through */
2581 case 1766 : /* fall through */
2582 case 1767 : /* fall through */
2583 case 1768 : /* fall through */
2584 case 1769 : /* fall through */
2585 case 1770 : /* fall through */
2586 case 1771 : /* fall through */
2587 case 1772 : /* fall through */
2588 case 1773 : /* fall through */
2589 case 1774 : /* fall through */
2590 case 1775 : /* fall through */
2591 case 1776 : /* fall through */
2592 case 1777 : /* fall through */
2593 case 1778 : /* fall through */
2594 case 1779 : /* fall through */
2595 case 1780 : /* fall through */
2596 case 1781 : /* fall through */
2597 case 1782 : /* fall through */
2598 case 1783 : /* fall through */
2599 case 1784 : /* fall through */
2600 case 1785 : /* fall through */
2601 case 1786 : /* fall through */
2602 case 1787 : /* fall through */
2603 case 1788 : /* fall through */
2604 case 1789 : /* fall through */
2605 case 1790 : /* fall through */
2607 if ((entire_insn & 0xf000) == 0xd000)
2608 { itype = SH64_COMPACT_INSN_MOVL10_COMPACT; goto extract_sfmt_movl10_compact; }
2609 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2610 case 1792 : /* fall through */
2611 case 1793 : /* fall through */
2612 case 1794 : /* fall through */
2613 case 1795 : /* fall through */
2614 case 1796 : /* fall through */
2615 case 1797 : /* fall through */
2616 case 1798 : /* fall through */
2617 case 1799 : /* fall through */
2618 case 1800 : /* fall through */
2619 case 1801 : /* fall through */
2620 case 1802 : /* fall through */
2621 case 1803 : /* fall through */
2622 case 1804 : /* fall through */
2623 case 1805 : /* fall through */
2624 case 1806 : /* fall through */
2625 case 1807 : /* fall through */
2626 case 1808 : /* fall through */
2627 case 1809 : /* fall through */
2628 case 1810 : /* fall through */
2629 case 1811 : /* fall through */
2630 case 1812 : /* fall through */
2631 case 1813 : /* fall through */
2632 case 1814 : /* fall through */
2633 case 1815 : /* fall through */
2634 case 1816 : /* fall through */
2635 case 1817 : /* fall through */
2636 case 1818 : /* fall through */
2637 case 1819 : /* fall through */
2638 case 1820 : /* fall through */
2639 case 1821 : /* fall through */
2640 case 1822 : /* fall through */
2641 case 1823 : /* fall through */
2642 case 1824 : /* fall through */
2643 case 1825 : /* fall through */
2644 case 1826 : /* fall through */
2645 case 1827 : /* fall through */
2646 case 1828 : /* fall through */
2647 case 1829 : /* fall through */
2648 case 1830 : /* fall through */
2649 case 1831 : /* fall through */
2650 case 1832 : /* fall through */
2651 case 1833 : /* fall through */
2652 case 1834 : /* fall through */
2653 case 1835 : /* fall through */
2654 case 1836 : /* fall through */
2655 case 1837 : /* fall through */
2656 case 1838 : /* fall through */
2657 case 1839 : /* fall through */
2658 case 1840 : /* fall through */
2659 case 1841 : /* fall through */
2660 case 1842 : /* fall through */
2661 case 1843 : /* fall through */
2662 case 1844 : /* fall through */
2663 case 1845 : /* fall through */
2664 case 1846 : /* fall through */
2665 case 1847 : /* fall through */
2666 case 1848 : /* fall through */
2667 case 1849 : /* fall through */
2668 case 1850 : /* fall through */
2669 case 1851 : /* fall through */
2670 case 1852 : /* fall through */
2671 case 1853 : /* fall through */
2672 case 1854 : /* fall through */
2673 case 1855 : /* fall through */
2674 case 1856 : /* fall through */
2675 case 1857 : /* fall through */
2676 case 1858 : /* fall through */
2677 case 1859 : /* fall through */
2678 case 1860 : /* fall through */
2679 case 1861 : /* fall through */
2680 case 1862 : /* fall through */
2681 case 1863 : /* fall through */
2682 case 1864 : /* fall through */
2683 case 1865 : /* fall through */
2684 case 1866 : /* fall through */
2685 case 1867 : /* fall through */
2686 case 1868 : /* fall through */
2687 case 1869 : /* fall through */
2688 case 1870 : /* fall through */
2689 case 1871 : /* fall through */
2690 case 1872 : /* fall through */
2691 case 1873 : /* fall through */
2692 case 1874 : /* fall through */
2693 case 1875 : /* fall through */
2694 case 1876 : /* fall through */
2695 case 1877 : /* fall through */
2696 case 1878 : /* fall through */
2697 case 1879 : /* fall through */
2698 case 1880 : /* fall through */
2699 case 1881 : /* fall through */
2700 case 1882 : /* fall through */
2701 case 1883 : /* fall through */
2702 case 1884 : /* fall through */
2703 case 1885 : /* fall through */
2704 case 1886 : /* fall through */
2705 case 1887 : /* fall through */
2706 case 1888 : /* fall through */
2707 case 1889 : /* fall through */
2708 case 1890 : /* fall through */
2709 case 1891 : /* fall through */
2710 case 1892 : /* fall through */
2711 case 1893 : /* fall through */
2712 case 1894 : /* fall through */
2713 case 1895 : /* fall through */
2714 case 1896 : /* fall through */
2715 case 1897 : /* fall through */
2716 case 1898 : /* fall through */
2717 case 1899 : /* fall through */
2718 case 1900 : /* fall through */
2719 case 1901 : /* fall through */
2720 case 1902 : /* fall through */
2721 case 1903 : /* fall through */
2722 case 1904 : /* fall through */
2723 case 1905 : /* fall through */
2724 case 1906 : /* fall through */
2725 case 1907 : /* fall through */
2726 case 1908 : /* fall through */
2727 case 1909 : /* fall through */
2728 case 1910 : /* fall through */
2729 case 1911 : /* fall through */
2730 case 1912 : /* fall through */
2731 case 1913 : /* fall through */
2732 case 1914 : /* fall through */
2733 case 1915 : /* fall through */
2734 case 1916 : /* fall through */
2735 case 1917 : /* fall through */
2736 case 1918 : /* fall through */
2738 if ((entire_insn & 0xf000) == 0xe000)
2739 { itype = SH64_COMPACT_INSN_MOVI_COMPACT; goto extract_sfmt_movi_compact; }
2740 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2741 case 1920 : /* fall through */
2742 case 1936 : /* fall through */
2743 case 1952 : /* fall through */
2744 case 1968 : /* fall through */
2745 case 1984 : /* fall through */
2746 case 2000 : /* fall through */
2747 case 2016 : /* fall through */
2749 if ((entire_insn & 0xf00f) == 0xf000)
2750 { itype = SH64_COMPACT_INSN_FADD_COMPACT; goto extract_sfmt_fadd_compact; }
2751 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2752 case 1921 : /* fall through */
2753 case 1937 : /* fall through */
2754 case 1953 : /* fall through */
2755 case 1969 : /* fall through */
2756 case 1985 : /* fall through */
2757 case 2001 : /* fall through */
2758 case 2017 : /* fall through */
2760 if ((entire_insn & 0xf00f) == 0xf001)
2761 { itype = SH64_COMPACT_INSN_FSUB_COMPACT; goto extract_sfmt_fadd_compact; }
2762 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2763 case 1922 : /* fall through */
2764 case 1938 : /* fall through */
2765 case 1954 : /* fall through */
2766 case 1970 : /* fall through */
2767 case 1986 : /* fall through */
2768 case 2002 : /* fall through */
2769 case 2018 : /* fall through */
2771 if ((entire_insn & 0xf00f) == 0xf002)
2772 { itype = SH64_COMPACT_INSN_FMUL_COMPACT; goto extract_sfmt_fadd_compact; }
2773 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2774 case 1923 : /* fall through */
2775 case 1939 : /* fall through */
2776 case 1955 : /* fall through */
2777 case 1971 : /* fall through */
2778 case 1987 : /* fall through */
2779 case 2003 : /* fall through */
2780 case 2019 : /* fall through */
2782 if ((entire_insn & 0xf00f) == 0xf003)
2783 { itype = SH64_COMPACT_INSN_FDIV_COMPACT; goto extract_sfmt_fadd_compact; }
2784 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2785 case 1924 : /* fall through */
2786 case 1940 : /* fall through */
2787 case 1956 : /* fall through */
2788 case 1972 : /* fall through */
2789 case 1988 : /* fall through */
2790 case 2004 : /* fall through */
2791 case 2020 : /* fall through */
2793 if ((entire_insn & 0xf00f) == 0xf004)
2794 { itype = SH64_COMPACT_INSN_FCMPEQ_COMPACT; goto extract_sfmt_fcmpeq_compact; }
2795 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2796 case 1925 : /* fall through */
2797 case 1941 : /* fall through */
2798 case 1957 : /* fall through */
2799 case 1973 : /* fall through */
2800 case 1989 : /* fall through */
2801 case 2005 : /* fall through */
2802 case 2021 : /* fall through */
2804 if ((entire_insn & 0xf00f) == 0xf005)
2805 { itype = SH64_COMPACT_INSN_FCMPGT_COMPACT; goto extract_sfmt_fcmpeq_compact; }
2806 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2807 case 1926 : /* fall through */
2808 case 1942 : /* fall through */
2809 case 1958 : /* fall through */
2810 case 1974 : /* fall through */
2811 case 1990 : /* fall through */
2812 case 2006 : /* fall through */
2813 case 2022 : /* fall through */
2815 if ((entire_insn & 0xf00f) == 0xf006)
2816 { itype = SH64_COMPACT_INSN_FMOV4_COMPACT; goto extract_sfmt_fmov4_compact; }
2817 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2818 case 1927 : /* fall through */
2819 case 1943 : /* fall through */
2820 case 1959 : /* fall through */
2821 case 1975 : /* fall through */
2822 case 1991 : /* fall through */
2823 case 2007 : /* fall through */
2824 case 2023 : /* fall through */
2826 if ((entire_insn & 0xf00f) == 0xf007)
2827 { itype = SH64_COMPACT_INSN_FMOV7_COMPACT; goto extract_sfmt_fmov7_compact; }
2828 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2829 case 1928 : /* fall through */
2830 case 1944 : /* fall through */
2831 case 1960 : /* fall through */
2832 case 1976 : /* fall through */
2833 case 1992 : /* fall through */
2834 case 2008 : /* fall through */
2835 case 2024 : /* fall through */
2837 if ((entire_insn & 0xf00f) == 0xf008)
2838 { itype = SH64_COMPACT_INSN_FMOV2_COMPACT; goto extract_sfmt_fmov2_compact; }
2839 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2840 case 1929 : /* fall through */
2841 case 1945 : /* fall through */
2842 case 1961 : /* fall through */
2843 case 1977 : /* fall through */
2844 case 1993 : /* fall through */
2845 case 2009 : /* fall through */
2846 case 2025 : /* fall through */
2848 if ((entire_insn & 0xf00f) == 0xf009)
2849 { itype = SH64_COMPACT_INSN_FMOV3_COMPACT; goto extract_sfmt_fmov3_compact; }
2850 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2851 case 1930 : /* fall through */
2852 case 1946 : /* fall through */
2853 case 1962 : /* fall through */
2854 case 1978 : /* fall through */
2855 case 1994 : /* fall through */
2856 case 2010 : /* fall through */
2857 case 2026 : /* fall through */
2859 if ((entire_insn & 0xf00f) == 0xf00a)
2860 { itype = SH64_COMPACT_INSN_FMOV5_COMPACT; goto extract_sfmt_fmov5_compact; }
2861 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2862 case 1931 : /* fall through */
2863 case 1947 : /* fall through */
2864 case 1963 : /* fall through */
2865 case 1979 : /* fall through */
2866 case 1995 : /* fall through */
2867 case 2011 : /* fall through */
2868 case 2027 : /* fall through */
2870 if ((entire_insn & 0xf00f) == 0xf00b)
2871 { itype = SH64_COMPACT_INSN_FMOV6_COMPACT; goto extract_sfmt_fmov6_compact; }
2872 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2873 case 1932 : /* fall through */
2874 case 1948 : /* fall through */
2875 case 1964 : /* fall through */
2876 case 1980 : /* fall through */
2877 case 1996 : /* fall through */
2878 case 2012 : /* fall through */
2879 case 2028 : /* fall through */
2881 if ((entire_insn & 0xf00f) == 0xf00c)
2882 { itype = SH64_COMPACT_INSN_FMOV1_COMPACT; goto extract_sfmt_fmov1_compact; }
2883 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2886 unsigned int val = (((insn >> 7) & (1 << 0)));
2890 if ((entire_insn & 0xf0ff) == 0xf00d)
2891 { itype = SH64_COMPACT_INSN_FSTS_COMPACT; goto extract_sfmt_fsts_compact; }
2892 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2894 if ((entire_insn & 0xf0ff) == 0xf08d)
2895 { itype = SH64_COMPACT_INSN_FLDI0_COMPACT; goto extract_sfmt_fldi0_compact; }
2896 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2897 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2900 case 1934 : /* fall through */
2901 case 1950 : /* fall through */
2902 case 1966 : /* fall through */
2903 case 1982 : /* fall through */
2904 case 1998 : /* fall through */
2905 case 2014 : /* fall through */
2906 case 2030 : /* fall through */
2908 if ((entire_insn & 0xf00f) == 0xf00e)
2909 { itype = SH64_COMPACT_INSN_FMAC_COMPACT; goto extract_sfmt_fmac_compact; }
2910 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2913 unsigned int val = (((insn >> 7) & (1 << 0)));
2917 if ((entire_insn & 0xf0ff) == 0xf01d)
2918 { itype = SH64_COMPACT_INSN_FLDS_COMPACT; goto extract_sfmt_flds_compact; }
2919 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2921 if ((entire_insn & 0xf0ff) == 0xf09d)
2922 { itype = SH64_COMPACT_INSN_FLDI1_COMPACT; goto extract_sfmt_fldi0_compact; }
2923 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2924 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2929 unsigned int val = (((insn >> 7) & (1 << 0)));
2933 if ((entire_insn & 0xf0ff) == 0xf02d)
2934 { itype = SH64_COMPACT_INSN_FLOAT_COMPACT; goto extract_sfmt_float_compact; }
2935 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2937 if ((entire_insn & 0xf1ff) == 0xf0ad)
2938 { itype = SH64_COMPACT_INSN_FCNVSD_COMPACT; goto extract_sfmt_fcnvsd_compact; }
2939 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2940 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2945 unsigned int val = (((insn >> 7) & (1 << 0)));
2949 if ((entire_insn & 0xf0ff) == 0xf03d)
2950 { itype = SH64_COMPACT_INSN_FTRC_COMPACT; goto extract_sfmt_ftrc_compact; }
2951 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2953 if ((entire_insn & 0xf1ff) == 0xf0bd)
2954 { itype = SH64_COMPACT_INSN_FCNVDS_COMPACT; goto extract_sfmt_fcnvds_compact; }
2955 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2956 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2960 if ((entire_insn & 0xf0ff) == 0xf04d)
2961 { itype = SH64_COMPACT_INSN_FNEG_COMPACT; goto extract_sfmt_fabs_compact; }
2962 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2964 if ((entire_insn & 0xf0ff) == 0xf05d)
2965 { itype = SH64_COMPACT_INSN_FABS_COMPACT; goto extract_sfmt_fabs_compact; }
2966 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2969 unsigned int val = (((insn >> 7) & (1 << 0)));
2973 if ((entire_insn & 0xf0ff) == 0xf06d)
2974 { itype = SH64_COMPACT_INSN_FSQRT_COMPACT; goto extract_sfmt_fabs_compact; }
2975 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2977 if ((entire_insn & 0xf0ff) == 0xf0ed)
2978 { itype = SH64_COMPACT_INSN_FIPR_COMPACT; goto extract_sfmt_fipr_compact; }
2979 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2980 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2985 unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
2988 case 0 : /* fall through */
2990 if ((entire_insn & 0xf3ff) == 0xf1fd)
2991 { itype = SH64_COMPACT_INSN_FTRV_COMPACT; goto extract_sfmt_ftrv_compact; }
2992 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2994 if ((entire_insn & 0xffff) == 0xf3fd)
2995 { itype = SH64_COMPACT_INSN_FSCHG_COMPACT; goto extract_sfmt_fschg_compact; }
2996 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
2998 if ((entire_insn & 0xffff) == 0xfbfd)
2999 { itype = SH64_COMPACT_INSN_FRCHG_COMPACT; goto extract_sfmt_frchg_compact; }
3000 itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
3001 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
3004 default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
3009 /* The instruction has been decoded, now extract the fields. */
3013 const IDESC *idesc = &sh64_compact_insn_data[itype];
3014 #define FLD(f) abuf->fields.fmt_empty.f
3017 /* Record the fields for the semantic handler. */
3018 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
3024 extract_sfmt_add_compact:
3026 const IDESC *idesc = &sh64_compact_insn_data[itype];
3027 CGEN_INSN_INT insn = entire_insn;
3028 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3032 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3033 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3035 /* Record the fields for the semantic handler. */
3038 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3040 #if WITH_PROFILE_MODEL_P
3041 /* Record the fields for profiling. */
3042 if (PROFILE_MODEL_P (current_cpu))
3046 FLD (out_rn) = f_rn;
3053 extract_sfmt_addi_compact:
3055 const IDESC *idesc = &sh64_compact_insn_data[itype];
3056 CGEN_INSN_INT insn = entire_insn;
3057 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3061 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3062 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3064 /* Record the fields for the semantic handler. */
3065 FLD (f_imm8) = f_imm8;
3067 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3069 #if WITH_PROFILE_MODEL_P
3070 /* Record the fields for profiling. */
3071 if (PROFILE_MODEL_P (current_cpu))
3074 FLD (out_rn) = f_rn;
3081 extract_sfmt_addc_compact:
3083 const IDESC *idesc = &sh64_compact_insn_data[itype];
3084 CGEN_INSN_INT insn = entire_insn;
3085 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3089 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3090 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3092 /* Record the fields for the semantic handler. */
3095 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3097 #if WITH_PROFILE_MODEL_P
3098 /* Record the fields for profiling. */
3099 if (PROFILE_MODEL_P (current_cpu))
3103 FLD (out_rn) = f_rn;
3110 extract_sfmt_addv_compact:
3112 const IDESC *idesc = &sh64_compact_insn_data[itype];
3113 CGEN_INSN_INT insn = entire_insn;
3114 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3118 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3119 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3121 /* Record the fields for the semantic handler. */
3124 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3126 #if WITH_PROFILE_MODEL_P
3127 /* Record the fields for profiling. */
3128 if (PROFILE_MODEL_P (current_cpu))
3132 FLD (out_rn) = f_rn;
3139 extract_sfmt_and_compact:
3141 const IDESC *idesc = &sh64_compact_insn_data[itype];
3142 CGEN_INSN_INT insn = entire_insn;
3143 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3147 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3148 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3150 /* Record the fields for the semantic handler. */
3153 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3155 #if WITH_PROFILE_MODEL_P
3156 /* Record the fields for profiling. */
3157 if (PROFILE_MODEL_P (current_cpu))
3159 FLD (in_rm64) = f_rm;
3160 FLD (in_rn64) = f_rn;
3161 FLD (out_rn64) = f_rn;
3168 extract_sfmt_andi_compact:
3170 const IDESC *idesc = &sh64_compact_insn_data[itype];
3171 CGEN_INSN_INT insn = entire_insn;
3172 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3175 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3177 /* Record the fields for the semantic handler. */
3178 FLD (f_imm8) = f_imm8;
3179 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
3181 #if WITH_PROFILE_MODEL_P
3182 /* Record the fields for profiling. */
3183 if (PROFILE_MODEL_P (current_cpu))
3193 extract_sfmt_andb_compact:
3195 const IDESC *idesc = &sh64_compact_insn_data[itype];
3196 CGEN_INSN_INT insn = entire_insn;
3197 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3200 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3202 /* Record the fields for the semantic handler. */
3203 FLD (f_imm8) = f_imm8;
3204 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
3206 #if WITH_PROFILE_MODEL_P
3207 /* Record the fields for profiling. */
3208 if (PROFILE_MODEL_P (current_cpu))
3217 extract_sfmt_bf_compact:
3219 const IDESC *idesc = &sh64_compact_insn_data[itype];
3220 CGEN_INSN_INT insn = entire_insn;
3221 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3224 f_disp8 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3226 /* Record the fields for the semantic handler. */
3227 FLD (i_disp8) = f_disp8;
3228 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
3230 #if WITH_PROFILE_MODEL_P
3231 /* Record the fields for profiling. */
3232 if (PROFILE_MODEL_P (current_cpu))
3240 extract_sfmt_bfs_compact:
3242 const IDESC *idesc = &sh64_compact_insn_data[itype];
3243 CGEN_INSN_INT insn = entire_insn;
3244 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3247 f_disp8 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
3249 /* Record the fields for the semantic handler. */
3250 FLD (i_disp8) = f_disp8;
3251 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bfs_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
3253 #if WITH_PROFILE_MODEL_P
3254 /* Record the fields for profiling. */
3255 if (PROFILE_MODEL_P (current_cpu))
3263 extract_sfmt_bra_compact:
3265 const IDESC *idesc = &sh64_compact_insn_data[itype];
3266 CGEN_INSN_INT insn = entire_insn;
3267 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3270 f_disp12 = ((((EXTRACT_MSB0_INT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3272 /* Record the fields for the semantic handler. */
3273 FLD (i_disp12) = f_disp12;
3274 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
3276 #if WITH_PROFILE_MODEL_P
3277 /* Record the fields for profiling. */
3278 if (PROFILE_MODEL_P (current_cpu))
3286 extract_sfmt_braf_compact:
3288 const IDESC *idesc = &sh64_compact_insn_data[itype];
3289 CGEN_INSN_INT insn = entire_insn;
3290 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3293 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3295 /* Record the fields for the semantic handler. */
3297 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3299 #if WITH_PROFILE_MODEL_P
3300 /* Record the fields for profiling. */
3301 if (PROFILE_MODEL_P (current_cpu))
3310 extract_sfmt_brk_compact:
3312 const IDESC *idesc = &sh64_compact_insn_data[itype];
3313 #define FLD(f) abuf->fields.fmt_empty.f
3316 /* Record the fields for the semantic handler. */
3317 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
3319 #if WITH_PROFILE_MODEL_P
3320 /* Record the fields for profiling. */
3321 if (PROFILE_MODEL_P (current_cpu))
3329 extract_sfmt_bsr_compact:
3331 const IDESC *idesc = &sh64_compact_insn_data[itype];
3332 CGEN_INSN_INT insn = entire_insn;
3333 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3336 f_disp12 = ((((EXTRACT_MSB0_INT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
3338 /* Record the fields for the semantic handler. */
3339 FLD (i_disp12) = f_disp12;
3340 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
3342 #if WITH_PROFILE_MODEL_P
3343 /* Record the fields for profiling. */
3344 if (PROFILE_MODEL_P (current_cpu))
3352 extract_sfmt_bsrf_compact:
3354 const IDESC *idesc = &sh64_compact_insn_data[itype];
3355 CGEN_INSN_INT insn = entire_insn;
3356 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3359 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3361 /* Record the fields for the semantic handler. */
3363 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3365 #if WITH_PROFILE_MODEL_P
3366 /* Record the fields for profiling. */
3367 if (PROFILE_MODEL_P (current_cpu))
3376 extract_sfmt_clrmac_compact:
3378 const IDESC *idesc = &sh64_compact_insn_data[itype];
3379 #define FLD(f) abuf->fields.fmt_empty.f
3382 /* Record the fields for the semantic handler. */
3383 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrmac_compact", (char *) 0));
3389 extract_sfmt_clrs_compact:
3391 const IDESC *idesc = &sh64_compact_insn_data[itype];
3392 #define FLD(f) abuf->fields.fmt_empty.f
3395 /* Record the fields for the semantic handler. */
3396 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrs_compact", (char *) 0));
3402 extract_sfmt_clrt_compact:
3404 const IDESC *idesc = &sh64_compact_insn_data[itype];
3405 #define FLD(f) abuf->fields.fmt_empty.f
3408 /* Record the fields for the semantic handler. */
3409 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrt_compact", (char *) 0));
3415 extract_sfmt_cmpeq_compact:
3417 const IDESC *idesc = &sh64_compact_insn_data[itype];
3418 CGEN_INSN_INT insn = entire_insn;
3419 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3423 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3424 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3426 /* Record the fields for the semantic handler. */
3429 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3431 #if WITH_PROFILE_MODEL_P
3432 /* Record the fields for profiling. */
3433 if (PROFILE_MODEL_P (current_cpu))
3443 extract_sfmt_cmpeqi_compact:
3445 const IDESC *idesc = &sh64_compact_insn_data[itype];
3446 CGEN_INSN_INT insn = entire_insn;
3447 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3450 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3452 /* Record the fields for the semantic handler. */
3453 FLD (f_imm8) = f_imm8;
3454 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
3456 #if WITH_PROFILE_MODEL_P
3457 /* Record the fields for profiling. */
3458 if (PROFILE_MODEL_P (current_cpu))
3467 extract_sfmt_cmppl_compact:
3469 const IDESC *idesc = &sh64_compact_insn_data[itype];
3470 CGEN_INSN_INT insn = entire_insn;
3471 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3474 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3476 /* Record the fields for the semantic handler. */
3478 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3480 #if WITH_PROFILE_MODEL_P
3481 /* Record the fields for profiling. */
3482 if (PROFILE_MODEL_P (current_cpu))
3491 extract_sfmt_div0s_compact:
3493 const IDESC *idesc = &sh64_compact_insn_data[itype];
3494 CGEN_INSN_INT insn = entire_insn;
3495 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3499 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3500 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3502 /* Record the fields for the semantic handler. */
3505 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3507 #if WITH_PROFILE_MODEL_P
3508 /* Record the fields for profiling. */
3509 if (PROFILE_MODEL_P (current_cpu))
3519 extract_sfmt_div0u_compact:
3521 const IDESC *idesc = &sh64_compact_insn_data[itype];
3522 #define FLD(f) abuf->fields.fmt_empty.f
3525 /* Record the fields for the semantic handler. */
3526 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u_compact", (char *) 0));
3532 extract_sfmt_div1_compact:
3534 const IDESC *idesc = &sh64_compact_insn_data[itype];
3535 CGEN_INSN_INT insn = entire_insn;
3536 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3540 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3541 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3543 /* Record the fields for the semantic handler. */
3546 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3548 #if WITH_PROFILE_MODEL_P
3549 /* Record the fields for profiling. */
3550 if (PROFILE_MODEL_P (current_cpu))
3554 FLD (out_rn) = f_rn;
3561 extract_sfmt_divu_compact:
3563 const IDESC *idesc = &sh64_compact_insn_data[itype];
3564 CGEN_INSN_INT insn = entire_insn;
3565 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3568 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3570 /* Record the fields for the semantic handler. */
3572 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3574 #if WITH_PROFILE_MODEL_P
3575 /* Record the fields for profiling. */
3576 if (PROFILE_MODEL_P (current_cpu))
3580 FLD (out_rn) = f_rn;
3587 extract_sfmt_dmulsl_compact:
3589 const IDESC *idesc = &sh64_compact_insn_data[itype];
3590 CGEN_INSN_INT insn = entire_insn;
3591 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3595 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3596 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3598 /* Record the fields for the semantic handler. */
3601 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3603 #if WITH_PROFILE_MODEL_P
3604 /* Record the fields for profiling. */
3605 if (PROFILE_MODEL_P (current_cpu))
3615 extract_sfmt_dt_compact:
3617 const IDESC *idesc = &sh64_compact_insn_data[itype];
3618 CGEN_INSN_INT insn = entire_insn;
3619 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3622 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3624 /* Record the fields for the semantic handler. */
3626 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3628 #if WITH_PROFILE_MODEL_P
3629 /* Record the fields for profiling. */
3630 if (PROFILE_MODEL_P (current_cpu))
3633 FLD (out_rn) = f_rn;
3640 extract_sfmt_extsb_compact:
3642 const IDESC *idesc = &sh64_compact_insn_data[itype];
3643 CGEN_INSN_INT insn = entire_insn;
3644 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3648 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3649 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3651 /* Record the fields for the semantic handler. */
3654 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3656 #if WITH_PROFILE_MODEL_P
3657 /* Record the fields for profiling. */
3658 if (PROFILE_MODEL_P (current_cpu))
3661 FLD (out_rn) = f_rn;
3668 extract_sfmt_fabs_compact:
3670 const IDESC *idesc = &sh64_compact_insn_data[itype];
3671 CGEN_INSN_INT insn = entire_insn;
3672 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3675 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3677 /* Record the fields for the semantic handler. */
3679 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3681 #if WITH_PROFILE_MODEL_P
3682 /* Record the fields for profiling. */
3683 if (PROFILE_MODEL_P (current_cpu))
3685 FLD (in_fsdn) = f_rn;
3686 FLD (out_fsdn) = f_rn;
3693 extract_sfmt_fadd_compact:
3695 const IDESC *idesc = &sh64_compact_insn_data[itype];
3696 CGEN_INSN_INT insn = entire_insn;
3697 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3701 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3702 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3704 /* Record the fields for the semantic handler. */
3707 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3709 #if WITH_PROFILE_MODEL_P
3710 /* Record the fields for profiling. */
3711 if (PROFILE_MODEL_P (current_cpu))
3713 FLD (in_fsdm) = f_rm;
3714 FLD (in_fsdn) = f_rn;
3715 FLD (out_fsdn) = f_rn;
3722 extract_sfmt_fcmpeq_compact:
3724 const IDESC *idesc = &sh64_compact_insn_data[itype];
3725 CGEN_INSN_INT insn = entire_insn;
3726 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3730 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3731 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3733 /* Record the fields for the semantic handler. */
3736 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3738 #if WITH_PROFILE_MODEL_P
3739 /* Record the fields for profiling. */
3740 if (PROFILE_MODEL_P (current_cpu))
3742 FLD (in_fsdm) = f_rm;
3743 FLD (in_fsdn) = f_rn;
3750 extract_sfmt_fcnvds_compact:
3752 const IDESC *idesc = &sh64_compact_insn_data[itype];
3753 CGEN_INSN_INT insn = entire_insn;
3754 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3757 f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
3759 /* Record the fields for the semantic handler. */
3761 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
3763 #if WITH_PROFILE_MODEL_P
3764 /* Record the fields for profiling. */
3765 if (PROFILE_MODEL_P (current_cpu))
3767 FLD (in_drn) = f_dn;
3768 FLD (out_fpul) = 32;
3775 extract_sfmt_fcnvsd_compact:
3777 const IDESC *idesc = &sh64_compact_insn_data[itype];
3778 CGEN_INSN_INT insn = entire_insn;
3779 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3782 f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
3784 /* Record the fields for the semantic handler. */
3786 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
3788 #if WITH_PROFILE_MODEL_P
3789 /* Record the fields for profiling. */
3790 if (PROFILE_MODEL_P (current_cpu))
3793 FLD (out_drn) = f_dn;
3800 extract_sfmt_fipr_compact:
3802 const IDESC *idesc = &sh64_compact_insn_data[itype];
3803 CGEN_INSN_INT insn = entire_insn;
3804 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
3808 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
3809 f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2));
3811 /* Record the fields for the semantic handler. */
3814 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm, "f_vn 0x%x", 'x', f_vn, (char *) 0));
3820 extract_sfmt_flds_compact:
3822 const IDESC *idesc = &sh64_compact_insn_data[itype];
3823 CGEN_INSN_INT insn = entire_insn;
3824 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3827 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3829 /* Record the fields for the semantic handler. */
3831 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3833 #if WITH_PROFILE_MODEL_P
3834 /* Record the fields for profiling. */
3835 if (PROFILE_MODEL_P (current_cpu))
3837 FLD (in_frn) = f_rn;
3838 FLD (out_fpul) = 32;
3845 extract_sfmt_fldi0_compact:
3847 const IDESC *idesc = &sh64_compact_insn_data[itype];
3848 CGEN_INSN_INT insn = entire_insn;
3849 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3852 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3854 /* Record the fields for the semantic handler. */
3856 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3858 #if WITH_PROFILE_MODEL_P
3859 /* Record the fields for profiling. */
3860 if (PROFILE_MODEL_P (current_cpu))
3862 FLD (out_frn) = f_rn;
3869 extract_sfmt_float_compact:
3871 const IDESC *idesc = &sh64_compact_insn_data[itype];
3872 CGEN_INSN_INT insn = entire_insn;
3873 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3876 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3878 /* Record the fields for the semantic handler. */
3880 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
3882 #if WITH_PROFILE_MODEL_P
3883 /* Record the fields for profiling. */
3884 if (PROFILE_MODEL_P (current_cpu))
3887 FLD (out_fsdn) = f_rn;
3894 extract_sfmt_fmac_compact:
3896 const IDESC *idesc = &sh64_compact_insn_data[itype];
3897 CGEN_INSN_INT insn = entire_insn;
3898 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3902 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3903 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3905 /* Record the fields for the semantic handler. */
3908 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3910 #if WITH_PROFILE_MODEL_P
3911 /* Record the fields for profiling. */
3912 if (PROFILE_MODEL_P (current_cpu))
3915 FLD (in_frm) = f_rm;
3916 FLD (in_frn) = f_rn;
3917 FLD (out_frn) = f_rn;
3924 extract_sfmt_fmov1_compact:
3926 const IDESC *idesc = &sh64_compact_insn_data[itype];
3927 CGEN_INSN_INT insn = entire_insn;
3928 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3932 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3933 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3935 /* Record the fields for the semantic handler. */
3938 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3940 #if WITH_PROFILE_MODEL_P
3941 /* Record the fields for profiling. */
3942 if (PROFILE_MODEL_P (current_cpu))
3944 FLD (in_fmovm) = f_rm;
3945 FLD (out_fmovn) = f_rn;
3952 extract_sfmt_fmov2_compact:
3954 const IDESC *idesc = &sh64_compact_insn_data[itype];
3955 CGEN_INSN_INT insn = entire_insn;
3956 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3960 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3961 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3963 /* Record the fields for the semantic handler. */
3966 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3968 #if WITH_PROFILE_MODEL_P
3969 /* Record the fields for profiling. */
3970 if (PROFILE_MODEL_P (current_cpu))
3973 FLD (out_fmovn) = f_rn;
3980 extract_sfmt_fmov3_compact:
3982 const IDESC *idesc = &sh64_compact_insn_data[itype];
3983 CGEN_INSN_INT insn = entire_insn;
3984 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3988 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3989 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3991 /* Record the fields for the semantic handler. */
3994 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
3996 #if WITH_PROFILE_MODEL_P
3997 /* Record the fields for profiling. */
3998 if (PROFILE_MODEL_P (current_cpu))
4001 FLD (out_fmovn) = f_rn;
4002 FLD (out_rm) = f_rm;
4009 extract_sfmt_fmov4_compact:
4011 const IDESC *idesc = &sh64_compact_insn_data[itype];
4012 CGEN_INSN_INT insn = entire_insn;
4013 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4017 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4018 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4020 /* Record the fields for the semantic handler. */
4023 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov4_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4025 #if WITH_PROFILE_MODEL_P
4026 /* Record the fields for profiling. */
4027 if (PROFILE_MODEL_P (current_cpu))
4031 FLD (out_fmovn) = f_rn;
4038 extract_sfmt_fmov5_compact:
4040 const IDESC *idesc = &sh64_compact_insn_data[itype];
4041 CGEN_INSN_INT insn = entire_insn;
4042 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4046 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4047 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4049 /* Record the fields for the semantic handler. */
4052 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4054 #if WITH_PROFILE_MODEL_P
4055 /* Record the fields for profiling. */
4056 if (PROFILE_MODEL_P (current_cpu))
4058 FLD (in_fmovm) = f_rm;
4066 extract_sfmt_fmov6_compact:
4068 const IDESC *idesc = &sh64_compact_insn_data[itype];
4069 CGEN_INSN_INT insn = entire_insn;
4070 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4074 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4075 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4077 /* Record the fields for the semantic handler. */
4080 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4082 #if WITH_PROFILE_MODEL_P
4083 /* Record the fields for profiling. */
4084 if (PROFILE_MODEL_P (current_cpu))
4086 FLD (in_fmovm) = f_rm;
4088 FLD (out_rn) = f_rn;
4095 extract_sfmt_fmov7_compact:
4097 const IDESC *idesc = &sh64_compact_insn_data[itype];
4098 CGEN_INSN_INT insn = entire_insn;
4099 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4103 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4104 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4106 /* Record the fields for the semantic handler. */
4109 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4111 #if WITH_PROFILE_MODEL_P
4112 /* Record the fields for profiling. */
4113 if (PROFILE_MODEL_P (current_cpu))
4115 FLD (in_fmovm) = f_rm;
4124 extract_sfmt_fmov8_compact:
4126 const IDESC *idesc = &sh64_compact_insn_data[itype];
4127 CGEN_INSN_INT insn = entire_insn;
4128 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
4133 f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1));
4134 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4135 f_imm12x8 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (3));
4137 /* Record the fields for the semantic handler. */
4138 FLD (f_imm12x8) = f_imm12x8;
4141 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov8_compact", "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rm 0x%x", 'x', f_rm, "f_dn 0x%x", 'x', f_dn, (char *) 0));
4143 #if WITH_PROFILE_MODEL_P
4144 /* Record the fields for profiling. */
4145 if (PROFILE_MODEL_P (current_cpu))
4148 FLD (out_drn) = f_dn;
4155 extract_sfmt_fmov9_compact:
4157 const IDESC *idesc = &sh64_compact_insn_data[itype];
4158 CGEN_INSN_INT insn = entire_insn;
4159 #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
4164 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4165 f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1));
4166 f_imm12x8 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (3));
4168 /* Record the fields for the semantic handler. */
4170 FLD (f_imm12x8) = f_imm12x8;
4172 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov9_compact", "f_dm 0x%x", 'x', f_dm, "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4174 #if WITH_PROFILE_MODEL_P
4175 /* Record the fields for profiling. */
4176 if (PROFILE_MODEL_P (current_cpu))
4178 FLD (in_drm) = f_dm;
4186 extract_sfmt_frchg_compact:
4188 const IDESC *idesc = &sh64_compact_insn_data[itype];
4189 #define FLD(f) abuf->fields.fmt_empty.f
4192 /* Record the fields for the semantic handler. */
4193 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_frchg_compact", (char *) 0));
4199 extract_sfmt_fschg_compact:
4201 const IDESC *idesc = &sh64_compact_insn_data[itype];
4202 #define FLD(f) abuf->fields.fmt_empty.f
4205 /* Record the fields for the semantic handler. */
4206 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fschg_compact", (char *) 0));
4212 extract_sfmt_fsts_compact:
4214 const IDESC *idesc = &sh64_compact_insn_data[itype];
4215 CGEN_INSN_INT insn = entire_insn;
4216 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4219 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4221 /* Record the fields for the semantic handler. */
4223 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4225 #if WITH_PROFILE_MODEL_P
4226 /* Record the fields for profiling. */
4227 if (PROFILE_MODEL_P (current_cpu))
4230 FLD (out_frn) = f_rn;
4237 extract_sfmt_ftrc_compact:
4239 const IDESC *idesc = &sh64_compact_insn_data[itype];
4240 CGEN_INSN_INT insn = entire_insn;
4241 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4244 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4246 /* Record the fields for the semantic handler. */
4248 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4250 #if WITH_PROFILE_MODEL_P
4251 /* Record the fields for profiling. */
4252 if (PROFILE_MODEL_P (current_cpu))
4254 FLD (in_fsdn) = f_rn;
4255 FLD (out_fpul) = 32;
4262 extract_sfmt_ftrv_compact:
4264 const IDESC *idesc = &sh64_compact_insn_data[itype];
4265 CGEN_INSN_INT insn = entire_insn;
4266 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
4269 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
4271 /* Record the fields for the semantic handler. */
4273 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn, (char *) 0));
4279 extract_sfmt_ldc_gbr_compact:
4281 const IDESC *idesc = &sh64_compact_insn_data[itype];
4282 CGEN_INSN_INT insn = entire_insn;
4283 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4286 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4288 /* Record the fields for the semantic handler. */
4290 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4292 #if WITH_PROFILE_MODEL_P
4293 /* Record the fields for profiling. */
4294 if (PROFILE_MODEL_P (current_cpu))
4303 extract_sfmt_ldc_vbr_compact:
4305 const IDESC *idesc = &sh64_compact_insn_data[itype];
4306 CGEN_INSN_INT insn = entire_insn;
4307 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4310 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4312 /* Record the fields for the semantic handler. */
4314 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4316 #if WITH_PROFILE_MODEL_P
4317 /* Record the fields for profiling. */
4318 if (PROFILE_MODEL_P (current_cpu))
4327 extract_sfmt_ldc_sr_compact:
4329 const IDESC *idesc = &sh64_compact_insn_data[itype];
4330 CGEN_INSN_INT insn = entire_insn;
4331 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4334 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4336 /* Record the fields for the semantic handler. */
4338 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_sr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4340 #if WITH_PROFILE_MODEL_P
4341 /* Record the fields for profiling. */
4342 if (PROFILE_MODEL_P (current_cpu))
4351 extract_sfmt_ldcl_gbr_compact:
4353 const IDESC *idesc = &sh64_compact_insn_data[itype];
4354 CGEN_INSN_INT insn = entire_insn;
4355 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4358 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4360 /* Record the fields for the semantic handler. */
4362 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4364 #if WITH_PROFILE_MODEL_P
4365 /* Record the fields for profiling. */
4366 if (PROFILE_MODEL_P (current_cpu))
4369 FLD (out_rn) = f_rn;
4376 extract_sfmt_ldcl_vbr_compact:
4378 const IDESC *idesc = &sh64_compact_insn_data[itype];
4379 CGEN_INSN_INT insn = entire_insn;
4380 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4383 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4385 /* Record the fields for the semantic handler. */
4387 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4389 #if WITH_PROFILE_MODEL_P
4390 /* Record the fields for profiling. */
4391 if (PROFILE_MODEL_P (current_cpu))
4394 FLD (out_rn) = f_rn;
4401 extract_sfmt_lds_fpscr_compact:
4403 const IDESC *idesc = &sh64_compact_insn_data[itype];
4404 CGEN_INSN_INT insn = entire_insn;
4405 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4408 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4410 /* Record the fields for the semantic handler. */
4412 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4414 #if WITH_PROFILE_MODEL_P
4415 /* Record the fields for profiling. */
4416 if (PROFILE_MODEL_P (current_cpu))
4425 extract_sfmt_ldsl_fpscr_compact:
4427 const IDESC *idesc = &sh64_compact_insn_data[itype];
4428 CGEN_INSN_INT insn = entire_insn;
4429 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4432 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4434 /* Record the fields for the semantic handler. */
4436 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4438 #if WITH_PROFILE_MODEL_P
4439 /* Record the fields for profiling. */
4440 if (PROFILE_MODEL_P (current_cpu))
4443 FLD (out_rn) = f_rn;
4450 extract_sfmt_lds_fpul_compact:
4452 const IDESC *idesc = &sh64_compact_insn_data[itype];
4453 CGEN_INSN_INT insn = entire_insn;
4454 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4457 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4459 /* Record the fields for the semantic handler. */
4461 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4463 #if WITH_PROFILE_MODEL_P
4464 /* Record the fields for profiling. */
4465 if (PROFILE_MODEL_P (current_cpu))
4468 FLD (out_fpul) = 32;
4475 extract_sfmt_ldsl_fpul_compact:
4477 const IDESC *idesc = &sh64_compact_insn_data[itype];
4478 CGEN_INSN_INT insn = entire_insn;
4479 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4482 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4484 /* Record the fields for the semantic handler. */
4486 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4488 #if WITH_PROFILE_MODEL_P
4489 /* Record the fields for profiling. */
4490 if (PROFILE_MODEL_P (current_cpu))
4493 FLD (out_fpul) = 32;
4494 FLD (out_rn) = f_rn;
4501 extract_sfmt_lds_mach_compact:
4503 const IDESC *idesc = &sh64_compact_insn_data[itype];
4504 CGEN_INSN_INT insn = entire_insn;
4505 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4508 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4510 /* Record the fields for the semantic handler. */
4512 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4514 #if WITH_PROFILE_MODEL_P
4515 /* Record the fields for profiling. */
4516 if (PROFILE_MODEL_P (current_cpu))
4525 extract_sfmt_ldsl_mach_compact:
4527 const IDESC *idesc = &sh64_compact_insn_data[itype];
4528 CGEN_INSN_INT insn = entire_insn;
4529 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4532 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4534 /* Record the fields for the semantic handler. */
4536 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4538 #if WITH_PROFILE_MODEL_P
4539 /* Record the fields for profiling. */
4540 if (PROFILE_MODEL_P (current_cpu))
4543 FLD (out_rn) = f_rn;
4550 extract_sfmt_lds_macl_compact:
4552 const IDESC *idesc = &sh64_compact_insn_data[itype];
4553 CGEN_INSN_INT insn = entire_insn;
4554 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4557 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4559 /* Record the fields for the semantic handler. */
4561 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4563 #if WITH_PROFILE_MODEL_P
4564 /* Record the fields for profiling. */
4565 if (PROFILE_MODEL_P (current_cpu))
4574 extract_sfmt_ldsl_macl_compact:
4576 const IDESC *idesc = &sh64_compact_insn_data[itype];
4577 CGEN_INSN_INT insn = entire_insn;
4578 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4581 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4583 /* Record the fields for the semantic handler. */
4585 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4587 #if WITH_PROFILE_MODEL_P
4588 /* Record the fields for profiling. */
4589 if (PROFILE_MODEL_P (current_cpu))
4592 FLD (out_rn) = f_rn;
4599 extract_sfmt_lds_pr_compact:
4601 const IDESC *idesc = &sh64_compact_insn_data[itype];
4602 CGEN_INSN_INT insn = entire_insn;
4603 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4606 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4608 /* Record the fields for the semantic handler. */
4610 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4612 #if WITH_PROFILE_MODEL_P
4613 /* Record the fields for profiling. */
4614 if (PROFILE_MODEL_P (current_cpu))
4623 extract_sfmt_ldsl_pr_compact:
4625 const IDESC *idesc = &sh64_compact_insn_data[itype];
4626 CGEN_INSN_INT insn = entire_insn;
4627 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4630 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4632 /* Record the fields for the semantic handler. */
4634 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
4636 #if WITH_PROFILE_MODEL_P
4637 /* Record the fields for profiling. */
4638 if (PROFILE_MODEL_P (current_cpu))
4641 FLD (out_rn) = f_rn;
4648 extract_sfmt_macl_compact:
4650 const IDESC *idesc = &sh64_compact_insn_data[itype];
4651 CGEN_INSN_INT insn = entire_insn;
4652 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4656 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4657 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4659 /* Record the fields for the semantic handler. */
4662 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4664 #if WITH_PROFILE_MODEL_P
4665 /* Record the fields for profiling. */
4666 if (PROFILE_MODEL_P (current_cpu))
4670 FLD (out_rm) = f_rm;
4671 FLD (out_rn) = f_rn;
4678 extract_sfmt_macw_compact:
4680 const IDESC *idesc = &sh64_compact_insn_data[itype];
4681 CGEN_INSN_INT insn = entire_insn;
4682 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4686 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4687 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4689 /* Record the fields for the semantic handler. */
4692 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4694 #if WITH_PROFILE_MODEL_P
4695 /* Record the fields for profiling. */
4696 if (PROFILE_MODEL_P (current_cpu))
4700 FLD (out_rm) = f_rm;
4701 FLD (out_rn) = f_rn;
4708 extract_sfmt_mov_compact:
4710 const IDESC *idesc = &sh64_compact_insn_data[itype];
4711 CGEN_INSN_INT insn = entire_insn;
4712 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4716 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4717 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4719 /* Record the fields for the semantic handler. */
4722 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4724 #if WITH_PROFILE_MODEL_P
4725 /* Record the fields for profiling. */
4726 if (PROFILE_MODEL_P (current_cpu))
4728 FLD (in_rm64) = f_rm;
4729 FLD (out_rn64) = f_rn;
4736 extract_sfmt_movi_compact:
4738 const IDESC *idesc = &sh64_compact_insn_data[itype];
4739 CGEN_INSN_INT insn = entire_insn;
4740 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4744 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4745 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4747 /* Record the fields for the semantic handler. */
4748 FLD (f_imm8) = f_imm8;
4750 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4752 #if WITH_PROFILE_MODEL_P
4753 /* Record the fields for profiling. */
4754 if (PROFILE_MODEL_P (current_cpu))
4756 FLD (out_rn) = f_rn;
4763 extract_sfmt_movi20_compact:
4765 const IDESC *idesc = &sh64_compact_insn_data[itype];
4766 CGEN_INSN_INT insn = entire_insn;
4767 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
4773 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4774 f_imm20_hi = EXTRACT_MSB0_INT (insn, 32, 8, 4);
4775 f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4776 f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));
4778 /* Record the fields for the semantic handler. */
4779 FLD (f_imm20) = f_imm20;
4781 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi20_compact", "f_imm20 0x%x", 'x', f_imm20, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4783 #if WITH_PROFILE_MODEL_P
4784 /* Record the fields for profiling. */
4785 if (PROFILE_MODEL_P (current_cpu))
4787 FLD (out_rn) = f_rn;
4794 extract_sfmt_movb1_compact:
4796 const IDESC *idesc = &sh64_compact_insn_data[itype];
4797 CGEN_INSN_INT insn = entire_insn;
4798 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4802 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4803 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4805 /* Record the fields for the semantic handler. */
4808 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4810 #if WITH_PROFILE_MODEL_P
4811 /* Record the fields for profiling. */
4812 if (PROFILE_MODEL_P (current_cpu))
4822 extract_sfmt_movb2_compact:
4824 const IDESC *idesc = &sh64_compact_insn_data[itype];
4825 CGEN_INSN_INT insn = entire_insn;
4826 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4830 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4831 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4833 /* Record the fields for the semantic handler. */
4836 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4838 #if WITH_PROFILE_MODEL_P
4839 /* Record the fields for profiling. */
4840 if (PROFILE_MODEL_P (current_cpu))
4844 FLD (out_rn) = f_rn;
4851 extract_sfmt_movb3_compact:
4853 const IDESC *idesc = &sh64_compact_insn_data[itype];
4854 CGEN_INSN_INT insn = entire_insn;
4855 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4859 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4860 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4862 /* Record the fields for the semantic handler. */
4865 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4867 #if WITH_PROFILE_MODEL_P
4868 /* Record the fields for profiling. */
4869 if (PROFILE_MODEL_P (current_cpu))
4880 extract_sfmt_movb4_compact:
4882 const IDESC *idesc = &sh64_compact_insn_data[itype];
4883 CGEN_INSN_INT insn = entire_insn;
4884 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4887 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4889 /* Record the fields for the semantic handler. */
4890 FLD (f_imm8) = f_imm8;
4891 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
4893 #if WITH_PROFILE_MODEL_P
4894 /* Record the fields for profiling. */
4895 if (PROFILE_MODEL_P (current_cpu))
4904 extract_sfmt_movb5_compact:
4906 const IDESC *idesc = &sh64_compact_insn_data[itype];
4907 CGEN_INSN_INT insn = entire_insn;
4908 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4912 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4913 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4915 /* Record the fields for the semantic handler. */
4916 FLD (f_imm4) = f_imm4;
4918 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
4920 #if WITH_PROFILE_MODEL_P
4921 /* Record the fields for profiling. */
4922 if (PROFILE_MODEL_P (current_cpu))
4932 extract_sfmt_movb6_compact:
4934 const IDESC *idesc = &sh64_compact_insn_data[itype];
4935 CGEN_INSN_INT insn = entire_insn;
4936 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4940 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4941 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4943 /* Record the fields for the semantic handler. */
4946 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4948 #if WITH_PROFILE_MODEL_P
4949 /* Record the fields for profiling. */
4950 if (PROFILE_MODEL_P (current_cpu))
4953 FLD (out_rn) = f_rn;
4960 extract_sfmt_movb7_compact:
4962 const IDESC *idesc = &sh64_compact_insn_data[itype];
4963 CGEN_INSN_INT insn = entire_insn;
4964 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4968 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4969 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4971 /* Record the fields for the semantic handler. */
4974 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
4976 #if WITH_PROFILE_MODEL_P
4977 /* Record the fields for profiling. */
4978 if (PROFILE_MODEL_P (current_cpu))
4981 FLD (out_rm) = f_rm;
4982 FLD (out_rn) = f_rn;
4989 extract_sfmt_movb8_compact:
4991 const IDESC *idesc = &sh64_compact_insn_data[itype];
4992 CGEN_INSN_INT insn = entire_insn;
4993 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4997 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4998 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5000 /* Record the fields for the semantic handler. */
5003 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5005 #if WITH_PROFILE_MODEL_P
5006 /* Record the fields for profiling. */
5007 if (PROFILE_MODEL_P (current_cpu))
5011 FLD (out_rn) = f_rn;
5018 extract_sfmt_movb9_compact:
5020 const IDESC *idesc = &sh64_compact_insn_data[itype];
5021 CGEN_INSN_INT insn = entire_insn;
5022 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5025 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
5027 /* Record the fields for the semantic handler. */
5028 FLD (f_imm8) = f_imm8;
5029 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
5031 #if WITH_PROFILE_MODEL_P
5032 /* Record the fields for profiling. */
5033 if (PROFILE_MODEL_P (current_cpu))
5042 extract_sfmt_movb10_compact:
5044 const IDESC *idesc = &sh64_compact_insn_data[itype];
5045 CGEN_INSN_INT insn = entire_insn;
5046 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
5050 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5051 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
5053 /* Record the fields for the semantic handler. */
5054 FLD (f_imm4) = f_imm4;
5056 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
5058 #if WITH_PROFILE_MODEL_P
5059 /* Record the fields for profiling. */
5060 if (PROFILE_MODEL_P (current_cpu))
5070 extract_sfmt_movl1_compact:
5072 const IDESC *idesc = &sh64_compact_insn_data[itype];
5073 CGEN_INSN_INT insn = entire_insn;
5074 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5078 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5079 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5081 /* Record the fields for the semantic handler. */
5084 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5086 #if WITH_PROFILE_MODEL_P
5087 /* Record the fields for profiling. */
5088 if (PROFILE_MODEL_P (current_cpu))
5098 extract_sfmt_movl2_compact:
5100 const IDESC *idesc = &sh64_compact_insn_data[itype];
5101 CGEN_INSN_INT insn = entire_insn;
5102 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5106 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5107 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5109 /* Record the fields for the semantic handler. */
5112 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5114 #if WITH_PROFILE_MODEL_P
5115 /* Record the fields for profiling. */
5116 if (PROFILE_MODEL_P (current_cpu))
5120 FLD (out_rn) = f_rn;
5127 extract_sfmt_movl3_compact:
5129 const IDESC *idesc = &sh64_compact_insn_data[itype];
5130 CGEN_INSN_INT insn = entire_insn;
5131 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5135 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5136 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5138 /* Record the fields for the semantic handler. */
5141 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5143 #if WITH_PROFILE_MODEL_P
5144 /* Record the fields for profiling. */
5145 if (PROFILE_MODEL_P (current_cpu))
5156 extract_sfmt_movl4_compact:
5158 const IDESC *idesc = &sh64_compact_insn_data[itype];
5159 CGEN_INSN_INT insn = entire_insn;
5160 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5163 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5165 /* Record the fields for the semantic handler. */
5166 FLD (f_imm8x4) = f_imm8x4;
5167 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
5169 #if WITH_PROFILE_MODEL_P
5170 /* Record the fields for profiling. */
5171 if (PROFILE_MODEL_P (current_cpu))
5180 extract_sfmt_movl5_compact:
5182 const IDESC *idesc = &sh64_compact_insn_data[itype];
5183 CGEN_INSN_INT insn = entire_insn;
5184 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5189 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5190 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5191 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5193 /* Record the fields for the semantic handler. */
5194 FLD (f_imm4x4) = f_imm4x4;
5197 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5199 #if WITH_PROFILE_MODEL_P
5200 /* Record the fields for profiling. */
5201 if (PROFILE_MODEL_P (current_cpu))
5211 extract_sfmt_movl6_compact:
5213 const IDESC *idesc = &sh64_compact_insn_data[itype];
5214 CGEN_INSN_INT insn = entire_insn;
5215 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5219 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5220 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5222 /* Record the fields for the semantic handler. */
5225 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5227 #if WITH_PROFILE_MODEL_P
5228 /* Record the fields for profiling. */
5229 if (PROFILE_MODEL_P (current_cpu))
5232 FLD (out_rn) = f_rn;
5239 extract_sfmt_movl7_compact:
5241 const IDESC *idesc = &sh64_compact_insn_data[itype];
5242 CGEN_INSN_INT insn = entire_insn;
5243 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5247 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5248 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5250 /* Record the fields for the semantic handler. */
5253 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5255 #if WITH_PROFILE_MODEL_P
5256 /* Record the fields for profiling. */
5257 if (PROFILE_MODEL_P (current_cpu))
5261 FLD (out_rm) = f_rm;
5262 FLD (out_rn) = f_rn;
5269 extract_sfmt_movl8_compact:
5271 const IDESC *idesc = &sh64_compact_insn_data[itype];
5272 CGEN_INSN_INT insn = entire_insn;
5273 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5277 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5278 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5280 /* Record the fields for the semantic handler. */
5283 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5285 #if WITH_PROFILE_MODEL_P
5286 /* Record the fields for profiling. */
5287 if (PROFILE_MODEL_P (current_cpu))
5291 FLD (out_rn) = f_rn;
5298 extract_sfmt_movl9_compact:
5300 const IDESC *idesc = &sh64_compact_insn_data[itype];
5301 CGEN_INSN_INT insn = entire_insn;
5302 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5305 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5307 /* Record the fields for the semantic handler. */
5308 FLD (f_imm8x4) = f_imm8x4;
5309 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
5311 #if WITH_PROFILE_MODEL_P
5312 /* Record the fields for profiling. */
5313 if (PROFILE_MODEL_P (current_cpu))
5322 extract_sfmt_movl10_compact:
5324 const IDESC *idesc = &sh64_compact_insn_data[itype];
5325 CGEN_INSN_INT insn = entire_insn;
5326 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5330 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5331 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5333 /* Record the fields for the semantic handler. */
5334 FLD (f_imm8x4) = f_imm8x4;
5336 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5338 #if WITH_PROFILE_MODEL_P
5339 /* Record the fields for profiling. */
5340 if (PROFILE_MODEL_P (current_cpu))
5342 FLD (out_rn) = f_rn;
5349 extract_sfmt_movl11_compact:
5351 const IDESC *idesc = &sh64_compact_insn_data[itype];
5352 CGEN_INSN_INT insn = entire_insn;
5353 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5358 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5359 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5360 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
5362 /* Record the fields for the semantic handler. */
5363 FLD (f_imm4x4) = f_imm4x4;
5366 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5368 #if WITH_PROFILE_MODEL_P
5369 /* Record the fields for profiling. */
5370 if (PROFILE_MODEL_P (current_cpu))
5373 FLD (out_rn) = f_rn;
5380 extract_sfmt_movl12_compact:
5382 const IDESC *idesc = &sh64_compact_insn_data[itype];
5383 CGEN_INSN_INT insn = entire_insn;
5384 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5389 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5390 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5391 f_imm12x4 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (2));
5393 /* Record the fields for the semantic handler. */
5394 FLD (f_imm12x4) = f_imm12x4;
5397 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl12_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5399 #if WITH_PROFILE_MODEL_P
5400 /* Record the fields for profiling. */
5401 if (PROFILE_MODEL_P (current_cpu))
5404 FLD (out_rn) = f_rn;
5411 extract_sfmt_movl13_compact:
5413 const IDESC *idesc = &sh64_compact_insn_data[itype];
5414 CGEN_INSN_INT insn = entire_insn;
5415 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5420 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5421 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5422 f_imm12x4 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) << (2));
5424 /* Record the fields for the semantic handler. */
5425 FLD (f_imm12x4) = f_imm12x4;
5428 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl13_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5430 #if WITH_PROFILE_MODEL_P
5431 /* Record the fields for profiling. */
5432 if (PROFILE_MODEL_P (current_cpu))
5442 extract_sfmt_movw1_compact:
5444 const IDESC *idesc = &sh64_compact_insn_data[itype];
5445 CGEN_INSN_INT insn = entire_insn;
5446 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5450 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5451 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5453 /* Record the fields for the semantic handler. */
5456 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5458 #if WITH_PROFILE_MODEL_P
5459 /* Record the fields for profiling. */
5460 if (PROFILE_MODEL_P (current_cpu))
5470 extract_sfmt_movw2_compact:
5472 const IDESC *idesc = &sh64_compact_insn_data[itype];
5473 CGEN_INSN_INT insn = entire_insn;
5474 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5478 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5479 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5481 /* Record the fields for the semantic handler. */
5484 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5486 #if WITH_PROFILE_MODEL_P
5487 /* Record the fields for profiling. */
5488 if (PROFILE_MODEL_P (current_cpu))
5492 FLD (out_rn) = f_rn;
5499 extract_sfmt_movw3_compact:
5501 const IDESC *idesc = &sh64_compact_insn_data[itype];
5502 CGEN_INSN_INT insn = entire_insn;
5503 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5507 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5508 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5510 /* Record the fields for the semantic handler. */
5513 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5515 #if WITH_PROFILE_MODEL_P
5516 /* Record the fields for profiling. */
5517 if (PROFILE_MODEL_P (current_cpu))
5528 extract_sfmt_movw4_compact:
5530 const IDESC *idesc = &sh64_compact_insn_data[itype];
5531 CGEN_INSN_INT insn = entire_insn;
5532 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5535 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5537 /* Record the fields for the semantic handler. */
5538 FLD (f_imm8x2) = f_imm8x2;
5539 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
5541 #if WITH_PROFILE_MODEL_P
5542 /* Record the fields for profiling. */
5543 if (PROFILE_MODEL_P (current_cpu))
5552 extract_sfmt_movw5_compact:
5554 const IDESC *idesc = &sh64_compact_insn_data[itype];
5555 CGEN_INSN_INT insn = entire_insn;
5556 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5560 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5561 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5563 /* Record the fields for the semantic handler. */
5564 FLD (f_imm4x2) = f_imm4x2;
5566 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
5568 #if WITH_PROFILE_MODEL_P
5569 /* Record the fields for profiling. */
5570 if (PROFILE_MODEL_P (current_cpu))
5580 extract_sfmt_movw6_compact:
5582 const IDESC *idesc = &sh64_compact_insn_data[itype];
5583 CGEN_INSN_INT insn = entire_insn;
5584 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5588 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5589 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5591 /* Record the fields for the semantic handler. */
5594 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5596 #if WITH_PROFILE_MODEL_P
5597 /* Record the fields for profiling. */
5598 if (PROFILE_MODEL_P (current_cpu))
5601 FLD (out_rn) = f_rn;
5608 extract_sfmt_movw7_compact:
5610 const IDESC *idesc = &sh64_compact_insn_data[itype];
5611 CGEN_INSN_INT insn = entire_insn;
5612 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5616 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5617 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5619 /* Record the fields for the semantic handler. */
5622 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5624 #if WITH_PROFILE_MODEL_P
5625 /* Record the fields for profiling. */
5626 if (PROFILE_MODEL_P (current_cpu))
5629 FLD (out_rm) = f_rm;
5630 FLD (out_rn) = f_rn;
5637 extract_sfmt_movw8_compact:
5639 const IDESC *idesc = &sh64_compact_insn_data[itype];
5640 CGEN_INSN_INT insn = entire_insn;
5641 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5645 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5646 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5648 /* Record the fields for the semantic handler. */
5651 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5653 #if WITH_PROFILE_MODEL_P
5654 /* Record the fields for profiling. */
5655 if (PROFILE_MODEL_P (current_cpu))
5659 FLD (out_rn) = f_rn;
5666 extract_sfmt_movw9_compact:
5668 const IDESC *idesc = &sh64_compact_insn_data[itype];
5669 CGEN_INSN_INT insn = entire_insn;
5670 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5673 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5675 /* Record the fields for the semantic handler. */
5676 FLD (f_imm8x2) = f_imm8x2;
5677 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
5679 #if WITH_PROFILE_MODEL_P
5680 /* Record the fields for profiling. */
5681 if (PROFILE_MODEL_P (current_cpu))
5690 extract_sfmt_movw10_compact:
5692 const IDESC *idesc = &sh64_compact_insn_data[itype];
5693 CGEN_INSN_INT insn = entire_insn;
5694 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5698 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5699 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
5701 /* Record the fields for the semantic handler. */
5702 FLD (f_imm8x2) = f_imm8x2;
5704 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5706 #if WITH_PROFILE_MODEL_P
5707 /* Record the fields for profiling. */
5708 if (PROFILE_MODEL_P (current_cpu))
5710 FLD (out_rn) = f_rn;
5717 extract_sfmt_movw11_compact:
5719 const IDESC *idesc = &sh64_compact_insn_data[itype];
5720 CGEN_INSN_INT insn = entire_insn;
5721 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5725 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5726 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
5728 /* Record the fields for the semantic handler. */
5729 FLD (f_imm4x2) = f_imm4x2;
5731 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
5733 #if WITH_PROFILE_MODEL_P
5734 /* Record the fields for profiling. */
5735 if (PROFILE_MODEL_P (current_cpu))
5745 extract_sfmt_mova_compact:
5747 const IDESC *idesc = &sh64_compact_insn_data[itype];
5748 CGEN_INSN_INT insn = entire_insn;
5749 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5752 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
5754 /* Record the fields for the semantic handler. */
5755 FLD (f_imm8x4) = f_imm8x4;
5756 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
5758 #if WITH_PROFILE_MODEL_P
5759 /* Record the fields for profiling. */
5760 if (PROFILE_MODEL_P (current_cpu))
5769 extract_sfmt_movcal_compact:
5771 const IDESC *idesc = &sh64_compact_insn_data[itype];
5772 CGEN_INSN_INT insn = entire_insn;
5773 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5776 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5778 /* Record the fields for the semantic handler. */
5780 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5782 #if WITH_PROFILE_MODEL_P
5783 /* Record the fields for profiling. */
5784 if (PROFILE_MODEL_P (current_cpu))
5794 extract_sfmt_movcol_compact:
5796 const IDESC *idesc = &sh64_compact_insn_data[itype];
5797 CGEN_INSN_INT insn = entire_insn;
5798 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5801 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5803 /* Record the fields for the semantic handler. */
5805 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcol_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5807 #if WITH_PROFILE_MODEL_P
5808 /* Record the fields for profiling. */
5809 if (PROFILE_MODEL_P (current_cpu))
5812 FLD (out_rn) = f_rn;
5819 extract_sfmt_movt_compact:
5821 const IDESC *idesc = &sh64_compact_insn_data[itype];
5822 CGEN_INSN_INT insn = entire_insn;
5823 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5826 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5828 /* Record the fields for the semantic handler. */
5830 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5832 #if WITH_PROFILE_MODEL_P
5833 /* Record the fields for profiling. */
5834 if (PROFILE_MODEL_P (current_cpu))
5836 FLD (out_rn) = f_rn;
5843 extract_sfmt_movual_compact:
5845 const IDESC *idesc = &sh64_compact_insn_data[itype];
5846 CGEN_INSN_INT insn = entire_insn;
5847 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5850 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5852 /* Record the fields for the semantic handler. */
5854 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5856 #if WITH_PROFILE_MODEL_P
5857 /* Record the fields for profiling. */
5858 if (PROFILE_MODEL_P (current_cpu))
5868 extract_sfmt_movual2_compact:
5870 const IDESC *idesc = &sh64_compact_insn_data[itype];
5871 CGEN_INSN_INT insn = entire_insn;
5872 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5875 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5877 /* Record the fields for the semantic handler. */
5879 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual2_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5881 #if WITH_PROFILE_MODEL_P
5882 /* Record the fields for profiling. */
5883 if (PROFILE_MODEL_P (current_cpu))
5887 FLD (out_rn) = f_rn;
5894 extract_sfmt_mull_compact:
5896 const IDESC *idesc = &sh64_compact_insn_data[itype];
5897 CGEN_INSN_INT insn = entire_insn;
5898 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5902 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5903 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5905 /* Record the fields for the semantic handler. */
5908 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5910 #if WITH_PROFILE_MODEL_P
5911 /* Record the fields for profiling. */
5912 if (PROFILE_MODEL_P (current_cpu))
5922 extract_sfmt_negc_compact:
5924 const IDESC *idesc = &sh64_compact_insn_data[itype];
5925 CGEN_INSN_INT insn = entire_insn;
5926 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5930 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5931 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5933 /* Record the fields for the semantic handler. */
5936 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
5938 #if WITH_PROFILE_MODEL_P
5939 /* Record the fields for profiling. */
5940 if (PROFILE_MODEL_P (current_cpu))
5943 FLD (out_rn) = f_rn;
5950 extract_sfmt_nop_compact:
5952 const IDESC *idesc = &sh64_compact_insn_data[itype];
5953 #define FLD(f) abuf->fields.fmt_empty.f
5956 /* Record the fields for the semantic handler. */
5957 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
5963 extract_sfmt_pref_compact:
5965 const IDESC *idesc = &sh64_compact_insn_data[itype];
5966 CGEN_INSN_INT insn = entire_insn;
5967 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5970 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5972 /* Record the fields for the semantic handler. */
5974 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pref_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
5976 #if WITH_PROFILE_MODEL_P
5977 /* Record the fields for profiling. */
5978 if (PROFILE_MODEL_P (current_cpu))
5987 extract_sfmt_rotcl_compact:
5989 const IDESC *idesc = &sh64_compact_insn_data[itype];
5990 CGEN_INSN_INT insn = entire_insn;
5991 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5994 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5996 /* Record the fields for the semantic handler. */
5998 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6000 #if WITH_PROFILE_MODEL_P
6001 /* Record the fields for profiling. */
6002 if (PROFILE_MODEL_P (current_cpu))
6005 FLD (out_rn) = f_rn;
6012 extract_sfmt_rts_compact:
6014 const IDESC *idesc = &sh64_compact_insn_data[itype];
6015 #define FLD(f) abuf->fields.fmt_empty.f
6018 /* Record the fields for the semantic handler. */
6019 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
6021 #if WITH_PROFILE_MODEL_P
6022 /* Record the fields for profiling. */
6023 if (PROFILE_MODEL_P (current_cpu))
6031 extract_sfmt_shad_compact:
6033 const IDESC *idesc = &sh64_compact_insn_data[itype];
6034 CGEN_INSN_INT insn = entire_insn;
6035 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6039 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6040 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
6042 /* Record the fields for the semantic handler. */
6045 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
6047 #if WITH_PROFILE_MODEL_P
6048 /* Record the fields for profiling. */
6049 if (PROFILE_MODEL_P (current_cpu))
6053 FLD (out_rn) = f_rn;
6060 extract_sfmt_stc_gbr_compact:
6062 const IDESC *idesc = &sh64_compact_insn_data[itype];
6063 CGEN_INSN_INT insn = entire_insn;
6064 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6067 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6069 /* Record the fields for the semantic handler. */
6071 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6073 #if WITH_PROFILE_MODEL_P
6074 /* Record the fields for profiling. */
6075 if (PROFILE_MODEL_P (current_cpu))
6077 FLD (out_rn) = f_rn;
6084 extract_sfmt_stc_vbr_compact:
6086 const IDESC *idesc = &sh64_compact_insn_data[itype];
6087 CGEN_INSN_INT insn = entire_insn;
6088 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6091 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6093 /* Record the fields for the semantic handler. */
6095 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6097 #if WITH_PROFILE_MODEL_P
6098 /* Record the fields for profiling. */
6099 if (PROFILE_MODEL_P (current_cpu))
6101 FLD (out_rn) = f_rn;
6108 extract_sfmt_stcl_gbr_compact:
6110 const IDESC *idesc = &sh64_compact_insn_data[itype];
6111 CGEN_INSN_INT insn = entire_insn;
6112 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6115 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6117 /* Record the fields for the semantic handler. */
6119 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6121 #if WITH_PROFILE_MODEL_P
6122 /* Record the fields for profiling. */
6123 if (PROFILE_MODEL_P (current_cpu))
6126 FLD (out_rn) = f_rn;
6133 extract_sfmt_stcl_vbr_compact:
6135 const IDESC *idesc = &sh64_compact_insn_data[itype];
6136 CGEN_INSN_INT insn = entire_insn;
6137 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6140 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6142 /* Record the fields for the semantic handler. */
6144 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6146 #if WITH_PROFILE_MODEL_P
6147 /* Record the fields for profiling. */
6148 if (PROFILE_MODEL_P (current_cpu))
6151 FLD (out_rn) = f_rn;
6158 extract_sfmt_sts_fpscr_compact:
6160 const IDESC *idesc = &sh64_compact_insn_data[itype];
6161 CGEN_INSN_INT insn = entire_insn;
6162 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6165 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6167 /* Record the fields for the semantic handler. */
6169 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6171 #if WITH_PROFILE_MODEL_P
6172 /* Record the fields for profiling. */
6173 if (PROFILE_MODEL_P (current_cpu))
6175 FLD (out_rn) = f_rn;
6182 extract_sfmt_stsl_fpscr_compact:
6184 const IDESC *idesc = &sh64_compact_insn_data[itype];
6185 CGEN_INSN_INT insn = entire_insn;
6186 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6189 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6191 /* Record the fields for the semantic handler. */
6193 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6195 #if WITH_PROFILE_MODEL_P
6196 /* Record the fields for profiling. */
6197 if (PROFILE_MODEL_P (current_cpu))
6200 FLD (out_rn) = f_rn;
6207 extract_sfmt_sts_fpul_compact:
6209 const IDESC *idesc = &sh64_compact_insn_data[itype];
6210 CGEN_INSN_INT insn = entire_insn;
6211 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6214 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6216 /* Record the fields for the semantic handler. */
6218 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6220 #if WITH_PROFILE_MODEL_P
6221 /* Record the fields for profiling. */
6222 if (PROFILE_MODEL_P (current_cpu))
6225 FLD (out_rn) = f_rn;
6232 extract_sfmt_stsl_fpul_compact:
6234 const IDESC *idesc = &sh64_compact_insn_data[itype];
6235 CGEN_INSN_INT insn = entire_insn;
6236 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6239 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6241 /* Record the fields for the semantic handler. */
6243 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6245 #if WITH_PROFILE_MODEL_P
6246 /* Record the fields for profiling. */
6247 if (PROFILE_MODEL_P (current_cpu))
6251 FLD (out_rn) = f_rn;
6258 extract_sfmt_sts_mach_compact:
6260 const IDESC *idesc = &sh64_compact_insn_data[itype];
6261 CGEN_INSN_INT insn = entire_insn;
6262 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6265 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6267 /* Record the fields for the semantic handler. */
6269 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6271 #if WITH_PROFILE_MODEL_P
6272 /* Record the fields for profiling. */
6273 if (PROFILE_MODEL_P (current_cpu))
6275 FLD (out_rn) = f_rn;
6282 extract_sfmt_stsl_mach_compact:
6284 const IDESC *idesc = &sh64_compact_insn_data[itype];
6285 CGEN_INSN_INT insn = entire_insn;
6286 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6289 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6291 /* Record the fields for the semantic handler. */
6293 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6295 #if WITH_PROFILE_MODEL_P
6296 /* Record the fields for profiling. */
6297 if (PROFILE_MODEL_P (current_cpu))
6300 FLD (out_rn) = f_rn;
6307 extract_sfmt_sts_macl_compact:
6309 const IDESC *idesc = &sh64_compact_insn_data[itype];
6310 CGEN_INSN_INT insn = entire_insn;
6311 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6314 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6316 /* Record the fields for the semantic handler. */
6318 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6320 #if WITH_PROFILE_MODEL_P
6321 /* Record the fields for profiling. */
6322 if (PROFILE_MODEL_P (current_cpu))
6324 FLD (out_rn) = f_rn;
6331 extract_sfmt_stsl_macl_compact:
6333 const IDESC *idesc = &sh64_compact_insn_data[itype];
6334 CGEN_INSN_INT insn = entire_insn;
6335 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6338 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6340 /* Record the fields for the semantic handler. */
6342 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6344 #if WITH_PROFILE_MODEL_P
6345 /* Record the fields for profiling. */
6346 if (PROFILE_MODEL_P (current_cpu))
6349 FLD (out_rn) = f_rn;
6356 extract_sfmt_sts_pr_compact:
6358 const IDESC *idesc = &sh64_compact_insn_data[itype];
6359 CGEN_INSN_INT insn = entire_insn;
6360 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6363 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6365 /* Record the fields for the semantic handler. */
6367 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6369 #if WITH_PROFILE_MODEL_P
6370 /* Record the fields for profiling. */
6371 if (PROFILE_MODEL_P (current_cpu))
6373 FLD (out_rn) = f_rn;
6380 extract_sfmt_stsl_pr_compact:
6382 const IDESC *idesc = &sh64_compact_insn_data[itype];
6383 CGEN_INSN_INT insn = entire_insn;
6384 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6387 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6389 /* Record the fields for the semantic handler. */
6391 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6393 #if WITH_PROFILE_MODEL_P
6394 /* Record the fields for profiling. */
6395 if (PROFILE_MODEL_P (current_cpu))
6398 FLD (out_rn) = f_rn;
6405 extract_sfmt_tasb_compact:
6407 const IDESC *idesc = &sh64_compact_insn_data[itype];
6408 CGEN_INSN_INT insn = entire_insn;
6409 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6412 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
6414 /* Record the fields for the semantic handler. */
6416 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
6418 #if WITH_PROFILE_MODEL_P
6419 /* Record the fields for profiling. */
6420 if (PROFILE_MODEL_P (current_cpu))
6429 extract_sfmt_trapa_compact:
6431 const IDESC *idesc = &sh64_compact_insn_data[itype];
6432 CGEN_INSN_INT insn = entire_insn;
6433 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6436 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6438 /* Record the fields for the semantic handler. */
6439 FLD (f_imm8) = f_imm8;
6440 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
6442 #if WITH_PROFILE_MODEL_P
6443 /* Record the fields for profiling. */
6444 if (PROFILE_MODEL_P (current_cpu))
6452 extract_sfmt_tsti_compact:
6454 const IDESC *idesc = &sh64_compact_insn_data[itype];
6455 CGEN_INSN_INT insn = entire_insn;
6456 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6459 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6461 /* Record the fields for the semantic handler. */
6462 FLD (f_imm8) = f_imm8;
6463 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
6465 #if WITH_PROFILE_MODEL_P
6466 /* Record the fields for profiling. */
6467 if (PROFILE_MODEL_P (current_cpu))
6476 extract_sfmt_tstb_compact:
6478 const IDESC *idesc = &sh64_compact_insn_data[itype];
6479 CGEN_INSN_INT insn = entire_insn;
6480 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6483 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
6485 /* Record the fields for the semantic handler. */
6486 FLD (f_imm8) = f_imm8;
6487 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
6489 #if WITH_PROFILE_MODEL_P
6490 /* Record the fields for profiling. */
6491 if (PROFILE_MODEL_P (current_cpu))