OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [sim/] [frv/] [cpu.h] - Blame information for rev 258

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.