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