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