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