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