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