1 /* Simulator instruction decoder for fr30bf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
7 This file is part of the GNU Simulators.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 #define WANT_CPU fr30bf
26 #define WANT_CPU_FR30BF
29 #include "sim-assert.h"
31 /* The instruction descriptor array.
32 This is computed at runtime. Space for it is not malloc'd to save a
33 teensy bit of cpu in the decoder. Moving it to malloc space is trivial
34 but won't be done until necessary (we don't currently support the runtime
35 addition of instructions nor an SMP machine with different cpus). */
36 static IDESC fr30bf_insn_data[FR30BF_INSN_MAX];
38 /* Commas between elements are contained in the macros.
39 Some of these are conditionally compiled out. */
41 static const struct insn_sem fr30bf_insn_sem[] =
43 { VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY },
44 { VIRTUAL_INSN_X_AFTER, FR30BF_INSN_X_AFTER, FR30BF_SFMT_EMPTY },
45 { VIRTUAL_INSN_X_BEFORE, FR30BF_INSN_X_BEFORE, FR30BF_SFMT_EMPTY },
46 { VIRTUAL_INSN_X_CTI_CHAIN, FR30BF_INSN_X_CTI_CHAIN, FR30BF_SFMT_EMPTY },
47 { VIRTUAL_INSN_X_CHAIN, FR30BF_INSN_X_CHAIN, FR30BF_SFMT_EMPTY },
48 { VIRTUAL_INSN_X_BEGIN, FR30BF_INSN_X_BEGIN, FR30BF_SFMT_EMPTY },
49 { FR30_INSN_ADD, FR30BF_INSN_ADD, FR30BF_SFMT_ADD },
50 { FR30_INSN_ADDI, FR30BF_INSN_ADDI, FR30BF_SFMT_ADDI },
51 { FR30_INSN_ADD2, FR30BF_INSN_ADD2, FR30BF_SFMT_ADD2 },
52 { FR30_INSN_ADDC, FR30BF_INSN_ADDC, FR30BF_SFMT_ADDC },
53 { FR30_INSN_ADDN, FR30BF_INSN_ADDN, FR30BF_SFMT_ADDN },
54 { FR30_INSN_ADDNI, FR30BF_INSN_ADDNI, FR30BF_SFMT_ADDNI },
55 { FR30_INSN_ADDN2, FR30BF_INSN_ADDN2, FR30BF_SFMT_ADDN2 },
56 { FR30_INSN_SUB, FR30BF_INSN_SUB, FR30BF_SFMT_ADD },
57 { FR30_INSN_SUBC, FR30BF_INSN_SUBC, FR30BF_SFMT_ADDC },
58 { FR30_INSN_SUBN, FR30BF_INSN_SUBN, FR30BF_SFMT_ADDN },
59 { FR30_INSN_CMP, FR30BF_INSN_CMP, FR30BF_SFMT_CMP },
60 { FR30_INSN_CMPI, FR30BF_INSN_CMPI, FR30BF_SFMT_CMPI },
61 { FR30_INSN_CMP2, FR30BF_INSN_CMP2, FR30BF_SFMT_CMP2 },
62 { FR30_INSN_AND, FR30BF_INSN_AND, FR30BF_SFMT_AND },
63 { FR30_INSN_OR, FR30BF_INSN_OR, FR30BF_SFMT_AND },
64 { FR30_INSN_EOR, FR30BF_INSN_EOR, FR30BF_SFMT_AND },
65 { FR30_INSN_ANDM, FR30BF_INSN_ANDM, FR30BF_SFMT_ANDM },
66 { FR30_INSN_ANDH, FR30BF_INSN_ANDH, FR30BF_SFMT_ANDH },
67 { FR30_INSN_ANDB, FR30BF_INSN_ANDB, FR30BF_SFMT_ANDB },
68 { FR30_INSN_ORM, FR30BF_INSN_ORM, FR30BF_SFMT_ANDM },
69 { FR30_INSN_ORH, FR30BF_INSN_ORH, FR30BF_SFMT_ANDH },
70 { FR30_INSN_ORB, FR30BF_INSN_ORB, FR30BF_SFMT_ANDB },
71 { FR30_INSN_EORM, FR30BF_INSN_EORM, FR30BF_SFMT_ANDM },
72 { FR30_INSN_EORH, FR30BF_INSN_EORH, FR30BF_SFMT_ANDH },
73 { FR30_INSN_EORB, FR30BF_INSN_EORB, FR30BF_SFMT_ANDB },
74 { FR30_INSN_BANDL, FR30BF_INSN_BANDL, FR30BF_SFMT_BANDL },
75 { FR30_INSN_BORL, FR30BF_INSN_BORL, FR30BF_SFMT_BANDL },
76 { FR30_INSN_BEORL, FR30BF_INSN_BEORL, FR30BF_SFMT_BANDL },
77 { FR30_INSN_BANDH, FR30BF_INSN_BANDH, FR30BF_SFMT_BANDL },
78 { FR30_INSN_BORH, FR30BF_INSN_BORH, FR30BF_SFMT_BANDL },
79 { FR30_INSN_BEORH, FR30BF_INSN_BEORH, FR30BF_SFMT_BANDL },
80 { FR30_INSN_BTSTL, FR30BF_INSN_BTSTL, FR30BF_SFMT_BTSTL },
81 { FR30_INSN_BTSTH, FR30BF_INSN_BTSTH, FR30BF_SFMT_BTSTL },
82 { FR30_INSN_MUL, FR30BF_INSN_MUL, FR30BF_SFMT_MUL },
83 { FR30_INSN_MULU, FR30BF_INSN_MULU, FR30BF_SFMT_MULU },
84 { FR30_INSN_MULH, FR30BF_INSN_MULH, FR30BF_SFMT_MULH },
85 { FR30_INSN_MULUH, FR30BF_INSN_MULUH, FR30BF_SFMT_MULH },
86 { FR30_INSN_DIV0S, FR30BF_INSN_DIV0S, FR30BF_SFMT_DIV0S },
87 { FR30_INSN_DIV0U, FR30BF_INSN_DIV0U, FR30BF_SFMT_DIV0U },
88 { FR30_INSN_DIV1, FR30BF_INSN_DIV1, FR30BF_SFMT_DIV1 },
89 { FR30_INSN_DIV2, FR30BF_INSN_DIV2, FR30BF_SFMT_DIV2 },
90 { FR30_INSN_DIV3, FR30BF_INSN_DIV3, FR30BF_SFMT_DIV3 },
91 { FR30_INSN_DIV4S, FR30BF_INSN_DIV4S, FR30BF_SFMT_DIV4S },
92 { FR30_INSN_LSL, FR30BF_INSN_LSL, FR30BF_SFMT_LSL },
93 { FR30_INSN_LSLI, FR30BF_INSN_LSLI, FR30BF_SFMT_LSLI },
94 { FR30_INSN_LSL2, FR30BF_INSN_LSL2, FR30BF_SFMT_LSLI },
95 { FR30_INSN_LSR, FR30BF_INSN_LSR, FR30BF_SFMT_LSL },
96 { FR30_INSN_LSRI, FR30BF_INSN_LSRI, FR30BF_SFMT_LSLI },
97 { FR30_INSN_LSR2, FR30BF_INSN_LSR2, FR30BF_SFMT_LSLI },
98 { FR30_INSN_ASR, FR30BF_INSN_ASR, FR30BF_SFMT_LSL },
99 { FR30_INSN_ASRI, FR30BF_INSN_ASRI, FR30BF_SFMT_LSLI },
100 { FR30_INSN_ASR2, FR30BF_INSN_ASR2, FR30BF_SFMT_LSLI },
101 { FR30_INSN_LDI8, FR30BF_INSN_LDI8, FR30BF_SFMT_LDI8 },
102 { FR30_INSN_LDI20, FR30BF_INSN_LDI20, FR30BF_SFMT_LDI20 },
103 { FR30_INSN_LDI32, FR30BF_INSN_LDI32, FR30BF_SFMT_LDI32 },
104 { FR30_INSN_LD, FR30BF_INSN_LD, FR30BF_SFMT_LD },
105 { FR30_INSN_LDUH, FR30BF_INSN_LDUH, FR30BF_SFMT_LD },
106 { FR30_INSN_LDUB, FR30BF_INSN_LDUB, FR30BF_SFMT_LD },
107 { FR30_INSN_LDR13, FR30BF_INSN_LDR13, FR30BF_SFMT_LDR13 },
108 { FR30_INSN_LDR13UH, FR30BF_INSN_LDR13UH, FR30BF_SFMT_LDR13 },
109 { FR30_INSN_LDR13UB, FR30BF_INSN_LDR13UB, FR30BF_SFMT_LDR13 },
110 { FR30_INSN_LDR14, FR30BF_INSN_LDR14, FR30BF_SFMT_LDR14 },
111 { FR30_INSN_LDR14UH, FR30BF_INSN_LDR14UH, FR30BF_SFMT_LDR14UH },
112 { FR30_INSN_LDR14UB, FR30BF_INSN_LDR14UB, FR30BF_SFMT_LDR14UB },
113 { FR30_INSN_LDR15, FR30BF_INSN_LDR15, FR30BF_SFMT_LDR15 },
114 { FR30_INSN_LDR15GR, FR30BF_INSN_LDR15GR, FR30BF_SFMT_LDR15GR },
115 { FR30_INSN_LDR15DR, FR30BF_INSN_LDR15DR, FR30BF_SFMT_LDR15DR },
116 { FR30_INSN_LDR15PS, FR30BF_INSN_LDR15PS, FR30BF_SFMT_LDR15PS },
117 { FR30_INSN_ST, FR30BF_INSN_ST, FR30BF_SFMT_ST },
118 { FR30_INSN_STH, FR30BF_INSN_STH, FR30BF_SFMT_ST },
119 { FR30_INSN_STB, FR30BF_INSN_STB, FR30BF_SFMT_ST },
120 { FR30_INSN_STR13, FR30BF_INSN_STR13, FR30BF_SFMT_STR13 },
121 { FR30_INSN_STR13H, FR30BF_INSN_STR13H, FR30BF_SFMT_STR13 },
122 { FR30_INSN_STR13B, FR30BF_INSN_STR13B, FR30BF_SFMT_STR13 },
123 { FR30_INSN_STR14, FR30BF_INSN_STR14, FR30BF_SFMT_STR14 },
124 { FR30_INSN_STR14H, FR30BF_INSN_STR14H, FR30BF_SFMT_STR14H },
125 { FR30_INSN_STR14B, FR30BF_INSN_STR14B, FR30BF_SFMT_STR14B },
126 { FR30_INSN_STR15, FR30BF_INSN_STR15, FR30BF_SFMT_STR15 },
127 { FR30_INSN_STR15GR, FR30BF_INSN_STR15GR, FR30BF_SFMT_STR15GR },
128 { FR30_INSN_STR15DR, FR30BF_INSN_STR15DR, FR30BF_SFMT_STR15DR },
129 { FR30_INSN_STR15PS, FR30BF_INSN_STR15PS, FR30BF_SFMT_STR15PS },
130 { FR30_INSN_MOV, FR30BF_INSN_MOV, FR30BF_SFMT_MOV },
131 { FR30_INSN_MOVDR, FR30BF_INSN_MOVDR, FR30BF_SFMT_MOVDR },
132 { FR30_INSN_MOVPS, FR30BF_INSN_MOVPS, FR30BF_SFMT_MOVPS },
133 { FR30_INSN_MOV2DR, FR30BF_INSN_MOV2DR, FR30BF_SFMT_MOV2DR },
134 { FR30_INSN_MOV2PS, FR30BF_INSN_MOV2PS, FR30BF_SFMT_MOV2PS },
135 { FR30_INSN_JMP, FR30BF_INSN_JMP, FR30BF_SFMT_JMP },
136 { FR30_INSN_JMPD, FR30BF_INSN_JMPD, FR30BF_SFMT_JMP },
137 { FR30_INSN_CALLR, FR30BF_INSN_CALLR, FR30BF_SFMT_CALLR },
138 { FR30_INSN_CALLRD, FR30BF_INSN_CALLRD, FR30BF_SFMT_CALLR },
139 { FR30_INSN_CALL, FR30BF_INSN_CALL, FR30BF_SFMT_CALL },
140 { FR30_INSN_CALLD, FR30BF_INSN_CALLD, FR30BF_SFMT_CALL },
141 { FR30_INSN_RET, FR30BF_INSN_RET, FR30BF_SFMT_RET },
142 { FR30_INSN_RET_D, FR30BF_INSN_RET_D, FR30BF_SFMT_RET },
143 { FR30_INSN_INT, FR30BF_INSN_INT, FR30BF_SFMT_INT },
144 { FR30_INSN_INTE, FR30BF_INSN_INTE, FR30BF_SFMT_INTE },
145 { FR30_INSN_RETI, FR30BF_INSN_RETI, FR30BF_SFMT_RETI },
146 { FR30_INSN_BRAD, FR30BF_INSN_BRAD, FR30BF_SFMT_BRAD },
147 { FR30_INSN_BRA, FR30BF_INSN_BRA, FR30BF_SFMT_BRAD },
148 { FR30_INSN_BNOD, FR30BF_INSN_BNOD, FR30BF_SFMT_BNOD },
149 { FR30_INSN_BNO, FR30BF_INSN_BNO, FR30BF_SFMT_BNOD },
150 { FR30_INSN_BEQD, FR30BF_INSN_BEQD, FR30BF_SFMT_BEQD },
151 { FR30_INSN_BEQ, FR30BF_INSN_BEQ, FR30BF_SFMT_BEQD },
152 { FR30_INSN_BNED, FR30BF_INSN_BNED, FR30BF_SFMT_BEQD },
153 { FR30_INSN_BNE, FR30BF_INSN_BNE, FR30BF_SFMT_BEQD },
154 { FR30_INSN_BCD, FR30BF_INSN_BCD, FR30BF_SFMT_BCD },
155 { FR30_INSN_BC, FR30BF_INSN_BC, FR30BF_SFMT_BCD },
156 { FR30_INSN_BNCD, FR30BF_INSN_BNCD, FR30BF_SFMT_BCD },
157 { FR30_INSN_BNC, FR30BF_INSN_BNC, FR30BF_SFMT_BCD },
158 { FR30_INSN_BND, FR30BF_INSN_BND, FR30BF_SFMT_BND },
159 { FR30_INSN_BN, FR30BF_INSN_BN, FR30BF_SFMT_BND },
160 { FR30_INSN_BPD, FR30BF_INSN_BPD, FR30BF_SFMT_BND },
161 { FR30_INSN_BP, FR30BF_INSN_BP, FR30BF_SFMT_BND },
162 { FR30_INSN_BVD, FR30BF_INSN_BVD, FR30BF_SFMT_BVD },
163 { FR30_INSN_BV, FR30BF_INSN_BV, FR30BF_SFMT_BVD },
164 { FR30_INSN_BNVD, FR30BF_INSN_BNVD, FR30BF_SFMT_BVD },
165 { FR30_INSN_BNV, FR30BF_INSN_BNV, FR30BF_SFMT_BVD },
166 { FR30_INSN_BLTD, FR30BF_INSN_BLTD, FR30BF_SFMT_BLTD },
167 { FR30_INSN_BLT, FR30BF_INSN_BLT, FR30BF_SFMT_BLTD },
168 { FR30_INSN_BGED, FR30BF_INSN_BGED, FR30BF_SFMT_BLTD },
169 { FR30_INSN_BGE, FR30BF_INSN_BGE, FR30BF_SFMT_BLTD },
170 { FR30_INSN_BLED, FR30BF_INSN_BLED, FR30BF_SFMT_BLED },
171 { FR30_INSN_BLE, FR30BF_INSN_BLE, FR30BF_SFMT_BLED },
172 { FR30_INSN_BGTD, FR30BF_INSN_BGTD, FR30BF_SFMT_BLED },
173 { FR30_INSN_BGT, FR30BF_INSN_BGT, FR30BF_SFMT_BLED },
174 { FR30_INSN_BLSD, FR30BF_INSN_BLSD, FR30BF_SFMT_BLSD },
175 { FR30_INSN_BLS, FR30BF_INSN_BLS, FR30BF_SFMT_BLSD },
176 { FR30_INSN_BHID, FR30BF_INSN_BHID, FR30BF_SFMT_BLSD },
177 { FR30_INSN_BHI, FR30BF_INSN_BHI, FR30BF_SFMT_BLSD },
178 { FR30_INSN_DMOVR13, FR30BF_INSN_DMOVR13, FR30BF_SFMT_DMOVR13 },
179 { FR30_INSN_DMOVR13H, FR30BF_INSN_DMOVR13H, FR30BF_SFMT_DMOVR13H },
180 { FR30_INSN_DMOVR13B, FR30BF_INSN_DMOVR13B, FR30BF_SFMT_DMOVR13B },
181 { FR30_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PI, FR30BF_SFMT_DMOVR13PI },
182 { FR30_INSN_DMOVR13PIH, FR30BF_INSN_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIH },
183 { FR30_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR13PIB, FR30BF_SFMT_DMOVR13PIB },
184 { FR30_INSN_DMOVR15PI, FR30BF_INSN_DMOVR15PI, FR30BF_SFMT_DMOVR15PI },
185 { FR30_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13, FR30BF_SFMT_DMOV2R13 },
186 { FR30_INSN_DMOV2R13H, FR30BF_INSN_DMOV2R13H, FR30BF_SFMT_DMOV2R13H },
187 { FR30_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13B, FR30BF_SFMT_DMOV2R13B },
188 { FR30_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PI },
189 { FR30_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIH },
190 { FR30_INSN_DMOV2R13PIB, FR30BF_INSN_DMOV2R13PIB, FR30BF_SFMT_DMOV2R13PIB },
191 { FR30_INSN_DMOV2R15PD, FR30BF_INSN_DMOV2R15PD, FR30BF_SFMT_DMOV2R15PD },
192 { FR30_INSN_LDRES, FR30BF_INSN_LDRES, FR30BF_SFMT_LDRES },
193 { FR30_INSN_STRES, FR30BF_INSN_STRES, FR30BF_SFMT_LDRES },
194 { FR30_INSN_COPOP, FR30BF_INSN_COPOP, FR30BF_SFMT_COPOP },
195 { FR30_INSN_COPLD, FR30BF_INSN_COPLD, FR30BF_SFMT_COPOP },
196 { FR30_INSN_COPST, FR30BF_INSN_COPST, FR30BF_SFMT_COPOP },
197 { FR30_INSN_COPSV, FR30BF_INSN_COPSV, FR30BF_SFMT_COPOP },
198 { FR30_INSN_NOP, FR30BF_INSN_NOP, FR30BF_SFMT_BNOD },
199 { FR30_INSN_ANDCCR, FR30BF_INSN_ANDCCR, FR30BF_SFMT_ANDCCR },
200 { FR30_INSN_ORCCR, FR30BF_INSN_ORCCR, FR30BF_SFMT_ANDCCR },
201 { FR30_INSN_STILM, FR30BF_INSN_STILM, FR30BF_SFMT_STILM },
202 { FR30_INSN_ADDSP, FR30BF_INSN_ADDSP, FR30BF_SFMT_ADDSP },
203 { FR30_INSN_EXTSB, FR30BF_INSN_EXTSB, FR30BF_SFMT_EXTSB },
204 { FR30_INSN_EXTUB, FR30BF_INSN_EXTUB, FR30BF_SFMT_EXTUB },
205 { FR30_INSN_EXTSH, FR30BF_INSN_EXTSH, FR30BF_SFMT_EXTSH },
206 { FR30_INSN_EXTUH, FR30BF_INSN_EXTUH, FR30BF_SFMT_EXTUH },
207 { FR30_INSN_LDM0, FR30BF_INSN_LDM0, FR30BF_SFMT_LDM0 },
208 { FR30_INSN_LDM1, FR30BF_INSN_LDM1, FR30BF_SFMT_LDM1 },
209 { FR30_INSN_STM0, FR30BF_INSN_STM0, FR30BF_SFMT_STM0 },
210 { FR30_INSN_STM1, FR30BF_INSN_STM1, FR30BF_SFMT_STM1 },
211 { FR30_INSN_ENTER, FR30BF_INSN_ENTER, FR30BF_SFMT_ENTER },
212 { FR30_INSN_LEAVE, FR30BF_INSN_LEAVE, FR30BF_SFMT_LEAVE },
213 { FR30_INSN_XCHB, FR30BF_INSN_XCHB, FR30BF_SFMT_XCHB },
216 static const struct insn_sem fr30bf_insn_sem_invalid = {
217 VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY
220 /* Initialize an IDESC from the compile-time computable parts. */
223 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
225 const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
229 if ((int) t->type <= 0)
230 id->idata = & cgen_virtual_insn_table[- (int) t->type];
232 id->idata = & insn_table[t->type];
233 id->attrs = CGEN_INSN_ATTRS (id->idata);
234 /* Oh my god, a magic number. */
235 id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
237 #if WITH_PROFILE_MODEL_P
238 id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
240 SIM_DESC sd = CPU_STATE (cpu);
241 SIM_ASSERT (t->index == id->timing->num);
245 /* Semantic pointers are initialized elsewhere. */
248 /* Initialize the instruction descriptor table. */
251 fr30bf_init_idesc_table (SIM_CPU *cpu)
254 const struct insn_sem *t,*tend;
255 int tabsize = FR30BF_INSN_MAX;
256 IDESC *table = fr30bf_insn_data;
258 memset (table, 0, tabsize * sizeof (IDESC));
260 /* First set all entries to the `invalid insn'. */
261 t = & fr30bf_insn_sem_invalid;
262 for (id = table, tabend = table + tabsize; id < tabend; ++id)
263 init_idesc (cpu, id, t);
265 /* Now fill in the values for the chosen cpu. */
266 for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t);
269 init_idesc (cpu, & table[t->index], t);
272 /* Link the IDESC table into the cpu. */
273 CPU_IDESC (cpu) = table;
276 /* Given an instruction, return a pointer to its IDESC entry. */
279 fr30bf_decode (SIM_CPU *current_cpu, IADDR pc,
280 CGEN_INSN_INT base_insn,
283 /* Result of decoder. */
284 FR30BF_INSN_TYPE itype;
287 CGEN_INSN_INT insn = base_insn;
290 unsigned int val = (((insn >> 8) & (255 << 0)));
293 case 0 : itype = FR30BF_INSN_LDR13; goto extract_sfmt_ldr13;
294 case 1 : itype = FR30BF_INSN_LDR13UH; goto extract_sfmt_ldr13;
295 case 2 : itype = FR30BF_INSN_LDR13UB; goto extract_sfmt_ldr13;
296 case 3 : itype = FR30BF_INSN_LDR15; goto extract_sfmt_ldr15;
297 case 4 : itype = FR30BF_INSN_LD; goto extract_sfmt_ld;
298 case 5 : itype = FR30BF_INSN_LDUH; goto extract_sfmt_ld;
299 case 6 : itype = FR30BF_INSN_LDUB; goto extract_sfmt_ld;
302 unsigned int val = (((insn >> 4) & (15 << 0)));
305 case 0 : itype = FR30BF_INSN_LDR15GR; goto extract_sfmt_ldr15gr;
306 case 1 : itype = FR30BF_INSN_MOV2PS; goto extract_sfmt_mov2ps;
307 case 8 : itype = FR30BF_INSN_LDR15DR; goto extract_sfmt_ldr15dr;
308 case 9 : itype = FR30BF_INSN_LDR15PS; goto extract_sfmt_ldr15ps;
309 default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
312 case 8 : itype = FR30BF_INSN_DMOV2R13; goto extract_sfmt_dmov2r13;
313 case 9 : itype = FR30BF_INSN_DMOV2R13H; goto extract_sfmt_dmov2r13h;
314 case 10 : itype = FR30BF_INSN_DMOV2R13B; goto extract_sfmt_dmov2r13b;
315 case 11 : itype = FR30BF_INSN_DMOV2R15PD; goto extract_sfmt_dmov2r15pd;
316 case 12 : itype = FR30BF_INSN_DMOV2R13PI; goto extract_sfmt_dmov2r13pi;
317 case 13 : itype = FR30BF_INSN_DMOV2R13PIH; goto extract_sfmt_dmov2r13pih;
318 case 14 : itype = FR30BF_INSN_DMOV2R13PIB; goto extract_sfmt_dmov2r13pib;
319 case 15 : itype = FR30BF_INSN_ENTER; goto extract_sfmt_enter;
320 case 16 : itype = FR30BF_INSN_STR13; goto extract_sfmt_str13;
321 case 17 : itype = FR30BF_INSN_STR13H; goto extract_sfmt_str13;
322 case 18 : itype = FR30BF_INSN_STR13B; goto extract_sfmt_str13;
323 case 19 : itype = FR30BF_INSN_STR15; goto extract_sfmt_str15;
324 case 20 : itype = FR30BF_INSN_ST; goto extract_sfmt_st;
325 case 21 : itype = FR30BF_INSN_STH; goto extract_sfmt_st;
326 case 22 : itype = FR30BF_INSN_STB; goto extract_sfmt_st;
329 unsigned int val = (((insn >> 4) & (15 << 0)));
332 case 0 : itype = FR30BF_INSN_STR15GR; goto extract_sfmt_str15gr;
333 case 1 : itype = FR30BF_INSN_MOVPS; goto extract_sfmt_movps;
334 case 8 : itype = FR30BF_INSN_STR15DR; goto extract_sfmt_str15dr;
335 case 9 : itype = FR30BF_INSN_STR15PS; goto extract_sfmt_str15ps;
336 default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
339 case 24 : itype = FR30BF_INSN_DMOVR13; goto extract_sfmt_dmovr13;
340 case 25 : itype = FR30BF_INSN_DMOVR13H; goto extract_sfmt_dmovr13h;
341 case 26 : itype = FR30BF_INSN_DMOVR13B; goto extract_sfmt_dmovr13b;
342 case 27 : itype = FR30BF_INSN_DMOVR15PI; goto extract_sfmt_dmovr15pi;
343 case 28 : itype = FR30BF_INSN_DMOVR13PI; goto extract_sfmt_dmovr13pi;
344 case 29 : itype = FR30BF_INSN_DMOVR13PIH; goto extract_sfmt_dmovr13pih;
345 case 30 : itype = FR30BF_INSN_DMOVR13PIB; goto extract_sfmt_dmovr13pib;
346 case 31 : itype = FR30BF_INSN_INT; goto extract_sfmt_int;
347 case 32 : /* fall through */
348 case 33 : /* fall through */
349 case 34 : /* fall through */
350 case 35 : /* fall through */
351 case 36 : /* fall through */
352 case 37 : /* fall through */
353 case 38 : /* fall through */
354 case 39 : /* fall through */
355 case 40 : /* fall through */
356 case 41 : /* fall through */
357 case 42 : /* fall through */
358 case 43 : /* fall through */
359 case 44 : /* fall through */
360 case 45 : /* fall through */
361 case 46 : /* fall through */
362 case 47 : itype = FR30BF_INSN_LDR14; goto extract_sfmt_ldr14;
363 case 48 : /* fall through */
364 case 49 : /* fall through */
365 case 50 : /* fall through */
366 case 51 : /* fall through */
367 case 52 : /* fall through */
368 case 53 : /* fall through */
369 case 54 : /* fall through */
370 case 55 : /* fall through */
371 case 56 : /* fall through */
372 case 57 : /* fall through */
373 case 58 : /* fall through */
374 case 59 : /* fall through */
375 case 60 : /* fall through */
376 case 61 : /* fall through */
377 case 62 : /* fall through */
378 case 63 : itype = FR30BF_INSN_STR14; goto extract_sfmt_str14;
379 case 64 : /* fall through */
380 case 65 : /* fall through */
381 case 66 : /* fall through */
382 case 67 : /* fall through */
383 case 68 : /* fall through */
384 case 69 : /* fall through */
385 case 70 : /* fall through */
386 case 71 : /* fall through */
387 case 72 : /* fall through */
388 case 73 : /* fall through */
389 case 74 : /* fall through */
390 case 75 : /* fall through */
391 case 76 : /* fall through */
392 case 77 : /* fall through */
393 case 78 : /* fall through */
394 case 79 : itype = FR30BF_INSN_LDR14UH; goto extract_sfmt_ldr14uh;
395 case 80 : /* fall through */
396 case 81 : /* fall through */
397 case 82 : /* fall through */
398 case 83 : /* fall through */
399 case 84 : /* fall through */
400 case 85 : /* fall through */
401 case 86 : /* fall through */
402 case 87 : /* fall through */
403 case 88 : /* fall through */
404 case 89 : /* fall through */
405 case 90 : /* fall through */
406 case 91 : /* fall through */
407 case 92 : /* fall through */
408 case 93 : /* fall through */
409 case 94 : /* fall through */
410 case 95 : itype = FR30BF_INSN_STR14H; goto extract_sfmt_str14h;
411 case 96 : /* fall through */
412 case 97 : /* fall through */
413 case 98 : /* fall through */
414 case 99 : /* fall through */
415 case 100 : /* fall through */
416 case 101 : /* fall through */
417 case 102 : /* fall through */
418 case 103 : /* fall through */
419 case 104 : /* fall through */
420 case 105 : /* fall through */
421 case 106 : /* fall through */
422 case 107 : /* fall through */
423 case 108 : /* fall through */
424 case 109 : /* fall through */
425 case 110 : /* fall through */
426 case 111 : itype = FR30BF_INSN_LDR14UB; goto extract_sfmt_ldr14ub;
427 case 112 : /* fall through */
428 case 113 : /* fall through */
429 case 114 : /* fall through */
430 case 115 : /* fall through */
431 case 116 : /* fall through */
432 case 117 : /* fall through */
433 case 118 : /* fall through */
434 case 119 : /* fall through */
435 case 120 : /* fall through */
436 case 121 : /* fall through */
437 case 122 : /* fall through */
438 case 123 : /* fall through */
439 case 124 : /* fall through */
440 case 125 : /* fall through */
441 case 126 : /* fall through */
442 case 127 : itype = FR30BF_INSN_STR14B; goto extract_sfmt_str14b;
443 case 128 : itype = FR30BF_INSN_BANDL; goto extract_sfmt_bandl;
444 case 129 : itype = FR30BF_INSN_BANDH; goto extract_sfmt_bandl;
445 case 130 : itype = FR30BF_INSN_AND; goto extract_sfmt_and;
446 case 131 : itype = FR30BF_INSN_ANDCCR; goto extract_sfmt_andccr;
447 case 132 : itype = FR30BF_INSN_ANDM; goto extract_sfmt_andm;
448 case 133 : itype = FR30BF_INSN_ANDH; goto extract_sfmt_andh;
449 case 134 : itype = FR30BF_INSN_ANDB; goto extract_sfmt_andb;
450 case 135 : itype = FR30BF_INSN_STILM; goto extract_sfmt_stilm;
451 case 136 : itype = FR30BF_INSN_BTSTL; goto extract_sfmt_btstl;
452 case 137 : itype = FR30BF_INSN_BTSTH; goto extract_sfmt_btstl;
453 case 138 : itype = FR30BF_INSN_XCHB; goto extract_sfmt_xchb;
454 case 139 : itype = FR30BF_INSN_MOV; goto extract_sfmt_mov;
455 case 140 : itype = FR30BF_INSN_LDM0; goto extract_sfmt_ldm0;
456 case 141 : itype = FR30BF_INSN_LDM1; goto extract_sfmt_ldm1;
457 case 142 : itype = FR30BF_INSN_STM0; goto extract_sfmt_stm0;
458 case 143 : itype = FR30BF_INSN_STM1; goto extract_sfmt_stm1;
459 case 144 : itype = FR30BF_INSN_BORL; goto extract_sfmt_bandl;
460 case 145 : itype = FR30BF_INSN_BORH; goto extract_sfmt_bandl;
461 case 146 : itype = FR30BF_INSN_OR; goto extract_sfmt_and;
462 case 147 : itype = FR30BF_INSN_ORCCR; goto extract_sfmt_andccr;
463 case 148 : itype = FR30BF_INSN_ORM; goto extract_sfmt_andm;
464 case 149 : itype = FR30BF_INSN_ORH; goto extract_sfmt_andh;
465 case 150 : itype = FR30BF_INSN_ORB; goto extract_sfmt_andb;
468 unsigned int val = (((insn >> 4) & (15 << 0)));
471 case 0 : itype = FR30BF_INSN_JMP; goto extract_sfmt_jmp;
472 case 1 : itype = FR30BF_INSN_CALLR; goto extract_sfmt_callr;
473 case 2 : itype = FR30BF_INSN_RET; goto extract_sfmt_ret;
474 case 3 : itype = FR30BF_INSN_RETI; goto extract_sfmt_reti;
475 case 4 : itype = FR30BF_INSN_DIV0S; goto extract_sfmt_div0s;
476 case 5 : itype = FR30BF_INSN_DIV0U; goto extract_sfmt_div0u;
477 case 6 : itype = FR30BF_INSN_DIV1; goto extract_sfmt_div1;
478 case 7 : itype = FR30BF_INSN_DIV2; goto extract_sfmt_div2;
479 case 8 : itype = FR30BF_INSN_EXTSB; goto extract_sfmt_extsb;
480 case 9 : itype = FR30BF_INSN_EXTUB; goto extract_sfmt_extub;
481 case 10 : itype = FR30BF_INSN_EXTSH; goto extract_sfmt_extsh;
482 case 11 : itype = FR30BF_INSN_EXTUH; goto extract_sfmt_extuh;
483 default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
486 case 152 : itype = FR30BF_INSN_BEORL; goto extract_sfmt_bandl;
487 case 153 : itype = FR30BF_INSN_BEORH; goto extract_sfmt_bandl;
488 case 154 : itype = FR30BF_INSN_EOR; goto extract_sfmt_and;
489 case 155 : itype = FR30BF_INSN_LDI20; goto extract_sfmt_ldi20;
490 case 156 : itype = FR30BF_INSN_EORM; goto extract_sfmt_andm;
491 case 157 : itype = FR30BF_INSN_EORH; goto extract_sfmt_andh;
492 case 158 : itype = FR30BF_INSN_EORB; goto extract_sfmt_andb;
495 unsigned int val = (((insn >> 4) & (15 << 0)));
498 case 0 : itype = FR30BF_INSN_JMPD; goto extract_sfmt_jmp;
499 case 1 : itype = FR30BF_INSN_CALLRD; goto extract_sfmt_callr;
500 case 2 : itype = FR30BF_INSN_RET_D; goto extract_sfmt_ret;
501 case 3 : itype = FR30BF_INSN_INTE; goto extract_sfmt_inte;
502 case 6 : itype = FR30BF_INSN_DIV3; goto extract_sfmt_div3;
503 case 7 : itype = FR30BF_INSN_DIV4S; goto extract_sfmt_div4s;
504 case 8 : itype = FR30BF_INSN_LDI32; goto extract_sfmt_ldi32;
505 case 9 : itype = FR30BF_INSN_LEAVE; goto extract_sfmt_leave;
506 case 10 : itype = FR30BF_INSN_NOP; goto extract_sfmt_bnod;
507 case 12 : itype = FR30BF_INSN_COPOP; goto extract_sfmt_copop;
508 case 13 : itype = FR30BF_INSN_COPLD; goto extract_sfmt_copop;
509 case 14 : itype = FR30BF_INSN_COPST; goto extract_sfmt_copop;
510 case 15 : itype = FR30BF_INSN_COPSV; goto extract_sfmt_copop;
511 default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
514 case 160 : itype = FR30BF_INSN_ADDNI; goto extract_sfmt_addni;
515 case 161 : itype = FR30BF_INSN_ADDN2; goto extract_sfmt_addn2;
516 case 162 : itype = FR30BF_INSN_ADDN; goto extract_sfmt_addn;
517 case 163 : itype = FR30BF_INSN_ADDSP; goto extract_sfmt_addsp;
518 case 164 : itype = FR30BF_INSN_ADDI; goto extract_sfmt_addi;
519 case 165 : itype = FR30BF_INSN_ADD2; goto extract_sfmt_add2;
520 case 166 : itype = FR30BF_INSN_ADD; goto extract_sfmt_add;
521 case 167 : itype = FR30BF_INSN_ADDC; goto extract_sfmt_addc;
522 case 168 : itype = FR30BF_INSN_CMPI; goto extract_sfmt_cmpi;
523 case 169 : itype = FR30BF_INSN_CMP2; goto extract_sfmt_cmp2;
524 case 170 : itype = FR30BF_INSN_CMP; goto extract_sfmt_cmp;
525 case 171 : itype = FR30BF_INSN_MULU; goto extract_sfmt_mulu;
526 case 172 : itype = FR30BF_INSN_SUB; goto extract_sfmt_add;
527 case 173 : itype = FR30BF_INSN_SUBC; goto extract_sfmt_addc;
528 case 174 : itype = FR30BF_INSN_SUBN; goto extract_sfmt_addn;
529 case 175 : itype = FR30BF_INSN_MUL; goto extract_sfmt_mul;
530 case 176 : itype = FR30BF_INSN_LSRI; goto extract_sfmt_lsli;
531 case 177 : itype = FR30BF_INSN_LSR2; goto extract_sfmt_lsli;
532 case 178 : itype = FR30BF_INSN_LSR; goto extract_sfmt_lsl;
533 case 179 : itype = FR30BF_INSN_MOV2DR; goto extract_sfmt_mov2dr;
534 case 180 : itype = FR30BF_INSN_LSLI; goto extract_sfmt_lsli;
535 case 181 : itype = FR30BF_INSN_LSL2; goto extract_sfmt_lsli;
536 case 182 : itype = FR30BF_INSN_LSL; goto extract_sfmt_lsl;
537 case 183 : itype = FR30BF_INSN_MOVDR; goto extract_sfmt_movdr;
538 case 184 : itype = FR30BF_INSN_ASRI; goto extract_sfmt_lsli;
539 case 185 : itype = FR30BF_INSN_ASR2; goto extract_sfmt_lsli;
540 case 186 : itype = FR30BF_INSN_ASR; goto extract_sfmt_lsl;
541 case 187 : itype = FR30BF_INSN_MULUH; goto extract_sfmt_mulh;
542 case 188 : itype = FR30BF_INSN_LDRES; goto extract_sfmt_ldres;
543 case 189 : itype = FR30BF_INSN_STRES; goto extract_sfmt_ldres;
544 case 191 : itype = FR30BF_INSN_MULH; goto extract_sfmt_mulh;
545 case 192 : /* fall through */
546 case 193 : /* fall through */
547 case 194 : /* fall through */
548 case 195 : /* fall through */
549 case 196 : /* fall through */
550 case 197 : /* fall through */
551 case 198 : /* fall through */
552 case 199 : /* fall through */
553 case 200 : /* fall through */
554 case 201 : /* fall through */
555 case 202 : /* fall through */
556 case 203 : /* fall through */
557 case 204 : /* fall through */
558 case 205 : /* fall through */
559 case 206 : /* fall through */
560 case 207 : itype = FR30BF_INSN_LDI8; goto extract_sfmt_ldi8;
561 case 208 : /* fall through */
562 case 209 : /* fall through */
563 case 210 : /* fall through */
564 case 211 : /* fall through */
565 case 212 : /* fall through */
566 case 213 : /* fall through */
567 case 214 : /* fall through */
568 case 215 : itype = FR30BF_INSN_CALL; goto extract_sfmt_call;
569 case 216 : /* fall through */
570 case 217 : /* fall through */
571 case 218 : /* fall through */
572 case 219 : /* fall through */
573 case 220 : /* fall through */
574 case 221 : /* fall through */
575 case 222 : /* fall through */
576 case 223 : itype = FR30BF_INSN_CALLD; goto extract_sfmt_call;
577 case 224 : itype = FR30BF_INSN_BRA; goto extract_sfmt_brad;
578 case 225 : itype = FR30BF_INSN_BNO; goto extract_sfmt_bnod;
579 case 226 : itype = FR30BF_INSN_BEQ; goto extract_sfmt_beqd;
580 case 227 : itype = FR30BF_INSN_BNE; goto extract_sfmt_beqd;
581 case 228 : itype = FR30BF_INSN_BC; goto extract_sfmt_bcd;
582 case 229 : itype = FR30BF_INSN_BNC; goto extract_sfmt_bcd;
583 case 230 : itype = FR30BF_INSN_BN; goto extract_sfmt_bnd;
584 case 231 : itype = FR30BF_INSN_BP; goto extract_sfmt_bnd;
585 case 232 : itype = FR30BF_INSN_BV; goto extract_sfmt_bvd;
586 case 233 : itype = FR30BF_INSN_BNV; goto extract_sfmt_bvd;
587 case 234 : itype = FR30BF_INSN_BLT; goto extract_sfmt_bltd;
588 case 235 : itype = FR30BF_INSN_BGE; goto extract_sfmt_bltd;
589 case 236 : itype = FR30BF_INSN_BLE; goto extract_sfmt_bled;
590 case 237 : itype = FR30BF_INSN_BGT; goto extract_sfmt_bled;
591 case 238 : itype = FR30BF_INSN_BLS; goto extract_sfmt_blsd;
592 case 239 : itype = FR30BF_INSN_BHI; goto extract_sfmt_blsd;
593 case 240 : itype = FR30BF_INSN_BRAD; goto extract_sfmt_brad;
594 case 241 : itype = FR30BF_INSN_BNOD; goto extract_sfmt_bnod;
595 case 242 : itype = FR30BF_INSN_BEQD; goto extract_sfmt_beqd;
596 case 243 : itype = FR30BF_INSN_BNED; goto extract_sfmt_beqd;
597 case 244 : itype = FR30BF_INSN_BCD; goto extract_sfmt_bcd;
598 case 245 : itype = FR30BF_INSN_BNCD; goto extract_sfmt_bcd;
599 case 246 : itype = FR30BF_INSN_BND; goto extract_sfmt_bnd;
600 case 247 : itype = FR30BF_INSN_BPD; goto extract_sfmt_bnd;
601 case 248 : itype = FR30BF_INSN_BVD; goto extract_sfmt_bvd;
602 case 249 : itype = FR30BF_INSN_BNVD; goto extract_sfmt_bvd;
603 case 250 : itype = FR30BF_INSN_BLTD; goto extract_sfmt_bltd;
604 case 251 : itype = FR30BF_INSN_BGED; goto extract_sfmt_bltd;
605 case 252 : itype = FR30BF_INSN_BLED; goto extract_sfmt_bled;
606 case 253 : itype = FR30BF_INSN_BGTD; goto extract_sfmt_bled;
607 case 254 : itype = FR30BF_INSN_BLSD; goto extract_sfmt_blsd;
608 case 255 : itype = FR30BF_INSN_BHID; goto extract_sfmt_blsd;
609 default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
614 /* The instruction has been decoded, now extract the fields. */
618 const IDESC *idesc = &fr30bf_insn_data[itype];
619 CGEN_INSN_INT insn = base_insn;
620 #define FLD(f) abuf->fields.fmt_empty.f
623 /* Record the fields for the semantic handler. */
624 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
632 const IDESC *idesc = &fr30bf_insn_data[itype];
633 CGEN_INSN_INT insn = base_insn;
634 #define FLD(f) abuf->fields.sfmt_add.f
638 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
639 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
641 /* Record the fields for the semantic handler. */
644 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
645 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
646 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
648 #if WITH_PROFILE_MODEL_P
649 /* Record the fields for profiling. */
650 if (PROFILE_MODEL_P (current_cpu))
663 const IDESC *idesc = &fr30bf_insn_data[itype];
664 CGEN_INSN_INT insn = base_insn;
665 #define FLD(f) abuf->fields.sfmt_addi.f
669 f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
670 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
672 /* Record the fields for the semantic handler. */
675 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
676 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
678 #if WITH_PROFILE_MODEL_P
679 /* Record the fields for profiling. */
680 if (PROFILE_MODEL_P (current_cpu))
692 const IDESC *idesc = &fr30bf_insn_data[itype];
693 CGEN_INSN_INT insn = base_insn;
694 #define FLD(f) abuf->fields.sfmt_add2.f
698 f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
699 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
701 /* Record the fields for the semantic handler. */
704 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
705 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
707 #if WITH_PROFILE_MODEL_P
708 /* Record the fields for profiling. */
709 if (PROFILE_MODEL_P (current_cpu))
721 const IDESC *idesc = &fr30bf_insn_data[itype];
722 CGEN_INSN_INT insn = base_insn;
723 #define FLD(f) abuf->fields.sfmt_add.f
727 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
728 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
730 /* Record the fields for the semantic handler. */
733 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
734 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
735 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
737 #if WITH_PROFILE_MODEL_P
738 /* Record the fields for profiling. */
739 if (PROFILE_MODEL_P (current_cpu))
752 const IDESC *idesc = &fr30bf_insn_data[itype];
753 CGEN_INSN_INT insn = base_insn;
754 #define FLD(f) abuf->fields.sfmt_add.f
758 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
759 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
761 /* Record the fields for the semantic handler. */
764 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
765 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
766 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
768 #if WITH_PROFILE_MODEL_P
769 /* Record the fields for profiling. */
770 if (PROFILE_MODEL_P (current_cpu))
783 const IDESC *idesc = &fr30bf_insn_data[itype];
784 CGEN_INSN_INT insn = base_insn;
785 #define FLD(f) abuf->fields.sfmt_addi.f
789 f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
790 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
792 /* Record the fields for the semantic handler. */
795 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
796 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
798 #if WITH_PROFILE_MODEL_P
799 /* Record the fields for profiling. */
800 if (PROFILE_MODEL_P (current_cpu))
812 const IDESC *idesc = &fr30bf_insn_data[itype];
813 CGEN_INSN_INT insn = base_insn;
814 #define FLD(f) abuf->fields.sfmt_add2.f
818 f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
819 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
821 /* Record the fields for the semantic handler. */
824 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
825 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
827 #if WITH_PROFILE_MODEL_P
828 /* Record the fields for profiling. */
829 if (PROFILE_MODEL_P (current_cpu))
841 const IDESC *idesc = &fr30bf_insn_data[itype];
842 CGEN_INSN_INT insn = base_insn;
843 #define FLD(f) abuf->fields.sfmt_str13.f
847 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
848 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
850 /* Record the fields for the semantic handler. */
853 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
854 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
855 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
857 #if WITH_PROFILE_MODEL_P
858 /* Record the fields for profiling. */
859 if (PROFILE_MODEL_P (current_cpu))
871 const IDESC *idesc = &fr30bf_insn_data[itype];
872 CGEN_INSN_INT insn = base_insn;
873 #define FLD(f) abuf->fields.sfmt_addi.f
877 f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
878 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
880 /* Record the fields for the semantic handler. */
883 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
884 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
886 #if WITH_PROFILE_MODEL_P
887 /* Record the fields for profiling. */
888 if (PROFILE_MODEL_P (current_cpu))
899 const IDESC *idesc = &fr30bf_insn_data[itype];
900 CGEN_INSN_INT insn = base_insn;
901 #define FLD(f) abuf->fields.sfmt_add2.f
905 f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
906 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
908 /* Record the fields for the semantic handler. */
911 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
912 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
914 #if WITH_PROFILE_MODEL_P
915 /* Record the fields for profiling. */
916 if (PROFILE_MODEL_P (current_cpu))
927 const IDESC *idesc = &fr30bf_insn_data[itype];
928 CGEN_INSN_INT insn = base_insn;
929 #define FLD(f) abuf->fields.sfmt_add.f
933 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
934 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
936 /* Record the fields for the semantic handler. */
939 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
940 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
941 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
943 #if WITH_PROFILE_MODEL_P
944 /* Record the fields for profiling. */
945 if (PROFILE_MODEL_P (current_cpu))
958 const IDESC *idesc = &fr30bf_insn_data[itype];
959 CGEN_INSN_INT insn = base_insn;
960 #define FLD(f) abuf->fields.sfmt_str13.f
964 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
965 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
967 /* Record the fields for the semantic handler. */
970 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
971 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
972 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
974 #if WITH_PROFILE_MODEL_P
975 /* Record the fields for profiling. */
976 if (PROFILE_MODEL_P (current_cpu))
988 const IDESC *idesc = &fr30bf_insn_data[itype];
989 CGEN_INSN_INT insn = base_insn;
990 #define FLD(f) abuf->fields.sfmt_str13.f
994 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
995 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
997 /* Record the fields for the semantic handler. */
1000 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1001 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1002 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1004 #if WITH_PROFILE_MODEL_P
1005 /* Record the fields for profiling. */
1006 if (PROFILE_MODEL_P (current_cpu))
1018 const IDESC *idesc = &fr30bf_insn_data[itype];
1019 CGEN_INSN_INT insn = base_insn;
1020 #define FLD(f) abuf->fields.sfmt_str13.f
1024 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1025 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1027 /* Record the fields for the semantic handler. */
1030 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1031 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1032 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1034 #if WITH_PROFILE_MODEL_P
1035 /* Record the fields for profiling. */
1036 if (PROFILE_MODEL_P (current_cpu))
1048 const IDESC *idesc = &fr30bf_insn_data[itype];
1049 CGEN_INSN_INT insn = base_insn;
1050 #define FLD(f) abuf->fields.sfmt_addi.f
1054 f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1055 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1057 /* Record the fields for the semantic handler. */
1060 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1061 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1063 #if WITH_PROFILE_MODEL_P
1064 /* Record the fields for profiling. */
1065 if (PROFILE_MODEL_P (current_cpu))
1076 const IDESC *idesc = &fr30bf_insn_data[itype];
1077 CGEN_INSN_INT insn = base_insn;
1078 #define FLD(f) abuf->fields.sfmt_addi.f
1082 f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1083 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1085 /* Record the fields for the semantic handler. */
1088 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1089 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1091 #if WITH_PROFILE_MODEL_P
1092 /* Record the fields for profiling. */
1093 if (PROFILE_MODEL_P (current_cpu))
1104 const IDESC *idesc = &fr30bf_insn_data[itype];
1105 CGEN_INSN_INT insn = base_insn;
1106 #define FLD(f) abuf->fields.sfmt_str13.f
1110 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1111 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1113 /* Record the fields for the semantic handler. */
1116 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1117 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1118 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1120 #if WITH_PROFILE_MODEL_P
1121 /* Record the fields for profiling. */
1122 if (PROFILE_MODEL_P (current_cpu))
1134 const IDESC *idesc = &fr30bf_insn_data[itype];
1135 CGEN_INSN_INT insn = base_insn;
1136 #define FLD(f) abuf->fields.sfmt_str13.f
1140 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1141 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1143 /* Record the fields for the semantic handler. */
1146 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1147 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1148 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1150 #if WITH_PROFILE_MODEL_P
1151 /* Record the fields for profiling. */
1152 if (PROFILE_MODEL_P (current_cpu))
1164 const IDESC *idesc = &fr30bf_insn_data[itype];
1165 CGEN_INSN_INT insn = base_insn;
1166 #define FLD(f) abuf->fields.sfmt_str13.f
1170 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1171 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1173 /* Record the fields for the semantic handler. */
1176 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1177 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1178 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1180 #if WITH_PROFILE_MODEL_P
1181 /* Record the fields for profiling. */
1182 if (PROFILE_MODEL_P (current_cpu))
1194 const IDESC *idesc = &fr30bf_insn_data[itype];
1195 CGEN_INSN_INT insn = base_insn;
1196 #define FLD(f) abuf->fields.sfmt_mov2dr.f
1199 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1201 /* Record the fields for the semantic handler. */
1203 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1204 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1206 #if WITH_PROFILE_MODEL_P
1207 /* Record the fields for profiling. */
1208 if (PROFILE_MODEL_P (current_cpu))
1219 const IDESC *idesc = &fr30bf_insn_data[itype];
1220 CGEN_INSN_INT insn = base_insn;
1221 #define FLD(f) abuf->fields.fmt_empty.f
1224 /* Record the fields for the semantic handler. */
1225 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0));
1233 const IDESC *idesc = &fr30bf_insn_data[itype];
1234 CGEN_INSN_INT insn = base_insn;
1235 #define FLD(f) abuf->fields.sfmt_mov2dr.f
1238 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1240 /* Record the fields for the semantic handler. */
1242 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1243 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1245 #if WITH_PROFILE_MODEL_P
1246 /* Record the fields for profiling. */
1247 if (PROFILE_MODEL_P (current_cpu))
1258 const IDESC *idesc = &fr30bf_insn_data[itype];
1259 CGEN_INSN_INT insn = base_insn;
1260 #define FLD(f) abuf->fields.sfmt_mov2dr.f
1263 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1265 /* Record the fields for the semantic handler. */
1267 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1268 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1270 #if WITH_PROFILE_MODEL_P
1271 /* Record the fields for profiling. */
1272 if (PROFILE_MODEL_P (current_cpu))
1283 const IDESC *idesc = &fr30bf_insn_data[itype];
1284 CGEN_INSN_INT insn = base_insn;
1285 #define FLD(f) abuf->fields.fmt_empty.f
1288 /* Record the fields for the semantic handler. */
1289 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0));
1297 const IDESC *idesc = &fr30bf_insn_data[itype];
1298 CGEN_INSN_INT insn = base_insn;
1299 #define FLD(f) abuf->fields.fmt_empty.f
1302 /* Record the fields for the semantic handler. */
1303 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0));
1311 const IDESC *idesc = &fr30bf_insn_data[itype];
1312 CGEN_INSN_INT insn = base_insn;
1313 #define FLD(f) abuf->fields.sfmt_add.f
1317 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1318 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1320 /* Record the fields for the semantic handler. */
1323 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1324 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1325 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1327 #if WITH_PROFILE_MODEL_P
1328 /* Record the fields for profiling. */
1329 if (PROFILE_MODEL_P (current_cpu))
1333 FLD (out_Ri) = f_Ri;
1342 const IDESC *idesc = &fr30bf_insn_data[itype];
1343 CGEN_INSN_INT insn = base_insn;
1344 #define FLD(f) abuf->fields.sfmt_addi.f
1348 f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1349 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1351 /* Record the fields for the semantic handler. */
1354 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1355 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1357 #if WITH_PROFILE_MODEL_P
1358 /* Record the fields for profiling. */
1359 if (PROFILE_MODEL_P (current_cpu))
1362 FLD (out_Ri) = f_Ri;
1371 const IDESC *idesc = &fr30bf_insn_data[itype];
1372 CGEN_INSN_INT insn = base_insn;
1373 #define FLD(f) abuf->fields.sfmt_ldi8.f
1377 f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8);
1378 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1380 /* Record the fields for the semantic handler. */
1383 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1384 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1386 #if WITH_PROFILE_MODEL_P
1387 /* Record the fields for profiling. */
1388 if (PROFILE_MODEL_P (current_cpu))
1390 FLD (out_Ri) = f_Ri;
1399 const IDESC *idesc = &fr30bf_insn_data[itype];
1400 CGEN_INSN_INT insn = base_insn;
1401 #define FLD(f) abuf->fields.sfmt_ldi20.f
1406 /* Contents of trailing part of insn. */
1409 word_1 = GETIMEMUHI (current_cpu, pc + 2);
1410 f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0));
1411 f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1412 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1414 f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));
1417 /* Record the fields for the semantic handler. */
1418 FLD (f_i20) = f_i20;
1420 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1421 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1423 #if WITH_PROFILE_MODEL_P
1424 /* Record the fields for profiling. */
1425 if (PROFILE_MODEL_P (current_cpu))
1427 FLD (out_Ri) = f_Ri;
1436 const IDESC *idesc = &fr30bf_insn_data[itype];
1437 CGEN_INSN_INT insn = base_insn;
1438 #define FLD(f) abuf->fields.sfmt_ldi32.f
1441 /* Contents of trailing part of insn. */
1445 word_1 = GETIMEMUHI (current_cpu, pc + 2);
1446 word_2 = GETIMEMUHI (current_cpu, pc + 4);
1447 f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16));
1448 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1450 /* Record the fields for the semantic handler. */
1451 FLD (f_i32) = f_i32;
1453 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1454 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1456 #if WITH_PROFILE_MODEL_P
1457 /* Record the fields for profiling. */
1458 if (PROFILE_MODEL_P (current_cpu))
1460 FLD (out_Ri) = f_Ri;
1469 const IDESC *idesc = &fr30bf_insn_data[itype];
1470 CGEN_INSN_INT insn = base_insn;
1471 #define FLD(f) abuf->fields.sfmt_ldr13.f
1475 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1476 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1478 /* Record the fields for the semantic handler. */
1481 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1482 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1483 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1485 #if WITH_PROFILE_MODEL_P
1486 /* Record the fields for profiling. */
1487 if (PROFILE_MODEL_P (current_cpu))
1490 FLD (out_Ri) = f_Ri;
1499 const IDESC *idesc = &fr30bf_insn_data[itype];
1500 CGEN_INSN_INT insn = base_insn;
1501 #define FLD(f) abuf->fields.sfmt_ldr13.f
1505 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1506 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1508 /* Record the fields for the semantic handler. */
1511 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1512 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1513 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1515 #if WITH_PROFILE_MODEL_P
1516 /* Record the fields for profiling. */
1517 if (PROFILE_MODEL_P (current_cpu))
1520 FLD (in_h_gr_13) = 13;
1521 FLD (out_Ri) = f_Ri;
1530 const IDESC *idesc = &fr30bf_insn_data[itype];
1531 CGEN_INSN_INT insn = base_insn;
1532 #define FLD(f) abuf->fields.sfmt_ldr14.f
1536 f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2));
1537 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1539 /* Record the fields for the semantic handler. */
1540 FLD (f_disp10) = f_disp10;
1542 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1543 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1545 #if WITH_PROFILE_MODEL_P
1546 /* Record the fields for profiling. */
1547 if (PROFILE_MODEL_P (current_cpu))
1549 FLD (in_h_gr_14) = 14;
1550 FLD (out_Ri) = f_Ri;
1557 extract_sfmt_ldr14uh:
1559 const IDESC *idesc = &fr30bf_insn_data[itype];
1560 CGEN_INSN_INT insn = base_insn;
1561 #define FLD(f) abuf->fields.sfmt_ldr14uh.f
1565 f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1));
1566 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1568 /* Record the fields for the semantic handler. */
1569 FLD (f_disp9) = f_disp9;
1571 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1572 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1574 #if WITH_PROFILE_MODEL_P
1575 /* Record the fields for profiling. */
1576 if (PROFILE_MODEL_P (current_cpu))
1578 FLD (in_h_gr_14) = 14;
1579 FLD (out_Ri) = f_Ri;
1586 extract_sfmt_ldr14ub:
1588 const IDESC *idesc = &fr30bf_insn_data[itype];
1589 CGEN_INSN_INT insn = base_insn;
1590 #define FLD(f) abuf->fields.sfmt_ldr14ub.f
1594 f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8);
1595 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1597 /* Record the fields for the semantic handler. */
1598 FLD (f_disp8) = f_disp8;
1600 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1601 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1603 #if WITH_PROFILE_MODEL_P
1604 /* Record the fields for profiling. */
1605 if (PROFILE_MODEL_P (current_cpu))
1607 FLD (in_h_gr_14) = 14;
1608 FLD (out_Ri) = f_Ri;
1617 const IDESC *idesc = &fr30bf_insn_data[itype];
1618 CGEN_INSN_INT insn = base_insn;
1619 #define FLD(f) abuf->fields.sfmt_ldr15.f
1623 f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2));
1624 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1626 /* Record the fields for the semantic handler. */
1627 FLD (f_udisp6) = f_udisp6;
1629 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1630 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1632 #if WITH_PROFILE_MODEL_P
1633 /* Record the fields for profiling. */
1634 if (PROFILE_MODEL_P (current_cpu))
1636 FLD (in_h_gr_15) = 15;
1637 FLD (out_Ri) = f_Ri;
1644 extract_sfmt_ldr15gr:
1646 const IDESC *idesc = &fr30bf_insn_data[itype];
1647 CGEN_INSN_INT insn = base_insn;
1648 #define FLD(f) abuf->fields.sfmt_ldr15gr.f
1651 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1653 /* Record the fields for the semantic handler. */
1655 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1656 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1658 #if WITH_PROFILE_MODEL_P
1659 /* Record the fields for profiling. */
1660 if (PROFILE_MODEL_P (current_cpu))
1662 FLD (in_h_gr_15) = 15;
1663 FLD (out_Ri) = f_Ri;
1664 FLD (out_h_gr_15) = 15;
1671 extract_sfmt_ldr15dr:
1673 const IDESC *idesc = &fr30bf_insn_data[itype];
1674 CGEN_INSN_INT insn = base_insn;
1675 #define FLD(f) abuf->fields.sfmt_ldr15dr.f
1678 f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1680 /* Record the fields for the semantic handler. */
1681 FLD (f_Rs2) = f_Rs2;
1682 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
1684 #if WITH_PROFILE_MODEL_P
1685 /* Record the fields for profiling. */
1686 if (PROFILE_MODEL_P (current_cpu))
1688 FLD (in_h_gr_15) = 15;
1689 FLD (out_h_gr_15) = 15;
1696 extract_sfmt_ldr15ps:
1698 const IDESC *idesc = &fr30bf_insn_data[itype];
1699 CGEN_INSN_INT insn = base_insn;
1700 #define FLD(f) abuf->fields.sfmt_addsp.f
1703 /* Record the fields for the semantic handler. */
1704 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15ps", (char *) 0));
1706 #if WITH_PROFILE_MODEL_P
1707 /* Record the fields for profiling. */
1708 if (PROFILE_MODEL_P (current_cpu))
1710 FLD (in_h_gr_15) = 15;
1711 FLD (out_h_gr_15) = 15;
1720 const IDESC *idesc = &fr30bf_insn_data[itype];
1721 CGEN_INSN_INT insn = base_insn;
1722 #define FLD(f) abuf->fields.sfmt_str13.f
1726 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1727 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1729 /* Record the fields for the semantic handler. */
1732 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1733 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1734 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1736 #if WITH_PROFILE_MODEL_P
1737 /* Record the fields for profiling. */
1738 if (PROFILE_MODEL_P (current_cpu))
1750 const IDESC *idesc = &fr30bf_insn_data[itype];
1751 CGEN_INSN_INT insn = base_insn;
1752 #define FLD(f) abuf->fields.sfmt_str13.f
1756 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1757 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1759 /* Record the fields for the semantic handler. */
1762 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1763 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1764 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1766 #if WITH_PROFILE_MODEL_P
1767 /* Record the fields for profiling. */
1768 if (PROFILE_MODEL_P (current_cpu))
1772 FLD (in_h_gr_13) = 13;
1781 const IDESC *idesc = &fr30bf_insn_data[itype];
1782 CGEN_INSN_INT insn = base_insn;
1783 #define FLD(f) abuf->fields.sfmt_str14.f
1787 f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2));
1788 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1790 /* Record the fields for the semantic handler. */
1792 FLD (f_disp10) = f_disp10;
1793 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1794 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri, "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1796 #if WITH_PROFILE_MODEL_P
1797 /* Record the fields for profiling. */
1798 if (PROFILE_MODEL_P (current_cpu))
1801 FLD (in_h_gr_14) = 14;
1808 extract_sfmt_str14h:
1810 const IDESC *idesc = &fr30bf_insn_data[itype];
1811 CGEN_INSN_INT insn = base_insn;
1812 #define FLD(f) abuf->fields.sfmt_str14h.f
1816 f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1));
1817 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1819 /* Record the fields for the semantic handler. */
1821 FLD (f_disp9) = f_disp9;
1822 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1823 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri, "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1825 #if WITH_PROFILE_MODEL_P
1826 /* Record the fields for profiling. */
1827 if (PROFILE_MODEL_P (current_cpu))
1830 FLD (in_h_gr_14) = 14;
1837 extract_sfmt_str14b:
1839 const IDESC *idesc = &fr30bf_insn_data[itype];
1840 CGEN_INSN_INT insn = base_insn;
1841 #define FLD(f) abuf->fields.sfmt_str14b.f
1845 f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8);
1846 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1848 /* Record the fields for the semantic handler. */
1850 FLD (f_disp8) = f_disp8;
1851 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1852 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri, "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1854 #if WITH_PROFILE_MODEL_P
1855 /* Record the fields for profiling. */
1856 if (PROFILE_MODEL_P (current_cpu))
1859 FLD (in_h_gr_14) = 14;
1868 const IDESC *idesc = &fr30bf_insn_data[itype];
1869 CGEN_INSN_INT insn = base_insn;
1870 #define FLD(f) abuf->fields.sfmt_str15.f
1874 f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2));
1875 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1877 /* Record the fields for the semantic handler. */
1879 FLD (f_udisp6) = f_udisp6;
1880 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1881 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri, "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1883 #if WITH_PROFILE_MODEL_P
1884 /* Record the fields for profiling. */
1885 if (PROFILE_MODEL_P (current_cpu))
1888 FLD (in_h_gr_15) = 15;
1895 extract_sfmt_str15gr:
1897 const IDESC *idesc = &fr30bf_insn_data[itype];
1898 CGEN_INSN_INT insn = base_insn;
1899 #define FLD(f) abuf->fields.sfmt_str15gr.f
1902 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1904 /* Record the fields for the semantic handler. */
1906 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1907 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1909 #if WITH_PROFILE_MODEL_P
1910 /* Record the fields for profiling. */
1911 if (PROFILE_MODEL_P (current_cpu))
1914 FLD (in_h_gr_15) = 15;
1915 FLD (out_h_gr_15) = 15;
1922 extract_sfmt_str15dr:
1924 const IDESC *idesc = &fr30bf_insn_data[itype];
1925 CGEN_INSN_INT insn = base_insn;
1926 #define FLD(f) abuf->fields.sfmt_ldr15dr.f
1929 f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1931 /* Record the fields for the semantic handler. */
1932 FLD (f_Rs2) = f_Rs2;
1933 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
1935 #if WITH_PROFILE_MODEL_P
1936 /* Record the fields for profiling. */
1937 if (PROFILE_MODEL_P (current_cpu))
1939 FLD (in_h_gr_15) = 15;
1940 FLD (out_h_gr_15) = 15;
1947 extract_sfmt_str15ps:
1949 const IDESC *idesc = &fr30bf_insn_data[itype];
1950 CGEN_INSN_INT insn = base_insn;
1951 #define FLD(f) abuf->fields.sfmt_addsp.f
1954 /* Record the fields for the semantic handler. */
1955 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15ps", (char *) 0));
1957 #if WITH_PROFILE_MODEL_P
1958 /* Record the fields for profiling. */
1959 if (PROFILE_MODEL_P (current_cpu))
1961 FLD (in_h_gr_15) = 15;
1962 FLD (out_h_gr_15) = 15;
1971 const IDESC *idesc = &fr30bf_insn_data[itype];
1972 CGEN_INSN_INT insn = base_insn;
1973 #define FLD(f) abuf->fields.sfmt_ldr13.f
1977 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1978 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
1980 /* Record the fields for the semantic handler. */
1983 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1984 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1985 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1987 #if WITH_PROFILE_MODEL_P
1988 /* Record the fields for profiling. */
1989 if (PROFILE_MODEL_P (current_cpu))
1992 FLD (out_Ri) = f_Ri;
2001 const IDESC *idesc = &fr30bf_insn_data[itype];
2002 CGEN_INSN_INT insn = base_insn;
2003 #define FLD(f) abuf->fields.sfmt_movdr.f
2007 f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2008 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2010 /* Record the fields for the semantic handler. */
2011 FLD (f_Rs1) = f_Rs1;
2013 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2014 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2016 #if WITH_PROFILE_MODEL_P
2017 /* Record the fields for profiling. */
2018 if (PROFILE_MODEL_P (current_cpu))
2020 FLD (out_Ri) = f_Ri;
2029 const IDESC *idesc = &fr30bf_insn_data[itype];
2030 CGEN_INSN_INT insn = base_insn;
2031 #define FLD(f) abuf->fields.sfmt_movdr.f
2034 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2036 /* Record the fields for the semantic handler. */
2038 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2039 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2041 #if WITH_PROFILE_MODEL_P
2042 /* Record the fields for profiling. */
2043 if (PROFILE_MODEL_P (current_cpu))
2045 FLD (out_Ri) = f_Ri;
2052 extract_sfmt_mov2dr:
2054 const IDESC *idesc = &fr30bf_insn_data[itype];
2055 CGEN_INSN_INT insn = base_insn;
2056 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2060 f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2061 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2063 /* Record the fields for the semantic handler. */
2065 FLD (f_Rs1) = f_Rs1;
2066 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2067 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri, "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2069 #if WITH_PROFILE_MODEL_P
2070 /* Record the fields for profiling. */
2071 if (PROFILE_MODEL_P (current_cpu))
2080 extract_sfmt_mov2ps:
2082 const IDESC *idesc = &fr30bf_insn_data[itype];
2083 CGEN_INSN_INT insn = base_insn;
2084 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2087 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2089 /* Record the fields for the semantic handler. */
2091 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2092 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2094 #if WITH_PROFILE_MODEL_P
2095 /* Record the fields for profiling. */
2096 if (PROFILE_MODEL_P (current_cpu))
2107 const IDESC *idesc = &fr30bf_insn_data[itype];
2108 CGEN_INSN_INT insn = base_insn;
2109 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2112 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2114 /* Record the fields for the semantic handler. */
2116 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2117 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2119 #if WITH_PROFILE_MODEL_P
2120 /* Record the fields for profiling. */
2121 if (PROFILE_MODEL_P (current_cpu))
2132 const IDESC *idesc = &fr30bf_insn_data[itype];
2133 CGEN_INSN_INT insn = base_insn;
2134 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2137 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2139 /* Record the fields for the semantic handler. */
2141 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2142 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2144 #if WITH_PROFILE_MODEL_P
2145 /* Record the fields for profiling. */
2146 if (PROFILE_MODEL_P (current_cpu))
2157 const IDESC *idesc = &fr30bf_insn_data[itype];
2158 CGEN_INSN_INT insn = base_insn;
2159 #define FLD(f) abuf->fields.sfmt_call.f
2162 f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2))));
2164 /* Record the fields for the semantic handler. */
2165 FLD (i_label12) = f_rel12;
2166 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label12 0x%x", 'x', f_rel12, (char *) 0));
2168 #if WITH_PROFILE_MODEL_P
2169 /* Record the fields for profiling. */
2170 if (PROFILE_MODEL_P (current_cpu))
2180 const IDESC *idesc = &fr30bf_insn_data[itype];
2181 CGEN_INSN_INT insn = base_insn;
2182 #define FLD(f) abuf->fields.fmt_empty.f
2185 /* Record the fields for the semantic handler. */
2186 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret", (char *) 0));
2188 #if WITH_PROFILE_MODEL_P
2189 /* Record the fields for profiling. */
2190 if (PROFILE_MODEL_P (current_cpu))
2200 const IDESC *idesc = &fr30bf_insn_data[itype];
2201 CGEN_INSN_INT insn = base_insn;
2202 #define FLD(f) abuf->fields.sfmt_int.f
2205 f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2207 /* Record the fields for the semantic handler. */
2209 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_int", "f_u8 0x%x", 'x', f_u8, (char *) 0));
2211 #if WITH_PROFILE_MODEL_P
2212 /* Record the fields for profiling. */
2213 if (PROFILE_MODEL_P (current_cpu))
2223 const IDESC *idesc = &fr30bf_insn_data[itype];
2224 CGEN_INSN_INT insn = base_insn;
2225 #define FLD(f) abuf->fields.fmt_empty.f
2228 /* Record the fields for the semantic handler. */
2229 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_inte", (char *) 0));
2231 #if WITH_PROFILE_MODEL_P
2232 /* Record the fields for profiling. */
2233 if (PROFILE_MODEL_P (current_cpu))
2243 const IDESC *idesc = &fr30bf_insn_data[itype];
2244 CGEN_INSN_INT insn = base_insn;
2245 #define FLD(f) abuf->fields.fmt_empty.f
2248 /* Record the fields for the semantic handler. */
2249 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_reti", (char *) 0));
2251 #if WITH_PROFILE_MODEL_P
2252 /* Record the fields for profiling. */
2253 if (PROFILE_MODEL_P (current_cpu))
2263 const IDESC *idesc = &fr30bf_insn_data[itype];
2264 CGEN_INSN_INT insn = base_insn;
2265 #define FLD(f) abuf->fields.sfmt_brad.f
2268 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2270 /* Record the fields for the semantic handler. */
2271 FLD (i_label9) = f_rel9;
2272 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brad", "label9 0x%x", 'x', f_rel9, (char *) 0));
2274 #if WITH_PROFILE_MODEL_P
2275 /* Record the fields for profiling. */
2276 if (PROFILE_MODEL_P (current_cpu))
2286 const IDESC *idesc = &fr30bf_insn_data[itype];
2287 CGEN_INSN_INT insn = base_insn;
2288 #define FLD(f) abuf->fields.fmt_empty.f
2291 /* Record the fields for the semantic handler. */
2292 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnod", (char *) 0));
2300 const IDESC *idesc = &fr30bf_insn_data[itype];
2301 CGEN_INSN_INT insn = base_insn;
2302 #define FLD(f) abuf->fields.sfmt_brad.f
2305 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2307 /* Record the fields for the semantic handler. */
2308 FLD (i_label9) = f_rel9;
2309 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2311 #if WITH_PROFILE_MODEL_P
2312 /* Record the fields for profiling. */
2313 if (PROFILE_MODEL_P (current_cpu))
2323 const IDESC *idesc = &fr30bf_insn_data[itype];
2324 CGEN_INSN_INT insn = base_insn;
2325 #define FLD(f) abuf->fields.sfmt_brad.f
2328 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2330 /* Record the fields for the semantic handler. */
2331 FLD (i_label9) = f_rel9;
2332 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2334 #if WITH_PROFILE_MODEL_P
2335 /* Record the fields for profiling. */
2336 if (PROFILE_MODEL_P (current_cpu))
2346 const IDESC *idesc = &fr30bf_insn_data[itype];
2347 CGEN_INSN_INT insn = base_insn;
2348 #define FLD(f) abuf->fields.sfmt_brad.f
2351 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2353 /* Record the fields for the semantic handler. */
2354 FLD (i_label9) = f_rel9;
2355 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2357 #if WITH_PROFILE_MODEL_P
2358 /* Record the fields for profiling. */
2359 if (PROFILE_MODEL_P (current_cpu))
2369 const IDESC *idesc = &fr30bf_insn_data[itype];
2370 CGEN_INSN_INT insn = base_insn;
2371 #define FLD(f) abuf->fields.sfmt_brad.f
2374 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2376 /* Record the fields for the semantic handler. */
2377 FLD (i_label9) = f_rel9;
2378 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bvd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2380 #if WITH_PROFILE_MODEL_P
2381 /* Record the fields for profiling. */
2382 if (PROFILE_MODEL_P (current_cpu))
2392 const IDESC *idesc = &fr30bf_insn_data[itype];
2393 CGEN_INSN_INT insn = base_insn;
2394 #define FLD(f) abuf->fields.sfmt_brad.f
2397 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2399 /* Record the fields for the semantic handler. */
2400 FLD (i_label9) = f_rel9;
2401 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bltd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2403 #if WITH_PROFILE_MODEL_P
2404 /* Record the fields for profiling. */
2405 if (PROFILE_MODEL_P (current_cpu))
2415 const IDESC *idesc = &fr30bf_insn_data[itype];
2416 CGEN_INSN_INT insn = base_insn;
2417 #define FLD(f) abuf->fields.sfmt_brad.f
2420 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2422 /* Record the fields for the semantic handler. */
2423 FLD (i_label9) = f_rel9;
2424 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bled", "label9 0x%x", 'x', f_rel9, (char *) 0));
2426 #if WITH_PROFILE_MODEL_P
2427 /* Record the fields for profiling. */
2428 if (PROFILE_MODEL_P (current_cpu))
2438 const IDESC *idesc = &fr30bf_insn_data[itype];
2439 CGEN_INSN_INT insn = base_insn;
2440 #define FLD(f) abuf->fields.sfmt_brad.f
2443 f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
2445 /* Record the fields for the semantic handler. */
2446 FLD (i_label9) = f_rel9;
2447 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blsd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2449 #if WITH_PROFILE_MODEL_P
2450 /* Record the fields for profiling. */
2451 if (PROFILE_MODEL_P (current_cpu))
2459 extract_sfmt_dmovr13:
2461 const IDESC *idesc = &fr30bf_insn_data[itype];
2462 CGEN_INSN_INT insn = base_insn;
2463 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2466 f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
2468 /* Record the fields for the semantic handler. */
2469 FLD (f_dir10) = f_dir10;
2470 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2472 #if WITH_PROFILE_MODEL_P
2473 /* Record the fields for profiling. */
2474 if (PROFILE_MODEL_P (current_cpu))
2476 FLD (in_h_gr_13) = 13;
2483 extract_sfmt_dmovr13h:
2485 const IDESC *idesc = &fr30bf_insn_data[itype];
2486 CGEN_INSN_INT insn = base_insn;
2487 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2490 f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
2492 /* Record the fields for the semantic handler. */
2493 FLD (f_dir9) = f_dir9;
2494 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2496 #if WITH_PROFILE_MODEL_P
2497 /* Record the fields for profiling. */
2498 if (PROFILE_MODEL_P (current_cpu))
2500 FLD (in_h_gr_13) = 13;
2507 extract_sfmt_dmovr13b:
2509 const IDESC *idesc = &fr30bf_insn_data[itype];
2510 CGEN_INSN_INT insn = base_insn;
2511 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2514 f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2516 /* Record the fields for the semantic handler. */
2517 FLD (f_dir8) = f_dir8;
2518 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2520 #if WITH_PROFILE_MODEL_P
2521 /* Record the fields for profiling. */
2522 if (PROFILE_MODEL_P (current_cpu))
2524 FLD (in_h_gr_13) = 13;
2531 extract_sfmt_dmovr13pi:
2533 const IDESC *idesc = &fr30bf_insn_data[itype];
2534 CGEN_INSN_INT insn = base_insn;
2535 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2538 f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
2540 /* Record the fields for the semantic handler. */
2541 FLD (f_dir10) = f_dir10;
2542 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2544 #if WITH_PROFILE_MODEL_P
2545 /* Record the fields for profiling. */
2546 if (PROFILE_MODEL_P (current_cpu))
2548 FLD (in_h_gr_13) = 13;
2549 FLD (out_h_gr_13) = 13;
2556 extract_sfmt_dmovr13pih:
2558 const IDESC *idesc = &fr30bf_insn_data[itype];
2559 CGEN_INSN_INT insn = base_insn;
2560 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2563 f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
2565 /* Record the fields for the semantic handler. */
2566 FLD (f_dir9) = f_dir9;
2567 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2569 #if WITH_PROFILE_MODEL_P
2570 /* Record the fields for profiling. */
2571 if (PROFILE_MODEL_P (current_cpu))
2573 FLD (in_h_gr_13) = 13;
2574 FLD (out_h_gr_13) = 13;
2581 extract_sfmt_dmovr13pib:
2583 const IDESC *idesc = &fr30bf_insn_data[itype];
2584 CGEN_INSN_INT insn = base_insn;
2585 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2588 f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2590 /* Record the fields for the semantic handler. */
2591 FLD (f_dir8) = f_dir8;
2592 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2594 #if WITH_PROFILE_MODEL_P
2595 /* Record the fields for profiling. */
2596 if (PROFILE_MODEL_P (current_cpu))
2598 FLD (in_h_gr_13) = 13;
2599 FLD (out_h_gr_13) = 13;
2606 extract_sfmt_dmovr15pi:
2608 const IDESC *idesc = &fr30bf_insn_data[itype];
2609 CGEN_INSN_INT insn = base_insn;
2610 #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
2613 f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
2615 /* Record the fields for the semantic handler. */
2616 FLD (f_dir10) = f_dir10;
2617 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2619 #if WITH_PROFILE_MODEL_P
2620 /* Record the fields for profiling. */
2621 if (PROFILE_MODEL_P (current_cpu))
2623 FLD (in_h_gr_15) = 15;
2624 FLD (out_h_gr_15) = 15;
2631 extract_sfmt_dmov2r13:
2633 const IDESC *idesc = &fr30bf_insn_data[itype];
2634 CGEN_INSN_INT insn = base_insn;
2635 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2638 f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
2640 /* Record the fields for the semantic handler. */
2641 FLD (f_dir10) = f_dir10;
2642 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2644 #if WITH_PROFILE_MODEL_P
2645 /* Record the fields for profiling. */
2646 if (PROFILE_MODEL_P (current_cpu))
2648 FLD (out_h_gr_13) = 13;
2655 extract_sfmt_dmov2r13h:
2657 const IDESC *idesc = &fr30bf_insn_data[itype];
2658 CGEN_INSN_INT insn = base_insn;
2659 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2662 f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
2664 /* Record the fields for the semantic handler. */
2665 FLD (f_dir9) = f_dir9;
2666 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2668 #if WITH_PROFILE_MODEL_P
2669 /* Record the fields for profiling. */
2670 if (PROFILE_MODEL_P (current_cpu))
2672 FLD (out_h_gr_13) = 13;
2679 extract_sfmt_dmov2r13b:
2681 const IDESC *idesc = &fr30bf_insn_data[itype];
2682 CGEN_INSN_INT insn = base_insn;
2683 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2686 f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2688 /* Record the fields for the semantic handler. */
2689 FLD (f_dir8) = f_dir8;
2690 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2692 #if WITH_PROFILE_MODEL_P
2693 /* Record the fields for profiling. */
2694 if (PROFILE_MODEL_P (current_cpu))
2696 FLD (out_h_gr_13) = 13;
2703 extract_sfmt_dmov2r13pi:
2705 const IDESC *idesc = &fr30bf_insn_data[itype];
2706 CGEN_INSN_INT insn = base_insn;
2707 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2710 f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
2712 /* Record the fields for the semantic handler. */
2713 FLD (f_dir10) = f_dir10;
2714 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2716 #if WITH_PROFILE_MODEL_P
2717 /* Record the fields for profiling. */
2718 if (PROFILE_MODEL_P (current_cpu))
2720 FLD (in_h_gr_13) = 13;
2721 FLD (out_h_gr_13) = 13;
2728 extract_sfmt_dmov2r13pih:
2730 const IDESC *idesc = &fr30bf_insn_data[itype];
2731 CGEN_INSN_INT insn = base_insn;
2732 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2735 f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
2737 /* Record the fields for the semantic handler. */
2738 FLD (f_dir9) = f_dir9;
2739 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2741 #if WITH_PROFILE_MODEL_P
2742 /* Record the fields for profiling. */
2743 if (PROFILE_MODEL_P (current_cpu))
2745 FLD (in_h_gr_13) = 13;
2746 FLD (out_h_gr_13) = 13;
2753 extract_sfmt_dmov2r13pib:
2755 const IDESC *idesc = &fr30bf_insn_data[itype];
2756 CGEN_INSN_INT insn = base_insn;
2757 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2760 f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2762 /* Record the fields for the semantic handler. */
2763 FLD (f_dir8) = f_dir8;
2764 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2766 #if WITH_PROFILE_MODEL_P
2767 /* Record the fields for profiling. */
2768 if (PROFILE_MODEL_P (current_cpu))
2770 FLD (in_h_gr_13) = 13;
2771 FLD (out_h_gr_13) = 13;
2778 extract_sfmt_dmov2r15pd:
2780 const IDESC *idesc = &fr30bf_insn_data[itype];
2781 CGEN_INSN_INT insn = base_insn;
2782 #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
2785 f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
2787 /* Record the fields for the semantic handler. */
2788 FLD (f_dir10) = f_dir10;
2789 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2791 #if WITH_PROFILE_MODEL_P
2792 /* Record the fields for profiling. */
2793 if (PROFILE_MODEL_P (current_cpu))
2795 FLD (in_h_gr_15) = 15;
2796 FLD (out_h_gr_15) = 15;
2805 const IDESC *idesc = &fr30bf_insn_data[itype];
2806 CGEN_INSN_INT insn = base_insn;
2807 #define FLD(f) abuf->fields.sfmt_add2.f
2810 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2812 /* Record the fields for the semantic handler. */
2814 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2815 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2817 #if WITH_PROFILE_MODEL_P
2818 /* Record the fields for profiling. */
2819 if (PROFILE_MODEL_P (current_cpu))
2822 FLD (out_Ri) = f_Ri;
2831 const IDESC *idesc = &fr30bf_insn_data[itype];
2832 CGEN_INSN_INT insn = base_insn;
2833 #define FLD(f) abuf->fields.fmt_empty.f
2834 /* Contents of trailing part of insn. */
2837 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2839 /* Record the fields for the semantic handler. */
2840 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_copop", (char *) 0));
2846 extract_sfmt_andccr:
2848 const IDESC *idesc = &fr30bf_insn_data[itype];
2849 CGEN_INSN_INT insn = base_insn;
2850 #define FLD(f) abuf->fields.sfmt_int.f
2853 f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2855 /* Record the fields for the semantic handler. */
2857 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0));
2865 const IDESC *idesc = &fr30bf_insn_data[itype];
2866 CGEN_INSN_INT insn = base_insn;
2867 #define FLD(f) abuf->fields.sfmt_int.f
2870 f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2872 /* Record the fields for the semantic handler. */
2874 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0));
2882 const IDESC *idesc = &fr30bf_insn_data[itype];
2883 CGEN_INSN_INT insn = base_insn;
2884 #define FLD(f) abuf->fields.sfmt_addsp.f
2887 f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2));
2889 /* Record the fields for the semantic handler. */
2890 FLD (f_s10) = f_s10;
2891 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0));
2893 #if WITH_PROFILE_MODEL_P
2894 /* Record the fields for profiling. */
2895 if (PROFILE_MODEL_P (current_cpu))
2897 FLD (in_h_gr_15) = 15;
2898 FLD (out_h_gr_15) = 15;
2907 const IDESC *idesc = &fr30bf_insn_data[itype];
2908 CGEN_INSN_INT insn = base_insn;
2909 #define FLD(f) abuf->fields.sfmt_add2.f
2912 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2914 /* Record the fields for the semantic handler. */
2916 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2917 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2919 #if WITH_PROFILE_MODEL_P
2920 /* Record the fields for profiling. */
2921 if (PROFILE_MODEL_P (current_cpu))
2924 FLD (out_Ri) = f_Ri;
2933 const IDESC *idesc = &fr30bf_insn_data[itype];
2934 CGEN_INSN_INT insn = base_insn;
2935 #define FLD(f) abuf->fields.sfmt_add2.f
2938 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2940 /* Record the fields for the semantic handler. */
2942 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2943 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2945 #if WITH_PROFILE_MODEL_P
2946 /* Record the fields for profiling. */
2947 if (PROFILE_MODEL_P (current_cpu))
2950 FLD (out_Ri) = f_Ri;
2959 const IDESC *idesc = &fr30bf_insn_data[itype];
2960 CGEN_INSN_INT insn = base_insn;
2961 #define FLD(f) abuf->fields.sfmt_add2.f
2964 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2966 /* Record the fields for the semantic handler. */
2968 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2969 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2971 #if WITH_PROFILE_MODEL_P
2972 /* Record the fields for profiling. */
2973 if (PROFILE_MODEL_P (current_cpu))
2976 FLD (out_Ri) = f_Ri;
2985 const IDESC *idesc = &fr30bf_insn_data[itype];
2986 CGEN_INSN_INT insn = base_insn;
2987 #define FLD(f) abuf->fields.sfmt_add2.f
2990 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
2992 /* Record the fields for the semantic handler. */
2994 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2995 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2997 #if WITH_PROFILE_MODEL_P
2998 /* Record the fields for profiling. */
2999 if (PROFILE_MODEL_P (current_cpu))
3002 FLD (out_Ri) = f_Ri;
3011 const IDESC *idesc = &fr30bf_insn_data[itype];
3012 CGEN_INSN_INT insn = base_insn;
3013 #define FLD(f) abuf->fields.sfmt_ldm0.f
3014 UINT f_reglist_low_ld;
3016 f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3018 /* Record the fields for the semantic handler. */
3019 FLD (f_reglist_low_ld) = f_reglist_low_ld;
3020 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0));
3022 #if WITH_PROFILE_MODEL_P
3023 /* Record the fields for profiling. */
3024 if (PROFILE_MODEL_P (current_cpu))
3026 FLD (in_h_gr_15) = 15;
3027 FLD (out_h_gr_0) = 0;
3028 FLD (out_h_gr_1) = 1;
3029 FLD (out_h_gr_15) = 15;
3030 FLD (out_h_gr_2) = 2;
3031 FLD (out_h_gr_3) = 3;
3032 FLD (out_h_gr_4) = 4;
3033 FLD (out_h_gr_5) = 5;
3034 FLD (out_h_gr_6) = 6;
3035 FLD (out_h_gr_7) = 7;
3044 const IDESC *idesc = &fr30bf_insn_data[itype];
3045 CGEN_INSN_INT insn = base_insn;
3046 #define FLD(f) abuf->fields.sfmt_ldm1.f
3047 UINT f_reglist_hi_ld;
3049 f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3051 /* Record the fields for the semantic handler. */
3052 FLD (f_reglist_hi_ld) = f_reglist_hi_ld;
3053 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0));
3055 #if WITH_PROFILE_MODEL_P
3056 /* Record the fields for profiling. */
3057 if (PROFILE_MODEL_P (current_cpu))
3059 FLD (in_h_gr_15) = 15;
3060 FLD (out_h_gr_10) = 10;
3061 FLD (out_h_gr_11) = 11;
3062 FLD (out_h_gr_12) = 12;
3063 FLD (out_h_gr_13) = 13;
3064 FLD (out_h_gr_14) = 14;
3065 FLD (out_h_gr_15) = 15;
3066 FLD (out_h_gr_8) = 8;
3067 FLD (out_h_gr_9) = 9;
3076 const IDESC *idesc = &fr30bf_insn_data[itype];
3077 CGEN_INSN_INT insn = base_insn;
3078 #define FLD(f) abuf->fields.sfmt_stm0.f
3079 UINT f_reglist_low_st;
3081 f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3083 /* Record the fields for the semantic handler. */
3084 FLD (f_reglist_low_st) = f_reglist_low_st;
3085 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0));
3087 #if WITH_PROFILE_MODEL_P
3088 /* Record the fields for profiling. */
3089 if (PROFILE_MODEL_P (current_cpu))
3091 FLD (in_h_gr_0) = 0;
3092 FLD (in_h_gr_1) = 1;
3093 FLD (in_h_gr_15) = 15;
3094 FLD (in_h_gr_2) = 2;
3095 FLD (in_h_gr_3) = 3;
3096 FLD (in_h_gr_4) = 4;
3097 FLD (in_h_gr_5) = 5;
3098 FLD (in_h_gr_6) = 6;
3099 FLD (in_h_gr_7) = 7;
3100 FLD (out_h_gr_15) = 15;
3109 const IDESC *idesc = &fr30bf_insn_data[itype];
3110 CGEN_INSN_INT insn = base_insn;
3111 #define FLD(f) abuf->fields.sfmt_stm1.f
3112 UINT f_reglist_hi_st;
3114 f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3116 /* Record the fields for the semantic handler. */
3117 FLD (f_reglist_hi_st) = f_reglist_hi_st;
3118 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0));
3120 #if WITH_PROFILE_MODEL_P
3121 /* Record the fields for profiling. */
3122 if (PROFILE_MODEL_P (current_cpu))
3124 FLD (in_h_gr_10) = 10;
3125 FLD (in_h_gr_11) = 11;
3126 FLD (in_h_gr_12) = 12;
3127 FLD (in_h_gr_13) = 13;
3128 FLD (in_h_gr_14) = 14;
3129 FLD (in_h_gr_15) = 15;
3130 FLD (in_h_gr_8) = 8;
3131 FLD (in_h_gr_9) = 9;
3132 FLD (out_h_gr_15) = 15;
3141 const IDESC *idesc = &fr30bf_insn_data[itype];
3142 CGEN_INSN_INT insn = base_insn;
3143 #define FLD(f) abuf->fields.sfmt_enter.f
3146 f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
3148 /* Record the fields for the semantic handler. */
3149 FLD (f_u10) = f_u10;
3150 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_enter", "f_u10 0x%x", 'x', f_u10, (char *) 0));
3152 #if WITH_PROFILE_MODEL_P
3153 /* Record the fields for profiling. */
3154 if (PROFILE_MODEL_P (current_cpu))
3156 FLD (in_h_gr_14) = 14;
3157 FLD (in_h_gr_15) = 15;
3158 FLD (out_h_gr_14) = 14;
3159 FLD (out_h_gr_15) = 15;
3168 const IDESC *idesc = &fr30bf_insn_data[itype];
3169 CGEN_INSN_INT insn = base_insn;
3170 #define FLD(f) abuf->fields.sfmt_enter.f
3173 /* Record the fields for the semantic handler. */
3174 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_leave", (char *) 0));
3176 #if WITH_PROFILE_MODEL_P
3177 /* Record the fields for profiling. */
3178 if (PROFILE_MODEL_P (current_cpu))
3180 FLD (in_h_gr_14) = 14;
3181 FLD (in_h_gr_15) = 15;
3182 FLD (out_h_gr_14) = 14;
3183 FLD (out_h_gr_15) = 15;
3192 const IDESC *idesc = &fr30bf_insn_data[itype];
3193 CGEN_INSN_INT insn = base_insn;
3194 #define FLD(f) abuf->fields.sfmt_add.f
3198 f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3199 f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3201 /* Record the fields for the semantic handler. */
3204 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
3205 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
3206 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
3208 #if WITH_PROFILE_MODEL_P
3209 /* Record the fields for profiling. */
3210 if (PROFILE_MODEL_P (current_cpu))
3214 FLD (out_Ri) = f_Ri;