1 // OBSOLETE /* CPU family header for fr30bf.
2 // OBSOLETE
3 // OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
4 // OBSOLETE
5 // OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
6 // OBSOLETE
7 // OBSOLETE This file is part of the GNU simulators.
8 // OBSOLETE
9 // OBSOLETE This program is free software; you can redistribute it and/or modify
10 // OBSOLETE it under the terms of the GNU General Public License as published by
11 // OBSOLETE the Free Software Foundation; either version 2, or (at your option)
12 // OBSOLETE any later version.
13 // OBSOLETE
14 // OBSOLETE This program is distributed in the hope that it will be useful,
15 // OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 // OBSOLETE GNU General Public License for more details.
18 // OBSOLETE
19 // OBSOLETE You should have received a copy of the GNU General Public License along
20 // OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
21 // OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 // OBSOLETE
23 // OBSOLETE */
24 // OBSOLETE
25 // OBSOLETE #ifndef CPU_FR30BF_H
26 // OBSOLETE #define CPU_FR30BF_H
27 // OBSOLETE
28 // OBSOLETE /* Maximum number of instructions that are fetched at a time.
29 // OBSOLETE    This is for LIW type instructions sets (e.g. m32r).  */
30 // OBSOLETE #define MAX_LIW_INSNS 1
31 // OBSOLETE
32 // OBSOLETE /* Maximum number of instructions that can be executed in parallel.  */
33 // OBSOLETE #define MAX_PARALLEL_INSNS 1
34 // OBSOLETE
35 // OBSOLETE /* CPU state information.  */
36 // OBSOLETE typedef struct {
37 // OBSOLETE   /* Hardware elements.  */
38 // OBSOLETE   struct {
39 // OBSOLETE   /* program counter */
40 // OBSOLETE   USI h_pc;
41 // OBSOLETE #define GET_H_PC() CPU (h_pc)
42 // OBSOLETE #define SET_H_PC(x) (CPU (h_pc) = (x))
43 // OBSOLETE   /* general registers */
44 // OBSOLETE   SI h_gr[16];
45 // OBSOLETE #define GET_H_GR(a1) CPU (h_gr)[a1]
46 // OBSOLETE #define SET_H_GR(a1, x) (CPU (h_gr)[a1] = (x))
47 // OBSOLETE   /* coprocessor registers */
48 // OBSOLETE   SI h_cr[16];
49 // OBSOLETE #define GET_H_CR(a1) CPU (h_cr)[a1]
50 // OBSOLETE #define SET_H_CR(a1, x) (CPU (h_cr)[a1] = (x))
51 // OBSOLETE   /* dedicated registers */
52 // OBSOLETE   SI h_dr[6];
53 // OBSOLETE #define GET_H_DR(index) fr30bf_h_dr_get_handler (current_cpu, index)
54 // OBSOLETE #define SET_H_DR(index, x) \
55 // OBSOLETE do { \
56 // OBSOLETE fr30bf_h_dr_set_handler (current_cpu, (index), (x));\
57 // OBSOLETE ;} while (0)
58 // OBSOLETE   /* processor status */
59 // OBSOLETE   USI h_ps;
60 // OBSOLETE #define GET_H_PS() fr30bf_h_ps_get_handler (current_cpu)
61 // OBSOLETE #define SET_H_PS(x) \
62 // OBSOLETE do { \
63 // OBSOLETE fr30bf_h_ps_set_handler (current_cpu, (x));\
64 // OBSOLETE ;} while (0)
65 // OBSOLETE   /* General Register 13 explicitly required */
66 // OBSOLETE   SI h_r13;
67 // OBSOLETE #define GET_H_R13() CPU (h_r13)
68 // OBSOLETE #define SET_H_R13(x) (CPU (h_r13) = (x))
69 // OBSOLETE   /* General Register 14 explicitly required */
70 // OBSOLETE   SI h_r14;
71 // OBSOLETE #define GET_H_R14() CPU (h_r14)
72 // OBSOLETE #define SET_H_R14(x) (CPU (h_r14) = (x))
73 // OBSOLETE   /* General Register 15 explicitly required */
74 // OBSOLETE   SI h_r15;
75 // OBSOLETE #define GET_H_R15() CPU (h_r15)
76 // OBSOLETE #define SET_H_R15(x) (CPU (h_r15) = (x))
77 // OBSOLETE   /* negative         bit */
78 // OBSOLETE   BI h_nbit;
79 // OBSOLETE #define GET_H_NBIT() CPU (h_nbit)
80 // OBSOLETE #define SET_H_NBIT(x) (CPU (h_nbit) = (x))
81 // OBSOLETE   /* zero             bit */
82 // OBSOLETE   BI h_zbit;
83 // OBSOLETE #define GET_H_ZBIT() CPU (h_zbit)
84 // OBSOLETE #define SET_H_ZBIT(x) (CPU (h_zbit) = (x))
85 // OBSOLETE   /* overflow         bit */
86 // OBSOLETE   BI h_vbit;
87 // OBSOLETE #define GET_H_VBIT() CPU (h_vbit)
88 // OBSOLETE #define SET_H_VBIT(x) (CPU (h_vbit) = (x))
89 // OBSOLETE   /* carry            bit */
90 // OBSOLETE   BI h_cbit;
91 // OBSOLETE #define GET_H_CBIT() CPU (h_cbit)
92 // OBSOLETE #define SET_H_CBIT(x) (CPU (h_cbit) = (x))
93 // OBSOLETE   /* interrupt enable bit */
94 // OBSOLETE   BI h_ibit;
95 // OBSOLETE #define GET_H_IBIT() CPU (h_ibit)
96 // OBSOLETE #define SET_H_IBIT(x) (CPU (h_ibit) = (x))
97 // OBSOLETE   /* stack bit */
98 // OBSOLETE   BI h_sbit;
99 // OBSOLETE #define GET_H_SBIT() fr30bf_h_sbit_get_handler (current_cpu)
100 // OBSOLETE #define SET_H_SBIT(x) \
101 // OBSOLETE do { \
102 // OBSOLETE fr30bf_h_sbit_set_handler (current_cpu, (x));\
103 // OBSOLETE ;} while (0)
104 // OBSOLETE   /* trace trap       bit */
105 // OBSOLETE   BI h_tbit;
106 // OBSOLETE #define GET_H_TBIT() CPU (h_tbit)
107 // OBSOLETE #define SET_H_TBIT(x) (CPU (h_tbit) = (x))
108 // OBSOLETE   /* division 0       bit */
109 // OBSOLETE   BI h_d0bit;
110 // OBSOLETE #define GET_H_D0BIT() CPU (h_d0bit)
111 // OBSOLETE #define SET_H_D0BIT(x) (CPU (h_d0bit) = (x))
112 // OBSOLETE   /* division 1       bit */
113 // OBSOLETE   BI h_d1bit;
114 // OBSOLETE #define GET_H_D1BIT() CPU (h_d1bit)
115 // OBSOLETE #define SET_H_D1BIT(x) (CPU (h_d1bit) = (x))
116 // OBSOLETE   /* condition code bits */
117 // OBSOLETE   UQI h_ccr;
118 // OBSOLETE #define GET_H_CCR() fr30bf_h_ccr_get_handler (current_cpu)
119 // OBSOLETE #define SET_H_CCR(x) \
120 // OBSOLETE do { \
121 // OBSOLETE fr30bf_h_ccr_set_handler (current_cpu, (x));\
122 // OBSOLETE ;} while (0)
123 // OBSOLETE   /* system condition bits */
124 // OBSOLETE   UQI h_scr;
125 // OBSOLETE #define GET_H_SCR() fr30bf_h_scr_get_handler (current_cpu)
126 // OBSOLETE #define SET_H_SCR(x) \
127 // OBSOLETE do { \
128 // OBSOLETE fr30bf_h_scr_set_handler (current_cpu, (x));\
129 // OBSOLETE ;} while (0)
130 // OBSOLETE   /* interrupt level mask */
131 // OBSOLETE   UQI h_ilm;
132 // OBSOLETE #define GET_H_ILM() fr30bf_h_ilm_get_handler (current_cpu)
133 // OBSOLETE #define SET_H_ILM(x) \
134 // OBSOLETE do { \
135 // OBSOLETE fr30bf_h_ilm_set_handler (current_cpu, (x));\
136 // OBSOLETE ;} while (0)
137 // OBSOLETE   } hardware;
138 // OBSOLETE #define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware)
139 // OBSOLETE } FR30BF_CPU_DATA;
140 // OBSOLETE
141 // OBSOLETE /* Cover fns for register access.  */
142 // OBSOLETE USI fr30bf_h_pc_get (SIM_CPU *);
143 // OBSOLETE void fr30bf_h_pc_set (SIM_CPU *, USI);
144 // OBSOLETE SI fr30bf_h_gr_get (SIM_CPU *, UINT);
145 // OBSOLETE void fr30bf_h_gr_set (SIM_CPU *, UINT, SI);
146 // OBSOLETE SI fr30bf_h_cr_get (SIM_CPU *, UINT);
147 // OBSOLETE void fr30bf_h_cr_set (SIM_CPU *, UINT, SI);
148 // OBSOLETE SI fr30bf_h_dr_get (SIM_CPU *, UINT);
149 // OBSOLETE void fr30bf_h_dr_set (SIM_CPU *, UINT, SI);
150 // OBSOLETE USI fr30bf_h_ps_get (SIM_CPU *);
151 // OBSOLETE void fr30bf_h_ps_set (SIM_CPU *, USI);
152 // OBSOLETE SI fr30bf_h_r13_get (SIM_CPU *);
153 // OBSOLETE void fr30bf_h_r13_set (SIM_CPU *, SI);
154 // OBSOLETE SI fr30bf_h_r14_get (SIM_CPU *);
155 // OBSOLETE void fr30bf_h_r14_set (SIM_CPU *, SI);
156 // OBSOLETE SI fr30bf_h_r15_get (SIM_CPU *);
157 // OBSOLETE void fr30bf_h_r15_set (SIM_CPU *, SI);
158 // OBSOLETE BI fr30bf_h_nbit_get (SIM_CPU *);
159 // OBSOLETE void fr30bf_h_nbit_set (SIM_CPU *, BI);
160 // OBSOLETE BI fr30bf_h_zbit_get (SIM_CPU *);
161 // OBSOLETE void fr30bf_h_zbit_set (SIM_CPU *, BI);
162 // OBSOLETE BI fr30bf_h_vbit_get (SIM_CPU *);
163 // OBSOLETE void fr30bf_h_vbit_set (SIM_CPU *, BI);
164 // OBSOLETE BI fr30bf_h_cbit_get (SIM_CPU *);
165 // OBSOLETE void fr30bf_h_cbit_set (SIM_CPU *, BI);
166 // OBSOLETE BI fr30bf_h_ibit_get (SIM_CPU *);
167 // OBSOLETE void fr30bf_h_ibit_set (SIM_CPU *, BI);
168 // OBSOLETE BI fr30bf_h_sbit_get (SIM_CPU *);
169 // OBSOLETE void fr30bf_h_sbit_set (SIM_CPU *, BI);
170 // OBSOLETE BI fr30bf_h_tbit_get (SIM_CPU *);
171 // OBSOLETE void fr30bf_h_tbit_set (SIM_CPU *, BI);
172 // OBSOLETE BI fr30bf_h_d0bit_get (SIM_CPU *);
173 // OBSOLETE void fr30bf_h_d0bit_set (SIM_CPU *, BI);
174 // OBSOLETE BI fr30bf_h_d1bit_get (SIM_CPU *);
175 // OBSOLETE void fr30bf_h_d1bit_set (SIM_CPU *, BI);
176 // OBSOLETE UQI fr30bf_h_ccr_get (SIM_CPU *);
177 // OBSOLETE void fr30bf_h_ccr_set (SIM_CPU *, UQI);
178 // OBSOLETE UQI fr30bf_h_scr_get (SIM_CPU *);
179 // OBSOLETE void fr30bf_h_scr_set (SIM_CPU *, UQI);
180 // OBSOLETE UQI fr30bf_h_ilm_get (SIM_CPU *);
181 // OBSOLETE void fr30bf_h_ilm_set (SIM_CPU *, UQI);
182 // OBSOLETE
183 // OBSOLETE /* These must be hand-written.  */
184 // OBSOLETE extern CPUREG_FETCH_FN fr30bf_fetch_register;
185 // OBSOLETE extern CPUREG_STORE_FN fr30bf_store_register;
186 // OBSOLETE
187 // OBSOLETE typedef struct {
188 // OBSOLETE   UINT load_regs;
189 // OBSOLETE   UINT load_regs_pending;
190 // OBSOLETE } MODEL_FR30_1_DATA;
191 // OBSOLETE
192 // OBSOLETE /* Instruction argument buffer.  */
193 // OBSOLETE
194 // OBSOLETE union sem_fields {
195 // OBSOLETE   struct { /* no operands */
196 // OBSOLETE     int empty;
197 // OBSOLETE   } fmt_empty;
198 // OBSOLETE   struct { /*  */
199 // OBSOLETE     IADDR i_label9;
200 // OBSOLETE   } sfmt_brad;
201 // OBSOLETE   struct { /*  */
202 // OBSOLETE     UINT f_u8;
203 // OBSOLETE   } sfmt_int;
204 // OBSOLETE   struct { /*  */
205 // OBSOLETE     IADDR i_label12;
206 // OBSOLETE   } sfmt_call;
207 // OBSOLETE   struct { /*  */
208 // OBSOLETE     SI f_s10;
209 // OBSOLETE     unsigned char in_h_gr_SI_15;
210 // OBSOLETE     unsigned char out_h_gr_SI_15;
211 // OBSOLETE   } sfmt_addsp;
212 // OBSOLETE   struct { /*  */
213 // OBSOLETE     USI f_dir10;
214 // OBSOLETE     unsigned char in_h_gr_SI_15;
215 // OBSOLETE     unsigned char out_h_gr_SI_15;
216 // OBSOLETE   } sfmt_dmovr15pi;
217 // OBSOLETE   struct { /*  */
218 // OBSOLETE     UINT f_dir8;
219 // OBSOLETE     unsigned char in_h_gr_SI_13;
220 // OBSOLETE     unsigned char out_h_gr_SI_13;
221 // OBSOLETE   } sfmt_dmovr13pib;
222 // OBSOLETE   struct { /*  */
223 // OBSOLETE     USI f_dir9;
224 // OBSOLETE     unsigned char in_h_gr_SI_13;
225 // OBSOLETE     unsigned char out_h_gr_SI_13;
226 // OBSOLETE   } sfmt_dmovr13pih;
227 // OBSOLETE   struct { /*  */
228 // OBSOLETE     USI f_dir10;
229 // OBSOLETE     unsigned char in_h_gr_SI_13;
230 // OBSOLETE     unsigned char out_h_gr_SI_13;
231 // OBSOLETE   } sfmt_dmovr13pi;
232 // OBSOLETE   struct { /*  */
233 // OBSOLETE     UINT f_Rs2;
234 // OBSOLETE     unsigned char in_h_gr_SI_15;
235 // OBSOLETE     unsigned char out_h_gr_SI_15;
236 // OBSOLETE   } sfmt_ldr15dr;
237 // OBSOLETE   struct { /*  */
238 // OBSOLETE     SI* i_Ri;
239 // OBSOLETE     UINT f_Ri;
240 // OBSOLETE     UINT f_Rs1;
241 // OBSOLETE     unsigned char in_Ri;
242 // OBSOLETE   } sfmt_mov2dr;
243 // OBSOLETE   struct { /*  */
244 // OBSOLETE     SI* i_Ri;
245 // OBSOLETE     UINT f_Ri;
246 // OBSOLETE     UINT f_Rs1;
247 // OBSOLETE     unsigned char out_Ri;
248 // OBSOLETE   } sfmt_movdr;
249 // OBSOLETE   struct { /*  */
250 // OBSOLETE     SI* i_Ri;
251 // OBSOLETE     UINT f_Ri;
252 // OBSOLETE     UINT f_i32;
253 // OBSOLETE     unsigned char out_Ri;
254 // OBSOLETE   } sfmt_ldi32;
255 // OBSOLETE   struct { /*  */
256 // OBSOLETE     SI* i_Ri;
257 // OBSOLETE     UINT f_Ri;
258 // OBSOLETE     UINT f_i20;
259 // OBSOLETE     unsigned char out_Ri;
260 // OBSOLETE   } sfmt_ldi20;
261 // OBSOLETE   struct { /*  */
262 // OBSOLETE     SI* i_Ri;
263 // OBSOLETE     UINT f_Ri;
264 // OBSOLETE     UINT f_i8;
265 // OBSOLETE     unsigned char out_Ri;
266 // OBSOLETE   } sfmt_ldi8;
267 // OBSOLETE   struct { /*  */
268 // OBSOLETE     USI f_u10;
269 // OBSOLETE     unsigned char in_h_gr_SI_14;
270 // OBSOLETE     unsigned char in_h_gr_SI_15;
271 // OBSOLETE     unsigned char out_h_gr_SI_14;
272 // OBSOLETE     unsigned char out_h_gr_SI_15;
273 // OBSOLETE   } sfmt_enter;
274 // OBSOLETE   struct { /*  */
275 // OBSOLETE     SI* i_Ri;
276 // OBSOLETE     UINT f_Ri;
277 // OBSOLETE     unsigned char in_Ri;
278 // OBSOLETE     unsigned char in_h_gr_SI_15;
279 // OBSOLETE     unsigned char out_h_gr_SI_15;
280 // OBSOLETE   } sfmt_str15gr;
281 // OBSOLETE   struct { /*  */
282 // OBSOLETE     SI* i_Ri;
283 // OBSOLETE     UINT f_Ri;
284 // OBSOLETE     USI f_udisp6;
285 // OBSOLETE     unsigned char in_Ri;
286 // OBSOLETE     unsigned char in_h_gr_SI_15;
287 // OBSOLETE   } sfmt_str15;
288 // OBSOLETE   struct { /*  */
289 // OBSOLETE     SI* i_Ri;
290 // OBSOLETE     INT f_disp8;
291 // OBSOLETE     UINT f_Ri;
292 // OBSOLETE     unsigned char in_Ri;
293 // OBSOLETE     unsigned char in_h_gr_SI_14;
294 // OBSOLETE   } sfmt_str14b;
295 // OBSOLETE   struct { /*  */
296 // OBSOLETE     SI* i_Ri;
297 // OBSOLETE     SI f_disp9;
298 // OBSOLETE     UINT f_Ri;
299 // OBSOLETE     unsigned char in_Ri;
300 // OBSOLETE     unsigned char in_h_gr_SI_14;
301 // OBSOLETE   } sfmt_str14h;
302 // OBSOLETE   struct { /*  */
303 // OBSOLETE     SI* i_Ri;
304 // OBSOLETE     SI f_disp10;
305 // OBSOLETE     UINT f_Ri;
306 // OBSOLETE     unsigned char in_Ri;
307 // OBSOLETE     unsigned char in_h_gr_SI_14;
308 // OBSOLETE   } sfmt_str14;
309 // OBSOLETE   struct { /*  */
310 // OBSOLETE     SI* i_Ri;
311 // OBSOLETE     UINT f_Ri;
312 // OBSOLETE     unsigned char in_h_gr_SI_15;
313 // OBSOLETE     unsigned char out_Ri;
314 // OBSOLETE     unsigned char out_h_gr_SI_15;
315 // OBSOLETE   } sfmt_ldr15gr;
316 // OBSOLETE   struct { /*  */
317 // OBSOLETE     SI* i_Ri;
318 // OBSOLETE     UINT f_Ri;
319 // OBSOLETE     USI f_udisp6;
320 // OBSOLETE     unsigned char in_h_gr_SI_15;
321 // OBSOLETE     unsigned char out_Ri;
322 // OBSOLETE   } sfmt_ldr15;
323 // OBSOLETE   struct { /*  */
324 // OBSOLETE     SI* i_Ri;
325 // OBSOLETE     INT f_disp8;
326 // OBSOLETE     UINT f_Ri;
327 // OBSOLETE     unsigned char in_h_gr_SI_14;
328 // OBSOLETE     unsigned char out_Ri;
329 // OBSOLETE   } sfmt_ldr14ub;
330 // OBSOLETE   struct { /*  */
331 // OBSOLETE     SI* i_Ri;
332 // OBSOLETE     SI f_disp9;
333 // OBSOLETE     UINT f_Ri;
334 // OBSOLETE     unsigned char in_h_gr_SI_14;
335 // OBSOLETE     unsigned char out_Ri;
336 // OBSOLETE   } sfmt_ldr14uh;
337 // OBSOLETE   struct { /*  */
338 // OBSOLETE     SI* i_Ri;
339 // OBSOLETE     SI f_disp10;
340 // OBSOLETE     UINT f_Ri;
341 // OBSOLETE     unsigned char in_h_gr_SI_14;
342 // OBSOLETE     unsigned char out_Ri;
343 // OBSOLETE   } sfmt_ldr14;
344 // OBSOLETE   struct { /*  */
345 // OBSOLETE     SI* i_Ri;
346 // OBSOLETE     SI f_m4;
347 // OBSOLETE     UINT f_Ri;
348 // OBSOLETE     unsigned char in_Ri;
349 // OBSOLETE     unsigned char out_Ri;
350 // OBSOLETE   } sfmt_add2;
351 // OBSOLETE   struct { /*  */
352 // OBSOLETE     SI* i_Ri;
353 // OBSOLETE     UINT f_Ri;
354 // OBSOLETE     UINT f_u4;
355 // OBSOLETE     unsigned char in_Ri;
356 // OBSOLETE     unsigned char out_Ri;
357 // OBSOLETE   } sfmt_addi;
358 // OBSOLETE   struct { /*  */
359 // OBSOLETE     SI* i_Ri;
360 // OBSOLETE     SI* i_Rj;
361 // OBSOLETE     UINT f_Ri;
362 // OBSOLETE     UINT f_Rj;
363 // OBSOLETE     unsigned char in_Ri;
364 // OBSOLETE     unsigned char in_Rj;
365 // OBSOLETE     unsigned char in_h_gr_SI_13;
366 // OBSOLETE   } sfmt_str13;
367 // OBSOLETE   struct { /*  */
368 // OBSOLETE     SI* i_Ri;
369 // OBSOLETE     SI* i_Rj;
370 // OBSOLETE     UINT f_Ri;
371 // OBSOLETE     UINT f_Rj;
372 // OBSOLETE     unsigned char in_Rj;
373 // OBSOLETE     unsigned char in_h_gr_SI_13;
374 // OBSOLETE     unsigned char out_Ri;
375 // OBSOLETE   } sfmt_ldr13;
376 // OBSOLETE   struct { /*  */
377 // OBSOLETE     SI* i_Ri;
378 // OBSOLETE     SI* i_Rj;
379 // OBSOLETE     UINT f_Ri;
380 // OBSOLETE     UINT f_Rj;
381 // OBSOLETE     unsigned char in_Ri;
382 // OBSOLETE     unsigned char in_Rj;
383 // OBSOLETE     unsigned char out_Ri;
384 // OBSOLETE   } sfmt_add;
385 // OBSOLETE   struct { /*  */
386 // OBSOLETE     UINT f_reglist_hi_st;
387 // OBSOLETE     unsigned char in_h_gr_SI_10;
388 // OBSOLETE     unsigned char in_h_gr_SI_11;
389 // OBSOLETE     unsigned char in_h_gr_SI_12;
390 // OBSOLETE     unsigned char in_h_gr_SI_13;
391 // OBSOLETE     unsigned char in_h_gr_SI_14;
392 // OBSOLETE     unsigned char in_h_gr_SI_15;
393 // OBSOLETE     unsigned char in_h_gr_SI_8;
394 // OBSOLETE     unsigned char in_h_gr_SI_9;
395 // OBSOLETE     unsigned char out_h_gr_SI_15;
396 // OBSOLETE   } sfmt_stm1;
397 // OBSOLETE   struct { /*  */
398 // OBSOLETE     UINT f_reglist_hi_ld;
399 // OBSOLETE     unsigned char in_h_gr_SI_15;
400 // OBSOLETE     unsigned char out_h_gr_SI_10;
401 // OBSOLETE     unsigned char out_h_gr_SI_11;
402 // OBSOLETE     unsigned char out_h_gr_SI_12;
403 // OBSOLETE     unsigned char out_h_gr_SI_13;
404 // OBSOLETE     unsigned char out_h_gr_SI_14;
405 // OBSOLETE     unsigned char out_h_gr_SI_15;
406 // OBSOLETE     unsigned char out_h_gr_SI_8;
407 // OBSOLETE     unsigned char out_h_gr_SI_9;
408 // OBSOLETE   } sfmt_ldm1;
409 // OBSOLETE   struct { /*  */
410 // OBSOLETE     UINT f_reglist_low_st;
411 // OBSOLETE     unsigned char in_h_gr_SI_0;
412 // OBSOLETE     unsigned char in_h_gr_SI_1;
413 // OBSOLETE     unsigned char in_h_gr_SI_15;
414 // OBSOLETE     unsigned char in_h_gr_SI_2;
415 // OBSOLETE     unsigned char in_h_gr_SI_3;
416 // OBSOLETE     unsigned char in_h_gr_SI_4;
417 // OBSOLETE     unsigned char in_h_gr_SI_5;
418 // OBSOLETE     unsigned char in_h_gr_SI_6;
419 // OBSOLETE     unsigned char in_h_gr_SI_7;
420 // OBSOLETE     unsigned char out_h_gr_SI_15;
421 // OBSOLETE   } sfmt_stm0;
422 // OBSOLETE   struct { /*  */
423 // OBSOLETE     UINT f_reglist_low_ld;
424 // OBSOLETE     unsigned char in_h_gr_SI_15;
425 // OBSOLETE     unsigned char out_h_gr_SI_0;
426 // OBSOLETE     unsigned char out_h_gr_SI_1;
427 // OBSOLETE     unsigned char out_h_gr_SI_15;
428 // OBSOLETE     unsigned char out_h_gr_SI_2;
429 // OBSOLETE     unsigned char out_h_gr_SI_3;
430 // OBSOLETE     unsigned char out_h_gr_SI_4;
431 // OBSOLETE     unsigned char out_h_gr_SI_5;
432 // OBSOLETE     unsigned char out_h_gr_SI_6;
433 // OBSOLETE     unsigned char out_h_gr_SI_7;
434 // OBSOLETE   } sfmt_ldm0;
435 // OBSOLETE #if WITH_SCACHE_PBB
436 // OBSOLETE   /* Writeback handler.  */
437 // OBSOLETE   struct {
438 // OBSOLETE     /* Pointer to argbuf entry for insn whose results need writing back.  */
439 // OBSOLETE     const struct argbuf *abuf;
440 // OBSOLETE   } write;
441 // OBSOLETE   /* x-before handler */
442 // OBSOLETE   struct {
443 // OBSOLETE     /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
444 // OBSOLETE     int first_p;
445 // OBSOLETE   } before;
446 // OBSOLETE   /* x-after handler */
447 // OBSOLETE   struct {
448 // OBSOLETE     int empty;
449 // OBSOLETE   } after;
450 // OBSOLETE   /* This entry is used to terminate each pbb.  */
451 // OBSOLETE   struct {
452 // OBSOLETE     /* Number of insns in pbb.  */
453 // OBSOLETE     int insn_count;
454 // OBSOLETE     /* Next pbb to execute.  */
455 // OBSOLETE     SCACHE *next;
456 // OBSOLETE     SCACHE *branch_target;
457 // OBSOLETE   } chain;
458 // OBSOLETE #endif
459 // OBSOLETE };
460 // OBSOLETE
461 // OBSOLETE /* The ARGBUF struct.  */
462 // OBSOLETE struct argbuf {
463 // OBSOLETE   /* These are the baseclass definitions.  */
464 // OBSOLETE   IADDR addr;
465 // OBSOLETE   const IDESC *idesc;
466 // OBSOLETE   char trace_p;
467 // OBSOLETE   char profile_p;
468 // OBSOLETE   /* ??? Temporary hack for skip insns.  */
469 // OBSOLETE   char skip_count;
470 // OBSOLETE   char unused;
471 // OBSOLETE   /* cpu specific data follows */
472 // OBSOLETE   union sem semantic;
473 // OBSOLETE   int written;
474 // OBSOLETE   union sem_fields fields;
475 // OBSOLETE };
476 // OBSOLETE
477 // OBSOLETE /* A cached insn.
478 // OBSOLETE
479 // OBSOLETE    ??? SCACHE used to contain more than just argbuf.  We could delete the
480 // OBSOLETE    type entirely and always just use ARGBUF, but for future concerns and as
481 // OBSOLETE    a level of abstraction it is left in.  */
482 // OBSOLETE
483 // OBSOLETE struct scache {
484 // OBSOLETE   struct argbuf argbuf;
485 // OBSOLETE };
486 // OBSOLETE
487 // OBSOLETE /* Macros to simplify extraction, reading and semantic code.
488 // OBSOLETE    These define and assign the local vars that contain the insn's fields.  */
489 // OBSOLETE
490 // OBSOLETE #define EXTRACT_IFMT_EMPTY_VARS \
491 // OBSOLETE   unsigned int length;
492 // OBSOLETE #define EXTRACT_IFMT_EMPTY_CODE \
493 // OBSOLETE   length = 0; \
494 // OBSOLETE
495 // OBSOLETE #define EXTRACT_IFMT_ADD_VARS \
496 // OBSOLETE   UINT f_op1; \
497 // OBSOLETE   UINT f_op2; \
498 // OBSOLETE   UINT f_Rj; \
499 // OBSOLETE   UINT f_Ri; \
500 // OBSOLETE   unsigned int length;
501 // OBSOLETE #define EXTRACT_IFMT_ADD_CODE \
502 // OBSOLETE   length = 2; \
503 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
504 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
505 // OBSOLETE   f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
506 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
507 // OBSOLETE
508 // OBSOLETE #define EXTRACT_IFMT_ADDI_VARS \
509 // OBSOLETE   UINT f_op1; \
510 // OBSOLETE   UINT f_op2; \
511 // OBSOLETE   UINT f_u4; \
512 // OBSOLETE   UINT f_Ri; \
513 // OBSOLETE   unsigned int length;
514 // OBSOLETE #define EXTRACT_IFMT_ADDI_CODE \
515 // OBSOLETE   length = 2; \
516 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
517 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
518 // OBSOLETE   f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
519 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
520 // OBSOLETE
521 // OBSOLETE #define EXTRACT_IFMT_ADD2_VARS \
522 // OBSOLETE   UINT f_op1; \
523 // OBSOLETE   UINT f_op2; \
524 // OBSOLETE   SI f_m4; \
525 // OBSOLETE   UINT f_Ri; \
526 // OBSOLETE   unsigned int length;
527 // OBSOLETE #define EXTRACT_IFMT_ADD2_CODE \
528 // OBSOLETE   length = 2; \
529 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
530 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
531 // OBSOLETE   f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); \
532 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
533 // OBSOLETE
534 // OBSOLETE #define EXTRACT_IFMT_DIV0S_VARS \
535 // OBSOLETE   UINT f_op1; \
536 // OBSOLETE   UINT f_op2; \
537 // OBSOLETE   UINT f_op3; \
538 // OBSOLETE   UINT f_Ri; \
539 // OBSOLETE   unsigned int length;
540 // OBSOLETE #define EXTRACT_IFMT_DIV0S_CODE \
541 // OBSOLETE   length = 2; \
542 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
543 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
544 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
545 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
546 // OBSOLETE
547 // OBSOLETE #define EXTRACT_IFMT_DIV3_VARS \
548 // OBSOLETE   UINT f_op1; \
549 // OBSOLETE   UINT f_op2; \
550 // OBSOLETE   UINT f_op3; \
551 // OBSOLETE   UINT f_op4; \
552 // OBSOLETE   unsigned int length;
553 // OBSOLETE #define EXTRACT_IFMT_DIV3_CODE \
554 // OBSOLETE   length = 2; \
555 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
556 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
557 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
558 // OBSOLETE   f_op4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
559 // OBSOLETE
560 // OBSOLETE #define EXTRACT_IFMT_LDI8_VARS \
561 // OBSOLETE   UINT f_op1; \
562 // OBSOLETE   UINT f_i8; \
563 // OBSOLETE   UINT f_Ri; \
564 // OBSOLETE   unsigned int length;
565 // OBSOLETE #define EXTRACT_IFMT_LDI8_CODE \
566 // OBSOLETE   length = 2; \
567 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
568 // OBSOLETE   f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); \
569 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
570 // OBSOLETE
571 // OBSOLETE #define EXTRACT_IFMT_LDI20_VARS \
572 // OBSOLETE   UINT f_op1; \
573 // OBSOLETE   UINT f_i20_4; \
574 // OBSOLETE   UINT f_i20_16; \
575 // OBSOLETE   UINT f_i20; \
576 // OBSOLETE   UINT f_op2; \
577 // OBSOLETE   UINT f_Ri; \
578 // OBSOLETE   /* Contents of trailing part of insn.  */ \
579 // OBSOLETE   UINT word_1; \
580 // OBSOLETE   unsigned int length;
581 // OBSOLETE #define EXTRACT_IFMT_LDI20_CODE \
582 // OBSOLETE   length = 4; \
583 // OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
584 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
585 // OBSOLETE   f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
586 // OBSOLETE   f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); \
587 // OBSOLETE {\
588 // OBSOLETE   f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));\
589 // OBSOLETE }\
590 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
591 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
592 // OBSOLETE
593 // OBSOLETE #define EXTRACT_IFMT_LDI32_VARS \
594 // OBSOLETE   UINT f_op1; \
595 // OBSOLETE   UINT f_i32; \
596 // OBSOLETE   UINT f_op2; \
597 // OBSOLETE   UINT f_op3; \
598 // OBSOLETE   UINT f_Ri; \
599 // OBSOLETE   /* Contents of trailing part of insn.  */ \
600 // OBSOLETE   UINT word_1; \
601 // OBSOLETE   UINT word_2; \
602 // OBSOLETE   unsigned int length;
603 // OBSOLETE #define EXTRACT_IFMT_LDI32_CODE \
604 // OBSOLETE   length = 6; \
605 // OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
606 // OBSOLETE   word_2 = GETIMEMUHI (current_cpu, pc + 4); \
607 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
608 // OBSOLETE   f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); \
609 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
610 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
611 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
612 // OBSOLETE
613 // OBSOLETE #define EXTRACT_IFMT_LDR14_VARS \
614 // OBSOLETE   UINT f_op1; \
615 // OBSOLETE   SI f_disp10; \
616 // OBSOLETE   UINT f_Ri; \
617 // OBSOLETE   unsigned int length;
618 // OBSOLETE #define EXTRACT_IFMT_LDR14_CODE \
619 // OBSOLETE   length = 2; \
620 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
621 // OBSOLETE   f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); \
622 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
623 // OBSOLETE
624 // OBSOLETE #define EXTRACT_IFMT_LDR14UH_VARS \
625 // OBSOLETE   UINT f_op1; \
626 // OBSOLETE   SI f_disp9; \
627 // OBSOLETE   UINT f_Ri; \
628 // OBSOLETE   unsigned int length;
629 // OBSOLETE #define EXTRACT_IFMT_LDR14UH_CODE \
630 // OBSOLETE   length = 2; \
631 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
632 // OBSOLETE   f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); \
633 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
634 // OBSOLETE
635 // OBSOLETE #define EXTRACT_IFMT_LDR14UB_VARS \
636 // OBSOLETE   UINT f_op1; \
637 // OBSOLETE   INT f_disp8; \
638 // OBSOLETE   UINT f_Ri; \
639 // OBSOLETE   unsigned int length;
640 // OBSOLETE #define EXTRACT_IFMT_LDR14UB_CODE \
641 // OBSOLETE   length = 2; \
642 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
643 // OBSOLETE   f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); \
644 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
645 // OBSOLETE
646 // OBSOLETE #define EXTRACT_IFMT_LDR15_VARS \
647 // OBSOLETE   UINT f_op1; \
648 // OBSOLETE   UINT f_op2; \
649 // OBSOLETE   USI f_udisp6; \
650 // OBSOLETE   UINT f_Ri; \
651 // OBSOLETE   unsigned int length;
652 // OBSOLETE #define EXTRACT_IFMT_LDR15_CODE \
653 // OBSOLETE   length = 2; \
654 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
655 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
656 // OBSOLETE   f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); \
657 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
658 // OBSOLETE
659 // OBSOLETE #define EXTRACT_IFMT_LDR15DR_VARS \
660 // OBSOLETE   UINT f_op1; \
661 // OBSOLETE   UINT f_op2; \
662 // OBSOLETE   UINT f_op3; \
663 // OBSOLETE   UINT f_Rs2; \
664 // OBSOLETE   unsigned int length;
665 // OBSOLETE #define EXTRACT_IFMT_LDR15DR_CODE \
666 // OBSOLETE   length = 2; \
667 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
668 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
669 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
670 // OBSOLETE   f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
671 // OBSOLETE
672 // OBSOLETE #define EXTRACT_IFMT_MOVDR_VARS \
673 // OBSOLETE   UINT f_op1; \
674 // OBSOLETE   UINT f_op2; \
675 // OBSOLETE   UINT f_Rs1; \
676 // OBSOLETE   UINT f_Ri; \
677 // OBSOLETE   unsigned int length;
678 // OBSOLETE #define EXTRACT_IFMT_MOVDR_CODE \
679 // OBSOLETE   length = 2; \
680 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
681 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
682 // OBSOLETE   f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
683 // OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
684 // OBSOLETE
685 // OBSOLETE #define EXTRACT_IFMT_CALL_VARS \
686 // OBSOLETE   UINT f_op1; \
687 // OBSOLETE   UINT f_op5; \
688 // OBSOLETE   SI f_rel12; \
689 // OBSOLETE   unsigned int length;
690 // OBSOLETE #define EXTRACT_IFMT_CALL_CODE \
691 // OBSOLETE   length = 2; \
692 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
693 // OBSOLETE   f_op5 = EXTRACT_MSB0_UINT (insn, 16, 4, 1); \
694 // OBSOLETE   f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); \
695 // OBSOLETE
696 // OBSOLETE #define EXTRACT_IFMT_INT_VARS \
697 // OBSOLETE   UINT f_op1; \
698 // OBSOLETE   UINT f_op2; \
699 // OBSOLETE   UINT f_u8; \
700 // OBSOLETE   unsigned int length;
701 // OBSOLETE #define EXTRACT_IFMT_INT_CODE \
702 // OBSOLETE   length = 2; \
703 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
704 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
705 // OBSOLETE   f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
706 // OBSOLETE
707 // OBSOLETE #define EXTRACT_IFMT_BRAD_VARS \
708 // OBSOLETE   UINT f_op1; \
709 // OBSOLETE   UINT f_cc; \
710 // OBSOLETE   SI f_rel9; \
711 // OBSOLETE   unsigned int length;
712 // OBSOLETE #define EXTRACT_IFMT_BRAD_CODE \
713 // OBSOLETE   length = 2; \
714 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
715 // OBSOLETE   f_cc = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
716 // OBSOLETE   f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); \
717 // OBSOLETE
718 // OBSOLETE #define EXTRACT_IFMT_DMOVR13_VARS \
719 // OBSOLETE   UINT f_op1; \
720 // OBSOLETE   UINT f_op2; \
721 // OBSOLETE   USI f_dir10; \
722 // OBSOLETE   unsigned int length;
723 // OBSOLETE #define EXTRACT_IFMT_DMOVR13_CODE \
724 // OBSOLETE   length = 2; \
725 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
726 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
727 // OBSOLETE   f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
728 // OBSOLETE
729 // OBSOLETE #define EXTRACT_IFMT_DMOVR13H_VARS \
730 // OBSOLETE   UINT f_op1; \
731 // OBSOLETE   UINT f_op2; \
732 // OBSOLETE   USI f_dir9; \
733 // OBSOLETE   unsigned int length;
734 // OBSOLETE #define EXTRACT_IFMT_DMOVR13H_CODE \
735 // OBSOLETE   length = 2; \
736 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
737 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
738 // OBSOLETE   f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
739 // OBSOLETE
740 // OBSOLETE #define EXTRACT_IFMT_DMOVR13B_VARS \
741 // OBSOLETE   UINT f_op1; \
742 // OBSOLETE   UINT f_op2; \
743 // OBSOLETE   UINT f_dir8; \
744 // OBSOLETE   unsigned int length;
745 // OBSOLETE #define EXTRACT_IFMT_DMOVR13B_CODE \
746 // OBSOLETE   length = 2; \
747 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
748 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
749 // OBSOLETE   f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
750 // OBSOLETE
751 // OBSOLETE #define EXTRACT_IFMT_COPOP_VARS \
752 // OBSOLETE   UINT f_op1; \
753 // OBSOLETE   UINT f_ccc; \
754 // OBSOLETE   UINT f_op2; \
755 // OBSOLETE   UINT f_op3; \
756 // OBSOLETE   UINT f_CRj; \
757 // OBSOLETE   UINT f_u4c; \
758 // OBSOLETE   UINT f_CRi; \
759 // OBSOLETE   /* Contents of trailing part of insn.  */ \
760 // OBSOLETE   UINT word_1; \
761 // OBSOLETE   unsigned int length;
762 // OBSOLETE #define EXTRACT_IFMT_COPOP_CODE \
763 // OBSOLETE   length = 4; \
764 // OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
765 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
766 // OBSOLETE   f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
767 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
768 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
769 // OBSOLETE   f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
770 // OBSOLETE   f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
771 // OBSOLETE   f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
772 // OBSOLETE
773 // OBSOLETE #define EXTRACT_IFMT_COPLD_VARS \
774 // OBSOLETE   UINT f_op1; \
775 // OBSOLETE   UINT f_ccc; \
776 // OBSOLETE   UINT f_op2; \
777 // OBSOLETE   UINT f_op3; \
778 // OBSOLETE   UINT f_Rjc; \
779 // OBSOLETE   UINT f_u4c; \
780 // OBSOLETE   UINT f_CRi; \
781 // OBSOLETE   /* Contents of trailing part of insn.  */ \
782 // OBSOLETE   UINT word_1; \
783 // OBSOLETE   unsigned int length;
784 // OBSOLETE #define EXTRACT_IFMT_COPLD_CODE \
785 // OBSOLETE   length = 4; \
786 // OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
787 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
788 // OBSOLETE   f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
789 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
790 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
791 // OBSOLETE   f_Rjc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
792 // OBSOLETE   f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
793 // OBSOLETE   f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
794 // OBSOLETE
795 // OBSOLETE #define EXTRACT_IFMT_COPST_VARS \
796 // OBSOLETE   UINT f_op1; \
797 // OBSOLETE   UINT f_ccc; \
798 // OBSOLETE   UINT f_op2; \
799 // OBSOLETE   UINT f_op3; \
800 // OBSOLETE   UINT f_CRj; \
801 // OBSOLETE   UINT f_u4c; \
802 // OBSOLETE   UINT f_Ric; \
803 // OBSOLETE   /* Contents of trailing part of insn.  */ \
804 // OBSOLETE   UINT word_1; \
805 // OBSOLETE   unsigned int length;
806 // OBSOLETE #define EXTRACT_IFMT_COPST_CODE \
807 // OBSOLETE   length = 4; \
808 // OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
809 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
810 // OBSOLETE   f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
811 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
812 // OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
813 // OBSOLETE   f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
814 // OBSOLETE   f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
815 // OBSOLETE   f_Ric = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
816 // OBSOLETE
817 // OBSOLETE #define EXTRACT_IFMT_ADDSP_VARS \
818 // OBSOLETE   UINT f_op1; \
819 // OBSOLETE   UINT f_op2; \
820 // OBSOLETE   SI f_s10; \
821 // OBSOLETE   unsigned int length;
822 // OBSOLETE #define EXTRACT_IFMT_ADDSP_CODE \
823 // OBSOLETE   length = 2; \
824 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
825 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
826 // OBSOLETE   f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); \
827 // OBSOLETE
828 // OBSOLETE #define EXTRACT_IFMT_LDM0_VARS \
829 // OBSOLETE   UINT f_op1; \
830 // OBSOLETE   UINT f_op2; \
831 // OBSOLETE   UINT f_reglist_low_ld; \
832 // OBSOLETE   unsigned int length;
833 // OBSOLETE #define EXTRACT_IFMT_LDM0_CODE \
834 // OBSOLETE   length = 2; \
835 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
836 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
837 // OBSOLETE   f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
838 // OBSOLETE
839 // OBSOLETE #define EXTRACT_IFMT_LDM1_VARS \
840 // OBSOLETE   UINT f_op1; \
841 // OBSOLETE   UINT f_op2; \
842 // OBSOLETE   UINT f_reglist_hi_ld; \
843 // OBSOLETE   unsigned int length;
844 // OBSOLETE #define EXTRACT_IFMT_LDM1_CODE \
845 // OBSOLETE   length = 2; \
846 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
847 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
848 // OBSOLETE   f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
849 // OBSOLETE
850 // OBSOLETE #define EXTRACT_IFMT_STM0_VARS \
851 // OBSOLETE   UINT f_op1; \
852 // OBSOLETE   UINT f_op2; \
853 // OBSOLETE   UINT f_reglist_low_st; \
854 // OBSOLETE   unsigned int length;
855 // OBSOLETE #define EXTRACT_IFMT_STM0_CODE \
856 // OBSOLETE   length = 2; \
857 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
858 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
859 // OBSOLETE   f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
860 // OBSOLETE
861 // OBSOLETE #define EXTRACT_IFMT_STM1_VARS \
862 // OBSOLETE   UINT f_op1; \
863 // OBSOLETE   UINT f_op2; \
864 // OBSOLETE   UINT f_reglist_hi_st; \
865 // OBSOLETE   unsigned int length;
866 // OBSOLETE #define EXTRACT_IFMT_STM1_CODE \
867 // OBSOLETE   length = 2; \
868 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
869 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
870 // OBSOLETE   f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
871 // OBSOLETE
872 // OBSOLETE #define EXTRACT_IFMT_ENTER_VARS \
873 // OBSOLETE   UINT f_op1; \
874 // OBSOLETE   UINT f_op2; \
875 // OBSOLETE   USI f_u10; \
876 // OBSOLETE   unsigned int length;
877 // OBSOLETE #define EXTRACT_IFMT_ENTER_CODE \
878 // OBSOLETE   length = 2; \
879 // OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
880 // OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
881 // OBSOLETE   f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
882 // OBSOLETE
883 // OBSOLETE /* Collection of various things for the trace handler to use.  */
884 // OBSOLETE
885 // OBSOLETE typedef struct trace_record {
886 // OBSOLETE   IADDR pc;
887 // OBSOLETE   /* FIXME:wip */
888 // OBSOLETE } TRACE_RECORD;
889 // OBSOLETE
890 // OBSOLETE #endif /* CPU_FR30BF_H */
891