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