]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/frv/cpu.h
Switch the license of all files explicitly copyright the FSF
[thirdparty/binutils-gdb.git] / sim / frv / cpu.h
1 /* CPU family header for frvbf.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright 1996-2005 Free Software Foundation, Inc.
6
7 This file is part of the GNU simulators.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
13
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.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
21
22 */
23
24 #ifndef CPU_FRVBF_H
25 #define CPU_FRVBF_H
26
27 /* Maximum number of instructions that are fetched at a time.
28 This is for LIW type instructions sets (e.g. m32r). */
29 #define MAX_LIW_INSNS 1
30
31 /* Maximum number of instructions that can be executed in parallel. */
32 #define MAX_PARALLEL_INSNS 8
33
34 /* CPU state information. */
35 typedef struct {
36 /* Hardware elements. */
37 struct {
38 /* relocation annotation */
39 BI h_reloc_ann;
40 #define GET_H_RELOC_ANN() CPU (h_reloc_ann)
41 #define SET_H_RELOC_ANN(x) (CPU (h_reloc_ann) = (x))
42 /* program counter */
43 USI h_pc;
44 #define GET_H_PC() CPU (h_pc)
45 #define SET_H_PC(x) (CPU (h_pc) = (x))
46 /* PSR.IMPLE */
47 UQI h_psr_imple;
48 #define GET_H_PSR_IMPLE() CPU (h_psr_imple)
49 #define SET_H_PSR_IMPLE(x) (CPU (h_psr_imple) = (x))
50 /* PSR.VER */
51 UQI h_psr_ver;
52 #define GET_H_PSR_VER() CPU (h_psr_ver)
53 #define SET_H_PSR_VER(x) (CPU (h_psr_ver) = (x))
54 /* PSR.ICE bit */
55 BI h_psr_ice;
56 #define GET_H_PSR_ICE() CPU (h_psr_ice)
57 #define SET_H_PSR_ICE(x) (CPU (h_psr_ice) = (x))
58 /* PSR.NEM bit */
59 BI h_psr_nem;
60 #define GET_H_PSR_NEM() CPU (h_psr_nem)
61 #define SET_H_PSR_NEM(x) (CPU (h_psr_nem) = (x))
62 /* PSR.CM bit */
63 BI h_psr_cm;
64 #define GET_H_PSR_CM() CPU (h_psr_cm)
65 #define SET_H_PSR_CM(x) (CPU (h_psr_cm) = (x))
66 /* PSR.BE bit */
67 BI h_psr_be;
68 #define GET_H_PSR_BE() CPU (h_psr_be)
69 #define SET_H_PSR_BE(x) (CPU (h_psr_be) = (x))
70 /* PSR.ESR bit */
71 BI h_psr_esr;
72 #define GET_H_PSR_ESR() CPU (h_psr_esr)
73 #define SET_H_PSR_ESR(x) (CPU (h_psr_esr) = (x))
74 /* PSR.EF bit */
75 BI h_psr_ef;
76 #define GET_H_PSR_EF() CPU (h_psr_ef)
77 #define SET_H_PSR_EF(x) (CPU (h_psr_ef) = (x))
78 /* PSR.EM bit */
79 BI h_psr_em;
80 #define GET_H_PSR_EM() CPU (h_psr_em)
81 #define SET_H_PSR_EM(x) (CPU (h_psr_em) = (x))
82 /* PSR.PIL */
83 UQI h_psr_pil;
84 #define GET_H_PSR_PIL() CPU (h_psr_pil)
85 #define SET_H_PSR_PIL(x) (CPU (h_psr_pil) = (x))
86 /* PSR.PS bit */
87 BI h_psr_ps;
88 #define GET_H_PSR_PS() CPU (h_psr_ps)
89 #define SET_H_PSR_PS(x) (CPU (h_psr_ps) = (x))
90 /* PSR.ET bit */
91 BI h_psr_et;
92 #define GET_H_PSR_ET() CPU (h_psr_et)
93 #define SET_H_PSR_ET(x) (CPU (h_psr_et) = (x))
94 /* PSR.S bit */
95 BI h_psr_s;
96 #define GET_H_PSR_S() CPU (h_psr_s)
97 #define SET_H_PSR_S(x) \
98 do { \
99 frvbf_h_psr_s_set_handler (current_cpu, (x));\
100 ;} while (0)
101 /* TBR.TBA */
102 USI h_tbr_tba;
103 #define GET_H_TBR_TBA() CPU (h_tbr_tba)
104 #define SET_H_TBR_TBA(x) (CPU (h_tbr_tba) = (x))
105 /* TBR.TT */
106 UQI h_tbr_tt;
107 #define GET_H_TBR_TT() CPU (h_tbr_tt)
108 #define SET_H_TBR_TT(x) (CPU (h_tbr_tt) = (x))
109 /* PSR.S bit */
110 BI h_bpsr_bs;
111 #define GET_H_BPSR_BS() CPU (h_bpsr_bs)
112 #define SET_H_BPSR_BS(x) (CPU (h_bpsr_bs) = (x))
113 /* PSR.ET bit */
114 BI h_bpsr_bet;
115 #define GET_H_BPSR_BET() CPU (h_bpsr_bet)
116 #define SET_H_BPSR_BET(x) (CPU (h_bpsr_bet) = (x))
117 /* general registers */
118 USI h_gr[64];
119 #define GET_H_GR(index) frvbf_h_gr_get_handler (current_cpu, index)
120 #define SET_H_GR(index, x) \
121 do { \
122 frvbf_h_gr_set_handler (current_cpu, (index), (x));\
123 ;} while (0)
124 /* floating point registers */
125 SF h_fr[64];
126 #define GET_H_FR(index) frvbf_h_fr_get_handler (current_cpu, index)
127 #define SET_H_FR(index, x) \
128 do { \
129 frvbf_h_fr_set_handler (current_cpu, (index), (x));\
130 ;} while (0)
131 /* coprocessor registers */
132 SI h_cpr[64];
133 #define GET_H_CPR(a1) CPU (h_cpr)[a1]
134 #define SET_H_CPR(a1, x) (CPU (h_cpr)[a1] = (x))
135 /* special purpose registers */
136 USI h_spr[4096];
137 #define GET_H_SPR(index) frvbf_h_spr_get_handler (current_cpu, index)
138 #define SET_H_SPR(index, x) \
139 do { \
140 frvbf_h_spr_set_handler (current_cpu, (index), (x));\
141 ;} while (0)
142 /* Integer condition code registers */
143 UQI h_iccr[4];
144 #define GET_H_ICCR(a1) CPU (h_iccr)[a1]
145 #define SET_H_ICCR(a1, x) (CPU (h_iccr)[a1] = (x))
146 /* Floating point condition code registers */
147 UQI h_fccr[4];
148 #define GET_H_FCCR(a1) CPU (h_fccr)[a1]
149 #define SET_H_FCCR(a1, x) (CPU (h_fccr)[a1] = (x))
150 /* Condition code registers */
151 UQI h_cccr[8];
152 #define GET_H_CCCR(a1) CPU (h_cccr)[a1]
153 #define SET_H_CCCR(a1, x) (CPU (h_cccr)[a1] = (x))
154 } hardware;
155 #define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware)
156 } FRVBF_CPU_DATA;
157
158 /* Virtual regs. */
159
160 #define GET_H_GR_DOUBLE(index) frvbf_h_gr_double_get_handler (current_cpu, index)
161 #define SET_H_GR_DOUBLE(index, x) \
162 do { \
163 frvbf_h_gr_double_set_handler (current_cpu, (index), (x));\
164 ;} while (0)
165 #define GET_H_GR_HI(index) frvbf_h_gr_hi_get_handler (current_cpu, index)
166 #define SET_H_GR_HI(index, x) \
167 do { \
168 frvbf_h_gr_hi_set_handler (current_cpu, (index), (x));\
169 ;} while (0)
170 #define GET_H_GR_LO(index) frvbf_h_gr_lo_get_handler (current_cpu, index)
171 #define SET_H_GR_LO(index, x) \
172 do { \
173 frvbf_h_gr_lo_set_handler (current_cpu, (index), (x));\
174 ;} while (0)
175 #define GET_H_FR_DOUBLE(index) frvbf_h_fr_double_get_handler (current_cpu, index)
176 #define SET_H_FR_DOUBLE(index, x) \
177 do { \
178 frvbf_h_fr_double_set_handler (current_cpu, (index), (x));\
179 ;} while (0)
180 #define GET_H_FR_INT(index) frvbf_h_fr_int_get_handler (current_cpu, index)
181 #define SET_H_FR_INT(index, x) \
182 do { \
183 frvbf_h_fr_int_set_handler (current_cpu, (index), (x));\
184 ;} while (0)
185 #define GET_H_FR_HI(index) SRLSI (GET_H_FR_INT (index), 16)
186 #define SET_H_FR_HI(index, x) \
187 do { \
188 SET_H_FR_INT ((index), ORSI (ANDSI (GET_H_FR_INT ((index)), 65535), SLLHI ((x), 16)));\
189 ;} while (0)
190 #define GET_H_FR_LO(index) ANDSI (GET_H_FR_INT (index), 65535)
191 #define SET_H_FR_LO(index, x) \
192 do { \
193 SET_H_FR_INT ((index), ORSI (ANDSI (GET_H_FR_INT ((index)), 0xffff0000), ANDHI ((x), 65535)));\
194 ;} while (0)
195 #define GET_H_FR_0(index) ANDSI (GET_H_FR_INT (index), 255)
196 #define SET_H_FR_0(index, x) \
197 do { \
198 {\
199 if (GTSI ((x), 255)) {\
200 (x) = 255;\
201 }\
202 SET_H_FR_INT ((index), ORSI (ANDSI (GET_H_FR_INT ((index)), 0xffffff00), (x)));\
203 }\
204 ;} while (0)
205 #define GET_H_FR_1(index) ANDSI (SRLSI (GET_H_FR_INT (index), 8), 255)
206 #define SET_H_FR_1(index, x) \
207 do { \
208 {\
209 if (GTSI ((x), 255)) {\
210 (x) = 255;\
211 }\
212 SET_H_FR_INT ((index), ORSI (ANDSI (GET_H_FR_INT ((index)), 0xffff00ff), SLLHI ((x), 8)));\
213 }\
214 ;} while (0)
215 #define GET_H_FR_2(index) ANDSI (SRLSI (GET_H_FR_INT (index), 16), 255)
216 #define SET_H_FR_2(index, x) \
217 do { \
218 {\
219 if (GTSI ((x), 255)) {\
220 (x) = 255;\
221 }\
222 SET_H_FR_INT ((index), ORSI (ANDSI (GET_H_FR_INT ((index)), 0xff00ffff), SLLHI ((x), 16)));\
223 }\
224 ;} while (0)
225 #define GET_H_FR_3(index) ANDSI (SRLSI (GET_H_FR_INT (index), 24), 255)
226 #define SET_H_FR_3(index, x) \
227 do { \
228 {\
229 if (GTSI ((x), 255)) {\
230 (x) = 255;\
231 }\
232 SET_H_FR_INT ((index), ORSI (ANDSI (GET_H_FR_INT ((index)), 16777215), SLLHI ((x), 24)));\
233 }\
234 ;} while (0)
235 #define GET_H_CPR_DOUBLE(index) frvbf_h_cpr_double_get_handler (current_cpu, index)
236 #define SET_H_CPR_DOUBLE(index, x) \
237 do { \
238 frvbf_h_cpr_double_set_handler (current_cpu, (index), (x));\
239 ;} while (0)
240 #define GET_H_ACCG(index) ANDSI (GET_H_SPR (((index) + (1472))), 255)
241 #define SET_H_ACCG(index, x) \
242 do { \
243 CPU (h_spr[(((index)) + (1472))]) = ANDSI ((x), 255);\
244 ;} while (0)
245 #define GET_H_ACC40S(index) ORDI (SLLDI (EXTQIDI (TRUNCSIQI (GET_H_SPR (((index) + (1472))))), 32), ZEXTSIDI (GET_H_SPR (((index) + (1408)))))
246 #define SET_H_ACC40S(index, x) \
247 do { \
248 {\
249 frv_check_spr_write_access (current_cpu, (((index)) + (1408)));\
250 CPU (h_spr[(((index)) + (1472))]) = ANDDI (SRLDI ((x), 32), 255);\
251 CPU (h_spr[(((index)) + (1408))]) = TRUNCDISI ((x));\
252 }\
253 ;} while (0)
254 #define GET_H_ACC40U(index) ORDI (SLLDI (ZEXTSIDI (GET_H_SPR (((index) + (1472)))), 32), ZEXTSIDI (GET_H_SPR (((index) + (1408)))))
255 #define SET_H_ACC40U(index, x) \
256 do { \
257 {\
258 frv_check_spr_write_access (current_cpu, (((index)) + (1408)));\
259 CPU (h_spr[(((index)) + (1472))]) = ANDDI (SRLDI ((x), 32), 255);\
260 CPU (h_spr[(((index)) + (1408))]) = TRUNCDISI ((x));\
261 }\
262 ;} while (0)
263 #define GET_H_IACC0(index) ORDI (SLLDI (EXTSIDI (GET_H_SPR (((UINT) 280))), 32), ZEXTSIDI (GET_H_SPR (((UINT) 281))))
264 #define SET_H_IACC0(index, x) \
265 do { \
266 {\
267 SET_H_SPR (((UINT) 280), TRUNCDISI (SRLDI ((x), 32)));\
268 SET_H_SPR (((UINT) 281), TRUNCDISI ((x)));\
269 }\
270 ;} while (0)
271
272 /* Cover fns for register access. */
273 BI frvbf_h_reloc_ann_get (SIM_CPU *);
274 void frvbf_h_reloc_ann_set (SIM_CPU *, BI);
275 USI frvbf_h_pc_get (SIM_CPU *);
276 void frvbf_h_pc_set (SIM_CPU *, USI);
277 UQI frvbf_h_psr_imple_get (SIM_CPU *);
278 void frvbf_h_psr_imple_set (SIM_CPU *, UQI);
279 UQI frvbf_h_psr_ver_get (SIM_CPU *);
280 void frvbf_h_psr_ver_set (SIM_CPU *, UQI);
281 BI frvbf_h_psr_ice_get (SIM_CPU *);
282 void frvbf_h_psr_ice_set (SIM_CPU *, BI);
283 BI frvbf_h_psr_nem_get (SIM_CPU *);
284 void frvbf_h_psr_nem_set (SIM_CPU *, BI);
285 BI frvbf_h_psr_cm_get (SIM_CPU *);
286 void frvbf_h_psr_cm_set (SIM_CPU *, BI);
287 BI frvbf_h_psr_be_get (SIM_CPU *);
288 void frvbf_h_psr_be_set (SIM_CPU *, BI);
289 BI frvbf_h_psr_esr_get (SIM_CPU *);
290 void frvbf_h_psr_esr_set (SIM_CPU *, BI);
291 BI frvbf_h_psr_ef_get (SIM_CPU *);
292 void frvbf_h_psr_ef_set (SIM_CPU *, BI);
293 BI frvbf_h_psr_em_get (SIM_CPU *);
294 void frvbf_h_psr_em_set (SIM_CPU *, BI);
295 UQI frvbf_h_psr_pil_get (SIM_CPU *);
296 void frvbf_h_psr_pil_set (SIM_CPU *, UQI);
297 BI frvbf_h_psr_ps_get (SIM_CPU *);
298 void frvbf_h_psr_ps_set (SIM_CPU *, BI);
299 BI frvbf_h_psr_et_get (SIM_CPU *);
300 void frvbf_h_psr_et_set (SIM_CPU *, BI);
301 BI frvbf_h_psr_s_get (SIM_CPU *);
302 void frvbf_h_psr_s_set (SIM_CPU *, BI);
303 USI frvbf_h_tbr_tba_get (SIM_CPU *);
304 void frvbf_h_tbr_tba_set (SIM_CPU *, USI);
305 UQI frvbf_h_tbr_tt_get (SIM_CPU *);
306 void frvbf_h_tbr_tt_set (SIM_CPU *, UQI);
307 BI frvbf_h_bpsr_bs_get (SIM_CPU *);
308 void frvbf_h_bpsr_bs_set (SIM_CPU *, BI);
309 BI frvbf_h_bpsr_bet_get (SIM_CPU *);
310 void frvbf_h_bpsr_bet_set (SIM_CPU *, BI);
311 USI frvbf_h_gr_get (SIM_CPU *, UINT);
312 void frvbf_h_gr_set (SIM_CPU *, UINT, USI);
313 DI frvbf_h_gr_double_get (SIM_CPU *, UINT);
314 void frvbf_h_gr_double_set (SIM_CPU *, UINT, DI);
315 UHI frvbf_h_gr_hi_get (SIM_CPU *, UINT);
316 void frvbf_h_gr_hi_set (SIM_CPU *, UINT, UHI);
317 UHI frvbf_h_gr_lo_get (SIM_CPU *, UINT);
318 void frvbf_h_gr_lo_set (SIM_CPU *, UINT, UHI);
319 SF frvbf_h_fr_get (SIM_CPU *, UINT);
320 void frvbf_h_fr_set (SIM_CPU *, UINT, SF);
321 DF frvbf_h_fr_double_get (SIM_CPU *, UINT);
322 void frvbf_h_fr_double_set (SIM_CPU *, UINT, DF);
323 USI frvbf_h_fr_int_get (SIM_CPU *, UINT);
324 void frvbf_h_fr_int_set (SIM_CPU *, UINT, USI);
325 UHI frvbf_h_fr_hi_get (SIM_CPU *, UINT);
326 void frvbf_h_fr_hi_set (SIM_CPU *, UINT, UHI);
327 UHI frvbf_h_fr_lo_get (SIM_CPU *, UINT);
328 void frvbf_h_fr_lo_set (SIM_CPU *, UINT, UHI);
329 UHI frvbf_h_fr_0_get (SIM_CPU *, UINT);
330 void frvbf_h_fr_0_set (SIM_CPU *, UINT, UHI);
331 UHI frvbf_h_fr_1_get (SIM_CPU *, UINT);
332 void frvbf_h_fr_1_set (SIM_CPU *, UINT, UHI);
333 UHI frvbf_h_fr_2_get (SIM_CPU *, UINT);
334 void frvbf_h_fr_2_set (SIM_CPU *, UINT, UHI);
335 UHI frvbf_h_fr_3_get (SIM_CPU *, UINT);
336 void frvbf_h_fr_3_set (SIM_CPU *, UINT, UHI);
337 SI frvbf_h_cpr_get (SIM_CPU *, UINT);
338 void frvbf_h_cpr_set (SIM_CPU *, UINT, SI);
339 DI frvbf_h_cpr_double_get (SIM_CPU *, UINT);
340 void frvbf_h_cpr_double_set (SIM_CPU *, UINT, DI);
341 USI frvbf_h_spr_get (SIM_CPU *, UINT);
342 void frvbf_h_spr_set (SIM_CPU *, UINT, USI);
343 USI frvbf_h_accg_get (SIM_CPU *, UINT);
344 void frvbf_h_accg_set (SIM_CPU *, UINT, USI);
345 DI frvbf_h_acc40S_get (SIM_CPU *, UINT);
346 void frvbf_h_acc40S_set (SIM_CPU *, UINT, DI);
347 UDI frvbf_h_acc40U_get (SIM_CPU *, UINT);
348 void frvbf_h_acc40U_set (SIM_CPU *, UINT, UDI);
349 DI frvbf_h_iacc0_get (SIM_CPU *, UINT);
350 void frvbf_h_iacc0_set (SIM_CPU *, UINT, DI);
351 UQI frvbf_h_iccr_get (SIM_CPU *, UINT);
352 void frvbf_h_iccr_set (SIM_CPU *, UINT, UQI);
353 UQI frvbf_h_fccr_get (SIM_CPU *, UINT);
354 void frvbf_h_fccr_set (SIM_CPU *, UINT, UQI);
355 UQI frvbf_h_cccr_get (SIM_CPU *, UINT);
356 void frvbf_h_cccr_set (SIM_CPU *, UINT, UQI);
357
358 /* These must be hand-written. */
359 extern CPUREG_FETCH_FN frvbf_fetch_register;
360 extern CPUREG_STORE_FN frvbf_store_register;
361
362 typedef struct {
363 int empty;
364 } MODEL_FRV_DATA;
365
366 typedef struct {
367 DI prev_fr_load;
368 DI prev_fr_complex_1;
369 DI prev_fr_complex_2;
370 DI prev_ccr_complex;
371 DI prev_acc_mmac;
372 DI cur_fr_load;
373 DI cur_fr_complex_1;
374 DI cur_fr_complex_2;
375 SI cur_ccr_complex;
376 DI cur_acc_mmac;
377 } MODEL_FR550_DATA;
378
379 typedef struct {
380 DI prev_fpop;
381 DI prev_media;
382 DI prev_cc_complex;
383 DI cur_fpop;
384 DI cur_media;
385 DI cur_cc_complex;
386 } MODEL_FR500_DATA;
387
388 typedef struct {
389 int empty;
390 } MODEL_TOMCAT_DATA;
391
392 typedef struct {
393 DI prev_fp_load;
394 DI prev_fr_p4;
395 DI prev_fr_p6;
396 DI prev_acc_p2;
397 DI prev_acc_p4;
398 DI cur_fp_load;
399 DI cur_fr_p4;
400 DI cur_fr_p6;
401 DI cur_acc_p2;
402 DI cur_acc_p4;
403 } MODEL_FR400_DATA;
404
405 typedef struct {
406 DI prev_fp_load;
407 DI prev_fr_p4;
408 DI prev_fr_p6;
409 DI prev_acc_p2;
410 DI prev_acc_p4;
411 DI cur_fp_load;
412 DI cur_fr_p4;
413 DI cur_fr_p6;
414 DI cur_acc_p2;
415 DI cur_acc_p4;
416 } MODEL_FR450_DATA;
417
418 typedef struct {
419 int empty;
420 } MODEL_SIMPLE_DATA;
421
422 /* Instruction argument buffer. */
423
424 union sem_fields {
425 struct { /* no operands */
426 int empty;
427 } fmt_empty;
428 struct { /* */
429 unsigned short out_h_spr_USI_2;
430 } sfmt_break;
431 struct { /* */
432 UINT f_debug;
433 } sfmt_rett;
434 struct { /* */
435 IADDR i_label24;
436 } sfmt_call;
437 struct { /* */
438 INT f_u12;
439 UINT f_FRk;
440 unsigned char out_FRkhi;
441 } sfmt_mhsethis;
442 struct { /* */
443 INT f_u12;
444 UINT f_FRk;
445 unsigned char out_FRklo;
446 } sfmt_mhsetlos;
447 struct { /* */
448 INT f_s16;
449 UINT f_GRk;
450 unsigned char out_GRk;
451 } sfmt_setlos;
452 struct { /* */
453 UINT f_GRk;
454 UINT f_u16;
455 unsigned char out_GRkhi;
456 } sfmt_sethi;
457 struct { /* */
458 UINT f_GRk;
459 UINT f_u16;
460 unsigned char out_GRklo;
461 } sfmt_setlo;
462 struct { /* */
463 UINT f_ACCGi;
464 UINT f_FRk;
465 unsigned char in_ACCGi;
466 unsigned char out_FRintk;
467 } sfmt_mrdaccg;
468 struct { /* */
469 INT f_s5;
470 UINT f_FRk;
471 unsigned char in_FRkhi;
472 unsigned char out_FRkhi;
473 } sfmt_mhsethih;
474 struct { /* */
475 INT f_s5;
476 UINT f_FRk;
477 unsigned char in_FRklo;
478 unsigned char out_FRklo;
479 } sfmt_mhsetloh;
480 struct { /* */
481 UINT f_FRj;
482 UINT f_FRk;
483 unsigned char in_FRdoublej;
484 unsigned char out_FRintk;
485 } sfmt_fdtoi;
486 struct { /* */
487 UINT f_FRj;
488 UINT f_FRk;
489 unsigned char in_FRintj;
490 unsigned char out_FRdoublek;
491 } sfmt_fitod;
492 struct { /* */
493 INT f_d12;
494 UINT f_GRi;
495 UINT f_LI;
496 unsigned char in_GRi;
497 } sfmt_jmpil;
498 struct { /* */
499 IADDR i_label16;
500 UINT f_FCCi_2;
501 UINT f_hint;
502 unsigned char in_FCCi_2;
503 } sfmt_fbne;
504 struct { /* */
505 IADDR i_label16;
506 UINT f_ICCi_2;
507 UINT f_hint;
508 unsigned char in_ICCi_2;
509 } sfmt_beq;
510 struct { /* */
511 UINT f_GRj;
512 UINT f_spr;
513 unsigned short in_spr;
514 unsigned char out_GRj;
515 } sfmt_movsg;
516 struct { /* */
517 UINT f_GRj;
518 UINT f_spr;
519 unsigned short out_spr;
520 unsigned char in_GRj;
521 } sfmt_movgs;
522 struct { /* */
523 UINT f_ACCGk;
524 UINT f_FRi;
525 unsigned char in_ACCGk;
526 unsigned char in_FRinti;
527 unsigned char out_ACCGk;
528 } sfmt_mwtaccg;
529 struct { /* */
530 INT f_s6;
531 UINT f_ACC40Si;
532 UINT f_FRk;
533 unsigned char in_ACC40Si;
534 unsigned char out_FRintk;
535 } sfmt_mcuti;
536 struct { /* */
537 UINT f_GRi;
538 UINT f_GRj;
539 UINT f_lock;
540 unsigned char in_GRi;
541 unsigned char in_GRj;
542 } sfmt_icpl;
543 struct { /* */
544 UINT f_GRi;
545 UINT f_GRj;
546 UINT f_ae;
547 unsigned char in_GRi;
548 unsigned char in_GRj;
549 } sfmt_icei;
550 struct { /* */
551 INT f_d12;
552 UINT f_FRk;
553 UINT f_GRi;
554 unsigned char in_FRdoublek;
555 unsigned char in_GRi;
556 } sfmt_stdfi;
557 struct { /* */
558 INT f_d12;
559 UINT f_GRi;
560 UINT f_GRk;
561 unsigned char in_GRdoublek;
562 unsigned char in_GRi;
563 } sfmt_stdi;
564 struct { /* */
565 INT f_d12;
566 UINT f_FRk;
567 UINT f_GRi;
568 unsigned char in_FRintk;
569 unsigned char in_GRi;
570 } sfmt_stbfi;
571 struct { /* */
572 INT f_d12;
573 UINT f_FRk;
574 UINT f_GRi;
575 unsigned char in_GRi;
576 unsigned char out_FRdoublek;
577 } sfmt_lddfi;
578 struct { /* */
579 INT f_d12;
580 UINT f_FRk;
581 UINT f_GRi;
582 unsigned char in_GRi;
583 unsigned char out_FRintk;
584 } sfmt_ldbfi;
585 struct { /* */
586 INT f_d12;
587 UINT f_GRi;
588 UINT f_GRk;
589 unsigned char in_GRi;
590 unsigned char out_GRdoublek;
591 } sfmt_smuli;
592 struct { /* */
593 UINT f_GRj;
594 UINT f_GRk;
595 unsigned char in_GRj;
596 unsigned char in_h_iacc0_DI_0;
597 unsigned char out_GRk;
598 } sfmt_scutss;
599 struct { /* */
600 UINT f_ACC40Si;
601 UINT f_FRj;
602 UINT f_FRk;
603 unsigned char in_ACC40Si;
604 unsigned char in_FRintj;
605 unsigned char out_FRintk;
606 } sfmt_mcut;
607 struct { /* */
608 UINT f_FRi;
609 UINT f_FRk;
610 UINT f_u6;
611 unsigned char in_FRinti;
612 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRinti_1;
613 unsigned char out_FRintk;
614 } sfmt_mwcuti;
615 struct { /* */
616 INT f_u12;
617 UINT f_FRk;
618 unsigned char in_FRintk;
619 unsigned char out_FRintk;
620 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
621 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
622 } sfmt_mhdsets;
623 struct { /* */
624 UINT f_FCCi_2;
625 UINT f_FRi;
626 UINT f_FRj;
627 unsigned char in_FRdoublei;
628 unsigned char in_FRdoublej;
629 unsigned char out_FCCi_2;
630 } sfmt_fcmpd;
631 struct { /* */
632 UINT f_FRj;
633 UINT f_FRk;
634 unsigned char in_FRj;
635 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1;
636 unsigned char out_FRintk;
637 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1;
638 } sfmt_fdstoi;
639 struct { /* */
640 UINT f_FRj;
641 UINT f_FRk;
642 unsigned char in_FRintj;
643 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintj_1;
644 unsigned char out_FRk;
645 unsigned char out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1;
646 } sfmt_fditos;
647 struct { /* */
648 UINT f_CRi;
649 UINT f_CRj;
650 UINT f_CRk;
651 unsigned char in_CRi;
652 unsigned char in_CRj;
653 unsigned char out_CRk;
654 } sfmt_andcr;
655 struct { /* */
656 INT f_d12;
657 UINT f_GRi;
658 UINT f_GRk;
659 unsigned char in_GRi;
660 unsigned char in_GRk;
661 unsigned char out_GRk;
662 } sfmt_swapi;
663 struct { /* */
664 UINT f_GRi;
665 UINT f_GRj;
666 unsigned char in_GRi;
667 unsigned char in_GRj;
668 unsigned char in_h_iacc0_DI_0;
669 unsigned char out_h_iacc0_DI_0;
670 } sfmt_smass;
671 struct { /* */
672 INT f_s6;
673 UINT f_FRi;
674 UINT f_FRk;
675 unsigned char in_FRintieven;
676 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintieven_1;
677 unsigned char out_FRintkeven;
678 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintkeven_1;
679 } sfmt_mdrotli;
680 struct { /* */
681 INT f_s6;
682 UINT f_ACC40Si;
683 UINT f_FRk;
684 unsigned char in_ACC40Si;
685 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1;
686 unsigned char out_FRintkeven;
687 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintkeven_1;
688 } sfmt_mdcutssi;
689 struct { /* */
690 UINT f_FRi;
691 UINT f_FRj;
692 UINT f_FRk;
693 unsigned char in_FRinti;
694 unsigned char in_FRintj;
695 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRinti_1;
696 unsigned char out_FRintk;
697 } sfmt_mwcut;
698 struct { /* */
699 UINT f_FRi;
700 UINT f_FRj;
701 UINT f_FRk;
702 unsigned char in_FRdoublei;
703 unsigned char in_FRdoublej;
704 unsigned char in_FRdoublek;
705 unsigned char out_FRdoublek;
706 } sfmt_fmaddd;
707 struct { /* */
708 UINT f_CCi;
709 UINT f_FRj;
710 UINT f_FRk;
711 UINT f_cond;
712 unsigned char in_CCi;
713 unsigned char in_FRj;
714 unsigned char out_FRintk;
715 } sfmt_cfstoi;
716 struct { /* */
717 UINT f_CCi;
718 UINT f_FRj;
719 UINT f_FRk;
720 UINT f_cond;
721 unsigned char in_CCi;
722 unsigned char in_FRintj;
723 unsigned char out_FRk;
724 } sfmt_cfitos;
725 struct { /* */
726 UINT f_CCi;
727 UINT f_CRj_float;
728 UINT f_FCCi_3;
729 UINT f_cond;
730 unsigned char in_CCi;
731 unsigned char in_FCCi_3;
732 unsigned char out_CRj_float;
733 } sfmt_cfckne;
734 struct { /* */
735 SI f_CRj_int;
736 UINT f_CCi;
737 UINT f_ICCi_3;
738 UINT f_cond;
739 unsigned char in_CCi;
740 unsigned char in_ICCi_3;
741 unsigned char out_CRj_int;
742 } sfmt_cckeq;
743 struct { /* */
744 UINT f_FCCi_2;
745 UINT f_ccond;
746 UINT f_hint;
747 unsigned short in_h_spr_USI_272;
748 unsigned short in_h_spr_USI_273;
749 unsigned short out_h_spr_USI_273;
750 unsigned char in_FCCi_2;
751 } sfmt_fcbeqlr;
752 struct { /* */
753 UINT f_ICCi_2;
754 UINT f_ccond;
755 UINT f_hint;
756 unsigned short in_h_spr_USI_272;
757 unsigned short in_h_spr_USI_273;
758 unsigned short out_h_spr_USI_273;
759 unsigned char in_ICCi_2;
760 } sfmt_bceqlr;
761 struct { /* */
762 UINT f_CPRk;
763 UINT f_GRi;
764 UINT f_GRj;
765 unsigned char in_CPRdoublek;
766 unsigned char in_GRi;
767 unsigned char in_GRj;
768 unsigned char out_GRi;
769 } sfmt_stdcu;
770 struct { /* */
771 UINT f_CPRk;
772 UINT f_GRi;
773 UINT f_GRj;
774 unsigned char in_CPRk;
775 unsigned char in_GRi;
776 unsigned char in_GRj;
777 unsigned char out_GRi;
778 } sfmt_stcu;
779 struct { /* */
780 UINT f_CPRk;
781 UINT f_GRi;
782 UINT f_GRj;
783 unsigned char in_GRi;
784 unsigned char in_GRj;
785 unsigned char out_CPRdoublek;
786 unsigned char out_GRi;
787 } sfmt_lddcu;
788 struct { /* */
789 UINT f_CPRk;
790 UINT f_GRi;
791 UINT f_GRj;
792 unsigned char in_GRi;
793 unsigned char in_GRj;
794 unsigned char out_CPRk;
795 unsigned char out_GRi;
796 } sfmt_ldcu;
797 struct { /* */
798 INT f_s5;
799 UINT f_FRk;
800 unsigned char in_FRintk;
801 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
802 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
803 unsigned char out_FRintk;
804 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
805 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
806 } sfmt_mhdseth;
807 struct { /* */
808 UINT f_CCi;
809 UINT f_GRi;
810 UINT f_GRj;
811 UINT f_LI;
812 UINT f_cond;
813 unsigned char in_CCi;
814 unsigned char in_GRi;
815 unsigned char in_GRj;
816 } sfmt_cjmpl;
817 struct { /* */
818 INT f_s10;
819 UINT f_GRi;
820 UINT f_GRk;
821 UINT f_ICCi_1;
822 unsigned char in_GRi;
823 unsigned char in_ICCi_1;
824 unsigned char out_GRdoublek;
825 unsigned char out_ICCi_1;
826 } sfmt_smulicc;
827 struct { /* */
828 INT f_s10;
829 UINT f_GRi;
830 UINT f_GRk;
831 UINT f_ICCi_1;
832 unsigned char in_GRi;
833 unsigned char in_ICCi_1;
834 unsigned char out_GRk;
835 unsigned char out_ICCi_1;
836 } sfmt_addicc;
837 struct { /* */
838 UINT f_CCi;
839 UINT f_FRi;
840 UINT f_FRj;
841 UINT f_FRk;
842 UINT f_cond;
843 unsigned char in_CCi;
844 unsigned char in_FRinti;
845 unsigned char in_FRintj;
846 unsigned char out_FRintk;
847 } sfmt_cmand;
848 struct { /* */
849 UINT f_CCi;
850 UINT f_FCCi_2;
851 UINT f_FRi;
852 UINT f_FRj;
853 UINT f_cond;
854 unsigned char in_CCi;
855 unsigned char in_FRi;
856 unsigned char in_FRj;
857 unsigned char out_FCCi_2;
858 } sfmt_cfcmps;
859 struct { /* */
860 UINT f_CCi;
861 UINT f_FRk;
862 UINT f_GRj;
863 UINT f_cond;
864 unsigned char in_CCi;
865 unsigned char in_FRintk;
866 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1;
867 unsigned char out_GRj;
868 unsigned char out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1;
869 } sfmt_cmovfgd;
870 struct { /* */
871 UINT f_CCi;
872 UINT f_FRk;
873 UINT f_GRj;
874 UINT f_cond;
875 unsigned char in_CCi;
876 unsigned char in_GRj;
877 unsigned char in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1;
878 unsigned char out_FRintk;
879 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1;
880 } sfmt_cmovgfd;
881 struct { /* */
882 UINT f_GRi;
883 UINT f_GRj;
884 UINT f_GRk;
885 UINT f_ICCi_1;
886 unsigned char in_GRi;
887 unsigned char in_GRj;
888 unsigned char in_ICCi_1;
889 unsigned char out_GRdoublek;
890 unsigned char out_ICCi_1;
891 } sfmt_smulcc;
892 struct { /* */
893 UINT f_GRi;
894 UINT f_GRj;
895 UINT f_GRk;
896 UINT f_ICCi_1;
897 unsigned char in_GRi;
898 unsigned char in_GRj;
899 unsigned char in_ICCi_1;
900 unsigned char out_GRk;
901 unsigned char out_ICCi_1;
902 } sfmt_addcc;
903 struct { /* */
904 UINT f_CCi;
905 UINT f_FRi;
906 UINT f_FRk;
907 UINT f_cond;
908 UINT f_u6;
909 unsigned char in_CCi;
910 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
911 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
912 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
913 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
914 } sfmt_cmexpdhw;
915 struct { /* */
916 UINT f_ACC40Si;
917 UINT f_ACC40Sk;
918 unsigned char in_ACC40Si;
919 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1;
920 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_2;
921 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_3;
922 unsigned char out_ACC40Sk;
923 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1;
924 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2;
925 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3;
926 } sfmt_mdasaccs;
927 struct { /* */
928 UINT f_FRj;
929 UINT f_FRk;
930 unsigned char in_FRintj;
931 unsigned char in_FRintk;
932 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0;
933 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0;
934 unsigned char out_FRintj;
935 unsigned char out_FRintk;
936 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
937 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
938 } sfmt_mabshs;
939 struct { /* */
940 UINT f_FRi;
941 UINT f_FRk;
942 UINT f_u6;
943 unsigned char in_FRinti;
944 unsigned char in_FRintk;
945 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
946 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_1;
947 unsigned char out_FRinti;
948 unsigned char out_FRintk;
949 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
950 } sfmt_mcplhi;
951 struct { /* */
952 UINT f_FCCi_2;
953 UINT f_FRi;
954 UINT f_FRj;
955 UINT f_FRk;
956 unsigned char in_FRi;
957 unsigned char in_FRj;
958 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1;
959 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1;
960 unsigned char out_FCCi_2;
961 unsigned char out_h_fccr_UQI_add__DFLT_index_of__DFLT_FCCi_2_1;
962 } sfmt_nfdcmps;
963 struct { /* */
964 UINT f_CCi;
965 UINT f_FRi;
966 UINT f_FRj;
967 UINT f_FRk;
968 UINT f_cond;
969 unsigned char in_CCi;
970 unsigned char in_FRi;
971 unsigned char in_FRj;
972 unsigned char in_FRk;
973 unsigned char out_FRk;
974 } sfmt_cfmadds;
975 struct { /* */
976 INT f_d12;
977 UINT f_FCCi_2;
978 UINT f_GRi;
979 unsigned short out_h_spr_USI_1;
980 unsigned short out_h_spr_USI_768;
981 unsigned short out_h_spr_USI_769;
982 unsigned short out_h_spr_USI_770;
983 unsigned short out_h_spr_USI_771;
984 unsigned char in_FCCi_2;
985 unsigned char in_GRi;
986 } sfmt_ftine;
987 struct { /* */
988 INT f_d12;
989 UINT f_GRi;
990 UINT f_ICCi_2;
991 unsigned short out_h_spr_USI_1;
992 unsigned short out_h_spr_USI_768;
993 unsigned short out_h_spr_USI_769;
994 unsigned short out_h_spr_USI_770;
995 unsigned short out_h_spr_USI_771;
996 unsigned char in_GRi;
997 unsigned char in_ICCi_2;
998 } sfmt_tieq;
999 struct { /* */
1000 UINT f_FRk;
1001 UINT f_GRj;
1002 unsigned char in_FRintk;
1003 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1;
1004 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_2;
1005 unsigned char in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_3;
1006 unsigned char out_GRj;
1007 unsigned char out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1;
1008 unsigned char out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_2;
1009 unsigned char out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_3;
1010 } sfmt_movfgq;
1011 struct { /* */
1012 UINT f_FRk;
1013 UINT f_GRj;
1014 unsigned char in_GRj;
1015 unsigned char in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1;
1016 unsigned char in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_2;
1017 unsigned char in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_3;
1018 unsigned char out_FRintk;
1019 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1;
1020 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_2;
1021 unsigned char out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_3;
1022 } sfmt_movgfq;
1023 struct { /* */
1024 UINT f_CCi;
1025 UINT f_GRi;
1026 UINT f_GRj;
1027 UINT f_GRk;
1028 UINT f_cond;
1029 unsigned char in_CCi;
1030 unsigned char in_GRi;
1031 unsigned char in_GRj;
1032 unsigned char in_GRk;
1033 unsigned char out_GRk;
1034 } sfmt_cswap;
1035 struct { /* */
1036 UINT f_CCi;
1037 UINT f_FRk;
1038 UINT f_GRi;
1039 UINT f_GRj;
1040 UINT f_cond;
1041 unsigned char in_CCi;
1042 unsigned char in_FRdoublek;
1043 unsigned char in_GRi;
1044 unsigned char in_GRj;
1045 unsigned char out_GRi;
1046 } sfmt_cstdfu;
1047 struct { /* */
1048 UINT f_CCi;
1049 UINT f_GRi;
1050 UINT f_GRj;
1051 UINT f_GRk;
1052 UINT f_cond;
1053 unsigned char in_CCi;
1054 unsigned char in_GRdoublek;
1055 unsigned char in_GRi;
1056 unsigned char in_GRj;
1057 unsigned char out_GRi;
1058 } sfmt_cstdu;
1059 struct { /* */
1060 UINT f_CCi;
1061 UINT f_FRk;
1062 UINT f_GRi;
1063 UINT f_GRj;
1064 UINT f_cond;
1065 unsigned char in_CCi;
1066 unsigned char in_FRintk;
1067 unsigned char in_GRi;
1068 unsigned char in_GRj;
1069 unsigned char out_GRi;
1070 } sfmt_cstbfu;
1071 struct { /* */
1072 UINT f_CCi;
1073 UINT f_GRi;
1074 UINT f_GRj;
1075 UINT f_GRk;
1076 UINT f_cond;
1077 unsigned char in_CCi;
1078 unsigned char in_GRi;
1079 unsigned char in_GRj;
1080 unsigned char in_GRk;
1081 unsigned char out_GRi;
1082 } sfmt_cstbu;
1083 struct { /* */
1084 UINT f_CCi;
1085 UINT f_FRk;
1086 UINT f_GRi;
1087 UINT f_GRj;
1088 UINT f_cond;
1089 unsigned char in_CCi;
1090 unsigned char in_GRi;
1091 unsigned char in_GRj;
1092 unsigned char out_FRdoublek;
1093 unsigned char out_GRi;
1094 } sfmt_clddfu;
1095 struct { /* */
1096 UINT f_CCi;
1097 UINT f_GRi;
1098 UINT f_GRj;
1099 UINT f_GRk;
1100 UINT f_cond;
1101 unsigned char in_CCi;
1102 unsigned char in_GRi;
1103 unsigned char in_GRj;
1104 unsigned char out_GRdoublek;
1105 unsigned char out_GRi;
1106 } sfmt_clddu;
1107 struct { /* */
1108 UINT f_CCi;
1109 UINT f_FRk;
1110 UINT f_GRi;
1111 UINT f_GRj;
1112 UINT f_cond;
1113 unsigned char in_CCi;
1114 unsigned char in_GRi;
1115 unsigned char in_GRj;
1116 unsigned char out_FRintk;
1117 unsigned char out_GRi;
1118 } sfmt_cldbfu;
1119 struct { /* */
1120 UINT f_CCi;
1121 UINT f_GRi;
1122 UINT f_GRj;
1123 UINT f_GRk;
1124 UINT f_cond;
1125 unsigned char in_CCi;
1126 unsigned char in_GRi;
1127 unsigned char in_GRj;
1128 unsigned char out_GRi;
1129 unsigned char out_GRk;
1130 } sfmt_cldsbu;
1131 struct { /* */
1132 UINT f_FCCk;
1133 UINT f_FRi;
1134 UINT f_FRj;
1135 unsigned char in_FRinti;
1136 unsigned char in_FRintj;
1137 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1138 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1139 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1140 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1141 unsigned char out_FCCk;
1142 unsigned char out_h_fccr_UQI_add__DFLT_index_of__DFLT_FCCk_1;
1143 } sfmt_mcmpsh;
1144 struct { /* */
1145 UINT f_FRi;
1146 UINT f_FRk;
1147 UINT f_u6;
1148 unsigned char in_FRinti;
1149 unsigned char in_FRintk;
1150 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1151 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1152 unsigned char out_FRinti;
1153 unsigned char out_FRintk;
1154 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1155 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1156 } sfmt_msllhi;
1157 struct { /* */
1158 UINT f_FRi;
1159 UINT f_FRj;
1160 UINT f_FRk;
1161 unsigned char in_FRi;
1162 unsigned char in_FRj;
1163 unsigned char in_FRk;
1164 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1;
1165 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1;
1166 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1;
1167 unsigned char out_FRk;
1168 unsigned char out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1;
1169 } sfmt_fdmadds;
1170 struct { /* */
1171 UINT f_FCCi_2;
1172 UINT f_GRi;
1173 UINT f_GRj;
1174 unsigned short out_h_spr_USI_1;
1175 unsigned short out_h_spr_USI_768;
1176 unsigned short out_h_spr_USI_769;
1177 unsigned short out_h_spr_USI_770;
1178 unsigned short out_h_spr_USI_771;
1179 unsigned char in_FCCi_2;
1180 unsigned char in_GRi;
1181 unsigned char in_GRj;
1182 } sfmt_ftne;
1183 struct { /* */
1184 UINT f_GRi;
1185 UINT f_GRj;
1186 UINT f_ICCi_2;
1187 unsigned short out_h_spr_USI_1;
1188 unsigned short out_h_spr_USI_768;
1189 unsigned short out_h_spr_USI_769;
1190 unsigned short out_h_spr_USI_770;
1191 unsigned short out_h_spr_USI_771;
1192 unsigned char in_GRi;
1193 unsigned char in_GRj;
1194 unsigned char in_ICCi_2;
1195 } sfmt_teq;
1196 struct { /* */
1197 UINT f_CCi;
1198 UINT f_GRi;
1199 UINT f_GRj;
1200 UINT f_GRk;
1201 UINT f_cond;
1202 unsigned char in_CCi;
1203 unsigned char in_GRi;
1204 unsigned char in_GRj;
1205 unsigned char in_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3;
1206 unsigned char out_GRdoublek;
1207 unsigned char out_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3;
1208 } sfmt_csmulcc;
1209 struct { /* */
1210 UINT f_CCi;
1211 UINT f_GRi;
1212 UINT f_GRj;
1213 UINT f_GRk;
1214 UINT f_cond;
1215 unsigned char in_CCi;
1216 unsigned char in_GRi;
1217 unsigned char in_GRj;
1218 unsigned char in_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3;
1219 unsigned char out_GRk;
1220 unsigned char out_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3;
1221 } sfmt_caddcc;
1222 struct { /* */
1223 UINT f_FRi;
1224 UINT f_FRk;
1225 unsigned char in_FRinti;
1226 unsigned char in_FRintkeven;
1227 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1228 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1229 unsigned char out_FRinti;
1230 unsigned char out_FRintkeven;
1231 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1232 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_add__DFLT_0_1;
1233 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1234 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_add__DFLT_0_1;
1235 } sfmt_munpackh;
1236 struct { /* */
1237 UINT f_CCi;
1238 UINT f_FRi;
1239 UINT f_FRj;
1240 UINT f_FRk;
1241 UINT f_cond;
1242 unsigned char in_CCi;
1243 unsigned char in_FRi;
1244 unsigned char in_FRj;
1245 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1;
1246 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1;
1247 unsigned char out_FRk;
1248 unsigned char out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1;
1249 } sfmt_cfmas;
1250 struct { /* */
1251 UINT f_CCi;
1252 UINT f_FRi;
1253 UINT f_FRk;
1254 UINT f_cond;
1255 UINT f_u6;
1256 unsigned char in_CCi;
1257 unsigned char in_FRintkeven;
1258 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1259 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1260 unsigned char out_FRintkeven;
1261 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1262 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1263 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1264 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1265 } sfmt_cmexpdhd;
1266 struct { /* */
1267 UINT f_CCi;
1268 UINT f_FRi;
1269 UINT f_FRj;
1270 UINT f_FRk;
1271 UINT f_cond;
1272 unsigned char in_CCi;
1273 unsigned char in_FRinti;
1274 unsigned char in_FRintj;
1275 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1276 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1277 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1278 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1279 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1280 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1281 } sfmt_cmaddhss;
1282 struct { /* */
1283 UINT f_FRi;
1284 UINT f_FRk;
1285 UINT f_u6;
1286 unsigned char in_FRintieven;
1287 unsigned char in_FRintkeven;
1288 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1289 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1290 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1291 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1292 unsigned char out_FRintieven;
1293 unsigned char out_FRintkeven;
1294 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1295 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1296 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1297 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1298 } sfmt_mqsllhi;
1299 struct { /* */
1300 UINT f_FRi;
1301 UINT f_FRj;
1302 UINT f_FRk;
1303 unsigned char in_FRi;
1304 unsigned char in_FRj;
1305 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1;
1306 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_2;
1307 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_3;
1308 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1;
1309 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_2;
1310 unsigned char in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_3;
1311 unsigned char out_FRk;
1312 unsigned char out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1;
1313 unsigned char out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_2;
1314 unsigned char out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_3;
1315 } sfmt_fdmas;
1316 struct { /* */
1317 UINT f_ACC40Uk;
1318 UINT f_CCi;
1319 UINT f_FRi;
1320 UINT f_FRj;
1321 UINT f_cond;
1322 unsigned char in_ACC40Uk;
1323 unsigned char in_CCi;
1324 unsigned char in_FRinti;
1325 unsigned char in_FRintj;
1326 unsigned char in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1;
1327 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1328 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1329 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1330 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1331 unsigned char out_ACC40Uk;
1332 unsigned char out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1;
1333 } sfmt_cmmachu;
1334 struct { /* */
1335 UINT f_ACC40Sk;
1336 UINT f_CCi;
1337 UINT f_FRi;
1338 UINT f_FRj;
1339 UINT f_cond;
1340 unsigned char in_ACC40Sk;
1341 unsigned char in_CCi;
1342 unsigned char in_FRinti;
1343 unsigned char in_FRintj;
1344 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1;
1345 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1346 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1347 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0;
1348 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1349 unsigned char out_ACC40Sk;
1350 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1;
1351 } sfmt_cmmachs;
1352 struct { /* */
1353 UINT f_CCi;
1354 UINT f_FRj;
1355 UINT f_FRk;
1356 UINT f_cond;
1357 unsigned char in_CCi;
1358 unsigned char in_FRintjeven;
1359 unsigned char in_FRintk;
1360 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1361 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1362 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1363 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1364 unsigned char out_FRintjeven;
1365 unsigned char out_FRintk;
1366 unsigned char out_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1367 unsigned char out_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1368 unsigned char out_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1369 unsigned char out_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1370 } sfmt_cmhtob;
1371 struct { /* */
1372 UINT f_CCi;
1373 UINT f_FRj;
1374 UINT f_FRk;
1375 UINT f_cond;
1376 unsigned char in_CCi;
1377 unsigned char in_FRintj;
1378 unsigned char in_FRintkeven;
1379 unsigned char in_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1380 unsigned char in_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1381 unsigned char in_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1382 unsigned char in_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1383 unsigned char out_FRintj;
1384 unsigned char out_FRintkeven;
1385 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1386 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1387 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1388 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1389 } sfmt_cmbtoh;
1390 struct { /* */
1391 UINT f_FRi;
1392 UINT f_FRj;
1393 UINT f_FRk;
1394 unsigned char in_FRintieven;
1395 unsigned char in_FRintjeven;
1396 unsigned char in_FRintkeven;
1397 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1398 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1399 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1400 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1401 unsigned char out_FRintieven;
1402 unsigned char out_FRintjeven;
1403 unsigned char out_FRintkeven;
1404 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1405 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1406 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1407 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1408 } sfmt_mdpackh;
1409 struct { /* */
1410 UINT f_FRi;
1411 UINT f_FRk;
1412 unsigned char in_FRintieven;
1413 unsigned char in_FRintk;
1414 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1415 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1416 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1417 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1418 unsigned char out_FRintieven;
1419 unsigned char out_FRintk;
1420 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1421 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_2;
1422 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_0_1;
1423 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_2_1;
1424 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1425 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_2;
1426 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_0_1;
1427 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_2_1;
1428 } sfmt_mdunpackh;
1429 struct { /* */
1430 UINT f_CCi;
1431 UINT f_FRj;
1432 UINT f_FRk;
1433 UINT f_cond;
1434 unsigned char in_CCi;
1435 unsigned char in_FRintj;
1436 unsigned char in_FRintk;
1437 unsigned char in_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1438 unsigned char in_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1439 unsigned char in_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1440 unsigned char in_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintj_0;
1441 unsigned char out_FRintj;
1442 unsigned char out_FRintk;
1443 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1444 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_1;
1445 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_2;
1446 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_3;
1447 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0;
1448 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_1;
1449 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_2;
1450 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_3;
1451 } sfmt_cmbtohe;
1452 struct { /* */
1453 UINT f_CCi;
1454 UINT f_FRi;
1455 UINT f_FRj;
1456 UINT f_FRk;
1457 UINT f_cond;
1458 unsigned char in_CCi;
1459 unsigned char in_FRintieven;
1460 unsigned char in_FRintjeven;
1461 unsigned char in_FRintkeven;
1462 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1463 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1464 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1465 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1466 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1467 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1468 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1469 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1470 unsigned char out_FRintkeven;
1471 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1472 unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1473 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
1474 unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
1475 } sfmt_cmqaddhss;
1476 struct { /* */
1477 UINT f_ACC40Uk;
1478 UINT f_CCi;
1479 UINT f_FRi;
1480 UINT f_FRj;
1481 UINT f_cond;
1482 unsigned char in_ACC40Uk;
1483 unsigned char in_CCi;
1484 unsigned char in_FRintieven;
1485 unsigned char in_FRintjeven;
1486 unsigned char in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1;
1487 unsigned char in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_2;
1488 unsigned char in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_3;
1489 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1490 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1491 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1492 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1493 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1494 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1495 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1496 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1497 unsigned char out_ACC40Uk;
1498 unsigned char out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1;
1499 unsigned char out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_2;
1500 unsigned char out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_3;
1501 } sfmt_cmqmachu;
1502 struct { /* */
1503 UINT f_ACC40Sk;
1504 UINT f_CCi;
1505 UINT f_FRi;
1506 UINT f_FRj;
1507 UINT f_cond;
1508 unsigned char in_ACC40Sk;
1509 unsigned char in_CCi;
1510 unsigned char in_FRintieven;
1511 unsigned char in_FRintjeven;
1512 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1;
1513 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2;
1514 unsigned char in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3;
1515 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1516 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1517 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1518 unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1519 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
1520 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
1521 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0;
1522 unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1;
1523 unsigned char out_ACC40Sk;
1524 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1;
1525 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2;
1526 unsigned char out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3;
1527 } sfmt_cmqmachs;
1528 #if WITH_SCACHE_PBB
1529 /* Writeback handler. */
1530 struct {
1531 /* Pointer to argbuf entry for insn whose results need writing back. */
1532 const struct argbuf *abuf;
1533 } write;
1534 /* x-before handler */
1535 struct {
1536 /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
1537 int first_p;
1538 } before;
1539 /* x-after handler */
1540 struct {
1541 int empty;
1542 } after;
1543 /* This entry is used to terminate each pbb. */
1544 struct {
1545 /* Number of insns in pbb. */
1546 int insn_count;
1547 /* Next pbb to execute. */
1548 SCACHE *next;
1549 SCACHE *branch_target;
1550 } chain;
1551 #endif
1552 };
1553
1554 /* The ARGBUF struct. */
1555 struct argbuf {
1556 /* These are the baseclass definitions. */
1557 IADDR addr;
1558 const IDESC *idesc;
1559 char trace_p;
1560 char profile_p;
1561 /* ??? Temporary hack for skip insns. */
1562 char skip_count;
1563 char unused;
1564 /* cpu specific data follows */
1565 union sem semantic;
1566 int written;
1567 union sem_fields fields;
1568 };
1569
1570 /* A cached insn.
1571
1572 ??? SCACHE used to contain more than just argbuf. We could delete the
1573 type entirely and always just use ARGBUF, but for future concerns and as
1574 a level of abstraction it is left in. */
1575
1576 struct scache {
1577 struct argbuf argbuf;
1578 int first_insn_p;
1579 int last_insn_p;
1580 };
1581
1582 /* Macros to simplify extraction, reading and semantic code.
1583 These define and assign the local vars that contain the insn's fields. */
1584
1585 #define EXTRACT_IFMT_EMPTY_VARS \
1586 unsigned int length;
1587 #define EXTRACT_IFMT_EMPTY_CODE \
1588 length = 0; \
1589
1590 #define EXTRACT_IFMT_ADD_VARS \
1591 UINT f_pack; \
1592 UINT f_GRk; \
1593 UINT f_op; \
1594 UINT f_GRi; \
1595 UINT f_ICCi_1_null; \
1596 UINT f_ope2; \
1597 UINT f_GRj; \
1598 unsigned int length;
1599 #define EXTRACT_IFMT_ADD_CODE \
1600 length = 4; \
1601 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1602 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1603 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1604 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1605 f_ICCi_1_null = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1606 f_ope2 = EXTRACT_LSB0_UINT (insn, 32, 9, 4); \
1607 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1608
1609 #define EXTRACT_IFMT_NOT_VARS \
1610 UINT f_pack; \
1611 UINT f_GRk; \
1612 UINT f_op; \
1613 UINT f_rs_null; \
1614 UINT f_ICCi_1_null; \
1615 UINT f_ope2; \
1616 UINT f_GRj; \
1617 unsigned int length;
1618 #define EXTRACT_IFMT_NOT_CODE \
1619 length = 4; \
1620 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1621 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1622 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1623 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1624 f_ICCi_1_null = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1625 f_ope2 = EXTRACT_LSB0_UINT (insn, 32, 9, 4); \
1626 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1627
1628 #define EXTRACT_IFMT_SMUL_VARS \
1629 UINT f_pack; \
1630 UINT f_GRk; \
1631 UINT f_op; \
1632 UINT f_GRi; \
1633 UINT f_ICCi_1_null; \
1634 UINT f_ope2; \
1635 UINT f_GRj; \
1636 unsigned int length;
1637 #define EXTRACT_IFMT_SMUL_CODE \
1638 length = 4; \
1639 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1640 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1641 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1642 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1643 f_ICCi_1_null = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1644 f_ope2 = EXTRACT_LSB0_UINT (insn, 32, 9, 4); \
1645 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1646
1647 #define EXTRACT_IFMT_SMU_VARS \
1648 UINT f_pack; \
1649 UINT f_rd_null; \
1650 UINT f_op; \
1651 UINT f_GRi; \
1652 UINT f_ope1; \
1653 UINT f_GRj; \
1654 unsigned int length;
1655 #define EXTRACT_IFMT_SMU_CODE \
1656 length = 4; \
1657 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1658 f_rd_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1659 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1660 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1661 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1662 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1663
1664 #define EXTRACT_IFMT_SLASS_VARS \
1665 UINT f_pack; \
1666 UINT f_GRk; \
1667 UINT f_op; \
1668 UINT f_GRi; \
1669 UINT f_ope1; \
1670 UINT f_GRj; \
1671 unsigned int length;
1672 #define EXTRACT_IFMT_SLASS_CODE \
1673 length = 4; \
1674 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1675 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1676 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1677 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1678 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1679 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1680
1681 #define EXTRACT_IFMT_SCUTSS_VARS \
1682 UINT f_pack; \
1683 UINT f_GRk; \
1684 UINT f_op; \
1685 UINT f_rs_null; \
1686 UINT f_ope1; \
1687 UINT f_GRj; \
1688 unsigned int length;
1689 #define EXTRACT_IFMT_SCUTSS_CODE \
1690 length = 4; \
1691 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1692 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1693 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1694 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1695 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1696 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1697
1698 #define EXTRACT_IFMT_CADD_VARS \
1699 UINT f_pack; \
1700 UINT f_GRk; \
1701 UINT f_op; \
1702 UINT f_GRi; \
1703 UINT f_CCi; \
1704 UINT f_cond; \
1705 UINT f_ope4; \
1706 UINT f_GRj; \
1707 unsigned int length;
1708 #define EXTRACT_IFMT_CADD_CODE \
1709 length = 4; \
1710 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1711 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1712 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1713 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1714 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
1715 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
1716 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
1717 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1718
1719 #define EXTRACT_IFMT_CNOT_VARS \
1720 UINT f_pack; \
1721 UINT f_GRk; \
1722 UINT f_op; \
1723 UINT f_rs_null; \
1724 UINT f_CCi; \
1725 UINT f_cond; \
1726 UINT f_ope4; \
1727 UINT f_GRj; \
1728 unsigned int length;
1729 #define EXTRACT_IFMT_CNOT_CODE \
1730 length = 4; \
1731 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1732 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1733 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1734 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1735 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
1736 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
1737 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
1738 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1739
1740 #define EXTRACT_IFMT_CSMUL_VARS \
1741 UINT f_pack; \
1742 UINT f_GRk; \
1743 UINT f_op; \
1744 UINT f_GRi; \
1745 UINT f_CCi; \
1746 UINT f_cond; \
1747 UINT f_ope4; \
1748 UINT f_GRj; \
1749 unsigned int length;
1750 #define EXTRACT_IFMT_CSMUL_CODE \
1751 length = 4; \
1752 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1753 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1754 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1755 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1756 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
1757 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
1758 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
1759 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1760
1761 #define EXTRACT_IFMT_ADDCC_VARS \
1762 UINT f_pack; \
1763 UINT f_GRk; \
1764 UINT f_op; \
1765 UINT f_GRi; \
1766 UINT f_ICCi_1; \
1767 UINT f_ope2; \
1768 UINT f_GRj; \
1769 unsigned int length;
1770 #define EXTRACT_IFMT_ADDCC_CODE \
1771 length = 4; \
1772 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1773 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1774 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1775 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1776 f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1777 f_ope2 = EXTRACT_LSB0_UINT (insn, 32, 9, 4); \
1778 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1779
1780 #define EXTRACT_IFMT_SMULCC_VARS \
1781 UINT f_pack; \
1782 UINT f_GRk; \
1783 UINT f_op; \
1784 UINT f_GRi; \
1785 UINT f_ICCi_1; \
1786 UINT f_ope2; \
1787 UINT f_GRj; \
1788 unsigned int length;
1789 #define EXTRACT_IFMT_SMULCC_CODE \
1790 length = 4; \
1791 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1792 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1793 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1794 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1795 f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1796 f_ope2 = EXTRACT_LSB0_UINT (insn, 32, 9, 4); \
1797 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1798
1799 #define EXTRACT_IFMT_ADDI_VARS \
1800 UINT f_pack; \
1801 UINT f_GRk; \
1802 UINT f_op; \
1803 UINT f_GRi; \
1804 INT f_d12; \
1805 unsigned int length;
1806 #define EXTRACT_IFMT_ADDI_CODE \
1807 length = 4; \
1808 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1809 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1810 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1811 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1812 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
1813
1814 #define EXTRACT_IFMT_SMULI_VARS \
1815 UINT f_pack; \
1816 UINT f_GRk; \
1817 UINT f_op; \
1818 UINT f_GRi; \
1819 INT f_d12; \
1820 unsigned int length;
1821 #define EXTRACT_IFMT_SMULI_CODE \
1822 length = 4; \
1823 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1824 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1825 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1826 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1827 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
1828
1829 #define EXTRACT_IFMT_ADDICC_VARS \
1830 UINT f_pack; \
1831 UINT f_GRk; \
1832 UINT f_op; \
1833 UINT f_GRi; \
1834 UINT f_ICCi_1; \
1835 INT f_s10; \
1836 unsigned int length;
1837 #define EXTRACT_IFMT_ADDICC_CODE \
1838 length = 4; \
1839 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1840 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1841 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1842 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1843 f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1844 f_s10 = EXTRACT_LSB0_INT (insn, 32, 9, 10); \
1845
1846 #define EXTRACT_IFMT_SMULICC_VARS \
1847 UINT f_pack; \
1848 UINT f_GRk; \
1849 UINT f_op; \
1850 UINT f_GRi; \
1851 UINT f_ICCi_1; \
1852 INT f_s10; \
1853 unsigned int length;
1854 #define EXTRACT_IFMT_SMULICC_CODE \
1855 length = 4; \
1856 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1857 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1858 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1859 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1860 f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1861 f_s10 = EXTRACT_LSB0_INT (insn, 32, 9, 10); \
1862
1863 #define EXTRACT_IFMT_CMPB_VARS \
1864 UINT f_pack; \
1865 UINT f_GRk_null; \
1866 UINT f_op; \
1867 UINT f_GRi; \
1868 UINT f_ICCi_1; \
1869 UINT f_ope2; \
1870 UINT f_GRj; \
1871 unsigned int length;
1872 #define EXTRACT_IFMT_CMPB_CODE \
1873 length = 4; \
1874 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1875 f_GRk_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1876 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1877 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1878 f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2); \
1879 f_ope2 = EXTRACT_LSB0_UINT (insn, 32, 9, 4); \
1880 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1881
1882 #define EXTRACT_IFMT_SETLO_VARS \
1883 UINT f_pack; \
1884 UINT f_GRk; \
1885 UINT f_op; \
1886 UINT f_misc_null_4; \
1887 UINT f_u16; \
1888 unsigned int length;
1889 #define EXTRACT_IFMT_SETLO_CODE \
1890 length = 4; \
1891 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1892 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1893 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1894 f_misc_null_4 = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
1895 f_u16 = EXTRACT_LSB0_UINT (insn, 32, 15, 16); \
1896
1897 #define EXTRACT_IFMT_SETHI_VARS \
1898 UINT f_pack; \
1899 UINT f_GRk; \
1900 UINT f_op; \
1901 UINT f_misc_null_4; \
1902 UINT f_u16; \
1903 unsigned int length;
1904 #define EXTRACT_IFMT_SETHI_CODE \
1905 length = 4; \
1906 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1907 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1908 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1909 f_misc_null_4 = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
1910 f_u16 = EXTRACT_LSB0_UINT (insn, 32, 15, 16); \
1911
1912 #define EXTRACT_IFMT_SETLOS_VARS \
1913 UINT f_pack; \
1914 UINT f_GRk; \
1915 UINT f_op; \
1916 UINT f_misc_null_4; \
1917 INT f_s16; \
1918 unsigned int length;
1919 #define EXTRACT_IFMT_SETLOS_CODE \
1920 length = 4; \
1921 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1922 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1923 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1924 f_misc_null_4 = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
1925 f_s16 = EXTRACT_LSB0_INT (insn, 32, 15, 16); \
1926
1927 #define EXTRACT_IFMT_LDBF_VARS \
1928 UINT f_pack; \
1929 UINT f_FRk; \
1930 UINT f_op; \
1931 UINT f_GRi; \
1932 UINT f_ope1; \
1933 UINT f_GRj; \
1934 unsigned int length;
1935 #define EXTRACT_IFMT_LDBF_CODE \
1936 length = 4; \
1937 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1938 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1939 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1940 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1941 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1942 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1943
1944 #define EXTRACT_IFMT_LDC_VARS \
1945 UINT f_pack; \
1946 UINT f_CPRk; \
1947 UINT f_op; \
1948 UINT f_GRi; \
1949 UINT f_ope1; \
1950 UINT f_GRj; \
1951 unsigned int length;
1952 #define EXTRACT_IFMT_LDC_CODE \
1953 length = 4; \
1954 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1955 f_CPRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1956 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1957 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1958 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1959 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1960
1961 #define EXTRACT_IFMT_LDD_VARS \
1962 UINT f_pack; \
1963 UINT f_GRk; \
1964 UINT f_op; \
1965 UINT f_GRi; \
1966 UINT f_ope1; \
1967 UINT f_GRj; \
1968 unsigned int length;
1969 #define EXTRACT_IFMT_LDD_CODE \
1970 length = 4; \
1971 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1972 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1973 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1974 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1975 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1976 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1977
1978 #define EXTRACT_IFMT_LDDF_VARS \
1979 UINT f_pack; \
1980 UINT f_FRk; \
1981 UINT f_op; \
1982 UINT f_GRi; \
1983 UINT f_ope1; \
1984 UINT f_GRj; \
1985 unsigned int length;
1986 #define EXTRACT_IFMT_LDDF_CODE \
1987 length = 4; \
1988 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
1989 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
1990 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
1991 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
1992 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
1993 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
1994
1995 #define EXTRACT_IFMT_LDDC_VARS \
1996 UINT f_pack; \
1997 UINT f_CPRk; \
1998 UINT f_op; \
1999 UINT f_GRi; \
2000 UINT f_ope1; \
2001 UINT f_GRj; \
2002 unsigned int length;
2003 #define EXTRACT_IFMT_LDDC_CODE \
2004 length = 4; \
2005 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2006 f_CPRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2007 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2008 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2009 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2010 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2011
2012 #define EXTRACT_IFMT_LDSBI_VARS \
2013 UINT f_pack; \
2014 UINT f_GRk; \
2015 UINT f_op; \
2016 UINT f_GRi; \
2017 INT f_d12; \
2018 unsigned int length;
2019 #define EXTRACT_IFMT_LDSBI_CODE \
2020 length = 4; \
2021 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2022 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2023 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2024 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2025 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2026
2027 #define EXTRACT_IFMT_LDBFI_VARS \
2028 UINT f_pack; \
2029 UINT f_FRk; \
2030 UINT f_op; \
2031 UINT f_GRi; \
2032 INT f_d12; \
2033 unsigned int length;
2034 #define EXTRACT_IFMT_LDBFI_CODE \
2035 length = 4; \
2036 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2037 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2038 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2039 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2040 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2041
2042 #define EXTRACT_IFMT_LDDI_VARS \
2043 UINT f_pack; \
2044 UINT f_GRk; \
2045 UINT f_op; \
2046 UINT f_GRi; \
2047 INT f_d12; \
2048 unsigned int length;
2049 #define EXTRACT_IFMT_LDDI_CODE \
2050 length = 4; \
2051 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2052 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2053 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2054 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2055 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2056
2057 #define EXTRACT_IFMT_LDDFI_VARS \
2058 UINT f_pack; \
2059 UINT f_FRk; \
2060 UINT f_op; \
2061 UINT f_GRi; \
2062 INT f_d12; \
2063 unsigned int length;
2064 #define EXTRACT_IFMT_LDDFI_CODE \
2065 length = 4; \
2066 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2067 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2068 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2069 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2070 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2071
2072 #define EXTRACT_IFMT_CLDBF_VARS \
2073 UINT f_pack; \
2074 UINT f_FRk; \
2075 UINT f_op; \
2076 UINT f_GRi; \
2077 UINT f_CCi; \
2078 UINT f_cond; \
2079 UINT f_ope4; \
2080 UINT f_GRj; \
2081 unsigned int length;
2082 #define EXTRACT_IFMT_CLDBF_CODE \
2083 length = 4; \
2084 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2085 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2086 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2087 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2088 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
2089 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
2090 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2091 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2092
2093 #define EXTRACT_IFMT_CLDDF_VARS \
2094 UINT f_pack; \
2095 UINT f_FRk; \
2096 UINT f_op; \
2097 UINT f_GRi; \
2098 UINT f_CCi; \
2099 UINT f_cond; \
2100 UINT f_ope4; \
2101 UINT f_GRj; \
2102 unsigned int length;
2103 #define EXTRACT_IFMT_CLDDF_CODE \
2104 length = 4; \
2105 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2106 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2107 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2108 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2109 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
2110 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
2111 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2112 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2113
2114 #define EXTRACT_IFMT_MOVGF_VARS \
2115 UINT f_pack; \
2116 UINT f_FRk; \
2117 UINT f_op; \
2118 UINT f_rs_null; \
2119 UINT f_ope1; \
2120 UINT f_GRj; \
2121 unsigned int length;
2122 #define EXTRACT_IFMT_MOVGF_CODE \
2123 length = 4; \
2124 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2125 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2126 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2127 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2128 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2129 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2130
2131 #define EXTRACT_IFMT_CMOVGF_VARS \
2132 UINT f_pack; \
2133 UINT f_FRk; \
2134 UINT f_op; \
2135 UINT f_rs_null; \
2136 UINT f_CCi; \
2137 UINT f_cond; \
2138 UINT f_ope4; \
2139 UINT f_GRj; \
2140 unsigned int length;
2141 #define EXTRACT_IFMT_CMOVGF_CODE \
2142 length = 4; \
2143 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2144 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2145 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2146 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2147 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
2148 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
2149 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2150 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2151
2152 #define EXTRACT_IFMT_MOVGS_VARS \
2153 UINT f_pack; \
2154 UINT f_op; \
2155 UINT f_spr_h; \
2156 UINT f_spr_l; \
2157 UINT f_spr; \
2158 UINT f_ope1; \
2159 UINT f_GRj; \
2160 unsigned int length;
2161 #define EXTRACT_IFMT_MOVGS_CODE \
2162 length = 4; \
2163 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2164 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2165 f_spr_h = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2166 f_spr_l = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2167 {\
2168 f_spr = ((((f_spr_h) << (6))) | (f_spr_l));\
2169 }\
2170 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2171 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2172
2173 #define EXTRACT_IFMT_BRA_VARS \
2174 UINT f_pack; \
2175 UINT f_int_cc; \
2176 UINT f_ICCi_2_null; \
2177 UINT f_op; \
2178 UINT f_hint; \
2179 SI f_label16; \
2180 unsigned int length;
2181 #define EXTRACT_IFMT_BRA_CODE \
2182 length = 4; \
2183 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2184 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2185 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2186 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2187 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2188 f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc)); \
2189
2190 #define EXTRACT_IFMT_BNO_VARS \
2191 UINT f_pack; \
2192 UINT f_int_cc; \
2193 UINT f_ICCi_2_null; \
2194 UINT f_op; \
2195 UINT f_hint; \
2196 UINT f_label16_null; \
2197 unsigned int length;
2198 #define EXTRACT_IFMT_BNO_CODE \
2199 length = 4; \
2200 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2201 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2202 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2203 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2204 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2205 f_label16_null = EXTRACT_LSB0_UINT (insn, 32, 15, 16); \
2206
2207 #define EXTRACT_IFMT_BEQ_VARS \
2208 UINT f_pack; \
2209 UINT f_int_cc; \
2210 UINT f_ICCi_2; \
2211 UINT f_op; \
2212 UINT f_hint; \
2213 SI f_label16; \
2214 unsigned int length;
2215 #define EXTRACT_IFMT_BEQ_CODE \
2216 length = 4; \
2217 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2218 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2219 f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2220 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2221 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2222 f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc)); \
2223
2224 #define EXTRACT_IFMT_FBRA_VARS \
2225 UINT f_pack; \
2226 UINT f_flt_cc; \
2227 UINT f_FCCi_2_null; \
2228 UINT f_op; \
2229 UINT f_hint; \
2230 SI f_label16; \
2231 unsigned int length;
2232 #define EXTRACT_IFMT_FBRA_CODE \
2233 length = 4; \
2234 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2235 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2236 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2237 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2238 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2239 f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc)); \
2240
2241 #define EXTRACT_IFMT_FBNO_VARS \
2242 UINT f_pack; \
2243 UINT f_flt_cc; \
2244 UINT f_FCCi_2_null; \
2245 UINT f_op; \
2246 UINT f_hint; \
2247 UINT f_label16_null; \
2248 unsigned int length;
2249 #define EXTRACT_IFMT_FBNO_CODE \
2250 length = 4; \
2251 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2252 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2253 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2254 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2255 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2256 f_label16_null = EXTRACT_LSB0_UINT (insn, 32, 15, 16); \
2257
2258 #define EXTRACT_IFMT_FBNE_VARS \
2259 UINT f_pack; \
2260 UINT f_flt_cc; \
2261 UINT f_FCCi_2; \
2262 UINT f_op; \
2263 UINT f_hint; \
2264 SI f_label16; \
2265 unsigned int length;
2266 #define EXTRACT_IFMT_FBNE_CODE \
2267 length = 4; \
2268 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2269 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2270 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2271 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2272 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2273 f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc)); \
2274
2275 #define EXTRACT_IFMT_BCTRLR_VARS \
2276 UINT f_pack; \
2277 UINT f_cond_null; \
2278 UINT f_ICCi_2_null; \
2279 UINT f_op; \
2280 UINT f_hint; \
2281 UINT f_ope3; \
2282 UINT f_ccond; \
2283 UINT f_s12_null; \
2284 unsigned int length;
2285 #define EXTRACT_IFMT_BCTRLR_CODE \
2286 length = 4; \
2287 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2288 f_cond_null = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2289 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2290 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2291 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2292 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2293 f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2294 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2295
2296 #define EXTRACT_IFMT_BRALR_VARS \
2297 UINT f_pack; \
2298 UINT f_int_cc; \
2299 UINT f_ICCi_2_null; \
2300 UINT f_op; \
2301 UINT f_hint; \
2302 UINT f_ope3; \
2303 UINT f_ccond_null; \
2304 UINT f_s12_null; \
2305 unsigned int length;
2306 #define EXTRACT_IFMT_BRALR_CODE \
2307 length = 4; \
2308 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2309 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2310 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2311 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2312 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2313 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2314 f_ccond_null = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2315 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2316
2317 #define EXTRACT_IFMT_BNOLR_VARS \
2318 UINT f_pack; \
2319 UINT f_int_cc; \
2320 UINT f_ICCi_2_null; \
2321 UINT f_op; \
2322 UINT f_hint; \
2323 UINT f_ope3; \
2324 UINT f_ccond_null; \
2325 UINT f_s12_null; \
2326 unsigned int length;
2327 #define EXTRACT_IFMT_BNOLR_CODE \
2328 length = 4; \
2329 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2330 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2331 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2332 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2333 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2334 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2335 f_ccond_null = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2336 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2337
2338 #define EXTRACT_IFMT_BEQLR_VARS \
2339 UINT f_pack; \
2340 UINT f_int_cc; \
2341 UINT f_ICCi_2; \
2342 UINT f_op; \
2343 UINT f_hint; \
2344 UINT f_ope3; \
2345 UINT f_ccond_null; \
2346 UINT f_s12_null; \
2347 unsigned int length;
2348 #define EXTRACT_IFMT_BEQLR_CODE \
2349 length = 4; \
2350 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2351 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2352 f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2353 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2354 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2355 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2356 f_ccond_null = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2357 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2358
2359 #define EXTRACT_IFMT_FBRALR_VARS \
2360 UINT f_pack; \
2361 UINT f_flt_cc; \
2362 UINT f_FCCi_2_null; \
2363 UINT f_op; \
2364 UINT f_hint; \
2365 UINT f_ope3; \
2366 UINT f_ccond_null; \
2367 UINT f_s12_null; \
2368 unsigned int length;
2369 #define EXTRACT_IFMT_FBRALR_CODE \
2370 length = 4; \
2371 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2372 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2373 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2374 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2375 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2376 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2377 f_ccond_null = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2378 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2379
2380 #define EXTRACT_IFMT_FBNOLR_VARS \
2381 UINT f_pack; \
2382 UINT f_flt_cc; \
2383 UINT f_FCCi_2_null; \
2384 UINT f_op; \
2385 UINT f_hint; \
2386 UINT f_ope3; \
2387 UINT f_ccond_null; \
2388 UINT f_s12_null; \
2389 unsigned int length;
2390 #define EXTRACT_IFMT_FBNOLR_CODE \
2391 length = 4; \
2392 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2393 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2394 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2395 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2396 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2397 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2398 f_ccond_null = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2399 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2400
2401 #define EXTRACT_IFMT_FBEQLR_VARS \
2402 UINT f_pack; \
2403 UINT f_flt_cc; \
2404 UINT f_FCCi_2; \
2405 UINT f_op; \
2406 UINT f_hint; \
2407 UINT f_ope3; \
2408 UINT f_ccond_null; \
2409 UINT f_s12_null; \
2410 unsigned int length;
2411 #define EXTRACT_IFMT_FBEQLR_CODE \
2412 length = 4; \
2413 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2414 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2415 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2416 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2417 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2418 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2419 f_ccond_null = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2420 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2421
2422 #define EXTRACT_IFMT_BCRALR_VARS \
2423 UINT f_pack; \
2424 UINT f_int_cc; \
2425 UINT f_ICCi_2_null; \
2426 UINT f_op; \
2427 UINT f_hint; \
2428 UINT f_ope3; \
2429 UINT f_ccond; \
2430 UINT f_s12_null; \
2431 unsigned int length;
2432 #define EXTRACT_IFMT_BCRALR_CODE \
2433 length = 4; \
2434 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2435 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2436 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2437 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2438 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2439 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2440 f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2441 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2442
2443 #define EXTRACT_IFMT_BCEQLR_VARS \
2444 UINT f_pack; \
2445 UINT f_int_cc; \
2446 UINT f_ICCi_2; \
2447 UINT f_op; \
2448 UINT f_hint; \
2449 UINT f_ope3; \
2450 UINT f_ccond; \
2451 UINT f_s12_null; \
2452 unsigned int length;
2453 #define EXTRACT_IFMT_BCEQLR_CODE \
2454 length = 4; \
2455 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2456 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2457 f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2458 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2459 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2460 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2461 f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2462 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2463
2464 #define EXTRACT_IFMT_FCBRALR_VARS \
2465 UINT f_pack; \
2466 UINT f_flt_cc; \
2467 UINT f_FCCi_2_null; \
2468 UINT f_op; \
2469 UINT f_hint; \
2470 UINT f_ope3; \
2471 UINT f_ccond; \
2472 UINT f_s12_null; \
2473 unsigned int length;
2474 #define EXTRACT_IFMT_FCBRALR_CODE \
2475 length = 4; \
2476 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2477 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2478 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2479 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2480 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2481 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2482 f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2483 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2484
2485 #define EXTRACT_IFMT_FCBEQLR_VARS \
2486 UINT f_pack; \
2487 UINT f_flt_cc; \
2488 UINT f_FCCi_2; \
2489 UINT f_op; \
2490 UINT f_hint; \
2491 UINT f_ope3; \
2492 UINT f_ccond; \
2493 UINT f_s12_null; \
2494 unsigned int length;
2495 #define EXTRACT_IFMT_FCBEQLR_CODE \
2496 length = 4; \
2497 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2498 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2499 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2500 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2501 f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2); \
2502 f_ope3 = EXTRACT_LSB0_UINT (insn, 32, 15, 3); \
2503 f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1); \
2504 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2505
2506 #define EXTRACT_IFMT_JMPL_VARS \
2507 UINT f_pack; \
2508 UINT f_misc_null_1; \
2509 UINT f_LI_off; \
2510 UINT f_op; \
2511 UINT f_GRi; \
2512 UINT f_misc_null_2; \
2513 UINT f_GRj; \
2514 unsigned int length;
2515 #define EXTRACT_IFMT_JMPL_CODE \
2516 length = 4; \
2517 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2518 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
2519 f_LI_off = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
2520 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2521 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2522 f_misc_null_2 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2523 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2524
2525 #define EXTRACT_IFMT_CALLL_VARS \
2526 UINT f_pack; \
2527 UINT f_misc_null_1; \
2528 UINT f_LI_on; \
2529 UINT f_op; \
2530 UINT f_GRi; \
2531 UINT f_misc_null_2; \
2532 UINT f_GRj; \
2533 unsigned int length;
2534 #define EXTRACT_IFMT_CALLL_CODE \
2535 length = 4; \
2536 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2537 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
2538 f_LI_on = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
2539 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2540 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2541 f_misc_null_2 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2542 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2543
2544 #define EXTRACT_IFMT_JMPIL_VARS \
2545 UINT f_pack; \
2546 UINT f_misc_null_1; \
2547 UINT f_LI_off; \
2548 UINT f_op; \
2549 UINT f_GRi; \
2550 INT f_d12; \
2551 unsigned int length;
2552 #define EXTRACT_IFMT_JMPIL_CODE \
2553 length = 4; \
2554 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2555 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
2556 f_LI_off = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
2557 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2558 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2559 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2560
2561 #define EXTRACT_IFMT_CALLIL_VARS \
2562 UINT f_pack; \
2563 UINT f_misc_null_1; \
2564 UINT f_LI_on; \
2565 UINT f_op; \
2566 UINT f_GRi; \
2567 INT f_d12; \
2568 unsigned int length;
2569 #define EXTRACT_IFMT_CALLIL_CODE \
2570 length = 4; \
2571 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2572 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
2573 f_LI_on = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
2574 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2575 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2576 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2577
2578 #define EXTRACT_IFMT_CALL_VARS \
2579 UINT f_pack; \
2580 UINT f_op; \
2581 INT f_labelH6; \
2582 UINT f_labelL18; \
2583 INT f_label24; \
2584 unsigned int length;
2585 #define EXTRACT_IFMT_CALL_CODE \
2586 length = 4; \
2587 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2588 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2589 f_labelH6 = EXTRACT_LSB0_INT (insn, 32, 30, 6); \
2590 f_labelL18 = EXTRACT_LSB0_UINT (insn, 32, 17, 18); \
2591 {\
2592 f_label24 = ((((((((f_labelH6) << (18))) | (f_labelL18))) << (2))) + (pc));\
2593 }\
2594
2595 #define EXTRACT_IFMT_RETT_VARS \
2596 UINT f_pack; \
2597 UINT f_misc_null_1; \
2598 UINT f_debug; \
2599 UINT f_op; \
2600 UINT f_rs_null; \
2601 UINT f_s12_null; \
2602 unsigned int length;
2603 #define EXTRACT_IFMT_RETT_CODE \
2604 length = 4; \
2605 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2606 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
2607 f_debug = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
2608 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2609 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2610 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2611
2612 #define EXTRACT_IFMT_REI_VARS \
2613 UINT f_pack; \
2614 UINT f_rd_null; \
2615 UINT f_op; \
2616 UINT f_eir; \
2617 UINT f_s12_null; \
2618 unsigned int length;
2619 #define EXTRACT_IFMT_REI_CODE \
2620 length = 4; \
2621 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2622 f_rd_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2623 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2624 f_eir = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2625 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2626
2627 #define EXTRACT_IFMT_TRA_VARS \
2628 UINT f_pack; \
2629 UINT f_int_cc; \
2630 UINT f_ICCi_2_null; \
2631 UINT f_op; \
2632 UINT f_GRi; \
2633 UINT f_misc_null_3; \
2634 UINT f_ope4; \
2635 UINT f_GRj; \
2636 unsigned int length;
2637 #define EXTRACT_IFMT_TRA_CODE \
2638 length = 4; \
2639 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2640 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2641 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2642 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2643 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2644 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2645 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2646 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2647
2648 #define EXTRACT_IFMT_TNO_VARS \
2649 UINT f_pack; \
2650 UINT f_int_cc; \
2651 UINT f_ICCi_2_null; \
2652 UINT f_op; \
2653 UINT f_GRi_null; \
2654 UINT f_misc_null_3; \
2655 UINT f_ope4; \
2656 UINT f_GRj_null; \
2657 unsigned int length;
2658 #define EXTRACT_IFMT_TNO_CODE \
2659 length = 4; \
2660 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2661 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2662 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2663 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2664 f_GRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2665 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2666 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2667 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2668
2669 #define EXTRACT_IFMT_TEQ_VARS \
2670 UINT f_pack; \
2671 UINT f_int_cc; \
2672 UINT f_ICCi_2; \
2673 UINT f_op; \
2674 UINT f_GRi; \
2675 UINT f_misc_null_3; \
2676 UINT f_ope4; \
2677 UINT f_GRj; \
2678 unsigned int length;
2679 #define EXTRACT_IFMT_TEQ_CODE \
2680 length = 4; \
2681 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2682 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2683 f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2684 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2685 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2686 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2687 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2688 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2689
2690 #define EXTRACT_IFMT_FTRA_VARS \
2691 UINT f_pack; \
2692 UINT f_flt_cc; \
2693 UINT f_FCCi_2_null; \
2694 UINT f_op; \
2695 UINT f_GRi; \
2696 UINT f_misc_null_3; \
2697 UINT f_ope4; \
2698 UINT f_GRj; \
2699 unsigned int length;
2700 #define EXTRACT_IFMT_FTRA_CODE \
2701 length = 4; \
2702 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2703 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2704 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2705 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2706 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2707 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2708 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2709 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2710
2711 #define EXTRACT_IFMT_FTNO_VARS \
2712 UINT f_pack; \
2713 UINT f_flt_cc; \
2714 UINT f_FCCi_2_null; \
2715 UINT f_op; \
2716 UINT f_GRi_null; \
2717 UINT f_misc_null_3; \
2718 UINT f_ope4; \
2719 UINT f_GRj_null; \
2720 unsigned int length;
2721 #define EXTRACT_IFMT_FTNO_CODE \
2722 length = 4; \
2723 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2724 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2725 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2726 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2727 f_GRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2728 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2729 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2730 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2731
2732 #define EXTRACT_IFMT_FTNE_VARS \
2733 UINT f_pack; \
2734 UINT f_flt_cc; \
2735 UINT f_FCCi_2; \
2736 UINT f_op; \
2737 UINT f_GRi; \
2738 UINT f_misc_null_3; \
2739 UINT f_ope4; \
2740 UINT f_GRj; \
2741 unsigned int length;
2742 #define EXTRACT_IFMT_FTNE_CODE \
2743 length = 4; \
2744 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2745 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2746 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2747 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2748 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2749 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2750 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2751 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2752
2753 #define EXTRACT_IFMT_TIRA_VARS \
2754 UINT f_pack; \
2755 UINT f_int_cc; \
2756 UINT f_ICCi_2_null; \
2757 UINT f_op; \
2758 UINT f_GRi; \
2759 INT f_d12; \
2760 unsigned int length;
2761 #define EXTRACT_IFMT_TIRA_CODE \
2762 length = 4; \
2763 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2764 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2765 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2766 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2767 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2768 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2769
2770 #define EXTRACT_IFMT_TINO_VARS \
2771 UINT f_pack; \
2772 UINT f_int_cc; \
2773 UINT f_ICCi_2_null; \
2774 UINT f_op; \
2775 UINT f_GRi_null; \
2776 UINT f_s12_null; \
2777 unsigned int length;
2778 #define EXTRACT_IFMT_TINO_CODE \
2779 length = 4; \
2780 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2781 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2782 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2783 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2784 f_GRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2785 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2786
2787 #define EXTRACT_IFMT_TIEQ_VARS \
2788 UINT f_pack; \
2789 UINT f_int_cc; \
2790 UINT f_ICCi_2; \
2791 UINT f_op; \
2792 UINT f_GRi; \
2793 INT f_d12; \
2794 unsigned int length;
2795 #define EXTRACT_IFMT_TIEQ_CODE \
2796 length = 4; \
2797 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2798 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2799 f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2800 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2801 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2802 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2803
2804 #define EXTRACT_IFMT_FTIRA_VARS \
2805 UINT f_pack; \
2806 UINT f_flt_cc; \
2807 UINT f_ICCi_2_null; \
2808 UINT f_op; \
2809 UINT f_GRi; \
2810 INT f_d12; \
2811 unsigned int length;
2812 #define EXTRACT_IFMT_FTIRA_CODE \
2813 length = 4; \
2814 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2815 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2816 f_ICCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2817 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2818 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2819 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2820
2821 #define EXTRACT_IFMT_FTINO_VARS \
2822 UINT f_pack; \
2823 UINT f_flt_cc; \
2824 UINT f_FCCi_2_null; \
2825 UINT f_op; \
2826 UINT f_GRi_null; \
2827 UINT f_s12_null; \
2828 unsigned int length;
2829 #define EXTRACT_IFMT_FTINO_CODE \
2830 length = 4; \
2831 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2832 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2833 f_FCCi_2_null = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2834 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2835 f_GRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2836 f_s12_null = EXTRACT_LSB0_UINT (insn, 32, 11, 12); \
2837
2838 #define EXTRACT_IFMT_FTINE_VARS \
2839 UINT f_pack; \
2840 UINT f_flt_cc; \
2841 UINT f_FCCi_2; \
2842 UINT f_op; \
2843 UINT f_GRi; \
2844 INT f_d12; \
2845 unsigned int length;
2846 #define EXTRACT_IFMT_FTINE_CODE \
2847 length = 4; \
2848 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2849 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2850 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2851 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2852 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2853 f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12); \
2854
2855 #define EXTRACT_IFMT_BREAK_VARS \
2856 UINT f_pack; \
2857 UINT f_rd_null; \
2858 UINT f_op; \
2859 UINT f_rs_null; \
2860 UINT f_misc_null_3; \
2861 UINT f_ope4; \
2862 UINT f_GRj_null; \
2863 unsigned int length;
2864 #define EXTRACT_IFMT_BREAK_CODE \
2865 length = 4; \
2866 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2867 f_rd_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
2868 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2869 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2870 f_misc_null_3 = EXTRACT_LSB0_UINT (insn, 32, 11, 4); \
2871 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2872 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
2873
2874 #define EXTRACT_IFMT_ANDCR_VARS \
2875 UINT f_pack; \
2876 UINT f_misc_null_6; \
2877 UINT f_CRk; \
2878 UINT f_op; \
2879 UINT f_misc_null_7; \
2880 UINT f_CRi; \
2881 UINT f_ope1; \
2882 UINT f_misc_null_8; \
2883 UINT f_CRj; \
2884 unsigned int length;
2885 #define EXTRACT_IFMT_ANDCR_CODE \
2886 length = 4; \
2887 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2888 f_misc_null_6 = EXTRACT_LSB0_UINT (insn, 32, 30, 3); \
2889 f_CRk = EXTRACT_LSB0_UINT (insn, 32, 27, 3); \
2890 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2891 f_misc_null_7 = EXTRACT_LSB0_UINT (insn, 32, 17, 3); \
2892 f_CRi = EXTRACT_LSB0_UINT (insn, 32, 14, 3); \
2893 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2894 f_misc_null_8 = EXTRACT_LSB0_UINT (insn, 32, 5, 3); \
2895 f_CRj = EXTRACT_LSB0_UINT (insn, 32, 2, 3); \
2896
2897 #define EXTRACT_IFMT_NOTCR_VARS \
2898 UINT f_pack; \
2899 UINT f_misc_null_6; \
2900 UINT f_CRk; \
2901 UINT f_op; \
2902 UINT f_rs_null; \
2903 UINT f_ope1; \
2904 UINT f_misc_null_8; \
2905 UINT f_CRj; \
2906 unsigned int length;
2907 #define EXTRACT_IFMT_NOTCR_CODE \
2908 length = 4; \
2909 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2910 f_misc_null_6 = EXTRACT_LSB0_UINT (insn, 32, 30, 3); \
2911 f_CRk = EXTRACT_LSB0_UINT (insn, 32, 27, 3); \
2912 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2913 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2914 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
2915 f_misc_null_8 = EXTRACT_LSB0_UINT (insn, 32, 5, 3); \
2916 f_CRj = EXTRACT_LSB0_UINT (insn, 32, 2, 3); \
2917
2918 #define EXTRACT_IFMT_CKRA_VARS \
2919 UINT f_pack; \
2920 UINT f_int_cc; \
2921 SI f_CRj_int; \
2922 UINT f_op; \
2923 UINT f_misc_null_5; \
2924 UINT f_ICCi_3_null; \
2925 unsigned int length;
2926 #define EXTRACT_IFMT_CKRA_CODE \
2927 length = 4; \
2928 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2929 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2930 f_CRj_int = ((EXTRACT_LSB0_UINT (insn, 32, 26, 2)) + (4)); \
2931 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2932 f_misc_null_5 = EXTRACT_LSB0_UINT (insn, 32, 17, 16); \
2933 f_ICCi_3_null = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
2934
2935 #define EXTRACT_IFMT_CKEQ_VARS \
2936 UINT f_pack; \
2937 UINT f_int_cc; \
2938 SI f_CRj_int; \
2939 UINT f_op; \
2940 UINT f_misc_null_5; \
2941 UINT f_ICCi_3; \
2942 unsigned int length;
2943 #define EXTRACT_IFMT_CKEQ_CODE \
2944 length = 4; \
2945 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2946 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2947 f_CRj_int = ((EXTRACT_LSB0_UINT (insn, 32, 26, 2)) + (4)); \
2948 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2949 f_misc_null_5 = EXTRACT_LSB0_UINT (insn, 32, 17, 16); \
2950 f_ICCi_3 = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
2951
2952 #define EXTRACT_IFMT_FCKRA_VARS \
2953 UINT f_pack; \
2954 UINT f_flt_cc; \
2955 UINT f_CRj_float; \
2956 UINT f_op; \
2957 UINT f_misc_null_5; \
2958 UINT f_FCCi_3; \
2959 unsigned int length;
2960 #define EXTRACT_IFMT_FCKRA_CODE \
2961 length = 4; \
2962 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2963 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2964 f_CRj_float = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
2965 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2966 f_misc_null_5 = EXTRACT_LSB0_UINT (insn, 32, 17, 16); \
2967 f_FCCi_3 = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
2968
2969 #define EXTRACT_IFMT_CCKRA_VARS \
2970 UINT f_pack; \
2971 UINT f_int_cc; \
2972 SI f_CRj_int; \
2973 UINT f_op; \
2974 UINT f_rs_null; \
2975 UINT f_CCi; \
2976 UINT f_cond; \
2977 UINT f_ope4; \
2978 UINT f_misc_null_9; \
2979 UINT f_ICCi_3_null; \
2980 unsigned int length;
2981 #define EXTRACT_IFMT_CCKRA_CODE \
2982 length = 4; \
2983 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
2984 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
2985 f_CRj_int = ((EXTRACT_LSB0_UINT (insn, 32, 26, 2)) + (4)); \
2986 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
2987 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
2988 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
2989 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
2990 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
2991 f_misc_null_9 = EXTRACT_LSB0_UINT (insn, 32, 5, 4); \
2992 f_ICCi_3_null = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
2993
2994 #define EXTRACT_IFMT_CCKEQ_VARS \
2995 UINT f_pack; \
2996 UINT f_int_cc; \
2997 SI f_CRj_int; \
2998 UINT f_op; \
2999 UINT f_rs_null; \
3000 UINT f_CCi; \
3001 UINT f_cond; \
3002 UINT f_ope4; \
3003 UINT f_misc_null_9; \
3004 UINT f_ICCi_3; \
3005 unsigned int length;
3006 #define EXTRACT_IFMT_CCKEQ_CODE \
3007 length = 4; \
3008 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3009 f_int_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3010 f_CRj_int = ((EXTRACT_LSB0_UINT (insn, 32, 26, 2)) + (4)); \
3011 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3012 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3013 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3014 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3015 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3016 f_misc_null_9 = EXTRACT_LSB0_UINT (insn, 32, 5, 4); \
3017 f_ICCi_3 = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
3018
3019 #define EXTRACT_IFMT_CFCKRA_VARS \
3020 UINT f_pack; \
3021 UINT f_flt_cc; \
3022 UINT f_CRj_float; \
3023 UINT f_op; \
3024 UINT f_rs_null; \
3025 UINT f_CCi; \
3026 UINT f_cond; \
3027 UINT f_ope4; \
3028 UINT f_misc_null_9; \
3029 UINT f_FCCi_3_null; \
3030 unsigned int length;
3031 #define EXTRACT_IFMT_CFCKRA_CODE \
3032 length = 4; \
3033 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3034 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3035 f_CRj_float = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
3036 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3037 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3038 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3039 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3040 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3041 f_misc_null_9 = EXTRACT_LSB0_UINT (insn, 32, 5, 4); \
3042 f_FCCi_3_null = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
3043
3044 #define EXTRACT_IFMT_CFCKNE_VARS \
3045 UINT f_pack; \
3046 UINT f_flt_cc; \
3047 UINT f_CRj_float; \
3048 UINT f_op; \
3049 UINT f_rs_null; \
3050 UINT f_CCi; \
3051 UINT f_cond; \
3052 UINT f_ope4; \
3053 UINT f_misc_null_9; \
3054 UINT f_FCCi_3; \
3055 unsigned int length;
3056 #define EXTRACT_IFMT_CFCKNE_CODE \
3057 length = 4; \
3058 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3059 f_flt_cc = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3060 f_CRj_float = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
3061 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3062 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3063 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3064 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3065 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3066 f_misc_null_9 = EXTRACT_LSB0_UINT (insn, 32, 5, 4); \
3067 f_FCCi_3 = EXTRACT_LSB0_UINT (insn, 32, 1, 2); \
3068
3069 #define EXTRACT_IFMT_CJMPL_VARS \
3070 UINT f_pack; \
3071 UINT f_misc_null_1; \
3072 UINT f_LI_off; \
3073 UINT f_op; \
3074 UINT f_GRi; \
3075 UINT f_CCi; \
3076 UINT f_cond; \
3077 UINT f_ope4; \
3078 UINT f_GRj; \
3079 unsigned int length;
3080 #define EXTRACT_IFMT_CJMPL_CODE \
3081 length = 4; \
3082 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3083 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
3084 f_LI_off = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
3085 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3086 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3087 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3088 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3089 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3090 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3091
3092 #define EXTRACT_IFMT_CCALLL_VARS \
3093 UINT f_pack; \
3094 UINT f_misc_null_1; \
3095 UINT f_LI_on; \
3096 UINT f_op; \
3097 UINT f_GRi; \
3098 UINT f_CCi; \
3099 UINT f_cond; \
3100 UINT f_ope4; \
3101 UINT f_GRj; \
3102 unsigned int length;
3103 #define EXTRACT_IFMT_CCALLL_CODE \
3104 length = 4; \
3105 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3106 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
3107 f_LI_on = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
3108 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3109 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3110 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3111 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3112 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3113 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3114
3115 #define EXTRACT_IFMT_ICEI_VARS \
3116 UINT f_pack; \
3117 UINT f_misc_null_1; \
3118 UINT f_ae; \
3119 UINT f_op; \
3120 UINT f_GRi; \
3121 UINT f_ope1; \
3122 UINT f_GRj; \
3123 unsigned int length;
3124 #define EXTRACT_IFMT_ICEI_CODE \
3125 length = 4; \
3126 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3127 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
3128 f_ae = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
3129 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3130 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3131 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3132 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3133
3134 #define EXTRACT_IFMT_ICPL_VARS \
3135 UINT f_pack; \
3136 UINT f_misc_null_1; \
3137 UINT f_lock; \
3138 UINT f_op; \
3139 UINT f_GRi; \
3140 UINT f_ope1; \
3141 UINT f_GRj; \
3142 unsigned int length;
3143 #define EXTRACT_IFMT_ICPL_CODE \
3144 length = 4; \
3145 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3146 f_misc_null_1 = EXTRACT_LSB0_UINT (insn, 32, 30, 5); \
3147 f_lock = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
3148 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3149 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3150 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3151 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3152
3153 #define EXTRACT_IFMT_ICUL_VARS \
3154 UINT f_pack; \
3155 UINT f_rd_null; \
3156 UINT f_op; \
3157 UINT f_GRi; \
3158 UINT f_ope1; \
3159 UINT f_GRj_null; \
3160 unsigned int length;
3161 #define EXTRACT_IFMT_ICUL_CODE \
3162 length = 4; \
3163 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3164 f_rd_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3165 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3166 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3167 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3168 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3169
3170 #define EXTRACT_IFMT_BAR_VARS \
3171 UINT f_pack; \
3172 UINT f_rd_null; \
3173 UINT f_op; \
3174 UINT f_rs_null; \
3175 UINT f_ope1; \
3176 UINT f_GRj_null; \
3177 unsigned int length;
3178 #define EXTRACT_IFMT_BAR_CODE \
3179 length = 4; \
3180 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3181 f_rd_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3182 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3183 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3184 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3185 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3186
3187 #define EXTRACT_IFMT_LRAI_VARS \
3188 UINT f_pack; \
3189 UINT f_GRk; \
3190 UINT f_op; \
3191 UINT f_GRi; \
3192 UINT f_ope1; \
3193 UINT f_LRAE; \
3194 UINT f_LRAD; \
3195 UINT f_LRAS; \
3196 UINT f_LRA_null; \
3197 unsigned int length;
3198 #define EXTRACT_IFMT_LRAI_CODE \
3199 length = 4; \
3200 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3201 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3202 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3203 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3204 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3205 f_LRAE = EXTRACT_LSB0_UINT (insn, 32, 5, 1); \
3206 f_LRAD = EXTRACT_LSB0_UINT (insn, 32, 4, 1); \
3207 f_LRAS = EXTRACT_LSB0_UINT (insn, 32, 3, 1); \
3208 f_LRA_null = EXTRACT_LSB0_UINT (insn, 32, 2, 3); \
3209
3210 #define EXTRACT_IFMT_TLBPR_VARS \
3211 UINT f_pack; \
3212 UINT f_TLBPR_null; \
3213 UINT f_TLBPRopx; \
3214 UINT f_TLBPRL; \
3215 UINT f_op; \
3216 UINT f_GRi; \
3217 UINT f_ope1; \
3218 UINT f_GRj; \
3219 unsigned int length;
3220 #define EXTRACT_IFMT_TLBPR_CODE \
3221 length = 4; \
3222 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3223 f_TLBPR_null = EXTRACT_LSB0_UINT (insn, 32, 30, 2); \
3224 f_TLBPRopx = EXTRACT_LSB0_UINT (insn, 32, 28, 3); \
3225 f_TLBPRL = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
3226 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3227 f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3228 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3229 f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3230
3231 #define EXTRACT_IFMT_COP1_VARS \
3232 UINT f_pack; \
3233 UINT f_CPRk; \
3234 UINT f_op; \
3235 UINT f_CPRi; \
3236 INT f_s6_1; \
3237 UINT f_CPRj; \
3238 unsigned int length;
3239 #define EXTRACT_IFMT_COP1_CODE \
3240 length = 4; \
3241 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3242 f_CPRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3243 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3244 f_CPRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3245 f_s6_1 = EXTRACT_LSB0_INT (insn, 32, 11, 6); \
3246 f_CPRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3247
3248 #define EXTRACT_IFMT_CLRGR_VARS \
3249 UINT f_pack; \
3250 UINT f_GRk; \
3251 UINT f_op; \
3252 UINT f_rs_null; \
3253 UINT f_ope1; \
3254 UINT f_GRj_null; \
3255 unsigned int length;
3256 #define EXTRACT_IFMT_CLRGR_CODE \
3257 length = 4; \
3258 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3259 f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3260 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3261 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3262 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3263 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3264
3265 #define EXTRACT_IFMT_CLRFR_VARS \
3266 UINT f_pack; \
3267 UINT f_FRk; \
3268 UINT f_op; \
3269 UINT f_rs_null; \
3270 UINT f_ope1; \
3271 UINT f_GRj_null; \
3272 unsigned int length;
3273 #define EXTRACT_IFMT_CLRFR_CODE \
3274 length = 4; \
3275 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3276 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3277 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3278 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3279 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3280 f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3281
3282 #define EXTRACT_IFMT_FITOS_VARS \
3283 UINT f_pack; \
3284 UINT f_FRk; \
3285 UINT f_op; \
3286 UINT f_rs_null; \
3287 UINT f_ope1; \
3288 UINT f_FRj; \
3289 unsigned int length;
3290 #define EXTRACT_IFMT_FITOS_CODE \
3291 length = 4; \
3292 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3293 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3294 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3295 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3296 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3297 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3298
3299 #define EXTRACT_IFMT_FSTOI_VARS \
3300 UINT f_pack; \
3301 UINT f_FRk; \
3302 UINT f_op; \
3303 UINT f_rs_null; \
3304 UINT f_ope1; \
3305 UINT f_FRj; \
3306 unsigned int length;
3307 #define EXTRACT_IFMT_FSTOI_CODE \
3308 length = 4; \
3309 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3310 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3311 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3312 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3313 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3314 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3315
3316 #define EXTRACT_IFMT_FITOD_VARS \
3317 UINT f_pack; \
3318 UINT f_FRk; \
3319 UINT f_op; \
3320 UINT f_rs_null; \
3321 UINT f_ope1; \
3322 UINT f_FRj; \
3323 unsigned int length;
3324 #define EXTRACT_IFMT_FITOD_CODE \
3325 length = 4; \
3326 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3327 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3328 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3329 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3330 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3331 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3332
3333 #define EXTRACT_IFMT_FDTOI_VARS \
3334 UINT f_pack; \
3335 UINT f_FRk; \
3336 UINT f_op; \
3337 UINT f_rs_null; \
3338 UINT f_ope1; \
3339 UINT f_FRj; \
3340 unsigned int length;
3341 #define EXTRACT_IFMT_FDTOI_CODE \
3342 length = 4; \
3343 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3344 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3345 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3346 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3347 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3348 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3349
3350 #define EXTRACT_IFMT_CFITOS_VARS \
3351 UINT f_pack; \
3352 UINT f_FRk; \
3353 UINT f_op; \
3354 UINT f_rs_null; \
3355 UINT f_CCi; \
3356 UINT f_cond; \
3357 UINT f_ope4; \
3358 UINT f_FRj; \
3359 unsigned int length;
3360 #define EXTRACT_IFMT_CFITOS_CODE \
3361 length = 4; \
3362 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3363 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3364 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3365 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3366 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3367 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3368 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3369 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3370
3371 #define EXTRACT_IFMT_CFSTOI_VARS \
3372 UINT f_pack; \
3373 UINT f_FRk; \
3374 UINT f_op; \
3375 UINT f_rs_null; \
3376 UINT f_CCi; \
3377 UINT f_cond; \
3378 UINT f_ope4; \
3379 UINT f_FRj; \
3380 unsigned int length;
3381 #define EXTRACT_IFMT_CFSTOI_CODE \
3382 length = 4; \
3383 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3384 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3385 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3386 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3387 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3388 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3389 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3390 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3391
3392 #define EXTRACT_IFMT_FMOVS_VARS \
3393 UINT f_pack; \
3394 UINT f_FRk; \
3395 UINT f_op; \
3396 UINT f_rs_null; \
3397 UINT f_ope1; \
3398 UINT f_FRj; \
3399 unsigned int length;
3400 #define EXTRACT_IFMT_FMOVS_CODE \
3401 length = 4; \
3402 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3403 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3404 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3405 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3406 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3407 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3408
3409 #define EXTRACT_IFMT_FMOVD_VARS \
3410 UINT f_pack; \
3411 UINT f_FRk; \
3412 UINT f_op; \
3413 UINT f_rs_null; \
3414 UINT f_ope1; \
3415 UINT f_FRj; \
3416 unsigned int length;
3417 #define EXTRACT_IFMT_FMOVD_CODE \
3418 length = 4; \
3419 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3420 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3421 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3422 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3423 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3424 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3425
3426 #define EXTRACT_IFMT_CFMOVS_VARS \
3427 UINT f_pack; \
3428 UINT f_FRk; \
3429 UINT f_op; \
3430 UINT f_rs_null; \
3431 UINT f_CCi; \
3432 UINT f_cond; \
3433 UINT f_ope4; \
3434 UINT f_FRj; \
3435 unsigned int length;
3436 #define EXTRACT_IFMT_CFMOVS_CODE \
3437 length = 4; \
3438 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3439 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3440 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3441 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3442 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3443 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3444 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3445 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3446
3447 #define EXTRACT_IFMT_FADDS_VARS \
3448 UINT f_pack; \
3449 UINT f_FRk; \
3450 UINT f_op; \
3451 UINT f_FRi; \
3452 UINT f_ope1; \
3453 UINT f_FRj; \
3454 unsigned int length;
3455 #define EXTRACT_IFMT_FADDS_CODE \
3456 length = 4; \
3457 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3458 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3459 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3460 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3461 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3462 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3463
3464 #define EXTRACT_IFMT_FADDD_VARS \
3465 UINT f_pack; \
3466 UINT f_FRk; \
3467 UINT f_op; \
3468 UINT f_FRi; \
3469 UINT f_ope1; \
3470 UINT f_FRj; \
3471 unsigned int length;
3472 #define EXTRACT_IFMT_FADDD_CODE \
3473 length = 4; \
3474 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3475 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3476 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3477 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3478 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3479 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3480
3481 #define EXTRACT_IFMT_CFADDS_VARS \
3482 UINT f_pack; \
3483 UINT f_FRk; \
3484 UINT f_op; \
3485 UINT f_FRi; \
3486 UINT f_CCi; \
3487 UINT f_cond; \
3488 UINT f_ope4; \
3489 UINT f_FRj; \
3490 unsigned int length;
3491 #define EXTRACT_IFMT_CFADDS_CODE \
3492 length = 4; \
3493 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3494 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3495 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3496 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3497 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3498 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3499 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3500 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3501
3502 #define EXTRACT_IFMT_FCMPS_VARS \
3503 UINT f_pack; \
3504 UINT f_cond_null; \
3505 UINT f_FCCi_2; \
3506 UINT f_op; \
3507 UINT f_FRi; \
3508 UINT f_ope1; \
3509 UINT f_FRj; \
3510 unsigned int length;
3511 #define EXTRACT_IFMT_FCMPS_CODE \
3512 length = 4; \
3513 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3514 f_cond_null = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3515 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
3516 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3517 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3518 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3519 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3520
3521 #define EXTRACT_IFMT_FCMPD_VARS \
3522 UINT f_pack; \
3523 UINT f_cond_null; \
3524 UINT f_FCCi_2; \
3525 UINT f_op; \
3526 UINT f_FRi; \
3527 UINT f_ope1; \
3528 UINT f_FRj; \
3529 unsigned int length;
3530 #define EXTRACT_IFMT_FCMPD_CODE \
3531 length = 4; \
3532 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3533 f_cond_null = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3534 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
3535 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3536 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3537 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3538 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3539
3540 #define EXTRACT_IFMT_CFCMPS_VARS \
3541 UINT f_pack; \
3542 UINT f_cond_null; \
3543 UINT f_FCCi_2; \
3544 UINT f_op; \
3545 UINT f_FRi; \
3546 UINT f_CCi; \
3547 UINT f_cond; \
3548 UINT f_ope4; \
3549 UINT f_FRj; \
3550 unsigned int length;
3551 #define EXTRACT_IFMT_CFCMPS_CODE \
3552 length = 4; \
3553 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3554 f_cond_null = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3555 f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
3556 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3557 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3558 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3559 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3560 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3561 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3562
3563 #define EXTRACT_IFMT_MHSETLOS_VARS \
3564 UINT f_pack; \
3565 UINT f_FRk; \
3566 UINT f_op; \
3567 UINT f_ope1; \
3568 INT f_u12_h; \
3569 UINT f_u12_l; \
3570 INT f_u12; \
3571 unsigned int length;
3572 #define EXTRACT_IFMT_MHSETLOS_CODE \
3573 length = 4; \
3574 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3575 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3576 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3577 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3578 f_u12_h = EXTRACT_LSB0_INT (insn, 32, 17, 6); \
3579 f_u12_l = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3580 {\
3581 f_u12 = ((((f_u12_h) << (6))) | (f_u12_l));\
3582 }\
3583
3584 #define EXTRACT_IFMT_MHSETHIS_VARS \
3585 UINT f_pack; \
3586 UINT f_FRk; \
3587 UINT f_op; \
3588 UINT f_ope1; \
3589 INT f_u12_h; \
3590 UINT f_u12_l; \
3591 INT f_u12; \
3592 unsigned int length;
3593 #define EXTRACT_IFMT_MHSETHIS_CODE \
3594 length = 4; \
3595 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3596 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3597 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3598 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3599 f_u12_h = EXTRACT_LSB0_INT (insn, 32, 17, 6); \
3600 f_u12_l = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3601 {\
3602 f_u12 = ((((f_u12_h) << (6))) | (f_u12_l));\
3603 }\
3604
3605 #define EXTRACT_IFMT_MHDSETS_VARS \
3606 UINT f_pack; \
3607 UINT f_FRk; \
3608 UINT f_op; \
3609 UINT f_ope1; \
3610 INT f_u12_h; \
3611 UINT f_u12_l; \
3612 INT f_u12; \
3613 unsigned int length;
3614 #define EXTRACT_IFMT_MHDSETS_CODE \
3615 length = 4; \
3616 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3617 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3618 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3619 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3620 f_u12_h = EXTRACT_LSB0_INT (insn, 32, 17, 6); \
3621 f_u12_l = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3622 {\
3623 f_u12 = ((((f_u12_h) << (6))) | (f_u12_l));\
3624 }\
3625
3626 #define EXTRACT_IFMT_MHSETLOH_VARS \
3627 UINT f_pack; \
3628 UINT f_FRk; \
3629 UINT f_op; \
3630 UINT f_FRi_null; \
3631 UINT f_ope1; \
3632 UINT f_misc_null_11; \
3633 INT f_s5; \
3634 unsigned int length;
3635 #define EXTRACT_IFMT_MHSETLOH_CODE \
3636 length = 4; \
3637 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3638 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3639 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3640 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3641 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3642 f_misc_null_11 = EXTRACT_LSB0_UINT (insn, 32, 5, 1); \
3643 f_s5 = EXTRACT_LSB0_INT (insn, 32, 4, 5); \
3644
3645 #define EXTRACT_IFMT_MHSETHIH_VARS \
3646 UINT f_pack; \
3647 UINT f_FRk; \
3648 UINT f_op; \
3649 UINT f_FRi_null; \
3650 UINT f_ope1; \
3651 UINT f_misc_null_11; \
3652 INT f_s5; \
3653 unsigned int length;
3654 #define EXTRACT_IFMT_MHSETHIH_CODE \
3655 length = 4; \
3656 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3657 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3658 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3659 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3660 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3661 f_misc_null_11 = EXTRACT_LSB0_UINT (insn, 32, 5, 1); \
3662 f_s5 = EXTRACT_LSB0_INT (insn, 32, 4, 5); \
3663
3664 #define EXTRACT_IFMT_MHDSETH_VARS \
3665 UINT f_pack; \
3666 UINT f_FRk; \
3667 UINT f_op; \
3668 UINT f_FRi_null; \
3669 UINT f_ope1; \
3670 UINT f_misc_null_11; \
3671 INT f_s5; \
3672 unsigned int length;
3673 #define EXTRACT_IFMT_MHDSETH_CODE \
3674 length = 4; \
3675 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3676 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3677 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3678 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3679 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3680 f_misc_null_11 = EXTRACT_LSB0_UINT (insn, 32, 5, 1); \
3681 f_s5 = EXTRACT_LSB0_INT (insn, 32, 4, 5); \
3682
3683 #define EXTRACT_IFMT_MAND_VARS \
3684 UINT f_pack; \
3685 UINT f_FRk; \
3686 UINT f_op; \
3687 UINT f_FRi; \
3688 UINT f_ope1; \
3689 UINT f_FRj; \
3690 unsigned int length;
3691 #define EXTRACT_IFMT_MAND_CODE \
3692 length = 4; \
3693 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3694 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3695 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3696 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3697 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3698 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3699
3700 #define EXTRACT_IFMT_CMAND_VARS \
3701 UINT f_pack; \
3702 UINT f_FRk; \
3703 UINT f_op; \
3704 UINT f_FRi; \
3705 UINT f_CCi; \
3706 UINT f_cond; \
3707 UINT f_ope4; \
3708 UINT f_FRj; \
3709 unsigned int length;
3710 #define EXTRACT_IFMT_CMAND_CODE \
3711 length = 4; \
3712 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3713 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3714 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3715 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3716 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3717 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3718 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3719 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3720
3721 #define EXTRACT_IFMT_MNOT_VARS \
3722 UINT f_pack; \
3723 UINT f_FRk; \
3724 UINT f_op; \
3725 UINT f_rs_null; \
3726 UINT f_ope1; \
3727 UINT f_FRj; \
3728 unsigned int length;
3729 #define EXTRACT_IFMT_MNOT_CODE \
3730 length = 4; \
3731 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3732 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3733 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3734 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3735 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3736 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3737
3738 #define EXTRACT_IFMT_CMNOT_VARS \
3739 UINT f_pack; \
3740 UINT f_FRk; \
3741 UINT f_op; \
3742 UINT f_rs_null; \
3743 UINT f_CCi; \
3744 UINT f_cond; \
3745 UINT f_ope4; \
3746 UINT f_FRj; \
3747 unsigned int length;
3748 #define EXTRACT_IFMT_CMNOT_CODE \
3749 length = 4; \
3750 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3751 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3752 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3753 f_rs_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3754 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3755 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3756 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3757 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3758
3759 #define EXTRACT_IFMT_MROTLI_VARS \
3760 UINT f_pack; \
3761 UINT f_FRk; \
3762 UINT f_op; \
3763 UINT f_FRi; \
3764 UINT f_ope1; \
3765 UINT f_u6; \
3766 unsigned int length;
3767 #define EXTRACT_IFMT_MROTLI_CODE \
3768 length = 4; \
3769 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3770 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3771 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3772 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3773 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3774 f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3775
3776 #define EXTRACT_IFMT_MCUT_VARS \
3777 UINT f_pack; \
3778 UINT f_FRk; \
3779 UINT f_op; \
3780 UINT f_ACC40Si; \
3781 UINT f_ope1; \
3782 UINT f_FRj; \
3783 unsigned int length;
3784 #define EXTRACT_IFMT_MCUT_CODE \
3785 length = 4; \
3786 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3787 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3788 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3789 f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3790 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3791 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3792
3793 #define EXTRACT_IFMT_MCUTI_VARS \
3794 UINT f_pack; \
3795 UINT f_FRk; \
3796 UINT f_op; \
3797 UINT f_ACC40Si; \
3798 UINT f_ope1; \
3799 INT f_s6; \
3800 unsigned int length;
3801 #define EXTRACT_IFMT_MCUTI_CODE \
3802 length = 4; \
3803 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3804 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3805 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3806 f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3807 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3808 f_s6 = EXTRACT_LSB0_INT (insn, 32, 5, 6); \
3809
3810 #define EXTRACT_IFMT_MDCUTSSI_VARS \
3811 UINT f_pack; \
3812 UINT f_FRk; \
3813 UINT f_op; \
3814 UINT f_ACC40Si; \
3815 UINT f_ope1; \
3816 INT f_s6; \
3817 unsigned int length;
3818 #define EXTRACT_IFMT_MDCUTSSI_CODE \
3819 length = 4; \
3820 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3821 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3822 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3823 f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3824 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3825 f_s6 = EXTRACT_LSB0_INT (insn, 32, 5, 6); \
3826
3827 #define EXTRACT_IFMT_MDROTLI_VARS \
3828 UINT f_pack; \
3829 UINT f_FRk; \
3830 UINT f_op; \
3831 UINT f_FRi; \
3832 UINT f_ope1; \
3833 INT f_s6; \
3834 unsigned int length;
3835 #define EXTRACT_IFMT_MDROTLI_CODE \
3836 length = 4; \
3837 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3838 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3839 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3840 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3841 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3842 f_s6 = EXTRACT_LSB0_INT (insn, 32, 5, 6); \
3843
3844 #define EXTRACT_IFMT_MQSATHS_VARS \
3845 UINT f_pack; \
3846 UINT f_FRk; \
3847 UINT f_op; \
3848 UINT f_FRi; \
3849 UINT f_ope1; \
3850 UINT f_FRj; \
3851 unsigned int length;
3852 #define EXTRACT_IFMT_MQSATHS_CODE \
3853 length = 4; \
3854 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3855 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3856 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3857 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3858 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3859 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3860
3861 #define EXTRACT_IFMT_MCMPSH_VARS \
3862 UINT f_pack; \
3863 UINT f_cond_null; \
3864 UINT f_FCCk; \
3865 UINT f_op; \
3866 UINT f_FRi; \
3867 UINT f_ope1; \
3868 UINT f_FRj; \
3869 unsigned int length;
3870 #define EXTRACT_IFMT_MCMPSH_CODE \
3871 length = 4; \
3872 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3873 f_cond_null = EXTRACT_LSB0_UINT (insn, 32, 30, 4); \
3874 f_FCCk = EXTRACT_LSB0_UINT (insn, 32, 26, 2); \
3875 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3876 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3877 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3878 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3879
3880 #define EXTRACT_IFMT_MABSHS_VARS \
3881 UINT f_pack; \
3882 UINT f_FRk; \
3883 UINT f_op; \
3884 UINT f_FRi_null; \
3885 UINT f_ope1; \
3886 UINT f_FRj; \
3887 unsigned int length;
3888 #define EXTRACT_IFMT_MABSHS_CODE \
3889 length = 4; \
3890 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3891 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3892 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3893 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3894 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3895 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3896
3897 #define EXTRACT_IFMT_CMQADDHSS_VARS \
3898 UINT f_pack; \
3899 UINT f_FRk; \
3900 UINT f_op; \
3901 UINT f_FRi; \
3902 UINT f_CCi; \
3903 UINT f_cond; \
3904 UINT f_ope4; \
3905 UINT f_FRj; \
3906 unsigned int length;
3907 #define EXTRACT_IFMT_CMQADDHSS_CODE \
3908 length = 4; \
3909 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3910 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3911 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3912 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3913 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3914 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3915 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3916 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3917
3918 #define EXTRACT_IFMT_MQSLLHI_VARS \
3919 UINT f_pack; \
3920 UINT f_FRk; \
3921 UINT f_op; \
3922 UINT f_FRi; \
3923 UINT f_ope1; \
3924 UINT f_u6; \
3925 unsigned int length;
3926 #define EXTRACT_IFMT_MQSLLHI_CODE \
3927 length = 4; \
3928 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3929 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3930 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3931 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3932 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3933 f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3934
3935 #define EXTRACT_IFMT_MADDACCS_VARS \
3936 UINT f_pack; \
3937 UINT f_ACC40Sk; \
3938 UINT f_op; \
3939 UINT f_ACC40Si; \
3940 UINT f_ope1; \
3941 UINT f_ACCj_null; \
3942 unsigned int length;
3943 #define EXTRACT_IFMT_MADDACCS_CODE \
3944 length = 4; \
3945 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3946 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3947 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3948 f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3949 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3950 f_ACCj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3951
3952 #define EXTRACT_IFMT_MMULHS_VARS \
3953 UINT f_pack; \
3954 UINT f_ACC40Sk; \
3955 UINT f_op; \
3956 UINT f_FRi; \
3957 UINT f_ope1; \
3958 UINT f_FRj; \
3959 unsigned int length;
3960 #define EXTRACT_IFMT_MMULHS_CODE \
3961 length = 4; \
3962 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3963 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3964 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3965 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3966 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
3967 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3968
3969 #define EXTRACT_IFMT_CMMULHS_VARS \
3970 UINT f_pack; \
3971 UINT f_ACC40Sk; \
3972 UINT f_op; \
3973 UINT f_FRi; \
3974 UINT f_CCi; \
3975 UINT f_cond; \
3976 UINT f_ope4; \
3977 UINT f_FRj; \
3978 unsigned int length;
3979 #define EXTRACT_IFMT_CMMULHS_CODE \
3980 length = 4; \
3981 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
3982 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
3983 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
3984 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
3985 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
3986 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
3987 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
3988 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
3989
3990 #define EXTRACT_IFMT_MQMULHS_VARS \
3991 UINT f_pack; \
3992 UINT f_ACC40Sk; \
3993 UINT f_op; \
3994 UINT f_FRi; \
3995 UINT f_ope1; \
3996 UINT f_FRj; \
3997 unsigned int length;
3998 #define EXTRACT_IFMT_MQMULHS_CODE \
3999 length = 4; \
4000 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4001 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4002 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4003 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4004 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4005 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4006
4007 #define EXTRACT_IFMT_CMQMULHS_VARS \
4008 UINT f_pack; \
4009 UINT f_ACC40Sk; \
4010 UINT f_op; \
4011 UINT f_FRi; \
4012 UINT f_CCi; \
4013 UINT f_cond; \
4014 UINT f_ope4; \
4015 UINT f_FRj; \
4016 unsigned int length;
4017 #define EXTRACT_IFMT_CMQMULHS_CODE \
4018 length = 4; \
4019 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4020 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4021 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4022 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4023 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4024 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4025 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4026 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4027
4028 #define EXTRACT_IFMT_MMACHU_VARS \
4029 UINT f_pack; \
4030 UINT f_ACC40Uk; \
4031 UINT f_op; \
4032 UINT f_FRi; \
4033 UINT f_ope1; \
4034 UINT f_FRj; \
4035 unsigned int length;
4036 #define EXTRACT_IFMT_MMACHU_CODE \
4037 length = 4; \
4038 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4039 f_ACC40Uk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4040 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4041 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4042 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4043 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4044
4045 #define EXTRACT_IFMT_CMMACHU_VARS \
4046 UINT f_pack; \
4047 UINT f_ACC40Uk; \
4048 UINT f_op; \
4049 UINT f_FRi; \
4050 UINT f_CCi; \
4051 UINT f_cond; \
4052 UINT f_ope4; \
4053 UINT f_FRj; \
4054 unsigned int length;
4055 #define EXTRACT_IFMT_CMMACHU_CODE \
4056 length = 4; \
4057 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4058 f_ACC40Uk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4059 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4060 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4061 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4062 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4063 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4064 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4065
4066 #define EXTRACT_IFMT_MQMACHU_VARS \
4067 UINT f_pack; \
4068 UINT f_ACC40Uk; \
4069 UINT f_op; \
4070 UINT f_FRi; \
4071 UINT f_ope1; \
4072 UINT f_FRj; \
4073 unsigned int length;
4074 #define EXTRACT_IFMT_MQMACHU_CODE \
4075 length = 4; \
4076 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4077 f_ACC40Uk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4078 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4079 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4080 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4081 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4082
4083 #define EXTRACT_IFMT_CMQMACHU_VARS \
4084 UINT f_pack; \
4085 UINT f_ACC40Uk; \
4086 UINT f_op; \
4087 UINT f_FRi; \
4088 UINT f_CCi; \
4089 UINT f_cond; \
4090 UINT f_ope4; \
4091 UINT f_FRj; \
4092 unsigned int length;
4093 #define EXTRACT_IFMT_CMQMACHU_CODE \
4094 length = 4; \
4095 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4096 f_ACC40Uk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4097 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4098 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4099 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4100 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4101 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4102 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4103
4104 #define EXTRACT_IFMT_CMEXPDHW_VARS \
4105 UINT f_pack; \
4106 UINT f_FRk; \
4107 UINT f_op; \
4108 UINT f_FRi; \
4109 UINT f_CCi; \
4110 UINT f_cond; \
4111 UINT f_ope4; \
4112 UINT f_u6; \
4113 unsigned int length;
4114 #define EXTRACT_IFMT_CMEXPDHW_CODE \
4115 length = 4; \
4116 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4117 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4118 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4119 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4120 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4121 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4122 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4123 f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4124
4125 #define EXTRACT_IFMT_MEXPDHD_VARS \
4126 UINT f_pack; \
4127 UINT f_FRk; \
4128 UINT f_op; \
4129 UINT f_FRi; \
4130 UINT f_ope1; \
4131 UINT f_u6; \
4132 unsigned int length;
4133 #define EXTRACT_IFMT_MEXPDHD_CODE \
4134 length = 4; \
4135 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4136 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4137 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4138 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4139 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4140 f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4141
4142 #define EXTRACT_IFMT_CMEXPDHD_VARS \
4143 UINT f_pack; \
4144 UINT f_FRk; \
4145 UINT f_op; \
4146 UINT f_FRi; \
4147 UINT f_CCi; \
4148 UINT f_cond; \
4149 UINT f_ope4; \
4150 UINT f_u6; \
4151 unsigned int length;
4152 #define EXTRACT_IFMT_CMEXPDHD_CODE \
4153 length = 4; \
4154 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4155 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4156 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4157 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4158 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4159 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4160 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4161 f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4162
4163 #define EXTRACT_IFMT_MUNPACKH_VARS \
4164 UINT f_pack; \
4165 UINT f_FRk; \
4166 UINT f_op; \
4167 UINT f_FRi; \
4168 UINT f_ope1; \
4169 UINT f_FRj_null; \
4170 unsigned int length;
4171 #define EXTRACT_IFMT_MUNPACKH_CODE \
4172 length = 4; \
4173 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4174 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4175 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4176 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4177 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4178 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4179
4180 #define EXTRACT_IFMT_MDUNPACKH_VARS \
4181 UINT f_pack; \
4182 UINT f_FRk; \
4183 UINT f_op; \
4184 UINT f_FRi; \
4185 UINT f_ope1; \
4186 UINT f_FRj_null; \
4187 unsigned int length;
4188 #define EXTRACT_IFMT_MDUNPACKH_CODE \
4189 length = 4; \
4190 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4191 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4192 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4193 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4194 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4195 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4196
4197 #define EXTRACT_IFMT_MBTOH_VARS \
4198 UINT f_pack; \
4199 UINT f_FRk; \
4200 UINT f_op; \
4201 UINT f_FRi_null; \
4202 UINT f_ope1; \
4203 UINT f_FRj; \
4204 unsigned int length;
4205 #define EXTRACT_IFMT_MBTOH_CODE \
4206 length = 4; \
4207 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4208 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4209 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4210 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4211 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4212 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4213
4214 #define EXTRACT_IFMT_CMBTOH_VARS \
4215 UINT f_pack; \
4216 UINT f_FRk; \
4217 UINT f_op; \
4218 UINT f_FRi_null; \
4219 UINT f_CCi; \
4220 UINT f_cond; \
4221 UINT f_ope4; \
4222 UINT f_FRj; \
4223 unsigned int length;
4224 #define EXTRACT_IFMT_CMBTOH_CODE \
4225 length = 4; \
4226 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4227 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4228 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4229 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4230 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4231 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4232 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4233 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4234
4235 #define EXTRACT_IFMT_MHTOB_VARS \
4236 UINT f_pack; \
4237 UINT f_FRk; \
4238 UINT f_op; \
4239 UINT f_FRi_null; \
4240 UINT f_ope1; \
4241 UINT f_FRj; \
4242 unsigned int length;
4243 #define EXTRACT_IFMT_MHTOB_CODE \
4244 length = 4; \
4245 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4246 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4247 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4248 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4249 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4250 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4251
4252 #define EXTRACT_IFMT_CMHTOB_VARS \
4253 UINT f_pack; \
4254 UINT f_FRk; \
4255 UINT f_op; \
4256 UINT f_FRi_null; \
4257 UINT f_CCi; \
4258 UINT f_cond; \
4259 UINT f_ope4; \
4260 UINT f_FRj; \
4261 unsigned int length;
4262 #define EXTRACT_IFMT_CMHTOB_CODE \
4263 length = 4; \
4264 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4265 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4266 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4267 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4268 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4269 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4270 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4271 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4272
4273 #define EXTRACT_IFMT_CMBTOHE_VARS \
4274 UINT f_pack; \
4275 UINT f_FRk; \
4276 UINT f_op; \
4277 UINT f_FRi_null; \
4278 UINT f_CCi; \
4279 UINT f_cond; \
4280 UINT f_ope4; \
4281 UINT f_FRj; \
4282 unsigned int length;
4283 #define EXTRACT_IFMT_CMBTOHE_CODE \
4284 length = 4; \
4285 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4286 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4287 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4288 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4289 f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3); \
4290 f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1); \
4291 f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
4292 f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4293
4294 #define EXTRACT_IFMT_MNOP_VARS \
4295 UINT f_pack; \
4296 UINT f_ACC40Sk; \
4297 UINT f_op; \
4298 UINT f_A; \
4299 UINT f_misc_null_10; \
4300 UINT f_ope1; \
4301 UINT f_FRj_null; \
4302 unsigned int length;
4303 #define EXTRACT_IFMT_MNOP_CODE \
4304 length = 4; \
4305 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4306 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4307 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4308 f_A = EXTRACT_LSB0_UINT (insn, 32, 17, 1); \
4309 f_misc_null_10 = EXTRACT_LSB0_UINT (insn, 32, 16, 5); \
4310 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4311 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4312
4313 #define EXTRACT_IFMT_MCLRACC_0_VARS \
4314 UINT f_pack; \
4315 UINT f_ACC40Sk; \
4316 UINT f_op; \
4317 UINT f_A; \
4318 UINT f_misc_null_10; \
4319 UINT f_ope1; \
4320 UINT f_FRj_null; \
4321 unsigned int length;
4322 #define EXTRACT_IFMT_MCLRACC_0_CODE \
4323 length = 4; \
4324 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4325 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4326 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4327 f_A = EXTRACT_LSB0_UINT (insn, 32, 17, 1); \
4328 f_misc_null_10 = EXTRACT_LSB0_UINT (insn, 32, 16, 5); \
4329 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4330 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4331
4332 #define EXTRACT_IFMT_MRDACC_VARS \
4333 UINT f_pack; \
4334 UINT f_FRk; \
4335 UINT f_op; \
4336 UINT f_ACC40Si; \
4337 UINT f_ope1; \
4338 UINT f_FRj_null; \
4339 unsigned int length;
4340 #define EXTRACT_IFMT_MRDACC_CODE \
4341 length = 4; \
4342 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4343 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4344 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4345 f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4346 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4347 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4348
4349 #define EXTRACT_IFMT_MRDACCG_VARS \
4350 UINT f_pack; \
4351 UINT f_FRk; \
4352 UINT f_op; \
4353 UINT f_ACCGi; \
4354 UINT f_ope1; \
4355 UINT f_FRj_null; \
4356 unsigned int length;
4357 #define EXTRACT_IFMT_MRDACCG_CODE \
4358 length = 4; \
4359 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4360 f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4361 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4362 f_ACCGi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4363 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4364 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4365
4366 #define EXTRACT_IFMT_MWTACC_VARS \
4367 UINT f_pack; \
4368 UINT f_ACC40Sk; \
4369 UINT f_op; \
4370 UINT f_FRi; \
4371 UINT f_ope1; \
4372 UINT f_FRj_null; \
4373 unsigned int length;
4374 #define EXTRACT_IFMT_MWTACC_CODE \
4375 length = 4; \
4376 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4377 f_ACC40Sk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4378 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4379 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4380 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4381 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4382
4383 #define EXTRACT_IFMT_MWTACCG_VARS \
4384 UINT f_pack; \
4385 UINT f_ACCGk; \
4386 UINT f_op; \
4387 UINT f_FRi; \
4388 UINT f_ope1; \
4389 UINT f_FRj_null; \
4390 unsigned int length;
4391 #define EXTRACT_IFMT_MWTACCG_CODE \
4392 length = 4; \
4393 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4394 f_ACCGk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4395 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4396 f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4397 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4398 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4399
4400 #define EXTRACT_IFMT_FNOP_VARS \
4401 UINT f_pack; \
4402 UINT f_rd_null; \
4403 UINT f_op; \
4404 UINT f_FRi_null; \
4405 UINT f_ope1; \
4406 UINT f_FRj_null; \
4407 unsigned int length;
4408 #define EXTRACT_IFMT_FNOP_CODE \
4409 length = 4; \
4410 f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
4411 f_rd_null = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
4412 f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
4413 f_FRi_null = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
4414 f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
4415 f_FRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
4416
4417 /* Collection of various things for the trace handler to use. */
4418
4419 typedef struct trace_record {
4420 IADDR pc;
4421 /* FIXME:wip */
4422 } TRACE_RECORD;
4423
4424 #endif /* CPU_FRVBF_H */