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