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 /* FIXME: Need to review choices for the following. */
33 #if WITH_SEM_SWITCH_FULL
36 #define FULL(fn) CONCAT3 (fr30bf,_sem_,fn) ,
40 #if WITH_SEM_SWITCH_FAST
43 #define FAST(fn) CONCAT3 (fr30bf,_semf_,fn) , /* f for fast */
49 /* The INSN_ prefix is not here and is instead part of the `insn' argument
50 to avoid collisions with header files (e.g. `AND' in ansidecl.h). */
51 #define IDX(insn) CONCAT2 (FR30BF_,insn)
52 #define TYPE(insn) CONCAT2 (FR30_,insn)
54 /* The instruction descriptor array.
55 This is computed at runtime. Space for it is not malloc'd to save a
56 teensy bit of cpu in the decoder. Moving it to malloc space is trivial
57 but won't be done until necessary (we don't currently support the runtime
58 addition of instructions nor an SMP machine with different cpus). */
59 static IDESC fr30bf_insn_data[FR30BF_INSN_MAX];
61 /* Commas between elements are contained in the macros.
62 Some of these are conditionally compiled out. */
64 static const struct insn_sem fr30bf_insn_sem[] =
66 { VIRTUAL_INSN_X_INVALID, IDX (INSN_X_INVALID), FULL (x_invalid) FAST (x_invalid) },
67 { VIRTUAL_INSN_X_AFTER, IDX (INSN_X_AFTER), FULL (x_after) FAST (x_after) },
68 { VIRTUAL_INSN_X_BEFORE, IDX (INSN_X_BEFORE), FULL (x_before) FAST (x_before) },
69 { VIRTUAL_INSN_X_CTI_CHAIN, IDX (INSN_X_CTI_CHAIN), FULL (x_cti_chain) FAST (x_cti_chain) },
70 { VIRTUAL_INSN_X_CHAIN, IDX (INSN_X_CHAIN), FULL (x_chain) FAST (x_chain) },
71 { VIRTUAL_INSN_X_BEGIN, IDX (INSN_X_BEGIN), FULL (x_begin) FAST (x_begin) },
72 { TYPE (INSN_ADD), IDX (INSN_ADD), FULL (add) FAST (add) },
73 { TYPE (INSN_ADDI), IDX (INSN_ADDI), FULL (addi) FAST (addi) },
74 { TYPE (INSN_ADD2), IDX (INSN_ADD2), FULL (add2) FAST (add2) },
75 { TYPE (INSN_ADDC), IDX (INSN_ADDC), FULL (addc) FAST (addc) },
76 { TYPE (INSN_ADDN), IDX (INSN_ADDN), FULL (addn) FAST (addn) },
77 { TYPE (INSN_ADDNI), IDX (INSN_ADDNI), FULL (addni) FAST (addni) },
78 { TYPE (INSN_ADDN2), IDX (INSN_ADDN2), FULL (addn2) FAST (addn2) },
79 { TYPE (INSN_SUB), IDX (INSN_SUB), FULL (sub) FAST (sub) },
80 { TYPE (INSN_SUBC), IDX (INSN_SUBC), FULL (subc) FAST (subc) },
81 { TYPE (INSN_SUBN), IDX (INSN_SUBN), FULL (subn) FAST (subn) },
82 { TYPE (INSN_CMP), IDX (INSN_CMP), FULL (cmp) FAST (cmp) },
83 { TYPE (INSN_CMPI), IDX (INSN_CMPI), FULL (cmpi) FAST (cmpi) },
84 { TYPE (INSN_CMP2), IDX (INSN_CMP2), FULL (cmp2) FAST (cmp2) },
85 { TYPE (INSN_AND), IDX (INSN_AND), FULL (and) FAST (and) },
86 { TYPE (INSN_OR), IDX (INSN_OR), FULL (or) FAST (or) },
87 { TYPE (INSN_EOR), IDX (INSN_EOR), FULL (eor) FAST (eor) },
88 { TYPE (INSN_ANDM), IDX (INSN_ANDM), FULL (andm) FAST (andm) },
89 { TYPE (INSN_ANDH), IDX (INSN_ANDH), FULL (andh) FAST (andh) },
90 { TYPE (INSN_ANDB), IDX (INSN_ANDB), FULL (andb) FAST (andb) },
91 { TYPE (INSN_ORM), IDX (INSN_ORM), FULL (orm) FAST (orm) },
92 { TYPE (INSN_ORH), IDX (INSN_ORH), FULL (orh) FAST (orh) },
93 { TYPE (INSN_ORB), IDX (INSN_ORB), FULL (orb) FAST (orb) },
94 { TYPE (INSN_EORM), IDX (INSN_EORM), FULL (eorm) FAST (eorm) },
95 { TYPE (INSN_EORH), IDX (INSN_EORH), FULL (eorh) FAST (eorh) },
96 { TYPE (INSN_EORB), IDX (INSN_EORB), FULL (eorb) FAST (eorb) },
97 { TYPE (INSN_BANDL), IDX (INSN_BANDL), FULL (bandl) FAST (bandl) },
98 { TYPE (INSN_BORL), IDX (INSN_BORL), FULL (borl) FAST (borl) },
99 { TYPE (INSN_BEORL), IDX (INSN_BEORL), FULL (beorl) FAST (beorl) },
100 { TYPE (INSN_BANDH), IDX (INSN_BANDH), FULL (bandh) FAST (bandh) },
101 { TYPE (INSN_BORH), IDX (INSN_BORH), FULL (borh) FAST (borh) },
102 { TYPE (INSN_BEORH), IDX (INSN_BEORH), FULL (beorh) FAST (beorh) },
103 { TYPE (INSN_BTSTL), IDX (INSN_BTSTL), FULL (btstl) FAST (btstl) },
104 { TYPE (INSN_BTSTH), IDX (INSN_BTSTH), FULL (btsth) FAST (btsth) },
105 { TYPE (INSN_MUL), IDX (INSN_MUL), FULL (mul) FAST (mul) },
106 { TYPE (INSN_MULU), IDX (INSN_MULU), FULL (mulu) FAST (mulu) },
107 { TYPE (INSN_MULH), IDX (INSN_MULH), FULL (mulh) FAST (mulh) },
108 { TYPE (INSN_MULUH), IDX (INSN_MULUH), FULL (muluh) FAST (muluh) },
109 { TYPE (INSN_DIV0S), IDX (INSN_DIV0S), FULL (div0s) FAST (div0s) },
110 { TYPE (INSN_DIV0U), IDX (INSN_DIV0U), FULL (div0u) FAST (div0u) },
111 { TYPE (INSN_DIV1), IDX (INSN_DIV1), FULL (div1) FAST (div1) },
112 { TYPE (INSN_DIV2), IDX (INSN_DIV2), FULL (div2) FAST (div2) },
113 { TYPE (INSN_DIV3), IDX (INSN_DIV3), FULL (div3) FAST (div3) },
114 { TYPE (INSN_DIV4S), IDX (INSN_DIV4S), FULL (div4s) FAST (div4s) },
115 { TYPE (INSN_LSL), IDX (INSN_LSL), FULL (lsl) FAST (lsl) },
116 { TYPE (INSN_LSLI), IDX (INSN_LSLI), FULL (lsli) FAST (lsli) },
117 { TYPE (INSN_LSL2), IDX (INSN_LSL2), FULL (lsl2) FAST (lsl2) },
118 { TYPE (INSN_LSR), IDX (INSN_LSR), FULL (lsr) FAST (lsr) },
119 { TYPE (INSN_LSRI), IDX (INSN_LSRI), FULL (lsri) FAST (lsri) },
120 { TYPE (INSN_LSR2), IDX (INSN_LSR2), FULL (lsr2) FAST (lsr2) },
121 { TYPE (INSN_ASR), IDX (INSN_ASR), FULL (asr) FAST (asr) },
122 { TYPE (INSN_ASRI), IDX (INSN_ASRI), FULL (asri) FAST (asri) },
123 { TYPE (INSN_ASR2), IDX (INSN_ASR2), FULL (asr2) FAST (asr2) },
124 { TYPE (INSN_LDI8), IDX (INSN_LDI8), FULL (ldi8) FAST (ldi8) },
125 { TYPE (INSN_LDI20), IDX (INSN_LDI20), FULL (ldi20) FAST (ldi20) },
126 { TYPE (INSN_LDI32), IDX (INSN_LDI32), FULL (ldi32) FAST (ldi32) },
127 { TYPE (INSN_LD), IDX (INSN_LD), FULL (ld) FAST (ld) },
128 { TYPE (INSN_LDUH), IDX (INSN_LDUH), FULL (lduh) FAST (lduh) },
129 { TYPE (INSN_LDUB), IDX (INSN_LDUB), FULL (ldub) FAST (ldub) },
130 { TYPE (INSN_LDR13), IDX (INSN_LDR13), FULL (ldr13) FAST (ldr13) },
131 { TYPE (INSN_LDR13UH), IDX (INSN_LDR13UH), FULL (ldr13uh) FAST (ldr13uh) },
132 { TYPE (INSN_LDR13UB), IDX (INSN_LDR13UB), FULL (ldr13ub) FAST (ldr13ub) },
133 { TYPE (INSN_LDR14), IDX (INSN_LDR14), FULL (ldr14) FAST (ldr14) },
134 { TYPE (INSN_LDR14UH), IDX (INSN_LDR14UH), FULL (ldr14uh) FAST (ldr14uh) },
135 { TYPE (INSN_LDR14UB), IDX (INSN_LDR14UB), FULL (ldr14ub) FAST (ldr14ub) },
136 { TYPE (INSN_LDR15), IDX (INSN_LDR15), FULL (ldr15) FAST (ldr15) },
137 { TYPE (INSN_LDR15GR), IDX (INSN_LDR15GR), FULL (ldr15gr) FAST (ldr15gr) },
138 { TYPE (INSN_LDR15DR), IDX (INSN_LDR15DR), FULL (ldr15dr) FAST (ldr15dr) },
139 { TYPE (INSN_LDR15PS), IDX (INSN_LDR15PS), FULL (ldr15ps) FAST (ldr15ps) },
140 { TYPE (INSN_ST), IDX (INSN_ST), FULL (st) FAST (st) },
141 { TYPE (INSN_STH), IDX (INSN_STH), FULL (sth) FAST (sth) },
142 { TYPE (INSN_STB), IDX (INSN_STB), FULL (stb) FAST (stb) },
143 { TYPE (INSN_STR13), IDX (INSN_STR13), FULL (str13) FAST (str13) },
144 { TYPE (INSN_STR13H), IDX (INSN_STR13H), FULL (str13h) FAST (str13h) },
145 { TYPE (INSN_STR13B), IDX (INSN_STR13B), FULL (str13b) FAST (str13b) },
146 { TYPE (INSN_STR14), IDX (INSN_STR14), FULL (str14) FAST (str14) },
147 { TYPE (INSN_STR14H), IDX (INSN_STR14H), FULL (str14h) FAST (str14h) },
148 { TYPE (INSN_STR14B), IDX (INSN_STR14B), FULL (str14b) FAST (str14b) },
149 { TYPE (INSN_STR15), IDX (INSN_STR15), FULL (str15) FAST (str15) },
150 { TYPE (INSN_STR15GR), IDX (INSN_STR15GR), FULL (str15gr) FAST (str15gr) },
151 { TYPE (INSN_STR15DR), IDX (INSN_STR15DR), FULL (str15dr) FAST (str15dr) },
152 { TYPE (INSN_STR15PS), IDX (INSN_STR15PS), FULL (str15ps) FAST (str15ps) },
153 { TYPE (INSN_MOV), IDX (INSN_MOV), FULL (mov) FAST (mov) },
154 { TYPE (INSN_MOVDR), IDX (INSN_MOVDR), FULL (movdr) FAST (movdr) },
155 { TYPE (INSN_MOVPS), IDX (INSN_MOVPS), FULL (movps) FAST (movps) },
156 { TYPE (INSN_MOV2DR), IDX (INSN_MOV2DR), FULL (mov2dr) FAST (mov2dr) },
157 { TYPE (INSN_MOV2PS), IDX (INSN_MOV2PS), FULL (mov2ps) FAST (mov2ps) },
158 { TYPE (INSN_JMP), IDX (INSN_JMP), FULL (jmp) FAST (jmp) },
159 { TYPE (INSN_JMPD), IDX (INSN_JMPD), FULL (jmpd) FAST (jmpd) },
160 { TYPE (INSN_CALLR), IDX (INSN_CALLR), FULL (callr) FAST (callr) },
161 { TYPE (INSN_CALLRD), IDX (INSN_CALLRD), FULL (callrd) FAST (callrd) },
162 { TYPE (INSN_CALL), IDX (INSN_CALL), FULL (call) FAST (call) },
163 { TYPE (INSN_CALLD), IDX (INSN_CALLD), FULL (calld) FAST (calld) },
164 { TYPE (INSN_RET), IDX (INSN_RET), FULL (ret) FAST (ret) },
165 { TYPE (INSN_RET_D), IDX (INSN_RET_D), FULL (ret_d) FAST (ret_d) },
166 { TYPE (INSN_INT), IDX (INSN_INT), FULL (int) FAST (int) },
167 { TYPE (INSN_INTE), IDX (INSN_INTE), FULL (inte) FAST (inte) },
168 { TYPE (INSN_RETI), IDX (INSN_RETI), FULL (reti) FAST (reti) },
169 { TYPE (INSN_BRAD), IDX (INSN_BRAD), FULL (brad) FAST (brad) },
170 { TYPE (INSN_BRA), IDX (INSN_BRA), FULL (bra) FAST (bra) },
171 { TYPE (INSN_BNOD), IDX (INSN_BNOD), FULL (bnod) FAST (bnod) },
172 { TYPE (INSN_BNO), IDX (INSN_BNO), FULL (bno) FAST (bno) },
173 { TYPE (INSN_BEQD), IDX (INSN_BEQD), FULL (beqd) FAST (beqd) },
174 { TYPE (INSN_BEQ), IDX (INSN_BEQ), FULL (beq) FAST (beq) },
175 { TYPE (INSN_BNED), IDX (INSN_BNED), FULL (bned) FAST (bned) },
176 { TYPE (INSN_BNE), IDX (INSN_BNE), FULL (bne) FAST (bne) },
177 { TYPE (INSN_BCD), IDX (INSN_BCD), FULL (bcd) FAST (bcd) },
178 { TYPE (INSN_BC), IDX (INSN_BC), FULL (bc) FAST (bc) },
179 { TYPE (INSN_BNCD), IDX (INSN_BNCD), FULL (bncd) FAST (bncd) },
180 { TYPE (INSN_BNC), IDX (INSN_BNC), FULL (bnc) FAST (bnc) },
181 { TYPE (INSN_BND), IDX (INSN_BND), FULL (bnd) FAST (bnd) },
182 { TYPE (INSN_BN), IDX (INSN_BN), FULL (bn) FAST (bn) },
183 { TYPE (INSN_BPD), IDX (INSN_BPD), FULL (bpd) FAST (bpd) },
184 { TYPE (INSN_BP), IDX (INSN_BP), FULL (bp) FAST (bp) },
185 { TYPE (INSN_BVD), IDX (INSN_BVD), FULL (bvd) FAST (bvd) },
186 { TYPE (INSN_BV), IDX (INSN_BV), FULL (bv) FAST (bv) },
187 { TYPE (INSN_BNVD), IDX (INSN_BNVD), FULL (bnvd) FAST (bnvd) },
188 { TYPE (INSN_BNV), IDX (INSN_BNV), FULL (bnv) FAST (bnv) },
189 { TYPE (INSN_BLTD), IDX (INSN_BLTD), FULL (bltd) FAST (bltd) },
190 { TYPE (INSN_BLT), IDX (INSN_BLT), FULL (blt) FAST (blt) },
191 { TYPE (INSN_BGED), IDX (INSN_BGED), FULL (bged) FAST (bged) },
192 { TYPE (INSN_BGE), IDX (INSN_BGE), FULL (bge) FAST (bge) },
193 { TYPE (INSN_BLED), IDX (INSN_BLED), FULL (bled) FAST (bled) },
194 { TYPE (INSN_BLE), IDX (INSN_BLE), FULL (ble) FAST (ble) },
195 { TYPE (INSN_BGTD), IDX (INSN_BGTD), FULL (bgtd) FAST (bgtd) },
196 { TYPE (INSN_BGT), IDX (INSN_BGT), FULL (bgt) FAST (bgt) },
197 { TYPE (INSN_BLSD), IDX (INSN_BLSD), FULL (blsd) FAST (blsd) },
198 { TYPE (INSN_BLS), IDX (INSN_BLS), FULL (bls) FAST (bls) },
199 { TYPE (INSN_BHID), IDX (INSN_BHID), FULL (bhid) FAST (bhid) },
200 { TYPE (INSN_BHI), IDX (INSN_BHI), FULL (bhi) FAST (bhi) },
201 { TYPE (INSN_DMOVR13), IDX (INSN_DMOVR13), FULL (dmovr13) FAST (dmovr13) },
202 { TYPE (INSN_DMOVR13H), IDX (INSN_DMOVR13H), FULL (dmovr13h) FAST (dmovr13h) },
203 { TYPE (INSN_DMOVR13B), IDX (INSN_DMOVR13B), FULL (dmovr13b) FAST (dmovr13b) },
204 { TYPE (INSN_DMOVR13PI), IDX (INSN_DMOVR13PI), FULL (dmovr13pi) FAST (dmovr13pi) },
205 { TYPE (INSN_DMOVR13PIH), IDX (INSN_DMOVR13PIH), FULL (dmovr13pih) FAST (dmovr13pih) },
206 { TYPE (INSN_DMOVR13PIB), IDX (INSN_DMOVR13PIB), FULL (dmovr13pib) FAST (dmovr13pib) },
207 { TYPE (INSN_DMOVR15PI), IDX (INSN_DMOVR15PI), FULL (dmovr15pi) FAST (dmovr15pi) },
208 { TYPE (INSN_DMOV2R13), IDX (INSN_DMOV2R13), FULL (dmov2r13) FAST (dmov2r13) },
209 { TYPE (INSN_DMOV2R13H), IDX (INSN_DMOV2R13H), FULL (dmov2r13h) FAST (dmov2r13h) },
210 { TYPE (INSN_DMOV2R13B), IDX (INSN_DMOV2R13B), FULL (dmov2r13b) FAST (dmov2r13b) },
211 { TYPE (INSN_DMOV2R13PI), IDX (INSN_DMOV2R13PI), FULL (dmov2r13pi) FAST (dmov2r13pi) },
212 { TYPE (INSN_DMOV2R13PIH), IDX (INSN_DMOV2R13PIH), FULL (dmov2r13pih) FAST (dmov2r13pih) },
213 { TYPE (INSN_DMOV2R13PIB), IDX (INSN_DMOV2R13PIB), FULL (dmov2r13pib) FAST (dmov2r13pib) },
214 { TYPE (INSN_DMOV2R15PD), IDX (INSN_DMOV2R15PD), FULL (dmov2r15pd) FAST (dmov2r15pd) },
215 { TYPE (INSN_LDRES), IDX (INSN_LDRES), FULL (ldres) FAST (ldres) },
216 { TYPE (INSN_STRES), IDX (INSN_STRES), FULL (stres) FAST (stres) },
217 { TYPE (INSN_COPOP), IDX (INSN_COPOP), FULL (copop) FAST (copop) },
218 { TYPE (INSN_COPLD), IDX (INSN_COPLD), FULL (copld) FAST (copld) },
219 { TYPE (INSN_COPST), IDX (INSN_COPST), FULL (copst) FAST (copst) },
220 { TYPE (INSN_COPSV), IDX (INSN_COPSV), FULL (copsv) FAST (copsv) },
221 { TYPE (INSN_NOP), IDX (INSN_NOP), FULL (nop) FAST (nop) },
222 { TYPE (INSN_ANDCCR), IDX (INSN_ANDCCR), FULL (andccr) FAST (andccr) },
223 { TYPE (INSN_ORCCR), IDX (INSN_ORCCR), FULL (orccr) FAST (orccr) },
224 { TYPE (INSN_STILM), IDX (INSN_STILM), FULL (stilm) FAST (stilm) },
225 { TYPE (INSN_ADDSP), IDX (INSN_ADDSP), FULL (addsp) FAST (addsp) },
226 { TYPE (INSN_EXTSB), IDX (INSN_EXTSB), FULL (extsb) FAST (extsb) },
227 { TYPE (INSN_EXTUB), IDX (INSN_EXTUB), FULL (extub) FAST (extub) },
228 { TYPE (INSN_EXTSH), IDX (INSN_EXTSH), FULL (extsh) FAST (extsh) },
229 { TYPE (INSN_EXTUH), IDX (INSN_EXTUH), FULL (extuh) FAST (extuh) },
230 { TYPE (INSN_LDM0), IDX (INSN_LDM0), FULL (ldm0) FAST (ldm0) },
231 { TYPE (INSN_LDM1), IDX (INSN_LDM1), FULL (ldm1) FAST (ldm1) },
232 { TYPE (INSN_STM0), IDX (INSN_STM0), FULL (stm0) FAST (stm0) },
233 { TYPE (INSN_STM1), IDX (INSN_STM1), FULL (stm1) FAST (stm1) },
234 { TYPE (INSN_ENTER), IDX (INSN_ENTER), FULL (enter) FAST (enter) },
235 { TYPE (INSN_LEAVE), IDX (INSN_LEAVE), FULL (leave) FAST (leave) },
236 { TYPE (INSN_XCHB), IDX (INSN_XCHB), FULL (xchb) FAST (xchb) },
239 static const struct insn_sem fr30bf_insn_sem_invalid =
241 VIRTUAL_INSN_X_INVALID, IDX (INSN_X_INVALID), FULL (x_invalid) FAST (x_invalid)
250 /* Initialize an IDESC from the compile-time computable parts. */
253 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
255 const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
258 if ((int) t->type <= 0)
259 id->idata = & cgen_virtual_insn_table[- (int) t->type];
261 id->idata = & insn_table[t->type];
262 id->attrs = CGEN_INSN_ATTRS (id->idata);
263 /* Oh my god, a magic number. */
264 id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
265 #if ! WITH_SEM_SWITCH_FULL
266 id->sem_full = t->sem_full;
268 #if WITH_FAST && ! WITH_SEM_SWITCH_FAST
269 id->sem_fast = t->sem_fast;
271 #if WITH_PROFILE_MODEL_P
272 id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
274 SIM_DESC sd = CPU_STATE (cpu);
275 SIM_ASSERT (t->index == id->timing->num);
280 /* Initialize the instruction descriptor table. */
283 fr30bf_init_idesc_table (SIM_CPU *cpu)
286 const struct insn_sem *t,*tend;
287 int tabsize = FR30BF_INSN_MAX;
288 IDESC *table = fr30bf_insn_data;
290 memset (table, 0, tabsize * sizeof (IDESC));
292 /* First set all entries to the `invalid insn'. */
293 t = & fr30bf_insn_sem_invalid;
294 for (id = table, tabend = table + tabsize; id < tabend; ++id)
295 init_idesc (cpu, id, t);
297 /* Now fill in the values for the chosen cpu. */
298 for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t);
301 init_idesc (cpu, & table[t->index], t);
304 /* Link the IDESC table into the cpu. */
305 CPU_IDESC (cpu) = table;
308 /* Given an instruction, return a pointer to its IDESC entry. */
311 fr30bf_decode (SIM_CPU *current_cpu, IADDR pc,
312 CGEN_INSN_INT base_insn,
315 /* Result of decoder. */
316 FR30BF_INSN_TYPE itype;
319 CGEN_INSN_INT insn = base_insn;
322 unsigned int val = (((insn >> 8) & (255 << 0)));
325 case 0 : itype = FR30BF_INSN_LDR13; goto extract_fmt_ldr13;
326 case 1 : itype = FR30BF_INSN_LDR13UH; goto extract_fmt_ldr13uh;
327 case 2 : itype = FR30BF_INSN_LDR13UB; goto extract_fmt_ldr13ub;
328 case 3 : itype = FR30BF_INSN_LDR15; goto extract_fmt_ldr15;
329 case 4 : itype = FR30BF_INSN_LD; goto extract_fmt_ld;
330 case 5 : itype = FR30BF_INSN_LDUH; goto extract_fmt_lduh;
331 case 6 : itype = FR30BF_INSN_LDUB; goto extract_fmt_ldub;
334 unsigned int val = (((insn >> 4) & (15 << 0)));
337 case 0 : itype = FR30BF_INSN_LDR15GR; goto extract_fmt_ldr15gr;
338 case 1 : itype = FR30BF_INSN_MOV2PS; goto extract_fmt_mov2ps;
339 case 8 : itype = FR30BF_INSN_LDR15DR; goto extract_fmt_ldr15dr;
340 case 9 : itype = FR30BF_INSN_LDR15PS; goto extract_fmt_ldr15ps;
341 default : itype = FR30BF_INSN_X_INVALID; goto extract_fmt_empty;
344 case 8 : itype = FR30BF_INSN_DMOV2R13; goto extract_fmt_dmov2r13;
345 case 9 : itype = FR30BF_INSN_DMOV2R13H; goto extract_fmt_dmov2r13h;
346 case 10 : itype = FR30BF_INSN_DMOV2R13B; goto extract_fmt_dmov2r13b;
347 case 11 : itype = FR30BF_INSN_DMOV2R15PD; goto extract_fmt_dmov2r15pd;
348 case 12 : itype = FR30BF_INSN_DMOV2R13PI; goto extract_fmt_dmov2r13pi;
349 case 13 : itype = FR30BF_INSN_DMOV2R13PIH; goto extract_fmt_dmov2r13pih;
350 case 14 : itype = FR30BF_INSN_DMOV2R13PIB; goto extract_fmt_dmov2r13pib;
351 case 15 : itype = FR30BF_INSN_ENTER; goto extract_fmt_enter;
352 case 16 : itype = FR30BF_INSN_STR13; goto extract_fmt_str13;
353 case 17 : itype = FR30BF_INSN_STR13H; goto extract_fmt_str13h;
354 case 18 : itype = FR30BF_INSN_STR13B; goto extract_fmt_str13b;
355 case 19 : itype = FR30BF_INSN_STR15; goto extract_fmt_str15;
356 case 20 : itype = FR30BF_INSN_ST; goto extract_fmt_st;
357 case 21 : itype = FR30BF_INSN_STH; goto extract_fmt_sth;
358 case 22 : itype = FR30BF_INSN_STB; goto extract_fmt_stb;
361 unsigned int val = (((insn >> 4) & (15 << 0)));
364 case 0 : itype = FR30BF_INSN_STR15GR; goto extract_fmt_str15gr;
365 case 1 : itype = FR30BF_INSN_MOVPS; goto extract_fmt_movps;
366 case 8 : itype = FR30BF_INSN_STR15DR; goto extract_fmt_str15dr;
367 case 9 : itype = FR30BF_INSN_STR15PS; goto extract_fmt_str15ps;
368 default : itype = FR30BF_INSN_X_INVALID; goto extract_fmt_empty;
371 case 24 : itype = FR30BF_INSN_DMOVR13; goto extract_fmt_dmovr13;
372 case 25 : itype = FR30BF_INSN_DMOVR13H; goto extract_fmt_dmovr13h;
373 case 26 : itype = FR30BF_INSN_DMOVR13B; goto extract_fmt_dmovr13b;
374 case 27 : itype = FR30BF_INSN_DMOVR15PI; goto extract_fmt_dmovr15pi;
375 case 28 : itype = FR30BF_INSN_DMOVR13PI; goto extract_fmt_dmovr13pi;
376 case 29 : itype = FR30BF_INSN_DMOVR13PIH; goto extract_fmt_dmovr13pih;
377 case 30 : itype = FR30BF_INSN_DMOVR13PIB; goto extract_fmt_dmovr13pib;
378 case 31 : itype = FR30BF_INSN_INT; goto extract_fmt_int;
379 case 32 : /* fall through */
380 case 33 : /* fall through */
381 case 34 : /* fall through */
382 case 35 : /* fall through */
383 case 36 : /* fall through */
384 case 37 : /* fall through */
385 case 38 : /* fall through */
386 case 39 : /* fall through */
387 case 40 : /* fall through */
388 case 41 : /* fall through */
389 case 42 : /* fall through */
390 case 43 : /* fall through */
391 case 44 : /* fall through */
392 case 45 : /* fall through */
393 case 46 : /* fall through */
394 case 47 : itype = FR30BF_INSN_LDR14; goto extract_fmt_ldr14;
395 case 48 : /* fall through */
396 case 49 : /* fall through */
397 case 50 : /* fall through */
398 case 51 : /* fall through */
399 case 52 : /* fall through */
400 case 53 : /* fall through */
401 case 54 : /* fall through */
402 case 55 : /* fall through */
403 case 56 : /* fall through */
404 case 57 : /* fall through */
405 case 58 : /* fall through */
406 case 59 : /* fall through */
407 case 60 : /* fall through */
408 case 61 : /* fall through */
409 case 62 : /* fall through */
410 case 63 : itype = FR30BF_INSN_STR14; goto extract_fmt_str14;
411 case 64 : /* fall through */
412 case 65 : /* fall through */
413 case 66 : /* fall through */
414 case 67 : /* fall through */
415 case 68 : /* fall through */
416 case 69 : /* fall through */
417 case 70 : /* fall through */
418 case 71 : /* fall through */
419 case 72 : /* fall through */
420 case 73 : /* fall through */
421 case 74 : /* fall through */
422 case 75 : /* fall through */
423 case 76 : /* fall through */
424 case 77 : /* fall through */
425 case 78 : /* fall through */
426 case 79 : itype = FR30BF_INSN_LDR14UH; goto extract_fmt_ldr14uh;
427 case 80 : /* fall through */
428 case 81 : /* fall through */
429 case 82 : /* fall through */
430 case 83 : /* fall through */
431 case 84 : /* fall through */
432 case 85 : /* fall through */
433 case 86 : /* fall through */
434 case 87 : /* fall through */
435 case 88 : /* fall through */
436 case 89 : /* fall through */
437 case 90 : /* fall through */
438 case 91 : /* fall through */
439 case 92 : /* fall through */
440 case 93 : /* fall through */
441 case 94 : /* fall through */
442 case 95 : itype = FR30BF_INSN_STR14H; goto extract_fmt_str14h;
443 case 96 : /* fall through */
444 case 97 : /* fall through */
445 case 98 : /* fall through */
446 case 99 : /* fall through */
447 case 100 : /* fall through */
448 case 101 : /* fall through */
449 case 102 : /* fall through */
450 case 103 : /* fall through */
451 case 104 : /* fall through */
452 case 105 : /* fall through */
453 case 106 : /* fall through */
454 case 107 : /* fall through */
455 case 108 : /* fall through */
456 case 109 : /* fall through */
457 case 110 : /* fall through */
458 case 111 : itype = FR30BF_INSN_LDR14UB; goto extract_fmt_ldr14ub;
459 case 112 : /* fall through */
460 case 113 : /* fall through */
461 case 114 : /* fall through */
462 case 115 : /* fall through */
463 case 116 : /* fall through */
464 case 117 : /* fall through */
465 case 118 : /* fall through */
466 case 119 : /* fall through */
467 case 120 : /* fall through */
468 case 121 : /* fall through */
469 case 122 : /* fall through */
470 case 123 : /* fall through */
471 case 124 : /* fall through */
472 case 125 : /* fall through */
473 case 126 : /* fall through */
474 case 127 : itype = FR30BF_INSN_STR14B; goto extract_fmt_str14b;
475 case 128 : itype = FR30BF_INSN_BANDL; goto extract_fmt_bandl;
476 case 129 : itype = FR30BF_INSN_BANDH; goto extract_fmt_bandl;
477 case 130 : itype = FR30BF_INSN_AND; goto extract_fmt_and;
478 case 131 : itype = FR30BF_INSN_ANDCCR; goto extract_fmt_andccr;
479 case 132 : itype = FR30BF_INSN_ANDM; goto extract_fmt_andm;
480 case 133 : itype = FR30BF_INSN_ANDH; goto extract_fmt_andh;
481 case 134 : itype = FR30BF_INSN_ANDB; goto extract_fmt_andb;
482 case 135 : itype = FR30BF_INSN_STILM; goto extract_fmt_stilm;
483 case 136 : itype = FR30BF_INSN_BTSTL; goto extract_fmt_btstl;
484 case 137 : itype = FR30BF_INSN_BTSTH; goto extract_fmt_btstl;
485 case 138 : itype = FR30BF_INSN_XCHB; goto extract_fmt_xchb;
486 case 139 : itype = FR30BF_INSN_MOV; goto extract_fmt_mov;
487 case 140 : itype = FR30BF_INSN_LDM0; goto extract_fmt_ldm0;
488 case 141 : itype = FR30BF_INSN_LDM1; goto extract_fmt_ldm1;
489 case 142 : itype = FR30BF_INSN_STM0; goto extract_fmt_stm0;
490 case 143 : itype = FR30BF_INSN_STM1; goto extract_fmt_stm1;
491 case 144 : itype = FR30BF_INSN_BORL; goto extract_fmt_bandl;
492 case 145 : itype = FR30BF_INSN_BORH; goto extract_fmt_bandl;
493 case 146 : itype = FR30BF_INSN_OR; goto extract_fmt_and;
494 case 147 : itype = FR30BF_INSN_ORCCR; goto extract_fmt_andccr;
495 case 148 : itype = FR30BF_INSN_ORM; goto extract_fmt_andm;
496 case 149 : itype = FR30BF_INSN_ORH; goto extract_fmt_andh;
497 case 150 : itype = FR30BF_INSN_ORB; goto extract_fmt_andb;
500 unsigned int val = (((insn >> 4) & (15 << 0)));
503 case 0 : itype = FR30BF_INSN_JMP; goto extract_fmt_jmp;
504 case 1 : itype = FR30BF_INSN_CALLR; goto extract_fmt_callr;
505 case 2 : itype = FR30BF_INSN_RET; goto extract_fmt_ret;
506 case 3 : itype = FR30BF_INSN_RETI; goto extract_fmt_reti;
507 case 4 : itype = FR30BF_INSN_DIV0S; goto extract_fmt_div0s;
508 case 5 : itype = FR30BF_INSN_DIV0U; goto extract_fmt_div0u;
509 case 6 : itype = FR30BF_INSN_DIV1; goto extract_fmt_div1;
510 case 7 : itype = FR30BF_INSN_DIV2; goto extract_fmt_div2;
511 case 8 : itype = FR30BF_INSN_EXTSB; goto extract_fmt_extsb;
512 case 9 : itype = FR30BF_INSN_EXTUB; goto extract_fmt_extub;
513 case 10 : itype = FR30BF_INSN_EXTSH; goto extract_fmt_extsh;
514 case 11 : itype = FR30BF_INSN_EXTUH; goto extract_fmt_extuh;
515 default : itype = FR30BF_INSN_X_INVALID; goto extract_fmt_empty;
518 case 152 : itype = FR30BF_INSN_BEORL; goto extract_fmt_bandl;
519 case 153 : itype = FR30BF_INSN_BEORH; goto extract_fmt_bandl;
520 case 154 : itype = FR30BF_INSN_EOR; goto extract_fmt_and;
521 case 155 : itype = FR30BF_INSN_LDI20; goto extract_fmt_ldi20;
522 case 156 : itype = FR30BF_INSN_EORM; goto extract_fmt_andm;
523 case 157 : itype = FR30BF_INSN_EORH; goto extract_fmt_andh;
524 case 158 : itype = FR30BF_INSN_EORB; goto extract_fmt_andb;
527 unsigned int val = (((insn >> 4) & (15 << 0)));
530 case 0 : itype = FR30BF_INSN_JMPD; goto extract_fmt_jmp;
531 case 1 : itype = FR30BF_INSN_CALLRD; goto extract_fmt_callr;
532 case 2 : itype = FR30BF_INSN_RET_D; goto extract_fmt_ret;
533 case 3 : itype = FR30BF_INSN_INTE; goto extract_fmt_inte;
534 case 6 : itype = FR30BF_INSN_DIV3; goto extract_fmt_div3;
535 case 7 : itype = FR30BF_INSN_DIV4S; goto extract_fmt_div4s;
536 case 8 : itype = FR30BF_INSN_LDI32; goto extract_fmt_ldi32;
537 case 9 : itype = FR30BF_INSN_LEAVE; goto extract_fmt_leave;
538 case 10 : itype = FR30BF_INSN_NOP; goto extract_fmt_nop;
539 case 12 : itype = FR30BF_INSN_COPOP; goto extract_fmt_copop;
540 case 13 : itype = FR30BF_INSN_COPLD; goto extract_fmt_copld;
541 case 14 : itype = FR30BF_INSN_COPST; goto extract_fmt_copst;
542 case 15 : itype = FR30BF_INSN_COPSV; goto extract_fmt_copst;
543 default : itype = FR30BF_INSN_X_INVALID; goto extract_fmt_empty;
546 case 160 : itype = FR30BF_INSN_ADDNI; goto extract_fmt_addni;
547 case 161 : itype = FR30BF_INSN_ADDN2; goto extract_fmt_addn2;
548 case 162 : itype = FR30BF_INSN_ADDN; goto extract_fmt_addn;
549 case 163 : itype = FR30BF_INSN_ADDSP; goto extract_fmt_addsp;
550 case 164 : itype = FR30BF_INSN_ADDI; goto extract_fmt_addi;
551 case 165 : itype = FR30BF_INSN_ADD2; goto extract_fmt_add2;
552 case 166 : itype = FR30BF_INSN_ADD; goto extract_fmt_add;
553 case 167 : itype = FR30BF_INSN_ADDC; goto extract_fmt_addc;
554 case 168 : itype = FR30BF_INSN_CMPI; goto extract_fmt_cmpi;
555 case 169 : itype = FR30BF_INSN_CMP2; goto extract_fmt_cmp2;
556 case 170 : itype = FR30BF_INSN_CMP; goto extract_fmt_cmp;
557 case 171 : itype = FR30BF_INSN_MULU; goto extract_fmt_mulu;
558 case 172 : itype = FR30BF_INSN_SUB; goto extract_fmt_add;
559 case 173 : itype = FR30BF_INSN_SUBC; goto extract_fmt_addc;
560 case 174 : itype = FR30BF_INSN_SUBN; goto extract_fmt_addn;
561 case 175 : itype = FR30BF_INSN_MUL; goto extract_fmt_mul;
562 case 176 : itype = FR30BF_INSN_LSRI; goto extract_fmt_lsli;
563 case 177 : itype = FR30BF_INSN_LSR2; goto extract_fmt_lsli;
564 case 178 : itype = FR30BF_INSN_LSR; goto extract_fmt_lsl;
565 case 179 : itype = FR30BF_INSN_MOV2DR; goto extract_fmt_mov2dr;
566 case 180 : itype = FR30BF_INSN_LSLI; goto extract_fmt_lsli;
567 case 181 : itype = FR30BF_INSN_LSL2; goto extract_fmt_lsli;
568 case 182 : itype = FR30BF_INSN_LSL; goto extract_fmt_lsl;
569 case 183 : itype = FR30BF_INSN_MOVDR; goto extract_fmt_movdr;
570 case 184 : itype = FR30BF_INSN_ASRI; goto extract_fmt_lsli;
571 case 185 : itype = FR30BF_INSN_ASR2; goto extract_fmt_lsli;
572 case 186 : itype = FR30BF_INSN_ASR; goto extract_fmt_lsl;
573 case 187 : itype = FR30BF_INSN_MULUH; goto extract_fmt_mulh;
574 case 188 : itype = FR30BF_INSN_LDRES; goto extract_fmt_ldres;
575 case 189 : itype = FR30BF_INSN_STRES; goto extract_fmt_ldres;
576 case 191 : itype = FR30BF_INSN_MULH; goto extract_fmt_mulh;
577 case 192 : /* fall through */
578 case 193 : /* fall through */
579 case 194 : /* fall through */
580 case 195 : /* fall through */
581 case 196 : /* fall through */
582 case 197 : /* fall through */
583 case 198 : /* fall through */
584 case 199 : /* fall through */
585 case 200 : /* fall through */
586 case 201 : /* fall through */
587 case 202 : /* fall through */
588 case 203 : /* fall through */
589 case 204 : /* fall through */
590 case 205 : /* fall through */
591 case 206 : /* fall through */
592 case 207 : itype = FR30BF_INSN_LDI8; goto extract_fmt_ldi8;
593 case 208 : /* fall through */
594 case 209 : /* fall through */
595 case 210 : /* fall through */
596 case 211 : /* fall through */
597 case 212 : /* fall through */
598 case 213 : /* fall through */
599 case 214 : /* fall through */
600 case 215 : itype = FR30BF_INSN_CALL; goto extract_fmt_call;
601 case 216 : /* fall through */
602 case 217 : /* fall through */
603 case 218 : /* fall through */
604 case 219 : /* fall through */
605 case 220 : /* fall through */
606 case 221 : /* fall through */
607 case 222 : /* fall through */
608 case 223 : itype = FR30BF_INSN_CALLD; goto extract_fmt_call;
609 case 224 : itype = FR30BF_INSN_BRA; goto extract_fmt_brad;
610 case 225 : itype = FR30BF_INSN_BNO; goto extract_fmt_bnod;
611 case 226 : itype = FR30BF_INSN_BEQ; goto extract_fmt_beqd;
612 case 227 : itype = FR30BF_INSN_BNE; goto extract_fmt_beqd;
613 case 228 : itype = FR30BF_INSN_BC; goto extract_fmt_bcd;
614 case 229 : itype = FR30BF_INSN_BNC; goto extract_fmt_bcd;
615 case 230 : itype = FR30BF_INSN_BN; goto extract_fmt_bnd;
616 case 231 : itype = FR30BF_INSN_BP; goto extract_fmt_bnd;
617 case 232 : itype = FR30BF_INSN_BV; goto extract_fmt_bvd;
618 case 233 : itype = FR30BF_INSN_BNV; goto extract_fmt_bvd;
619 case 234 : itype = FR30BF_INSN_BLT; goto extract_fmt_bltd;
620 case 235 : itype = FR30BF_INSN_BGE; goto extract_fmt_bltd;
621 case 236 : itype = FR30BF_INSN_BLE; goto extract_fmt_bled;
622 case 237 : itype = FR30BF_INSN_BGT; goto extract_fmt_bled;
623 case 238 : itype = FR30BF_INSN_BLS; goto extract_fmt_blsd;
624 case 239 : itype = FR30BF_INSN_BHI; goto extract_fmt_blsd;
625 case 240 : itype = FR30BF_INSN_BRAD; goto extract_fmt_brad;
626 case 241 : itype = FR30BF_INSN_BNOD; goto extract_fmt_bnod;
627 case 242 : itype = FR30BF_INSN_BEQD; goto extract_fmt_beqd;
628 case 243 : itype = FR30BF_INSN_BNED; goto extract_fmt_beqd;
629 case 244 : itype = FR30BF_INSN_BCD; goto extract_fmt_bcd;
630 case 245 : itype = FR30BF_INSN_BNCD; goto extract_fmt_bcd;
631 case 246 : itype = FR30BF_INSN_BND; goto extract_fmt_bnd;
632 case 247 : itype = FR30BF_INSN_BPD; goto extract_fmt_bnd;
633 case 248 : itype = FR30BF_INSN_BVD; goto extract_fmt_bvd;
634 case 249 : itype = FR30BF_INSN_BNVD; goto extract_fmt_bvd;
635 case 250 : itype = FR30BF_INSN_BLTD; goto extract_fmt_bltd;
636 case 251 : itype = FR30BF_INSN_BGED; goto extract_fmt_bltd;
637 case 252 : itype = FR30BF_INSN_BLED; goto extract_fmt_bled;
638 case 253 : itype = FR30BF_INSN_BGTD; goto extract_fmt_bled;
639 case 254 : itype = FR30BF_INSN_BLSD; goto extract_fmt_blsd;
640 case 255 : itype = FR30BF_INSN_BHID; goto extract_fmt_blsd;
641 default : itype = FR30BF_INSN_X_INVALID; goto extract_fmt_empty;
646 /* The instruction has been decoded, now extract the fields. */
650 const IDESC *idesc = &fr30bf_insn_data[itype];
651 CGEN_INSN_INT insn = base_insn;
652 #define FLD(f) abuf->fields.fmt_empty.f
653 EXTRACT_IFMT_EMPTY_VARS /* */
655 EXTRACT_IFMT_EMPTY_CODE
657 /* Record the fields for the semantic handler. */
658 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_empty", (char *) 0));
666 const IDESC *idesc = &fr30bf_insn_data[itype];
667 CGEN_INSN_INT insn = base_insn;
668 #define FLD(f) abuf->fields.fmt_add.f
669 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
671 EXTRACT_IFMT_ADD_CODE
673 /* Record the fields for the semantic handler. */
674 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
675 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
676 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_add", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
678 #if WITH_PROFILE_MODEL_P
679 /* Record the fields for profiling. */
680 if (PROFILE_MODEL_P (current_cpu))
693 const IDESC *idesc = &fr30bf_insn_data[itype];
694 CGEN_INSN_INT insn = base_insn;
695 #define FLD(f) abuf->fields.fmt_addi.f
696 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
698 EXTRACT_IFMT_ADDI_CODE
700 /* Record the fields for the semantic handler. */
702 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
703 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_addi", "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
705 #if WITH_PROFILE_MODEL_P
706 /* Record the fields for profiling. */
707 if (PROFILE_MODEL_P (current_cpu))
719 const IDESC *idesc = &fr30bf_insn_data[itype];
720 CGEN_INSN_INT insn = base_insn;
721 #define FLD(f) abuf->fields.fmt_add2.f
722 EXTRACT_IFMT_ADD2_VARS /* f-op1 f-op2 f-m4 f-Ri */
724 EXTRACT_IFMT_ADD2_CODE
726 /* Record the fields for the semantic handler. */
728 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
729 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_add2", "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
731 #if WITH_PROFILE_MODEL_P
732 /* Record the fields for profiling. */
733 if (PROFILE_MODEL_P (current_cpu))
745 const IDESC *idesc = &fr30bf_insn_data[itype];
746 CGEN_INSN_INT insn = base_insn;
747 #define FLD(f) abuf->fields.fmt_addc.f
748 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
750 EXTRACT_IFMT_ADD_CODE
752 /* Record the fields for the semantic handler. */
753 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
754 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
755 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_addc", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
757 #if WITH_PROFILE_MODEL_P
758 /* Record the fields for profiling. */
759 if (PROFILE_MODEL_P (current_cpu))
772 const IDESC *idesc = &fr30bf_insn_data[itype];
773 CGEN_INSN_INT insn = base_insn;
774 #define FLD(f) abuf->fields.fmt_addn.f
775 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
777 EXTRACT_IFMT_ADD_CODE
779 /* Record the fields for the semantic handler. */
780 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
781 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
782 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_addn", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
784 #if WITH_PROFILE_MODEL_P
785 /* Record the fields for profiling. */
786 if (PROFILE_MODEL_P (current_cpu))
799 const IDESC *idesc = &fr30bf_insn_data[itype];
800 CGEN_INSN_INT insn = base_insn;
801 #define FLD(f) abuf->fields.fmt_addni.f
802 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
804 EXTRACT_IFMT_ADDI_CODE
806 /* Record the fields for the semantic handler. */
808 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
809 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_addni", "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
811 #if WITH_PROFILE_MODEL_P
812 /* Record the fields for profiling. */
813 if (PROFILE_MODEL_P (current_cpu))
825 const IDESC *idesc = &fr30bf_insn_data[itype];
826 CGEN_INSN_INT insn = base_insn;
827 #define FLD(f) abuf->fields.fmt_addn2.f
828 EXTRACT_IFMT_ADD2_VARS /* f-op1 f-op2 f-m4 f-Ri */
830 EXTRACT_IFMT_ADD2_CODE
832 /* Record the fields for the semantic handler. */
834 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
835 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_addn2", "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
837 #if WITH_PROFILE_MODEL_P
838 /* Record the fields for profiling. */
839 if (PROFILE_MODEL_P (current_cpu))
851 const IDESC *idesc = &fr30bf_insn_data[itype];
852 CGEN_INSN_INT insn = base_insn;
853 #define FLD(f) abuf->fields.fmt_cmp.f
854 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
856 EXTRACT_IFMT_ADD_CODE
858 /* Record the fields for the semantic handler. */
859 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
860 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
861 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_cmp", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
863 #if WITH_PROFILE_MODEL_P
864 /* Record the fields for profiling. */
865 if (PROFILE_MODEL_P (current_cpu))
877 const IDESC *idesc = &fr30bf_insn_data[itype];
878 CGEN_INSN_INT insn = base_insn;
879 #define FLD(f) abuf->fields.fmt_cmpi.f
880 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
882 EXTRACT_IFMT_ADDI_CODE
884 /* Record the fields for the semantic handler. */
886 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
887 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_cmpi", "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
889 #if WITH_PROFILE_MODEL_P
890 /* Record the fields for profiling. */
891 if (PROFILE_MODEL_P (current_cpu))
902 const IDESC *idesc = &fr30bf_insn_data[itype];
903 CGEN_INSN_INT insn = base_insn;
904 #define FLD(f) abuf->fields.fmt_cmp2.f
905 EXTRACT_IFMT_ADD2_VARS /* f-op1 f-op2 f-m4 f-Ri */
907 EXTRACT_IFMT_ADD2_CODE
909 /* 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, "fmt_cmp2", "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.fmt_and.f
930 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
932 EXTRACT_IFMT_ADD_CODE
934 /* Record the fields for the semantic handler. */
935 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
936 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
937 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_and", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
939 #if WITH_PROFILE_MODEL_P
940 /* Record the fields for profiling. */
941 if (PROFILE_MODEL_P (current_cpu))
954 const IDESC *idesc = &fr30bf_insn_data[itype];
955 CGEN_INSN_INT insn = base_insn;
956 #define FLD(f) abuf->fields.fmt_andm.f
957 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
959 EXTRACT_IFMT_ADD_CODE
961 /* Record the fields for the semantic handler. */
962 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
963 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
964 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_andm", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
966 #if WITH_PROFILE_MODEL_P
967 /* Record the fields for profiling. */
968 if (PROFILE_MODEL_P (current_cpu))
980 const IDESC *idesc = &fr30bf_insn_data[itype];
981 CGEN_INSN_INT insn = base_insn;
982 #define FLD(f) abuf->fields.fmt_andh.f
983 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
985 EXTRACT_IFMT_ADD_CODE
987 /* Record the fields for the semantic handler. */
988 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
989 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
990 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_andh", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
992 #if WITH_PROFILE_MODEL_P
993 /* Record the fields for profiling. */
994 if (PROFILE_MODEL_P (current_cpu))
1006 const IDESC *idesc = &fr30bf_insn_data[itype];
1007 CGEN_INSN_INT insn = base_insn;
1008 #define FLD(f) abuf->fields.fmt_andb.f
1009 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1011 EXTRACT_IFMT_ADD_CODE
1013 /* Record the fields for the semantic handler. */
1014 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1015 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1016 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_andb", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1018 #if WITH_PROFILE_MODEL_P
1019 /* Record the fields for profiling. */
1020 if (PROFILE_MODEL_P (current_cpu))
1032 const IDESC *idesc = &fr30bf_insn_data[itype];
1033 CGEN_INSN_INT insn = base_insn;
1034 #define FLD(f) abuf->fields.fmt_bandl.f
1035 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
1037 EXTRACT_IFMT_ADDI_CODE
1039 /* Record the fields for the semantic handler. */
1041 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1042 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bandl", "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1044 #if WITH_PROFILE_MODEL_P
1045 /* Record the fields for profiling. */
1046 if (PROFILE_MODEL_P (current_cpu))
1057 const IDESC *idesc = &fr30bf_insn_data[itype];
1058 CGEN_INSN_INT insn = base_insn;
1059 #define FLD(f) abuf->fields.fmt_btstl.f
1060 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
1062 EXTRACT_IFMT_ADDI_CODE
1064 /* Record the fields for the semantic handler. */
1066 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1067 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_btstl", "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1069 #if WITH_PROFILE_MODEL_P
1070 /* Record the fields for profiling. */
1071 if (PROFILE_MODEL_P (current_cpu))
1082 const IDESC *idesc = &fr30bf_insn_data[itype];
1083 CGEN_INSN_INT insn = base_insn;
1084 #define FLD(f) abuf->fields.fmt_mul.f
1085 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1087 EXTRACT_IFMT_ADD_CODE
1089 /* Record the fields for the semantic handler. */
1090 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1091 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1092 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_mul", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1094 #if WITH_PROFILE_MODEL_P
1095 /* Record the fields for profiling. */
1096 if (PROFILE_MODEL_P (current_cpu))
1108 const IDESC *idesc = &fr30bf_insn_data[itype];
1109 CGEN_INSN_INT insn = base_insn;
1110 #define FLD(f) abuf->fields.fmt_mulu.f
1111 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1113 EXTRACT_IFMT_ADD_CODE
1115 /* 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, "fmt_mulu", "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.fmt_mulh.f
1137 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1139 EXTRACT_IFMT_ADD_CODE
1141 /* Record the fields for the semantic handler. */
1142 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1143 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1144 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_mulh", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1146 #if WITH_PROFILE_MODEL_P
1147 /* Record the fields for profiling. */
1148 if (PROFILE_MODEL_P (current_cpu))
1160 const IDESC *idesc = &fr30bf_insn_data[itype];
1161 CGEN_INSN_INT insn = base_insn;
1162 #define FLD(f) abuf->fields.fmt_div0s.f
1163 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
1165 EXTRACT_IFMT_DIV0S_CODE
1167 /* Record the fields for the semantic handler. */
1168 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1169 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_div0s", "Ri 0x%x", 'x', f_Ri, (char *) 0));
1171 #if WITH_PROFILE_MODEL_P
1172 /* Record the fields for profiling. */
1173 if (PROFILE_MODEL_P (current_cpu))
1184 const IDESC *idesc = &fr30bf_insn_data[itype];
1185 CGEN_INSN_INT insn = base_insn;
1186 #define FLD(f) abuf->fields.fmt_div0u.f
1187 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
1189 EXTRACT_IFMT_DIV0S_CODE
1191 /* Record the fields for the semantic handler. */
1192 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_div0u", (char *) 0));
1200 const IDESC *idesc = &fr30bf_insn_data[itype];
1201 CGEN_INSN_INT insn = base_insn;
1202 #define FLD(f) abuf->fields.fmt_div1.f
1203 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
1205 EXTRACT_IFMT_DIV0S_CODE
1207 /* Record the fields for the semantic handler. */
1208 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1209 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_div1", "Ri 0x%x", 'x', f_Ri, (char *) 0));
1211 #if WITH_PROFILE_MODEL_P
1212 /* Record the fields for profiling. */
1213 if (PROFILE_MODEL_P (current_cpu))
1224 const IDESC *idesc = &fr30bf_insn_data[itype];
1225 CGEN_INSN_INT insn = base_insn;
1226 #define FLD(f) abuf->fields.fmt_div2.f
1227 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
1229 EXTRACT_IFMT_DIV0S_CODE
1231 /* Record the fields for the semantic handler. */
1232 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1233 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_div2", "Ri 0x%x", 'x', f_Ri, (char *) 0));
1235 #if WITH_PROFILE_MODEL_P
1236 /* Record the fields for profiling. */
1237 if (PROFILE_MODEL_P (current_cpu))
1248 const IDESC *idesc = &fr30bf_insn_data[itype];
1249 CGEN_INSN_INT insn = base_insn;
1250 #define FLD(f) abuf->fields.fmt_div3.f
1251 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
1253 EXTRACT_IFMT_DIV3_CODE
1255 /* Record the fields for the semantic handler. */
1256 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_div3", (char *) 0));
1264 const IDESC *idesc = &fr30bf_insn_data[itype];
1265 CGEN_INSN_INT insn = base_insn;
1266 #define FLD(f) abuf->fields.fmt_div4s.f
1267 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
1269 EXTRACT_IFMT_DIV3_CODE
1271 /* Record the fields for the semantic handler. */
1272 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_div4s", (char *) 0));
1280 const IDESC *idesc = &fr30bf_insn_data[itype];
1281 CGEN_INSN_INT insn = base_insn;
1282 #define FLD(f) abuf->fields.fmt_lsl.f
1283 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1285 EXTRACT_IFMT_ADD_CODE
1287 /* Record the fields for the semantic handler. */
1288 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1289 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1290 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_lsl", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1292 #if WITH_PROFILE_MODEL_P
1293 /* Record the fields for profiling. */
1294 if (PROFILE_MODEL_P (current_cpu))
1298 FLD (out_Ri) = f_Ri;
1307 const IDESC *idesc = &fr30bf_insn_data[itype];
1308 CGEN_INSN_INT insn = base_insn;
1309 #define FLD(f) abuf->fields.fmt_lsli.f
1310 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
1312 EXTRACT_IFMT_ADDI_CODE
1314 /* Record the fields for the semantic handler. */
1316 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1317 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_lsli", "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1319 #if WITH_PROFILE_MODEL_P
1320 /* Record the fields for profiling. */
1321 if (PROFILE_MODEL_P (current_cpu))
1324 FLD (out_Ri) = f_Ri;
1333 const IDESC *idesc = &fr30bf_insn_data[itype];
1334 CGEN_INSN_INT insn = base_insn;
1335 #define FLD(f) abuf->fields.fmt_ldi8.f
1336 EXTRACT_IFMT_LDI8_VARS /* f-op1 f-i8 f-Ri */
1338 EXTRACT_IFMT_LDI8_CODE
1340 /* Record the fields for the semantic handler. */
1342 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1343 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldi8", "f_i8 0x%x", 'x', f_i8, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1345 #if WITH_PROFILE_MODEL_P
1346 /* Record the fields for profiling. */
1347 if (PROFILE_MODEL_P (current_cpu))
1349 FLD (out_Ri) = f_Ri;
1358 const IDESC *idesc = &fr30bf_insn_data[itype];
1359 CGEN_INSN_INT insn = base_insn;
1360 #define FLD(f) abuf->fields.fmt_ldi20.f
1361 EXTRACT_IFMT_LDI20_VARS /* f-op1 f-i20 f-op2 f-Ri */
1363 EXTRACT_IFMT_LDI20_CODE
1365 /* Record the fields for the semantic handler. */
1366 FLD (f_i20) = f_i20;
1367 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1368 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldi20", "f_i20 0x%x", 'x', f_i20, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1370 #if WITH_PROFILE_MODEL_P
1371 /* Record the fields for profiling. */
1372 if (PROFILE_MODEL_P (current_cpu))
1374 FLD (out_Ri) = f_Ri;
1383 const IDESC *idesc = &fr30bf_insn_data[itype];
1384 CGEN_INSN_INT insn = base_insn;
1385 #define FLD(f) abuf->fields.fmt_ldi32.f
1386 EXTRACT_IFMT_LDI32_VARS /* f-op1 f-i32 f-op2 f-op3 f-Ri */
1388 EXTRACT_IFMT_LDI32_CODE
1390 /* Record the fields for the semantic handler. */
1391 FLD (f_i32) = f_i32;
1392 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1393 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldi32", "f_i32 0x%x", 'x', f_i32, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1395 #if WITH_PROFILE_MODEL_P
1396 /* Record the fields for profiling. */
1397 if (PROFILE_MODEL_P (current_cpu))
1399 FLD (out_Ri) = f_Ri;
1408 const IDESC *idesc = &fr30bf_insn_data[itype];
1409 CGEN_INSN_INT insn = base_insn;
1410 #define FLD(f) abuf->fields.fmt_ld.f
1411 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1413 EXTRACT_IFMT_ADD_CODE
1415 /* Record the fields for the semantic handler. */
1416 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1417 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1418 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ld", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1420 #if WITH_PROFILE_MODEL_P
1421 /* Record the fields for profiling. */
1422 if (PROFILE_MODEL_P (current_cpu))
1425 FLD (out_Ri) = f_Ri;
1434 const IDESC *idesc = &fr30bf_insn_data[itype];
1435 CGEN_INSN_INT insn = base_insn;
1436 #define FLD(f) abuf->fields.fmt_lduh.f
1437 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1439 EXTRACT_IFMT_ADD_CODE
1441 /* Record the fields for the semantic handler. */
1442 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1443 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1444 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_lduh", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1446 #if WITH_PROFILE_MODEL_P
1447 /* Record the fields for profiling. */
1448 if (PROFILE_MODEL_P (current_cpu))
1451 FLD (out_Ri) = f_Ri;
1460 const IDESC *idesc = &fr30bf_insn_data[itype];
1461 CGEN_INSN_INT insn = base_insn;
1462 #define FLD(f) abuf->fields.fmt_ldub.f
1463 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1465 EXTRACT_IFMT_ADD_CODE
1467 /* Record the fields for the semantic handler. */
1468 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1469 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1470 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldub", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1472 #if WITH_PROFILE_MODEL_P
1473 /* Record the fields for profiling. */
1474 if (PROFILE_MODEL_P (current_cpu))
1477 FLD (out_Ri) = f_Ri;
1486 const IDESC *idesc = &fr30bf_insn_data[itype];
1487 CGEN_INSN_INT insn = base_insn;
1488 #define FLD(f) abuf->fields.fmt_ldr13.f
1489 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1491 EXTRACT_IFMT_ADD_CODE
1493 /* Record the fields for the semantic handler. */
1494 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1495 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1496 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr13", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1498 #if WITH_PROFILE_MODEL_P
1499 /* Record the fields for profiling. */
1500 if (PROFILE_MODEL_P (current_cpu))
1503 FLD (in_h_gr_13) = 13;
1504 FLD (out_Ri) = f_Ri;
1511 extract_fmt_ldr13uh:
1513 const IDESC *idesc = &fr30bf_insn_data[itype];
1514 CGEN_INSN_INT insn = base_insn;
1515 #define FLD(f) abuf->fields.fmt_ldr13uh.f
1516 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1518 EXTRACT_IFMT_ADD_CODE
1520 /* Record the fields for the semantic handler. */
1521 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1522 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1523 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr13uh", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1525 #if WITH_PROFILE_MODEL_P
1526 /* Record the fields for profiling. */
1527 if (PROFILE_MODEL_P (current_cpu))
1530 FLD (in_h_gr_13) = 13;
1531 FLD (out_Ri) = f_Ri;
1538 extract_fmt_ldr13ub:
1540 const IDESC *idesc = &fr30bf_insn_data[itype];
1541 CGEN_INSN_INT insn = base_insn;
1542 #define FLD(f) abuf->fields.fmt_ldr13ub.f
1543 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1545 EXTRACT_IFMT_ADD_CODE
1547 /* Record the fields for the semantic handler. */
1548 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1549 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1550 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr13ub", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1552 #if WITH_PROFILE_MODEL_P
1553 /* Record the fields for profiling. */
1554 if (PROFILE_MODEL_P (current_cpu))
1557 FLD (in_h_gr_13) = 13;
1558 FLD (out_Ri) = f_Ri;
1567 const IDESC *idesc = &fr30bf_insn_data[itype];
1568 CGEN_INSN_INT insn = base_insn;
1569 #define FLD(f) abuf->fields.fmt_ldr14.f
1570 EXTRACT_IFMT_LDR14_VARS /* f-op1 f-disp10 f-Ri */
1572 EXTRACT_IFMT_LDR14_CODE
1574 /* Record the fields for the semantic handler. */
1575 FLD (f_disp10) = f_disp10;
1576 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1577 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1579 #if WITH_PROFILE_MODEL_P
1580 /* Record the fields for profiling. */
1581 if (PROFILE_MODEL_P (current_cpu))
1583 FLD (in_h_gr_14) = 14;
1584 FLD (out_Ri) = f_Ri;
1591 extract_fmt_ldr14uh:
1593 const IDESC *idesc = &fr30bf_insn_data[itype];
1594 CGEN_INSN_INT insn = base_insn;
1595 #define FLD(f) abuf->fields.fmt_ldr14uh.f
1596 EXTRACT_IFMT_LDR14UH_VARS /* f-op1 f-disp9 f-Ri */
1598 EXTRACT_IFMT_LDR14UH_CODE
1600 /* Record the fields for the semantic handler. */
1601 FLD (f_disp9) = f_disp9;
1602 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1603 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1605 #if WITH_PROFILE_MODEL_P
1606 /* Record the fields for profiling. */
1607 if (PROFILE_MODEL_P (current_cpu))
1609 FLD (in_h_gr_14) = 14;
1610 FLD (out_Ri) = f_Ri;
1617 extract_fmt_ldr14ub:
1619 const IDESC *idesc = &fr30bf_insn_data[itype];
1620 CGEN_INSN_INT insn = base_insn;
1621 #define FLD(f) abuf->fields.fmt_ldr14ub.f
1622 EXTRACT_IFMT_LDR14UB_VARS /* f-op1 f-disp8 f-Ri */
1624 EXTRACT_IFMT_LDR14UB_CODE
1626 /* Record the fields for the semantic handler. */
1627 FLD (f_disp8) = f_disp8;
1628 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1629 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1631 #if WITH_PROFILE_MODEL_P
1632 /* Record the fields for profiling. */
1633 if (PROFILE_MODEL_P (current_cpu))
1635 FLD (in_h_gr_14) = 14;
1636 FLD (out_Ri) = f_Ri;
1645 const IDESC *idesc = &fr30bf_insn_data[itype];
1646 CGEN_INSN_INT insn = base_insn;
1647 #define FLD(f) abuf->fields.fmt_ldr15.f
1648 EXTRACT_IFMT_LDR15_VARS /* f-op1 f-op2 f-udisp6 f-Ri */
1650 EXTRACT_IFMT_LDR15_CODE
1652 /* Record the fields for the semantic handler. */
1653 FLD (f_udisp6) = f_udisp6;
1654 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1655 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1657 #if WITH_PROFILE_MODEL_P
1658 /* Record the fields for profiling. */
1659 if (PROFILE_MODEL_P (current_cpu))
1661 FLD (in_h_gr_15) = 15;
1662 FLD (out_Ri) = f_Ri;
1669 extract_fmt_ldr15gr:
1671 const IDESC *idesc = &fr30bf_insn_data[itype];
1672 CGEN_INSN_INT insn = base_insn;
1673 #define FLD(f) abuf->fields.fmt_ldr15gr.f
1674 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
1676 EXTRACT_IFMT_DIV0S_CODE
1678 /* Record the fields for the semantic handler. */
1680 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1681 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1683 #if WITH_PROFILE_MODEL_P
1684 /* Record the fields for profiling. */
1685 if (PROFILE_MODEL_P (current_cpu))
1687 FLD (in_h_gr_15) = 15;
1688 FLD (out_Ri) = f_Ri;
1689 FLD (out_h_gr_15) = 15;
1696 extract_fmt_ldr15dr:
1698 const IDESC *idesc = &fr30bf_insn_data[itype];
1699 CGEN_INSN_INT insn = base_insn;
1700 #define FLD(f) abuf->fields.fmt_ldr15dr.f
1701 EXTRACT_IFMT_LDR15DR_VARS /* f-op1 f-op2 f-op3 f-Rs2 */
1703 EXTRACT_IFMT_LDR15DR_CODE
1705 /* Record the fields for the semantic handler. */
1706 FLD (f_Rs2) = f_Rs2;
1707 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
1709 #if WITH_PROFILE_MODEL_P
1710 /* Record the fields for profiling. */
1711 if (PROFILE_MODEL_P (current_cpu))
1713 FLD (in_h_gr_15) = 15;
1714 FLD (out_h_gr_15) = 15;
1721 extract_fmt_ldr15ps:
1723 const IDESC *idesc = &fr30bf_insn_data[itype];
1724 CGEN_INSN_INT insn = base_insn;
1725 #define FLD(f) abuf->fields.fmt_ldr15ps.f
1726 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
1728 EXTRACT_IFMT_DIV3_CODE
1730 /* Record the fields for the semantic handler. */
1731 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldr15ps", (char *) 0));
1733 #if WITH_PROFILE_MODEL_P
1734 /* Record the fields for profiling. */
1735 if (PROFILE_MODEL_P (current_cpu))
1737 FLD (in_h_gr_15) = 15;
1738 FLD (out_h_gr_15) = 15;
1747 const IDESC *idesc = &fr30bf_insn_data[itype];
1748 CGEN_INSN_INT insn = base_insn;
1749 #define FLD(f) abuf->fields.fmt_st.f
1750 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1752 EXTRACT_IFMT_ADD_CODE
1754 /* Record the fields for the semantic handler. */
1755 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1756 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1757 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_st", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1759 #if WITH_PROFILE_MODEL_P
1760 /* Record the fields for profiling. */
1761 if (PROFILE_MODEL_P (current_cpu))
1773 const IDESC *idesc = &fr30bf_insn_data[itype];
1774 CGEN_INSN_INT insn = base_insn;
1775 #define FLD(f) abuf->fields.fmt_sth.f
1776 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1778 EXTRACT_IFMT_ADD_CODE
1780 /* Record the fields for the semantic handler. */
1781 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1782 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1783 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_sth", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1785 #if WITH_PROFILE_MODEL_P
1786 /* Record the fields for profiling. */
1787 if (PROFILE_MODEL_P (current_cpu))
1799 const IDESC *idesc = &fr30bf_insn_data[itype];
1800 CGEN_INSN_INT insn = base_insn;
1801 #define FLD(f) abuf->fields.fmt_stb.f
1802 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1804 EXTRACT_IFMT_ADD_CODE
1806 /* Record the fields for the semantic handler. */
1807 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1808 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1809 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_stb", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1811 #if WITH_PROFILE_MODEL_P
1812 /* Record the fields for profiling. */
1813 if (PROFILE_MODEL_P (current_cpu))
1825 const IDESC *idesc = &fr30bf_insn_data[itype];
1826 CGEN_INSN_INT insn = base_insn;
1827 #define FLD(f) abuf->fields.fmt_str13.f
1828 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1830 EXTRACT_IFMT_ADD_CODE
1832 /* Record the fields for the semantic handler. */
1833 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1834 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1835 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str13", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1837 #if WITH_PROFILE_MODEL_P
1838 /* Record the fields for profiling. */
1839 if (PROFILE_MODEL_P (current_cpu))
1843 FLD (in_h_gr_13) = 13;
1852 const IDESC *idesc = &fr30bf_insn_data[itype];
1853 CGEN_INSN_INT insn = base_insn;
1854 #define FLD(f) abuf->fields.fmt_str13h.f
1855 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1857 EXTRACT_IFMT_ADD_CODE
1859 /* Record the fields for the semantic handler. */
1860 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1861 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1862 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str13h", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1864 #if WITH_PROFILE_MODEL_P
1865 /* Record the fields for profiling. */
1866 if (PROFILE_MODEL_P (current_cpu))
1870 FLD (in_h_gr_13) = 13;
1879 const IDESC *idesc = &fr30bf_insn_data[itype];
1880 CGEN_INSN_INT insn = base_insn;
1881 #define FLD(f) abuf->fields.fmt_str13b.f
1882 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
1884 EXTRACT_IFMT_ADD_CODE
1886 /* Record the fields for the semantic handler. */
1887 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1888 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
1889 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str13b", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
1891 #if WITH_PROFILE_MODEL_P
1892 /* Record the fields for profiling. */
1893 if (PROFILE_MODEL_P (current_cpu))
1897 FLD (in_h_gr_13) = 13;
1906 const IDESC *idesc = &fr30bf_insn_data[itype];
1907 CGEN_INSN_INT insn = base_insn;
1908 #define FLD(f) abuf->fields.fmt_str14.f
1909 EXTRACT_IFMT_LDR14_VARS /* f-op1 f-disp10 f-Ri */
1911 EXTRACT_IFMT_LDR14_CODE
1913 /* Record the fields for the semantic handler. */
1914 FLD (f_disp10) = f_disp10;
1915 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1916 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str14", "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1918 #if WITH_PROFILE_MODEL_P
1919 /* Record the fields for profiling. */
1920 if (PROFILE_MODEL_P (current_cpu))
1923 FLD (in_h_gr_14) = 14;
1932 const IDESC *idesc = &fr30bf_insn_data[itype];
1933 CGEN_INSN_INT insn = base_insn;
1934 #define FLD(f) abuf->fields.fmt_str14h.f
1935 EXTRACT_IFMT_LDR14UH_VARS /* f-op1 f-disp9 f-Ri */
1937 EXTRACT_IFMT_LDR14UH_CODE
1939 /* Record the fields for the semantic handler. */
1940 FLD (f_disp9) = f_disp9;
1941 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1942 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str14h", "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1944 #if WITH_PROFILE_MODEL_P
1945 /* Record the fields for profiling. */
1946 if (PROFILE_MODEL_P (current_cpu))
1949 FLD (in_h_gr_14) = 14;
1958 const IDESC *idesc = &fr30bf_insn_data[itype];
1959 CGEN_INSN_INT insn = base_insn;
1960 #define FLD(f) abuf->fields.fmt_str14b.f
1961 EXTRACT_IFMT_LDR14UB_VARS /* f-op1 f-disp8 f-Ri */
1963 EXTRACT_IFMT_LDR14UB_CODE
1965 /* Record the fields for the semantic handler. */
1966 FLD (f_disp8) = f_disp8;
1967 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1968 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str14b", "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1970 #if WITH_PROFILE_MODEL_P
1971 /* Record the fields for profiling. */
1972 if (PROFILE_MODEL_P (current_cpu))
1975 FLD (in_h_gr_14) = 14;
1984 const IDESC *idesc = &fr30bf_insn_data[itype];
1985 CGEN_INSN_INT insn = base_insn;
1986 #define FLD(f) abuf->fields.fmt_str15.f
1987 EXTRACT_IFMT_LDR15_VARS /* f-op1 f-op2 f-udisp6 f-Ri */
1989 EXTRACT_IFMT_LDR15_CODE
1991 /* Record the fields for the semantic handler. */
1992 FLD (f_udisp6) = f_udisp6;
1993 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
1994 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str15", "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0));
1996 #if WITH_PROFILE_MODEL_P
1997 /* Record the fields for profiling. */
1998 if (PROFILE_MODEL_P (current_cpu))
2001 FLD (in_h_gr_15) = 15;
2008 extract_fmt_str15gr:
2010 const IDESC *idesc = &fr30bf_insn_data[itype];
2011 CGEN_INSN_INT insn = base_insn;
2012 #define FLD(f) abuf->fields.fmt_str15gr.f
2013 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
2015 EXTRACT_IFMT_DIV0S_CODE
2017 /* Record the fields for the semantic handler. */
2018 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2019 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str15gr", "Ri 0x%x", 'x', f_Ri, (char *) 0));
2021 #if WITH_PROFILE_MODEL_P
2022 /* Record the fields for profiling. */
2023 if (PROFILE_MODEL_P (current_cpu))
2026 FLD (in_h_gr_15) = 15;
2027 FLD (out_h_gr_15) = 15;
2034 extract_fmt_str15dr:
2036 const IDESC *idesc = &fr30bf_insn_data[itype];
2037 CGEN_INSN_INT insn = base_insn;
2038 #define FLD(f) abuf->fields.fmt_str15dr.f
2039 EXTRACT_IFMT_LDR15DR_VARS /* f-op1 f-op2 f-op3 f-Rs2 */
2041 EXTRACT_IFMT_LDR15DR_CODE
2043 /* Record the fields for the semantic handler. */
2044 FLD (f_Rs2) = f_Rs2;
2045 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
2047 #if WITH_PROFILE_MODEL_P
2048 /* Record the fields for profiling. */
2049 if (PROFILE_MODEL_P (current_cpu))
2051 FLD (in_h_gr_15) = 15;
2052 FLD (out_h_gr_15) = 15;
2059 extract_fmt_str15ps:
2061 const IDESC *idesc = &fr30bf_insn_data[itype];
2062 CGEN_INSN_INT insn = base_insn;
2063 #define FLD(f) abuf->fields.fmt_str15ps.f
2064 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
2066 EXTRACT_IFMT_DIV3_CODE
2068 /* Record the fields for the semantic handler. */
2069 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_str15ps", (char *) 0));
2071 #if WITH_PROFILE_MODEL_P
2072 /* Record the fields for profiling. */
2073 if (PROFILE_MODEL_P (current_cpu))
2075 FLD (in_h_gr_15) = 15;
2076 FLD (out_h_gr_15) = 15;
2085 const IDESC *idesc = &fr30bf_insn_data[itype];
2086 CGEN_INSN_INT insn = base_insn;
2087 #define FLD(f) abuf->fields.fmt_mov.f
2088 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
2090 EXTRACT_IFMT_ADD_CODE
2092 /* Record the fields for the semantic handler. */
2093 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
2094 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2095 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_mov", "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2097 #if WITH_PROFILE_MODEL_P
2098 /* Record the fields for profiling. */
2099 if (PROFILE_MODEL_P (current_cpu))
2102 FLD (out_Ri) = f_Ri;
2111 const IDESC *idesc = &fr30bf_insn_data[itype];
2112 CGEN_INSN_INT insn = base_insn;
2113 #define FLD(f) abuf->fields.fmt_movdr.f
2114 EXTRACT_IFMT_MOVDR_VARS /* f-op1 f-op2 f-Rs1 f-Ri */
2116 EXTRACT_IFMT_MOVDR_CODE
2118 /* Record the fields for the semantic handler. */
2119 FLD (f_Rs1) = f_Rs1;
2120 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2121 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2123 #if WITH_PROFILE_MODEL_P
2124 /* Record the fields for profiling. */
2125 if (PROFILE_MODEL_P (current_cpu))
2127 FLD (out_Ri) = f_Ri;
2136 const IDESC *idesc = &fr30bf_insn_data[itype];
2137 CGEN_INSN_INT insn = base_insn;
2138 #define FLD(f) abuf->fields.fmt_movps.f
2139 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
2141 EXTRACT_IFMT_DIV0S_CODE
2143 /* Record the fields for the semantic handler. */
2144 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2145 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_movps", "Ri 0x%x", 'x', f_Ri, (char *) 0));
2147 #if WITH_PROFILE_MODEL_P
2148 /* Record the fields for profiling. */
2149 if (PROFILE_MODEL_P (current_cpu))
2151 FLD (out_Ri) = f_Ri;
2160 const IDESC *idesc = &fr30bf_insn_data[itype];
2161 CGEN_INSN_INT insn = base_insn;
2162 #define FLD(f) abuf->fields.fmt_mov2dr.f
2163 EXTRACT_IFMT_MOVDR_VARS /* f-op1 f-op2 f-Rs1 f-Ri */
2165 EXTRACT_IFMT_MOVDR_CODE
2167 /* Record the fields for the semantic handler. */
2168 FLD (f_Rs1) = f_Rs1;
2169 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2170 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_mov2dr", "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0));
2172 #if WITH_PROFILE_MODEL_P
2173 /* Record the fields for profiling. */
2174 if (PROFILE_MODEL_P (current_cpu))
2185 const IDESC *idesc = &fr30bf_insn_data[itype];
2186 CGEN_INSN_INT insn = base_insn;
2187 #define FLD(f) abuf->fields.fmt_mov2ps.f
2188 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
2190 EXTRACT_IFMT_DIV0S_CODE
2192 /* Record the fields for the semantic handler. */
2193 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2194 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_mov2ps", "Ri 0x%x", 'x', f_Ri, (char *) 0));
2196 #if WITH_PROFILE_MODEL_P
2197 /* Record the fields for profiling. */
2198 if (PROFILE_MODEL_P (current_cpu))
2209 const IDESC *idesc = &fr30bf_insn_data[itype];
2210 CGEN_INSN_INT insn = base_insn;
2211 #define FLD(f) abuf->fields.cti.fields.fmt_jmp.f
2212 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
2214 EXTRACT_IFMT_DIV0S_CODE
2216 /* Record the fields for the semantic handler. */
2217 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2218 SEM_BRANCH_INIT_EXTRACT (abuf);
2219 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_jmp", "Ri 0x%x", 'x', f_Ri, (char *) 0));
2221 #if WITH_PROFILE_MODEL_P
2222 /* Record the fields for profiling. */
2223 if (PROFILE_MODEL_P (current_cpu))
2234 const IDESC *idesc = &fr30bf_insn_data[itype];
2235 CGEN_INSN_INT insn = base_insn;
2236 #define FLD(f) abuf->fields.cti.fields.fmt_callr.f
2237 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
2239 EXTRACT_IFMT_DIV0S_CODE
2241 /* Record the fields for the semantic handler. */
2242 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2243 SEM_BRANCH_INIT_EXTRACT (abuf);
2244 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_callr", "Ri 0x%x", 'x', f_Ri, (char *) 0));
2246 #if WITH_PROFILE_MODEL_P
2247 /* Record the fields for profiling. */
2248 if (PROFILE_MODEL_P (current_cpu))
2259 const IDESC *idesc = &fr30bf_insn_data[itype];
2260 CGEN_INSN_INT insn = base_insn;
2261 #define FLD(f) abuf->fields.cti.fields.fmt_call.f
2262 EXTRACT_IFMT_CALL_VARS /* f-op1 f-op5 f-rel12 */
2264 EXTRACT_IFMT_CALL_CODE
2266 /* Record the fields for the semantic handler. */
2267 FLD (i_label12) = f_rel12;
2268 SEM_BRANCH_INIT_EXTRACT (abuf);
2269 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_call", "label12 0x%x", 'x', f_rel12, (char *) 0));
2271 #if WITH_PROFILE_MODEL_P
2272 /* Record the fields for profiling. */
2273 if (PROFILE_MODEL_P (current_cpu))
2283 const IDESC *idesc = &fr30bf_insn_data[itype];
2284 CGEN_INSN_INT insn = base_insn;
2285 #define FLD(f) abuf->fields.cti.fields.fmt_ret.f
2286 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
2288 EXTRACT_IFMT_DIV3_CODE
2290 /* Record the fields for the semantic handler. */
2291 SEM_BRANCH_INIT_EXTRACT (abuf);
2292 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ret", (char *) 0));
2294 #if WITH_PROFILE_MODEL_P
2295 /* Record the fields for profiling. */
2296 if (PROFILE_MODEL_P (current_cpu))
2306 const IDESC *idesc = &fr30bf_insn_data[itype];
2307 CGEN_INSN_INT insn = base_insn;
2308 #define FLD(f) abuf->fields.cti.fields.fmt_int.f
2309 EXTRACT_IFMT_INT_VARS /* f-op1 f-op2 f-u8 */
2311 EXTRACT_IFMT_INT_CODE
2313 /* Record the fields for the semantic handler. */
2315 SEM_BRANCH_INIT_EXTRACT (abuf);
2316 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_int", "f_u8 0x%x", 'x', f_u8, (char *) 0));
2318 #if WITH_PROFILE_MODEL_P
2319 /* Record the fields for profiling. */
2320 if (PROFILE_MODEL_P (current_cpu))
2330 const IDESC *idesc = &fr30bf_insn_data[itype];
2331 CGEN_INSN_INT insn = base_insn;
2332 #define FLD(f) abuf->fields.cti.fields.fmt_inte.f
2333 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
2335 EXTRACT_IFMT_DIV3_CODE
2337 /* Record the fields for the semantic handler. */
2338 SEM_BRANCH_INIT_EXTRACT (abuf);
2339 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_inte", (char *) 0));
2341 #if WITH_PROFILE_MODEL_P
2342 /* Record the fields for profiling. */
2343 if (PROFILE_MODEL_P (current_cpu))
2353 const IDESC *idesc = &fr30bf_insn_data[itype];
2354 CGEN_INSN_INT insn = base_insn;
2355 #define FLD(f) abuf->fields.cti.fields.fmt_reti.f
2356 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
2358 EXTRACT_IFMT_DIV3_CODE
2360 /* Record the fields for the semantic handler. */
2361 SEM_BRANCH_INIT_EXTRACT (abuf);
2362 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_reti", (char *) 0));
2364 #if WITH_PROFILE_MODEL_P
2365 /* Record the fields for profiling. */
2366 if (PROFILE_MODEL_P (current_cpu))
2376 const IDESC *idesc = &fr30bf_insn_data[itype];
2377 CGEN_INSN_INT insn = base_insn;
2378 #define FLD(f) abuf->fields.cti.fields.fmt_brad.f
2379 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2381 EXTRACT_IFMT_BRAD_CODE
2383 /* Record the fields for the semantic handler. */
2384 FLD (i_label9) = f_rel9;
2385 SEM_BRANCH_INIT_EXTRACT (abuf);
2386 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_brad", "label9 0x%x", 'x', f_rel9, (char *) 0));
2388 #if WITH_PROFILE_MODEL_P
2389 /* Record the fields for profiling. */
2390 if (PROFILE_MODEL_P (current_cpu))
2400 const IDESC *idesc = &fr30bf_insn_data[itype];
2401 CGEN_INSN_INT insn = base_insn;
2402 #define FLD(f) abuf->fields.fmt_bnod.f
2403 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2405 EXTRACT_IFMT_BRAD_CODE
2407 /* Record the fields for the semantic handler. */
2408 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bnod", (char *) 0));
2416 const IDESC *idesc = &fr30bf_insn_data[itype];
2417 CGEN_INSN_INT insn = base_insn;
2418 #define FLD(f) abuf->fields.cti.fields.fmt_beqd.f
2419 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2421 EXTRACT_IFMT_BRAD_CODE
2423 /* Record the fields for the semantic handler. */
2424 FLD (i_label9) = f_rel9;
2425 SEM_BRANCH_INIT_EXTRACT (abuf);
2426 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_beqd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2428 #if WITH_PROFILE_MODEL_P
2429 /* Record the fields for profiling. */
2430 if (PROFILE_MODEL_P (current_cpu))
2440 const IDESC *idesc = &fr30bf_insn_data[itype];
2441 CGEN_INSN_INT insn = base_insn;
2442 #define FLD(f) abuf->fields.cti.fields.fmt_bcd.f
2443 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2445 EXTRACT_IFMT_BRAD_CODE
2447 /* Record the fields for the semantic handler. */
2448 FLD (i_label9) = f_rel9;
2449 SEM_BRANCH_INIT_EXTRACT (abuf);
2450 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bcd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2452 #if WITH_PROFILE_MODEL_P
2453 /* Record the fields for profiling. */
2454 if (PROFILE_MODEL_P (current_cpu))
2464 const IDESC *idesc = &fr30bf_insn_data[itype];
2465 CGEN_INSN_INT insn = base_insn;
2466 #define FLD(f) abuf->fields.cti.fields.fmt_bnd.f
2467 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2469 EXTRACT_IFMT_BRAD_CODE
2471 /* Record the fields for the semantic handler. */
2472 FLD (i_label9) = f_rel9;
2473 SEM_BRANCH_INIT_EXTRACT (abuf);
2474 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bnd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2476 #if WITH_PROFILE_MODEL_P
2477 /* Record the fields for profiling. */
2478 if (PROFILE_MODEL_P (current_cpu))
2488 const IDESC *idesc = &fr30bf_insn_data[itype];
2489 CGEN_INSN_INT insn = base_insn;
2490 #define FLD(f) abuf->fields.cti.fields.fmt_bvd.f
2491 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2493 EXTRACT_IFMT_BRAD_CODE
2495 /* Record the fields for the semantic handler. */
2496 FLD (i_label9) = f_rel9;
2497 SEM_BRANCH_INIT_EXTRACT (abuf);
2498 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bvd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2500 #if WITH_PROFILE_MODEL_P
2501 /* Record the fields for profiling. */
2502 if (PROFILE_MODEL_P (current_cpu))
2512 const IDESC *idesc = &fr30bf_insn_data[itype];
2513 CGEN_INSN_INT insn = base_insn;
2514 #define FLD(f) abuf->fields.cti.fields.fmt_bltd.f
2515 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2517 EXTRACT_IFMT_BRAD_CODE
2519 /* Record the fields for the semantic handler. */
2520 FLD (i_label9) = f_rel9;
2521 SEM_BRANCH_INIT_EXTRACT (abuf);
2522 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bltd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2524 #if WITH_PROFILE_MODEL_P
2525 /* Record the fields for profiling. */
2526 if (PROFILE_MODEL_P (current_cpu))
2536 const IDESC *idesc = &fr30bf_insn_data[itype];
2537 CGEN_INSN_INT insn = base_insn;
2538 #define FLD(f) abuf->fields.cti.fields.fmt_bled.f
2539 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2541 EXTRACT_IFMT_BRAD_CODE
2543 /* Record the fields for the semantic handler. */
2544 FLD (i_label9) = f_rel9;
2545 SEM_BRANCH_INIT_EXTRACT (abuf);
2546 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_bled", "label9 0x%x", 'x', f_rel9, (char *) 0));
2548 #if WITH_PROFILE_MODEL_P
2549 /* Record the fields for profiling. */
2550 if (PROFILE_MODEL_P (current_cpu))
2560 const IDESC *idesc = &fr30bf_insn_data[itype];
2561 CGEN_INSN_INT insn = base_insn;
2562 #define FLD(f) abuf->fields.cti.fields.fmt_blsd.f
2563 EXTRACT_IFMT_BRAD_VARS /* f-op1 f-cc f-rel9 */
2565 EXTRACT_IFMT_BRAD_CODE
2567 /* Record the fields for the semantic handler. */
2568 FLD (i_label9) = f_rel9;
2569 SEM_BRANCH_INIT_EXTRACT (abuf);
2570 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_blsd", "label9 0x%x", 'x', f_rel9, (char *) 0));
2572 #if WITH_PROFILE_MODEL_P
2573 /* Record the fields for profiling. */
2574 if (PROFILE_MODEL_P (current_cpu))
2582 extract_fmt_dmovr13:
2584 const IDESC *idesc = &fr30bf_insn_data[itype];
2585 CGEN_INSN_INT insn = base_insn;
2586 #define FLD(f) abuf->fields.fmt_dmovr13.f
2587 EXTRACT_IFMT_DMOVR13_VARS /* f-op1 f-op2 f-dir10 */
2589 EXTRACT_IFMT_DMOVR13_CODE
2591 /* Record the fields for the semantic handler. */
2592 FLD (f_dir10) = f_dir10;
2593 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2595 #if WITH_PROFILE_MODEL_P
2596 /* Record the fields for profiling. */
2597 if (PROFILE_MODEL_P (current_cpu))
2599 FLD (in_h_gr_13) = 13;
2606 extract_fmt_dmovr13h:
2608 const IDESC *idesc = &fr30bf_insn_data[itype];
2609 CGEN_INSN_INT insn = base_insn;
2610 #define FLD(f) abuf->fields.fmt_dmovr13h.f
2611 EXTRACT_IFMT_DMOVR13H_VARS /* f-op1 f-op2 f-dir9 */
2613 EXTRACT_IFMT_DMOVR13H_CODE
2615 /* Record the fields for the semantic handler. */
2616 FLD (f_dir9) = f_dir9;
2617 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (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_13) = 13;
2630 extract_fmt_dmovr13b:
2632 const IDESC *idesc = &fr30bf_insn_data[itype];
2633 CGEN_INSN_INT insn = base_insn;
2634 #define FLD(f) abuf->fields.fmt_dmovr13b.f
2635 EXTRACT_IFMT_DMOVR13B_VARS /* f-op1 f-op2 f-dir8 */
2637 EXTRACT_IFMT_DMOVR13B_CODE
2639 /* Record the fields for the semantic handler. */
2640 FLD (f_dir8) = f_dir8;
2641 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2643 #if WITH_PROFILE_MODEL_P
2644 /* Record the fields for profiling. */
2645 if (PROFILE_MODEL_P (current_cpu))
2647 FLD (in_h_gr_13) = 13;
2654 extract_fmt_dmovr13pi:
2656 const IDESC *idesc = &fr30bf_insn_data[itype];
2657 CGEN_INSN_INT insn = base_insn;
2658 #define FLD(f) abuf->fields.fmt_dmovr13pi.f
2659 EXTRACT_IFMT_DMOVR13_VARS /* f-op1 f-op2 f-dir10 */
2661 EXTRACT_IFMT_DMOVR13_CODE
2663 /* Record the fields for the semantic handler. */
2664 FLD (f_dir10) = f_dir10;
2665 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2667 #if WITH_PROFILE_MODEL_P
2668 /* Record the fields for profiling. */
2669 if (PROFILE_MODEL_P (current_cpu))
2671 FLD (in_h_gr_13) = 13;
2672 FLD (out_h_gr_13) = 13;
2679 extract_fmt_dmovr13pih:
2681 const IDESC *idesc = &fr30bf_insn_data[itype];
2682 CGEN_INSN_INT insn = base_insn;
2683 #define FLD(f) abuf->fields.fmt_dmovr13pih.f
2684 EXTRACT_IFMT_DMOVR13H_VARS /* f-op1 f-op2 f-dir9 */
2686 EXTRACT_IFMT_DMOVR13H_CODE
2688 /* Record the fields for the semantic handler. */
2689 FLD (f_dir9) = f_dir9;
2690 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2692 #if WITH_PROFILE_MODEL_P
2693 /* Record the fields for profiling. */
2694 if (PROFILE_MODEL_P (current_cpu))
2696 FLD (in_h_gr_13) = 13;
2697 FLD (out_h_gr_13) = 13;
2704 extract_fmt_dmovr13pib:
2706 const IDESC *idesc = &fr30bf_insn_data[itype];
2707 CGEN_INSN_INT insn = base_insn;
2708 #define FLD(f) abuf->fields.fmt_dmovr13pib.f
2709 EXTRACT_IFMT_DMOVR13B_VARS /* f-op1 f-op2 f-dir8 */
2711 EXTRACT_IFMT_DMOVR13B_CODE
2713 /* Record the fields for the semantic handler. */
2714 FLD (f_dir8) = f_dir8;
2715 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2717 #if WITH_PROFILE_MODEL_P
2718 /* Record the fields for profiling. */
2719 if (PROFILE_MODEL_P (current_cpu))
2721 FLD (in_h_gr_13) = 13;
2722 FLD (out_h_gr_13) = 13;
2729 extract_fmt_dmovr15pi:
2731 const IDESC *idesc = &fr30bf_insn_data[itype];
2732 CGEN_INSN_INT insn = base_insn;
2733 #define FLD(f) abuf->fields.fmt_dmovr15pi.f
2734 EXTRACT_IFMT_DMOVR13_VARS /* f-op1 f-op2 f-dir10 */
2736 EXTRACT_IFMT_DMOVR13_CODE
2738 /* Record the fields for the semantic handler. */
2739 FLD (f_dir10) = f_dir10;
2740 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2742 #if WITH_PROFILE_MODEL_P
2743 /* Record the fields for profiling. */
2744 if (PROFILE_MODEL_P (current_cpu))
2746 FLD (in_h_gr_15) = 15;
2747 FLD (out_h_gr_15) = 15;
2754 extract_fmt_dmov2r13:
2756 const IDESC *idesc = &fr30bf_insn_data[itype];
2757 CGEN_INSN_INT insn = base_insn;
2758 #define FLD(f) abuf->fields.fmt_dmov2r13.f
2759 EXTRACT_IFMT_DMOVR13_VARS /* f-op1 f-op2 f-dir10 */
2761 EXTRACT_IFMT_DMOVR13_CODE
2763 /* Record the fields for the semantic handler. */
2764 FLD (f_dir10) = f_dir10;
2765 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2767 #if WITH_PROFILE_MODEL_P
2768 /* Record the fields for profiling. */
2769 if (PROFILE_MODEL_P (current_cpu))
2771 FLD (out_h_gr_13) = 13;
2778 extract_fmt_dmov2r13h:
2780 const IDESC *idesc = &fr30bf_insn_data[itype];
2781 CGEN_INSN_INT insn = base_insn;
2782 #define FLD(f) abuf->fields.fmt_dmov2r13h.f
2783 EXTRACT_IFMT_DMOVR13H_VARS /* f-op1 f-op2 f-dir9 */
2785 EXTRACT_IFMT_DMOVR13H_CODE
2787 /* Record the fields for the semantic handler. */
2788 FLD (f_dir9) = f_dir9;
2789 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2791 #if WITH_PROFILE_MODEL_P
2792 /* Record the fields for profiling. */
2793 if (PROFILE_MODEL_P (current_cpu))
2795 FLD (out_h_gr_13) = 13;
2802 extract_fmt_dmov2r13b:
2804 const IDESC *idesc = &fr30bf_insn_data[itype];
2805 CGEN_INSN_INT insn = base_insn;
2806 #define FLD(f) abuf->fields.fmt_dmov2r13b.f
2807 EXTRACT_IFMT_DMOVR13B_VARS /* f-op1 f-op2 f-dir8 */
2809 EXTRACT_IFMT_DMOVR13B_CODE
2811 /* Record the fields for the semantic handler. */
2812 FLD (f_dir8) = f_dir8;
2813 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2815 #if WITH_PROFILE_MODEL_P
2816 /* Record the fields for profiling. */
2817 if (PROFILE_MODEL_P (current_cpu))
2819 FLD (out_h_gr_13) = 13;
2826 extract_fmt_dmov2r13pi:
2828 const IDESC *idesc = &fr30bf_insn_data[itype];
2829 CGEN_INSN_INT insn = base_insn;
2830 #define FLD(f) abuf->fields.fmt_dmov2r13pi.f
2831 EXTRACT_IFMT_DMOVR13_VARS /* f-op1 f-op2 f-dir10 */
2833 EXTRACT_IFMT_DMOVR13_CODE
2835 /* Record the fields for the semantic handler. */
2836 FLD (f_dir10) = f_dir10;
2837 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2839 #if WITH_PROFILE_MODEL_P
2840 /* Record the fields for profiling. */
2841 if (PROFILE_MODEL_P (current_cpu))
2843 FLD (in_h_gr_13) = 13;
2844 FLD (out_h_gr_13) = 13;
2851 extract_fmt_dmov2r13pih:
2853 const IDESC *idesc = &fr30bf_insn_data[itype];
2854 CGEN_INSN_INT insn = base_insn;
2855 #define FLD(f) abuf->fields.fmt_dmov2r13pih.f
2856 EXTRACT_IFMT_DMOVR13H_VARS /* f-op1 f-op2 f-dir9 */
2858 EXTRACT_IFMT_DMOVR13H_CODE
2860 /* Record the fields for the semantic handler. */
2861 FLD (f_dir9) = f_dir9;
2862 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
2864 #if WITH_PROFILE_MODEL_P
2865 /* Record the fields for profiling. */
2866 if (PROFILE_MODEL_P (current_cpu))
2868 FLD (in_h_gr_13) = 13;
2869 FLD (out_h_gr_13) = 13;
2876 extract_fmt_dmov2r13pib:
2878 const IDESC *idesc = &fr30bf_insn_data[itype];
2879 CGEN_INSN_INT insn = base_insn;
2880 #define FLD(f) abuf->fields.fmt_dmov2r13pib.f
2881 EXTRACT_IFMT_DMOVR13B_VARS /* f-op1 f-op2 f-dir8 */
2883 EXTRACT_IFMT_DMOVR13B_CODE
2885 /* Record the fields for the semantic handler. */
2886 FLD (f_dir8) = f_dir8;
2887 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
2889 #if WITH_PROFILE_MODEL_P
2890 /* Record the fields for profiling. */
2891 if (PROFILE_MODEL_P (current_cpu))
2893 FLD (in_h_gr_13) = 13;
2894 FLD (out_h_gr_13) = 13;
2901 extract_fmt_dmov2r15pd:
2903 const IDESC *idesc = &fr30bf_insn_data[itype];
2904 CGEN_INSN_INT insn = base_insn;
2905 #define FLD(f) abuf->fields.fmt_dmov2r15pd.f
2906 EXTRACT_IFMT_DMOVR13_VARS /* f-op1 f-op2 f-dir10 */
2908 EXTRACT_IFMT_DMOVR13_CODE
2910 /* Record the fields for the semantic handler. */
2911 FLD (f_dir10) = f_dir10;
2912 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
2914 #if WITH_PROFILE_MODEL_P
2915 /* Record the fields for profiling. */
2916 if (PROFILE_MODEL_P (current_cpu))
2918 FLD (in_h_gr_15) = 15;
2919 FLD (out_h_gr_15) = 15;
2928 const IDESC *idesc = &fr30bf_insn_data[itype];
2929 CGEN_INSN_INT insn = base_insn;
2930 #define FLD(f) abuf->fields.fmt_ldres.f
2931 EXTRACT_IFMT_ADDI_VARS /* f-op1 f-op2 f-u4 f-Ri */
2933 EXTRACT_IFMT_ADDI_CODE
2935 /* Record the fields for the semantic handler. */
2936 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
2937 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldres", "Ri 0x%x", 'x', f_Ri, (char *) 0));
2939 #if WITH_PROFILE_MODEL_P
2940 /* Record the fields for profiling. */
2941 if (PROFILE_MODEL_P (current_cpu))
2944 FLD (out_Ri) = f_Ri;
2953 const IDESC *idesc = &fr30bf_insn_data[itype];
2954 CGEN_INSN_INT insn = base_insn;
2955 #define FLD(f) abuf->fields.fmt_copop.f
2956 EXTRACT_IFMT_COPOP_VARS /* f-op1 f-ccc f-op2 f-op3 f-CRj f-u4c f-CRi */
2958 EXTRACT_IFMT_COPOP_CODE
2960 /* Record the fields for the semantic handler. */
2961 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_copop", (char *) 0));
2969 const IDESC *idesc = &fr30bf_insn_data[itype];
2970 CGEN_INSN_INT insn = base_insn;
2971 #define FLD(f) abuf->fields.fmt_copld.f
2972 EXTRACT_IFMT_COPLD_VARS /* f-op1 f-ccc f-op2 f-op3 f-Rjc f-u4c f-CRi */
2974 EXTRACT_IFMT_COPLD_CODE
2976 /* Record the fields for the semantic handler. */
2977 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_copld", (char *) 0));
2985 const IDESC *idesc = &fr30bf_insn_data[itype];
2986 CGEN_INSN_INT insn = base_insn;
2987 #define FLD(f) abuf->fields.fmt_copst.f
2988 EXTRACT_IFMT_COPST_VARS /* f-op1 f-ccc f-op2 f-op3 f-CRj f-u4c f-Ric */
2990 EXTRACT_IFMT_COPST_CODE
2992 /* Record the fields for the semantic handler. */
2993 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_copst", (char *) 0));
3001 const IDESC *idesc = &fr30bf_insn_data[itype];
3002 CGEN_INSN_INT insn = base_insn;
3003 #define FLD(f) abuf->fields.fmt_nop.f
3004 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
3006 EXTRACT_IFMT_DIV3_CODE
3008 /* Record the fields for the semantic handler. */
3009 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_nop", (char *) 0));
3017 const IDESC *idesc = &fr30bf_insn_data[itype];
3018 CGEN_INSN_INT insn = base_insn;
3019 #define FLD(f) abuf->fields.fmt_andccr.f
3020 EXTRACT_IFMT_INT_VARS /* f-op1 f-op2 f-u8 */
3022 EXTRACT_IFMT_INT_CODE
3024 /* Record the fields for the semantic handler. */
3026 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0));
3034 const IDESC *idesc = &fr30bf_insn_data[itype];
3035 CGEN_INSN_INT insn = base_insn;
3036 #define FLD(f) abuf->fields.fmt_stilm.f
3037 EXTRACT_IFMT_INT_VARS /* f-op1 f-op2 f-u8 */
3039 EXTRACT_IFMT_INT_CODE
3041 /* Record the fields for the semantic handler. */
3043 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0));
3051 const IDESC *idesc = &fr30bf_insn_data[itype];
3052 CGEN_INSN_INT insn = base_insn;
3053 #define FLD(f) abuf->fields.fmt_addsp.f
3054 EXTRACT_IFMT_ADDSP_VARS /* f-op1 f-op2 f-s10 */
3056 EXTRACT_IFMT_ADDSP_CODE
3058 /* Record the fields for the semantic handler. */
3059 FLD (f_s10) = f_s10;
3060 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0));
3062 #if WITH_PROFILE_MODEL_P
3063 /* Record the fields for profiling. */
3064 if (PROFILE_MODEL_P (current_cpu))
3066 FLD (in_h_gr_15) = 15;
3067 FLD (out_h_gr_15) = 15;
3076 const IDESC *idesc = &fr30bf_insn_data[itype];
3077 CGEN_INSN_INT insn = base_insn;
3078 #define FLD(f) abuf->fields.fmt_extsb.f
3079 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
3081 EXTRACT_IFMT_DIV0S_CODE
3083 /* Record the fields for the semantic handler. */
3084 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
3085 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_extsb", "Ri 0x%x", 'x', f_Ri, (char *) 0));
3087 #if WITH_PROFILE_MODEL_P
3088 /* Record the fields for profiling. */
3089 if (PROFILE_MODEL_P (current_cpu))
3092 FLD (out_Ri) = f_Ri;
3101 const IDESC *idesc = &fr30bf_insn_data[itype];
3102 CGEN_INSN_INT insn = base_insn;
3103 #define FLD(f) abuf->fields.fmt_extub.f
3104 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
3106 EXTRACT_IFMT_DIV0S_CODE
3108 /* Record the fields for the semantic handler. */
3109 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
3110 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_extub", "Ri 0x%x", 'x', f_Ri, (char *) 0));
3112 #if WITH_PROFILE_MODEL_P
3113 /* Record the fields for profiling. */
3114 if (PROFILE_MODEL_P (current_cpu))
3117 FLD (out_Ri) = f_Ri;
3126 const IDESC *idesc = &fr30bf_insn_data[itype];
3127 CGEN_INSN_INT insn = base_insn;
3128 #define FLD(f) abuf->fields.fmt_extsh.f
3129 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
3131 EXTRACT_IFMT_DIV0S_CODE
3133 /* Record the fields for the semantic handler. */
3134 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
3135 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_extsh", "Ri 0x%x", 'x', f_Ri, (char *) 0));
3137 #if WITH_PROFILE_MODEL_P
3138 /* Record the fields for profiling. */
3139 if (PROFILE_MODEL_P (current_cpu))
3142 FLD (out_Ri) = f_Ri;
3151 const IDESC *idesc = &fr30bf_insn_data[itype];
3152 CGEN_INSN_INT insn = base_insn;
3153 #define FLD(f) abuf->fields.fmt_extuh.f
3154 EXTRACT_IFMT_DIV0S_VARS /* f-op1 f-op2 f-op3 f-Ri */
3156 EXTRACT_IFMT_DIV0S_CODE
3158 /* Record the fields for the semantic handler. */
3159 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
3160 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_extuh", "Ri 0x%x", 'x', f_Ri, (char *) 0));
3162 #if WITH_PROFILE_MODEL_P
3163 /* Record the fields for profiling. */
3164 if (PROFILE_MODEL_P (current_cpu))
3167 FLD (out_Ri) = f_Ri;
3176 const IDESC *idesc = &fr30bf_insn_data[itype];
3177 CGEN_INSN_INT insn = base_insn;
3178 #define FLD(f) abuf->fields.fmt_ldm0.f
3179 EXTRACT_IFMT_LDM0_VARS /* f-op1 f-op2 f-reglist_low_ld */
3181 EXTRACT_IFMT_LDM0_CODE
3183 /* Record the fields for the semantic handler. */
3184 FLD (f_reglist_low_ld) = f_reglist_low_ld;
3185 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0));
3187 #if WITH_PROFILE_MODEL_P
3188 /* Record the fields for profiling. */
3189 if (PROFILE_MODEL_P (current_cpu))
3191 FLD (in_h_gr_15) = 15;
3192 FLD (out_h_gr_0) = 0;
3193 FLD (out_h_gr_1) = 1;
3194 FLD (out_h_gr_15) = 15;
3195 FLD (out_h_gr_2) = 2;
3196 FLD (out_h_gr_3) = 3;
3197 FLD (out_h_gr_4) = 4;
3198 FLD (out_h_gr_5) = 5;
3199 FLD (out_h_gr_6) = 6;
3200 FLD (out_h_gr_7) = 7;
3209 const IDESC *idesc = &fr30bf_insn_data[itype];
3210 CGEN_INSN_INT insn = base_insn;
3211 #define FLD(f) abuf->fields.fmt_ldm1.f
3212 EXTRACT_IFMT_LDM1_VARS /* f-op1 f-op2 f-reglist_hi_ld */
3214 EXTRACT_IFMT_LDM1_CODE
3216 /* Record the fields for the semantic handler. */
3217 FLD (f_reglist_hi_ld) = f_reglist_hi_ld;
3218 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0));
3220 #if WITH_PROFILE_MODEL_P
3221 /* Record the fields for profiling. */
3222 if (PROFILE_MODEL_P (current_cpu))
3224 FLD (in_h_gr_15) = 15;
3225 FLD (out_h_gr_10) = 10;
3226 FLD (out_h_gr_11) = 11;
3227 FLD (out_h_gr_12) = 12;
3228 FLD (out_h_gr_13) = 13;
3229 FLD (out_h_gr_14) = 14;
3230 FLD (out_h_gr_15) = 15;
3231 FLD (out_h_gr_8) = 8;
3232 FLD (out_h_gr_9) = 9;
3241 const IDESC *idesc = &fr30bf_insn_data[itype];
3242 CGEN_INSN_INT insn = base_insn;
3243 #define FLD(f) abuf->fields.fmt_stm0.f
3244 EXTRACT_IFMT_STM0_VARS /* f-op1 f-op2 f-reglist_low_st */
3246 EXTRACT_IFMT_STM0_CODE
3248 /* Record the fields for the semantic handler. */
3249 FLD (f_reglist_low_st) = f_reglist_low_st;
3250 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0));
3252 #if WITH_PROFILE_MODEL_P
3253 /* Record the fields for profiling. */
3254 if (PROFILE_MODEL_P (current_cpu))
3256 FLD (in_h_gr_0) = 0;
3257 FLD (in_h_gr_1) = 1;
3258 FLD (in_h_gr_15) = 15;
3259 FLD (in_h_gr_2) = 2;
3260 FLD (in_h_gr_3) = 3;
3261 FLD (in_h_gr_4) = 4;
3262 FLD (in_h_gr_5) = 5;
3263 FLD (in_h_gr_6) = 6;
3264 FLD (in_h_gr_7) = 7;
3265 FLD (out_h_gr_15) = 15;
3274 const IDESC *idesc = &fr30bf_insn_data[itype];
3275 CGEN_INSN_INT insn = base_insn;
3276 #define FLD(f) abuf->fields.fmt_stm1.f
3277 EXTRACT_IFMT_STM1_VARS /* f-op1 f-op2 f-reglist_hi_st */
3279 EXTRACT_IFMT_STM1_CODE
3281 /* Record the fields for the semantic handler. */
3282 FLD (f_reglist_hi_st) = f_reglist_hi_st;
3283 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0));
3285 #if WITH_PROFILE_MODEL_P
3286 /* Record the fields for profiling. */
3287 if (PROFILE_MODEL_P (current_cpu))
3289 FLD (in_h_gr_10) = 10;
3290 FLD (in_h_gr_11) = 11;
3291 FLD (in_h_gr_12) = 12;
3292 FLD (in_h_gr_13) = 13;
3293 FLD (in_h_gr_14) = 14;
3294 FLD (in_h_gr_15) = 15;
3295 FLD (in_h_gr_8) = 8;
3296 FLD (in_h_gr_9) = 9;
3297 FLD (out_h_gr_15) = 15;
3306 const IDESC *idesc = &fr30bf_insn_data[itype];
3307 CGEN_INSN_INT insn = base_insn;
3308 #define FLD(f) abuf->fields.fmt_enter.f
3309 EXTRACT_IFMT_ENTER_VARS /* f-op1 f-op2 f-u10 */
3311 EXTRACT_IFMT_ENTER_CODE
3313 /* Record the fields for the semantic handler. */
3314 FLD (f_u10) = f_u10;
3315 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_enter", "f_u10 0x%x", 'x', f_u10, (char *) 0));
3317 #if WITH_PROFILE_MODEL_P
3318 /* Record the fields for profiling. */
3319 if (PROFILE_MODEL_P (current_cpu))
3321 FLD (in_h_gr_14) = 14;
3322 FLD (in_h_gr_15) = 15;
3323 FLD (out_h_gr_14) = 14;
3324 FLD (out_h_gr_15) = 15;
3333 const IDESC *idesc = &fr30bf_insn_data[itype];
3334 CGEN_INSN_INT insn = base_insn;
3335 #define FLD(f) abuf->fields.fmt_leave.f
3336 EXTRACT_IFMT_DIV3_VARS /* f-op1 f-op2 f-op3 f-op4 */
3338 EXTRACT_IFMT_DIV3_CODE
3340 /* Record the fields for the semantic handler. */
3341 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_leave", (char *) 0));
3343 #if WITH_PROFILE_MODEL_P
3344 /* Record the fields for profiling. */
3345 if (PROFILE_MODEL_P (current_cpu))
3347 FLD (in_h_gr_14) = 14;
3348 FLD (in_h_gr_15) = 15;
3349 FLD (out_h_gr_14) = 14;
3350 FLD (out_h_gr_15) = 15;
3359 const IDESC *idesc = &fr30bf_insn_data[itype];
3360 CGEN_INSN_INT insn = base_insn;
3361 #define FLD(f) abuf->fields.fmt_xchb.f
3362 EXTRACT_IFMT_ADD_VARS /* f-op1 f-op2 f-Rj f-Ri */
3364 EXTRACT_IFMT_ADD_CODE
3366 /* Record the fields for the semantic handler. */
3367 FLD (i_Ri) = & CPU (h_gr)[f_Ri];
3368 FLD (i_Rj) = & CPU (h_gr)[f_Rj];
3369 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "fmt_xchb", "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
3371 #if WITH_PROFILE_MODEL_P
3372 /* Record the fields for profiling. */
3373 if (PROFILE_MODEL_P (current_cpu))
3377 FLD (out_Ri) = f_Ri;