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