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 3 of the License, or
12 (at your option) any later version.
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
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
28 #include "sim-assert.h"
30 /* The instruction descriptor array.
31 This is computed at runtime. Space for it is not malloc'd to save a
32 teensy bit of cpu in the decoder. Moving it to malloc space is trivial
33 but won't be done until necessary (we don't currently support the runtime
34 addition of instructions nor an SMP machine with different cpus). */
35 static IDESC sh64_compact_insn_data
[SH64_COMPACT_INSN__MAX
];
37 /* Commas between elements are contained in the macros.
38 Some of these are conditionally compiled out. */
40 static const struct insn_sem sh64_compact_insn_sem
[] =
42 { VIRTUAL_INSN_X_INVALID
, SH64_COMPACT_INSN_X_INVALID
, SH64_COMPACT_SFMT_EMPTY
},
43 { VIRTUAL_INSN_X_AFTER
, SH64_COMPACT_INSN_X_AFTER
, SH64_COMPACT_SFMT_EMPTY
},
44 { VIRTUAL_INSN_X_BEFORE
, SH64_COMPACT_INSN_X_BEFORE
, SH64_COMPACT_SFMT_EMPTY
},
45 { VIRTUAL_INSN_X_CTI_CHAIN
, SH64_COMPACT_INSN_X_CTI_CHAIN
, SH64_COMPACT_SFMT_EMPTY
},
46 { VIRTUAL_INSN_X_CHAIN
, SH64_COMPACT_INSN_X_CHAIN
, SH64_COMPACT_SFMT_EMPTY
},
47 { VIRTUAL_INSN_X_BEGIN
, SH64_COMPACT_INSN_X_BEGIN
, SH64_COMPACT_SFMT_EMPTY
},
48 { SH_INSN_ADD_COMPACT
, SH64_COMPACT_INSN_ADD_COMPACT
, SH64_COMPACT_SFMT_ADD_COMPACT
},
49 { SH_INSN_ADDI_COMPACT
, SH64_COMPACT_INSN_ADDI_COMPACT
, SH64_COMPACT_SFMT_ADDI_COMPACT
},
50 { SH_INSN_ADDC_COMPACT
, SH64_COMPACT_INSN_ADDC_COMPACT
, SH64_COMPACT_SFMT_ADDC_COMPACT
},
51 { SH_INSN_ADDV_COMPACT
, SH64_COMPACT_INSN_ADDV_COMPACT
, SH64_COMPACT_SFMT_ADDV_COMPACT
},
52 { SH_INSN_AND_COMPACT
, SH64_COMPACT_INSN_AND_COMPACT
, SH64_COMPACT_SFMT_AND_COMPACT
},
53 { SH_INSN_ANDI_COMPACT
, SH64_COMPACT_INSN_ANDI_COMPACT
, SH64_COMPACT_SFMT_ANDI_COMPACT
},
54 { SH_INSN_ANDB_COMPACT
, SH64_COMPACT_INSN_ANDB_COMPACT
, SH64_COMPACT_SFMT_ANDB_COMPACT
},
55 { SH_INSN_BF_COMPACT
, SH64_COMPACT_INSN_BF_COMPACT
, SH64_COMPACT_SFMT_BF_COMPACT
},
56 { SH_INSN_BFS_COMPACT
, SH64_COMPACT_INSN_BFS_COMPACT
, SH64_COMPACT_SFMT_BFS_COMPACT
},
57 { SH_INSN_BRA_COMPACT
, SH64_COMPACT_INSN_BRA_COMPACT
, SH64_COMPACT_SFMT_BRA_COMPACT
},
58 { SH_INSN_BRAF_COMPACT
, SH64_COMPACT_INSN_BRAF_COMPACT
, SH64_COMPACT_SFMT_BRAF_COMPACT
},
59 { SH_INSN_BRK_COMPACT
, SH64_COMPACT_INSN_BRK_COMPACT
, SH64_COMPACT_SFMT_BRK_COMPACT
},
60 { SH_INSN_BSR_COMPACT
, SH64_COMPACT_INSN_BSR_COMPACT
, SH64_COMPACT_SFMT_BSR_COMPACT
},
61 { SH_INSN_BSRF_COMPACT
, SH64_COMPACT_INSN_BSRF_COMPACT
, SH64_COMPACT_SFMT_BSRF_COMPACT
},
62 { SH_INSN_BT_COMPACT
, SH64_COMPACT_INSN_BT_COMPACT
, SH64_COMPACT_SFMT_BF_COMPACT
},
63 { SH_INSN_BTS_COMPACT
, SH64_COMPACT_INSN_BTS_COMPACT
, SH64_COMPACT_SFMT_BFS_COMPACT
},
64 { SH_INSN_CLRMAC_COMPACT
, SH64_COMPACT_INSN_CLRMAC_COMPACT
, SH64_COMPACT_SFMT_CLRMAC_COMPACT
},
65 { SH_INSN_CLRS_COMPACT
, SH64_COMPACT_INSN_CLRS_COMPACT
, SH64_COMPACT_SFMT_CLRS_COMPACT
},
66 { SH_INSN_CLRT_COMPACT
, SH64_COMPACT_INSN_CLRT_COMPACT
, SH64_COMPACT_SFMT_CLRT_COMPACT
},
67 { SH_INSN_CMPEQ_COMPACT
, SH64_COMPACT_INSN_CMPEQ_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
68 { SH_INSN_CMPEQI_COMPACT
, SH64_COMPACT_INSN_CMPEQI_COMPACT
, SH64_COMPACT_SFMT_CMPEQI_COMPACT
},
69 { SH_INSN_CMPGE_COMPACT
, SH64_COMPACT_INSN_CMPGE_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
70 { SH_INSN_CMPGT_COMPACT
, SH64_COMPACT_INSN_CMPGT_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
71 { SH_INSN_CMPHI_COMPACT
, SH64_COMPACT_INSN_CMPHI_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
72 { SH_INSN_CMPHS_COMPACT
, SH64_COMPACT_INSN_CMPHS_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
73 { SH_INSN_CMPPL_COMPACT
, SH64_COMPACT_INSN_CMPPL_COMPACT
, SH64_COMPACT_SFMT_CMPPL_COMPACT
},
74 { SH_INSN_CMPPZ_COMPACT
, SH64_COMPACT_INSN_CMPPZ_COMPACT
, SH64_COMPACT_SFMT_CMPPL_COMPACT
},
75 { SH_INSN_CMPSTR_COMPACT
, SH64_COMPACT_INSN_CMPSTR_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
76 { SH_INSN_DIV0S_COMPACT
, SH64_COMPACT_INSN_DIV0S_COMPACT
, SH64_COMPACT_SFMT_DIV0S_COMPACT
},
77 { SH_INSN_DIV0U_COMPACT
, SH64_COMPACT_INSN_DIV0U_COMPACT
, SH64_COMPACT_SFMT_DIV0U_COMPACT
},
78 { SH_INSN_DIV1_COMPACT
, SH64_COMPACT_INSN_DIV1_COMPACT
, SH64_COMPACT_SFMT_DIV1_COMPACT
},
79 { SH_INSN_DIVU_COMPACT
, SH64_COMPACT_INSN_DIVU_COMPACT
, SH64_COMPACT_SFMT_DIVU_COMPACT
},
80 { SH_INSN_MULR_COMPACT
, SH64_COMPACT_INSN_MULR_COMPACT
, SH64_COMPACT_SFMT_DIVU_COMPACT
},
81 { SH_INSN_DMULSL_COMPACT
, SH64_COMPACT_INSN_DMULSL_COMPACT
, SH64_COMPACT_SFMT_DMULSL_COMPACT
},
82 { SH_INSN_DMULUL_COMPACT
, SH64_COMPACT_INSN_DMULUL_COMPACT
, SH64_COMPACT_SFMT_DMULSL_COMPACT
},
83 { SH_INSN_DT_COMPACT
, SH64_COMPACT_INSN_DT_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
84 { SH_INSN_EXTSB_COMPACT
, SH64_COMPACT_INSN_EXTSB_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
85 { SH_INSN_EXTSW_COMPACT
, SH64_COMPACT_INSN_EXTSW_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
86 { SH_INSN_EXTUB_COMPACT
, SH64_COMPACT_INSN_EXTUB_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
87 { SH_INSN_EXTUW_COMPACT
, SH64_COMPACT_INSN_EXTUW_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
88 { SH_INSN_FABS_COMPACT
, SH64_COMPACT_INSN_FABS_COMPACT
, SH64_COMPACT_SFMT_FABS_COMPACT
},
89 { SH_INSN_FADD_COMPACT
, SH64_COMPACT_INSN_FADD_COMPACT
, SH64_COMPACT_SFMT_FADD_COMPACT
},
90 { SH_INSN_FCMPEQ_COMPACT
, SH64_COMPACT_INSN_FCMPEQ_COMPACT
, SH64_COMPACT_SFMT_FCMPEQ_COMPACT
},
91 { SH_INSN_FCMPGT_COMPACT
, SH64_COMPACT_INSN_FCMPGT_COMPACT
, SH64_COMPACT_SFMT_FCMPEQ_COMPACT
},
92 { SH_INSN_FCNVDS_COMPACT
, SH64_COMPACT_INSN_FCNVDS_COMPACT
, SH64_COMPACT_SFMT_FCNVDS_COMPACT
},
93 { SH_INSN_FCNVSD_COMPACT
, SH64_COMPACT_INSN_FCNVSD_COMPACT
, SH64_COMPACT_SFMT_FCNVSD_COMPACT
},
94 { SH_INSN_FDIV_COMPACT
, SH64_COMPACT_INSN_FDIV_COMPACT
, SH64_COMPACT_SFMT_FADD_COMPACT
},
95 { SH_INSN_FIPR_COMPACT
, SH64_COMPACT_INSN_FIPR_COMPACT
, SH64_COMPACT_SFMT_FIPR_COMPACT
},
96 { SH_INSN_FLDS_COMPACT
, SH64_COMPACT_INSN_FLDS_COMPACT
, SH64_COMPACT_SFMT_FLDS_COMPACT
},
97 { SH_INSN_FLDI0_COMPACT
, SH64_COMPACT_INSN_FLDI0_COMPACT
, SH64_COMPACT_SFMT_FLDI0_COMPACT
},
98 { SH_INSN_FLDI1_COMPACT
, SH64_COMPACT_INSN_FLDI1_COMPACT
, SH64_COMPACT_SFMT_FLDI0_COMPACT
},
99 { SH_INSN_FLOAT_COMPACT
, SH64_COMPACT_INSN_FLOAT_COMPACT
, SH64_COMPACT_SFMT_FLOAT_COMPACT
},
100 { SH_INSN_FMAC_COMPACT
, SH64_COMPACT_INSN_FMAC_COMPACT
, SH64_COMPACT_SFMT_FMAC_COMPACT
},
101 { SH_INSN_FMOV1_COMPACT
, SH64_COMPACT_INSN_FMOV1_COMPACT
, SH64_COMPACT_SFMT_FMOV1_COMPACT
},
102 { SH_INSN_FMOV2_COMPACT
, SH64_COMPACT_INSN_FMOV2_COMPACT
, SH64_COMPACT_SFMT_FMOV2_COMPACT
},
103 { SH_INSN_FMOV3_COMPACT
, SH64_COMPACT_INSN_FMOV3_COMPACT
, SH64_COMPACT_SFMT_FMOV3_COMPACT
},
104 { SH_INSN_FMOV4_COMPACT
, SH64_COMPACT_INSN_FMOV4_COMPACT
, SH64_COMPACT_SFMT_FMOV4_COMPACT
},
105 { SH_INSN_FMOV5_COMPACT
, SH64_COMPACT_INSN_FMOV5_COMPACT
, SH64_COMPACT_SFMT_FMOV5_COMPACT
},
106 { SH_INSN_FMOV6_COMPACT
, SH64_COMPACT_INSN_FMOV6_COMPACT
, SH64_COMPACT_SFMT_FMOV6_COMPACT
},
107 { SH_INSN_FMOV7_COMPACT
, SH64_COMPACT_INSN_FMOV7_COMPACT
, SH64_COMPACT_SFMT_FMOV7_COMPACT
},
108 { SH_INSN_FMOV8_COMPACT
, SH64_COMPACT_INSN_FMOV8_COMPACT
, SH64_COMPACT_SFMT_FMOV8_COMPACT
},
109 { SH_INSN_FMOV9_COMPACT
, SH64_COMPACT_INSN_FMOV9_COMPACT
, SH64_COMPACT_SFMT_FMOV9_COMPACT
},
110 { SH_INSN_FMUL_COMPACT
, SH64_COMPACT_INSN_FMUL_COMPACT
, SH64_COMPACT_SFMT_FADD_COMPACT
},
111 { SH_INSN_FNEG_COMPACT
, SH64_COMPACT_INSN_FNEG_COMPACT
, SH64_COMPACT_SFMT_FABS_COMPACT
},
112 { SH_INSN_FRCHG_COMPACT
, SH64_COMPACT_INSN_FRCHG_COMPACT
, SH64_COMPACT_SFMT_FRCHG_COMPACT
},
113 { SH_INSN_FSCHG_COMPACT
, SH64_COMPACT_INSN_FSCHG_COMPACT
, SH64_COMPACT_SFMT_FSCHG_COMPACT
},
114 { SH_INSN_FSQRT_COMPACT
, SH64_COMPACT_INSN_FSQRT_COMPACT
, SH64_COMPACT_SFMT_FABS_COMPACT
},
115 { SH_INSN_FSTS_COMPACT
, SH64_COMPACT_INSN_FSTS_COMPACT
, SH64_COMPACT_SFMT_FSTS_COMPACT
},
116 { SH_INSN_FSUB_COMPACT
, SH64_COMPACT_INSN_FSUB_COMPACT
, SH64_COMPACT_SFMT_FADD_COMPACT
},
117 { SH_INSN_FTRC_COMPACT
, SH64_COMPACT_INSN_FTRC_COMPACT
, SH64_COMPACT_SFMT_FTRC_COMPACT
},
118 { SH_INSN_FTRV_COMPACT
, SH64_COMPACT_INSN_FTRV_COMPACT
, SH64_COMPACT_SFMT_FTRV_COMPACT
},
119 { SH_INSN_JMP_COMPACT
, SH64_COMPACT_INSN_JMP_COMPACT
, SH64_COMPACT_SFMT_BRAF_COMPACT
},
120 { SH_INSN_JSR_COMPACT
, SH64_COMPACT_INSN_JSR_COMPACT
, SH64_COMPACT_SFMT_BSRF_COMPACT
},
121 { SH_INSN_LDC_GBR_COMPACT
, SH64_COMPACT_INSN_LDC_GBR_COMPACT
, SH64_COMPACT_SFMT_LDC_GBR_COMPACT
},
122 { SH_INSN_LDC_VBR_COMPACT
, SH64_COMPACT_INSN_LDC_VBR_COMPACT
, SH64_COMPACT_SFMT_LDC_VBR_COMPACT
},
123 { SH_INSN_LDC_SR_COMPACT
, SH64_COMPACT_INSN_LDC_SR_COMPACT
, SH64_COMPACT_SFMT_LDC_SR_COMPACT
},
124 { SH_INSN_LDCL_GBR_COMPACT
, SH64_COMPACT_INSN_LDCL_GBR_COMPACT
, SH64_COMPACT_SFMT_LDCL_GBR_COMPACT
},
125 { SH_INSN_LDCL_VBR_COMPACT
, SH64_COMPACT_INSN_LDCL_VBR_COMPACT
, SH64_COMPACT_SFMT_LDCL_VBR_COMPACT
},
126 { SH_INSN_LDS_FPSCR_COMPACT
, SH64_COMPACT_INSN_LDS_FPSCR_COMPACT
, SH64_COMPACT_SFMT_LDS_FPSCR_COMPACT
},
127 { SH_INSN_LDSL_FPSCR_COMPACT
, SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT
, SH64_COMPACT_SFMT_LDSL_FPSCR_COMPACT
},
128 { SH_INSN_LDS_FPUL_COMPACT
, SH64_COMPACT_INSN_LDS_FPUL_COMPACT
, SH64_COMPACT_SFMT_LDS_FPUL_COMPACT
},
129 { SH_INSN_LDSL_FPUL_COMPACT
, SH64_COMPACT_INSN_LDSL_FPUL_COMPACT
, SH64_COMPACT_SFMT_LDSL_FPUL_COMPACT
},
130 { SH_INSN_LDS_MACH_COMPACT
, SH64_COMPACT_INSN_LDS_MACH_COMPACT
, SH64_COMPACT_SFMT_LDS_MACH_COMPACT
},
131 { SH_INSN_LDSL_MACH_COMPACT
, SH64_COMPACT_INSN_LDSL_MACH_COMPACT
, SH64_COMPACT_SFMT_LDSL_MACH_COMPACT
},
132 { SH_INSN_LDS_MACL_COMPACT
, SH64_COMPACT_INSN_LDS_MACL_COMPACT
, SH64_COMPACT_SFMT_LDS_MACL_COMPACT
},
133 { SH_INSN_LDSL_MACL_COMPACT
, SH64_COMPACT_INSN_LDSL_MACL_COMPACT
, SH64_COMPACT_SFMT_LDSL_MACL_COMPACT
},
134 { SH_INSN_LDS_PR_COMPACT
, SH64_COMPACT_INSN_LDS_PR_COMPACT
, SH64_COMPACT_SFMT_LDS_PR_COMPACT
},
135 { SH_INSN_LDSL_PR_COMPACT
, SH64_COMPACT_INSN_LDSL_PR_COMPACT
, SH64_COMPACT_SFMT_LDSL_PR_COMPACT
},
136 { SH_INSN_MACL_COMPACT
, SH64_COMPACT_INSN_MACL_COMPACT
, SH64_COMPACT_SFMT_MACL_COMPACT
},
137 { SH_INSN_MACW_COMPACT
, SH64_COMPACT_INSN_MACW_COMPACT
, SH64_COMPACT_SFMT_MACW_COMPACT
},
138 { SH_INSN_MOV_COMPACT
, SH64_COMPACT_INSN_MOV_COMPACT
, SH64_COMPACT_SFMT_MOV_COMPACT
},
139 { SH_INSN_MOVI_COMPACT
, SH64_COMPACT_INSN_MOVI_COMPACT
, SH64_COMPACT_SFMT_MOVI_COMPACT
},
140 { SH_INSN_MOVI20_COMPACT
, SH64_COMPACT_INSN_MOVI20_COMPACT
, SH64_COMPACT_SFMT_MOVI20_COMPACT
},
141 { SH_INSN_MOVB1_COMPACT
, SH64_COMPACT_INSN_MOVB1_COMPACT
, SH64_COMPACT_SFMT_MOVB1_COMPACT
},
142 { SH_INSN_MOVB2_COMPACT
, SH64_COMPACT_INSN_MOVB2_COMPACT
, SH64_COMPACT_SFMT_MOVB2_COMPACT
},
143 { SH_INSN_MOVB3_COMPACT
, SH64_COMPACT_INSN_MOVB3_COMPACT
, SH64_COMPACT_SFMT_MOVB3_COMPACT
},
144 { SH_INSN_MOVB4_COMPACT
, SH64_COMPACT_INSN_MOVB4_COMPACT
, SH64_COMPACT_SFMT_MOVB4_COMPACT
},
145 { SH_INSN_MOVB5_COMPACT
, SH64_COMPACT_INSN_MOVB5_COMPACT
, SH64_COMPACT_SFMT_MOVB5_COMPACT
},
146 { SH_INSN_MOVB6_COMPACT
, SH64_COMPACT_INSN_MOVB6_COMPACT
, SH64_COMPACT_SFMT_MOVB6_COMPACT
},
147 { SH_INSN_MOVB7_COMPACT
, SH64_COMPACT_INSN_MOVB7_COMPACT
, SH64_COMPACT_SFMT_MOVB7_COMPACT
},
148 { SH_INSN_MOVB8_COMPACT
, SH64_COMPACT_INSN_MOVB8_COMPACT
, SH64_COMPACT_SFMT_MOVB8_COMPACT
},
149 { SH_INSN_MOVB9_COMPACT
, SH64_COMPACT_INSN_MOVB9_COMPACT
, SH64_COMPACT_SFMT_MOVB9_COMPACT
},
150 { SH_INSN_MOVB10_COMPACT
, SH64_COMPACT_INSN_MOVB10_COMPACT
, SH64_COMPACT_SFMT_MOVB10_COMPACT
},
151 { SH_INSN_MOVL1_COMPACT
, SH64_COMPACT_INSN_MOVL1_COMPACT
, SH64_COMPACT_SFMT_MOVL1_COMPACT
},
152 { SH_INSN_MOVL2_COMPACT
, SH64_COMPACT_INSN_MOVL2_COMPACT
, SH64_COMPACT_SFMT_MOVL2_COMPACT
},
153 { SH_INSN_MOVL3_COMPACT
, SH64_COMPACT_INSN_MOVL3_COMPACT
, SH64_COMPACT_SFMT_MOVL3_COMPACT
},
154 { SH_INSN_MOVL4_COMPACT
, SH64_COMPACT_INSN_MOVL4_COMPACT
, SH64_COMPACT_SFMT_MOVL4_COMPACT
},
155 { SH_INSN_MOVL5_COMPACT
, SH64_COMPACT_INSN_MOVL5_COMPACT
, SH64_COMPACT_SFMT_MOVL5_COMPACT
},
156 { SH_INSN_MOVL6_COMPACT
, SH64_COMPACT_INSN_MOVL6_COMPACT
, SH64_COMPACT_SFMT_MOVL6_COMPACT
},
157 { SH_INSN_MOVL7_COMPACT
, SH64_COMPACT_INSN_MOVL7_COMPACT
, SH64_COMPACT_SFMT_MOVL7_COMPACT
},
158 { SH_INSN_MOVL8_COMPACT
, SH64_COMPACT_INSN_MOVL8_COMPACT
, SH64_COMPACT_SFMT_MOVL8_COMPACT
},
159 { SH_INSN_MOVL9_COMPACT
, SH64_COMPACT_INSN_MOVL9_COMPACT
, SH64_COMPACT_SFMT_MOVL9_COMPACT
},
160 { SH_INSN_MOVL10_COMPACT
, SH64_COMPACT_INSN_MOVL10_COMPACT
, SH64_COMPACT_SFMT_MOVL10_COMPACT
},
161 { SH_INSN_MOVL11_COMPACT
, SH64_COMPACT_INSN_MOVL11_COMPACT
, SH64_COMPACT_SFMT_MOVL11_COMPACT
},
162 { SH_INSN_MOVL12_COMPACT
, SH64_COMPACT_INSN_MOVL12_COMPACT
, SH64_COMPACT_SFMT_MOVL12_COMPACT
},
163 { SH_INSN_MOVL13_COMPACT
, SH64_COMPACT_INSN_MOVL13_COMPACT
, SH64_COMPACT_SFMT_MOVL13_COMPACT
},
164 { SH_INSN_MOVW1_COMPACT
, SH64_COMPACT_INSN_MOVW1_COMPACT
, SH64_COMPACT_SFMT_MOVW1_COMPACT
},
165 { SH_INSN_MOVW2_COMPACT
, SH64_COMPACT_INSN_MOVW2_COMPACT
, SH64_COMPACT_SFMT_MOVW2_COMPACT
},
166 { SH_INSN_MOVW3_COMPACT
, SH64_COMPACT_INSN_MOVW3_COMPACT
, SH64_COMPACT_SFMT_MOVW3_COMPACT
},
167 { SH_INSN_MOVW4_COMPACT
, SH64_COMPACT_INSN_MOVW4_COMPACT
, SH64_COMPACT_SFMT_MOVW4_COMPACT
},
168 { SH_INSN_MOVW5_COMPACT
, SH64_COMPACT_INSN_MOVW5_COMPACT
, SH64_COMPACT_SFMT_MOVW5_COMPACT
},
169 { SH_INSN_MOVW6_COMPACT
, SH64_COMPACT_INSN_MOVW6_COMPACT
, SH64_COMPACT_SFMT_MOVW6_COMPACT
},
170 { SH_INSN_MOVW7_COMPACT
, SH64_COMPACT_INSN_MOVW7_COMPACT
, SH64_COMPACT_SFMT_MOVW7_COMPACT
},
171 { SH_INSN_MOVW8_COMPACT
, SH64_COMPACT_INSN_MOVW8_COMPACT
, SH64_COMPACT_SFMT_MOVW8_COMPACT
},
172 { SH_INSN_MOVW9_COMPACT
, SH64_COMPACT_INSN_MOVW9_COMPACT
, SH64_COMPACT_SFMT_MOVW9_COMPACT
},
173 { SH_INSN_MOVW10_COMPACT
, SH64_COMPACT_INSN_MOVW10_COMPACT
, SH64_COMPACT_SFMT_MOVW10_COMPACT
},
174 { SH_INSN_MOVW11_COMPACT
, SH64_COMPACT_INSN_MOVW11_COMPACT
, SH64_COMPACT_SFMT_MOVW11_COMPACT
},
175 { SH_INSN_MOVA_COMPACT
, SH64_COMPACT_INSN_MOVA_COMPACT
, SH64_COMPACT_SFMT_MOVA_COMPACT
},
176 { SH_INSN_MOVCAL_COMPACT
, SH64_COMPACT_INSN_MOVCAL_COMPACT
, SH64_COMPACT_SFMT_MOVCAL_COMPACT
},
177 { SH_INSN_MOVCOL_COMPACT
, SH64_COMPACT_INSN_MOVCOL_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
178 { SH_INSN_MOVT_COMPACT
, SH64_COMPACT_INSN_MOVT_COMPACT
, SH64_COMPACT_SFMT_MOVT_COMPACT
},
179 { SH_INSN_MOVUAL_COMPACT
, SH64_COMPACT_INSN_MOVUAL_COMPACT
, SH64_COMPACT_SFMT_MOVUAL_COMPACT
},
180 { SH_INSN_MOVUAL2_COMPACT
, SH64_COMPACT_INSN_MOVUAL2_COMPACT
, SH64_COMPACT_SFMT_MOVUAL2_COMPACT
},
181 { SH_INSN_MULL_COMPACT
, SH64_COMPACT_INSN_MULL_COMPACT
, SH64_COMPACT_SFMT_MULL_COMPACT
},
182 { SH_INSN_MULSW_COMPACT
, SH64_COMPACT_INSN_MULSW_COMPACT
, SH64_COMPACT_SFMT_MULL_COMPACT
},
183 { SH_INSN_MULUW_COMPACT
, SH64_COMPACT_INSN_MULUW_COMPACT
, SH64_COMPACT_SFMT_MULL_COMPACT
},
184 { SH_INSN_NEG_COMPACT
, SH64_COMPACT_INSN_NEG_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
185 { SH_INSN_NEGC_COMPACT
, SH64_COMPACT_INSN_NEGC_COMPACT
, SH64_COMPACT_SFMT_NEGC_COMPACT
},
186 { SH_INSN_NOP_COMPACT
, SH64_COMPACT_INSN_NOP_COMPACT
, SH64_COMPACT_SFMT_NOP_COMPACT
},
187 { SH_INSN_NOT_COMPACT
, SH64_COMPACT_INSN_NOT_COMPACT
, SH64_COMPACT_SFMT_MOV_COMPACT
},
188 { SH_INSN_OCBI_COMPACT
, SH64_COMPACT_INSN_OCBI_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
189 { SH_INSN_OCBP_COMPACT
, SH64_COMPACT_INSN_OCBP_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
190 { SH_INSN_OCBWB_COMPACT
, SH64_COMPACT_INSN_OCBWB_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
191 { SH_INSN_OR_COMPACT
, SH64_COMPACT_INSN_OR_COMPACT
, SH64_COMPACT_SFMT_AND_COMPACT
},
192 { SH_INSN_ORI_COMPACT
, SH64_COMPACT_INSN_ORI_COMPACT
, SH64_COMPACT_SFMT_ANDI_COMPACT
},
193 { SH_INSN_ORB_COMPACT
, SH64_COMPACT_INSN_ORB_COMPACT
, SH64_COMPACT_SFMT_ANDB_COMPACT
},
194 { SH_INSN_PREF_COMPACT
, SH64_COMPACT_INSN_PREF_COMPACT
, SH64_COMPACT_SFMT_PREF_COMPACT
},
195 { SH_INSN_ROTCL_COMPACT
, SH64_COMPACT_INSN_ROTCL_COMPACT
, SH64_COMPACT_SFMT_ROTCL_COMPACT
},
196 { SH_INSN_ROTCR_COMPACT
, SH64_COMPACT_INSN_ROTCR_COMPACT
, SH64_COMPACT_SFMT_ROTCL_COMPACT
},
197 { SH_INSN_ROTL_COMPACT
, SH64_COMPACT_INSN_ROTL_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
198 { SH_INSN_ROTR_COMPACT
, SH64_COMPACT_INSN_ROTR_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
199 { SH_INSN_RTS_COMPACT
, SH64_COMPACT_INSN_RTS_COMPACT
, SH64_COMPACT_SFMT_RTS_COMPACT
},
200 { SH_INSN_SETS_COMPACT
, SH64_COMPACT_INSN_SETS_COMPACT
, SH64_COMPACT_SFMT_CLRS_COMPACT
},
201 { SH_INSN_SETT_COMPACT
, SH64_COMPACT_INSN_SETT_COMPACT
, SH64_COMPACT_SFMT_CLRT_COMPACT
},
202 { SH_INSN_SHAD_COMPACT
, SH64_COMPACT_INSN_SHAD_COMPACT
, SH64_COMPACT_SFMT_SHAD_COMPACT
},
203 { SH_INSN_SHAL_COMPACT
, SH64_COMPACT_INSN_SHAL_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
204 { SH_INSN_SHAR_COMPACT
, SH64_COMPACT_INSN_SHAR_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
205 { SH_INSN_SHLD_COMPACT
, SH64_COMPACT_INSN_SHLD_COMPACT
, SH64_COMPACT_SFMT_SHAD_COMPACT
},
206 { SH_INSN_SHLL_COMPACT
, SH64_COMPACT_INSN_SHLL_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
207 { SH_INSN_SHLL2_COMPACT
, SH64_COMPACT_INSN_SHLL2_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
208 { SH_INSN_SHLL8_COMPACT
, SH64_COMPACT_INSN_SHLL8_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
209 { SH_INSN_SHLL16_COMPACT
, SH64_COMPACT_INSN_SHLL16_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
210 { SH_INSN_SHLR_COMPACT
, SH64_COMPACT_INSN_SHLR_COMPACT
, SH64_COMPACT_SFMT_DT_COMPACT
},
211 { SH_INSN_SHLR2_COMPACT
, SH64_COMPACT_INSN_SHLR2_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
212 { SH_INSN_SHLR8_COMPACT
, SH64_COMPACT_INSN_SHLR8_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
213 { SH_INSN_SHLR16_COMPACT
, SH64_COMPACT_INSN_SHLR16_COMPACT
, SH64_COMPACT_SFMT_MOVCOL_COMPACT
},
214 { SH_INSN_STC_GBR_COMPACT
, SH64_COMPACT_INSN_STC_GBR_COMPACT
, SH64_COMPACT_SFMT_STC_GBR_COMPACT
},
215 { SH_INSN_STC_VBR_COMPACT
, SH64_COMPACT_INSN_STC_VBR_COMPACT
, SH64_COMPACT_SFMT_STC_VBR_COMPACT
},
216 { SH_INSN_STCL_GBR_COMPACT
, SH64_COMPACT_INSN_STCL_GBR_COMPACT
, SH64_COMPACT_SFMT_STCL_GBR_COMPACT
},
217 { SH_INSN_STCL_VBR_COMPACT
, SH64_COMPACT_INSN_STCL_VBR_COMPACT
, SH64_COMPACT_SFMT_STCL_VBR_COMPACT
},
218 { SH_INSN_STS_FPSCR_COMPACT
, SH64_COMPACT_INSN_STS_FPSCR_COMPACT
, SH64_COMPACT_SFMT_STS_FPSCR_COMPACT
},
219 { SH_INSN_STSL_FPSCR_COMPACT
, SH64_COMPACT_INSN_STSL_FPSCR_COMPACT
, SH64_COMPACT_SFMT_STSL_FPSCR_COMPACT
},
220 { SH_INSN_STS_FPUL_COMPACT
, SH64_COMPACT_INSN_STS_FPUL_COMPACT
, SH64_COMPACT_SFMT_STS_FPUL_COMPACT
},
221 { SH_INSN_STSL_FPUL_COMPACT
, SH64_COMPACT_INSN_STSL_FPUL_COMPACT
, SH64_COMPACT_SFMT_STSL_FPUL_COMPACT
},
222 { SH_INSN_STS_MACH_COMPACT
, SH64_COMPACT_INSN_STS_MACH_COMPACT
, SH64_COMPACT_SFMT_STS_MACH_COMPACT
},
223 { SH_INSN_STSL_MACH_COMPACT
, SH64_COMPACT_INSN_STSL_MACH_COMPACT
, SH64_COMPACT_SFMT_STSL_MACH_COMPACT
},
224 { SH_INSN_STS_MACL_COMPACT
, SH64_COMPACT_INSN_STS_MACL_COMPACT
, SH64_COMPACT_SFMT_STS_MACL_COMPACT
},
225 { SH_INSN_STSL_MACL_COMPACT
, SH64_COMPACT_INSN_STSL_MACL_COMPACT
, SH64_COMPACT_SFMT_STSL_MACL_COMPACT
},
226 { SH_INSN_STS_PR_COMPACT
, SH64_COMPACT_INSN_STS_PR_COMPACT
, SH64_COMPACT_SFMT_STS_PR_COMPACT
},
227 { SH_INSN_STSL_PR_COMPACT
, SH64_COMPACT_INSN_STSL_PR_COMPACT
, SH64_COMPACT_SFMT_STSL_PR_COMPACT
},
228 { SH_INSN_SUB_COMPACT
, SH64_COMPACT_INSN_SUB_COMPACT
, SH64_COMPACT_SFMT_ADD_COMPACT
},
229 { SH_INSN_SUBC_COMPACT
, SH64_COMPACT_INSN_SUBC_COMPACT
, SH64_COMPACT_SFMT_ADDC_COMPACT
},
230 { SH_INSN_SUBV_COMPACT
, SH64_COMPACT_INSN_SUBV_COMPACT
, SH64_COMPACT_SFMT_ADDV_COMPACT
},
231 { SH_INSN_SWAPB_COMPACT
, SH64_COMPACT_INSN_SWAPB_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
232 { SH_INSN_SWAPW_COMPACT
, SH64_COMPACT_INSN_SWAPW_COMPACT
, SH64_COMPACT_SFMT_EXTSB_COMPACT
},
233 { SH_INSN_TASB_COMPACT
, SH64_COMPACT_INSN_TASB_COMPACT
, SH64_COMPACT_SFMT_TASB_COMPACT
},
234 { SH_INSN_TRAPA_COMPACT
, SH64_COMPACT_INSN_TRAPA_COMPACT
, SH64_COMPACT_SFMT_TRAPA_COMPACT
},
235 { SH_INSN_TST_COMPACT
, SH64_COMPACT_INSN_TST_COMPACT
, SH64_COMPACT_SFMT_CMPEQ_COMPACT
},
236 { SH_INSN_TSTI_COMPACT
, SH64_COMPACT_INSN_TSTI_COMPACT
, SH64_COMPACT_SFMT_TSTI_COMPACT
},
237 { SH_INSN_TSTB_COMPACT
, SH64_COMPACT_INSN_TSTB_COMPACT
, SH64_COMPACT_SFMT_TSTB_COMPACT
},
238 { SH_INSN_XOR_COMPACT
, SH64_COMPACT_INSN_XOR_COMPACT
, SH64_COMPACT_SFMT_AND_COMPACT
},
239 { SH_INSN_XORI_COMPACT
, SH64_COMPACT_INSN_XORI_COMPACT
, SH64_COMPACT_SFMT_ANDI_COMPACT
},
240 { SH_INSN_XORB_COMPACT
, SH64_COMPACT_INSN_XORB_COMPACT
, SH64_COMPACT_SFMT_ANDB_COMPACT
},
241 { SH_INSN_XTRCT_COMPACT
, SH64_COMPACT_INSN_XTRCT_COMPACT
, SH64_COMPACT_SFMT_ADD_COMPACT
},
244 static const struct insn_sem sh64_compact_insn_sem_invalid
= {
245 VIRTUAL_INSN_X_INVALID
, SH64_COMPACT_INSN_X_INVALID
, SH64_COMPACT_SFMT_EMPTY
248 /* Initialize an IDESC from the compile-time computable parts. */
251 init_idesc (SIM_CPU
*cpu
, IDESC
*id
, const struct insn_sem
*t
)
253 const CGEN_INSN
*insn_table
= CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu
))->init_entries
;
257 if ((int) t
->type
<= 0)
258 id
->idata
= & cgen_virtual_insn_table
[- (int) t
->type
];
260 id
->idata
= & insn_table
[t
->type
];
261 id
->attrs
= CGEN_INSN_ATTRS (id
->idata
);
262 /* Oh my god, a magic number. */
263 id
->length
= CGEN_INSN_BITSIZE (id
->idata
) / 8;
265 #if WITH_PROFILE_MODEL_P
266 id
->timing
= & MODEL_TIMING (CPU_MODEL (cpu
)) [t
->index
];
268 SIM_DESC sd
= CPU_STATE (cpu
);
269 SIM_ASSERT (t
->index
== id
->timing
->num
);
273 /* Semantic pointers are initialized elsewhere. */
276 /* Initialize the instruction descriptor table. */
279 sh64_compact_init_idesc_table (SIM_CPU
*cpu
)
282 const struct insn_sem
*t
,*tend
;
283 int tabsize
= SH64_COMPACT_INSN__MAX
;
284 IDESC
*table
= sh64_compact_insn_data
;
286 memset (table
, 0, tabsize
* sizeof (IDESC
));
288 /* First set all entries to the `invalid insn'. */
289 t
= & sh64_compact_insn_sem_invalid
;
290 for (id
= table
, tabend
= table
+ tabsize
; id
< tabend
; ++id
)
291 init_idesc (cpu
, id
, t
);
293 /* Now fill in the values for the chosen cpu. */
294 for (t
= sh64_compact_insn_sem
, tend
= t
+ sizeof (sh64_compact_insn_sem
) / sizeof (*t
);
297 init_idesc (cpu
, & table
[t
->index
], t
);
300 /* Link the IDESC table into the cpu. */
301 CPU_IDESC (cpu
) = table
;
304 /* Given an instruction, return a pointer to its IDESC entry. */
307 sh64_compact_decode (SIM_CPU
*current_cpu
, IADDR pc
,
308 CGEN_INSN_INT base_insn
, CGEN_INSN_INT entire_insn
,
311 /* Result of decoder. */
312 SH64_COMPACT_INSN_TYPE itype
;
315 CGEN_INSN_INT insn
= base_insn
;
318 unsigned int val
= (((insn
>> 5) & (15 << 7)) | ((insn
>> 0) & (127 << 0)));
321 case 0 : /* fall through */
322 case 16 : /* fall through */
323 case 32 : /* fall through */
324 case 48 : /* fall through */
325 case 64 : /* fall through */
326 case 80 : /* fall through */
327 case 96 : /* fall through */
329 if ((entire_insn
& 0xf00f0000) == 0x0)
330 { itype
= SH64_COMPACT_INSN_MOVI20_COMPACT
; goto extract_sfmt_movi20_compact
; }
331 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
334 unsigned int val
= (((insn
>> 7) & (1 << 0)));
338 if ((entire_insn
& 0xf0ff) == 0x3)
339 { itype
= SH64_COMPACT_INSN_BSRF_COMPACT
; goto extract_sfmt_bsrf_compact
; }
340 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
342 if ((entire_insn
& 0xf0ff) == 0x83)
343 { itype
= SH64_COMPACT_INSN_PREF_COMPACT
; goto extract_sfmt_pref_compact
; }
344 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
345 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
348 case 4 : /* fall through */
349 case 20 : /* fall through */
350 case 36 : /* fall through */
351 case 52 : /* fall through */
352 case 68 : /* fall through */
353 case 84 : /* fall through */
354 case 100 : /* fall through */
356 if ((entire_insn
& 0xf00f) == 0x4)
357 { itype
= SH64_COMPACT_INSN_MOVB3_COMPACT
; goto extract_sfmt_movb3_compact
; }
358 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
359 case 5 : /* fall through */
360 case 21 : /* fall through */
361 case 37 : /* fall through */
362 case 53 : /* fall through */
363 case 69 : /* fall through */
364 case 85 : /* fall through */
365 case 101 : /* fall through */
367 if ((entire_insn
& 0xf00f) == 0x5)
368 { itype
= SH64_COMPACT_INSN_MOVW3_COMPACT
; goto extract_sfmt_movw3_compact
; }
369 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
370 case 6 : /* fall through */
371 case 22 : /* fall through */
372 case 38 : /* fall through */
373 case 54 : /* fall through */
374 case 70 : /* fall through */
375 case 86 : /* fall through */
376 case 102 : /* fall through */
378 if ((entire_insn
& 0xf00f) == 0x6)
379 { itype
= SH64_COMPACT_INSN_MOVL3_COMPACT
; goto extract_sfmt_movl3_compact
; }
380 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
381 case 7 : /* fall through */
382 case 23 : /* fall through */
383 case 39 : /* fall through */
384 case 55 : /* fall through */
385 case 71 : /* fall through */
386 case 87 : /* fall through */
387 case 103 : /* fall through */
389 if ((entire_insn
& 0xf00f) == 0x7)
390 { itype
= SH64_COMPACT_INSN_MULL_COMPACT
; goto extract_sfmt_mull_compact
; }
391 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
393 if ((entire_insn
& 0xffff) == 0x8)
394 { itype
= SH64_COMPACT_INSN_CLRT_COMPACT
; goto extract_sfmt_clrt_compact
; }
395 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
397 if ((entire_insn
& 0xffff) == 0x9)
398 { itype
= SH64_COMPACT_INSN_NOP_COMPACT
; goto extract_sfmt_nop_compact
; }
399 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
401 if ((entire_insn
& 0xf0ff) == 0xa)
402 { itype
= SH64_COMPACT_INSN_STS_MACH_COMPACT
; goto extract_sfmt_sts_mach_compact
; }
403 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
405 if ((entire_insn
& 0xffff) == 0xb)
406 { itype
= SH64_COMPACT_INSN_RTS_COMPACT
; goto extract_sfmt_rts_compact
; }
407 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
408 case 12 : /* fall through */
409 case 28 : /* fall through */
410 case 44 : /* fall through */
411 case 60 : /* fall through */
412 case 76 : /* fall through */
413 case 92 : /* fall through */
414 case 108 : /* fall through */
416 if ((entire_insn
& 0xf00f) == 0xc)
417 { itype
= SH64_COMPACT_INSN_MOVB8_COMPACT
; goto extract_sfmt_movb8_compact
; }
418 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
419 case 13 : /* fall through */
420 case 29 : /* fall through */
421 case 45 : /* fall through */
422 case 61 : /* fall through */
423 case 77 : /* fall through */
424 case 93 : /* fall through */
425 case 109 : /* fall through */
427 if ((entire_insn
& 0xf00f) == 0xd)
428 { itype
= SH64_COMPACT_INSN_MOVW8_COMPACT
; goto extract_sfmt_movw8_compact
; }
429 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
430 case 14 : /* fall through */
431 case 30 : /* fall through */
432 case 46 : /* fall through */
433 case 62 : /* fall through */
434 case 78 : /* fall through */
435 case 94 : /* fall through */
436 case 110 : /* fall through */
438 if ((entire_insn
& 0xf00f) == 0xe)
439 { itype
= SH64_COMPACT_INSN_MOVL8_COMPACT
; goto extract_sfmt_movl8_compact
; }
440 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
441 case 15 : /* fall through */
442 case 31 : /* fall through */
443 case 47 : /* fall through */
444 case 63 : /* fall through */
445 case 79 : /* fall through */
446 case 95 : /* fall through */
447 case 111 : /* fall through */
449 if ((entire_insn
& 0xf00f) == 0xf)
450 { itype
= SH64_COMPACT_INSN_MACL_COMPACT
; goto extract_sfmt_macl_compact
; }
451 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
453 if ((entire_insn
& 0xf0ff) == 0x12)
454 { itype
= SH64_COMPACT_INSN_STC_GBR_COMPACT
; goto extract_sfmt_stc_gbr_compact
; }
455 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
457 if ((entire_insn
& 0xf0ff) == 0x93)
458 { itype
= SH64_COMPACT_INSN_OCBI_COMPACT
; goto extract_sfmt_movcol_compact
; }
459 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
461 if ((entire_insn
& 0xffff) == 0x18)
462 { itype
= SH64_COMPACT_INSN_SETT_COMPACT
; goto extract_sfmt_clrt_compact
; }
463 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
465 if ((entire_insn
& 0xffff) == 0x19)
466 { itype
= SH64_COMPACT_INSN_DIV0U_COMPACT
; goto extract_sfmt_div0u_compact
; }
467 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
469 if ((entire_insn
& 0xf0ff) == 0x1a)
470 { itype
= SH64_COMPACT_INSN_STS_MACL_COMPACT
; goto extract_sfmt_sts_macl_compact
; }
471 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
473 if ((entire_insn
& 0xf0ff) == 0x22)
474 { itype
= SH64_COMPACT_INSN_STC_VBR_COMPACT
; goto extract_sfmt_stc_vbr_compact
; }
475 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
478 unsigned int val
= (((insn
>> 7) & (1 << 0)));
482 if ((entire_insn
& 0xf0ff) == 0x23)
483 { itype
= SH64_COMPACT_INSN_BRAF_COMPACT
; goto extract_sfmt_braf_compact
; }
484 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
486 if ((entire_insn
& 0xf0ff) == 0xa3)
487 { itype
= SH64_COMPACT_INSN_OCBP_COMPACT
; goto extract_sfmt_movcol_compact
; }
488 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
489 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
493 if ((entire_insn
& 0xffff) == 0x28)
494 { itype
= SH64_COMPACT_INSN_CLRMAC_COMPACT
; goto extract_sfmt_clrmac_compact
; }
495 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
497 if ((entire_insn
& 0xf0ff) == 0x29)
498 { itype
= SH64_COMPACT_INSN_MOVT_COMPACT
; goto extract_sfmt_movt_compact
; }
499 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
501 if ((entire_insn
& 0xf0ff) == 0x2a)
502 { itype
= SH64_COMPACT_INSN_STS_PR_COMPACT
; goto extract_sfmt_sts_pr_compact
; }
503 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
505 if ((entire_insn
& 0xf0ff) == 0xb3)
506 { itype
= SH64_COMPACT_INSN_OCBWB_COMPACT
; goto extract_sfmt_movcol_compact
; }
507 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
509 if ((entire_insn
& 0xffff) == 0x3b)
510 { itype
= SH64_COMPACT_INSN_BRK_COMPACT
; goto extract_sfmt_brk_compact
; }
511 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
513 if ((entire_insn
& 0xf0ff) == 0xc3)
514 { itype
= SH64_COMPACT_INSN_MOVCAL_COMPACT
; goto extract_sfmt_movcal_compact
; }
515 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
517 if ((entire_insn
& 0xffff) == 0x48)
518 { itype
= SH64_COMPACT_INSN_CLRS_COMPACT
; goto extract_sfmt_clrs_compact
; }
519 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
521 if ((entire_insn
& 0xffff) == 0x58)
522 { itype
= SH64_COMPACT_INSN_SETS_COMPACT
; goto extract_sfmt_clrs_compact
; }
523 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
525 if ((entire_insn
& 0xf0ff) == 0x5a)
526 { itype
= SH64_COMPACT_INSN_STS_FPUL_COMPACT
; goto extract_sfmt_sts_fpul_compact
; }
527 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
529 if ((entire_insn
& 0xf0ff) == 0x6a)
530 { itype
= SH64_COMPACT_INSN_STS_FPSCR_COMPACT
; goto extract_sfmt_sts_fpscr_compact
; }
531 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
533 if ((entire_insn
& 0xf0ff) == 0x73)
534 { itype
= SH64_COMPACT_INSN_MOVCOL_COMPACT
; goto extract_sfmt_movcol_compact
; }
535 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
536 case 128 : /* fall through */
537 case 129 : /* fall through */
538 case 130 : /* fall through */
539 case 131 : /* fall through */
540 case 132 : /* fall through */
541 case 133 : /* fall through */
542 case 134 : /* fall through */
543 case 135 : /* fall through */
544 case 136 : /* fall through */
545 case 137 : /* fall through */
546 case 138 : /* fall through */
547 case 139 : /* fall through */
548 case 140 : /* fall through */
549 case 141 : /* fall through */
550 case 142 : /* fall through */
551 case 143 : /* fall through */
552 case 144 : /* fall through */
553 case 145 : /* fall through */
554 case 146 : /* fall through */
555 case 147 : /* fall through */
556 case 148 : /* fall through */
557 case 149 : /* fall through */
558 case 150 : /* fall through */
559 case 151 : /* fall through */
560 case 152 : /* fall through */
561 case 153 : /* fall through */
562 case 154 : /* fall through */
563 case 155 : /* fall through */
564 case 156 : /* fall through */
565 case 157 : /* fall through */
566 case 158 : /* fall through */
567 case 159 : /* fall through */
568 case 160 : /* fall through */
569 case 161 : /* fall through */
570 case 162 : /* fall through */
571 case 163 : /* fall through */
572 case 164 : /* fall through */
573 case 165 : /* fall through */
574 case 166 : /* fall through */
575 case 167 : /* fall through */
576 case 168 : /* fall through */
577 case 169 : /* fall through */
578 case 170 : /* fall through */
579 case 171 : /* fall through */
580 case 172 : /* fall through */
581 case 173 : /* fall through */
582 case 174 : /* fall through */
583 case 175 : /* fall through */
584 case 176 : /* fall through */
585 case 177 : /* fall through */
586 case 178 : /* fall through */
587 case 179 : /* fall through */
588 case 180 : /* fall through */
589 case 181 : /* fall through */
590 case 182 : /* fall through */
591 case 183 : /* fall through */
592 case 184 : /* fall through */
593 case 185 : /* fall through */
594 case 186 : /* fall through */
595 case 187 : /* fall through */
596 case 188 : /* fall through */
597 case 189 : /* fall through */
598 case 190 : /* fall through */
599 case 191 : /* fall through */
600 case 192 : /* fall through */
601 case 193 : /* fall through */
602 case 194 : /* fall through */
603 case 195 : /* fall through */
604 case 196 : /* fall through */
605 case 197 : /* fall through */
606 case 198 : /* fall through */
607 case 199 : /* fall through */
608 case 200 : /* fall through */
609 case 201 : /* fall through */
610 case 202 : /* fall through */
611 case 203 : /* fall through */
612 case 204 : /* fall through */
613 case 205 : /* fall through */
614 case 206 : /* fall through */
615 case 207 : /* fall through */
616 case 208 : /* fall through */
617 case 209 : /* fall through */
618 case 210 : /* fall through */
619 case 211 : /* fall through */
620 case 212 : /* fall through */
621 case 213 : /* fall through */
622 case 214 : /* fall through */
623 case 215 : /* fall through */
624 case 216 : /* fall through */
625 case 217 : /* fall through */
626 case 218 : /* fall through */
627 case 219 : /* fall through */
628 case 220 : /* fall through */
629 case 221 : /* fall through */
630 case 222 : /* fall through */
631 case 223 : /* fall through */
632 case 224 : /* fall through */
633 case 225 : /* fall through */
634 case 226 : /* fall through */
635 case 227 : /* fall through */
636 case 228 : /* fall through */
637 case 229 : /* fall through */
638 case 230 : /* fall through */
639 case 231 : /* fall through */
640 case 232 : /* fall through */
641 case 233 : /* fall through */
642 case 234 : /* fall through */
643 case 235 : /* fall through */
644 case 236 : /* fall through */
645 case 237 : /* fall through */
646 case 238 : /* fall through */
647 case 239 : /* fall through */
648 case 240 : /* fall through */
649 case 241 : /* fall through */
650 case 242 : /* fall through */
651 case 243 : /* fall through */
652 case 244 : /* fall through */
653 case 245 : /* fall through */
654 case 246 : /* fall through */
655 case 247 : /* fall through */
656 case 248 : /* fall through */
657 case 249 : /* fall through */
658 case 250 : /* fall through */
659 case 251 : /* fall through */
660 case 252 : /* fall through */
661 case 253 : /* fall through */
662 case 254 : /* fall through */
664 if ((entire_insn
& 0xf000) == 0x1000)
665 { itype
= SH64_COMPACT_INSN_MOVL5_COMPACT
; goto extract_sfmt_movl5_compact
; }
666 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
667 case 256 : /* fall through */
668 case 272 : /* fall through */
669 case 288 : /* fall through */
670 case 304 : /* fall through */
671 case 320 : /* fall through */
672 case 336 : /* fall through */
673 case 352 : /* fall through */
675 if ((entire_insn
& 0xf00f) == 0x2000)
676 { itype
= SH64_COMPACT_INSN_MOVB1_COMPACT
; goto extract_sfmt_movb1_compact
; }
677 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
678 case 257 : /* fall through */
679 case 273 : /* fall through */
680 case 289 : /* fall through */
681 case 305 : /* fall through */
682 case 321 : /* fall through */
683 case 337 : /* fall through */
684 case 353 : /* fall through */
686 if ((entire_insn
& 0xf00f) == 0x2001)
687 { itype
= SH64_COMPACT_INSN_MOVW1_COMPACT
; goto extract_sfmt_movw1_compact
; }
688 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
689 case 258 : /* fall through */
690 case 274 : /* fall through */
691 case 290 : /* fall through */
692 case 306 : /* fall through */
693 case 322 : /* fall through */
694 case 338 : /* fall through */
695 case 354 : /* fall through */
697 if ((entire_insn
& 0xf00f) == 0x2002)
698 { itype
= SH64_COMPACT_INSN_MOVL1_COMPACT
; goto extract_sfmt_movl1_compact
; }
699 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
700 case 260 : /* fall through */
701 case 276 : /* fall through */
702 case 292 : /* fall through */
703 case 308 : /* fall through */
704 case 324 : /* fall through */
705 case 340 : /* fall through */
706 case 356 : /* fall through */
708 if ((entire_insn
& 0xf00f) == 0x2004)
709 { itype
= SH64_COMPACT_INSN_MOVB2_COMPACT
; goto extract_sfmt_movb2_compact
; }
710 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
711 case 261 : /* fall through */
712 case 277 : /* fall through */
713 case 293 : /* fall through */
714 case 309 : /* fall through */
715 case 325 : /* fall through */
716 case 341 : /* fall through */
717 case 357 : /* fall through */
719 if ((entire_insn
& 0xf00f) == 0x2005)
720 { itype
= SH64_COMPACT_INSN_MOVW2_COMPACT
; goto extract_sfmt_movw2_compact
; }
721 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
722 case 262 : /* fall through */
723 case 278 : /* fall through */
724 case 294 : /* fall through */
725 case 310 : /* fall through */
726 case 326 : /* fall through */
727 case 342 : /* fall through */
728 case 358 : /* fall through */
730 if ((entire_insn
& 0xf00f) == 0x2006)
731 { itype
= SH64_COMPACT_INSN_MOVL2_COMPACT
; goto extract_sfmt_movl2_compact
; }
732 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
733 case 263 : /* fall through */
734 case 279 : /* fall through */
735 case 295 : /* fall through */
736 case 311 : /* fall through */
737 case 327 : /* fall through */
738 case 343 : /* fall through */
739 case 359 : /* fall through */
741 if ((entire_insn
& 0xf00f) == 0x2007)
742 { itype
= SH64_COMPACT_INSN_DIV0S_COMPACT
; goto extract_sfmt_div0s_compact
; }
743 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
744 case 264 : /* fall through */
745 case 280 : /* fall through */
746 case 296 : /* fall through */
747 case 312 : /* fall through */
748 case 328 : /* fall through */
749 case 344 : /* fall through */
750 case 360 : /* fall through */
752 if ((entire_insn
& 0xf00f) == 0x2008)
753 { itype
= SH64_COMPACT_INSN_TST_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
754 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
755 case 265 : /* fall through */
756 case 281 : /* fall through */
757 case 297 : /* fall through */
758 case 313 : /* fall through */
759 case 329 : /* fall through */
760 case 345 : /* fall through */
761 case 361 : /* fall through */
763 if ((entire_insn
& 0xf00f) == 0x2009)
764 { itype
= SH64_COMPACT_INSN_AND_COMPACT
; goto extract_sfmt_and_compact
; }
765 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
766 case 266 : /* fall through */
767 case 282 : /* fall through */
768 case 298 : /* fall through */
769 case 314 : /* fall through */
770 case 330 : /* fall through */
771 case 346 : /* fall through */
772 case 362 : /* fall through */
774 if ((entire_insn
& 0xf00f) == 0x200a)
775 { itype
= SH64_COMPACT_INSN_XOR_COMPACT
; goto extract_sfmt_and_compact
; }
776 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
777 case 267 : /* fall through */
778 case 283 : /* fall through */
779 case 299 : /* fall through */
780 case 315 : /* fall through */
781 case 331 : /* fall through */
782 case 347 : /* fall through */
783 case 363 : /* fall through */
785 if ((entire_insn
& 0xf00f) == 0x200b)
786 { itype
= SH64_COMPACT_INSN_OR_COMPACT
; goto extract_sfmt_and_compact
; }
787 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
788 case 268 : /* fall through */
789 case 284 : /* fall through */
790 case 300 : /* fall through */
791 case 316 : /* fall through */
792 case 332 : /* fall through */
793 case 348 : /* fall through */
794 case 364 : /* fall through */
796 if ((entire_insn
& 0xf00f) == 0x200c)
797 { itype
= SH64_COMPACT_INSN_CMPSTR_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
798 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
799 case 269 : /* fall through */
800 case 285 : /* fall through */
801 case 301 : /* fall through */
802 case 317 : /* fall through */
803 case 333 : /* fall through */
804 case 349 : /* fall through */
805 case 365 : /* fall through */
807 if ((entire_insn
& 0xf00f) == 0x200d)
808 { itype
= SH64_COMPACT_INSN_XTRCT_COMPACT
; goto extract_sfmt_add_compact
; }
809 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
810 case 270 : /* fall through */
811 case 286 : /* fall through */
812 case 302 : /* fall through */
813 case 318 : /* fall through */
814 case 334 : /* fall through */
815 case 350 : /* fall through */
816 case 366 : /* fall through */
818 if ((entire_insn
& 0xf00f) == 0x200e)
819 { itype
= SH64_COMPACT_INSN_MULUW_COMPACT
; goto extract_sfmt_mull_compact
; }
820 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
821 case 271 : /* fall through */
822 case 287 : /* fall through */
823 case 303 : /* fall through */
824 case 319 : /* fall through */
825 case 335 : /* fall through */
826 case 351 : /* fall through */
827 case 367 : /* fall through */
829 if ((entire_insn
& 0xf00f) == 0x200f)
830 { itype
= SH64_COMPACT_INSN_MULSW_COMPACT
; goto extract_sfmt_mull_compact
; }
831 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
832 case 384 : /* fall through */
833 case 400 : /* fall through */
834 case 416 : /* fall through */
835 case 432 : /* fall through */
836 case 448 : /* fall through */
837 case 464 : /* fall through */
838 case 480 : /* fall through */
840 if ((entire_insn
& 0xf00f) == 0x3000)
841 { itype
= SH64_COMPACT_INSN_CMPEQ_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
842 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
843 case 385 : /* fall through */
844 case 417 : /* fall through */
845 case 449 : /* fall through */
848 unsigned int val
= (((insn
>> -3) & (1 << 1)) | ((insn
>> -4) & (1 << 0)));
852 if ((entire_insn
& 0xf00ff000) == 0x30012000)
853 { itype
= SH64_COMPACT_INSN_MOVL13_COMPACT
; goto extract_sfmt_movl13_compact
; }
854 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
856 if ((entire_insn
& 0xf01ff000) == 0x30013000)
857 { itype
= SH64_COMPACT_INSN_FMOV9_COMPACT
; goto extract_sfmt_fmov9_compact
; }
858 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
860 if ((entire_insn
& 0xf00ff000) == 0x30016000)
861 { itype
= SH64_COMPACT_INSN_MOVL12_COMPACT
; goto extract_sfmt_movl12_compact
; }
862 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
864 if ((entire_insn
& 0xf10ff000) == 0x30017000)
865 { itype
= SH64_COMPACT_INSN_FMOV8_COMPACT
; goto extract_sfmt_fmov8_compact
; }
866 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
867 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
870 case 386 : /* fall through */
871 case 402 : /* fall through */
872 case 418 : /* fall through */
873 case 434 : /* fall through */
874 case 450 : /* fall through */
875 case 466 : /* fall through */
876 case 482 : /* fall through */
878 if ((entire_insn
& 0xf00f) == 0x3002)
879 { itype
= SH64_COMPACT_INSN_CMPHS_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
880 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
881 case 387 : /* fall through */
882 case 403 : /* fall through */
883 case 419 : /* fall through */
884 case 435 : /* fall through */
885 case 451 : /* fall through */
886 case 467 : /* fall through */
887 case 483 : /* fall through */
889 if ((entire_insn
& 0xf00f) == 0x3003)
890 { itype
= SH64_COMPACT_INSN_CMPGE_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
891 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
892 case 388 : /* fall through */
893 case 404 : /* fall through */
894 case 420 : /* fall through */
895 case 436 : /* fall through */
896 case 452 : /* fall through */
897 case 468 : /* fall through */
898 case 484 : /* fall through */
900 if ((entire_insn
& 0xf00f) == 0x3004)
901 { itype
= SH64_COMPACT_INSN_DIV1_COMPACT
; goto extract_sfmt_div1_compact
; }
902 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
903 case 389 : /* fall through */
904 case 405 : /* fall through */
905 case 421 : /* fall through */
906 case 437 : /* fall through */
907 case 453 : /* fall through */
908 case 469 : /* fall through */
909 case 485 : /* fall through */
911 if ((entire_insn
& 0xf00f) == 0x3005)
912 { itype
= SH64_COMPACT_INSN_DMULUL_COMPACT
; goto extract_sfmt_dmulsl_compact
; }
913 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
914 case 390 : /* fall through */
915 case 406 : /* fall through */
916 case 422 : /* fall through */
917 case 438 : /* fall through */
918 case 454 : /* fall through */
919 case 470 : /* fall through */
920 case 486 : /* fall through */
922 if ((entire_insn
& 0xf00f) == 0x3006)
923 { itype
= SH64_COMPACT_INSN_CMPHI_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
924 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
925 case 391 : /* fall through */
926 case 407 : /* fall through */
927 case 423 : /* fall through */
928 case 439 : /* fall through */
929 case 455 : /* fall through */
930 case 471 : /* fall through */
931 case 487 : /* fall through */
933 if ((entire_insn
& 0xf00f) == 0x3007)
934 { itype
= SH64_COMPACT_INSN_CMPGT_COMPACT
; goto extract_sfmt_cmpeq_compact
; }
935 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
936 case 392 : /* fall through */
937 case 408 : /* fall through */
938 case 424 : /* fall through */
939 case 440 : /* fall through */
940 case 456 : /* fall through */
941 case 472 : /* fall through */
942 case 488 : /* fall through */
944 if ((entire_insn
& 0xf00f) == 0x3008)
945 { itype
= SH64_COMPACT_INSN_SUB_COMPACT
; goto extract_sfmt_add_compact
; }
946 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
947 case 394 : /* fall through */
948 case 410 : /* fall through */
949 case 426 : /* fall through */
950 case 442 : /* fall through */
951 case 458 : /* fall through */
952 case 474 : /* fall through */
953 case 490 : /* fall through */
955 if ((entire_insn
& 0xf00f) == 0x300a)
956 { itype
= SH64_COMPACT_INSN_SUBC_COMPACT
; goto extract_sfmt_addc_compact
; }
957 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
958 case 395 : /* fall through */
959 case 411 : /* fall through */
960 case 427 : /* fall through */
961 case 443 : /* fall through */
962 case 459 : /* fall through */
963 case 475 : /* fall through */
964 case 491 : /* fall through */
966 if ((entire_insn
& 0xf00f) == 0x300b)
967 { itype
= SH64_COMPACT_INSN_SUBV_COMPACT
; goto extract_sfmt_addv_compact
; }
968 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
969 case 396 : /* fall through */
970 case 412 : /* fall through */
971 case 428 : /* fall through */
972 case 444 : /* fall through */
973 case 460 : /* fall through */
974 case 476 : /* fall through */
975 case 492 : /* fall through */
977 if ((entire_insn
& 0xf00f) == 0x300c)
978 { itype
= SH64_COMPACT_INSN_ADD_COMPACT
; goto extract_sfmt_add_compact
; }
979 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
980 case 397 : /* fall through */
981 case 413 : /* fall through */
982 case 429 : /* fall through */
983 case 445 : /* fall through */
984 case 461 : /* fall through */
985 case 477 : /* fall through */
986 case 493 : /* fall through */
988 if ((entire_insn
& 0xf00f) == 0x300d)
989 { itype
= SH64_COMPACT_INSN_DMULSL_COMPACT
; goto extract_sfmt_dmulsl_compact
; }
990 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
991 case 398 : /* fall through */
992 case 414 : /* fall through */
993 case 430 : /* fall through */
994 case 446 : /* fall through */
995 case 462 : /* fall through */
996 case 478 : /* fall through */
997 case 494 : /* fall through */
999 if ((entire_insn
& 0xf00f) == 0x300e)
1000 { itype
= SH64_COMPACT_INSN_ADDC_COMPACT
; goto extract_sfmt_addc_compact
; }
1001 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1002 case 399 : /* fall through */
1003 case 415 : /* fall through */
1004 case 431 : /* fall through */
1005 case 447 : /* fall through */
1006 case 463 : /* fall through */
1007 case 479 : /* fall through */
1008 case 495 : /* fall through */
1010 if ((entire_insn
& 0xf00f) == 0x300f)
1011 { itype
= SH64_COMPACT_INSN_ADDV_COMPACT
; goto extract_sfmt_addv_compact
; }
1012 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1013 case 401 : /* fall through */
1014 case 433 : /* fall through */
1015 case 465 : /* fall through */
1018 unsigned int val
= (((insn
>> -3) & (1 << 1)) | ((insn
>> -4) & (1 << 0)));
1022 if ((entire_insn
& 0xf00ff000) == 0x30012000)
1023 { itype
= SH64_COMPACT_INSN_MOVL13_COMPACT
; goto extract_sfmt_movl13_compact
; }
1024 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1026 if ((entire_insn
& 0xf00ff000) == 0x30016000)
1027 { itype
= SH64_COMPACT_INSN_MOVL12_COMPACT
; goto extract_sfmt_movl12_compact
; }
1028 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1030 if ((entire_insn
& 0xf10ff000) == 0x30017000)
1031 { itype
= SH64_COMPACT_INSN_FMOV8_COMPACT
; goto extract_sfmt_fmov8_compact
; }
1032 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1033 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1038 unsigned int val
= (((insn
>> 7) & (1 << 0)));
1042 if ((entire_insn
& 0xf0ff) == 0x4000)
1043 { itype
= SH64_COMPACT_INSN_SHLL_COMPACT
; goto extract_sfmt_dt_compact
; }
1044 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1046 if ((entire_insn
& 0xf0ff) == 0x4080)
1047 { itype
= SH64_COMPACT_INSN_MULR_COMPACT
; goto extract_sfmt_divu_compact
; }
1048 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1049 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1053 if ((entire_insn
& 0xf0ff) == 0x4001)
1054 { itype
= SH64_COMPACT_INSN_SHLR_COMPACT
; goto extract_sfmt_dt_compact
; }
1055 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1057 if ((entire_insn
& 0xf0ff) == 0x4002)
1058 { itype
= SH64_COMPACT_INSN_STSL_MACH_COMPACT
; goto extract_sfmt_stsl_mach_compact
; }
1059 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1062 unsigned int val
= (((insn
>> 7) & (1 << 0)));
1066 if ((entire_insn
& 0xf0ff) == 0x4004)
1067 { itype
= SH64_COMPACT_INSN_ROTL_COMPACT
; goto extract_sfmt_dt_compact
; }
1068 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1070 if ((entire_insn
& 0xf0ff) == 0x4084)
1071 { itype
= SH64_COMPACT_INSN_DIVU_COMPACT
; goto extract_sfmt_divu_compact
; }
1072 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1073 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1077 if ((entire_insn
& 0xf0ff) == 0x4005)
1078 { itype
= SH64_COMPACT_INSN_ROTR_COMPACT
; goto extract_sfmt_dt_compact
; }
1079 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1081 if ((entire_insn
& 0xf0ff) == 0x4006)
1082 { itype
= SH64_COMPACT_INSN_LDSL_MACH_COMPACT
; goto extract_sfmt_ldsl_mach_compact
; }
1083 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1085 if ((entire_insn
& 0xf0ff) == 0x4008)
1086 { itype
= SH64_COMPACT_INSN_SHLL2_COMPACT
; goto extract_sfmt_movcol_compact
; }
1087 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1089 if ((entire_insn
& 0xf0ff) == 0x4009)
1090 { itype
= SH64_COMPACT_INSN_SHLR2_COMPACT
; goto extract_sfmt_movcol_compact
; }
1091 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1093 if ((entire_insn
& 0xf0ff) == 0x400a)
1094 { itype
= SH64_COMPACT_INSN_LDS_MACH_COMPACT
; goto extract_sfmt_lds_mach_compact
; }
1095 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1097 if ((entire_insn
& 0xf0ff) == 0x400b)
1098 { itype
= SH64_COMPACT_INSN_JSR_COMPACT
; goto extract_sfmt_bsrf_compact
; }
1099 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1100 case 524 : /* fall through */
1101 case 540 : /* fall through */
1102 case 556 : /* fall through */
1103 case 572 : /* fall through */
1104 case 588 : /* fall through */
1105 case 604 : /* fall through */
1106 case 620 : /* fall through */
1108 if ((entire_insn
& 0xf00f) == 0x400c)
1109 { itype
= SH64_COMPACT_INSN_SHAD_COMPACT
; goto extract_sfmt_shad_compact
; }
1110 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1111 case 525 : /* fall through */
1112 case 541 : /* fall through */
1113 case 557 : /* fall through */
1114 case 573 : /* fall through */
1115 case 589 : /* fall through */
1116 case 605 : /* fall through */
1117 case 621 : /* fall through */
1119 if ((entire_insn
& 0xf00f) == 0x400d)
1120 { itype
= SH64_COMPACT_INSN_SHLD_COMPACT
; goto extract_sfmt_shad_compact
; }
1121 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1123 if ((entire_insn
& 0xf0ff) == 0x400e)
1124 { itype
= SH64_COMPACT_INSN_LDC_SR_COMPACT
; goto extract_sfmt_ldc_sr_compact
; }
1125 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1126 case 527 : /* fall through */
1127 case 543 : /* fall through */
1128 case 559 : /* fall through */
1129 case 575 : /* fall through */
1130 case 591 : /* fall through */
1131 case 607 : /* fall through */
1132 case 623 : /* fall through */
1134 if ((entire_insn
& 0xf00f) == 0x400f)
1135 { itype
= SH64_COMPACT_INSN_MACW_COMPACT
; goto extract_sfmt_macw_compact
; }
1136 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1138 if ((entire_insn
& 0xf0ff) == 0x4010)
1139 { itype
= SH64_COMPACT_INSN_DT_COMPACT
; goto extract_sfmt_dt_compact
; }
1140 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1142 if ((entire_insn
& 0xf0ff) == 0x4011)
1143 { itype
= SH64_COMPACT_INSN_CMPPZ_COMPACT
; goto extract_sfmt_cmppl_compact
; }
1144 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1146 if ((entire_insn
& 0xf0ff) == 0x4012)
1147 { itype
= SH64_COMPACT_INSN_STSL_MACL_COMPACT
; goto extract_sfmt_stsl_macl_compact
; }
1148 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1150 if ((entire_insn
& 0xf0ff) == 0x4013)
1151 { itype
= SH64_COMPACT_INSN_STCL_GBR_COMPACT
; goto extract_sfmt_stcl_gbr_compact
; }
1152 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1154 if ((entire_insn
& 0xf0ff) == 0x4015)
1155 { itype
= SH64_COMPACT_INSN_CMPPL_COMPACT
; goto extract_sfmt_cmppl_compact
; }
1156 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1158 if ((entire_insn
& 0xf0ff) == 0x4016)
1159 { itype
= SH64_COMPACT_INSN_LDSL_MACL_COMPACT
; goto extract_sfmt_ldsl_macl_compact
; }
1160 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1162 if ((entire_insn
& 0xf0ff) == 0x4017)
1163 { itype
= SH64_COMPACT_INSN_LDCL_GBR_COMPACT
; goto extract_sfmt_ldcl_gbr_compact
; }
1164 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1166 if ((entire_insn
& 0xf0ff) == 0x4018)
1167 { itype
= SH64_COMPACT_INSN_SHLL8_COMPACT
; goto extract_sfmt_movcol_compact
; }
1168 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1170 if ((entire_insn
& 0xf0ff) == 0x4019)
1171 { itype
= SH64_COMPACT_INSN_SHLR8_COMPACT
; goto extract_sfmt_movcol_compact
; }
1172 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1174 if ((entire_insn
& 0xf0ff) == 0x401a)
1175 { itype
= SH64_COMPACT_INSN_LDS_MACL_COMPACT
; goto extract_sfmt_lds_macl_compact
; }
1176 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1178 if ((entire_insn
& 0xf0ff) == 0x401b)
1179 { itype
= SH64_COMPACT_INSN_TASB_COMPACT
; goto extract_sfmt_tasb_compact
; }
1180 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1182 if ((entire_insn
& 0xf0ff) == 0x401e)
1183 { itype
= SH64_COMPACT_INSN_LDC_GBR_COMPACT
; goto extract_sfmt_ldc_gbr_compact
; }
1184 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1186 if ((entire_insn
& 0xf0ff) == 0x4020)
1187 { itype
= SH64_COMPACT_INSN_SHAL_COMPACT
; goto extract_sfmt_dt_compact
; }
1188 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1190 if ((entire_insn
& 0xf0ff) == 0x4021)
1191 { itype
= SH64_COMPACT_INSN_SHAR_COMPACT
; goto extract_sfmt_dt_compact
; }
1192 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1194 if ((entire_insn
& 0xf0ff) == 0x4022)
1195 { itype
= SH64_COMPACT_INSN_STSL_PR_COMPACT
; goto extract_sfmt_stsl_pr_compact
; }
1196 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1198 if ((entire_insn
& 0xf0ff) == 0x4023)
1199 { itype
= SH64_COMPACT_INSN_STCL_VBR_COMPACT
; goto extract_sfmt_stcl_vbr_compact
; }
1200 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1202 if ((entire_insn
& 0xf0ff) == 0x4024)
1203 { itype
= SH64_COMPACT_INSN_ROTCL_COMPACT
; goto extract_sfmt_rotcl_compact
; }
1204 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1206 if ((entire_insn
& 0xf0ff) == 0x4025)
1207 { itype
= SH64_COMPACT_INSN_ROTCR_COMPACT
; goto extract_sfmt_rotcl_compact
; }
1208 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1210 if ((entire_insn
& 0xf0ff) == 0x4026)
1211 { itype
= SH64_COMPACT_INSN_LDSL_PR_COMPACT
; goto extract_sfmt_ldsl_pr_compact
; }
1212 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1214 if ((entire_insn
& 0xf0ff) == 0x4027)
1215 { itype
= SH64_COMPACT_INSN_LDCL_VBR_COMPACT
; goto extract_sfmt_ldcl_vbr_compact
; }
1216 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1218 if ((entire_insn
& 0xf0ff) == 0x4028)
1219 { itype
= SH64_COMPACT_INSN_SHLL16_COMPACT
; goto extract_sfmt_movcol_compact
; }
1220 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1223 unsigned int val
= (((insn
>> 7) & (1 << 0)));
1227 if ((entire_insn
& 0xf0ff) == 0x4029)
1228 { itype
= SH64_COMPACT_INSN_SHLR16_COMPACT
; goto extract_sfmt_movcol_compact
; }
1229 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1231 if ((entire_insn
& 0xf0ff) == 0x40a9)
1232 { itype
= SH64_COMPACT_INSN_MOVUAL_COMPACT
; goto extract_sfmt_movual_compact
; }
1233 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1234 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1238 if ((entire_insn
& 0xf0ff) == 0x402a)
1239 { itype
= SH64_COMPACT_INSN_LDS_PR_COMPACT
; goto extract_sfmt_lds_pr_compact
; }
1240 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1242 if ((entire_insn
& 0xf0ff) == 0x402b)
1243 { itype
= SH64_COMPACT_INSN_JMP_COMPACT
; goto extract_sfmt_braf_compact
; }
1244 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1246 if ((entire_insn
& 0xf0ff) == 0x402e)
1247 { itype
= SH64_COMPACT_INSN_LDC_VBR_COMPACT
; goto extract_sfmt_ldc_vbr_compact
; }
1248 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1250 if ((entire_insn
& 0xf0ff) == 0x4052)
1251 { itype
= SH64_COMPACT_INSN_STSL_FPUL_COMPACT
; goto extract_sfmt_stsl_fpul_compact
; }
1252 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1254 if ((entire_insn
& 0xf0ff) == 0x4056)
1255 { itype
= SH64_COMPACT_INSN_LDSL_FPUL_COMPACT
; goto extract_sfmt_ldsl_fpul_compact
; }
1256 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1258 if ((entire_insn
& 0xf0ff) == 0x405a)
1259 { itype
= SH64_COMPACT_INSN_LDS_FPUL_COMPACT
; goto extract_sfmt_lds_fpul_compact
; }
1260 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1262 if ((entire_insn
& 0xf0ff) == 0x4062)
1263 { itype
= SH64_COMPACT_INSN_STSL_FPSCR_COMPACT
; goto extract_sfmt_stsl_fpscr_compact
; }
1264 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1266 if ((entire_insn
& 0xf0ff) == 0x4066)
1267 { itype
= SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT
; goto extract_sfmt_ldsl_fpscr_compact
; }
1268 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1270 if ((entire_insn
& 0xf0ff) == 0x40e9)
1271 { itype
= SH64_COMPACT_INSN_MOVUAL2_COMPACT
; goto extract_sfmt_movual2_compact
; }
1272 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1274 if ((entire_insn
& 0xf0ff) == 0x406a)
1275 { itype
= SH64_COMPACT_INSN_LDS_FPSCR_COMPACT
; goto extract_sfmt_lds_fpscr_compact
; }
1276 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1277 case 640 : /* fall through */
1278 case 641 : /* fall through */
1279 case 642 : /* fall through */
1280 case 643 : /* fall through */
1281 case 644 : /* fall through */
1282 case 645 : /* fall through */
1283 case 646 : /* fall through */
1284 case 647 : /* fall through */
1285 case 648 : /* fall through */
1286 case 649 : /* fall through */
1287 case 650 : /* fall through */
1288 case 651 : /* fall through */
1289 case 652 : /* fall through */
1290 case 653 : /* fall through */
1291 case 654 : /* fall through */
1292 case 655 : /* fall through */
1293 case 656 : /* fall through */
1294 case 657 : /* fall through */
1295 case 658 : /* fall through */
1296 case 659 : /* fall through */
1297 case 660 : /* fall through */
1298 case 661 : /* fall through */
1299 case 662 : /* fall through */
1300 case 663 : /* fall through */
1301 case 664 : /* fall through */
1302 case 665 : /* fall through */
1303 case 666 : /* fall through */
1304 case 667 : /* fall through */
1305 case 668 : /* fall through */
1306 case 669 : /* fall through */
1307 case 670 : /* fall through */
1308 case 671 : /* fall through */
1309 case 672 : /* fall through */
1310 case 673 : /* fall through */
1311 case 674 : /* fall through */
1312 case 675 : /* fall through */
1313 case 676 : /* fall through */
1314 case 677 : /* fall through */
1315 case 678 : /* fall through */
1316 case 679 : /* fall through */
1317 case 680 : /* fall through */
1318 case 681 : /* fall through */
1319 case 682 : /* fall through */
1320 case 683 : /* fall through */
1321 case 684 : /* fall through */
1322 case 685 : /* fall through */
1323 case 686 : /* fall through */
1324 case 687 : /* fall through */
1325 case 688 : /* fall through */
1326 case 689 : /* fall through */
1327 case 690 : /* fall through */
1328 case 691 : /* fall through */
1329 case 692 : /* fall through */
1330 case 693 : /* fall through */
1331 case 694 : /* fall through */
1332 case 695 : /* fall through */
1333 case 696 : /* fall through */
1334 case 697 : /* fall through */
1335 case 698 : /* fall through */
1336 case 699 : /* fall through */
1337 case 700 : /* fall through */
1338 case 701 : /* fall through */
1339 case 702 : /* fall through */
1340 case 703 : /* fall through */
1341 case 704 : /* fall through */
1342 case 705 : /* fall through */
1343 case 706 : /* fall through */
1344 case 707 : /* fall through */
1345 case 708 : /* fall through */
1346 case 709 : /* fall through */
1347 case 710 : /* fall through */
1348 case 711 : /* fall through */
1349 case 712 : /* fall through */
1350 case 713 : /* fall through */
1351 case 714 : /* fall through */
1352 case 715 : /* fall through */
1353 case 716 : /* fall through */
1354 case 717 : /* fall through */
1355 case 718 : /* fall through */
1356 case 719 : /* fall through */
1357 case 720 : /* fall through */
1358 case 721 : /* fall through */
1359 case 722 : /* fall through */
1360 case 723 : /* fall through */
1361 case 724 : /* fall through */
1362 case 725 : /* fall through */
1363 case 726 : /* fall through */
1364 case 727 : /* fall through */
1365 case 728 : /* fall through */
1366 case 729 : /* fall through */
1367 case 730 : /* fall through */
1368 case 731 : /* fall through */
1369 case 732 : /* fall through */
1370 case 733 : /* fall through */
1371 case 734 : /* fall through */
1372 case 735 : /* fall through */
1373 case 736 : /* fall through */
1374 case 737 : /* fall through */
1375 case 738 : /* fall through */
1376 case 739 : /* fall through */
1377 case 740 : /* fall through */
1378 case 741 : /* fall through */
1379 case 742 : /* fall through */
1380 case 743 : /* fall through */
1381 case 744 : /* fall through */
1382 case 745 : /* fall through */
1383 case 746 : /* fall through */
1384 case 747 : /* fall through */
1385 case 748 : /* fall through */
1386 case 749 : /* fall through */
1387 case 750 : /* fall through */
1388 case 751 : /* fall through */
1389 case 752 : /* fall through */
1390 case 753 : /* fall through */
1391 case 754 : /* fall through */
1392 case 755 : /* fall through */
1393 case 756 : /* fall through */
1394 case 757 : /* fall through */
1395 case 758 : /* fall through */
1396 case 759 : /* fall through */
1397 case 760 : /* fall through */
1398 case 761 : /* fall through */
1399 case 762 : /* fall through */
1400 case 763 : /* fall through */
1401 case 764 : /* fall through */
1402 case 765 : /* fall through */
1403 case 766 : /* fall through */
1405 if ((entire_insn
& 0xf000) == 0x5000)
1406 { itype
= SH64_COMPACT_INSN_MOVL11_COMPACT
; goto extract_sfmt_movl11_compact
; }
1407 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1408 case 768 : /* fall through */
1409 case 784 : /* fall through */
1410 case 800 : /* fall through */
1411 case 816 : /* fall through */
1412 case 832 : /* fall through */
1413 case 848 : /* fall through */
1414 case 864 : /* fall through */
1416 if ((entire_insn
& 0xf00f) == 0x6000)
1417 { itype
= SH64_COMPACT_INSN_MOVB6_COMPACT
; goto extract_sfmt_movb6_compact
; }
1418 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1419 case 769 : /* fall through */
1420 case 785 : /* fall through */
1421 case 801 : /* fall through */
1422 case 817 : /* fall through */
1423 case 833 : /* fall through */
1424 case 849 : /* fall through */
1425 case 865 : /* fall through */
1427 if ((entire_insn
& 0xf00f) == 0x6001)
1428 { itype
= SH64_COMPACT_INSN_MOVW6_COMPACT
; goto extract_sfmt_movw6_compact
; }
1429 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1430 case 770 : /* fall through */
1431 case 786 : /* fall through */
1432 case 802 : /* fall through */
1433 case 818 : /* fall through */
1434 case 834 : /* fall through */
1435 case 850 : /* fall through */
1436 case 866 : /* fall through */
1438 if ((entire_insn
& 0xf00f) == 0x6002)
1439 { itype
= SH64_COMPACT_INSN_MOVL6_COMPACT
; goto extract_sfmt_movl6_compact
; }
1440 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1441 case 771 : /* fall through */
1442 case 787 : /* fall through */
1443 case 803 : /* fall through */
1444 case 819 : /* fall through */
1445 case 835 : /* fall through */
1446 case 851 : /* fall through */
1447 case 867 : /* fall through */
1449 if ((entire_insn
& 0xf00f) == 0x6003)
1450 { itype
= SH64_COMPACT_INSN_MOV_COMPACT
; goto extract_sfmt_mov_compact
; }
1451 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1452 case 772 : /* fall through */
1453 case 788 : /* fall through */
1454 case 804 : /* fall through */
1455 case 820 : /* fall through */
1456 case 836 : /* fall through */
1457 case 852 : /* fall through */
1458 case 868 : /* fall through */
1460 if ((entire_insn
& 0xf00f) == 0x6004)
1461 { itype
= SH64_COMPACT_INSN_MOVB7_COMPACT
; goto extract_sfmt_movb7_compact
; }
1462 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1463 case 773 : /* fall through */
1464 case 789 : /* fall through */
1465 case 805 : /* fall through */
1466 case 821 : /* fall through */
1467 case 837 : /* fall through */
1468 case 853 : /* fall through */
1469 case 869 : /* fall through */
1471 if ((entire_insn
& 0xf00f) == 0x6005)
1472 { itype
= SH64_COMPACT_INSN_MOVW7_COMPACT
; goto extract_sfmt_movw7_compact
; }
1473 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1474 case 774 : /* fall through */
1475 case 790 : /* fall through */
1476 case 806 : /* fall through */
1477 case 822 : /* fall through */
1478 case 838 : /* fall through */
1479 case 854 : /* fall through */
1480 case 870 : /* fall through */
1482 if ((entire_insn
& 0xf00f) == 0x6006)
1483 { itype
= SH64_COMPACT_INSN_MOVL7_COMPACT
; goto extract_sfmt_movl7_compact
; }
1484 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1485 case 775 : /* fall through */
1486 case 791 : /* fall through */
1487 case 807 : /* fall through */
1488 case 823 : /* fall through */
1489 case 839 : /* fall through */
1490 case 855 : /* fall through */
1491 case 871 : /* fall through */
1493 if ((entire_insn
& 0xf00f) == 0x6007)
1494 { itype
= SH64_COMPACT_INSN_NOT_COMPACT
; goto extract_sfmt_mov_compact
; }
1495 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1496 case 776 : /* fall through */
1497 case 792 : /* fall through */
1498 case 808 : /* fall through */
1499 case 824 : /* fall through */
1500 case 840 : /* fall through */
1501 case 856 : /* fall through */
1502 case 872 : /* fall through */
1504 if ((entire_insn
& 0xf00f) == 0x6008)
1505 { itype
= SH64_COMPACT_INSN_SWAPB_COMPACT
; goto extract_sfmt_extsb_compact
; }
1506 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1507 case 777 : /* fall through */
1508 case 793 : /* fall through */
1509 case 809 : /* fall through */
1510 case 825 : /* fall through */
1511 case 841 : /* fall through */
1512 case 857 : /* fall through */
1513 case 873 : /* fall through */
1515 if ((entire_insn
& 0xf00f) == 0x6009)
1516 { itype
= SH64_COMPACT_INSN_SWAPW_COMPACT
; goto extract_sfmt_extsb_compact
; }
1517 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1518 case 778 : /* fall through */
1519 case 794 : /* fall through */
1520 case 810 : /* fall through */
1521 case 826 : /* fall through */
1522 case 842 : /* fall through */
1523 case 858 : /* fall through */
1524 case 874 : /* fall through */
1526 if ((entire_insn
& 0xf00f) == 0x600a)
1527 { itype
= SH64_COMPACT_INSN_NEGC_COMPACT
; goto extract_sfmt_negc_compact
; }
1528 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1529 case 779 : /* fall through */
1530 case 795 : /* fall through */
1531 case 811 : /* fall through */
1532 case 827 : /* fall through */
1533 case 843 : /* fall through */
1534 case 859 : /* fall through */
1535 case 875 : /* fall through */
1537 if ((entire_insn
& 0xf00f) == 0x600b)
1538 { itype
= SH64_COMPACT_INSN_NEG_COMPACT
; goto extract_sfmt_extsb_compact
; }
1539 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1540 case 780 : /* fall through */
1541 case 796 : /* fall through */
1542 case 812 : /* fall through */
1543 case 828 : /* fall through */
1544 case 844 : /* fall through */
1545 case 860 : /* fall through */
1546 case 876 : /* fall through */
1548 if ((entire_insn
& 0xf00f) == 0x600c)
1549 { itype
= SH64_COMPACT_INSN_EXTUB_COMPACT
; goto extract_sfmt_extsb_compact
; }
1550 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1551 case 781 : /* fall through */
1552 case 797 : /* fall through */
1553 case 813 : /* fall through */
1554 case 829 : /* fall through */
1555 case 845 : /* fall through */
1556 case 861 : /* fall through */
1557 case 877 : /* fall through */
1559 if ((entire_insn
& 0xf00f) == 0x600d)
1560 { itype
= SH64_COMPACT_INSN_EXTUW_COMPACT
; goto extract_sfmt_extsb_compact
; }
1561 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1562 case 782 : /* fall through */
1563 case 798 : /* fall through */
1564 case 814 : /* fall through */
1565 case 830 : /* fall through */
1566 case 846 : /* fall through */
1567 case 862 : /* fall through */
1568 case 878 : /* fall through */
1570 if ((entire_insn
& 0xf00f) == 0x600e)
1571 { itype
= SH64_COMPACT_INSN_EXTSB_COMPACT
; goto extract_sfmt_extsb_compact
; }
1572 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1573 case 783 : /* fall through */
1574 case 799 : /* fall through */
1575 case 815 : /* fall through */
1576 case 831 : /* fall through */
1577 case 847 : /* fall through */
1578 case 863 : /* fall through */
1579 case 879 : /* fall through */
1581 if ((entire_insn
& 0xf00f) == 0x600f)
1582 { itype
= SH64_COMPACT_INSN_EXTSW_COMPACT
; goto extract_sfmt_extsb_compact
; }
1583 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1584 case 896 : /* fall through */
1585 case 897 : /* fall through */
1586 case 898 : /* fall through */
1587 case 899 : /* fall through */
1588 case 900 : /* fall through */
1589 case 901 : /* fall through */
1590 case 902 : /* fall through */
1591 case 903 : /* fall through */
1592 case 904 : /* fall through */
1593 case 905 : /* fall through */
1594 case 906 : /* fall through */
1595 case 907 : /* fall through */
1596 case 908 : /* fall through */
1597 case 909 : /* fall through */
1598 case 910 : /* fall through */
1599 case 911 : /* fall through */
1600 case 912 : /* fall through */
1601 case 913 : /* fall through */
1602 case 914 : /* fall through */
1603 case 915 : /* fall through */
1604 case 916 : /* fall through */
1605 case 917 : /* fall through */
1606 case 918 : /* fall through */
1607 case 919 : /* fall through */
1608 case 920 : /* fall through */
1609 case 921 : /* fall through */
1610 case 922 : /* fall through */
1611 case 923 : /* fall through */
1612 case 924 : /* fall through */
1613 case 925 : /* fall through */
1614 case 926 : /* fall through */
1615 case 927 : /* fall through */
1616 case 928 : /* fall through */
1617 case 929 : /* fall through */
1618 case 930 : /* fall through */
1619 case 931 : /* fall through */
1620 case 932 : /* fall through */
1621 case 933 : /* fall through */
1622 case 934 : /* fall through */
1623 case 935 : /* fall through */
1624 case 936 : /* fall through */
1625 case 937 : /* fall through */
1626 case 938 : /* fall through */
1627 case 939 : /* fall through */
1628 case 940 : /* fall through */
1629 case 941 : /* fall through */
1630 case 942 : /* fall through */
1631 case 943 : /* fall through */
1632 case 944 : /* fall through */
1633 case 945 : /* fall through */
1634 case 946 : /* fall through */
1635 case 947 : /* fall through */
1636 case 948 : /* fall through */
1637 case 949 : /* fall through */
1638 case 950 : /* fall through */
1639 case 951 : /* fall through */
1640 case 952 : /* fall through */
1641 case 953 : /* fall through */
1642 case 954 : /* fall through */
1643 case 955 : /* fall through */
1644 case 956 : /* fall through */
1645 case 957 : /* fall through */
1646 case 958 : /* fall through */
1647 case 959 : /* fall through */
1648 case 960 : /* fall through */
1649 case 961 : /* fall through */
1650 case 962 : /* fall through */
1651 case 963 : /* fall through */
1652 case 964 : /* fall through */
1653 case 965 : /* fall through */
1654 case 966 : /* fall through */
1655 case 967 : /* fall through */
1656 case 968 : /* fall through */
1657 case 969 : /* fall through */
1658 case 970 : /* fall through */
1659 case 971 : /* fall through */
1660 case 972 : /* fall through */
1661 case 973 : /* fall through */
1662 case 974 : /* fall through */
1663 case 975 : /* fall through */
1664 case 976 : /* fall through */
1665 case 977 : /* fall through */
1666 case 978 : /* fall through */
1667 case 979 : /* fall through */
1668 case 980 : /* fall through */
1669 case 981 : /* fall through */
1670 case 982 : /* fall through */
1671 case 983 : /* fall through */
1672 case 984 : /* fall through */
1673 case 985 : /* fall through */
1674 case 986 : /* fall through */
1675 case 987 : /* fall through */
1676 case 988 : /* fall through */
1677 case 989 : /* fall through */
1678 case 990 : /* fall through */
1679 case 991 : /* fall through */
1680 case 992 : /* fall through */
1681 case 993 : /* fall through */
1682 case 994 : /* fall through */
1683 case 995 : /* fall through */
1684 case 996 : /* fall through */
1685 case 997 : /* fall through */
1686 case 998 : /* fall through */
1687 case 999 : /* fall through */
1688 case 1000 : /* fall through */
1689 case 1001 : /* fall through */
1690 case 1002 : /* fall through */
1691 case 1003 : /* fall through */
1692 case 1004 : /* fall through */
1693 case 1005 : /* fall through */
1694 case 1006 : /* fall through */
1695 case 1007 : /* fall through */
1696 case 1008 : /* fall through */
1697 case 1009 : /* fall through */
1698 case 1010 : /* fall through */
1699 case 1011 : /* fall through */
1700 case 1012 : /* fall through */
1701 case 1013 : /* fall through */
1702 case 1014 : /* fall through */
1703 case 1015 : /* fall through */
1704 case 1016 : /* fall through */
1705 case 1017 : /* fall through */
1706 case 1018 : /* fall through */
1707 case 1019 : /* fall through */
1708 case 1020 : /* fall through */
1709 case 1021 : /* fall through */
1710 case 1022 : /* fall through */
1712 if ((entire_insn
& 0xf000) == 0x7000)
1713 { itype
= SH64_COMPACT_INSN_ADDI_COMPACT
; goto extract_sfmt_addi_compact
; }
1714 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1715 case 1024 : /* fall through */
1716 case 1025 : /* fall through */
1717 case 1026 : /* fall through */
1718 case 1027 : /* fall through */
1719 case 1028 : /* fall through */
1720 case 1029 : /* fall through */
1721 case 1030 : /* fall through */
1722 case 1031 : /* fall through */
1723 case 1032 : /* fall through */
1724 case 1033 : /* fall through */
1725 case 1034 : /* fall through */
1726 case 1035 : /* fall through */
1727 case 1036 : /* fall through */
1728 case 1037 : /* fall through */
1729 case 1038 : /* fall through */
1730 case 1039 : /* fall through */
1731 case 1040 : /* fall through */
1732 case 1041 : /* fall through */
1733 case 1042 : /* fall through */
1734 case 1043 : /* fall through */
1735 case 1044 : /* fall through */
1736 case 1045 : /* fall through */
1737 case 1046 : /* fall through */
1738 case 1047 : /* fall through */
1739 case 1048 : /* fall through */
1740 case 1049 : /* fall through */
1741 case 1050 : /* fall through */
1742 case 1051 : /* fall through */
1743 case 1052 : /* fall through */
1744 case 1053 : /* fall through */
1745 case 1054 : /* fall through */
1746 case 1055 : /* fall through */
1747 case 1056 : /* fall through */
1748 case 1057 : /* fall through */
1749 case 1058 : /* fall through */
1750 case 1059 : /* fall through */
1751 case 1060 : /* fall through */
1752 case 1061 : /* fall through */
1753 case 1062 : /* fall through */
1754 case 1063 : /* fall through */
1755 case 1064 : /* fall through */
1756 case 1065 : /* fall through */
1757 case 1066 : /* fall through */
1758 case 1067 : /* fall through */
1759 case 1068 : /* fall through */
1760 case 1069 : /* fall through */
1761 case 1070 : /* fall through */
1762 case 1071 : /* fall through */
1763 case 1072 : /* fall through */
1764 case 1073 : /* fall through */
1765 case 1074 : /* fall through */
1766 case 1075 : /* fall through */
1767 case 1076 : /* fall through */
1768 case 1077 : /* fall through */
1769 case 1078 : /* fall through */
1770 case 1079 : /* fall through */
1771 case 1080 : /* fall through */
1772 case 1081 : /* fall through */
1773 case 1082 : /* fall through */
1774 case 1083 : /* fall through */
1775 case 1084 : /* fall through */
1776 case 1085 : /* fall through */
1777 case 1086 : /* fall through */
1778 case 1087 : /* fall through */
1779 case 1088 : /* fall through */
1780 case 1089 : /* fall through */
1781 case 1090 : /* fall through */
1782 case 1091 : /* fall through */
1783 case 1092 : /* fall through */
1784 case 1093 : /* fall through */
1785 case 1094 : /* fall through */
1786 case 1095 : /* fall through */
1787 case 1096 : /* fall through */
1788 case 1097 : /* fall through */
1789 case 1098 : /* fall through */
1790 case 1099 : /* fall through */
1791 case 1100 : /* fall through */
1792 case 1101 : /* fall through */
1793 case 1102 : /* fall through */
1794 case 1103 : /* fall through */
1795 case 1104 : /* fall through */
1796 case 1105 : /* fall through */
1797 case 1106 : /* fall through */
1798 case 1107 : /* fall through */
1799 case 1108 : /* fall through */
1800 case 1109 : /* fall through */
1801 case 1110 : /* fall through */
1802 case 1111 : /* fall through */
1803 case 1112 : /* fall through */
1804 case 1113 : /* fall through */
1805 case 1114 : /* fall through */
1806 case 1115 : /* fall through */
1807 case 1116 : /* fall through */
1808 case 1117 : /* fall through */
1809 case 1118 : /* fall through */
1810 case 1119 : /* fall through */
1811 case 1120 : /* fall through */
1812 case 1121 : /* fall through */
1813 case 1122 : /* fall through */
1814 case 1123 : /* fall through */
1815 case 1124 : /* fall through */
1816 case 1125 : /* fall through */
1817 case 1126 : /* fall through */
1818 case 1127 : /* fall through */
1819 case 1128 : /* fall through */
1820 case 1129 : /* fall through */
1821 case 1130 : /* fall through */
1822 case 1131 : /* fall through */
1823 case 1132 : /* fall through */
1824 case 1133 : /* fall through */
1825 case 1134 : /* fall through */
1826 case 1135 : /* fall through */
1827 case 1136 : /* fall through */
1828 case 1137 : /* fall through */
1829 case 1138 : /* fall through */
1830 case 1139 : /* fall through */
1831 case 1140 : /* fall through */
1832 case 1141 : /* fall through */
1833 case 1142 : /* fall through */
1834 case 1143 : /* fall through */
1835 case 1144 : /* fall through */
1836 case 1145 : /* fall through */
1837 case 1146 : /* fall through */
1838 case 1147 : /* fall through */
1839 case 1148 : /* fall through */
1840 case 1149 : /* fall through */
1841 case 1150 : /* fall through */
1844 unsigned int val
= (((insn
>> 8) & (15 << 0)));
1848 if ((entire_insn
& 0xff00) == 0x8000)
1849 { itype
= SH64_COMPACT_INSN_MOVB5_COMPACT
; goto extract_sfmt_movb5_compact
; }
1850 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1852 if ((entire_insn
& 0xff00) == 0x8100)
1853 { itype
= SH64_COMPACT_INSN_MOVW5_COMPACT
; goto extract_sfmt_movw5_compact
; }
1854 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1856 if ((entire_insn
& 0xff00) == 0x8400)
1857 { itype
= SH64_COMPACT_INSN_MOVB10_COMPACT
; goto extract_sfmt_movb10_compact
; }
1858 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1860 if ((entire_insn
& 0xff00) == 0x8500)
1861 { itype
= SH64_COMPACT_INSN_MOVW11_COMPACT
; goto extract_sfmt_movw11_compact
; }
1862 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1864 if ((entire_insn
& 0xff00) == 0x8800)
1865 { itype
= SH64_COMPACT_INSN_CMPEQI_COMPACT
; goto extract_sfmt_cmpeqi_compact
; }
1866 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1868 if ((entire_insn
& 0xff00) == 0x8900)
1869 { itype
= SH64_COMPACT_INSN_BT_COMPACT
; goto extract_sfmt_bf_compact
; }
1870 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1872 if ((entire_insn
& 0xff00) == 0x8b00)
1873 { itype
= SH64_COMPACT_INSN_BF_COMPACT
; goto extract_sfmt_bf_compact
; }
1874 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1876 if ((entire_insn
& 0xff00) == 0x8d00)
1877 { itype
= SH64_COMPACT_INSN_BTS_COMPACT
; goto extract_sfmt_bfs_compact
; }
1878 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1880 if ((entire_insn
& 0xff00) == 0x8f00)
1881 { itype
= SH64_COMPACT_INSN_BFS_COMPACT
; goto extract_sfmt_bfs_compact
; }
1882 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1883 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
1886 case 1152 : /* fall through */
1887 case 1153 : /* fall through */
1888 case 1154 : /* fall through */
1889 case 1155 : /* fall through */
1890 case 1156 : /* fall through */
1891 case 1157 : /* fall through */
1892 case 1158 : /* fall through */
1893 case 1159 : /* fall through */
1894 case 1160 : /* fall through */
1895 case 1161 : /* fall through */
1896 case 1162 : /* fall through */
1897 case 1163 : /* fall through */
1898 case 1164 : /* fall through */
1899 case 1165 : /* fall through */
1900 case 1166 : /* fall through */
1901 case 1167 : /* fall through */
1902 case 1168 : /* fall through */
1903 case 1169 : /* fall through */
1904 case 1170 : /* fall through */
1905 case 1171 : /* fall through */
1906 case 1172 : /* fall through */
1907 case 1173 : /* fall through */
1908 case 1174 : /* fall through */
1909 case 1175 : /* fall through */
1910 case 1176 : /* fall through */
1911 case 1177 : /* fall through */
1912 case 1178 : /* fall through */
1913 case 1179 : /* fall through */
1914 case 1180 : /* fall through */
1915 case 1181 : /* fall through */
1916 case 1182 : /* fall through */
1917 case 1183 : /* fall through */
1918 case 1184 : /* fall through */
1919 case 1185 : /* fall through */
1920 case 1186 : /* fall through */
1921 case 1187 : /* fall through */
1922 case 1188 : /* fall through */
1923 case 1189 : /* fall through */
1924 case 1190 : /* fall through */
1925 case 1191 : /* fall through */
1926 case 1192 : /* fall through */
1927 case 1193 : /* fall through */
1928 case 1194 : /* fall through */
1929 case 1195 : /* fall through */
1930 case 1196 : /* fall through */
1931 case 1197 : /* fall through */
1932 case 1198 : /* fall through */
1933 case 1199 : /* fall through */
1934 case 1200 : /* fall through */
1935 case 1201 : /* fall through */
1936 case 1202 : /* fall through */
1937 case 1203 : /* fall through */
1938 case 1204 : /* fall through */
1939 case 1205 : /* fall through */
1940 case 1206 : /* fall through */
1941 case 1207 : /* fall through */
1942 case 1208 : /* fall through */
1943 case 1209 : /* fall through */
1944 case 1210 : /* fall through */
1945 case 1211 : /* fall through */
1946 case 1212 : /* fall through */
1947 case 1213 : /* fall through */
1948 case 1214 : /* fall through */
1949 case 1215 : /* fall through */
1950 case 1216 : /* fall through */
1951 case 1217 : /* fall through */
1952 case 1218 : /* fall through */
1953 case 1219 : /* fall through */
1954 case 1220 : /* fall through */
1955 case 1221 : /* fall through */
1956 case 1222 : /* fall through */
1957 case 1223 : /* fall through */
1958 case 1224 : /* fall through */
1959 case 1225 : /* fall through */
1960 case 1226 : /* fall through */
1961 case 1227 : /* fall through */
1962 case 1228 : /* fall through */
1963 case 1229 : /* fall through */
1964 case 1230 : /* fall through */
1965 case 1231 : /* fall through */
1966 case 1232 : /* fall through */
1967 case 1233 : /* fall through */
1968 case 1234 : /* fall through */
1969 case 1235 : /* fall through */
1970 case 1236 : /* fall through */
1971 case 1237 : /* fall through */
1972 case 1238 : /* fall through */
1973 case 1239 : /* fall through */
1974 case 1240 : /* fall through */
1975 case 1241 : /* fall through */
1976 case 1242 : /* fall through */
1977 case 1243 : /* fall through */
1978 case 1244 : /* fall through */
1979 case 1245 : /* fall through */
1980 case 1246 : /* fall through */
1981 case 1247 : /* fall through */
1982 case 1248 : /* fall through */
1983 case 1249 : /* fall through */
1984 case 1250 : /* fall through */
1985 case 1251 : /* fall through */
1986 case 1252 : /* fall through */
1987 case 1253 : /* fall through */
1988 case 1254 : /* fall through */
1989 case 1255 : /* fall through */
1990 case 1256 : /* fall through */
1991 case 1257 : /* fall through */
1992 case 1258 : /* fall through */
1993 case 1259 : /* fall through */
1994 case 1260 : /* fall through */
1995 case 1261 : /* fall through */
1996 case 1262 : /* fall through */
1997 case 1263 : /* fall through */
1998 case 1264 : /* fall through */
1999 case 1265 : /* fall through */
2000 case 1266 : /* fall through */
2001 case 1267 : /* fall through */
2002 case 1268 : /* fall through */
2003 case 1269 : /* fall through */
2004 case 1270 : /* fall through */
2005 case 1271 : /* fall through */
2006 case 1272 : /* fall through */
2007 case 1273 : /* fall through */
2008 case 1274 : /* fall through */
2009 case 1275 : /* fall through */
2010 case 1276 : /* fall through */
2011 case 1277 : /* fall through */
2012 case 1278 : /* fall through */
2014 if ((entire_insn
& 0xf000) == 0x9000)
2015 { itype
= SH64_COMPACT_INSN_MOVW10_COMPACT
; goto extract_sfmt_movw10_compact
; }
2016 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2017 case 1280 : /* fall through */
2018 case 1281 : /* fall through */
2019 case 1282 : /* fall through */
2020 case 1283 : /* fall through */
2021 case 1284 : /* fall through */
2022 case 1285 : /* fall through */
2023 case 1286 : /* fall through */
2024 case 1287 : /* fall through */
2025 case 1288 : /* fall through */
2026 case 1289 : /* fall through */
2027 case 1290 : /* fall through */
2028 case 1291 : /* fall through */
2029 case 1292 : /* fall through */
2030 case 1293 : /* fall through */
2031 case 1294 : /* fall through */
2032 case 1295 : /* fall through */
2033 case 1296 : /* fall through */
2034 case 1297 : /* fall through */
2035 case 1298 : /* fall through */
2036 case 1299 : /* fall through */
2037 case 1300 : /* fall through */
2038 case 1301 : /* fall through */
2039 case 1302 : /* fall through */
2040 case 1303 : /* fall through */
2041 case 1304 : /* fall through */
2042 case 1305 : /* fall through */
2043 case 1306 : /* fall through */
2044 case 1307 : /* fall through */
2045 case 1308 : /* fall through */
2046 case 1309 : /* fall through */
2047 case 1310 : /* fall through */
2048 case 1311 : /* fall through */
2049 case 1312 : /* fall through */
2050 case 1313 : /* fall through */
2051 case 1314 : /* fall through */
2052 case 1315 : /* fall through */
2053 case 1316 : /* fall through */
2054 case 1317 : /* fall through */
2055 case 1318 : /* fall through */
2056 case 1319 : /* fall through */
2057 case 1320 : /* fall through */
2058 case 1321 : /* fall through */
2059 case 1322 : /* fall through */
2060 case 1323 : /* fall through */
2061 case 1324 : /* fall through */
2062 case 1325 : /* fall through */
2063 case 1326 : /* fall through */
2064 case 1327 : /* fall through */
2065 case 1328 : /* fall through */
2066 case 1329 : /* fall through */
2067 case 1330 : /* fall through */
2068 case 1331 : /* fall through */
2069 case 1332 : /* fall through */
2070 case 1333 : /* fall through */
2071 case 1334 : /* fall through */
2072 case 1335 : /* fall through */
2073 case 1336 : /* fall through */
2074 case 1337 : /* fall through */
2075 case 1338 : /* fall through */
2076 case 1339 : /* fall through */
2077 case 1340 : /* fall through */
2078 case 1341 : /* fall through */
2079 case 1342 : /* fall through */
2080 case 1343 : /* fall through */
2081 case 1344 : /* fall through */
2082 case 1345 : /* fall through */
2083 case 1346 : /* fall through */
2084 case 1347 : /* fall through */
2085 case 1348 : /* fall through */
2086 case 1349 : /* fall through */
2087 case 1350 : /* fall through */
2088 case 1351 : /* fall through */
2089 case 1352 : /* fall through */
2090 case 1353 : /* fall through */
2091 case 1354 : /* fall through */
2092 case 1355 : /* fall through */
2093 case 1356 : /* fall through */
2094 case 1357 : /* fall through */
2095 case 1358 : /* fall through */
2096 case 1359 : /* fall through */
2097 case 1360 : /* fall through */
2098 case 1361 : /* fall through */
2099 case 1362 : /* fall through */
2100 case 1363 : /* fall through */
2101 case 1364 : /* fall through */
2102 case 1365 : /* fall through */
2103 case 1366 : /* fall through */
2104 case 1367 : /* fall through */
2105 case 1368 : /* fall through */
2106 case 1369 : /* fall through */
2107 case 1370 : /* fall through */
2108 case 1371 : /* fall through */
2109 case 1372 : /* fall through */
2110 case 1373 : /* fall through */
2111 case 1374 : /* fall through */
2112 case 1375 : /* fall through */
2113 case 1376 : /* fall through */
2114 case 1377 : /* fall through */
2115 case 1378 : /* fall through */
2116 case 1379 : /* fall through */
2117 case 1380 : /* fall through */
2118 case 1381 : /* fall through */
2119 case 1382 : /* fall through */
2120 case 1383 : /* fall through */
2121 case 1384 : /* fall through */
2122 case 1385 : /* fall through */
2123 case 1386 : /* fall through */
2124 case 1387 : /* fall through */
2125 case 1388 : /* fall through */
2126 case 1389 : /* fall through */
2127 case 1390 : /* fall through */
2128 case 1391 : /* fall through */
2129 case 1392 : /* fall through */
2130 case 1393 : /* fall through */
2131 case 1394 : /* fall through */
2132 case 1395 : /* fall through */
2133 case 1396 : /* fall through */
2134 case 1397 : /* fall through */
2135 case 1398 : /* fall through */
2136 case 1399 : /* fall through */
2137 case 1400 : /* fall through */
2138 case 1401 : /* fall through */
2139 case 1402 : /* fall through */
2140 case 1403 : /* fall through */
2141 case 1404 : /* fall through */
2142 case 1405 : /* fall through */
2143 case 1406 : /* fall through */
2145 if ((entire_insn
& 0xf000) == 0xa000)
2146 { itype
= SH64_COMPACT_INSN_BRA_COMPACT
; goto extract_sfmt_bra_compact
; }
2147 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2148 case 1408 : /* fall through */
2149 case 1409 : /* fall through */
2150 case 1410 : /* fall through */
2151 case 1411 : /* fall through */
2152 case 1412 : /* fall through */
2153 case 1413 : /* fall through */
2154 case 1414 : /* fall through */
2155 case 1415 : /* fall through */
2156 case 1416 : /* fall through */
2157 case 1417 : /* fall through */
2158 case 1418 : /* fall through */
2159 case 1419 : /* fall through */
2160 case 1420 : /* fall through */
2161 case 1421 : /* fall through */
2162 case 1422 : /* fall through */
2163 case 1423 : /* fall through */
2164 case 1424 : /* fall through */
2165 case 1425 : /* fall through */
2166 case 1426 : /* fall through */
2167 case 1427 : /* fall through */
2168 case 1428 : /* fall through */
2169 case 1429 : /* fall through */
2170 case 1430 : /* fall through */
2171 case 1431 : /* fall through */
2172 case 1432 : /* fall through */
2173 case 1433 : /* fall through */
2174 case 1434 : /* fall through */
2175 case 1435 : /* fall through */
2176 case 1436 : /* fall through */
2177 case 1437 : /* fall through */
2178 case 1438 : /* fall through */
2179 case 1439 : /* fall through */
2180 case 1440 : /* fall through */
2181 case 1441 : /* fall through */
2182 case 1442 : /* fall through */
2183 case 1443 : /* fall through */
2184 case 1444 : /* fall through */
2185 case 1445 : /* fall through */
2186 case 1446 : /* fall through */
2187 case 1447 : /* fall through */
2188 case 1448 : /* fall through */
2189 case 1449 : /* fall through */
2190 case 1450 : /* fall through */
2191 case 1451 : /* fall through */
2192 case 1452 : /* fall through */
2193 case 1453 : /* fall through */
2194 case 1454 : /* fall through */
2195 case 1455 : /* fall through */
2196 case 1456 : /* fall through */
2197 case 1457 : /* fall through */
2198 case 1458 : /* fall through */
2199 case 1459 : /* fall through */
2200 case 1460 : /* fall through */
2201 case 1461 : /* fall through */
2202 case 1462 : /* fall through */
2203 case 1463 : /* fall through */
2204 case 1464 : /* fall through */
2205 case 1465 : /* fall through */
2206 case 1466 : /* fall through */
2207 case 1467 : /* fall through */
2208 case 1468 : /* fall through */
2209 case 1469 : /* fall through */
2210 case 1470 : /* fall through */
2211 case 1471 : /* fall through */
2212 case 1472 : /* fall through */
2213 case 1473 : /* fall through */
2214 case 1474 : /* fall through */
2215 case 1475 : /* fall through */
2216 case 1476 : /* fall through */
2217 case 1477 : /* fall through */
2218 case 1478 : /* fall through */
2219 case 1479 : /* fall through */
2220 case 1480 : /* fall through */
2221 case 1481 : /* fall through */
2222 case 1482 : /* fall through */
2223 case 1483 : /* fall through */
2224 case 1484 : /* fall through */
2225 case 1485 : /* fall through */
2226 case 1486 : /* fall through */
2227 case 1487 : /* fall through */
2228 case 1488 : /* fall through */
2229 case 1489 : /* fall through */
2230 case 1490 : /* fall through */
2231 case 1491 : /* fall through */
2232 case 1492 : /* fall through */
2233 case 1493 : /* fall through */
2234 case 1494 : /* fall through */
2235 case 1495 : /* fall through */
2236 case 1496 : /* fall through */
2237 case 1497 : /* fall through */
2238 case 1498 : /* fall through */
2239 case 1499 : /* fall through */
2240 case 1500 : /* fall through */
2241 case 1501 : /* fall through */
2242 case 1502 : /* fall through */
2243 case 1503 : /* fall through */
2244 case 1504 : /* fall through */
2245 case 1505 : /* fall through */
2246 case 1506 : /* fall through */
2247 case 1507 : /* fall through */
2248 case 1508 : /* fall through */
2249 case 1509 : /* fall through */
2250 case 1510 : /* fall through */
2251 case 1511 : /* fall through */
2252 case 1512 : /* fall through */
2253 case 1513 : /* fall through */
2254 case 1514 : /* fall through */
2255 case 1515 : /* fall through */
2256 case 1516 : /* fall through */
2257 case 1517 : /* fall through */
2258 case 1518 : /* fall through */
2259 case 1519 : /* fall through */
2260 case 1520 : /* fall through */
2261 case 1521 : /* fall through */
2262 case 1522 : /* fall through */
2263 case 1523 : /* fall through */
2264 case 1524 : /* fall through */
2265 case 1525 : /* fall through */
2266 case 1526 : /* fall through */
2267 case 1527 : /* fall through */
2268 case 1528 : /* fall through */
2269 case 1529 : /* fall through */
2270 case 1530 : /* fall through */
2271 case 1531 : /* fall through */
2272 case 1532 : /* fall through */
2273 case 1533 : /* fall through */
2274 case 1534 : /* fall through */
2276 if ((entire_insn
& 0xf000) == 0xb000)
2277 { itype
= SH64_COMPACT_INSN_BSR_COMPACT
; goto extract_sfmt_bsr_compact
; }
2278 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2279 case 1536 : /* fall through */
2280 case 1537 : /* fall through */
2281 case 1538 : /* fall through */
2282 case 1539 : /* fall through */
2283 case 1540 : /* fall through */
2284 case 1541 : /* fall through */
2285 case 1542 : /* fall through */
2286 case 1543 : /* fall through */
2287 case 1544 : /* fall through */
2288 case 1545 : /* fall through */
2289 case 1546 : /* fall through */
2290 case 1547 : /* fall through */
2291 case 1548 : /* fall through */
2292 case 1549 : /* fall through */
2293 case 1550 : /* fall through */
2294 case 1551 : /* fall through */
2295 case 1552 : /* fall through */
2296 case 1553 : /* fall through */
2297 case 1554 : /* fall through */
2298 case 1555 : /* fall through */
2299 case 1556 : /* fall through */
2300 case 1557 : /* fall through */
2301 case 1558 : /* fall through */
2302 case 1559 : /* fall through */
2303 case 1560 : /* fall through */
2304 case 1561 : /* fall through */
2305 case 1562 : /* fall through */
2306 case 1563 : /* fall through */
2307 case 1564 : /* fall through */
2308 case 1565 : /* fall through */
2309 case 1566 : /* fall through */
2310 case 1567 : /* fall through */
2311 case 1568 : /* fall through */
2312 case 1569 : /* fall through */
2313 case 1570 : /* fall through */
2314 case 1571 : /* fall through */
2315 case 1572 : /* fall through */
2316 case 1573 : /* fall through */
2317 case 1574 : /* fall through */
2318 case 1575 : /* fall through */
2319 case 1576 : /* fall through */
2320 case 1577 : /* fall through */
2321 case 1578 : /* fall through */
2322 case 1579 : /* fall through */
2323 case 1580 : /* fall through */
2324 case 1581 : /* fall through */
2325 case 1582 : /* fall through */
2326 case 1583 : /* fall through */
2327 case 1584 : /* fall through */
2328 case 1585 : /* fall through */
2329 case 1586 : /* fall through */
2330 case 1587 : /* fall through */
2331 case 1588 : /* fall through */
2332 case 1589 : /* fall through */
2333 case 1590 : /* fall through */
2334 case 1591 : /* fall through */
2335 case 1592 : /* fall through */
2336 case 1593 : /* fall through */
2337 case 1594 : /* fall through */
2338 case 1595 : /* fall through */
2339 case 1596 : /* fall through */
2340 case 1597 : /* fall through */
2341 case 1598 : /* fall through */
2342 case 1599 : /* fall through */
2343 case 1600 : /* fall through */
2344 case 1601 : /* fall through */
2345 case 1602 : /* fall through */
2346 case 1603 : /* fall through */
2347 case 1604 : /* fall through */
2348 case 1605 : /* fall through */
2349 case 1606 : /* fall through */
2350 case 1607 : /* fall through */
2351 case 1608 : /* fall through */
2352 case 1609 : /* fall through */
2353 case 1610 : /* fall through */
2354 case 1611 : /* fall through */
2355 case 1612 : /* fall through */
2356 case 1613 : /* fall through */
2357 case 1614 : /* fall through */
2358 case 1615 : /* fall through */
2359 case 1616 : /* fall through */
2360 case 1617 : /* fall through */
2361 case 1618 : /* fall through */
2362 case 1619 : /* fall through */
2363 case 1620 : /* fall through */
2364 case 1621 : /* fall through */
2365 case 1622 : /* fall through */
2366 case 1623 : /* fall through */
2367 case 1624 : /* fall through */
2368 case 1625 : /* fall through */
2369 case 1626 : /* fall through */
2370 case 1627 : /* fall through */
2371 case 1628 : /* fall through */
2372 case 1629 : /* fall through */
2373 case 1630 : /* fall through */
2374 case 1631 : /* fall through */
2375 case 1632 : /* fall through */
2376 case 1633 : /* fall through */
2377 case 1634 : /* fall through */
2378 case 1635 : /* fall through */
2379 case 1636 : /* fall through */
2380 case 1637 : /* fall through */
2381 case 1638 : /* fall through */
2382 case 1639 : /* fall through */
2383 case 1640 : /* fall through */
2384 case 1641 : /* fall through */
2385 case 1642 : /* fall through */
2386 case 1643 : /* fall through */
2387 case 1644 : /* fall through */
2388 case 1645 : /* fall through */
2389 case 1646 : /* fall through */
2390 case 1647 : /* fall through */
2391 case 1648 : /* fall through */
2392 case 1649 : /* fall through */
2393 case 1650 : /* fall through */
2394 case 1651 : /* fall through */
2395 case 1652 : /* fall through */
2396 case 1653 : /* fall through */
2397 case 1654 : /* fall through */
2398 case 1655 : /* fall through */
2399 case 1656 : /* fall through */
2400 case 1657 : /* fall through */
2401 case 1658 : /* fall through */
2402 case 1659 : /* fall through */
2403 case 1660 : /* fall through */
2404 case 1661 : /* fall through */
2405 case 1662 : /* fall through */
2408 unsigned int val
= (((insn
>> 8) & (15 << 0)));
2412 if ((entire_insn
& 0xff00) == 0xc000)
2413 { itype
= SH64_COMPACT_INSN_MOVB4_COMPACT
; goto extract_sfmt_movb4_compact
; }
2414 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2416 if ((entire_insn
& 0xff00) == 0xc100)
2417 { itype
= SH64_COMPACT_INSN_MOVW4_COMPACT
; goto extract_sfmt_movw4_compact
; }
2418 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2420 if ((entire_insn
& 0xff00) == 0xc200)
2421 { itype
= SH64_COMPACT_INSN_MOVL4_COMPACT
; goto extract_sfmt_movl4_compact
; }
2422 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2424 if ((entire_insn
& 0xff00) == 0xc300)
2425 { itype
= SH64_COMPACT_INSN_TRAPA_COMPACT
; goto extract_sfmt_trapa_compact
; }
2426 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2428 if ((entire_insn
& 0xff00) == 0xc400)
2429 { itype
= SH64_COMPACT_INSN_MOVB9_COMPACT
; goto extract_sfmt_movb9_compact
; }
2430 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2432 if ((entire_insn
& 0xff00) == 0xc500)
2433 { itype
= SH64_COMPACT_INSN_MOVW9_COMPACT
; goto extract_sfmt_movw9_compact
; }
2434 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2436 if ((entire_insn
& 0xff00) == 0xc600)
2437 { itype
= SH64_COMPACT_INSN_MOVL9_COMPACT
; goto extract_sfmt_movl9_compact
; }
2438 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2440 if ((entire_insn
& 0xff00) == 0xc700)
2441 { itype
= SH64_COMPACT_INSN_MOVA_COMPACT
; goto extract_sfmt_mova_compact
; }
2442 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2444 if ((entire_insn
& 0xff00) == 0xc800)
2445 { itype
= SH64_COMPACT_INSN_TSTI_COMPACT
; goto extract_sfmt_tsti_compact
; }
2446 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2448 if ((entire_insn
& 0xff00) == 0xc900)
2449 { itype
= SH64_COMPACT_INSN_ANDI_COMPACT
; goto extract_sfmt_andi_compact
; }
2450 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2452 if ((entire_insn
& 0xff00) == 0xca00)
2453 { itype
= SH64_COMPACT_INSN_XORI_COMPACT
; goto extract_sfmt_andi_compact
; }
2454 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2456 if ((entire_insn
& 0xff00) == 0xcb00)
2457 { itype
= SH64_COMPACT_INSN_ORI_COMPACT
; goto extract_sfmt_andi_compact
; }
2458 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2460 if ((entire_insn
& 0xff00) == 0xcc00)
2461 { itype
= SH64_COMPACT_INSN_TSTB_COMPACT
; goto extract_sfmt_tstb_compact
; }
2462 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2464 if ((entire_insn
& 0xff00) == 0xcd00)
2465 { itype
= SH64_COMPACT_INSN_ANDB_COMPACT
; goto extract_sfmt_andb_compact
; }
2466 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2468 if ((entire_insn
& 0xff00) == 0xce00)
2469 { itype
= SH64_COMPACT_INSN_XORB_COMPACT
; goto extract_sfmt_andb_compact
; }
2470 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2472 if ((entire_insn
& 0xff00) == 0xcf00)
2473 { itype
= SH64_COMPACT_INSN_ORB_COMPACT
; goto extract_sfmt_andb_compact
; }
2474 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2475 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2478 case 1664 : /* fall through */
2479 case 1665 : /* fall through */
2480 case 1666 : /* fall through */
2481 case 1667 : /* fall through */
2482 case 1668 : /* fall through */
2483 case 1669 : /* fall through */
2484 case 1670 : /* fall through */
2485 case 1671 : /* fall through */
2486 case 1672 : /* fall through */
2487 case 1673 : /* fall through */
2488 case 1674 : /* fall through */
2489 case 1675 : /* fall through */
2490 case 1676 : /* fall through */
2491 case 1677 : /* fall through */
2492 case 1678 : /* fall through */
2493 case 1679 : /* fall through */
2494 case 1680 : /* fall through */
2495 case 1681 : /* fall through */
2496 case 1682 : /* fall through */
2497 case 1683 : /* fall through */
2498 case 1684 : /* fall through */
2499 case 1685 : /* fall through */
2500 case 1686 : /* fall through */
2501 case 1687 : /* fall through */
2502 case 1688 : /* fall through */
2503 case 1689 : /* fall through */
2504 case 1690 : /* fall through */
2505 case 1691 : /* fall through */
2506 case 1692 : /* fall through */
2507 case 1693 : /* fall through */
2508 case 1694 : /* fall through */
2509 case 1695 : /* fall through */
2510 case 1696 : /* fall through */
2511 case 1697 : /* fall through */
2512 case 1698 : /* fall through */
2513 case 1699 : /* fall through */
2514 case 1700 : /* fall through */
2515 case 1701 : /* fall through */
2516 case 1702 : /* fall through */
2517 case 1703 : /* fall through */
2518 case 1704 : /* fall through */
2519 case 1705 : /* fall through */
2520 case 1706 : /* fall through */
2521 case 1707 : /* fall through */
2522 case 1708 : /* fall through */
2523 case 1709 : /* fall through */
2524 case 1710 : /* fall through */
2525 case 1711 : /* fall through */
2526 case 1712 : /* fall through */
2527 case 1713 : /* fall through */
2528 case 1714 : /* fall through */
2529 case 1715 : /* fall through */
2530 case 1716 : /* fall through */
2531 case 1717 : /* fall through */
2532 case 1718 : /* fall through */
2533 case 1719 : /* fall through */
2534 case 1720 : /* fall through */
2535 case 1721 : /* fall through */
2536 case 1722 : /* fall through */
2537 case 1723 : /* fall through */
2538 case 1724 : /* fall through */
2539 case 1725 : /* fall through */
2540 case 1726 : /* fall through */
2541 case 1727 : /* fall through */
2542 case 1728 : /* fall through */
2543 case 1729 : /* fall through */
2544 case 1730 : /* fall through */
2545 case 1731 : /* fall through */
2546 case 1732 : /* fall through */
2547 case 1733 : /* fall through */
2548 case 1734 : /* fall through */
2549 case 1735 : /* fall through */
2550 case 1736 : /* fall through */
2551 case 1737 : /* fall through */
2552 case 1738 : /* fall through */
2553 case 1739 : /* fall through */
2554 case 1740 : /* fall through */
2555 case 1741 : /* fall through */
2556 case 1742 : /* fall through */
2557 case 1743 : /* fall through */
2558 case 1744 : /* fall through */
2559 case 1745 : /* fall through */
2560 case 1746 : /* fall through */
2561 case 1747 : /* fall through */
2562 case 1748 : /* fall through */
2563 case 1749 : /* fall through */
2564 case 1750 : /* fall through */
2565 case 1751 : /* fall through */
2566 case 1752 : /* fall through */
2567 case 1753 : /* fall through */
2568 case 1754 : /* fall through */
2569 case 1755 : /* fall through */
2570 case 1756 : /* fall through */
2571 case 1757 : /* fall through */
2572 case 1758 : /* fall through */
2573 case 1759 : /* fall through */
2574 case 1760 : /* fall through */
2575 case 1761 : /* fall through */
2576 case 1762 : /* fall through */
2577 case 1763 : /* fall through */
2578 case 1764 : /* fall through */
2579 case 1765 : /* fall through */
2580 case 1766 : /* fall through */
2581 case 1767 : /* fall through */
2582 case 1768 : /* fall through */
2583 case 1769 : /* fall through */
2584 case 1770 : /* fall through */
2585 case 1771 : /* fall through */
2586 case 1772 : /* fall through */
2587 case 1773 : /* fall through */
2588 case 1774 : /* fall through */
2589 case 1775 : /* fall through */
2590 case 1776 : /* fall through */
2591 case 1777 : /* fall through */
2592 case 1778 : /* fall through */
2593 case 1779 : /* fall through */
2594 case 1780 : /* fall through */
2595 case 1781 : /* fall through */
2596 case 1782 : /* fall through */
2597 case 1783 : /* fall through */
2598 case 1784 : /* fall through */
2599 case 1785 : /* fall through */
2600 case 1786 : /* fall through */
2601 case 1787 : /* fall through */
2602 case 1788 : /* fall through */
2603 case 1789 : /* fall through */
2604 case 1790 : /* fall through */
2606 if ((entire_insn
& 0xf000) == 0xd000)
2607 { itype
= SH64_COMPACT_INSN_MOVL10_COMPACT
; goto extract_sfmt_movl10_compact
; }
2608 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2609 case 1792 : /* fall through */
2610 case 1793 : /* fall through */
2611 case 1794 : /* fall through */
2612 case 1795 : /* fall through */
2613 case 1796 : /* fall through */
2614 case 1797 : /* fall through */
2615 case 1798 : /* fall through */
2616 case 1799 : /* fall through */
2617 case 1800 : /* fall through */
2618 case 1801 : /* fall through */
2619 case 1802 : /* fall through */
2620 case 1803 : /* fall through */
2621 case 1804 : /* fall through */
2622 case 1805 : /* fall through */
2623 case 1806 : /* fall through */
2624 case 1807 : /* fall through */
2625 case 1808 : /* fall through */
2626 case 1809 : /* fall through */
2627 case 1810 : /* fall through */
2628 case 1811 : /* fall through */
2629 case 1812 : /* fall through */
2630 case 1813 : /* fall through */
2631 case 1814 : /* fall through */
2632 case 1815 : /* fall through */
2633 case 1816 : /* fall through */
2634 case 1817 : /* fall through */
2635 case 1818 : /* fall through */
2636 case 1819 : /* fall through */
2637 case 1820 : /* fall through */
2638 case 1821 : /* fall through */
2639 case 1822 : /* fall through */
2640 case 1823 : /* fall through */
2641 case 1824 : /* fall through */
2642 case 1825 : /* fall through */
2643 case 1826 : /* fall through */
2644 case 1827 : /* fall through */
2645 case 1828 : /* fall through */
2646 case 1829 : /* fall through */
2647 case 1830 : /* fall through */
2648 case 1831 : /* fall through */
2649 case 1832 : /* fall through */
2650 case 1833 : /* fall through */
2651 case 1834 : /* fall through */
2652 case 1835 : /* fall through */
2653 case 1836 : /* fall through */
2654 case 1837 : /* fall through */
2655 case 1838 : /* fall through */
2656 case 1839 : /* fall through */
2657 case 1840 : /* fall through */
2658 case 1841 : /* fall through */
2659 case 1842 : /* fall through */
2660 case 1843 : /* fall through */
2661 case 1844 : /* fall through */
2662 case 1845 : /* fall through */
2663 case 1846 : /* fall through */
2664 case 1847 : /* fall through */
2665 case 1848 : /* fall through */
2666 case 1849 : /* fall through */
2667 case 1850 : /* fall through */
2668 case 1851 : /* fall through */
2669 case 1852 : /* fall through */
2670 case 1853 : /* fall through */
2671 case 1854 : /* fall through */
2672 case 1855 : /* fall through */
2673 case 1856 : /* fall through */
2674 case 1857 : /* fall through */
2675 case 1858 : /* fall through */
2676 case 1859 : /* fall through */
2677 case 1860 : /* fall through */
2678 case 1861 : /* fall through */
2679 case 1862 : /* fall through */
2680 case 1863 : /* fall through */
2681 case 1864 : /* fall through */
2682 case 1865 : /* fall through */
2683 case 1866 : /* fall through */
2684 case 1867 : /* fall through */
2685 case 1868 : /* fall through */
2686 case 1869 : /* fall through */
2687 case 1870 : /* fall through */
2688 case 1871 : /* fall through */
2689 case 1872 : /* fall through */
2690 case 1873 : /* fall through */
2691 case 1874 : /* fall through */
2692 case 1875 : /* fall through */
2693 case 1876 : /* fall through */
2694 case 1877 : /* fall through */
2695 case 1878 : /* fall through */
2696 case 1879 : /* fall through */
2697 case 1880 : /* fall through */
2698 case 1881 : /* fall through */
2699 case 1882 : /* fall through */
2700 case 1883 : /* fall through */
2701 case 1884 : /* fall through */
2702 case 1885 : /* fall through */
2703 case 1886 : /* fall through */
2704 case 1887 : /* fall through */
2705 case 1888 : /* fall through */
2706 case 1889 : /* fall through */
2707 case 1890 : /* fall through */
2708 case 1891 : /* fall through */
2709 case 1892 : /* fall through */
2710 case 1893 : /* fall through */
2711 case 1894 : /* fall through */
2712 case 1895 : /* fall through */
2713 case 1896 : /* fall through */
2714 case 1897 : /* fall through */
2715 case 1898 : /* fall through */
2716 case 1899 : /* fall through */
2717 case 1900 : /* fall through */
2718 case 1901 : /* fall through */
2719 case 1902 : /* fall through */
2720 case 1903 : /* fall through */
2721 case 1904 : /* fall through */
2722 case 1905 : /* fall through */
2723 case 1906 : /* fall through */
2724 case 1907 : /* fall through */
2725 case 1908 : /* fall through */
2726 case 1909 : /* fall through */
2727 case 1910 : /* fall through */
2728 case 1911 : /* fall through */
2729 case 1912 : /* fall through */
2730 case 1913 : /* fall through */
2731 case 1914 : /* fall through */
2732 case 1915 : /* fall through */
2733 case 1916 : /* fall through */
2734 case 1917 : /* fall through */
2735 case 1918 : /* fall through */
2737 if ((entire_insn
& 0xf000) == 0xe000)
2738 { itype
= SH64_COMPACT_INSN_MOVI_COMPACT
; goto extract_sfmt_movi_compact
; }
2739 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2740 case 1920 : /* fall through */
2741 case 1936 : /* fall through */
2742 case 1952 : /* fall through */
2743 case 1968 : /* fall through */
2744 case 1984 : /* fall through */
2745 case 2000 : /* fall through */
2746 case 2016 : /* fall through */
2748 if ((entire_insn
& 0xf00f) == 0xf000)
2749 { itype
= SH64_COMPACT_INSN_FADD_COMPACT
; goto extract_sfmt_fadd_compact
; }
2750 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2751 case 1921 : /* fall through */
2752 case 1937 : /* fall through */
2753 case 1953 : /* fall through */
2754 case 1969 : /* fall through */
2755 case 1985 : /* fall through */
2756 case 2001 : /* fall through */
2757 case 2017 : /* fall through */
2759 if ((entire_insn
& 0xf00f) == 0xf001)
2760 { itype
= SH64_COMPACT_INSN_FSUB_COMPACT
; goto extract_sfmt_fadd_compact
; }
2761 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2762 case 1922 : /* fall through */
2763 case 1938 : /* fall through */
2764 case 1954 : /* fall through */
2765 case 1970 : /* fall through */
2766 case 1986 : /* fall through */
2767 case 2002 : /* fall through */
2768 case 2018 : /* fall through */
2770 if ((entire_insn
& 0xf00f) == 0xf002)
2771 { itype
= SH64_COMPACT_INSN_FMUL_COMPACT
; goto extract_sfmt_fadd_compact
; }
2772 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2773 case 1923 : /* fall through */
2774 case 1939 : /* fall through */
2775 case 1955 : /* fall through */
2776 case 1971 : /* fall through */
2777 case 1987 : /* fall through */
2778 case 2003 : /* fall through */
2779 case 2019 : /* fall through */
2781 if ((entire_insn
& 0xf00f) == 0xf003)
2782 { itype
= SH64_COMPACT_INSN_FDIV_COMPACT
; goto extract_sfmt_fadd_compact
; }
2783 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2784 case 1924 : /* fall through */
2785 case 1940 : /* fall through */
2786 case 1956 : /* fall through */
2787 case 1972 : /* fall through */
2788 case 1988 : /* fall through */
2789 case 2004 : /* fall through */
2790 case 2020 : /* fall through */
2792 if ((entire_insn
& 0xf00f) == 0xf004)
2793 { itype
= SH64_COMPACT_INSN_FCMPEQ_COMPACT
; goto extract_sfmt_fcmpeq_compact
; }
2794 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2795 case 1925 : /* fall through */
2796 case 1941 : /* fall through */
2797 case 1957 : /* fall through */
2798 case 1973 : /* fall through */
2799 case 1989 : /* fall through */
2800 case 2005 : /* fall through */
2801 case 2021 : /* fall through */
2803 if ((entire_insn
& 0xf00f) == 0xf005)
2804 { itype
= SH64_COMPACT_INSN_FCMPGT_COMPACT
; goto extract_sfmt_fcmpeq_compact
; }
2805 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2806 case 1926 : /* fall through */
2807 case 1942 : /* fall through */
2808 case 1958 : /* fall through */
2809 case 1974 : /* fall through */
2810 case 1990 : /* fall through */
2811 case 2006 : /* fall through */
2812 case 2022 : /* fall through */
2814 if ((entire_insn
& 0xf00f) == 0xf006)
2815 { itype
= SH64_COMPACT_INSN_FMOV4_COMPACT
; goto extract_sfmt_fmov4_compact
; }
2816 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2817 case 1927 : /* fall through */
2818 case 1943 : /* fall through */
2819 case 1959 : /* fall through */
2820 case 1975 : /* fall through */
2821 case 1991 : /* fall through */
2822 case 2007 : /* fall through */
2823 case 2023 : /* fall through */
2825 if ((entire_insn
& 0xf00f) == 0xf007)
2826 { itype
= SH64_COMPACT_INSN_FMOV7_COMPACT
; goto extract_sfmt_fmov7_compact
; }
2827 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2828 case 1928 : /* fall through */
2829 case 1944 : /* fall through */
2830 case 1960 : /* fall through */
2831 case 1976 : /* fall through */
2832 case 1992 : /* fall through */
2833 case 2008 : /* fall through */
2834 case 2024 : /* fall through */
2836 if ((entire_insn
& 0xf00f) == 0xf008)
2837 { itype
= SH64_COMPACT_INSN_FMOV2_COMPACT
; goto extract_sfmt_fmov2_compact
; }
2838 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2839 case 1929 : /* fall through */
2840 case 1945 : /* fall through */
2841 case 1961 : /* fall through */
2842 case 1977 : /* fall through */
2843 case 1993 : /* fall through */
2844 case 2009 : /* fall through */
2845 case 2025 : /* fall through */
2847 if ((entire_insn
& 0xf00f) == 0xf009)
2848 { itype
= SH64_COMPACT_INSN_FMOV3_COMPACT
; goto extract_sfmt_fmov3_compact
; }
2849 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2850 case 1930 : /* fall through */
2851 case 1946 : /* fall through */
2852 case 1962 : /* fall through */
2853 case 1978 : /* fall through */
2854 case 1994 : /* fall through */
2855 case 2010 : /* fall through */
2856 case 2026 : /* fall through */
2858 if ((entire_insn
& 0xf00f) == 0xf00a)
2859 { itype
= SH64_COMPACT_INSN_FMOV5_COMPACT
; goto extract_sfmt_fmov5_compact
; }
2860 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2861 case 1931 : /* fall through */
2862 case 1947 : /* fall through */
2863 case 1963 : /* fall through */
2864 case 1979 : /* fall through */
2865 case 1995 : /* fall through */
2866 case 2011 : /* fall through */
2867 case 2027 : /* fall through */
2869 if ((entire_insn
& 0xf00f) == 0xf00b)
2870 { itype
= SH64_COMPACT_INSN_FMOV6_COMPACT
; goto extract_sfmt_fmov6_compact
; }
2871 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2872 case 1932 : /* fall through */
2873 case 1948 : /* fall through */
2874 case 1964 : /* fall through */
2875 case 1980 : /* fall through */
2876 case 1996 : /* fall through */
2877 case 2012 : /* fall through */
2878 case 2028 : /* fall through */
2880 if ((entire_insn
& 0xf00f) == 0xf00c)
2881 { itype
= SH64_COMPACT_INSN_FMOV1_COMPACT
; goto extract_sfmt_fmov1_compact
; }
2882 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2885 unsigned int val
= (((insn
>> 7) & (1 << 0)));
2889 if ((entire_insn
& 0xf0ff) == 0xf00d)
2890 { itype
= SH64_COMPACT_INSN_FSTS_COMPACT
; goto extract_sfmt_fsts_compact
; }
2891 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2893 if ((entire_insn
& 0xf0ff) == 0xf08d)
2894 { itype
= SH64_COMPACT_INSN_FLDI0_COMPACT
; goto extract_sfmt_fldi0_compact
; }
2895 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2896 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2899 case 1934 : /* fall through */
2900 case 1950 : /* fall through */
2901 case 1966 : /* fall through */
2902 case 1982 : /* fall through */
2903 case 1998 : /* fall through */
2904 case 2014 : /* fall through */
2905 case 2030 : /* fall through */
2907 if ((entire_insn
& 0xf00f) == 0xf00e)
2908 { itype
= SH64_COMPACT_INSN_FMAC_COMPACT
; goto extract_sfmt_fmac_compact
; }
2909 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2912 unsigned int val
= (((insn
>> 7) & (1 << 0)));
2916 if ((entire_insn
& 0xf0ff) == 0xf01d)
2917 { itype
= SH64_COMPACT_INSN_FLDS_COMPACT
; goto extract_sfmt_flds_compact
; }
2918 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2920 if ((entire_insn
& 0xf0ff) == 0xf09d)
2921 { itype
= SH64_COMPACT_INSN_FLDI1_COMPACT
; goto extract_sfmt_fldi0_compact
; }
2922 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2923 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2928 unsigned int val
= (((insn
>> 7) & (1 << 0)));
2932 if ((entire_insn
& 0xf0ff) == 0xf02d)
2933 { itype
= SH64_COMPACT_INSN_FLOAT_COMPACT
; goto extract_sfmt_float_compact
; }
2934 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2936 if ((entire_insn
& 0xf1ff) == 0xf0ad)
2937 { itype
= SH64_COMPACT_INSN_FCNVSD_COMPACT
; goto extract_sfmt_fcnvsd_compact
; }
2938 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2939 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2944 unsigned int val
= (((insn
>> 7) & (1 << 0)));
2948 if ((entire_insn
& 0xf0ff) == 0xf03d)
2949 { itype
= SH64_COMPACT_INSN_FTRC_COMPACT
; goto extract_sfmt_ftrc_compact
; }
2950 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2952 if ((entire_insn
& 0xf1ff) == 0xf0bd)
2953 { itype
= SH64_COMPACT_INSN_FCNVDS_COMPACT
; goto extract_sfmt_fcnvds_compact
; }
2954 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2955 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2959 if ((entire_insn
& 0xf0ff) == 0xf04d)
2960 { itype
= SH64_COMPACT_INSN_FNEG_COMPACT
; goto extract_sfmt_fabs_compact
; }
2961 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2963 if ((entire_insn
& 0xf0ff) == 0xf05d)
2964 { itype
= SH64_COMPACT_INSN_FABS_COMPACT
; goto extract_sfmt_fabs_compact
; }
2965 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2968 unsigned int val
= (((insn
>> 7) & (1 << 0)));
2972 if ((entire_insn
& 0xf0ff) == 0xf06d)
2973 { itype
= SH64_COMPACT_INSN_FSQRT_COMPACT
; goto extract_sfmt_fabs_compact
; }
2974 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2976 if ((entire_insn
& 0xf0ff) == 0xf0ed)
2977 { itype
= SH64_COMPACT_INSN_FIPR_COMPACT
; goto extract_sfmt_fipr_compact
; }
2978 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2979 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2984 unsigned int val
= (((insn
>> 10) & (1 << 1)) | ((insn
>> 9) & (1 << 0)));
2987 case 0 : /* fall through */
2989 if ((entire_insn
& 0xf3ff) == 0xf1fd)
2990 { itype
= SH64_COMPACT_INSN_FTRV_COMPACT
; goto extract_sfmt_ftrv_compact
; }
2991 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2993 if ((entire_insn
& 0xffff) == 0xf3fd)
2994 { itype
= SH64_COMPACT_INSN_FSCHG_COMPACT
; goto extract_sfmt_fschg_compact
; }
2995 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
2997 if ((entire_insn
& 0xffff) == 0xfbfd)
2998 { itype
= SH64_COMPACT_INSN_FRCHG_COMPACT
; goto extract_sfmt_frchg_compact
; }
2999 itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
3000 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
3003 default : itype
= SH64_COMPACT_INSN_X_INVALID
; goto extract_sfmt_empty
;
3008 /* The instruction has been decoded, now extract the fields. */
3012 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3013 #define FLD(f) abuf->fields.fmt_empty.f
3016 /* Record the fields for the semantic handler. */
3017 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_empty", (char *) 0));
3023 extract_sfmt_add_compact
:
3025 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3026 CGEN_INSN_INT insn
= entire_insn
;
3027 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3031 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3032 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3034 /* Record the fields for the semantic handler. */
3037 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3039 #if WITH_PROFILE_MODEL_P
3040 /* Record the fields for profiling. */
3041 if (PROFILE_MODEL_P (current_cpu
))
3045 FLD (out_rn
) = f_rn
;
3052 extract_sfmt_addi_compact
:
3054 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3055 CGEN_INSN_INT insn
= entire_insn
;
3056 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3060 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3061 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3063 /* Record the fields for the semantic handler. */
3064 FLD (f_imm8
) = f_imm8
;
3066 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3068 #if WITH_PROFILE_MODEL_P
3069 /* Record the fields for profiling. */
3070 if (PROFILE_MODEL_P (current_cpu
))
3073 FLD (out_rn
) = f_rn
;
3080 extract_sfmt_addc_compact
:
3082 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3083 CGEN_INSN_INT insn
= entire_insn
;
3084 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3088 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3089 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3091 /* Record the fields for the semantic handler. */
3094 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3096 #if WITH_PROFILE_MODEL_P
3097 /* Record the fields for profiling. */
3098 if (PROFILE_MODEL_P (current_cpu
))
3102 FLD (out_rn
) = f_rn
;
3109 extract_sfmt_addv_compact
:
3111 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3112 CGEN_INSN_INT insn
= entire_insn
;
3113 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3117 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3118 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3120 /* Record the fields for the semantic handler. */
3123 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3125 #if WITH_PROFILE_MODEL_P
3126 /* Record the fields for profiling. */
3127 if (PROFILE_MODEL_P (current_cpu
))
3131 FLD (out_rn
) = f_rn
;
3138 extract_sfmt_and_compact
:
3140 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3141 CGEN_INSN_INT insn
= entire_insn
;
3142 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3146 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3147 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3149 /* Record the fields for the semantic handler. */
3152 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3154 #if WITH_PROFILE_MODEL_P
3155 /* Record the fields for profiling. */
3156 if (PROFILE_MODEL_P (current_cpu
))
3158 FLD (in_rm64
) = f_rm
;
3159 FLD (in_rn64
) = f_rn
;
3160 FLD (out_rn64
) = f_rn
;
3167 extract_sfmt_andi_compact
:
3169 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3170 CGEN_INSN_INT insn
= entire_insn
;
3171 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3174 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3176 /* Record the fields for the semantic handler. */
3177 FLD (f_imm8
) = f_imm8
;
3178 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
3180 #if WITH_PROFILE_MODEL_P
3181 /* Record the fields for profiling. */
3182 if (PROFILE_MODEL_P (current_cpu
))
3192 extract_sfmt_andb_compact
:
3194 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3195 CGEN_INSN_INT insn
= entire_insn
;
3196 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3199 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3201 /* Record the fields for the semantic handler. */
3202 FLD (f_imm8
) = f_imm8
;
3203 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
3205 #if WITH_PROFILE_MODEL_P
3206 /* Record the fields for profiling. */
3207 if (PROFILE_MODEL_P (current_cpu
))
3216 extract_sfmt_bf_compact
:
3218 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3219 CGEN_INSN_INT insn
= entire_insn
;
3220 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3223 f_disp8
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (4))));
3225 /* Record the fields for the semantic handler. */
3226 FLD (i_disp8
) = f_disp8
;
3227 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
3229 #if WITH_PROFILE_MODEL_P
3230 /* Record the fields for profiling. */
3231 if (PROFILE_MODEL_P (current_cpu
))
3239 extract_sfmt_bfs_compact
:
3241 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3242 CGEN_INSN_INT insn
= entire_insn
;
3243 #define FLD(f) abuf->fields.sfmt_bf_compact.f
3246 f_disp8
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (4))));
3248 /* Record the fields for the semantic handler. */
3249 FLD (i_disp8
) = f_disp8
;
3250 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bfs_compact", "disp8 0x%x", 'x', f_disp8
, (char *) 0));
3252 #if WITH_PROFILE_MODEL_P
3253 /* Record the fields for profiling. */
3254 if (PROFILE_MODEL_P (current_cpu
))
3262 extract_sfmt_bra_compact
:
3264 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3265 CGEN_INSN_INT insn
= entire_insn
;
3266 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3269 f_disp12
= ((((EXTRACT_MSB0_INT (insn
, 16, 4, 12)) << (1))) + (((pc
) + (4))));
3271 /* Record the fields for the semantic handler. */
3272 FLD (i_disp12
) = f_disp12
;
3273 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12
, (char *) 0));
3275 #if WITH_PROFILE_MODEL_P
3276 /* Record the fields for profiling. */
3277 if (PROFILE_MODEL_P (current_cpu
))
3285 extract_sfmt_braf_compact
:
3287 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3288 CGEN_INSN_INT insn
= entire_insn
;
3289 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3292 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3294 /* Record the fields for the semantic handler. */
3296 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3298 #if WITH_PROFILE_MODEL_P
3299 /* Record the fields for profiling. */
3300 if (PROFILE_MODEL_P (current_cpu
))
3309 extract_sfmt_brk_compact
:
3311 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3312 #define FLD(f) abuf->fields.fmt_empty.f
3315 /* Record the fields for the semantic handler. */
3316 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_brk_compact", (char *) 0));
3318 #if WITH_PROFILE_MODEL_P
3319 /* Record the fields for profiling. */
3320 if (PROFILE_MODEL_P (current_cpu
))
3328 extract_sfmt_bsr_compact
:
3330 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3331 CGEN_INSN_INT insn
= entire_insn
;
3332 #define FLD(f) abuf->fields.sfmt_bra_compact.f
3335 f_disp12
= ((((EXTRACT_MSB0_INT (insn
, 16, 4, 12)) << (1))) + (((pc
) + (4))));
3337 /* Record the fields for the semantic handler. */
3338 FLD (i_disp12
) = f_disp12
;
3339 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12
, (char *) 0));
3341 #if WITH_PROFILE_MODEL_P
3342 /* Record the fields for profiling. */
3343 if (PROFILE_MODEL_P (current_cpu
))
3351 extract_sfmt_bsrf_compact
:
3353 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3354 CGEN_INSN_INT insn
= entire_insn
;
3355 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3358 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3360 /* Record the fields for the semantic handler. */
3362 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3364 #if WITH_PROFILE_MODEL_P
3365 /* Record the fields for profiling. */
3366 if (PROFILE_MODEL_P (current_cpu
))
3375 extract_sfmt_clrmac_compact
:
3377 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3378 #define FLD(f) abuf->fields.fmt_empty.f
3381 /* Record the fields for the semantic handler. */
3382 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_clrmac_compact", (char *) 0));
3388 extract_sfmt_clrs_compact
:
3390 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3391 #define FLD(f) abuf->fields.fmt_empty.f
3394 /* Record the fields for the semantic handler. */
3395 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_clrs_compact", (char *) 0));
3401 extract_sfmt_clrt_compact
:
3403 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3404 #define FLD(f) abuf->fields.fmt_empty.f
3407 /* Record the fields for the semantic handler. */
3408 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_clrt_compact", (char *) 0));
3414 extract_sfmt_cmpeq_compact
:
3416 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3417 CGEN_INSN_INT insn
= entire_insn
;
3418 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3422 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3423 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3425 /* Record the fields for the semantic handler. */
3428 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3430 #if WITH_PROFILE_MODEL_P
3431 /* Record the fields for profiling. */
3432 if (PROFILE_MODEL_P (current_cpu
))
3442 extract_sfmt_cmpeqi_compact
:
3444 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3445 CGEN_INSN_INT insn
= entire_insn
;
3446 #define FLD(f) abuf->fields.sfmt_addi_compact.f
3449 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3451 /* Record the fields for the semantic handler. */
3452 FLD (f_imm8
) = f_imm8
;
3453 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
3455 #if WITH_PROFILE_MODEL_P
3456 /* Record the fields for profiling. */
3457 if (PROFILE_MODEL_P (current_cpu
))
3466 extract_sfmt_cmppl_compact
:
3468 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3469 CGEN_INSN_INT insn
= entire_insn
;
3470 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3473 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3475 /* Record the fields for the semantic handler. */
3477 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3479 #if WITH_PROFILE_MODEL_P
3480 /* Record the fields for profiling. */
3481 if (PROFILE_MODEL_P (current_cpu
))
3490 extract_sfmt_div0s_compact
:
3492 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3493 CGEN_INSN_INT insn
= entire_insn
;
3494 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3498 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3499 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3501 /* Record the fields for the semantic handler. */
3504 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3506 #if WITH_PROFILE_MODEL_P
3507 /* Record the fields for profiling. */
3508 if (PROFILE_MODEL_P (current_cpu
))
3518 extract_sfmt_div0u_compact
:
3520 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3521 #define FLD(f) abuf->fields.fmt_empty.f
3524 /* Record the fields for the semantic handler. */
3525 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div0u_compact", (char *) 0));
3531 extract_sfmt_div1_compact
:
3533 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3534 CGEN_INSN_INT insn
= entire_insn
;
3535 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3539 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3540 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3542 /* Record the fields for the semantic handler. */
3545 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3547 #if WITH_PROFILE_MODEL_P
3548 /* Record the fields for profiling. */
3549 if (PROFILE_MODEL_P (current_cpu
))
3553 FLD (out_rn
) = f_rn
;
3560 extract_sfmt_divu_compact
:
3562 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3563 CGEN_INSN_INT insn
= entire_insn
;
3564 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3567 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3569 /* Record the fields for the semantic handler. */
3571 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_divu_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3573 #if WITH_PROFILE_MODEL_P
3574 /* Record the fields for profiling. */
3575 if (PROFILE_MODEL_P (current_cpu
))
3579 FLD (out_rn
) = f_rn
;
3586 extract_sfmt_dmulsl_compact
:
3588 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3589 CGEN_INSN_INT insn
= entire_insn
;
3590 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3594 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3595 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3597 /* Record the fields for the semantic handler. */
3600 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3602 #if WITH_PROFILE_MODEL_P
3603 /* Record the fields for profiling. */
3604 if (PROFILE_MODEL_P (current_cpu
))
3614 extract_sfmt_dt_compact
:
3616 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3617 CGEN_INSN_INT insn
= entire_insn
;
3618 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3621 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3623 /* Record the fields for the semantic handler. */
3625 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3627 #if WITH_PROFILE_MODEL_P
3628 /* Record the fields for profiling. */
3629 if (PROFILE_MODEL_P (current_cpu
))
3632 FLD (out_rn
) = f_rn
;
3639 extract_sfmt_extsb_compact
:
3641 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3642 CGEN_INSN_INT insn
= entire_insn
;
3643 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3647 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3648 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3650 /* Record the fields for the semantic handler. */
3653 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3655 #if WITH_PROFILE_MODEL_P
3656 /* Record the fields for profiling. */
3657 if (PROFILE_MODEL_P (current_cpu
))
3660 FLD (out_rn
) = f_rn
;
3667 extract_sfmt_fabs_compact
:
3669 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3670 CGEN_INSN_INT insn
= entire_insn
;
3671 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3674 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3676 /* Record the fields for the semantic handler. */
3678 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3680 #if WITH_PROFILE_MODEL_P
3681 /* Record the fields for profiling. */
3682 if (PROFILE_MODEL_P (current_cpu
))
3684 FLD (in_fsdn
) = f_rn
;
3685 FLD (out_fsdn
) = f_rn
;
3692 extract_sfmt_fadd_compact
:
3694 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3695 CGEN_INSN_INT insn
= entire_insn
;
3696 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3700 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3701 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3703 /* Record the fields for the semantic handler. */
3706 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3708 #if WITH_PROFILE_MODEL_P
3709 /* Record the fields for profiling. */
3710 if (PROFILE_MODEL_P (current_cpu
))
3712 FLD (in_fsdm
) = f_rm
;
3713 FLD (in_fsdn
) = f_rn
;
3714 FLD (out_fsdn
) = f_rn
;
3721 extract_sfmt_fcmpeq_compact
:
3723 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3724 CGEN_INSN_INT insn
= entire_insn
;
3725 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3729 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3730 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3732 /* Record the fields for the semantic handler. */
3735 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3737 #if WITH_PROFILE_MODEL_P
3738 /* Record the fields for profiling. */
3739 if (PROFILE_MODEL_P (current_cpu
))
3741 FLD (in_fsdm
) = f_rm
;
3742 FLD (in_fsdn
) = f_rn
;
3749 extract_sfmt_fcnvds_compact
:
3751 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3752 CGEN_INSN_INT insn
= entire_insn
;
3753 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3756 f_dn
= ((EXTRACT_MSB0_UINT (insn
, 16, 4, 3)) << (1));
3758 /* Record the fields for the semantic handler. */
3760 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn
, (char *) 0));
3762 #if WITH_PROFILE_MODEL_P
3763 /* Record the fields for profiling. */
3764 if (PROFILE_MODEL_P (current_cpu
))
3766 FLD (in_drn
) = f_dn
;
3767 FLD (out_fpul
) = 32;
3774 extract_sfmt_fcnvsd_compact
:
3776 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3777 CGEN_INSN_INT insn
= entire_insn
;
3778 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
3781 f_dn
= ((EXTRACT_MSB0_UINT (insn
, 16, 4, 3)) << (1));
3783 /* Record the fields for the semantic handler. */
3785 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn
, (char *) 0));
3787 #if WITH_PROFILE_MODEL_P
3788 /* Record the fields for profiling. */
3789 if (PROFILE_MODEL_P (current_cpu
))
3792 FLD (out_drn
) = f_dn
;
3799 extract_sfmt_fipr_compact
:
3801 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3802 CGEN_INSN_INT insn
= entire_insn
;
3803 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
3807 f_vn
= ((EXTRACT_MSB0_UINT (insn
, 16, 4, 2)) << (2));
3808 f_vm
= ((EXTRACT_MSB0_UINT (insn
, 16, 6, 2)) << (2));
3810 /* Record the fields for the semantic handler. */
3813 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm
, "f_vn 0x%x", 'x', f_vn
, (char *) 0));
3819 extract_sfmt_flds_compact
:
3821 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3822 CGEN_INSN_INT insn
= entire_insn
;
3823 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3826 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3828 /* Record the fields for the semantic handler. */
3830 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3832 #if WITH_PROFILE_MODEL_P
3833 /* Record the fields for profiling. */
3834 if (PROFILE_MODEL_P (current_cpu
))
3836 FLD (in_frn
) = f_rn
;
3837 FLD (out_fpul
) = 32;
3844 extract_sfmt_fldi0_compact
:
3846 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3847 CGEN_INSN_INT insn
= entire_insn
;
3848 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3851 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3853 /* Record the fields for the semantic handler. */
3855 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3857 #if WITH_PROFILE_MODEL_P
3858 /* Record the fields for profiling. */
3859 if (PROFILE_MODEL_P (current_cpu
))
3861 FLD (out_frn
) = f_rn
;
3868 extract_sfmt_float_compact
:
3870 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3871 CGEN_INSN_INT insn
= entire_insn
;
3872 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
3875 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3877 /* Record the fields for the semantic handler. */
3879 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3881 #if WITH_PROFILE_MODEL_P
3882 /* Record the fields for profiling. */
3883 if (PROFILE_MODEL_P (current_cpu
))
3886 FLD (out_fsdn
) = f_rn
;
3893 extract_sfmt_fmac_compact
:
3895 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3896 CGEN_INSN_INT insn
= entire_insn
;
3897 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3901 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3902 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3904 /* Record the fields for the semantic handler. */
3907 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3909 #if WITH_PROFILE_MODEL_P
3910 /* Record the fields for profiling. */
3911 if (PROFILE_MODEL_P (current_cpu
))
3914 FLD (in_frm
) = f_rm
;
3915 FLD (in_frn
) = f_rn
;
3916 FLD (out_frn
) = f_rn
;
3923 extract_sfmt_fmov1_compact
:
3925 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3926 CGEN_INSN_INT insn
= entire_insn
;
3927 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3931 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3932 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3934 /* Record the fields for the semantic handler. */
3937 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3939 #if WITH_PROFILE_MODEL_P
3940 /* Record the fields for profiling. */
3941 if (PROFILE_MODEL_P (current_cpu
))
3943 FLD (in_fmovm
) = f_rm
;
3944 FLD (out_fmovn
) = f_rn
;
3951 extract_sfmt_fmov2_compact
:
3953 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3954 CGEN_INSN_INT insn
= entire_insn
;
3955 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3959 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3960 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3962 /* Record the fields for the semantic handler. */
3965 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov2_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3967 #if WITH_PROFILE_MODEL_P
3968 /* Record the fields for profiling. */
3969 if (PROFILE_MODEL_P (current_cpu
))
3972 FLD (out_fmovn
) = f_rn
;
3979 extract_sfmt_fmov3_compact
:
3981 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
3982 CGEN_INSN_INT insn
= entire_insn
;
3983 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
3987 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
3988 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3990 /* Record the fields for the semantic handler. */
3993 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov3_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
3995 #if WITH_PROFILE_MODEL_P
3996 /* Record the fields for profiling. */
3997 if (PROFILE_MODEL_P (current_cpu
))
4000 FLD (out_fmovn
) = f_rn
;
4001 FLD (out_rm
) = f_rm
;
4008 extract_sfmt_fmov4_compact
:
4010 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4011 CGEN_INSN_INT insn
= entire_insn
;
4012 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4016 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4017 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4019 /* Record the fields for the semantic handler. */
4022 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov4_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4024 #if WITH_PROFILE_MODEL_P
4025 /* Record the fields for profiling. */
4026 if (PROFILE_MODEL_P (current_cpu
))
4030 FLD (out_fmovn
) = f_rn
;
4037 extract_sfmt_fmov5_compact
:
4039 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4040 CGEN_INSN_INT insn
= entire_insn
;
4041 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4045 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4046 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4048 /* Record the fields for the semantic handler. */
4051 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4053 #if WITH_PROFILE_MODEL_P
4054 /* Record the fields for profiling. */
4055 if (PROFILE_MODEL_P (current_cpu
))
4057 FLD (in_fmovm
) = f_rm
;
4065 extract_sfmt_fmov6_compact
:
4067 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4068 CGEN_INSN_INT insn
= entire_insn
;
4069 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4073 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4074 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4076 /* Record the fields for the semantic handler. */
4079 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4081 #if WITH_PROFILE_MODEL_P
4082 /* Record the fields for profiling. */
4083 if (PROFILE_MODEL_P (current_cpu
))
4085 FLD (in_fmovm
) = f_rm
;
4087 FLD (out_rn
) = f_rn
;
4094 extract_sfmt_fmov7_compact
:
4096 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4097 CGEN_INSN_INT insn
= entire_insn
;
4098 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4102 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4103 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4105 /* Record the fields for the semantic handler. */
4108 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4110 #if WITH_PROFILE_MODEL_P
4111 /* Record the fields for profiling. */
4112 if (PROFILE_MODEL_P (current_cpu
))
4114 FLD (in_fmovm
) = f_rm
;
4123 extract_sfmt_fmov8_compact
:
4125 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4126 CGEN_INSN_INT insn
= entire_insn
;
4127 #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
4132 f_dn
= ((EXTRACT_MSB0_UINT (insn
, 32, 4, 3)) << (1));
4133 f_rm
= EXTRACT_MSB0_UINT (insn
, 32, 8, 4);
4134 f_imm12x8
= ((EXTRACT_MSB0_INT (insn
, 32, 20, 12)) << (3));
4136 /* Record the fields for the semantic handler. */
4137 FLD (f_imm12x8
) = f_imm12x8
;
4140 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov8_compact", "f_imm12x8 0x%x", 'x', f_imm12x8
, "f_rm 0x%x", 'x', f_rm
, "f_dn 0x%x", 'x', f_dn
, (char *) 0));
4142 #if WITH_PROFILE_MODEL_P
4143 /* Record the fields for profiling. */
4144 if (PROFILE_MODEL_P (current_cpu
))
4147 FLD (out_drn
) = f_dn
;
4154 extract_sfmt_fmov9_compact
:
4156 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4157 CGEN_INSN_INT insn
= entire_insn
;
4158 #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
4163 f_rn
= EXTRACT_MSB0_UINT (insn
, 32, 4, 4);
4164 f_dm
= ((EXTRACT_MSB0_UINT (insn
, 32, 8, 3)) << (1));
4165 f_imm12x8
= ((EXTRACT_MSB0_INT (insn
, 32, 20, 12)) << (3));
4167 /* Record the fields for the semantic handler. */
4169 FLD (f_imm12x8
) = f_imm12x8
;
4171 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmov9_compact", "f_dm 0x%x", 'x', f_dm
, "f_imm12x8 0x%x", 'x', f_imm12x8
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4173 #if WITH_PROFILE_MODEL_P
4174 /* Record the fields for profiling. */
4175 if (PROFILE_MODEL_P (current_cpu
))
4177 FLD (in_drm
) = f_dm
;
4185 extract_sfmt_frchg_compact
:
4187 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4188 #define FLD(f) abuf->fields.fmt_empty.f
4191 /* Record the fields for the semantic handler. */
4192 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_frchg_compact", (char *) 0));
4198 extract_sfmt_fschg_compact
:
4200 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4201 #define FLD(f) abuf->fields.fmt_empty.f
4204 /* Record the fields for the semantic handler. */
4205 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fschg_compact", (char *) 0));
4211 extract_sfmt_fsts_compact
:
4213 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4214 CGEN_INSN_INT insn
= entire_insn
;
4215 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4218 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4220 /* Record the fields for the semantic handler. */
4222 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4224 #if WITH_PROFILE_MODEL_P
4225 /* Record the fields for profiling. */
4226 if (PROFILE_MODEL_P (current_cpu
))
4229 FLD (out_frn
) = f_rn
;
4236 extract_sfmt_ftrc_compact
:
4238 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4239 CGEN_INSN_INT insn
= entire_insn
;
4240 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4243 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4245 /* Record the fields for the semantic handler. */
4247 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4249 #if WITH_PROFILE_MODEL_P
4250 /* Record the fields for profiling. */
4251 if (PROFILE_MODEL_P (current_cpu
))
4253 FLD (in_fsdn
) = f_rn
;
4254 FLD (out_fpul
) = 32;
4261 extract_sfmt_ftrv_compact
:
4263 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4264 CGEN_INSN_INT insn
= entire_insn
;
4265 #define FLD(f) abuf->fields.sfmt_fipr_compact.f
4268 f_vn
= ((EXTRACT_MSB0_UINT (insn
, 16, 4, 2)) << (2));
4270 /* Record the fields for the semantic handler. */
4272 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn
, (char *) 0));
4278 extract_sfmt_ldc_gbr_compact
:
4280 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4281 CGEN_INSN_INT insn
= entire_insn
;
4282 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4285 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4287 /* Record the fields for the semantic handler. */
4289 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldc_gbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4291 #if WITH_PROFILE_MODEL_P
4292 /* Record the fields for profiling. */
4293 if (PROFILE_MODEL_P (current_cpu
))
4302 extract_sfmt_ldc_vbr_compact
:
4304 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4305 CGEN_INSN_INT insn
= entire_insn
;
4306 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4309 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4311 /* Record the fields for the semantic handler. */
4313 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldc_vbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4315 #if WITH_PROFILE_MODEL_P
4316 /* Record the fields for profiling. */
4317 if (PROFILE_MODEL_P (current_cpu
))
4326 extract_sfmt_ldc_sr_compact
:
4328 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4329 CGEN_INSN_INT insn
= entire_insn
;
4330 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4333 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4335 /* Record the fields for the semantic handler. */
4337 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldc_sr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4339 #if WITH_PROFILE_MODEL_P
4340 /* Record the fields for profiling. */
4341 if (PROFILE_MODEL_P (current_cpu
))
4350 extract_sfmt_ldcl_gbr_compact
:
4352 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4353 CGEN_INSN_INT insn
= entire_insn
;
4354 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4357 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4359 /* Record the fields for the semantic handler. */
4361 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldcl_gbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4363 #if WITH_PROFILE_MODEL_P
4364 /* Record the fields for profiling. */
4365 if (PROFILE_MODEL_P (current_cpu
))
4368 FLD (out_rn
) = f_rn
;
4375 extract_sfmt_ldcl_vbr_compact
:
4377 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4378 CGEN_INSN_INT insn
= entire_insn
;
4379 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4382 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4384 /* Record the fields for the semantic handler. */
4386 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldcl_vbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4388 #if WITH_PROFILE_MODEL_P
4389 /* Record the fields for profiling. */
4390 if (PROFILE_MODEL_P (current_cpu
))
4393 FLD (out_rn
) = f_rn
;
4400 extract_sfmt_lds_fpscr_compact
:
4402 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4403 CGEN_INSN_INT insn
= entire_insn
;
4404 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4407 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4409 /* Record the fields for the semantic handler. */
4411 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4413 #if WITH_PROFILE_MODEL_P
4414 /* Record the fields for profiling. */
4415 if (PROFILE_MODEL_P (current_cpu
))
4424 extract_sfmt_ldsl_fpscr_compact
:
4426 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4427 CGEN_INSN_INT insn
= entire_insn
;
4428 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4431 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4433 /* Record the fields for the semantic handler. */
4435 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4437 #if WITH_PROFILE_MODEL_P
4438 /* Record the fields for profiling. */
4439 if (PROFILE_MODEL_P (current_cpu
))
4442 FLD (out_rn
) = f_rn
;
4449 extract_sfmt_lds_fpul_compact
:
4451 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4452 CGEN_INSN_INT insn
= entire_insn
;
4453 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4456 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4458 /* Record the fields for the semantic handler. */
4460 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4462 #if WITH_PROFILE_MODEL_P
4463 /* Record the fields for profiling. */
4464 if (PROFILE_MODEL_P (current_cpu
))
4467 FLD (out_fpul
) = 32;
4474 extract_sfmt_ldsl_fpul_compact
:
4476 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4477 CGEN_INSN_INT insn
= entire_insn
;
4478 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4481 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4483 /* Record the fields for the semantic handler. */
4485 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4487 #if WITH_PROFILE_MODEL_P
4488 /* Record the fields for profiling. */
4489 if (PROFILE_MODEL_P (current_cpu
))
4492 FLD (out_fpul
) = 32;
4493 FLD (out_rn
) = f_rn
;
4500 extract_sfmt_lds_mach_compact
:
4502 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4503 CGEN_INSN_INT insn
= entire_insn
;
4504 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4507 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4509 /* Record the fields for the semantic handler. */
4511 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4513 #if WITH_PROFILE_MODEL_P
4514 /* Record the fields for profiling. */
4515 if (PROFILE_MODEL_P (current_cpu
))
4524 extract_sfmt_ldsl_mach_compact
:
4526 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4527 CGEN_INSN_INT insn
= entire_insn
;
4528 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4531 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4533 /* Record the fields for the semantic handler. */
4535 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4537 #if WITH_PROFILE_MODEL_P
4538 /* Record the fields for profiling. */
4539 if (PROFILE_MODEL_P (current_cpu
))
4542 FLD (out_rn
) = f_rn
;
4549 extract_sfmt_lds_macl_compact
:
4551 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4552 CGEN_INSN_INT insn
= entire_insn
;
4553 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4556 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4558 /* Record the fields for the semantic handler. */
4560 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4562 #if WITH_PROFILE_MODEL_P
4563 /* Record the fields for profiling. */
4564 if (PROFILE_MODEL_P (current_cpu
))
4573 extract_sfmt_ldsl_macl_compact
:
4575 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4576 CGEN_INSN_INT insn
= entire_insn
;
4577 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4580 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4582 /* Record the fields for the semantic handler. */
4584 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4586 #if WITH_PROFILE_MODEL_P
4587 /* Record the fields for profiling. */
4588 if (PROFILE_MODEL_P (current_cpu
))
4591 FLD (out_rn
) = f_rn
;
4598 extract_sfmt_lds_pr_compact
:
4600 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4601 CGEN_INSN_INT insn
= entire_insn
;
4602 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4605 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4607 /* Record the fields for the semantic handler. */
4609 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4611 #if WITH_PROFILE_MODEL_P
4612 /* Record the fields for profiling. */
4613 if (PROFILE_MODEL_P (current_cpu
))
4622 extract_sfmt_ldsl_pr_compact
:
4624 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4625 CGEN_INSN_INT insn
= entire_insn
;
4626 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
4629 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4631 /* Record the fields for the semantic handler. */
4633 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4635 #if WITH_PROFILE_MODEL_P
4636 /* Record the fields for profiling. */
4637 if (PROFILE_MODEL_P (current_cpu
))
4640 FLD (out_rn
) = f_rn
;
4647 extract_sfmt_macl_compact
:
4649 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4650 CGEN_INSN_INT insn
= entire_insn
;
4651 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4655 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4656 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4658 /* Record the fields for the semantic handler. */
4661 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4663 #if WITH_PROFILE_MODEL_P
4664 /* Record the fields for profiling. */
4665 if (PROFILE_MODEL_P (current_cpu
))
4669 FLD (out_rm
) = f_rm
;
4670 FLD (out_rn
) = f_rn
;
4677 extract_sfmt_macw_compact
:
4679 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4680 CGEN_INSN_INT insn
= entire_insn
;
4681 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4685 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4686 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4688 /* Record the fields for the semantic handler. */
4691 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4693 #if WITH_PROFILE_MODEL_P
4694 /* Record the fields for profiling. */
4695 if (PROFILE_MODEL_P (current_cpu
))
4699 FLD (out_rm
) = f_rm
;
4700 FLD (out_rn
) = f_rn
;
4707 extract_sfmt_mov_compact
:
4709 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4710 CGEN_INSN_INT insn
= entire_insn
;
4711 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4715 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4716 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4718 /* Record the fields for the semantic handler. */
4721 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4723 #if WITH_PROFILE_MODEL_P
4724 /* Record the fields for profiling. */
4725 if (PROFILE_MODEL_P (current_cpu
))
4727 FLD (in_rm64
) = f_rm
;
4728 FLD (out_rn64
) = f_rn
;
4735 extract_sfmt_movi_compact
:
4737 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4738 CGEN_INSN_INT insn
= entire_insn
;
4739 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4743 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4744 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
4746 /* Record the fields for the semantic handler. */
4747 FLD (f_imm8
) = f_imm8
;
4749 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4751 #if WITH_PROFILE_MODEL_P
4752 /* Record the fields for profiling. */
4753 if (PROFILE_MODEL_P (current_cpu
))
4755 FLD (out_rn
) = f_rn
;
4762 extract_sfmt_movi20_compact
:
4764 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4765 CGEN_INSN_INT insn
= entire_insn
;
4766 #define FLD(f) abuf->fields.sfmt_movi20_compact.f
4772 f_rn
= EXTRACT_MSB0_UINT (insn
, 32, 4, 4);
4773 f_imm20_hi
= EXTRACT_MSB0_INT (insn
, 32, 8, 4);
4774 f_imm20_lo
= EXTRACT_MSB0_UINT (insn
, 32, 16, 16);
4775 f_imm20
= ((((f_imm20_hi
) << (16))) | (f_imm20_lo
));
4777 /* Record the fields for the semantic handler. */
4778 FLD (f_imm20
) = f_imm20
;
4780 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movi20_compact", "f_imm20 0x%x", 'x', f_imm20
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4782 #if WITH_PROFILE_MODEL_P
4783 /* Record the fields for profiling. */
4784 if (PROFILE_MODEL_P (current_cpu
))
4786 FLD (out_rn
) = f_rn
;
4793 extract_sfmt_movb1_compact
:
4795 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4796 CGEN_INSN_INT insn
= entire_insn
;
4797 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4801 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4802 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4804 /* Record the fields for the semantic handler. */
4807 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4809 #if WITH_PROFILE_MODEL_P
4810 /* Record the fields for profiling. */
4811 if (PROFILE_MODEL_P (current_cpu
))
4821 extract_sfmt_movb2_compact
:
4823 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4824 CGEN_INSN_INT insn
= entire_insn
;
4825 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4829 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4830 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4832 /* Record the fields for the semantic handler. */
4835 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4837 #if WITH_PROFILE_MODEL_P
4838 /* Record the fields for profiling. */
4839 if (PROFILE_MODEL_P (current_cpu
))
4843 FLD (out_rn
) = f_rn
;
4850 extract_sfmt_movb3_compact
:
4852 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4853 CGEN_INSN_INT insn
= entire_insn
;
4854 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4858 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4859 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4861 /* Record the fields for the semantic handler. */
4864 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4866 #if WITH_PROFILE_MODEL_P
4867 /* Record the fields for profiling. */
4868 if (PROFILE_MODEL_P (current_cpu
))
4879 extract_sfmt_movb4_compact
:
4881 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4882 CGEN_INSN_INT insn
= entire_insn
;
4883 #define FLD(f) abuf->fields.sfmt_addi_compact.f
4886 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
4888 /* Record the fields for the semantic handler. */
4889 FLD (f_imm8
) = f_imm8
;
4890 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
4892 #if WITH_PROFILE_MODEL_P
4893 /* Record the fields for profiling. */
4894 if (PROFILE_MODEL_P (current_cpu
))
4903 extract_sfmt_movb5_compact
:
4905 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4906 CGEN_INSN_INT insn
= entire_insn
;
4907 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
4911 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4912 f_imm4
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
4914 /* Record the fields for the semantic handler. */
4915 FLD (f_imm4
) = f_imm4
;
4917 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4
, "f_rm 0x%x", 'x', f_rm
, (char *) 0));
4919 #if WITH_PROFILE_MODEL_P
4920 /* Record the fields for profiling. */
4921 if (PROFILE_MODEL_P (current_cpu
))
4931 extract_sfmt_movb6_compact
:
4933 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4934 CGEN_INSN_INT insn
= entire_insn
;
4935 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4939 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4940 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4942 /* Record the fields for the semantic handler. */
4945 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4947 #if WITH_PROFILE_MODEL_P
4948 /* Record the fields for profiling. */
4949 if (PROFILE_MODEL_P (current_cpu
))
4952 FLD (out_rn
) = f_rn
;
4959 extract_sfmt_movb7_compact
:
4961 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4962 CGEN_INSN_INT insn
= entire_insn
;
4963 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4967 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4968 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4970 /* Record the fields for the semantic handler. */
4973 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
4975 #if WITH_PROFILE_MODEL_P
4976 /* Record the fields for profiling. */
4977 if (PROFILE_MODEL_P (current_cpu
))
4980 FLD (out_rm
) = f_rm
;
4981 FLD (out_rn
) = f_rn
;
4988 extract_sfmt_movb8_compact
:
4990 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
4991 CGEN_INSN_INT insn
= entire_insn
;
4992 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
4996 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
4997 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
4999 /* Record the fields for the semantic handler. */
5002 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5004 #if WITH_PROFILE_MODEL_P
5005 /* Record the fields for profiling. */
5006 if (PROFILE_MODEL_P (current_cpu
))
5010 FLD (out_rn
) = f_rn
;
5017 extract_sfmt_movb9_compact
:
5019 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5020 CGEN_INSN_INT insn
= entire_insn
;
5021 #define FLD(f) abuf->fields.sfmt_addi_compact.f
5024 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
5026 /* Record the fields for the semantic handler. */
5027 FLD (f_imm8
) = f_imm8
;
5028 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
5030 #if WITH_PROFILE_MODEL_P
5031 /* Record the fields for profiling. */
5032 if (PROFILE_MODEL_P (current_cpu
))
5041 extract_sfmt_movb10_compact
:
5043 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5044 CGEN_INSN_INT insn
= entire_insn
;
5045 #define FLD(f) abuf->fields.sfmt_movb5_compact.f
5049 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5050 f_imm4
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
5052 /* Record the fields for the semantic handler. */
5053 FLD (f_imm4
) = f_imm4
;
5055 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4
, "f_rm 0x%x", 'x', f_rm
, (char *) 0));
5057 #if WITH_PROFILE_MODEL_P
5058 /* Record the fields for profiling. */
5059 if (PROFILE_MODEL_P (current_cpu
))
5069 extract_sfmt_movl1_compact
:
5071 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5072 CGEN_INSN_INT insn
= entire_insn
;
5073 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5077 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5078 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5080 /* Record the fields for the semantic handler. */
5083 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl1_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5085 #if WITH_PROFILE_MODEL_P
5086 /* Record the fields for profiling. */
5087 if (PROFILE_MODEL_P (current_cpu
))
5097 extract_sfmt_movl2_compact
:
5099 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5100 CGEN_INSN_INT insn
= entire_insn
;
5101 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5105 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5106 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5108 /* Record the fields for the semantic handler. */
5111 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl2_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5113 #if WITH_PROFILE_MODEL_P
5114 /* Record the fields for profiling. */
5115 if (PROFILE_MODEL_P (current_cpu
))
5119 FLD (out_rn
) = f_rn
;
5126 extract_sfmt_movl3_compact
:
5128 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5129 CGEN_INSN_INT insn
= entire_insn
;
5130 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5134 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5135 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5137 /* Record the fields for the semantic handler. */
5140 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl3_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5142 #if WITH_PROFILE_MODEL_P
5143 /* Record the fields for profiling. */
5144 if (PROFILE_MODEL_P (current_cpu
))
5155 extract_sfmt_movl4_compact
:
5157 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5158 CGEN_INSN_INT insn
= entire_insn
;
5159 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5162 f_imm8x4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
5164 /* Record the fields for the semantic handler. */
5165 FLD (f_imm8x4
) = f_imm8x4
;
5166 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4
, (char *) 0));
5168 #if WITH_PROFILE_MODEL_P
5169 /* Record the fields for profiling. */
5170 if (PROFILE_MODEL_P (current_cpu
))
5179 extract_sfmt_movl5_compact
:
5181 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5182 CGEN_INSN_INT insn
= entire_insn
;
5183 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5188 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5189 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5190 f_imm4x4
= ((EXTRACT_MSB0_UINT (insn
, 16, 12, 4)) << (2));
5192 /* Record the fields for the semantic handler. */
5193 FLD (f_imm4x4
) = f_imm4x4
;
5196 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4
, "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5198 #if WITH_PROFILE_MODEL_P
5199 /* Record the fields for profiling. */
5200 if (PROFILE_MODEL_P (current_cpu
))
5210 extract_sfmt_movl6_compact
:
5212 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5213 CGEN_INSN_INT insn
= entire_insn
;
5214 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5218 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5219 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5221 /* Record the fields for the semantic handler. */
5224 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl6_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5226 #if WITH_PROFILE_MODEL_P
5227 /* Record the fields for profiling. */
5228 if (PROFILE_MODEL_P (current_cpu
))
5231 FLD (out_rn
) = f_rn
;
5238 extract_sfmt_movl7_compact
:
5240 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5241 CGEN_INSN_INT insn
= entire_insn
;
5242 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5246 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5247 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5249 /* Record the fields for the semantic handler. */
5252 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5254 #if WITH_PROFILE_MODEL_P
5255 /* Record the fields for profiling. */
5256 if (PROFILE_MODEL_P (current_cpu
))
5260 FLD (out_rm
) = f_rm
;
5261 FLD (out_rn
) = f_rn
;
5268 extract_sfmt_movl8_compact
:
5270 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5271 CGEN_INSN_INT insn
= entire_insn
;
5272 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5276 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5277 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5279 /* Record the fields for the semantic handler. */
5282 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl8_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5284 #if WITH_PROFILE_MODEL_P
5285 /* Record the fields for profiling. */
5286 if (PROFILE_MODEL_P (current_cpu
))
5290 FLD (out_rn
) = f_rn
;
5297 extract_sfmt_movl9_compact
:
5299 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5300 CGEN_INSN_INT insn
= entire_insn
;
5301 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5304 f_imm8x4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
5306 /* Record the fields for the semantic handler. */
5307 FLD (f_imm8x4
) = f_imm8x4
;
5308 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4
, (char *) 0));
5310 #if WITH_PROFILE_MODEL_P
5311 /* Record the fields for profiling. */
5312 if (PROFILE_MODEL_P (current_cpu
))
5321 extract_sfmt_movl10_compact
:
5323 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5324 CGEN_INSN_INT insn
= entire_insn
;
5325 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5329 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5330 f_imm8x4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
5332 /* Record the fields for the semantic handler. */
5333 FLD (f_imm8x4
) = f_imm8x4
;
5335 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5337 #if WITH_PROFILE_MODEL_P
5338 /* Record the fields for profiling. */
5339 if (PROFILE_MODEL_P (current_cpu
))
5341 FLD (out_rn
) = f_rn
;
5348 extract_sfmt_movl11_compact
:
5350 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5351 CGEN_INSN_INT insn
= entire_insn
;
5352 #define FLD(f) abuf->fields.sfmt_movl5_compact.f
5357 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5358 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5359 f_imm4x4
= ((EXTRACT_MSB0_UINT (insn
, 16, 12, 4)) << (2));
5361 /* Record the fields for the semantic handler. */
5362 FLD (f_imm4x4
) = f_imm4x4
;
5365 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4
, "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5367 #if WITH_PROFILE_MODEL_P
5368 /* Record the fields for profiling. */
5369 if (PROFILE_MODEL_P (current_cpu
))
5372 FLD (out_rn
) = f_rn
;
5379 extract_sfmt_movl12_compact
:
5381 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5382 CGEN_INSN_INT insn
= entire_insn
;
5383 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5388 f_rn
= EXTRACT_MSB0_UINT (insn
, 32, 4, 4);
5389 f_rm
= EXTRACT_MSB0_UINT (insn
, 32, 8, 4);
5390 f_imm12x4
= ((EXTRACT_MSB0_INT (insn
, 32, 20, 12)) << (2));
5392 /* Record the fields for the semantic handler. */
5393 FLD (f_imm12x4
) = f_imm12x4
;
5396 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl12_compact", "f_imm12x4 0x%x", 'x', f_imm12x4
, "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5398 #if WITH_PROFILE_MODEL_P
5399 /* Record the fields for profiling. */
5400 if (PROFILE_MODEL_P (current_cpu
))
5403 FLD (out_rn
) = f_rn
;
5410 extract_sfmt_movl13_compact
:
5412 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5413 CGEN_INSN_INT insn
= entire_insn
;
5414 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5419 f_rn
= EXTRACT_MSB0_UINT (insn
, 32, 4, 4);
5420 f_rm
= EXTRACT_MSB0_UINT (insn
, 32, 8, 4);
5421 f_imm12x4
= ((EXTRACT_MSB0_INT (insn
, 32, 20, 12)) << (2));
5423 /* Record the fields for the semantic handler. */
5424 FLD (f_imm12x4
) = f_imm12x4
;
5427 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl13_compact", "f_imm12x4 0x%x", 'x', f_imm12x4
, "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5429 #if WITH_PROFILE_MODEL_P
5430 /* Record the fields for profiling. */
5431 if (PROFILE_MODEL_P (current_cpu
))
5441 extract_sfmt_movw1_compact
:
5443 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5444 CGEN_INSN_INT insn
= entire_insn
;
5445 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5449 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5450 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5452 /* Record the fields for the semantic handler. */
5455 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw1_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5457 #if WITH_PROFILE_MODEL_P
5458 /* Record the fields for profiling. */
5459 if (PROFILE_MODEL_P (current_cpu
))
5469 extract_sfmt_movw2_compact
:
5471 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5472 CGEN_INSN_INT insn
= entire_insn
;
5473 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5477 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5478 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5480 /* Record the fields for the semantic handler. */
5483 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw2_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5485 #if WITH_PROFILE_MODEL_P
5486 /* Record the fields for profiling. */
5487 if (PROFILE_MODEL_P (current_cpu
))
5491 FLD (out_rn
) = f_rn
;
5498 extract_sfmt_movw3_compact
:
5500 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5501 CGEN_INSN_INT insn
= entire_insn
;
5502 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5506 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5507 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5509 /* Record the fields for the semantic handler. */
5512 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw3_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5514 #if WITH_PROFILE_MODEL_P
5515 /* Record the fields for profiling. */
5516 if (PROFILE_MODEL_P (current_cpu
))
5527 extract_sfmt_movw4_compact
:
5529 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5530 CGEN_INSN_INT insn
= entire_insn
;
5531 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5534 f_imm8x2
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
5536 /* Record the fields for the semantic handler. */
5537 FLD (f_imm8x2
) = f_imm8x2
;
5538 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2
, (char *) 0));
5540 #if WITH_PROFILE_MODEL_P
5541 /* Record the fields for profiling. */
5542 if (PROFILE_MODEL_P (current_cpu
))
5551 extract_sfmt_movw5_compact
:
5553 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5554 CGEN_INSN_INT insn
= entire_insn
;
5555 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5559 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5560 f_imm4x2
= ((EXTRACT_MSB0_UINT (insn
, 16, 12, 4)) << (1));
5562 /* Record the fields for the semantic handler. */
5563 FLD (f_imm4x2
) = f_imm4x2
;
5565 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2
, "f_rm 0x%x", 'x', f_rm
, (char *) 0));
5567 #if WITH_PROFILE_MODEL_P
5568 /* Record the fields for profiling. */
5569 if (PROFILE_MODEL_P (current_cpu
))
5579 extract_sfmt_movw6_compact
:
5581 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5582 CGEN_INSN_INT insn
= entire_insn
;
5583 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5587 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5588 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5590 /* Record the fields for the semantic handler. */
5593 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw6_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5595 #if WITH_PROFILE_MODEL_P
5596 /* Record the fields for profiling. */
5597 if (PROFILE_MODEL_P (current_cpu
))
5600 FLD (out_rn
) = f_rn
;
5607 extract_sfmt_movw7_compact
:
5609 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5610 CGEN_INSN_INT insn
= entire_insn
;
5611 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5615 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5616 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5618 /* Record the fields for the semantic handler. */
5621 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw7_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5623 #if WITH_PROFILE_MODEL_P
5624 /* Record the fields for profiling. */
5625 if (PROFILE_MODEL_P (current_cpu
))
5628 FLD (out_rm
) = f_rm
;
5629 FLD (out_rn
) = f_rn
;
5636 extract_sfmt_movw8_compact
:
5638 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5639 CGEN_INSN_INT insn
= entire_insn
;
5640 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5644 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5645 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5647 /* Record the fields for the semantic handler. */
5650 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw8_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5652 #if WITH_PROFILE_MODEL_P
5653 /* Record the fields for profiling. */
5654 if (PROFILE_MODEL_P (current_cpu
))
5658 FLD (out_rn
) = f_rn
;
5665 extract_sfmt_movw9_compact
:
5667 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5668 CGEN_INSN_INT insn
= entire_insn
;
5669 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5672 f_imm8x2
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
5674 /* Record the fields for the semantic handler. */
5675 FLD (f_imm8x2
) = f_imm8x2
;
5676 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2
, (char *) 0));
5678 #if WITH_PROFILE_MODEL_P
5679 /* Record the fields for profiling. */
5680 if (PROFILE_MODEL_P (current_cpu
))
5689 extract_sfmt_movw10_compact
:
5691 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5692 CGEN_INSN_INT insn
= entire_insn
;
5693 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5697 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5698 f_imm8x2
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
5700 /* Record the fields for the semantic handler. */
5701 FLD (f_imm8x2
) = f_imm8x2
;
5703 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5705 #if WITH_PROFILE_MODEL_P
5706 /* Record the fields for profiling. */
5707 if (PROFILE_MODEL_P (current_cpu
))
5709 FLD (out_rn
) = f_rn
;
5716 extract_sfmt_movw11_compact
:
5718 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5719 CGEN_INSN_INT insn
= entire_insn
;
5720 #define FLD(f) abuf->fields.sfmt_movw5_compact.f
5724 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5725 f_imm4x2
= ((EXTRACT_MSB0_UINT (insn
, 16, 12, 4)) << (1));
5727 /* Record the fields for the semantic handler. */
5728 FLD (f_imm4x2
) = f_imm4x2
;
5730 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2
, "f_rm 0x%x", 'x', f_rm
, (char *) 0));
5732 #if WITH_PROFILE_MODEL_P
5733 /* Record the fields for profiling. */
5734 if (PROFILE_MODEL_P (current_cpu
))
5744 extract_sfmt_mova_compact
:
5746 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5747 CGEN_INSN_INT insn
= entire_insn
;
5748 #define FLD(f) abuf->fields.sfmt_movl10_compact.f
5751 f_imm8x4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
5753 /* Record the fields for the semantic handler. */
5754 FLD (f_imm8x4
) = f_imm8x4
;
5755 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4
, (char *) 0));
5757 #if WITH_PROFILE_MODEL_P
5758 /* Record the fields for profiling. */
5759 if (PROFILE_MODEL_P (current_cpu
))
5768 extract_sfmt_movcal_compact
:
5770 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5771 CGEN_INSN_INT insn
= entire_insn
;
5772 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5775 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5777 /* Record the fields for the semantic handler. */
5779 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5781 #if WITH_PROFILE_MODEL_P
5782 /* Record the fields for profiling. */
5783 if (PROFILE_MODEL_P (current_cpu
))
5793 extract_sfmt_movcol_compact
:
5795 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5796 CGEN_INSN_INT insn
= entire_insn
;
5797 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5800 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5802 /* Record the fields for the semantic handler. */
5804 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movcol_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5806 #if WITH_PROFILE_MODEL_P
5807 /* Record the fields for profiling. */
5808 if (PROFILE_MODEL_P (current_cpu
))
5811 FLD (out_rn
) = f_rn
;
5818 extract_sfmt_movt_compact
:
5820 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5821 CGEN_INSN_INT insn
= entire_insn
;
5822 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5825 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5827 /* Record the fields for the semantic handler. */
5829 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5831 #if WITH_PROFILE_MODEL_P
5832 /* Record the fields for profiling. */
5833 if (PROFILE_MODEL_P (current_cpu
))
5835 FLD (out_rn
) = f_rn
;
5842 extract_sfmt_movual_compact
:
5844 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5845 CGEN_INSN_INT insn
= entire_insn
;
5846 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5849 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5851 /* Record the fields for the semantic handler. */
5853 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movual_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5855 #if WITH_PROFILE_MODEL_P
5856 /* Record the fields for profiling. */
5857 if (PROFILE_MODEL_P (current_cpu
))
5867 extract_sfmt_movual2_compact
:
5869 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5870 CGEN_INSN_INT insn
= entire_insn
;
5871 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5874 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5876 /* Record the fields for the semantic handler. */
5878 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movual2_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5880 #if WITH_PROFILE_MODEL_P
5881 /* Record the fields for profiling. */
5882 if (PROFILE_MODEL_P (current_cpu
))
5886 FLD (out_rn
) = f_rn
;
5893 extract_sfmt_mull_compact
:
5895 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5896 CGEN_INSN_INT insn
= entire_insn
;
5897 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5901 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5902 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5904 /* Record the fields for the semantic handler. */
5907 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5909 #if WITH_PROFILE_MODEL_P
5910 /* Record the fields for profiling. */
5911 if (PROFILE_MODEL_P (current_cpu
))
5921 extract_sfmt_negc_compact
:
5923 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5924 CGEN_INSN_INT insn
= entire_insn
;
5925 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
5929 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5930 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
5932 /* Record the fields for the semantic handler. */
5935 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5937 #if WITH_PROFILE_MODEL_P
5938 /* Record the fields for profiling. */
5939 if (PROFILE_MODEL_P (current_cpu
))
5942 FLD (out_rn
) = f_rn
;
5949 extract_sfmt_nop_compact
:
5951 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5952 #define FLD(f) abuf->fields.fmt_empty.f
5955 /* Record the fields for the semantic handler. */
5956 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_nop_compact", (char *) 0));
5962 extract_sfmt_pref_compact
:
5964 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5965 CGEN_INSN_INT insn
= entire_insn
;
5966 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5969 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5971 /* Record the fields for the semantic handler. */
5973 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_pref_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5975 #if WITH_PROFILE_MODEL_P
5976 /* Record the fields for profiling. */
5977 if (PROFILE_MODEL_P (current_cpu
))
5986 extract_sfmt_rotcl_compact
:
5988 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
5989 CGEN_INSN_INT insn
= entire_insn
;
5990 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
5993 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
5995 /* Record the fields for the semantic handler. */
5997 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
5999 #if WITH_PROFILE_MODEL_P
6000 /* Record the fields for profiling. */
6001 if (PROFILE_MODEL_P (current_cpu
))
6004 FLD (out_rn
) = f_rn
;
6011 extract_sfmt_rts_compact
:
6013 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6014 #define FLD(f) abuf->fields.fmt_empty.f
6017 /* Record the fields for the semantic handler. */
6018 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_rts_compact", (char *) 0));
6020 #if WITH_PROFILE_MODEL_P
6021 /* Record the fields for profiling. */
6022 if (PROFILE_MODEL_P (current_cpu
))
6030 extract_sfmt_shad_compact
:
6032 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6033 CGEN_INSN_INT insn
= entire_insn
;
6034 #define FLD(f) abuf->fields.sfmt_movl12_compact.f
6038 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6039 f_rm
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
6041 /* Record the fields for the semantic handler. */
6044 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm
, "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6046 #if WITH_PROFILE_MODEL_P
6047 /* Record the fields for profiling. */
6048 if (PROFILE_MODEL_P (current_cpu
))
6052 FLD (out_rn
) = f_rn
;
6059 extract_sfmt_stc_gbr_compact
:
6061 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6062 CGEN_INSN_INT insn
= entire_insn
;
6063 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6066 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6068 /* Record the fields for the semantic handler. */
6070 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6072 #if WITH_PROFILE_MODEL_P
6073 /* Record the fields for profiling. */
6074 if (PROFILE_MODEL_P (current_cpu
))
6076 FLD (out_rn
) = f_rn
;
6083 extract_sfmt_stc_vbr_compact
:
6085 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6086 CGEN_INSN_INT insn
= entire_insn
;
6087 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6090 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6092 /* Record the fields for the semantic handler. */
6094 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stc_vbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6096 #if WITH_PROFILE_MODEL_P
6097 /* Record the fields for profiling. */
6098 if (PROFILE_MODEL_P (current_cpu
))
6100 FLD (out_rn
) = f_rn
;
6107 extract_sfmt_stcl_gbr_compact
:
6109 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6110 CGEN_INSN_INT insn
= entire_insn
;
6111 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6114 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6116 /* Record the fields for the semantic handler. */
6118 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6120 #if WITH_PROFILE_MODEL_P
6121 /* Record the fields for profiling. */
6122 if (PROFILE_MODEL_P (current_cpu
))
6125 FLD (out_rn
) = f_rn
;
6132 extract_sfmt_stcl_vbr_compact
:
6134 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6135 CGEN_INSN_INT insn
= entire_insn
;
6136 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6139 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6141 /* Record the fields for the semantic handler. */
6143 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stcl_vbr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6145 #if WITH_PROFILE_MODEL_P
6146 /* Record the fields for profiling. */
6147 if (PROFILE_MODEL_P (current_cpu
))
6150 FLD (out_rn
) = f_rn
;
6157 extract_sfmt_sts_fpscr_compact
:
6159 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6160 CGEN_INSN_INT insn
= entire_insn
;
6161 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6164 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6166 /* Record the fields for the semantic handler. */
6168 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6170 #if WITH_PROFILE_MODEL_P
6171 /* Record the fields for profiling. */
6172 if (PROFILE_MODEL_P (current_cpu
))
6174 FLD (out_rn
) = f_rn
;
6181 extract_sfmt_stsl_fpscr_compact
:
6183 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6184 CGEN_INSN_INT insn
= entire_insn
;
6185 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6188 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6190 /* Record the fields for the semantic handler. */
6192 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6194 #if WITH_PROFILE_MODEL_P
6195 /* Record the fields for profiling. */
6196 if (PROFILE_MODEL_P (current_cpu
))
6199 FLD (out_rn
) = f_rn
;
6206 extract_sfmt_sts_fpul_compact
:
6208 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6209 CGEN_INSN_INT insn
= entire_insn
;
6210 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6213 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6215 /* Record the fields for the semantic handler. */
6217 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6219 #if WITH_PROFILE_MODEL_P
6220 /* Record the fields for profiling. */
6221 if (PROFILE_MODEL_P (current_cpu
))
6224 FLD (out_rn
) = f_rn
;
6231 extract_sfmt_stsl_fpul_compact
:
6233 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6234 CGEN_INSN_INT insn
= entire_insn
;
6235 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6238 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6240 /* Record the fields for the semantic handler. */
6242 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6244 #if WITH_PROFILE_MODEL_P
6245 /* Record the fields for profiling. */
6246 if (PROFILE_MODEL_P (current_cpu
))
6250 FLD (out_rn
) = f_rn
;
6257 extract_sfmt_sts_mach_compact
:
6259 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6260 CGEN_INSN_INT insn
= entire_insn
;
6261 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6264 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6266 /* Record the fields for the semantic handler. */
6268 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6270 #if WITH_PROFILE_MODEL_P
6271 /* Record the fields for profiling. */
6272 if (PROFILE_MODEL_P (current_cpu
))
6274 FLD (out_rn
) = f_rn
;
6281 extract_sfmt_stsl_mach_compact
:
6283 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6284 CGEN_INSN_INT insn
= entire_insn
;
6285 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6288 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6290 /* Record the fields for the semantic handler. */
6292 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6294 #if WITH_PROFILE_MODEL_P
6295 /* Record the fields for profiling. */
6296 if (PROFILE_MODEL_P (current_cpu
))
6299 FLD (out_rn
) = f_rn
;
6306 extract_sfmt_sts_macl_compact
:
6308 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6309 CGEN_INSN_INT insn
= entire_insn
;
6310 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6313 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6315 /* Record the fields for the semantic handler. */
6317 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6319 #if WITH_PROFILE_MODEL_P
6320 /* Record the fields for profiling. */
6321 if (PROFILE_MODEL_P (current_cpu
))
6323 FLD (out_rn
) = f_rn
;
6330 extract_sfmt_stsl_macl_compact
:
6332 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6333 CGEN_INSN_INT insn
= entire_insn
;
6334 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6337 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6339 /* Record the fields for the semantic handler. */
6341 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6343 #if WITH_PROFILE_MODEL_P
6344 /* Record the fields for profiling. */
6345 if (PROFILE_MODEL_P (current_cpu
))
6348 FLD (out_rn
) = f_rn
;
6355 extract_sfmt_sts_pr_compact
:
6357 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6358 CGEN_INSN_INT insn
= entire_insn
;
6359 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6362 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6364 /* Record the fields for the semantic handler. */
6366 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6368 #if WITH_PROFILE_MODEL_P
6369 /* Record the fields for profiling. */
6370 if (PROFILE_MODEL_P (current_cpu
))
6372 FLD (out_rn
) = f_rn
;
6379 extract_sfmt_stsl_pr_compact
:
6381 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6382 CGEN_INSN_INT insn
= entire_insn
;
6383 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6386 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6388 /* Record the fields for the semantic handler. */
6390 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6392 #if WITH_PROFILE_MODEL_P
6393 /* Record the fields for profiling. */
6394 if (PROFILE_MODEL_P (current_cpu
))
6397 FLD (out_rn
) = f_rn
;
6404 extract_sfmt_tasb_compact
:
6406 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6407 CGEN_INSN_INT insn
= entire_insn
;
6408 #define FLD(f) abuf->fields.sfmt_movw10_compact.f
6411 f_rn
= EXTRACT_MSB0_UINT (insn
, 16, 4, 4);
6413 /* Record the fields for the semantic handler. */
6415 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn
, (char *) 0));
6417 #if WITH_PROFILE_MODEL_P
6418 /* Record the fields for profiling. */
6419 if (PROFILE_MODEL_P (current_cpu
))
6428 extract_sfmt_trapa_compact
:
6430 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6431 CGEN_INSN_INT insn
= entire_insn
;
6432 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6435 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
6437 /* Record the fields for the semantic handler. */
6438 FLD (f_imm8
) = f_imm8
;
6439 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
6441 #if WITH_PROFILE_MODEL_P
6442 /* Record the fields for profiling. */
6443 if (PROFILE_MODEL_P (current_cpu
))
6451 extract_sfmt_tsti_compact
:
6453 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6454 CGEN_INSN_INT insn
= entire_insn
;
6455 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6458 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
6460 /* Record the fields for the semantic handler. */
6461 FLD (f_imm8
) = f_imm8
;
6462 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
6464 #if WITH_PROFILE_MODEL_P
6465 /* Record the fields for profiling. */
6466 if (PROFILE_MODEL_P (current_cpu
))
6475 extract_sfmt_tstb_compact
:
6477 const IDESC
*idesc
= &sh64_compact_insn_data
[itype
];
6478 CGEN_INSN_INT insn
= entire_insn
;
6479 #define FLD(f) abuf->fields.sfmt_addi_compact.f
6482 f_imm8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
6484 /* Record the fields for the semantic handler. */
6485 FLD (f_imm8
) = f_imm8
;
6486 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8
, (char *) 0));
6488 #if WITH_PROFILE_MODEL_P
6489 /* Record the fields for profiling. */
6490 if (PROFILE_MODEL_P (current_cpu
))