* sparc-desc.c: New file.
[external/binutils.git] / sim / sparc / model64.c
1 /* Simulator model support for sparc64.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 1999 Cygnus Solutions, Inc.
6
7 This file is part of the Cygnus Simulators.
8
9
10 */
11
12 #define WANT_CPU sparc64
13 #define WANT_CPU_SPARC64
14
15 #include "sim-main.h"
16
17 /* The profiling data is recorded here, but is accessed via the profiling
18    mechanism.  After all, this is information for profiling.  */
19
20 #if WITH_PROFILE_MODEL_P
21
22 /* Model handlers for each insn.  */
23
24 static int
25 model_sparc64_def_beqz (SIM_CPU *current_cpu, void *sem_arg)
26 {
27   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
28   const IDESC * UNUSED idesc = abuf->idesc;
29   int cycles = 0;
30   IADDR UNUSED pc = GET_H_PC ();
31   CGEN_INSN_INT insn = abuf->insn;
32   EXTRACT_IFMT_BEQZ_VARS /* f-disp16 f-rs1 f-p f-op2 f-fmt2-rcond f-bpr-res28-1 f-a f-op */
33       IADDR i_disp16;
34   EXTRACT_IFMT_BEQZ_CODE
35   i_disp16 = f_disp16;
36   {
37     int referenced = 0;
38     int UNUSED insn_referenced = abuf->written;
39     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
40   }
41   return cycles;
42 }
43
44 static int
45 model_sparc64_def_bgez (SIM_CPU *current_cpu, void *sem_arg)
46 {
47   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
48   const IDESC * UNUSED idesc = abuf->idesc;
49   int cycles = 0;
50   IADDR UNUSED pc = GET_H_PC ();
51   CGEN_INSN_INT insn = abuf->insn;
52   EXTRACT_IFMT_BEQZ_VARS /* f-disp16 f-rs1 f-p f-op2 f-fmt2-rcond f-bpr-res28-1 f-a f-op */
53       IADDR i_disp16;
54   EXTRACT_IFMT_BEQZ_CODE
55   i_disp16 = f_disp16;
56   {
57     int referenced = 0;
58     int UNUSED insn_referenced = abuf->written;
59     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
60   }
61   return cycles;
62 }
63
64 static int
65 model_sparc64_def_bgtz (SIM_CPU *current_cpu, void *sem_arg)
66 {
67   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
68   const IDESC * UNUSED idesc = abuf->idesc;
69   int cycles = 0;
70   IADDR UNUSED pc = GET_H_PC ();
71   CGEN_INSN_INT insn = abuf->insn;
72   EXTRACT_IFMT_BEQZ_VARS /* f-disp16 f-rs1 f-p f-op2 f-fmt2-rcond f-bpr-res28-1 f-a f-op */
73       IADDR i_disp16;
74   EXTRACT_IFMT_BEQZ_CODE
75   i_disp16 = f_disp16;
76   {
77     int referenced = 0;
78     int UNUSED insn_referenced = abuf->written;
79     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
80   }
81   return cycles;
82 }
83
84 static int
85 model_sparc64_def_blez (SIM_CPU *current_cpu, void *sem_arg)
86 {
87   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
88   const IDESC * UNUSED idesc = abuf->idesc;
89   int cycles = 0;
90   IADDR UNUSED pc = GET_H_PC ();
91   CGEN_INSN_INT insn = abuf->insn;
92   EXTRACT_IFMT_BEQZ_VARS /* f-disp16 f-rs1 f-p f-op2 f-fmt2-rcond f-bpr-res28-1 f-a f-op */
93       IADDR i_disp16;
94   EXTRACT_IFMT_BEQZ_CODE
95   i_disp16 = f_disp16;
96   {
97     int referenced = 0;
98     int UNUSED insn_referenced = abuf->written;
99     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
100   }
101   return cycles;
102 }
103
104 static int
105 model_sparc64_def_bltz (SIM_CPU *current_cpu, void *sem_arg)
106 {
107   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
108   const IDESC * UNUSED idesc = abuf->idesc;
109   int cycles = 0;
110   IADDR UNUSED pc = GET_H_PC ();
111   CGEN_INSN_INT insn = abuf->insn;
112   EXTRACT_IFMT_BEQZ_VARS /* f-disp16 f-rs1 f-p f-op2 f-fmt2-rcond f-bpr-res28-1 f-a f-op */
113       IADDR i_disp16;
114   EXTRACT_IFMT_BEQZ_CODE
115   i_disp16 = f_disp16;
116   {
117     int referenced = 0;
118     int UNUSED insn_referenced = abuf->written;
119     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
120   }
121   return cycles;
122 }
123
124 static int
125 model_sparc64_def_bnez (SIM_CPU *current_cpu, void *sem_arg)
126 {
127   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
128   const IDESC * UNUSED idesc = abuf->idesc;
129   int cycles = 0;
130   IADDR UNUSED pc = GET_H_PC ();
131   CGEN_INSN_INT insn = abuf->insn;
132   EXTRACT_IFMT_BEQZ_VARS /* f-disp16 f-rs1 f-p f-op2 f-fmt2-rcond f-bpr-res28-1 f-a f-op */
133       IADDR i_disp16;
134   EXTRACT_IFMT_BEQZ_CODE
135   i_disp16 = f_disp16;
136   {
137     int referenced = 0;
138     int UNUSED insn_referenced = abuf->written;
139     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
140   }
141   return cycles;
142 }
143
144 static int
145 model_sparc64_def_bpcc_ba (SIM_CPU *current_cpu, void *sem_arg)
146 {
147   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
148   const IDESC * UNUSED idesc = abuf->idesc;
149   int cycles = 0;
150   IADDR UNUSED pc = GET_H_PC ();
151   CGEN_INSN_INT insn = abuf->insn;
152   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
153       IADDR i_disp22;
154   EXTRACT_IFMT_BPCC_BA_CODE
155   i_disp22 = f_disp22;
156   {
157     int referenced = 0;
158     int UNUSED insn_referenced = abuf->written;
159     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
160   }
161   return cycles;
162 }
163
164 static int
165 model_sparc64_def_bpcc_bn (SIM_CPU *current_cpu, void *sem_arg)
166 {
167   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
168   const IDESC * UNUSED idesc = abuf->idesc;
169   int cycles = 0;
170   IADDR UNUSED pc = GET_H_PC ();
171   CGEN_INSN_INT insn = abuf->insn;
172   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
173   EXTRACT_IFMT_BPCC_BA_CODE
174   {
175     int referenced = 0;
176     int UNUSED insn_referenced = abuf->written;
177     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
178   }
179   return cycles;
180 }
181
182 static int
183 model_sparc64_def_bpcc_bne (SIM_CPU *current_cpu, void *sem_arg)
184 {
185   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
186   const IDESC * UNUSED idesc = abuf->idesc;
187   int cycles = 0;
188   IADDR UNUSED pc = GET_H_PC ();
189   CGEN_INSN_INT insn = abuf->insn;
190   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
191       IADDR i_disp22;
192   EXTRACT_IFMT_BPCC_BA_CODE
193   i_disp22 = f_disp22;
194   {
195     int referenced = 0;
196     int UNUSED insn_referenced = abuf->written;
197     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
198   }
199   return cycles;
200 }
201
202 static int
203 model_sparc64_def_bpcc_be (SIM_CPU *current_cpu, void *sem_arg)
204 {
205   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
206   const IDESC * UNUSED idesc = abuf->idesc;
207   int cycles = 0;
208   IADDR UNUSED pc = GET_H_PC ();
209   CGEN_INSN_INT insn = abuf->insn;
210   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
211       IADDR i_disp22;
212   EXTRACT_IFMT_BPCC_BA_CODE
213   i_disp22 = f_disp22;
214   {
215     int referenced = 0;
216     int UNUSED insn_referenced = abuf->written;
217     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
218   }
219   return cycles;
220 }
221
222 static int
223 model_sparc64_def_bpcc_bg (SIM_CPU *current_cpu, void *sem_arg)
224 {
225   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
226   const IDESC * UNUSED idesc = abuf->idesc;
227   int cycles = 0;
228   IADDR UNUSED pc = GET_H_PC ();
229   CGEN_INSN_INT insn = abuf->insn;
230   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
231       IADDR i_disp22;
232   EXTRACT_IFMT_BPCC_BA_CODE
233   i_disp22 = f_disp22;
234   {
235     int referenced = 0;
236     int UNUSED insn_referenced = abuf->written;
237     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
238   }
239   return cycles;
240 }
241
242 static int
243 model_sparc64_def_bpcc_ble (SIM_CPU *current_cpu, void *sem_arg)
244 {
245   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
246   const IDESC * UNUSED idesc = abuf->idesc;
247   int cycles = 0;
248   IADDR UNUSED pc = GET_H_PC ();
249   CGEN_INSN_INT insn = abuf->insn;
250   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
251       IADDR i_disp22;
252   EXTRACT_IFMT_BPCC_BA_CODE
253   i_disp22 = f_disp22;
254   {
255     int referenced = 0;
256     int UNUSED insn_referenced = abuf->written;
257     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
258   }
259   return cycles;
260 }
261
262 static int
263 model_sparc64_def_bpcc_bge (SIM_CPU *current_cpu, void *sem_arg)
264 {
265   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
266   const IDESC * UNUSED idesc = abuf->idesc;
267   int cycles = 0;
268   IADDR UNUSED pc = GET_H_PC ();
269   CGEN_INSN_INT insn = abuf->insn;
270   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
271       IADDR i_disp22;
272   EXTRACT_IFMT_BPCC_BA_CODE
273   i_disp22 = f_disp22;
274   {
275     int referenced = 0;
276     int UNUSED insn_referenced = abuf->written;
277     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
278   }
279   return cycles;
280 }
281
282 static int
283 model_sparc64_def_bpcc_bl (SIM_CPU *current_cpu, void *sem_arg)
284 {
285   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
286   const IDESC * UNUSED idesc = abuf->idesc;
287   int cycles = 0;
288   IADDR UNUSED pc = GET_H_PC ();
289   CGEN_INSN_INT insn = abuf->insn;
290   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
291       IADDR i_disp22;
292   EXTRACT_IFMT_BPCC_BA_CODE
293   i_disp22 = f_disp22;
294   {
295     int referenced = 0;
296     int UNUSED insn_referenced = abuf->written;
297     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
298   }
299   return cycles;
300 }
301
302 static int
303 model_sparc64_def_bpcc_bgu (SIM_CPU *current_cpu, void *sem_arg)
304 {
305   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
306   const IDESC * UNUSED idesc = abuf->idesc;
307   int cycles = 0;
308   IADDR UNUSED pc = GET_H_PC ();
309   CGEN_INSN_INT insn = abuf->insn;
310   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
311       IADDR i_disp22;
312   EXTRACT_IFMT_BPCC_BA_CODE
313   i_disp22 = f_disp22;
314   {
315     int referenced = 0;
316     int UNUSED insn_referenced = abuf->written;
317     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
318   }
319   return cycles;
320 }
321
322 static int
323 model_sparc64_def_bpcc_bleu (SIM_CPU *current_cpu, void *sem_arg)
324 {
325   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
326   const IDESC * UNUSED idesc = abuf->idesc;
327   int cycles = 0;
328   IADDR UNUSED pc = GET_H_PC ();
329   CGEN_INSN_INT insn = abuf->insn;
330   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
331       IADDR i_disp22;
332   EXTRACT_IFMT_BPCC_BA_CODE
333   i_disp22 = f_disp22;
334   {
335     int referenced = 0;
336     int UNUSED insn_referenced = abuf->written;
337     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
338   }
339   return cycles;
340 }
341
342 static int
343 model_sparc64_def_bpcc_bcc (SIM_CPU *current_cpu, void *sem_arg)
344 {
345   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
346   const IDESC * UNUSED idesc = abuf->idesc;
347   int cycles = 0;
348   IADDR UNUSED pc = GET_H_PC ();
349   CGEN_INSN_INT insn = abuf->insn;
350   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
351       IADDR i_disp22;
352   EXTRACT_IFMT_BPCC_BA_CODE
353   i_disp22 = f_disp22;
354   {
355     int referenced = 0;
356     int UNUSED insn_referenced = abuf->written;
357     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
358   }
359   return cycles;
360 }
361
362 static int
363 model_sparc64_def_bpcc_bcs (SIM_CPU *current_cpu, void *sem_arg)
364 {
365   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
366   const IDESC * UNUSED idesc = abuf->idesc;
367   int cycles = 0;
368   IADDR UNUSED pc = GET_H_PC ();
369   CGEN_INSN_INT insn = abuf->insn;
370   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
371       IADDR i_disp22;
372   EXTRACT_IFMT_BPCC_BA_CODE
373   i_disp22 = f_disp22;
374   {
375     int referenced = 0;
376     int UNUSED insn_referenced = abuf->written;
377     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
378   }
379   return cycles;
380 }
381
382 static int
383 model_sparc64_def_bpcc_bpos (SIM_CPU *current_cpu, void *sem_arg)
384 {
385   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
386   const IDESC * UNUSED idesc = abuf->idesc;
387   int cycles = 0;
388   IADDR UNUSED pc = GET_H_PC ();
389   CGEN_INSN_INT insn = abuf->insn;
390   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
391       IADDR i_disp22;
392   EXTRACT_IFMT_BPCC_BA_CODE
393   i_disp22 = f_disp22;
394   {
395     int referenced = 0;
396     int UNUSED insn_referenced = abuf->written;
397     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
398   }
399   return cycles;
400 }
401
402 static int
403 model_sparc64_def_bpcc_bneg (SIM_CPU *current_cpu, void *sem_arg)
404 {
405   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
406   const IDESC * UNUSED idesc = abuf->idesc;
407   int cycles = 0;
408   IADDR UNUSED pc = GET_H_PC ();
409   CGEN_INSN_INT insn = abuf->insn;
410   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
411       IADDR i_disp22;
412   EXTRACT_IFMT_BPCC_BA_CODE
413   i_disp22 = f_disp22;
414   {
415     int referenced = 0;
416     int UNUSED insn_referenced = abuf->written;
417     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
418   }
419   return cycles;
420 }
421
422 static int
423 model_sparc64_def_bpcc_bvc (SIM_CPU *current_cpu, void *sem_arg)
424 {
425   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
426   const IDESC * UNUSED idesc = abuf->idesc;
427   int cycles = 0;
428   IADDR UNUSED pc = GET_H_PC ();
429   CGEN_INSN_INT insn = abuf->insn;
430   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
431       IADDR i_disp22;
432   EXTRACT_IFMT_BPCC_BA_CODE
433   i_disp22 = f_disp22;
434   {
435     int referenced = 0;
436     int UNUSED insn_referenced = abuf->written;
437     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
438   }
439   return cycles;
440 }
441
442 static int
443 model_sparc64_def_bpcc_bvs (SIM_CPU *current_cpu, void *sem_arg)
444 {
445   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
446   const IDESC * UNUSED idesc = abuf->idesc;
447   int cycles = 0;
448   IADDR UNUSED pc = GET_H_PC ();
449   CGEN_INSN_INT insn = abuf->insn;
450   EXTRACT_IFMT_BPCC_BA_VARS /* f-disp19 f-p f-fmt2-cc0 f-fmt2-cc1 f-op2 f-fmt2-cond f-a f-op */
451       IADDR i_disp22;
452   EXTRACT_IFMT_BPCC_BA_CODE
453   i_disp22 = f_disp22;
454   {
455     int referenced = 0;
456     int UNUSED insn_referenced = abuf->written;
457     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
458   }
459   return cycles;
460 }
461
462 static int
463 model_sparc64_def_done (SIM_CPU *current_cpu, void *sem_arg)
464 {
465   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
466   const IDESC * UNUSED idesc = abuf->idesc;
467   int cycles = 0;
468   IADDR UNUSED pc = GET_H_PC ();
469   CGEN_INSN_INT insn = abuf->insn;
470   EXTRACT_IFMT_DONE_VARS /* f-res-18-19 f-op3 f-fcn f-op */
471   EXTRACT_IFMT_DONE_CODE
472   {
473     int referenced = 0;
474     int UNUSED insn_referenced = abuf->written;
475     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
476   }
477   return cycles;
478 }
479
480 static int
481 model_sparc64_def_retry (SIM_CPU *current_cpu, void *sem_arg)
482 {
483   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
484   const IDESC * UNUSED idesc = abuf->idesc;
485   int cycles = 0;
486   IADDR UNUSED pc = GET_H_PC ();
487   CGEN_INSN_INT insn = abuf->insn;
488   EXTRACT_IFMT_DONE_VARS /* f-res-18-19 f-op3 f-fcn f-op */
489   EXTRACT_IFMT_DONE_CODE
490   {
491     int referenced = 0;
492     int UNUSED insn_referenced = abuf->written;
493     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
494   }
495   return cycles;
496 }
497
498 static int
499 model_sparc64_def_flush (SIM_CPU *current_cpu, void *sem_arg)
500 {
501   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
502   const IDESC * UNUSED idesc = abuf->idesc;
503   int cycles = 0;
504   IADDR UNUSED pc = GET_H_PC ();
505   CGEN_INSN_INT insn = abuf->insn;
506   EXTRACT_IFMT_FLUSH_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
507   EXTRACT_IFMT_FLUSH_CODE
508   {
509     int referenced = 0;
510     int UNUSED insn_referenced = abuf->written;
511     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
512   }
513   return cycles;
514 }
515
516 static int
517 model_sparc64_def_flush_imm (SIM_CPU *current_cpu, void *sem_arg)
518 {
519   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
520   const IDESC * UNUSED idesc = abuf->idesc;
521   int cycles = 0;
522   IADDR UNUSED pc = GET_H_PC ();
523   CGEN_INSN_INT insn = abuf->insn;
524   EXTRACT_IFMT_FLUSH_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
525   EXTRACT_IFMT_FLUSH_IMM_CODE
526   {
527     int referenced = 0;
528     int UNUSED insn_referenced = abuf->written;
529     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
530   }
531   return cycles;
532 }
533
534 static int
535 model_sparc64_def_flushw (SIM_CPU *current_cpu, void *sem_arg)
536 {
537   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
538   const IDESC * UNUSED idesc = abuf->idesc;
539   int cycles = 0;
540   IADDR UNUSED pc = GET_H_PC ();
541   CGEN_INSN_INT insn = abuf->insn;
542   EXTRACT_IFMT_FLUSHW_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
543   EXTRACT_IFMT_FLUSHW_CODE
544   {
545     int referenced = 0;
546     int UNUSED insn_referenced = abuf->written;
547     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
548   }
549   return cycles;
550 }
551
552 static int
553 model_sparc64_def_impdep1 (SIM_CPU *current_cpu, void *sem_arg)
554 {
555   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
556   const IDESC * UNUSED idesc = abuf->idesc;
557   int cycles = 0;
558   IADDR UNUSED pc = GET_H_PC ();
559   CGEN_INSN_INT insn = abuf->insn;
560   EXTRACT_IFMT_IMPDEP1_VARS /* f-impdep19 f-op3 f-impdep5 f-op */
561   EXTRACT_IFMT_IMPDEP1_CODE
562   {
563     int referenced = 0;
564     int UNUSED insn_referenced = abuf->written;
565     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
566   }
567   return cycles;
568 }
569
570 static int
571 model_sparc64_def_impdep2 (SIM_CPU *current_cpu, void *sem_arg)
572 {
573   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
574   const IDESC * UNUSED idesc = abuf->idesc;
575   int cycles = 0;
576   IADDR UNUSED pc = GET_H_PC ();
577   CGEN_INSN_INT insn = abuf->insn;
578   EXTRACT_IFMT_IMPDEP1_VARS /* f-impdep19 f-op3 f-impdep5 f-op */
579   EXTRACT_IFMT_IMPDEP1_CODE
580   {
581     int referenced = 0;
582     int UNUSED insn_referenced = abuf->written;
583     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
584   }
585   return cycles;
586 }
587
588 static int
589 model_sparc64_def_membar (SIM_CPU *current_cpu, void *sem_arg)
590 {
591   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
592   const IDESC * UNUSED idesc = abuf->idesc;
593   int cycles = 0;
594   IADDR UNUSED pc = GET_H_PC ();
595   CGEN_INSN_INT insn = abuf->insn;
596   EXTRACT_IFMT_MEMBAR_VARS /* f-membarmask f-membar-res12-6 f-i f-rs1 f-op3 f-rd f-op */
597   EXTRACT_IFMT_MEMBAR_CODE
598   {
599     int referenced = 0;
600     int UNUSED insn_referenced = abuf->written;
601     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
602   }
603   return cycles;
604 }
605
606 static int
607 model_sparc64_def_mova_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
608 {
609   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
610   const IDESC * UNUSED idesc = abuf->idesc;
611   int cycles = 0;
612   IADDR UNUSED pc = GET_H_PC ();
613   CGEN_INSN_INT insn = abuf->insn;
614   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
615   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
616   {
617     int referenced = 0;
618     int UNUSED insn_referenced = abuf->written;
619     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
620   }
621   return cycles;
622 }
623
624 static int
625 model_sparc64_def_mova_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
626 {
627   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
628   const IDESC * UNUSED idesc = abuf->idesc;
629   int cycles = 0;
630   IADDR UNUSED pc = GET_H_PC ();
631   CGEN_INSN_INT insn = abuf->insn;
632   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
633   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
634   {
635     int referenced = 0;
636     int UNUSED insn_referenced = abuf->written;
637     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
638   }
639   return cycles;
640 }
641
642 static int
643 model_sparc64_def_mova_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
644 {
645   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
646   const IDESC * UNUSED idesc = abuf->idesc;
647   int cycles = 0;
648   IADDR UNUSED pc = GET_H_PC ();
649   CGEN_INSN_INT insn = abuf->insn;
650   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
651   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
652   {
653     int referenced = 0;
654     int UNUSED insn_referenced = abuf->written;
655     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
656   }
657   return cycles;
658 }
659
660 static int
661 model_sparc64_def_mova_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
662 {
663   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
664   const IDESC * UNUSED idesc = abuf->idesc;
665   int cycles = 0;
666   IADDR UNUSED pc = GET_H_PC ();
667   CGEN_INSN_INT insn = abuf->insn;
668   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
669   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
670   {
671     int referenced = 0;
672     int UNUSED insn_referenced = abuf->written;
673     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
674   }
675   return cycles;
676 }
677
678 static int
679 model_sparc64_def_movn_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
680 {
681   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
682   const IDESC * UNUSED idesc = abuf->idesc;
683   int cycles = 0;
684   IADDR UNUSED pc = GET_H_PC ();
685   CGEN_INSN_INT insn = abuf->insn;
686   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
687   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
688   {
689     int referenced = 0;
690     int UNUSED insn_referenced = abuf->written;
691     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
692   }
693   return cycles;
694 }
695
696 static int
697 model_sparc64_def_movn_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
698 {
699   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
700   const IDESC * UNUSED idesc = abuf->idesc;
701   int cycles = 0;
702   IADDR UNUSED pc = GET_H_PC ();
703   CGEN_INSN_INT insn = abuf->insn;
704   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
705   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
706   {
707     int referenced = 0;
708     int UNUSED insn_referenced = abuf->written;
709     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
710   }
711   return cycles;
712 }
713
714 static int
715 model_sparc64_def_movn_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
716 {
717   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
718   const IDESC * UNUSED idesc = abuf->idesc;
719   int cycles = 0;
720   IADDR UNUSED pc = GET_H_PC ();
721   CGEN_INSN_INT insn = abuf->insn;
722   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
723   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
724   {
725     int referenced = 0;
726     int UNUSED insn_referenced = abuf->written;
727     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
728   }
729   return cycles;
730 }
731
732 static int
733 model_sparc64_def_movn_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
734 {
735   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
736   const IDESC * UNUSED idesc = abuf->idesc;
737   int cycles = 0;
738   IADDR UNUSED pc = GET_H_PC ();
739   CGEN_INSN_INT insn = abuf->insn;
740   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
741   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
742   {
743     int referenced = 0;
744     int UNUSED insn_referenced = abuf->written;
745     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
746   }
747   return cycles;
748 }
749
750 static int
751 model_sparc64_def_movne_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
752 {
753   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
754   const IDESC * UNUSED idesc = abuf->idesc;
755   int cycles = 0;
756   IADDR UNUSED pc = GET_H_PC ();
757   CGEN_INSN_INT insn = abuf->insn;
758   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
759   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
760   {
761     int referenced = 0;
762     int UNUSED insn_referenced = abuf->written;
763     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
764   }
765   return cycles;
766 }
767
768 static int
769 model_sparc64_def_movne_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
770 {
771   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
772   const IDESC * UNUSED idesc = abuf->idesc;
773   int cycles = 0;
774   IADDR UNUSED pc = GET_H_PC ();
775   CGEN_INSN_INT insn = abuf->insn;
776   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
777   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
778   {
779     int referenced = 0;
780     int UNUSED insn_referenced = abuf->written;
781     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
782   }
783   return cycles;
784 }
785
786 static int
787 model_sparc64_def_movne_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
788 {
789   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
790   const IDESC * UNUSED idesc = abuf->idesc;
791   int cycles = 0;
792   IADDR UNUSED pc = GET_H_PC ();
793   CGEN_INSN_INT insn = abuf->insn;
794   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
795   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
796   {
797     int referenced = 0;
798     int UNUSED insn_referenced = abuf->written;
799     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
800   }
801   return cycles;
802 }
803
804 static int
805 model_sparc64_def_movne_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
806 {
807   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
808   const IDESC * UNUSED idesc = abuf->idesc;
809   int cycles = 0;
810   IADDR UNUSED pc = GET_H_PC ();
811   CGEN_INSN_INT insn = abuf->insn;
812   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
813   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
814   {
815     int referenced = 0;
816     int UNUSED insn_referenced = abuf->written;
817     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
818   }
819   return cycles;
820 }
821
822 static int
823 model_sparc64_def_move_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
824 {
825   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
826   const IDESC * UNUSED idesc = abuf->idesc;
827   int cycles = 0;
828   IADDR UNUSED pc = GET_H_PC ();
829   CGEN_INSN_INT insn = abuf->insn;
830   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
831   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
832   {
833     int referenced = 0;
834     int UNUSED insn_referenced = abuf->written;
835     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
836   }
837   return cycles;
838 }
839
840 static int
841 model_sparc64_def_move_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
842 {
843   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
844   const IDESC * UNUSED idesc = abuf->idesc;
845   int cycles = 0;
846   IADDR UNUSED pc = GET_H_PC ();
847   CGEN_INSN_INT insn = abuf->insn;
848   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
849   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
850   {
851     int referenced = 0;
852     int UNUSED insn_referenced = abuf->written;
853     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
854   }
855   return cycles;
856 }
857
858 static int
859 model_sparc64_def_move_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
860 {
861   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
862   const IDESC * UNUSED idesc = abuf->idesc;
863   int cycles = 0;
864   IADDR UNUSED pc = GET_H_PC ();
865   CGEN_INSN_INT insn = abuf->insn;
866   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
867   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
868   {
869     int referenced = 0;
870     int UNUSED insn_referenced = abuf->written;
871     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
872   }
873   return cycles;
874 }
875
876 static int
877 model_sparc64_def_move_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
878 {
879   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
880   const IDESC * UNUSED idesc = abuf->idesc;
881   int cycles = 0;
882   IADDR UNUSED pc = GET_H_PC ();
883   CGEN_INSN_INT insn = abuf->insn;
884   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
885   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
886   {
887     int referenced = 0;
888     int UNUSED insn_referenced = abuf->written;
889     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
890   }
891   return cycles;
892 }
893
894 static int
895 model_sparc64_def_movg_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
896 {
897   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
898   const IDESC * UNUSED idesc = abuf->idesc;
899   int cycles = 0;
900   IADDR UNUSED pc = GET_H_PC ();
901   CGEN_INSN_INT insn = abuf->insn;
902   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
903   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
904   {
905     int referenced = 0;
906     int UNUSED insn_referenced = abuf->written;
907     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
908   }
909   return cycles;
910 }
911
912 static int
913 model_sparc64_def_movg_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
914 {
915   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
916   const IDESC * UNUSED idesc = abuf->idesc;
917   int cycles = 0;
918   IADDR UNUSED pc = GET_H_PC ();
919   CGEN_INSN_INT insn = abuf->insn;
920   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
921   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
922   {
923     int referenced = 0;
924     int UNUSED insn_referenced = abuf->written;
925     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
926   }
927   return cycles;
928 }
929
930 static int
931 model_sparc64_def_movg_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
932 {
933   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
934   const IDESC * UNUSED idesc = abuf->idesc;
935   int cycles = 0;
936   IADDR UNUSED pc = GET_H_PC ();
937   CGEN_INSN_INT insn = abuf->insn;
938   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
939   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
940   {
941     int referenced = 0;
942     int UNUSED insn_referenced = abuf->written;
943     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
944   }
945   return cycles;
946 }
947
948 static int
949 model_sparc64_def_movg_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
950 {
951   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
952   const IDESC * UNUSED idesc = abuf->idesc;
953   int cycles = 0;
954   IADDR UNUSED pc = GET_H_PC ();
955   CGEN_INSN_INT insn = abuf->insn;
956   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
957   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
958   {
959     int referenced = 0;
960     int UNUSED insn_referenced = abuf->written;
961     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
962   }
963   return cycles;
964 }
965
966 static int
967 model_sparc64_def_movle_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
968 {
969   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
970   const IDESC * UNUSED idesc = abuf->idesc;
971   int cycles = 0;
972   IADDR UNUSED pc = GET_H_PC ();
973   CGEN_INSN_INT insn = abuf->insn;
974   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
975   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
976   {
977     int referenced = 0;
978     int UNUSED insn_referenced = abuf->written;
979     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
980   }
981   return cycles;
982 }
983
984 static int
985 model_sparc64_def_movle_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
986 {
987   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
988   const IDESC * UNUSED idesc = abuf->idesc;
989   int cycles = 0;
990   IADDR UNUSED pc = GET_H_PC ();
991   CGEN_INSN_INT insn = abuf->insn;
992   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
993   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
994   {
995     int referenced = 0;
996     int UNUSED insn_referenced = abuf->written;
997     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
998   }
999   return cycles;
1000 }
1001
1002 static int
1003 model_sparc64_def_movle_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1004 {
1005   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1006   const IDESC * UNUSED idesc = abuf->idesc;
1007   int cycles = 0;
1008   IADDR UNUSED pc = GET_H_PC ();
1009   CGEN_INSN_INT insn = abuf->insn;
1010   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1011   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1012   {
1013     int referenced = 0;
1014     int UNUSED insn_referenced = abuf->written;
1015     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1016   }
1017   return cycles;
1018 }
1019
1020 static int
1021 model_sparc64_def_movle_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1022 {
1023   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1024   const IDESC * UNUSED idesc = abuf->idesc;
1025   int cycles = 0;
1026   IADDR UNUSED pc = GET_H_PC ();
1027   CGEN_INSN_INT insn = abuf->insn;
1028   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1029   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1030   {
1031     int referenced = 0;
1032     int UNUSED insn_referenced = abuf->written;
1033     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1034   }
1035   return cycles;
1036 }
1037
1038 static int
1039 model_sparc64_def_movge_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1040 {
1041   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1042   const IDESC * UNUSED idesc = abuf->idesc;
1043   int cycles = 0;
1044   IADDR UNUSED pc = GET_H_PC ();
1045   CGEN_INSN_INT insn = abuf->insn;
1046   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1047   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1048   {
1049     int referenced = 0;
1050     int UNUSED insn_referenced = abuf->written;
1051     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1052   }
1053   return cycles;
1054 }
1055
1056 static int
1057 model_sparc64_def_movge_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1058 {
1059   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1060   const IDESC * UNUSED idesc = abuf->idesc;
1061   int cycles = 0;
1062   IADDR UNUSED pc = GET_H_PC ();
1063   CGEN_INSN_INT insn = abuf->insn;
1064   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1065   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1066   {
1067     int referenced = 0;
1068     int UNUSED insn_referenced = abuf->written;
1069     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1070   }
1071   return cycles;
1072 }
1073
1074 static int
1075 model_sparc64_def_movge_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1076 {
1077   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1078   const IDESC * UNUSED idesc = abuf->idesc;
1079   int cycles = 0;
1080   IADDR UNUSED pc = GET_H_PC ();
1081   CGEN_INSN_INT insn = abuf->insn;
1082   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1083   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1084   {
1085     int referenced = 0;
1086     int UNUSED insn_referenced = abuf->written;
1087     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1088   }
1089   return cycles;
1090 }
1091
1092 static int
1093 model_sparc64_def_movge_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1094 {
1095   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1096   const IDESC * UNUSED idesc = abuf->idesc;
1097   int cycles = 0;
1098   IADDR UNUSED pc = GET_H_PC ();
1099   CGEN_INSN_INT insn = abuf->insn;
1100   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1101   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1102   {
1103     int referenced = 0;
1104     int UNUSED insn_referenced = abuf->written;
1105     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1106   }
1107   return cycles;
1108 }
1109
1110 static int
1111 model_sparc64_def_movl_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1112 {
1113   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1114   const IDESC * UNUSED idesc = abuf->idesc;
1115   int cycles = 0;
1116   IADDR UNUSED pc = GET_H_PC ();
1117   CGEN_INSN_INT insn = abuf->insn;
1118   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1119   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1120   {
1121     int referenced = 0;
1122     int UNUSED insn_referenced = abuf->written;
1123     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1124   }
1125   return cycles;
1126 }
1127
1128 static int
1129 model_sparc64_def_movl_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1130 {
1131   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1132   const IDESC * UNUSED idesc = abuf->idesc;
1133   int cycles = 0;
1134   IADDR UNUSED pc = GET_H_PC ();
1135   CGEN_INSN_INT insn = abuf->insn;
1136   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1137   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1138   {
1139     int referenced = 0;
1140     int UNUSED insn_referenced = abuf->written;
1141     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1142   }
1143   return cycles;
1144 }
1145
1146 static int
1147 model_sparc64_def_movl_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1148 {
1149   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1150   const IDESC * UNUSED idesc = abuf->idesc;
1151   int cycles = 0;
1152   IADDR UNUSED pc = GET_H_PC ();
1153   CGEN_INSN_INT insn = abuf->insn;
1154   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1155   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1156   {
1157     int referenced = 0;
1158     int UNUSED insn_referenced = abuf->written;
1159     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1160   }
1161   return cycles;
1162 }
1163
1164 static int
1165 model_sparc64_def_movl_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1166 {
1167   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1168   const IDESC * UNUSED idesc = abuf->idesc;
1169   int cycles = 0;
1170   IADDR UNUSED pc = GET_H_PC ();
1171   CGEN_INSN_INT insn = abuf->insn;
1172   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1173   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1174   {
1175     int referenced = 0;
1176     int UNUSED insn_referenced = abuf->written;
1177     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1178   }
1179   return cycles;
1180 }
1181
1182 static int
1183 model_sparc64_def_movgu_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1184 {
1185   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1186   const IDESC * UNUSED idesc = abuf->idesc;
1187   int cycles = 0;
1188   IADDR UNUSED pc = GET_H_PC ();
1189   CGEN_INSN_INT insn = abuf->insn;
1190   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1191   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1192   {
1193     int referenced = 0;
1194     int UNUSED insn_referenced = abuf->written;
1195     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1196   }
1197   return cycles;
1198 }
1199
1200 static int
1201 model_sparc64_def_movgu_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1202 {
1203   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1204   const IDESC * UNUSED idesc = abuf->idesc;
1205   int cycles = 0;
1206   IADDR UNUSED pc = GET_H_PC ();
1207   CGEN_INSN_INT insn = abuf->insn;
1208   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1209   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1210   {
1211     int referenced = 0;
1212     int UNUSED insn_referenced = abuf->written;
1213     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1214   }
1215   return cycles;
1216 }
1217
1218 static int
1219 model_sparc64_def_movgu_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1220 {
1221   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1222   const IDESC * UNUSED idesc = abuf->idesc;
1223   int cycles = 0;
1224   IADDR UNUSED pc = GET_H_PC ();
1225   CGEN_INSN_INT insn = abuf->insn;
1226   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1227   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1228   {
1229     int referenced = 0;
1230     int UNUSED insn_referenced = abuf->written;
1231     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1232   }
1233   return cycles;
1234 }
1235
1236 static int
1237 model_sparc64_def_movgu_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1238 {
1239   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1240   const IDESC * UNUSED idesc = abuf->idesc;
1241   int cycles = 0;
1242   IADDR UNUSED pc = GET_H_PC ();
1243   CGEN_INSN_INT insn = abuf->insn;
1244   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1245   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1246   {
1247     int referenced = 0;
1248     int UNUSED insn_referenced = abuf->written;
1249     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1250   }
1251   return cycles;
1252 }
1253
1254 static int
1255 model_sparc64_def_movleu_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1256 {
1257   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1258   const IDESC * UNUSED idesc = abuf->idesc;
1259   int cycles = 0;
1260   IADDR UNUSED pc = GET_H_PC ();
1261   CGEN_INSN_INT insn = abuf->insn;
1262   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1263   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1264   {
1265     int referenced = 0;
1266     int UNUSED insn_referenced = abuf->written;
1267     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1268   }
1269   return cycles;
1270 }
1271
1272 static int
1273 model_sparc64_def_movleu_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1274 {
1275   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1276   const IDESC * UNUSED idesc = abuf->idesc;
1277   int cycles = 0;
1278   IADDR UNUSED pc = GET_H_PC ();
1279   CGEN_INSN_INT insn = abuf->insn;
1280   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1281   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1282   {
1283     int referenced = 0;
1284     int UNUSED insn_referenced = abuf->written;
1285     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1286   }
1287   return cycles;
1288 }
1289
1290 static int
1291 model_sparc64_def_movleu_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1292 {
1293   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1294   const IDESC * UNUSED idesc = abuf->idesc;
1295   int cycles = 0;
1296   IADDR UNUSED pc = GET_H_PC ();
1297   CGEN_INSN_INT insn = abuf->insn;
1298   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1299   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1300   {
1301     int referenced = 0;
1302     int UNUSED insn_referenced = abuf->written;
1303     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1304   }
1305   return cycles;
1306 }
1307
1308 static int
1309 model_sparc64_def_movleu_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1310 {
1311   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1312   const IDESC * UNUSED idesc = abuf->idesc;
1313   int cycles = 0;
1314   IADDR UNUSED pc = GET_H_PC ();
1315   CGEN_INSN_INT insn = abuf->insn;
1316   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1317   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1318   {
1319     int referenced = 0;
1320     int UNUSED insn_referenced = abuf->written;
1321     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1322   }
1323   return cycles;
1324 }
1325
1326 static int
1327 model_sparc64_def_movcc_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1328 {
1329   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1330   const IDESC * UNUSED idesc = abuf->idesc;
1331   int cycles = 0;
1332   IADDR UNUSED pc = GET_H_PC ();
1333   CGEN_INSN_INT insn = abuf->insn;
1334   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1335   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1336   {
1337     int referenced = 0;
1338     int UNUSED insn_referenced = abuf->written;
1339     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1340   }
1341   return cycles;
1342 }
1343
1344 static int
1345 model_sparc64_def_movcc_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1346 {
1347   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1348   const IDESC * UNUSED idesc = abuf->idesc;
1349   int cycles = 0;
1350   IADDR UNUSED pc = GET_H_PC ();
1351   CGEN_INSN_INT insn = abuf->insn;
1352   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1353   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1354   {
1355     int referenced = 0;
1356     int UNUSED insn_referenced = abuf->written;
1357     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1358   }
1359   return cycles;
1360 }
1361
1362 static int
1363 model_sparc64_def_movcc_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1364 {
1365   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1366   const IDESC * UNUSED idesc = abuf->idesc;
1367   int cycles = 0;
1368   IADDR UNUSED pc = GET_H_PC ();
1369   CGEN_INSN_INT insn = abuf->insn;
1370   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1371   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1372   {
1373     int referenced = 0;
1374     int UNUSED insn_referenced = abuf->written;
1375     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1376   }
1377   return cycles;
1378 }
1379
1380 static int
1381 model_sparc64_def_movcc_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1382 {
1383   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1384   const IDESC * UNUSED idesc = abuf->idesc;
1385   int cycles = 0;
1386   IADDR UNUSED pc = GET_H_PC ();
1387   CGEN_INSN_INT insn = abuf->insn;
1388   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1389   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1390   {
1391     int referenced = 0;
1392     int UNUSED insn_referenced = abuf->written;
1393     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1394   }
1395   return cycles;
1396 }
1397
1398 static int
1399 model_sparc64_def_movcs_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1400 {
1401   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1402   const IDESC * UNUSED idesc = abuf->idesc;
1403   int cycles = 0;
1404   IADDR UNUSED pc = GET_H_PC ();
1405   CGEN_INSN_INT insn = abuf->insn;
1406   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1407   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1408   {
1409     int referenced = 0;
1410     int UNUSED insn_referenced = abuf->written;
1411     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1412   }
1413   return cycles;
1414 }
1415
1416 static int
1417 model_sparc64_def_movcs_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1418 {
1419   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1420   const IDESC * UNUSED idesc = abuf->idesc;
1421   int cycles = 0;
1422   IADDR UNUSED pc = GET_H_PC ();
1423   CGEN_INSN_INT insn = abuf->insn;
1424   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1425   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1426   {
1427     int referenced = 0;
1428     int UNUSED insn_referenced = abuf->written;
1429     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1430   }
1431   return cycles;
1432 }
1433
1434 static int
1435 model_sparc64_def_movcs_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1436 {
1437   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1438   const IDESC * UNUSED idesc = abuf->idesc;
1439   int cycles = 0;
1440   IADDR UNUSED pc = GET_H_PC ();
1441   CGEN_INSN_INT insn = abuf->insn;
1442   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1443   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1444   {
1445     int referenced = 0;
1446     int UNUSED insn_referenced = abuf->written;
1447     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1448   }
1449   return cycles;
1450 }
1451
1452 static int
1453 model_sparc64_def_movcs_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1454 {
1455   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1456   const IDESC * UNUSED idesc = abuf->idesc;
1457   int cycles = 0;
1458   IADDR UNUSED pc = GET_H_PC ();
1459   CGEN_INSN_INT insn = abuf->insn;
1460   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1461   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1462   {
1463     int referenced = 0;
1464     int UNUSED insn_referenced = abuf->written;
1465     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1466   }
1467   return cycles;
1468 }
1469
1470 static int
1471 model_sparc64_def_movpos_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1472 {
1473   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1474   const IDESC * UNUSED idesc = abuf->idesc;
1475   int cycles = 0;
1476   IADDR UNUSED pc = GET_H_PC ();
1477   CGEN_INSN_INT insn = abuf->insn;
1478   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1479   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1480   {
1481     int referenced = 0;
1482     int UNUSED insn_referenced = abuf->written;
1483     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1484   }
1485   return cycles;
1486 }
1487
1488 static int
1489 model_sparc64_def_movpos_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1490 {
1491   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1492   const IDESC * UNUSED idesc = abuf->idesc;
1493   int cycles = 0;
1494   IADDR UNUSED pc = GET_H_PC ();
1495   CGEN_INSN_INT insn = abuf->insn;
1496   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1497   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1498   {
1499     int referenced = 0;
1500     int UNUSED insn_referenced = abuf->written;
1501     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1502   }
1503   return cycles;
1504 }
1505
1506 static int
1507 model_sparc64_def_movpos_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1508 {
1509   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1510   const IDESC * UNUSED idesc = abuf->idesc;
1511   int cycles = 0;
1512   IADDR UNUSED pc = GET_H_PC ();
1513   CGEN_INSN_INT insn = abuf->insn;
1514   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1515   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1516   {
1517     int referenced = 0;
1518     int UNUSED insn_referenced = abuf->written;
1519     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1520   }
1521   return cycles;
1522 }
1523
1524 static int
1525 model_sparc64_def_movpos_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1526 {
1527   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1528   const IDESC * UNUSED idesc = abuf->idesc;
1529   int cycles = 0;
1530   IADDR UNUSED pc = GET_H_PC ();
1531   CGEN_INSN_INT insn = abuf->insn;
1532   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1533   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1534   {
1535     int referenced = 0;
1536     int UNUSED insn_referenced = abuf->written;
1537     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1538   }
1539   return cycles;
1540 }
1541
1542 static int
1543 model_sparc64_def_movneg_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1544 {
1545   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1546   const IDESC * UNUSED idesc = abuf->idesc;
1547   int cycles = 0;
1548   IADDR UNUSED pc = GET_H_PC ();
1549   CGEN_INSN_INT insn = abuf->insn;
1550   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1551   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1552   {
1553     int referenced = 0;
1554     int UNUSED insn_referenced = abuf->written;
1555     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1556   }
1557   return cycles;
1558 }
1559
1560 static int
1561 model_sparc64_def_movneg_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1562 {
1563   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1564   const IDESC * UNUSED idesc = abuf->idesc;
1565   int cycles = 0;
1566   IADDR UNUSED pc = GET_H_PC ();
1567   CGEN_INSN_INT insn = abuf->insn;
1568   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1569   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1570   {
1571     int referenced = 0;
1572     int UNUSED insn_referenced = abuf->written;
1573     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1574   }
1575   return cycles;
1576 }
1577
1578 static int
1579 model_sparc64_def_movneg_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1580 {
1581   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1582   const IDESC * UNUSED idesc = abuf->idesc;
1583   int cycles = 0;
1584   IADDR UNUSED pc = GET_H_PC ();
1585   CGEN_INSN_INT insn = abuf->insn;
1586   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1587   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1588   {
1589     int referenced = 0;
1590     int UNUSED insn_referenced = abuf->written;
1591     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1592   }
1593   return cycles;
1594 }
1595
1596 static int
1597 model_sparc64_def_movneg_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1598 {
1599   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1600   const IDESC * UNUSED idesc = abuf->idesc;
1601   int cycles = 0;
1602   IADDR UNUSED pc = GET_H_PC ();
1603   CGEN_INSN_INT insn = abuf->insn;
1604   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1605   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1606   {
1607     int referenced = 0;
1608     int UNUSED insn_referenced = abuf->written;
1609     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1610   }
1611   return cycles;
1612 }
1613
1614 static int
1615 model_sparc64_def_movvc_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1616 {
1617   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1618   const IDESC * UNUSED idesc = abuf->idesc;
1619   int cycles = 0;
1620   IADDR UNUSED pc = GET_H_PC ();
1621   CGEN_INSN_INT insn = abuf->insn;
1622   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1623   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1624   {
1625     int referenced = 0;
1626     int UNUSED insn_referenced = abuf->written;
1627     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1628   }
1629   return cycles;
1630 }
1631
1632 static int
1633 model_sparc64_def_movvc_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1634 {
1635   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1636   const IDESC * UNUSED idesc = abuf->idesc;
1637   int cycles = 0;
1638   IADDR UNUSED pc = GET_H_PC ();
1639   CGEN_INSN_INT insn = abuf->insn;
1640   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1641   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1642   {
1643     int referenced = 0;
1644     int UNUSED insn_referenced = abuf->written;
1645     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1646   }
1647   return cycles;
1648 }
1649
1650 static int
1651 model_sparc64_def_movvc_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1652 {
1653   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1654   const IDESC * UNUSED idesc = abuf->idesc;
1655   int cycles = 0;
1656   IADDR UNUSED pc = GET_H_PC ();
1657   CGEN_INSN_INT insn = abuf->insn;
1658   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1659   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1660   {
1661     int referenced = 0;
1662     int UNUSED insn_referenced = abuf->written;
1663     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1664   }
1665   return cycles;
1666 }
1667
1668 static int
1669 model_sparc64_def_movvc_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1670 {
1671   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1672   const IDESC * UNUSED idesc = abuf->idesc;
1673   int cycles = 0;
1674   IADDR UNUSED pc = GET_H_PC ();
1675   CGEN_INSN_INT insn = abuf->insn;
1676   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1677   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1678   {
1679     int referenced = 0;
1680     int UNUSED insn_referenced = abuf->written;
1681     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1682   }
1683   return cycles;
1684 }
1685
1686 static int
1687 model_sparc64_def_movvs_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1688 {
1689   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1690   const IDESC * UNUSED idesc = abuf->idesc;
1691   int cycles = 0;
1692   IADDR UNUSED pc = GET_H_PC ();
1693   CGEN_INSN_INT insn = abuf->insn;
1694   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1695   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1696   {
1697     int referenced = 0;
1698     int UNUSED insn_referenced = abuf->written;
1699     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1700   }
1701   return cycles;
1702 }
1703
1704 static int
1705 model_sparc64_def_movvs_imm_icc_icc (SIM_CPU *current_cpu, void *sem_arg)
1706 {
1707   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1708   const IDESC * UNUSED idesc = abuf->idesc;
1709   int cycles = 0;
1710   IADDR UNUSED pc = GET_H_PC ();
1711   CGEN_INSN_INT insn = abuf->insn;
1712   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1713   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1714   {
1715     int referenced = 0;
1716     int UNUSED insn_referenced = abuf->written;
1717     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1718   }
1719   return cycles;
1720 }
1721
1722 static int
1723 model_sparc64_def_movvs_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1724 {
1725   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1726   const IDESC * UNUSED idesc = abuf->idesc;
1727   int cycles = 0;
1728   IADDR UNUSED pc = GET_H_PC ();
1729   CGEN_INSN_INT insn = abuf->insn;
1730   EXTRACT_IFMT_MOVA_ICC_ICC_VARS /* f-rs2 f-fmt4-res10-6 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1731   EXTRACT_IFMT_MOVA_ICC_ICC_CODE
1732   {
1733     int referenced = 0;
1734     int UNUSED insn_referenced = abuf->written;
1735     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1736   }
1737   return cycles;
1738 }
1739
1740 static int
1741 model_sparc64_def_movvs_imm_xcc_xcc (SIM_CPU *current_cpu, void *sem_arg)
1742 {
1743   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1744   const IDESC * UNUSED idesc = abuf->idesc;
1745   int cycles = 0;
1746   IADDR UNUSED pc = GET_H_PC ();
1747   CGEN_INSN_INT insn = abuf->insn;
1748   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_VARS /* f-simm11 f-fmt4-cc1-0 f-i f-fmt4-cc2 f-op3 f-fmt2-cond f-rd f-op */
1749   EXTRACT_IFMT_MOVA_IMM_ICC_ICC_CODE
1750   {
1751     int referenced = 0;
1752     int UNUSED insn_referenced = abuf->written;
1753     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1754   }
1755   return cycles;
1756 }
1757
1758 static int
1759 model_sparc64_def_ldsb_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
1760 {
1761   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1762   const IDESC * UNUSED idesc = abuf->idesc;
1763   int cycles = 0;
1764   IADDR UNUSED pc = GET_H_PC ();
1765   CGEN_INSN_INT insn = abuf->insn;
1766   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
1767   EXTRACT_IFMT_LDSB_REG_REG_CODE
1768   {
1769     int referenced = 0;
1770     int UNUSED insn_referenced = abuf->written;
1771     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1772   }
1773   return cycles;
1774 }
1775
1776 static int
1777 model_sparc64_def_ldsb_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
1778 {
1779   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1780   const IDESC * UNUSED idesc = abuf->idesc;
1781   int cycles = 0;
1782   IADDR UNUSED pc = GET_H_PC ();
1783   CGEN_INSN_INT insn = abuf->insn;
1784   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
1785   EXTRACT_IFMT_LDSB_REG_IMM_CODE
1786   {
1787     int referenced = 0;
1788     int UNUSED insn_referenced = abuf->written;
1789     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1790   }
1791   return cycles;
1792 }
1793
1794 static int
1795 model_sparc64_def_ldsb_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
1796 {
1797   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1798   const IDESC * UNUSED idesc = abuf->idesc;
1799   int cycles = 0;
1800   IADDR UNUSED pc = GET_H_PC ();
1801   CGEN_INSN_INT insn = abuf->insn;
1802   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
1803   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
1804   {
1805     int referenced = 0;
1806     int UNUSED insn_referenced = abuf->written;
1807     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1808   }
1809   return cycles;
1810 }
1811
1812 static int
1813 model_sparc64_def_ldub_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
1814 {
1815   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1816   const IDESC * UNUSED idesc = abuf->idesc;
1817   int cycles = 0;
1818   IADDR UNUSED pc = GET_H_PC ();
1819   CGEN_INSN_INT insn = abuf->insn;
1820   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
1821   EXTRACT_IFMT_LDSB_REG_REG_CODE
1822   {
1823     int referenced = 0;
1824     int UNUSED insn_referenced = abuf->written;
1825     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1826   }
1827   return cycles;
1828 }
1829
1830 static int
1831 model_sparc64_def_ldub_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
1832 {
1833   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1834   const IDESC * UNUSED idesc = abuf->idesc;
1835   int cycles = 0;
1836   IADDR UNUSED pc = GET_H_PC ();
1837   CGEN_INSN_INT insn = abuf->insn;
1838   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
1839   EXTRACT_IFMT_LDSB_REG_IMM_CODE
1840   {
1841     int referenced = 0;
1842     int UNUSED insn_referenced = abuf->written;
1843     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1844   }
1845   return cycles;
1846 }
1847
1848 static int
1849 model_sparc64_def_ldub_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
1850 {
1851   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1852   const IDESC * UNUSED idesc = abuf->idesc;
1853   int cycles = 0;
1854   IADDR UNUSED pc = GET_H_PC ();
1855   CGEN_INSN_INT insn = abuf->insn;
1856   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
1857   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
1858   {
1859     int referenced = 0;
1860     int UNUSED insn_referenced = abuf->written;
1861     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1862   }
1863   return cycles;
1864 }
1865
1866 static int
1867 model_sparc64_def_ldsh_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
1868 {
1869   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1870   const IDESC * UNUSED idesc = abuf->idesc;
1871   int cycles = 0;
1872   IADDR UNUSED pc = GET_H_PC ();
1873   CGEN_INSN_INT insn = abuf->insn;
1874   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
1875   EXTRACT_IFMT_LDSB_REG_REG_CODE
1876   {
1877     int referenced = 0;
1878     int UNUSED insn_referenced = abuf->written;
1879     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1880   }
1881   return cycles;
1882 }
1883
1884 static int
1885 model_sparc64_def_ldsh_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
1886 {
1887   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1888   const IDESC * UNUSED idesc = abuf->idesc;
1889   int cycles = 0;
1890   IADDR UNUSED pc = GET_H_PC ();
1891   CGEN_INSN_INT insn = abuf->insn;
1892   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
1893   EXTRACT_IFMT_LDSB_REG_IMM_CODE
1894   {
1895     int referenced = 0;
1896     int UNUSED insn_referenced = abuf->written;
1897     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1898   }
1899   return cycles;
1900 }
1901
1902 static int
1903 model_sparc64_def_ldsh_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
1904 {
1905   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1906   const IDESC * UNUSED idesc = abuf->idesc;
1907   int cycles = 0;
1908   IADDR UNUSED pc = GET_H_PC ();
1909   CGEN_INSN_INT insn = abuf->insn;
1910   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
1911   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
1912   {
1913     int referenced = 0;
1914     int UNUSED insn_referenced = abuf->written;
1915     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1916   }
1917   return cycles;
1918 }
1919
1920 static int
1921 model_sparc64_def_lduh_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
1922 {
1923   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1924   const IDESC * UNUSED idesc = abuf->idesc;
1925   int cycles = 0;
1926   IADDR UNUSED pc = GET_H_PC ();
1927   CGEN_INSN_INT insn = abuf->insn;
1928   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
1929   EXTRACT_IFMT_LDSB_REG_REG_CODE
1930   {
1931     int referenced = 0;
1932     int UNUSED insn_referenced = abuf->written;
1933     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1934   }
1935   return cycles;
1936 }
1937
1938 static int
1939 model_sparc64_def_lduh_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
1940 {
1941   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1942   const IDESC * UNUSED idesc = abuf->idesc;
1943   int cycles = 0;
1944   IADDR UNUSED pc = GET_H_PC ();
1945   CGEN_INSN_INT insn = abuf->insn;
1946   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
1947   EXTRACT_IFMT_LDSB_REG_IMM_CODE
1948   {
1949     int referenced = 0;
1950     int UNUSED insn_referenced = abuf->written;
1951     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1952   }
1953   return cycles;
1954 }
1955
1956 static int
1957 model_sparc64_def_lduh_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
1958 {
1959   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1960   const IDESC * UNUSED idesc = abuf->idesc;
1961   int cycles = 0;
1962   IADDR UNUSED pc = GET_H_PC ();
1963   CGEN_INSN_INT insn = abuf->insn;
1964   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
1965   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
1966   {
1967     int referenced = 0;
1968     int UNUSED insn_referenced = abuf->written;
1969     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1970   }
1971   return cycles;
1972 }
1973
1974 static int
1975 model_sparc64_def_ldsw_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
1976 {
1977   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1978   const IDESC * UNUSED idesc = abuf->idesc;
1979   int cycles = 0;
1980   IADDR UNUSED pc = GET_H_PC ();
1981   CGEN_INSN_INT insn = abuf->insn;
1982   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
1983   EXTRACT_IFMT_LDSB_REG_REG_CODE
1984   {
1985     int referenced = 0;
1986     int UNUSED insn_referenced = abuf->written;
1987     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
1988   }
1989   return cycles;
1990 }
1991
1992 static int
1993 model_sparc64_def_ldsw_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
1994 {
1995   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
1996   const IDESC * UNUSED idesc = abuf->idesc;
1997   int cycles = 0;
1998   IADDR UNUSED pc = GET_H_PC ();
1999   CGEN_INSN_INT insn = abuf->insn;
2000   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2001   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2002   {
2003     int referenced = 0;
2004     int UNUSED insn_referenced = abuf->written;
2005     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2006   }
2007   return cycles;
2008 }
2009
2010 static int
2011 model_sparc64_def_ldsw_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2012 {
2013   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2014   const IDESC * UNUSED idesc = abuf->idesc;
2015   int cycles = 0;
2016   IADDR UNUSED pc = GET_H_PC ();
2017   CGEN_INSN_INT insn = abuf->insn;
2018   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2019   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2020   {
2021     int referenced = 0;
2022     int UNUSED insn_referenced = abuf->written;
2023     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2024   }
2025   return cycles;
2026 }
2027
2028 static int
2029 model_sparc64_def_lduw_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2030 {
2031   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2032   const IDESC * UNUSED idesc = abuf->idesc;
2033   int cycles = 0;
2034   IADDR UNUSED pc = GET_H_PC ();
2035   CGEN_INSN_INT insn = abuf->insn;
2036   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2037   EXTRACT_IFMT_LDSB_REG_REG_CODE
2038   {
2039     int referenced = 0;
2040     int UNUSED insn_referenced = abuf->written;
2041     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2042   }
2043   return cycles;
2044 }
2045
2046 static int
2047 model_sparc64_def_lduw_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2048 {
2049   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2050   const IDESC * UNUSED idesc = abuf->idesc;
2051   int cycles = 0;
2052   IADDR UNUSED pc = GET_H_PC ();
2053   CGEN_INSN_INT insn = abuf->insn;
2054   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2055   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2056   {
2057     int referenced = 0;
2058     int UNUSED insn_referenced = abuf->written;
2059     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2060   }
2061   return cycles;
2062 }
2063
2064 static int
2065 model_sparc64_def_lduw_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2066 {
2067   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2068   const IDESC * UNUSED idesc = abuf->idesc;
2069   int cycles = 0;
2070   IADDR UNUSED pc = GET_H_PC ();
2071   CGEN_INSN_INT insn = abuf->insn;
2072   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2073   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2074   {
2075     int referenced = 0;
2076     int UNUSED insn_referenced = abuf->written;
2077     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2078   }
2079   return cycles;
2080 }
2081
2082 static int
2083 model_sparc64_def_ldx_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2084 {
2085   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2086   const IDESC * UNUSED idesc = abuf->idesc;
2087   int cycles = 0;
2088   IADDR UNUSED pc = GET_H_PC ();
2089   CGEN_INSN_INT insn = abuf->insn;
2090   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2091   EXTRACT_IFMT_LDSB_REG_REG_CODE
2092   {
2093     int referenced = 0;
2094     int UNUSED insn_referenced = abuf->written;
2095     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2096   }
2097   return cycles;
2098 }
2099
2100 static int
2101 model_sparc64_def_ldx_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2102 {
2103   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2104   const IDESC * UNUSED idesc = abuf->idesc;
2105   int cycles = 0;
2106   IADDR UNUSED pc = GET_H_PC ();
2107   CGEN_INSN_INT insn = abuf->insn;
2108   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2109   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2110   {
2111     int referenced = 0;
2112     int UNUSED insn_referenced = abuf->written;
2113     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2114   }
2115   return cycles;
2116 }
2117
2118 static int
2119 model_sparc64_def_ldx_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2120 {
2121   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2122   const IDESC * UNUSED idesc = abuf->idesc;
2123   int cycles = 0;
2124   IADDR UNUSED pc = GET_H_PC ();
2125   CGEN_INSN_INT insn = abuf->insn;
2126   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2127   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2128   {
2129     int referenced = 0;
2130     int UNUSED insn_referenced = abuf->written;
2131     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2132   }
2133   return cycles;
2134 }
2135
2136 static int
2137 model_sparc64_def_ldd_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2138 {
2139   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2140   const IDESC * UNUSED idesc = abuf->idesc;
2141   int cycles = 0;
2142   IADDR UNUSED pc = GET_H_PC ();
2143   CGEN_INSN_INT insn = abuf->insn;
2144   EXTRACT_IFMT_LDD_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2145   EXTRACT_IFMT_LDD_REG_REG_CODE
2146   {
2147     int referenced = 0;
2148     int UNUSED insn_referenced = abuf->written;
2149     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2150   }
2151   return cycles;
2152 }
2153
2154 static int
2155 model_sparc64_def_ldd_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2156 {
2157   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2158   const IDESC * UNUSED idesc = abuf->idesc;
2159   int cycles = 0;
2160   IADDR UNUSED pc = GET_H_PC ();
2161   CGEN_INSN_INT insn = abuf->insn;
2162   EXTRACT_IFMT_LDD_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2163   EXTRACT_IFMT_LDD_REG_IMM_CODE
2164   {
2165     int referenced = 0;
2166     int UNUSED insn_referenced = abuf->written;
2167     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2168   }
2169   return cycles;
2170 }
2171
2172 static int
2173 model_sparc64_def_ldd_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2174 {
2175   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2176   const IDESC * UNUSED idesc = abuf->idesc;
2177   int cycles = 0;
2178   IADDR UNUSED pc = GET_H_PC ();
2179   CGEN_INSN_INT insn = abuf->insn;
2180   EXTRACT_IFMT_LDD_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2181   EXTRACT_IFMT_LDD_REG_REG_ASI_CODE
2182   {
2183     int referenced = 0;
2184     int UNUSED insn_referenced = abuf->written;
2185     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2186   }
2187   return cycles;
2188 }
2189
2190 static int
2191 model_sparc64_def_stb_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2192 {
2193   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2194   const IDESC * UNUSED idesc = abuf->idesc;
2195   int cycles = 0;
2196   IADDR UNUSED pc = GET_H_PC ();
2197   CGEN_INSN_INT insn = abuf->insn;
2198   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2199   EXTRACT_IFMT_LDSB_REG_REG_CODE
2200   {
2201     int referenced = 0;
2202     int UNUSED insn_referenced = abuf->written;
2203     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2204   }
2205   return cycles;
2206 }
2207
2208 static int
2209 model_sparc64_def_stb_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2210 {
2211   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2212   const IDESC * UNUSED idesc = abuf->idesc;
2213   int cycles = 0;
2214   IADDR UNUSED pc = GET_H_PC ();
2215   CGEN_INSN_INT insn = abuf->insn;
2216   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2217   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2218   {
2219     int referenced = 0;
2220     int UNUSED insn_referenced = abuf->written;
2221     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2222   }
2223   return cycles;
2224 }
2225
2226 static int
2227 model_sparc64_def_stb_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2228 {
2229   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2230   const IDESC * UNUSED idesc = abuf->idesc;
2231   int cycles = 0;
2232   IADDR UNUSED pc = GET_H_PC ();
2233   CGEN_INSN_INT insn = abuf->insn;
2234   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2235   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2236   {
2237     int referenced = 0;
2238     int UNUSED insn_referenced = abuf->written;
2239     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2240   }
2241   return cycles;
2242 }
2243
2244 static int
2245 model_sparc64_def_sth_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2246 {
2247   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2248   const IDESC * UNUSED idesc = abuf->idesc;
2249   int cycles = 0;
2250   IADDR UNUSED pc = GET_H_PC ();
2251   CGEN_INSN_INT insn = abuf->insn;
2252   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2253   EXTRACT_IFMT_LDSB_REG_REG_CODE
2254   {
2255     int referenced = 0;
2256     int UNUSED insn_referenced = abuf->written;
2257     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2258   }
2259   return cycles;
2260 }
2261
2262 static int
2263 model_sparc64_def_sth_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2264 {
2265   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2266   const IDESC * UNUSED idesc = abuf->idesc;
2267   int cycles = 0;
2268   IADDR UNUSED pc = GET_H_PC ();
2269   CGEN_INSN_INT insn = abuf->insn;
2270   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2271   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2272   {
2273     int referenced = 0;
2274     int UNUSED insn_referenced = abuf->written;
2275     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2276   }
2277   return cycles;
2278 }
2279
2280 static int
2281 model_sparc64_def_sth_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2282 {
2283   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2284   const IDESC * UNUSED idesc = abuf->idesc;
2285   int cycles = 0;
2286   IADDR UNUSED pc = GET_H_PC ();
2287   CGEN_INSN_INT insn = abuf->insn;
2288   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2289   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2290   {
2291     int referenced = 0;
2292     int UNUSED insn_referenced = abuf->written;
2293     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2294   }
2295   return cycles;
2296 }
2297
2298 static int
2299 model_sparc64_def_st_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2300 {
2301   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2302   const IDESC * UNUSED idesc = abuf->idesc;
2303   int cycles = 0;
2304   IADDR UNUSED pc = GET_H_PC ();
2305   CGEN_INSN_INT insn = abuf->insn;
2306   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2307   EXTRACT_IFMT_LDSB_REG_REG_CODE
2308   {
2309     int referenced = 0;
2310     int UNUSED insn_referenced = abuf->written;
2311     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2312   }
2313   return cycles;
2314 }
2315
2316 static int
2317 model_sparc64_def_st_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2318 {
2319   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2320   const IDESC * UNUSED idesc = abuf->idesc;
2321   int cycles = 0;
2322   IADDR UNUSED pc = GET_H_PC ();
2323   CGEN_INSN_INT insn = abuf->insn;
2324   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2325   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2326   {
2327     int referenced = 0;
2328     int UNUSED insn_referenced = abuf->written;
2329     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2330   }
2331   return cycles;
2332 }
2333
2334 static int
2335 model_sparc64_def_st_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2336 {
2337   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2338   const IDESC * UNUSED idesc = abuf->idesc;
2339   int cycles = 0;
2340   IADDR UNUSED pc = GET_H_PC ();
2341   CGEN_INSN_INT insn = abuf->insn;
2342   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2343   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2344   {
2345     int referenced = 0;
2346     int UNUSED insn_referenced = abuf->written;
2347     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2348   }
2349   return cycles;
2350 }
2351
2352 static int
2353 model_sparc64_def_stx_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2354 {
2355   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2356   const IDESC * UNUSED idesc = abuf->idesc;
2357   int cycles = 0;
2358   IADDR UNUSED pc = GET_H_PC ();
2359   CGEN_INSN_INT insn = abuf->insn;
2360   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2361   EXTRACT_IFMT_LDSB_REG_REG_CODE
2362   {
2363     int referenced = 0;
2364     int UNUSED insn_referenced = abuf->written;
2365     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2366   }
2367   return cycles;
2368 }
2369
2370 static int
2371 model_sparc64_def_stx_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2372 {
2373   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2374   const IDESC * UNUSED idesc = abuf->idesc;
2375   int cycles = 0;
2376   IADDR UNUSED pc = GET_H_PC ();
2377   CGEN_INSN_INT insn = abuf->insn;
2378   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2379   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2380   {
2381     int referenced = 0;
2382     int UNUSED insn_referenced = abuf->written;
2383     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2384   }
2385   return cycles;
2386 }
2387
2388 static int
2389 model_sparc64_def_stx_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2390 {
2391   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2392   const IDESC * UNUSED idesc = abuf->idesc;
2393   int cycles = 0;
2394   IADDR UNUSED pc = GET_H_PC ();
2395   CGEN_INSN_INT insn = abuf->insn;
2396   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2397   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
2398   {
2399     int referenced = 0;
2400     int UNUSED insn_referenced = abuf->written;
2401     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2402   }
2403   return cycles;
2404 }
2405
2406 static int
2407 model_sparc64_def_std_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2408 {
2409   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2410   const IDESC * UNUSED idesc = abuf->idesc;
2411   int cycles = 0;
2412   IADDR UNUSED pc = GET_H_PC ();
2413   CGEN_INSN_INT insn = abuf->insn;
2414   EXTRACT_IFMT_LDD_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2415   EXTRACT_IFMT_LDD_REG_REG_CODE
2416   {
2417     int referenced = 0;
2418     int UNUSED insn_referenced = abuf->written;
2419     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2420   }
2421   return cycles;
2422 }
2423
2424 static int
2425 model_sparc64_def_std_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2426 {
2427   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2428   const IDESC * UNUSED idesc = abuf->idesc;
2429   int cycles = 0;
2430   IADDR UNUSED pc = GET_H_PC ();
2431   CGEN_INSN_INT insn = abuf->insn;
2432   EXTRACT_IFMT_LDD_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2433   EXTRACT_IFMT_LDD_REG_IMM_CODE
2434   {
2435     int referenced = 0;
2436     int UNUSED insn_referenced = abuf->written;
2437     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2438   }
2439   return cycles;
2440 }
2441
2442 static int
2443 model_sparc64_def_std_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2444 {
2445   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2446   const IDESC * UNUSED idesc = abuf->idesc;
2447   int cycles = 0;
2448   IADDR UNUSED pc = GET_H_PC ();
2449   CGEN_INSN_INT insn = abuf->insn;
2450   EXTRACT_IFMT_LDD_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2451   EXTRACT_IFMT_LDD_REG_REG_ASI_CODE
2452   {
2453     int referenced = 0;
2454     int UNUSED insn_referenced = abuf->written;
2455     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2456   }
2457   return cycles;
2458 }
2459
2460 static int
2461 model_sparc64_def_fp_ld_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
2462 {
2463   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2464   const IDESC * UNUSED idesc = abuf->idesc;
2465   int cycles = 0;
2466   IADDR UNUSED pc = GET_H_PC ();
2467   CGEN_INSN_INT insn = abuf->insn;
2468   EXTRACT_IFMT_FP_LD_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2469   EXTRACT_IFMT_FP_LD_REG_REG_CODE
2470   {
2471     int referenced = 0;
2472     int UNUSED insn_referenced = abuf->written;
2473     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2474   }
2475   return cycles;
2476 }
2477
2478 static int
2479 model_sparc64_def_fp_ld_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
2480 {
2481   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2482   const IDESC * UNUSED idesc = abuf->idesc;
2483   int cycles = 0;
2484   IADDR UNUSED pc = GET_H_PC ();
2485   CGEN_INSN_INT insn = abuf->insn;
2486   EXTRACT_IFMT_FP_LD_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2487   EXTRACT_IFMT_FP_LD_REG_IMM_CODE
2488   {
2489     int referenced = 0;
2490     int UNUSED insn_referenced = abuf->written;
2491     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2492   }
2493   return cycles;
2494 }
2495
2496 static int
2497 model_sparc64_def_fp_ld_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
2498 {
2499   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2500   const IDESC * UNUSED idesc = abuf->idesc;
2501   int cycles = 0;
2502   IADDR UNUSED pc = GET_H_PC ();
2503   CGEN_INSN_INT insn = abuf->insn;
2504   EXTRACT_IFMT_FP_LD_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
2505   EXTRACT_IFMT_FP_LD_REG_REG_ASI_CODE
2506   {
2507     int referenced = 0;
2508     int UNUSED insn_referenced = abuf->written;
2509     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2510   }
2511   return cycles;
2512 }
2513
2514 static int
2515 model_sparc64_def_sethi (SIM_CPU *current_cpu, void *sem_arg)
2516 {
2517   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2518   const IDESC * UNUSED idesc = abuf->idesc;
2519   int cycles = 0;
2520   IADDR UNUSED pc = GET_H_PC ();
2521   CGEN_INSN_INT insn = abuf->insn;
2522   EXTRACT_IFMT_SETHI_VARS /* f-hi22 f-op2 f-rd f-op */
2523   EXTRACT_IFMT_SETHI_CODE
2524   {
2525     int referenced = 0;
2526     int UNUSED insn_referenced = abuf->written;
2527     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2528   }
2529   return cycles;
2530 }
2531
2532 static int
2533 model_sparc64_def_add (SIM_CPU *current_cpu, void *sem_arg)
2534 {
2535   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2536   const IDESC * UNUSED idesc = abuf->idesc;
2537   int cycles = 0;
2538   IADDR UNUSED pc = GET_H_PC ();
2539   CGEN_INSN_INT insn = abuf->insn;
2540   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2541   EXTRACT_IFMT_LDSB_REG_REG_CODE
2542   {
2543     int referenced = 0;
2544     int UNUSED insn_referenced = abuf->written;
2545     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2546   }
2547   return cycles;
2548 }
2549
2550 static int
2551 model_sparc64_def_add_imm (SIM_CPU *current_cpu, void *sem_arg)
2552 {
2553   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2554   const IDESC * UNUSED idesc = abuf->idesc;
2555   int cycles = 0;
2556   IADDR UNUSED pc = GET_H_PC ();
2557   CGEN_INSN_INT insn = abuf->insn;
2558   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2559   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2560   {
2561     int referenced = 0;
2562     int UNUSED insn_referenced = abuf->written;
2563     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2564   }
2565   return cycles;
2566 }
2567
2568 static int
2569 model_sparc64_def_sub (SIM_CPU *current_cpu, void *sem_arg)
2570 {
2571   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2572   const IDESC * UNUSED idesc = abuf->idesc;
2573   int cycles = 0;
2574   IADDR UNUSED pc = GET_H_PC ();
2575   CGEN_INSN_INT insn = abuf->insn;
2576   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2577   EXTRACT_IFMT_LDSB_REG_REG_CODE
2578   {
2579     int referenced = 0;
2580     int UNUSED insn_referenced = abuf->written;
2581     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2582   }
2583   return cycles;
2584 }
2585
2586 static int
2587 model_sparc64_def_sub_imm (SIM_CPU *current_cpu, void *sem_arg)
2588 {
2589   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2590   const IDESC * UNUSED idesc = abuf->idesc;
2591   int cycles = 0;
2592   IADDR UNUSED pc = GET_H_PC ();
2593   CGEN_INSN_INT insn = abuf->insn;
2594   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2595   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2596   {
2597     int referenced = 0;
2598     int UNUSED insn_referenced = abuf->written;
2599     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2600   }
2601   return cycles;
2602 }
2603
2604 static int
2605 model_sparc64_def_addcc (SIM_CPU *current_cpu, void *sem_arg)
2606 {
2607   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2608   const IDESC * UNUSED idesc = abuf->idesc;
2609   int cycles = 0;
2610   IADDR UNUSED pc = GET_H_PC ();
2611   CGEN_INSN_INT insn = abuf->insn;
2612   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2613   EXTRACT_IFMT_LDSB_REG_REG_CODE
2614   {
2615     int referenced = 0;
2616     int UNUSED insn_referenced = abuf->written;
2617     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2618   }
2619   return cycles;
2620 }
2621
2622 static int
2623 model_sparc64_def_addcc_imm (SIM_CPU *current_cpu, void *sem_arg)
2624 {
2625   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2626   const IDESC * UNUSED idesc = abuf->idesc;
2627   int cycles = 0;
2628   IADDR UNUSED pc = GET_H_PC ();
2629   CGEN_INSN_INT insn = abuf->insn;
2630   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2631   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2632   {
2633     int referenced = 0;
2634     int UNUSED insn_referenced = abuf->written;
2635     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2636   }
2637   return cycles;
2638 }
2639
2640 static int
2641 model_sparc64_def_subcc (SIM_CPU *current_cpu, void *sem_arg)
2642 {
2643   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2644   const IDESC * UNUSED idesc = abuf->idesc;
2645   int cycles = 0;
2646   IADDR UNUSED pc = GET_H_PC ();
2647   CGEN_INSN_INT insn = abuf->insn;
2648   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2649   EXTRACT_IFMT_LDSB_REG_REG_CODE
2650   {
2651     int referenced = 0;
2652     int UNUSED insn_referenced = abuf->written;
2653     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2654   }
2655   return cycles;
2656 }
2657
2658 static int
2659 model_sparc64_def_subcc_imm (SIM_CPU *current_cpu, void *sem_arg)
2660 {
2661   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2662   const IDESC * UNUSED idesc = abuf->idesc;
2663   int cycles = 0;
2664   IADDR UNUSED pc = GET_H_PC ();
2665   CGEN_INSN_INT insn = abuf->insn;
2666   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2667   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2668   {
2669     int referenced = 0;
2670     int UNUSED insn_referenced = abuf->written;
2671     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2672   }
2673   return cycles;
2674 }
2675
2676 static int
2677 model_sparc64_def_addc (SIM_CPU *current_cpu, void *sem_arg)
2678 {
2679   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2680   const IDESC * UNUSED idesc = abuf->idesc;
2681   int cycles = 0;
2682   IADDR UNUSED pc = GET_H_PC ();
2683   CGEN_INSN_INT insn = abuf->insn;
2684   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2685   EXTRACT_IFMT_LDSB_REG_REG_CODE
2686   {
2687     int referenced = 0;
2688     int UNUSED insn_referenced = abuf->written;
2689     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2690   }
2691   return cycles;
2692 }
2693
2694 static int
2695 model_sparc64_def_addc_imm (SIM_CPU *current_cpu, void *sem_arg)
2696 {
2697   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2698   const IDESC * UNUSED idesc = abuf->idesc;
2699   int cycles = 0;
2700   IADDR UNUSED pc = GET_H_PC ();
2701   CGEN_INSN_INT insn = abuf->insn;
2702   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2703   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2704   {
2705     int referenced = 0;
2706     int UNUSED insn_referenced = abuf->written;
2707     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2708   }
2709   return cycles;
2710 }
2711
2712 static int
2713 model_sparc64_def_subc (SIM_CPU *current_cpu, void *sem_arg)
2714 {
2715   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2716   const IDESC * UNUSED idesc = abuf->idesc;
2717   int cycles = 0;
2718   IADDR UNUSED pc = GET_H_PC ();
2719   CGEN_INSN_INT insn = abuf->insn;
2720   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2721   EXTRACT_IFMT_LDSB_REG_REG_CODE
2722   {
2723     int referenced = 0;
2724     int UNUSED insn_referenced = abuf->written;
2725     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2726   }
2727   return cycles;
2728 }
2729
2730 static int
2731 model_sparc64_def_subc_imm (SIM_CPU *current_cpu, void *sem_arg)
2732 {
2733   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2734   const IDESC * UNUSED idesc = abuf->idesc;
2735   int cycles = 0;
2736   IADDR UNUSED pc = GET_H_PC ();
2737   CGEN_INSN_INT insn = abuf->insn;
2738   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2739   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2740   {
2741     int referenced = 0;
2742     int UNUSED insn_referenced = abuf->written;
2743     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2744   }
2745   return cycles;
2746 }
2747
2748 static int
2749 model_sparc64_def_addccc (SIM_CPU *current_cpu, void *sem_arg)
2750 {
2751   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2752   const IDESC * UNUSED idesc = abuf->idesc;
2753   int cycles = 0;
2754   IADDR UNUSED pc = GET_H_PC ();
2755   CGEN_INSN_INT insn = abuf->insn;
2756   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2757   EXTRACT_IFMT_LDSB_REG_REG_CODE
2758   {
2759     int referenced = 0;
2760     int UNUSED insn_referenced = abuf->written;
2761     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2762   }
2763   return cycles;
2764 }
2765
2766 static int
2767 model_sparc64_def_addccc_imm (SIM_CPU *current_cpu, void *sem_arg)
2768 {
2769   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2770   const IDESC * UNUSED idesc = abuf->idesc;
2771   int cycles = 0;
2772   IADDR UNUSED pc = GET_H_PC ();
2773   CGEN_INSN_INT insn = abuf->insn;
2774   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2775   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2776   {
2777     int referenced = 0;
2778     int UNUSED insn_referenced = abuf->written;
2779     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2780   }
2781   return cycles;
2782 }
2783
2784 static int
2785 model_sparc64_def_subccc (SIM_CPU *current_cpu, void *sem_arg)
2786 {
2787   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2788   const IDESC * UNUSED idesc = abuf->idesc;
2789   int cycles = 0;
2790   IADDR UNUSED pc = GET_H_PC ();
2791   CGEN_INSN_INT insn = abuf->insn;
2792   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2793   EXTRACT_IFMT_LDSB_REG_REG_CODE
2794   {
2795     int referenced = 0;
2796     int UNUSED insn_referenced = abuf->written;
2797     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2798   }
2799   return cycles;
2800 }
2801
2802 static int
2803 model_sparc64_def_subccc_imm (SIM_CPU *current_cpu, void *sem_arg)
2804 {
2805   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2806   const IDESC * UNUSED idesc = abuf->idesc;
2807   int cycles = 0;
2808   IADDR UNUSED pc = GET_H_PC ();
2809   CGEN_INSN_INT insn = abuf->insn;
2810   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2811   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2812   {
2813     int referenced = 0;
2814     int UNUSED insn_referenced = abuf->written;
2815     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2816   }
2817   return cycles;
2818 }
2819
2820 static int
2821 model_sparc64_def_and (SIM_CPU *current_cpu, void *sem_arg)
2822 {
2823   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2824   const IDESC * UNUSED idesc = abuf->idesc;
2825   int cycles = 0;
2826   IADDR UNUSED pc = GET_H_PC ();
2827   CGEN_INSN_INT insn = abuf->insn;
2828   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2829   EXTRACT_IFMT_LDSB_REG_REG_CODE
2830   {
2831     int referenced = 0;
2832     int UNUSED insn_referenced = abuf->written;
2833     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2834   }
2835   return cycles;
2836 }
2837
2838 static int
2839 model_sparc64_def_and_imm (SIM_CPU *current_cpu, void *sem_arg)
2840 {
2841   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2842   const IDESC * UNUSED idesc = abuf->idesc;
2843   int cycles = 0;
2844   IADDR UNUSED pc = GET_H_PC ();
2845   CGEN_INSN_INT insn = abuf->insn;
2846   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2847   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2848   {
2849     int referenced = 0;
2850     int UNUSED insn_referenced = abuf->written;
2851     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2852   }
2853   return cycles;
2854 }
2855
2856 static int
2857 model_sparc64_def_andcc (SIM_CPU *current_cpu, void *sem_arg)
2858 {
2859   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2860   const IDESC * UNUSED idesc = abuf->idesc;
2861   int cycles = 0;
2862   IADDR UNUSED pc = GET_H_PC ();
2863   CGEN_INSN_INT insn = abuf->insn;
2864   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2865   EXTRACT_IFMT_LDSB_REG_REG_CODE
2866   {
2867     int referenced = 0;
2868     int UNUSED insn_referenced = abuf->written;
2869     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2870   }
2871   return cycles;
2872 }
2873
2874 static int
2875 model_sparc64_def_andcc_imm (SIM_CPU *current_cpu, void *sem_arg)
2876 {
2877   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2878   const IDESC * UNUSED idesc = abuf->idesc;
2879   int cycles = 0;
2880   IADDR UNUSED pc = GET_H_PC ();
2881   CGEN_INSN_INT insn = abuf->insn;
2882   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2883   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2884   {
2885     int referenced = 0;
2886     int UNUSED insn_referenced = abuf->written;
2887     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2888   }
2889   return cycles;
2890 }
2891
2892 static int
2893 model_sparc64_def_or (SIM_CPU *current_cpu, void *sem_arg)
2894 {
2895   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2896   const IDESC * UNUSED idesc = abuf->idesc;
2897   int cycles = 0;
2898   IADDR UNUSED pc = GET_H_PC ();
2899   CGEN_INSN_INT insn = abuf->insn;
2900   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2901   EXTRACT_IFMT_LDSB_REG_REG_CODE
2902   {
2903     int referenced = 0;
2904     int UNUSED insn_referenced = abuf->written;
2905     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2906   }
2907   return cycles;
2908 }
2909
2910 static int
2911 model_sparc64_def_or_imm (SIM_CPU *current_cpu, void *sem_arg)
2912 {
2913   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2914   const IDESC * UNUSED idesc = abuf->idesc;
2915   int cycles = 0;
2916   IADDR UNUSED pc = GET_H_PC ();
2917   CGEN_INSN_INT insn = abuf->insn;
2918   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2919   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2920   {
2921     int referenced = 0;
2922     int UNUSED insn_referenced = abuf->written;
2923     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2924   }
2925   return cycles;
2926 }
2927
2928 static int
2929 model_sparc64_def_orcc (SIM_CPU *current_cpu, void *sem_arg)
2930 {
2931   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2932   const IDESC * UNUSED idesc = abuf->idesc;
2933   int cycles = 0;
2934   IADDR UNUSED pc = GET_H_PC ();
2935   CGEN_INSN_INT insn = abuf->insn;
2936   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2937   EXTRACT_IFMT_LDSB_REG_REG_CODE
2938   {
2939     int referenced = 0;
2940     int UNUSED insn_referenced = abuf->written;
2941     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2942   }
2943   return cycles;
2944 }
2945
2946 static int
2947 model_sparc64_def_orcc_imm (SIM_CPU *current_cpu, void *sem_arg)
2948 {
2949   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2950   const IDESC * UNUSED idesc = abuf->idesc;
2951   int cycles = 0;
2952   IADDR UNUSED pc = GET_H_PC ();
2953   CGEN_INSN_INT insn = abuf->insn;
2954   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2955   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2956   {
2957     int referenced = 0;
2958     int UNUSED insn_referenced = abuf->written;
2959     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2960   }
2961   return cycles;
2962 }
2963
2964 static int
2965 model_sparc64_def_xor (SIM_CPU *current_cpu, void *sem_arg)
2966 {
2967   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2968   const IDESC * UNUSED idesc = abuf->idesc;
2969   int cycles = 0;
2970   IADDR UNUSED pc = GET_H_PC ();
2971   CGEN_INSN_INT insn = abuf->insn;
2972   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
2973   EXTRACT_IFMT_LDSB_REG_REG_CODE
2974   {
2975     int referenced = 0;
2976     int UNUSED insn_referenced = abuf->written;
2977     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2978   }
2979   return cycles;
2980 }
2981
2982 static int
2983 model_sparc64_def_xor_imm (SIM_CPU *current_cpu, void *sem_arg)
2984 {
2985   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
2986   const IDESC * UNUSED idesc = abuf->idesc;
2987   int cycles = 0;
2988   IADDR UNUSED pc = GET_H_PC ();
2989   CGEN_INSN_INT insn = abuf->insn;
2990   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
2991   EXTRACT_IFMT_LDSB_REG_IMM_CODE
2992   {
2993     int referenced = 0;
2994     int UNUSED insn_referenced = abuf->written;
2995     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
2996   }
2997   return cycles;
2998 }
2999
3000 static int
3001 model_sparc64_def_xorcc (SIM_CPU *current_cpu, void *sem_arg)
3002 {
3003   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3004   const IDESC * UNUSED idesc = abuf->idesc;
3005   int cycles = 0;
3006   IADDR UNUSED pc = GET_H_PC ();
3007   CGEN_INSN_INT insn = abuf->insn;
3008   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3009   EXTRACT_IFMT_LDSB_REG_REG_CODE
3010   {
3011     int referenced = 0;
3012     int UNUSED insn_referenced = abuf->written;
3013     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3014   }
3015   return cycles;
3016 }
3017
3018 static int
3019 model_sparc64_def_xorcc_imm (SIM_CPU *current_cpu, void *sem_arg)
3020 {
3021   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3022   const IDESC * UNUSED idesc = abuf->idesc;
3023   int cycles = 0;
3024   IADDR UNUSED pc = GET_H_PC ();
3025   CGEN_INSN_INT insn = abuf->insn;
3026   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3027   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3028   {
3029     int referenced = 0;
3030     int UNUSED insn_referenced = abuf->written;
3031     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3032   }
3033   return cycles;
3034 }
3035
3036 static int
3037 model_sparc64_def_andn (SIM_CPU *current_cpu, void *sem_arg)
3038 {
3039   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3040   const IDESC * UNUSED idesc = abuf->idesc;
3041   int cycles = 0;
3042   IADDR UNUSED pc = GET_H_PC ();
3043   CGEN_INSN_INT insn = abuf->insn;
3044   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3045   EXTRACT_IFMT_LDSB_REG_REG_CODE
3046   {
3047     int referenced = 0;
3048     int UNUSED insn_referenced = abuf->written;
3049     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3050   }
3051   return cycles;
3052 }
3053
3054 static int
3055 model_sparc64_def_andn_imm (SIM_CPU *current_cpu, void *sem_arg)
3056 {
3057   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3058   const IDESC * UNUSED idesc = abuf->idesc;
3059   int cycles = 0;
3060   IADDR UNUSED pc = GET_H_PC ();
3061   CGEN_INSN_INT insn = abuf->insn;
3062   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3063   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3064   {
3065     int referenced = 0;
3066     int UNUSED insn_referenced = abuf->written;
3067     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3068   }
3069   return cycles;
3070 }
3071
3072 static int
3073 model_sparc64_def_andncc (SIM_CPU *current_cpu, void *sem_arg)
3074 {
3075   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3076   const IDESC * UNUSED idesc = abuf->idesc;
3077   int cycles = 0;
3078   IADDR UNUSED pc = GET_H_PC ();
3079   CGEN_INSN_INT insn = abuf->insn;
3080   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3081   EXTRACT_IFMT_LDSB_REG_REG_CODE
3082   {
3083     int referenced = 0;
3084     int UNUSED insn_referenced = abuf->written;
3085     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3086   }
3087   return cycles;
3088 }
3089
3090 static int
3091 model_sparc64_def_andncc_imm (SIM_CPU *current_cpu, void *sem_arg)
3092 {
3093   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3094   const IDESC * UNUSED idesc = abuf->idesc;
3095   int cycles = 0;
3096   IADDR UNUSED pc = GET_H_PC ();
3097   CGEN_INSN_INT insn = abuf->insn;
3098   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3099   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3100   {
3101     int referenced = 0;
3102     int UNUSED insn_referenced = abuf->written;
3103     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3104   }
3105   return cycles;
3106 }
3107
3108 static int
3109 model_sparc64_def_orn (SIM_CPU *current_cpu, void *sem_arg)
3110 {
3111   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3112   const IDESC * UNUSED idesc = abuf->idesc;
3113   int cycles = 0;
3114   IADDR UNUSED pc = GET_H_PC ();
3115   CGEN_INSN_INT insn = abuf->insn;
3116   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3117   EXTRACT_IFMT_LDSB_REG_REG_CODE
3118   {
3119     int referenced = 0;
3120     int UNUSED insn_referenced = abuf->written;
3121     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3122   }
3123   return cycles;
3124 }
3125
3126 static int
3127 model_sparc64_def_orn_imm (SIM_CPU *current_cpu, void *sem_arg)
3128 {
3129   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3130   const IDESC * UNUSED idesc = abuf->idesc;
3131   int cycles = 0;
3132   IADDR UNUSED pc = GET_H_PC ();
3133   CGEN_INSN_INT insn = abuf->insn;
3134   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3135   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3136   {
3137     int referenced = 0;
3138     int UNUSED insn_referenced = abuf->written;
3139     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3140   }
3141   return cycles;
3142 }
3143
3144 static int
3145 model_sparc64_def_orncc (SIM_CPU *current_cpu, void *sem_arg)
3146 {
3147   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3148   const IDESC * UNUSED idesc = abuf->idesc;
3149   int cycles = 0;
3150   IADDR UNUSED pc = GET_H_PC ();
3151   CGEN_INSN_INT insn = abuf->insn;
3152   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3153   EXTRACT_IFMT_LDSB_REG_REG_CODE
3154   {
3155     int referenced = 0;
3156     int UNUSED insn_referenced = abuf->written;
3157     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3158   }
3159   return cycles;
3160 }
3161
3162 static int
3163 model_sparc64_def_orncc_imm (SIM_CPU *current_cpu, void *sem_arg)
3164 {
3165   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3166   const IDESC * UNUSED idesc = abuf->idesc;
3167   int cycles = 0;
3168   IADDR UNUSED pc = GET_H_PC ();
3169   CGEN_INSN_INT insn = abuf->insn;
3170   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3171   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3172   {
3173     int referenced = 0;
3174     int UNUSED insn_referenced = abuf->written;
3175     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3176   }
3177   return cycles;
3178 }
3179
3180 static int
3181 model_sparc64_def_xnor (SIM_CPU *current_cpu, void *sem_arg)
3182 {
3183   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3184   const IDESC * UNUSED idesc = abuf->idesc;
3185   int cycles = 0;
3186   IADDR UNUSED pc = GET_H_PC ();
3187   CGEN_INSN_INT insn = abuf->insn;
3188   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3189   EXTRACT_IFMT_LDSB_REG_REG_CODE
3190   {
3191     int referenced = 0;
3192     int UNUSED insn_referenced = abuf->written;
3193     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3194   }
3195   return cycles;
3196 }
3197
3198 static int
3199 model_sparc64_def_xnor_imm (SIM_CPU *current_cpu, void *sem_arg)
3200 {
3201   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3202   const IDESC * UNUSED idesc = abuf->idesc;
3203   int cycles = 0;
3204   IADDR UNUSED pc = GET_H_PC ();
3205   CGEN_INSN_INT insn = abuf->insn;
3206   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3207   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3208   {
3209     int referenced = 0;
3210     int UNUSED insn_referenced = abuf->written;
3211     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3212   }
3213   return cycles;
3214 }
3215
3216 static int
3217 model_sparc64_def_xnorcc (SIM_CPU *current_cpu, void *sem_arg)
3218 {
3219   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3220   const IDESC * UNUSED idesc = abuf->idesc;
3221   int cycles = 0;
3222   IADDR UNUSED pc = GET_H_PC ();
3223   CGEN_INSN_INT insn = abuf->insn;
3224   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3225   EXTRACT_IFMT_LDSB_REG_REG_CODE
3226   {
3227     int referenced = 0;
3228     int UNUSED insn_referenced = abuf->written;
3229     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3230   }
3231   return cycles;
3232 }
3233
3234 static int
3235 model_sparc64_def_xnorcc_imm (SIM_CPU *current_cpu, void *sem_arg)
3236 {
3237   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3238   const IDESC * UNUSED idesc = abuf->idesc;
3239   int cycles = 0;
3240   IADDR UNUSED pc = GET_H_PC ();
3241   CGEN_INSN_INT insn = abuf->insn;
3242   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3243   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3244   {
3245     int referenced = 0;
3246     int UNUSED insn_referenced = abuf->written;
3247     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3248   }
3249   return cycles;
3250 }
3251
3252 static int
3253 model_sparc64_def_sll (SIM_CPU *current_cpu, void *sem_arg)
3254 {
3255   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3256   const IDESC * UNUSED idesc = abuf->idesc;
3257   int cycles = 0;
3258   IADDR UNUSED pc = GET_H_PC ();
3259   CGEN_INSN_INT insn = abuf->insn;
3260   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3261   EXTRACT_IFMT_LDSB_REG_REG_CODE
3262   {
3263     int referenced = 0;
3264     int UNUSED insn_referenced = abuf->written;
3265     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3266   }
3267   return cycles;
3268 }
3269
3270 static int
3271 model_sparc64_def_sll_imm (SIM_CPU *current_cpu, void *sem_arg)
3272 {
3273   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3274   const IDESC * UNUSED idesc = abuf->idesc;
3275   int cycles = 0;
3276   IADDR UNUSED pc = GET_H_PC ();
3277   CGEN_INSN_INT insn = abuf->insn;
3278   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3279   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3280   {
3281     int referenced = 0;
3282     int UNUSED insn_referenced = abuf->written;
3283     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3284   }
3285   return cycles;
3286 }
3287
3288 static int
3289 model_sparc64_def_srl (SIM_CPU *current_cpu, void *sem_arg)
3290 {
3291   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3292   const IDESC * UNUSED idesc = abuf->idesc;
3293   int cycles = 0;
3294   IADDR UNUSED pc = GET_H_PC ();
3295   CGEN_INSN_INT insn = abuf->insn;
3296   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3297   EXTRACT_IFMT_LDSB_REG_REG_CODE
3298   {
3299     int referenced = 0;
3300     int UNUSED insn_referenced = abuf->written;
3301     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3302   }
3303   return cycles;
3304 }
3305
3306 static int
3307 model_sparc64_def_srl_imm (SIM_CPU *current_cpu, void *sem_arg)
3308 {
3309   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3310   const IDESC * UNUSED idesc = abuf->idesc;
3311   int cycles = 0;
3312   IADDR UNUSED pc = GET_H_PC ();
3313   CGEN_INSN_INT insn = abuf->insn;
3314   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3315   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3316   {
3317     int referenced = 0;
3318     int UNUSED insn_referenced = abuf->written;
3319     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3320   }
3321   return cycles;
3322 }
3323
3324 static int
3325 model_sparc64_def_sra (SIM_CPU *current_cpu, void *sem_arg)
3326 {
3327   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3328   const IDESC * UNUSED idesc = abuf->idesc;
3329   int cycles = 0;
3330   IADDR UNUSED pc = GET_H_PC ();
3331   CGEN_INSN_INT insn = abuf->insn;
3332   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3333   EXTRACT_IFMT_LDSB_REG_REG_CODE
3334   {
3335     int referenced = 0;
3336     int UNUSED insn_referenced = abuf->written;
3337     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3338   }
3339   return cycles;
3340 }
3341
3342 static int
3343 model_sparc64_def_sra_imm (SIM_CPU *current_cpu, void *sem_arg)
3344 {
3345   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3346   const IDESC * UNUSED idesc = abuf->idesc;
3347   int cycles = 0;
3348   IADDR UNUSED pc = GET_H_PC ();
3349   CGEN_INSN_INT insn = abuf->insn;
3350   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3351   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3352   {
3353     int referenced = 0;
3354     int UNUSED insn_referenced = abuf->written;
3355     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3356   }
3357   return cycles;
3358 }
3359
3360 static int
3361 model_sparc64_def_smul (SIM_CPU *current_cpu, void *sem_arg)
3362 {
3363   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3364   const IDESC * UNUSED idesc = abuf->idesc;
3365   int cycles = 0;
3366   IADDR UNUSED pc = GET_H_PC ();
3367   CGEN_INSN_INT insn = abuf->insn;
3368   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3369   EXTRACT_IFMT_LDSB_REG_REG_CODE
3370   {
3371     int referenced = 0;
3372     int UNUSED insn_referenced = abuf->written;
3373     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3374   }
3375   return cycles;
3376 }
3377
3378 static int
3379 model_sparc64_def_smul_imm (SIM_CPU *current_cpu, void *sem_arg)
3380 {
3381   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3382   const IDESC * UNUSED idesc = abuf->idesc;
3383   int cycles = 0;
3384   IADDR UNUSED pc = GET_H_PC ();
3385   CGEN_INSN_INT insn = abuf->insn;
3386   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3387   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3388   {
3389     int referenced = 0;
3390     int UNUSED insn_referenced = abuf->written;
3391     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3392   }
3393   return cycles;
3394 }
3395
3396 static int
3397 model_sparc64_def_smul_cc (SIM_CPU *current_cpu, void *sem_arg)
3398 {
3399   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3400   const IDESC * UNUSED idesc = abuf->idesc;
3401   int cycles = 0;
3402   IADDR UNUSED pc = GET_H_PC ();
3403   CGEN_INSN_INT insn = abuf->insn;
3404   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3405   EXTRACT_IFMT_LDSB_REG_REG_CODE
3406   {
3407     int referenced = 0;
3408     int UNUSED insn_referenced = abuf->written;
3409     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3410   }
3411   return cycles;
3412 }
3413
3414 static int
3415 model_sparc64_def_smul_cc_imm (SIM_CPU *current_cpu, void *sem_arg)
3416 {
3417   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3418   const IDESC * UNUSED idesc = abuf->idesc;
3419   int cycles = 0;
3420   IADDR UNUSED pc = GET_H_PC ();
3421   CGEN_INSN_INT insn = abuf->insn;
3422   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3423   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3424   {
3425     int referenced = 0;
3426     int UNUSED insn_referenced = abuf->written;
3427     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3428   }
3429   return cycles;
3430 }
3431
3432 static int
3433 model_sparc64_def_umul (SIM_CPU *current_cpu, void *sem_arg)
3434 {
3435   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3436   const IDESC * UNUSED idesc = abuf->idesc;
3437   int cycles = 0;
3438   IADDR UNUSED pc = GET_H_PC ();
3439   CGEN_INSN_INT insn = abuf->insn;
3440   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3441   EXTRACT_IFMT_LDSB_REG_REG_CODE
3442   {
3443     int referenced = 0;
3444     int UNUSED insn_referenced = abuf->written;
3445     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3446   }
3447   return cycles;
3448 }
3449
3450 static int
3451 model_sparc64_def_umul_imm (SIM_CPU *current_cpu, void *sem_arg)
3452 {
3453   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3454   const IDESC * UNUSED idesc = abuf->idesc;
3455   int cycles = 0;
3456   IADDR UNUSED pc = GET_H_PC ();
3457   CGEN_INSN_INT insn = abuf->insn;
3458   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3459   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3460   {
3461     int referenced = 0;
3462     int UNUSED insn_referenced = abuf->written;
3463     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3464   }
3465   return cycles;
3466 }
3467
3468 static int
3469 model_sparc64_def_umul_cc (SIM_CPU *current_cpu, void *sem_arg)
3470 {
3471   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3472   const IDESC * UNUSED idesc = abuf->idesc;
3473   int cycles = 0;
3474   IADDR UNUSED pc = GET_H_PC ();
3475   CGEN_INSN_INT insn = abuf->insn;
3476   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3477   EXTRACT_IFMT_LDSB_REG_REG_CODE
3478   {
3479     int referenced = 0;
3480     int UNUSED insn_referenced = abuf->written;
3481     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3482   }
3483   return cycles;
3484 }
3485
3486 static int
3487 model_sparc64_def_umul_cc_imm (SIM_CPU *current_cpu, void *sem_arg)
3488 {
3489   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3490   const IDESC * UNUSED idesc = abuf->idesc;
3491   int cycles = 0;
3492   IADDR UNUSED pc = GET_H_PC ();
3493   CGEN_INSN_INT insn = abuf->insn;
3494   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3495   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3496   {
3497     int referenced = 0;
3498     int UNUSED insn_referenced = abuf->written;
3499     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3500   }
3501   return cycles;
3502 }
3503
3504 static int
3505 model_sparc64_def_mulscc (SIM_CPU *current_cpu, void *sem_arg)
3506 {
3507   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3508   const IDESC * UNUSED idesc = abuf->idesc;
3509   int cycles = 0;
3510   IADDR UNUSED pc = GET_H_PC ();
3511   CGEN_INSN_INT insn = abuf->insn;
3512   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3513   EXTRACT_IFMT_LDSB_REG_REG_CODE
3514   {
3515     int referenced = 0;
3516     int UNUSED insn_referenced = abuf->written;
3517     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3518   }
3519   return cycles;
3520 }
3521
3522 static int
3523 model_sparc64_def_save (SIM_CPU *current_cpu, void *sem_arg)
3524 {
3525   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3526   const IDESC * UNUSED idesc = abuf->idesc;
3527   int cycles = 0;
3528   IADDR UNUSED pc = GET_H_PC ();
3529   CGEN_INSN_INT insn = abuf->insn;
3530   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3531   EXTRACT_IFMT_LDSB_REG_REG_CODE
3532   {
3533     int referenced = 0;
3534     int UNUSED insn_referenced = abuf->written;
3535     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3536   }
3537   return cycles;
3538 }
3539
3540 static int
3541 model_sparc64_def_save_imm (SIM_CPU *current_cpu, void *sem_arg)
3542 {
3543   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3544   const IDESC * UNUSED idesc = abuf->idesc;
3545   int cycles = 0;
3546   IADDR UNUSED pc = GET_H_PC ();
3547   CGEN_INSN_INT insn = abuf->insn;
3548   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3549   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3550   {
3551     int referenced = 0;
3552     int UNUSED insn_referenced = abuf->written;
3553     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3554   }
3555   return cycles;
3556 }
3557
3558 static int
3559 model_sparc64_def_restore (SIM_CPU *current_cpu, void *sem_arg)
3560 {
3561   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3562   const IDESC * UNUSED idesc = abuf->idesc;
3563   int cycles = 0;
3564   IADDR UNUSED pc = GET_H_PC ();
3565   CGEN_INSN_INT insn = abuf->insn;
3566   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3567   EXTRACT_IFMT_LDSB_REG_REG_CODE
3568   {
3569     int referenced = 0;
3570     int UNUSED insn_referenced = abuf->written;
3571     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3572   }
3573   return cycles;
3574 }
3575
3576 static int
3577 model_sparc64_def_restore_imm (SIM_CPU *current_cpu, void *sem_arg)
3578 {
3579   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3580   const IDESC * UNUSED idesc = abuf->idesc;
3581   int cycles = 0;
3582   IADDR UNUSED pc = GET_H_PC ();
3583   CGEN_INSN_INT insn = abuf->insn;
3584   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3585   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3586   {
3587     int referenced = 0;
3588     int UNUSED insn_referenced = abuf->written;
3589     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3590   }
3591   return cycles;
3592 }
3593
3594 static int
3595 model_sparc64_def_rett (SIM_CPU *current_cpu, void *sem_arg)
3596 {
3597   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3598   const IDESC * UNUSED idesc = abuf->idesc;
3599   int cycles = 0;
3600   IADDR UNUSED pc = GET_H_PC ();
3601   CGEN_INSN_INT insn = abuf->insn;
3602   EXTRACT_IFMT_FLUSH_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3603   EXTRACT_IFMT_FLUSH_CODE
3604   {
3605     int referenced = 0;
3606     int UNUSED insn_referenced = abuf->written;
3607     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3608   }
3609   return cycles;
3610 }
3611
3612 static int
3613 model_sparc64_def_rett_imm (SIM_CPU *current_cpu, void *sem_arg)
3614 {
3615   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3616   const IDESC * UNUSED idesc = abuf->idesc;
3617   int cycles = 0;
3618   IADDR UNUSED pc = GET_H_PC ();
3619   CGEN_INSN_INT insn = abuf->insn;
3620   EXTRACT_IFMT_FLUSH_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3621   EXTRACT_IFMT_FLUSH_IMM_CODE
3622   {
3623     int referenced = 0;
3624     int UNUSED insn_referenced = abuf->written;
3625     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3626   }
3627   return cycles;
3628 }
3629
3630 static int
3631 model_sparc64_def_unimp (SIM_CPU *current_cpu, void *sem_arg)
3632 {
3633   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3634   const IDESC * UNUSED idesc = abuf->idesc;
3635   int cycles = 0;
3636   IADDR UNUSED pc = GET_H_PC ();
3637   CGEN_INSN_INT insn = abuf->insn;
3638   EXTRACT_IFMT_UNIMP_VARS /* f-imm22 f-op2 f-rd-res f-op */
3639   EXTRACT_IFMT_UNIMP_CODE
3640   {
3641     int referenced = 0;
3642     int UNUSED insn_referenced = abuf->written;
3643     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3644   }
3645   return cycles;
3646 }
3647
3648 static int
3649 model_sparc64_def_call (SIM_CPU *current_cpu, void *sem_arg)
3650 {
3651   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3652   const IDESC * UNUSED idesc = abuf->idesc;
3653   int cycles = 0;
3654   IADDR UNUSED pc = GET_H_PC ();
3655   CGEN_INSN_INT insn = abuf->insn;
3656   EXTRACT_IFMT_CALL_VARS /* f-disp30 f-op */
3657       IADDR i_disp30;
3658   EXTRACT_IFMT_CALL_CODE
3659   i_disp30 = f_disp30;
3660   {
3661     int referenced = 0;
3662     int UNUSED insn_referenced = abuf->written;
3663     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3664   }
3665   return cycles;
3666 }
3667
3668 static int
3669 model_sparc64_def_jmpl (SIM_CPU *current_cpu, void *sem_arg)
3670 {
3671   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3672   const IDESC * UNUSED idesc = abuf->idesc;
3673   int cycles = 0;
3674   IADDR UNUSED pc = GET_H_PC ();
3675   CGEN_INSN_INT insn = abuf->insn;
3676   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
3677   EXTRACT_IFMT_LDSB_REG_REG_CODE
3678   {
3679     int referenced = 0;
3680     int UNUSED insn_referenced = abuf->written;
3681     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3682   }
3683   return cycles;
3684 }
3685
3686 static int
3687 model_sparc64_def_jmpl_imm (SIM_CPU *current_cpu, void *sem_arg)
3688 {
3689   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3690   const IDESC * UNUSED idesc = abuf->idesc;
3691   int cycles = 0;
3692   IADDR UNUSED pc = GET_H_PC ();
3693   CGEN_INSN_INT insn = abuf->insn;
3694   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
3695   EXTRACT_IFMT_LDSB_REG_IMM_CODE
3696   {
3697     int referenced = 0;
3698     int UNUSED insn_referenced = abuf->written;
3699     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3700   }
3701   return cycles;
3702 }
3703
3704 static int
3705 model_sparc64_def_ba (SIM_CPU *current_cpu, void *sem_arg)
3706 {
3707   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3708   const IDESC * UNUSED idesc = abuf->idesc;
3709   int cycles = 0;
3710   IADDR UNUSED pc = GET_H_PC ();
3711   CGEN_INSN_INT insn = abuf->insn;
3712   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
3713       IADDR i_disp22;
3714   EXTRACT_IFMT_BA_CODE
3715   i_disp22 = f_disp22;
3716   {
3717     int referenced = 0;
3718     int UNUSED insn_referenced = abuf->written;
3719     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3720   }
3721   return cycles;
3722 }
3723
3724 static int
3725 model_sparc64_def_ta (SIM_CPU *current_cpu, void *sem_arg)
3726 {
3727   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3728   const IDESC * UNUSED idesc = abuf->idesc;
3729   int cycles = 0;
3730   IADDR UNUSED pc = GET_H_PC ();
3731   CGEN_INSN_INT insn = abuf->insn;
3732   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3733   EXTRACT_IFMT_TA_CODE
3734   {
3735     int referenced = 0;
3736     int UNUSED insn_referenced = abuf->written;
3737     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3738   }
3739   return cycles;
3740 }
3741
3742 static int
3743 model_sparc64_def_ta_imm (SIM_CPU *current_cpu, void *sem_arg)
3744 {
3745   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3746   const IDESC * UNUSED idesc = abuf->idesc;
3747   int cycles = 0;
3748   IADDR UNUSED pc = GET_H_PC ();
3749   CGEN_INSN_INT insn = abuf->insn;
3750   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3751   EXTRACT_IFMT_TA_IMM_CODE
3752   {
3753     int referenced = 0;
3754     int UNUSED insn_referenced = abuf->written;
3755     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3756   }
3757   return cycles;
3758 }
3759
3760 static int
3761 model_sparc64_def_bn (SIM_CPU *current_cpu, void *sem_arg)
3762 {
3763   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3764   const IDESC * UNUSED idesc = abuf->idesc;
3765   int cycles = 0;
3766   IADDR UNUSED pc = GET_H_PC ();
3767   CGEN_INSN_INT insn = abuf->insn;
3768   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
3769   EXTRACT_IFMT_BA_CODE
3770   {
3771     int referenced = 0;
3772     int UNUSED insn_referenced = abuf->written;
3773     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3774   }
3775   return cycles;
3776 }
3777
3778 static int
3779 model_sparc64_def_tn (SIM_CPU *current_cpu, void *sem_arg)
3780 {
3781   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3782   const IDESC * UNUSED idesc = abuf->idesc;
3783   int cycles = 0;
3784   IADDR UNUSED pc = GET_H_PC ();
3785   CGEN_INSN_INT insn = abuf->insn;
3786   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3787   EXTRACT_IFMT_TA_CODE
3788   {
3789     int referenced = 0;
3790     int UNUSED insn_referenced = abuf->written;
3791     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3792   }
3793   return cycles;
3794 }
3795
3796 static int
3797 model_sparc64_def_tn_imm (SIM_CPU *current_cpu, void *sem_arg)
3798 {
3799   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3800   const IDESC * UNUSED idesc = abuf->idesc;
3801   int cycles = 0;
3802   IADDR UNUSED pc = GET_H_PC ();
3803   CGEN_INSN_INT insn = abuf->insn;
3804   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3805   EXTRACT_IFMT_TA_IMM_CODE
3806   {
3807     int referenced = 0;
3808     int UNUSED insn_referenced = abuf->written;
3809     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3810   }
3811   return cycles;
3812 }
3813
3814 static int
3815 model_sparc64_def_bne (SIM_CPU *current_cpu, void *sem_arg)
3816 {
3817   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3818   const IDESC * UNUSED idesc = abuf->idesc;
3819   int cycles = 0;
3820   IADDR UNUSED pc = GET_H_PC ();
3821   CGEN_INSN_INT insn = abuf->insn;
3822   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
3823       IADDR i_disp22;
3824   EXTRACT_IFMT_BA_CODE
3825   i_disp22 = f_disp22;
3826   {
3827     int referenced = 0;
3828     int UNUSED insn_referenced = abuf->written;
3829     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3830   }
3831   return cycles;
3832 }
3833
3834 static int
3835 model_sparc64_def_tne (SIM_CPU *current_cpu, void *sem_arg)
3836 {
3837   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3838   const IDESC * UNUSED idesc = abuf->idesc;
3839   int cycles = 0;
3840   IADDR UNUSED pc = GET_H_PC ();
3841   CGEN_INSN_INT insn = abuf->insn;
3842   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3843   EXTRACT_IFMT_TA_CODE
3844   {
3845     int referenced = 0;
3846     int UNUSED insn_referenced = abuf->written;
3847     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3848   }
3849   return cycles;
3850 }
3851
3852 static int
3853 model_sparc64_def_tne_imm (SIM_CPU *current_cpu, void *sem_arg)
3854 {
3855   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3856   const IDESC * UNUSED idesc = abuf->idesc;
3857   int cycles = 0;
3858   IADDR UNUSED pc = GET_H_PC ();
3859   CGEN_INSN_INT insn = abuf->insn;
3860   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3861   EXTRACT_IFMT_TA_IMM_CODE
3862   {
3863     int referenced = 0;
3864     int UNUSED insn_referenced = abuf->written;
3865     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3866   }
3867   return cycles;
3868 }
3869
3870 static int
3871 model_sparc64_def_be (SIM_CPU *current_cpu, void *sem_arg)
3872 {
3873   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3874   const IDESC * UNUSED idesc = abuf->idesc;
3875   int cycles = 0;
3876   IADDR UNUSED pc = GET_H_PC ();
3877   CGEN_INSN_INT insn = abuf->insn;
3878   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
3879       IADDR i_disp22;
3880   EXTRACT_IFMT_BA_CODE
3881   i_disp22 = f_disp22;
3882   {
3883     int referenced = 0;
3884     int UNUSED insn_referenced = abuf->written;
3885     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3886   }
3887   return cycles;
3888 }
3889
3890 static int
3891 model_sparc64_def_te (SIM_CPU *current_cpu, void *sem_arg)
3892 {
3893   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3894   const IDESC * UNUSED idesc = abuf->idesc;
3895   int cycles = 0;
3896   IADDR UNUSED pc = GET_H_PC ();
3897   CGEN_INSN_INT insn = abuf->insn;
3898   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3899   EXTRACT_IFMT_TA_CODE
3900   {
3901     int referenced = 0;
3902     int UNUSED insn_referenced = abuf->written;
3903     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3904   }
3905   return cycles;
3906 }
3907
3908 static int
3909 model_sparc64_def_te_imm (SIM_CPU *current_cpu, void *sem_arg)
3910 {
3911   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3912   const IDESC * UNUSED idesc = abuf->idesc;
3913   int cycles = 0;
3914   IADDR UNUSED pc = GET_H_PC ();
3915   CGEN_INSN_INT insn = abuf->insn;
3916   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3917   EXTRACT_IFMT_TA_IMM_CODE
3918   {
3919     int referenced = 0;
3920     int UNUSED insn_referenced = abuf->written;
3921     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3922   }
3923   return cycles;
3924 }
3925
3926 static int
3927 model_sparc64_def_bg (SIM_CPU *current_cpu, void *sem_arg)
3928 {
3929   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3930   const IDESC * UNUSED idesc = abuf->idesc;
3931   int cycles = 0;
3932   IADDR UNUSED pc = GET_H_PC ();
3933   CGEN_INSN_INT insn = abuf->insn;
3934   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
3935       IADDR i_disp22;
3936   EXTRACT_IFMT_BA_CODE
3937   i_disp22 = f_disp22;
3938   {
3939     int referenced = 0;
3940     int UNUSED insn_referenced = abuf->written;
3941     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3942   }
3943   return cycles;
3944 }
3945
3946 static int
3947 model_sparc64_def_tg (SIM_CPU *current_cpu, void *sem_arg)
3948 {
3949   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3950   const IDESC * UNUSED idesc = abuf->idesc;
3951   int cycles = 0;
3952   IADDR UNUSED pc = GET_H_PC ();
3953   CGEN_INSN_INT insn = abuf->insn;
3954   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3955   EXTRACT_IFMT_TA_CODE
3956   {
3957     int referenced = 0;
3958     int UNUSED insn_referenced = abuf->written;
3959     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3960   }
3961   return cycles;
3962 }
3963
3964 static int
3965 model_sparc64_def_tg_imm (SIM_CPU *current_cpu, void *sem_arg)
3966 {
3967   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3968   const IDESC * UNUSED idesc = abuf->idesc;
3969   int cycles = 0;
3970   IADDR UNUSED pc = GET_H_PC ();
3971   CGEN_INSN_INT insn = abuf->insn;
3972   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
3973   EXTRACT_IFMT_TA_IMM_CODE
3974   {
3975     int referenced = 0;
3976     int UNUSED insn_referenced = abuf->written;
3977     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3978   }
3979   return cycles;
3980 }
3981
3982 static int
3983 model_sparc64_def_ble (SIM_CPU *current_cpu, void *sem_arg)
3984 {
3985   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
3986   const IDESC * UNUSED idesc = abuf->idesc;
3987   int cycles = 0;
3988   IADDR UNUSED pc = GET_H_PC ();
3989   CGEN_INSN_INT insn = abuf->insn;
3990   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
3991       IADDR i_disp22;
3992   EXTRACT_IFMT_BA_CODE
3993   i_disp22 = f_disp22;
3994   {
3995     int referenced = 0;
3996     int UNUSED insn_referenced = abuf->written;
3997     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
3998   }
3999   return cycles;
4000 }
4001
4002 static int
4003 model_sparc64_def_tle (SIM_CPU *current_cpu, void *sem_arg)
4004 {
4005   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4006   const IDESC * UNUSED idesc = abuf->idesc;
4007   int cycles = 0;
4008   IADDR UNUSED pc = GET_H_PC ();
4009   CGEN_INSN_INT insn = abuf->insn;
4010   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4011   EXTRACT_IFMT_TA_CODE
4012   {
4013     int referenced = 0;
4014     int UNUSED insn_referenced = abuf->written;
4015     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4016   }
4017   return cycles;
4018 }
4019
4020 static int
4021 model_sparc64_def_tle_imm (SIM_CPU *current_cpu, void *sem_arg)
4022 {
4023   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4024   const IDESC * UNUSED idesc = abuf->idesc;
4025   int cycles = 0;
4026   IADDR UNUSED pc = GET_H_PC ();
4027   CGEN_INSN_INT insn = abuf->insn;
4028   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4029   EXTRACT_IFMT_TA_IMM_CODE
4030   {
4031     int referenced = 0;
4032     int UNUSED insn_referenced = abuf->written;
4033     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4034   }
4035   return cycles;
4036 }
4037
4038 static int
4039 model_sparc64_def_bge (SIM_CPU *current_cpu, void *sem_arg)
4040 {
4041   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4042   const IDESC * UNUSED idesc = abuf->idesc;
4043   int cycles = 0;
4044   IADDR UNUSED pc = GET_H_PC ();
4045   CGEN_INSN_INT insn = abuf->insn;
4046   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4047       IADDR i_disp22;
4048   EXTRACT_IFMT_BA_CODE
4049   i_disp22 = f_disp22;
4050   {
4051     int referenced = 0;
4052     int UNUSED insn_referenced = abuf->written;
4053     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4054   }
4055   return cycles;
4056 }
4057
4058 static int
4059 model_sparc64_def_tge (SIM_CPU *current_cpu, void *sem_arg)
4060 {
4061   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4062   const IDESC * UNUSED idesc = abuf->idesc;
4063   int cycles = 0;
4064   IADDR UNUSED pc = GET_H_PC ();
4065   CGEN_INSN_INT insn = abuf->insn;
4066   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4067   EXTRACT_IFMT_TA_CODE
4068   {
4069     int referenced = 0;
4070     int UNUSED insn_referenced = abuf->written;
4071     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4072   }
4073   return cycles;
4074 }
4075
4076 static int
4077 model_sparc64_def_tge_imm (SIM_CPU *current_cpu, void *sem_arg)
4078 {
4079   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4080   const IDESC * UNUSED idesc = abuf->idesc;
4081   int cycles = 0;
4082   IADDR UNUSED pc = GET_H_PC ();
4083   CGEN_INSN_INT insn = abuf->insn;
4084   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4085   EXTRACT_IFMT_TA_IMM_CODE
4086   {
4087     int referenced = 0;
4088     int UNUSED insn_referenced = abuf->written;
4089     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4090   }
4091   return cycles;
4092 }
4093
4094 static int
4095 model_sparc64_def_bl (SIM_CPU *current_cpu, void *sem_arg)
4096 {
4097   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4098   const IDESC * UNUSED idesc = abuf->idesc;
4099   int cycles = 0;
4100   IADDR UNUSED pc = GET_H_PC ();
4101   CGEN_INSN_INT insn = abuf->insn;
4102   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4103       IADDR i_disp22;
4104   EXTRACT_IFMT_BA_CODE
4105   i_disp22 = f_disp22;
4106   {
4107     int referenced = 0;
4108     int UNUSED insn_referenced = abuf->written;
4109     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4110   }
4111   return cycles;
4112 }
4113
4114 static int
4115 model_sparc64_def_tl (SIM_CPU *current_cpu, void *sem_arg)
4116 {
4117   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4118   const IDESC * UNUSED idesc = abuf->idesc;
4119   int cycles = 0;
4120   IADDR UNUSED pc = GET_H_PC ();
4121   CGEN_INSN_INT insn = abuf->insn;
4122   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4123   EXTRACT_IFMT_TA_CODE
4124   {
4125     int referenced = 0;
4126     int UNUSED insn_referenced = abuf->written;
4127     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4128   }
4129   return cycles;
4130 }
4131
4132 static int
4133 model_sparc64_def_tl_imm (SIM_CPU *current_cpu, void *sem_arg)
4134 {
4135   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4136   const IDESC * UNUSED idesc = abuf->idesc;
4137   int cycles = 0;
4138   IADDR UNUSED pc = GET_H_PC ();
4139   CGEN_INSN_INT insn = abuf->insn;
4140   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4141   EXTRACT_IFMT_TA_IMM_CODE
4142   {
4143     int referenced = 0;
4144     int UNUSED insn_referenced = abuf->written;
4145     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4146   }
4147   return cycles;
4148 }
4149
4150 static int
4151 model_sparc64_def_bgu (SIM_CPU *current_cpu, void *sem_arg)
4152 {
4153   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4154   const IDESC * UNUSED idesc = abuf->idesc;
4155   int cycles = 0;
4156   IADDR UNUSED pc = GET_H_PC ();
4157   CGEN_INSN_INT insn = abuf->insn;
4158   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4159       IADDR i_disp22;
4160   EXTRACT_IFMT_BA_CODE
4161   i_disp22 = f_disp22;
4162   {
4163     int referenced = 0;
4164     int UNUSED insn_referenced = abuf->written;
4165     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4166   }
4167   return cycles;
4168 }
4169
4170 static int
4171 model_sparc64_def_tgu (SIM_CPU *current_cpu, void *sem_arg)
4172 {
4173   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4174   const IDESC * UNUSED idesc = abuf->idesc;
4175   int cycles = 0;
4176   IADDR UNUSED pc = GET_H_PC ();
4177   CGEN_INSN_INT insn = abuf->insn;
4178   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4179   EXTRACT_IFMT_TA_CODE
4180   {
4181     int referenced = 0;
4182     int UNUSED insn_referenced = abuf->written;
4183     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4184   }
4185   return cycles;
4186 }
4187
4188 static int
4189 model_sparc64_def_tgu_imm (SIM_CPU *current_cpu, void *sem_arg)
4190 {
4191   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4192   const IDESC * UNUSED idesc = abuf->idesc;
4193   int cycles = 0;
4194   IADDR UNUSED pc = GET_H_PC ();
4195   CGEN_INSN_INT insn = abuf->insn;
4196   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4197   EXTRACT_IFMT_TA_IMM_CODE
4198   {
4199     int referenced = 0;
4200     int UNUSED insn_referenced = abuf->written;
4201     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4202   }
4203   return cycles;
4204 }
4205
4206 static int
4207 model_sparc64_def_bleu (SIM_CPU *current_cpu, void *sem_arg)
4208 {
4209   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4210   const IDESC * UNUSED idesc = abuf->idesc;
4211   int cycles = 0;
4212   IADDR UNUSED pc = GET_H_PC ();
4213   CGEN_INSN_INT insn = abuf->insn;
4214   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4215       IADDR i_disp22;
4216   EXTRACT_IFMT_BA_CODE
4217   i_disp22 = f_disp22;
4218   {
4219     int referenced = 0;
4220     int UNUSED insn_referenced = abuf->written;
4221     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4222   }
4223   return cycles;
4224 }
4225
4226 static int
4227 model_sparc64_def_tleu (SIM_CPU *current_cpu, void *sem_arg)
4228 {
4229   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4230   const IDESC * UNUSED idesc = abuf->idesc;
4231   int cycles = 0;
4232   IADDR UNUSED pc = GET_H_PC ();
4233   CGEN_INSN_INT insn = abuf->insn;
4234   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4235   EXTRACT_IFMT_TA_CODE
4236   {
4237     int referenced = 0;
4238     int UNUSED insn_referenced = abuf->written;
4239     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4240   }
4241   return cycles;
4242 }
4243
4244 static int
4245 model_sparc64_def_tleu_imm (SIM_CPU *current_cpu, void *sem_arg)
4246 {
4247   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4248   const IDESC * UNUSED idesc = abuf->idesc;
4249   int cycles = 0;
4250   IADDR UNUSED pc = GET_H_PC ();
4251   CGEN_INSN_INT insn = abuf->insn;
4252   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4253   EXTRACT_IFMT_TA_IMM_CODE
4254   {
4255     int referenced = 0;
4256     int UNUSED insn_referenced = abuf->written;
4257     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4258   }
4259   return cycles;
4260 }
4261
4262 static int
4263 model_sparc64_def_bcc (SIM_CPU *current_cpu, void *sem_arg)
4264 {
4265   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4266   const IDESC * UNUSED idesc = abuf->idesc;
4267   int cycles = 0;
4268   IADDR UNUSED pc = GET_H_PC ();
4269   CGEN_INSN_INT insn = abuf->insn;
4270   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4271       IADDR i_disp22;
4272   EXTRACT_IFMT_BA_CODE
4273   i_disp22 = f_disp22;
4274   {
4275     int referenced = 0;
4276     int UNUSED insn_referenced = abuf->written;
4277     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4278   }
4279   return cycles;
4280 }
4281
4282 static int
4283 model_sparc64_def_tcc (SIM_CPU *current_cpu, void *sem_arg)
4284 {
4285   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4286   const IDESC * UNUSED idesc = abuf->idesc;
4287   int cycles = 0;
4288   IADDR UNUSED pc = GET_H_PC ();
4289   CGEN_INSN_INT insn = abuf->insn;
4290   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4291   EXTRACT_IFMT_TA_CODE
4292   {
4293     int referenced = 0;
4294     int UNUSED insn_referenced = abuf->written;
4295     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4296   }
4297   return cycles;
4298 }
4299
4300 static int
4301 model_sparc64_def_tcc_imm (SIM_CPU *current_cpu, void *sem_arg)
4302 {
4303   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4304   const IDESC * UNUSED idesc = abuf->idesc;
4305   int cycles = 0;
4306   IADDR UNUSED pc = GET_H_PC ();
4307   CGEN_INSN_INT insn = abuf->insn;
4308   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4309   EXTRACT_IFMT_TA_IMM_CODE
4310   {
4311     int referenced = 0;
4312     int UNUSED insn_referenced = abuf->written;
4313     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4314   }
4315   return cycles;
4316 }
4317
4318 static int
4319 model_sparc64_def_bcs (SIM_CPU *current_cpu, void *sem_arg)
4320 {
4321   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4322   const IDESC * UNUSED idesc = abuf->idesc;
4323   int cycles = 0;
4324   IADDR UNUSED pc = GET_H_PC ();
4325   CGEN_INSN_INT insn = abuf->insn;
4326   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4327       IADDR i_disp22;
4328   EXTRACT_IFMT_BA_CODE
4329   i_disp22 = f_disp22;
4330   {
4331     int referenced = 0;
4332     int UNUSED insn_referenced = abuf->written;
4333     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4334   }
4335   return cycles;
4336 }
4337
4338 static int
4339 model_sparc64_def_tcs (SIM_CPU *current_cpu, void *sem_arg)
4340 {
4341   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4342   const IDESC * UNUSED idesc = abuf->idesc;
4343   int cycles = 0;
4344   IADDR UNUSED pc = GET_H_PC ();
4345   CGEN_INSN_INT insn = abuf->insn;
4346   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4347   EXTRACT_IFMT_TA_CODE
4348   {
4349     int referenced = 0;
4350     int UNUSED insn_referenced = abuf->written;
4351     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4352   }
4353   return cycles;
4354 }
4355
4356 static int
4357 model_sparc64_def_tcs_imm (SIM_CPU *current_cpu, void *sem_arg)
4358 {
4359   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4360   const IDESC * UNUSED idesc = abuf->idesc;
4361   int cycles = 0;
4362   IADDR UNUSED pc = GET_H_PC ();
4363   CGEN_INSN_INT insn = abuf->insn;
4364   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4365   EXTRACT_IFMT_TA_IMM_CODE
4366   {
4367     int referenced = 0;
4368     int UNUSED insn_referenced = abuf->written;
4369     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4370   }
4371   return cycles;
4372 }
4373
4374 static int
4375 model_sparc64_def_bpos (SIM_CPU *current_cpu, void *sem_arg)
4376 {
4377   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4378   const IDESC * UNUSED idesc = abuf->idesc;
4379   int cycles = 0;
4380   IADDR UNUSED pc = GET_H_PC ();
4381   CGEN_INSN_INT insn = abuf->insn;
4382   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4383       IADDR i_disp22;
4384   EXTRACT_IFMT_BA_CODE
4385   i_disp22 = f_disp22;
4386   {
4387     int referenced = 0;
4388     int UNUSED insn_referenced = abuf->written;
4389     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4390   }
4391   return cycles;
4392 }
4393
4394 static int
4395 model_sparc64_def_tpos (SIM_CPU *current_cpu, void *sem_arg)
4396 {
4397   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4398   const IDESC * UNUSED idesc = abuf->idesc;
4399   int cycles = 0;
4400   IADDR UNUSED pc = GET_H_PC ();
4401   CGEN_INSN_INT insn = abuf->insn;
4402   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4403   EXTRACT_IFMT_TA_CODE
4404   {
4405     int referenced = 0;
4406     int UNUSED insn_referenced = abuf->written;
4407     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4408   }
4409   return cycles;
4410 }
4411
4412 static int
4413 model_sparc64_def_tpos_imm (SIM_CPU *current_cpu, void *sem_arg)
4414 {
4415   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4416   const IDESC * UNUSED idesc = abuf->idesc;
4417   int cycles = 0;
4418   IADDR UNUSED pc = GET_H_PC ();
4419   CGEN_INSN_INT insn = abuf->insn;
4420   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4421   EXTRACT_IFMT_TA_IMM_CODE
4422   {
4423     int referenced = 0;
4424     int UNUSED insn_referenced = abuf->written;
4425     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4426   }
4427   return cycles;
4428 }
4429
4430 static int
4431 model_sparc64_def_bneg (SIM_CPU *current_cpu, void *sem_arg)
4432 {
4433   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4434   const IDESC * UNUSED idesc = abuf->idesc;
4435   int cycles = 0;
4436   IADDR UNUSED pc = GET_H_PC ();
4437   CGEN_INSN_INT insn = abuf->insn;
4438   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4439       IADDR i_disp22;
4440   EXTRACT_IFMT_BA_CODE
4441   i_disp22 = f_disp22;
4442   {
4443     int referenced = 0;
4444     int UNUSED insn_referenced = abuf->written;
4445     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4446   }
4447   return cycles;
4448 }
4449
4450 static int
4451 model_sparc64_def_tneg (SIM_CPU *current_cpu, void *sem_arg)
4452 {
4453   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4454   const IDESC * UNUSED idesc = abuf->idesc;
4455   int cycles = 0;
4456   IADDR UNUSED pc = GET_H_PC ();
4457   CGEN_INSN_INT insn = abuf->insn;
4458   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4459   EXTRACT_IFMT_TA_CODE
4460   {
4461     int referenced = 0;
4462     int UNUSED insn_referenced = abuf->written;
4463     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4464   }
4465   return cycles;
4466 }
4467
4468 static int
4469 model_sparc64_def_tneg_imm (SIM_CPU *current_cpu, void *sem_arg)
4470 {
4471   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4472   const IDESC * UNUSED idesc = abuf->idesc;
4473   int cycles = 0;
4474   IADDR UNUSED pc = GET_H_PC ();
4475   CGEN_INSN_INT insn = abuf->insn;
4476   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4477   EXTRACT_IFMT_TA_IMM_CODE
4478   {
4479     int referenced = 0;
4480     int UNUSED insn_referenced = abuf->written;
4481     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4482   }
4483   return cycles;
4484 }
4485
4486 static int
4487 model_sparc64_def_bvc (SIM_CPU *current_cpu, void *sem_arg)
4488 {
4489   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4490   const IDESC * UNUSED idesc = abuf->idesc;
4491   int cycles = 0;
4492   IADDR UNUSED pc = GET_H_PC ();
4493   CGEN_INSN_INT insn = abuf->insn;
4494   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4495       IADDR i_disp22;
4496   EXTRACT_IFMT_BA_CODE
4497   i_disp22 = f_disp22;
4498   {
4499     int referenced = 0;
4500     int UNUSED insn_referenced = abuf->written;
4501     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4502   }
4503   return cycles;
4504 }
4505
4506 static int
4507 model_sparc64_def_tvc (SIM_CPU *current_cpu, void *sem_arg)
4508 {
4509   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4510   const IDESC * UNUSED idesc = abuf->idesc;
4511   int cycles = 0;
4512   IADDR UNUSED pc = GET_H_PC ();
4513   CGEN_INSN_INT insn = abuf->insn;
4514   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4515   EXTRACT_IFMT_TA_CODE
4516   {
4517     int referenced = 0;
4518     int UNUSED insn_referenced = abuf->written;
4519     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4520   }
4521   return cycles;
4522 }
4523
4524 static int
4525 model_sparc64_def_tvc_imm (SIM_CPU *current_cpu, void *sem_arg)
4526 {
4527   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4528   const IDESC * UNUSED idesc = abuf->idesc;
4529   int cycles = 0;
4530   IADDR UNUSED pc = GET_H_PC ();
4531   CGEN_INSN_INT insn = abuf->insn;
4532   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4533   EXTRACT_IFMT_TA_IMM_CODE
4534   {
4535     int referenced = 0;
4536     int UNUSED insn_referenced = abuf->written;
4537     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4538   }
4539   return cycles;
4540 }
4541
4542 static int
4543 model_sparc64_def_bvs (SIM_CPU *current_cpu, void *sem_arg)
4544 {
4545   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4546   const IDESC * UNUSED idesc = abuf->idesc;
4547   int cycles = 0;
4548   IADDR UNUSED pc = GET_H_PC ();
4549   CGEN_INSN_INT insn = abuf->insn;
4550   EXTRACT_IFMT_BA_VARS /* f-disp22 f-op2 f-fmt2-cond f-a f-op */
4551       IADDR i_disp22;
4552   EXTRACT_IFMT_BA_CODE
4553   i_disp22 = f_disp22;
4554   {
4555     int referenced = 0;
4556     int UNUSED insn_referenced = abuf->written;
4557     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4558   }
4559   return cycles;
4560 }
4561
4562 static int
4563 model_sparc64_def_tvs (SIM_CPU *current_cpu, void *sem_arg)
4564 {
4565   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4566   const IDESC * UNUSED idesc = abuf->idesc;
4567   int cycles = 0;
4568   IADDR UNUSED pc = GET_H_PC ();
4569   CGEN_INSN_INT insn = abuf->insn;
4570   EXTRACT_IFMT_TA_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4571   EXTRACT_IFMT_TA_CODE
4572   {
4573     int referenced = 0;
4574     int UNUSED insn_referenced = abuf->written;
4575     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4576   }
4577   return cycles;
4578 }
4579
4580 static int
4581 model_sparc64_def_tvs_imm (SIM_CPU *current_cpu, void *sem_arg)
4582 {
4583   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4584   const IDESC * UNUSED idesc = abuf->idesc;
4585   int cycles = 0;
4586   IADDR UNUSED pc = GET_H_PC ();
4587   CGEN_INSN_INT insn = abuf->insn;
4588   EXTRACT_IFMT_TA_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-fmt2-cond f-a f-op */
4589   EXTRACT_IFMT_TA_IMM_CODE
4590   {
4591     int referenced = 0;
4592     int UNUSED insn_referenced = abuf->written;
4593     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4594   }
4595   return cycles;
4596 }
4597
4598 static int
4599 model_sparc64_def_ldstub_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
4600 {
4601   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4602   const IDESC * UNUSED idesc = abuf->idesc;
4603   int cycles = 0;
4604   IADDR UNUSED pc = GET_H_PC ();
4605   CGEN_INSN_INT insn = abuf->insn;
4606   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
4607   EXTRACT_IFMT_LDSB_REG_REG_CODE
4608   {
4609     int referenced = 0;
4610     int UNUSED insn_referenced = abuf->written;
4611     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4612   }
4613   return cycles;
4614 }
4615
4616 static int
4617 model_sparc64_def_ldstub_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
4618 {
4619   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4620   const IDESC * UNUSED idesc = abuf->idesc;
4621   int cycles = 0;
4622   IADDR UNUSED pc = GET_H_PC ();
4623   CGEN_INSN_INT insn = abuf->insn;
4624   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
4625   EXTRACT_IFMT_LDSB_REG_IMM_CODE
4626   {
4627     int referenced = 0;
4628     int UNUSED insn_referenced = abuf->written;
4629     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4630   }
4631   return cycles;
4632 }
4633
4634 static int
4635 model_sparc64_def_ldstub_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
4636 {
4637   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4638   const IDESC * UNUSED idesc = abuf->idesc;
4639   int cycles = 0;
4640   IADDR UNUSED pc = GET_H_PC ();
4641   CGEN_INSN_INT insn = abuf->insn;
4642   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
4643   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
4644   {
4645     int referenced = 0;
4646     int UNUSED insn_referenced = abuf->written;
4647     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4648   }
4649   return cycles;
4650 }
4651
4652 static int
4653 model_sparc64_def_swap_reg_reg (SIM_CPU *current_cpu, void *sem_arg)
4654 {
4655   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4656   const IDESC * UNUSED idesc = abuf->idesc;
4657   int cycles = 0;
4658   IADDR UNUSED pc = GET_H_PC ();
4659   CGEN_INSN_INT insn = abuf->insn;
4660   EXTRACT_IFMT_LDSB_REG_REG_VARS /* f-rs2 f-res-asi f-i f-rs1 f-op3 f-rd f-op */
4661   EXTRACT_IFMT_LDSB_REG_REG_CODE
4662   {
4663     int referenced = 0;
4664     int UNUSED insn_referenced = abuf->written;
4665     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4666   }
4667   return cycles;
4668 }
4669
4670 static int
4671 model_sparc64_def_swap_reg_imm (SIM_CPU *current_cpu, void *sem_arg)
4672 {
4673   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4674   const IDESC * UNUSED idesc = abuf->idesc;
4675   int cycles = 0;
4676   IADDR UNUSED pc = GET_H_PC ();
4677   CGEN_INSN_INT insn = abuf->insn;
4678   EXTRACT_IFMT_LDSB_REG_IMM_VARS /* f-simm13 f-i f-rs1 f-op3 f-rd f-op */
4679   EXTRACT_IFMT_LDSB_REG_IMM_CODE
4680   {
4681     int referenced = 0;
4682     int UNUSED insn_referenced = abuf->written;
4683     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4684   }
4685   return cycles;
4686 }
4687
4688 static int
4689 model_sparc64_def_swap_reg_reg_asi (SIM_CPU *current_cpu, void *sem_arg)
4690 {
4691   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
4692   const IDESC * UNUSED idesc = abuf->idesc;
4693   int cycles = 0;
4694   IADDR UNUSED pc = GET_H_PC ();
4695   CGEN_INSN_INT insn = abuf->insn;
4696   EXTRACT_IFMT_LDSB_REG_REG_ASI_VARS /* f-rs2 f-asi f-i f-rs1 f-op3 f-rd f-op */
4697   EXTRACT_IFMT_LDSB_REG_REG_ASI_CODE
4698   {
4699     int referenced = 0;
4700     int UNUSED insn_referenced = abuf->written;
4701     cycles += sparc64_model_sparc64_def_u_exec (current_cpu, idesc, 0, referenced);
4702   }
4703   return cycles;
4704 }
4705
4706 /* We assume UNIT_NONE == 0 because the tables don't always terminate
4707    entries with it.  */
4708
4709 /* Model timing data for `sparc64-def'.  */
4710
4711 static const INSN_TIMING sparc64_def_timing[] = {
4712   { SPARC64_INSN_X_INVALID, 0, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4713   { SPARC64_INSN_X_AFTER, 0, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4714   { SPARC64_INSN_X_BEFORE, 0, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4715   { SPARC64_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4716   { SPARC64_INSN_X_CHAIN, 0, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4717   { SPARC64_INSN_X_BEGIN, 0, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4718   { SPARC64_INSN_BEQZ, model_sparc64_def_beqz, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4719   { SPARC64_INSN_BGEZ, model_sparc64_def_bgez, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4720   { SPARC64_INSN_BGTZ, model_sparc64_def_bgtz, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4721   { SPARC64_INSN_BLEZ, model_sparc64_def_blez, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4722   { SPARC64_INSN_BLTZ, model_sparc64_def_bltz, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4723   { SPARC64_INSN_BNEZ, model_sparc64_def_bnez, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4724   { SPARC64_INSN_BPCC_BA, model_sparc64_def_bpcc_ba, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4725   { SPARC64_INSN_BPCC_BN, model_sparc64_def_bpcc_bn, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4726   { SPARC64_INSN_BPCC_BNE, model_sparc64_def_bpcc_bne, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4727   { SPARC64_INSN_BPCC_BE, model_sparc64_def_bpcc_be, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4728   { SPARC64_INSN_BPCC_BG, model_sparc64_def_bpcc_bg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4729   { SPARC64_INSN_BPCC_BLE, model_sparc64_def_bpcc_ble, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4730   { SPARC64_INSN_BPCC_BGE, model_sparc64_def_bpcc_bge, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4731   { SPARC64_INSN_BPCC_BL, model_sparc64_def_bpcc_bl, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4732   { SPARC64_INSN_BPCC_BGU, model_sparc64_def_bpcc_bgu, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4733   { SPARC64_INSN_BPCC_BLEU, model_sparc64_def_bpcc_bleu, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4734   { SPARC64_INSN_BPCC_BCC, model_sparc64_def_bpcc_bcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4735   { SPARC64_INSN_BPCC_BCS, model_sparc64_def_bpcc_bcs, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4736   { SPARC64_INSN_BPCC_BPOS, model_sparc64_def_bpcc_bpos, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4737   { SPARC64_INSN_BPCC_BNEG, model_sparc64_def_bpcc_bneg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4738   { SPARC64_INSN_BPCC_BVC, model_sparc64_def_bpcc_bvc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4739   { SPARC64_INSN_BPCC_BVS, model_sparc64_def_bpcc_bvs, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4740   { SPARC64_INSN_DONE, model_sparc64_def_done, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4741   { SPARC64_INSN_RETRY, model_sparc64_def_retry, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4742   { SPARC64_INSN_FLUSH, model_sparc64_def_flush, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4743   { SPARC64_INSN_FLUSH_IMM, model_sparc64_def_flush_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4744   { SPARC64_INSN_FLUSHW, model_sparc64_def_flushw, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4745   { SPARC64_INSN_IMPDEP1, model_sparc64_def_impdep1, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4746   { SPARC64_INSN_IMPDEP2, model_sparc64_def_impdep2, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4747   { SPARC64_INSN_MEMBAR, model_sparc64_def_membar, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4748   { SPARC64_INSN_MOVA_ICC_ICC, model_sparc64_def_mova_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4749   { SPARC64_INSN_MOVA_IMM_ICC_ICC, model_sparc64_def_mova_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4750   { SPARC64_INSN_MOVA_XCC_XCC, model_sparc64_def_mova_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4751   { SPARC64_INSN_MOVA_IMM_XCC_XCC, model_sparc64_def_mova_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4752   { SPARC64_INSN_MOVN_ICC_ICC, model_sparc64_def_movn_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4753   { SPARC64_INSN_MOVN_IMM_ICC_ICC, model_sparc64_def_movn_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4754   { SPARC64_INSN_MOVN_XCC_XCC, model_sparc64_def_movn_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4755   { SPARC64_INSN_MOVN_IMM_XCC_XCC, model_sparc64_def_movn_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4756   { SPARC64_INSN_MOVNE_ICC_ICC, model_sparc64_def_movne_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4757   { SPARC64_INSN_MOVNE_IMM_ICC_ICC, model_sparc64_def_movne_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4758   { SPARC64_INSN_MOVNE_XCC_XCC, model_sparc64_def_movne_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4759   { SPARC64_INSN_MOVNE_IMM_XCC_XCC, model_sparc64_def_movne_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4760   { SPARC64_INSN_MOVE_ICC_ICC, model_sparc64_def_move_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4761   { SPARC64_INSN_MOVE_IMM_ICC_ICC, model_sparc64_def_move_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4762   { SPARC64_INSN_MOVE_XCC_XCC, model_sparc64_def_move_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4763   { SPARC64_INSN_MOVE_IMM_XCC_XCC, model_sparc64_def_move_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4764   { SPARC64_INSN_MOVG_ICC_ICC, model_sparc64_def_movg_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4765   { SPARC64_INSN_MOVG_IMM_ICC_ICC, model_sparc64_def_movg_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4766   { SPARC64_INSN_MOVG_XCC_XCC, model_sparc64_def_movg_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4767   { SPARC64_INSN_MOVG_IMM_XCC_XCC, model_sparc64_def_movg_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4768   { SPARC64_INSN_MOVLE_ICC_ICC, model_sparc64_def_movle_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4769   { SPARC64_INSN_MOVLE_IMM_ICC_ICC, model_sparc64_def_movle_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4770   { SPARC64_INSN_MOVLE_XCC_XCC, model_sparc64_def_movle_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4771   { SPARC64_INSN_MOVLE_IMM_XCC_XCC, model_sparc64_def_movle_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4772   { SPARC64_INSN_MOVGE_ICC_ICC, model_sparc64_def_movge_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4773   { SPARC64_INSN_MOVGE_IMM_ICC_ICC, model_sparc64_def_movge_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4774   { SPARC64_INSN_MOVGE_XCC_XCC, model_sparc64_def_movge_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4775   { SPARC64_INSN_MOVGE_IMM_XCC_XCC, model_sparc64_def_movge_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4776   { SPARC64_INSN_MOVL_ICC_ICC, model_sparc64_def_movl_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4777   { SPARC64_INSN_MOVL_IMM_ICC_ICC, model_sparc64_def_movl_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4778   { SPARC64_INSN_MOVL_XCC_XCC, model_sparc64_def_movl_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4779   { SPARC64_INSN_MOVL_IMM_XCC_XCC, model_sparc64_def_movl_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4780   { SPARC64_INSN_MOVGU_ICC_ICC, model_sparc64_def_movgu_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4781   { SPARC64_INSN_MOVGU_IMM_ICC_ICC, model_sparc64_def_movgu_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4782   { SPARC64_INSN_MOVGU_XCC_XCC, model_sparc64_def_movgu_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4783   { SPARC64_INSN_MOVGU_IMM_XCC_XCC, model_sparc64_def_movgu_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4784   { SPARC64_INSN_MOVLEU_ICC_ICC, model_sparc64_def_movleu_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4785   { SPARC64_INSN_MOVLEU_IMM_ICC_ICC, model_sparc64_def_movleu_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4786   { SPARC64_INSN_MOVLEU_XCC_XCC, model_sparc64_def_movleu_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4787   { SPARC64_INSN_MOVLEU_IMM_XCC_XCC, model_sparc64_def_movleu_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4788   { SPARC64_INSN_MOVCC_ICC_ICC, model_sparc64_def_movcc_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4789   { SPARC64_INSN_MOVCC_IMM_ICC_ICC, model_sparc64_def_movcc_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4790   { SPARC64_INSN_MOVCC_XCC_XCC, model_sparc64_def_movcc_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4791   { SPARC64_INSN_MOVCC_IMM_XCC_XCC, model_sparc64_def_movcc_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4792   { SPARC64_INSN_MOVCS_ICC_ICC, model_sparc64_def_movcs_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4793   { SPARC64_INSN_MOVCS_IMM_ICC_ICC, model_sparc64_def_movcs_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4794   { SPARC64_INSN_MOVCS_XCC_XCC, model_sparc64_def_movcs_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4795   { SPARC64_INSN_MOVCS_IMM_XCC_XCC, model_sparc64_def_movcs_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4796   { SPARC64_INSN_MOVPOS_ICC_ICC, model_sparc64_def_movpos_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4797   { SPARC64_INSN_MOVPOS_IMM_ICC_ICC, model_sparc64_def_movpos_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4798   { SPARC64_INSN_MOVPOS_XCC_XCC, model_sparc64_def_movpos_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4799   { SPARC64_INSN_MOVPOS_IMM_XCC_XCC, model_sparc64_def_movpos_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4800   { SPARC64_INSN_MOVNEG_ICC_ICC, model_sparc64_def_movneg_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4801   { SPARC64_INSN_MOVNEG_IMM_ICC_ICC, model_sparc64_def_movneg_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4802   { SPARC64_INSN_MOVNEG_XCC_XCC, model_sparc64_def_movneg_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4803   { SPARC64_INSN_MOVNEG_IMM_XCC_XCC, model_sparc64_def_movneg_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4804   { SPARC64_INSN_MOVVC_ICC_ICC, model_sparc64_def_movvc_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4805   { SPARC64_INSN_MOVVC_IMM_ICC_ICC, model_sparc64_def_movvc_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4806   { SPARC64_INSN_MOVVC_XCC_XCC, model_sparc64_def_movvc_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4807   { SPARC64_INSN_MOVVC_IMM_XCC_XCC, model_sparc64_def_movvc_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4808   { SPARC64_INSN_MOVVS_ICC_ICC, model_sparc64_def_movvs_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4809   { SPARC64_INSN_MOVVS_IMM_ICC_ICC, model_sparc64_def_movvs_imm_icc_icc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4810   { SPARC64_INSN_MOVVS_XCC_XCC, model_sparc64_def_movvs_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4811   { SPARC64_INSN_MOVVS_IMM_XCC_XCC, model_sparc64_def_movvs_imm_xcc_xcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4812   { SPARC64_INSN_LDSB_REG_REG, model_sparc64_def_ldsb_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4813   { SPARC64_INSN_LDSB_REG_IMM, model_sparc64_def_ldsb_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4814   { SPARC64_INSN_LDSB_REG_REG_ASI, model_sparc64_def_ldsb_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4815   { SPARC64_INSN_LDUB_REG_REG, model_sparc64_def_ldub_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4816   { SPARC64_INSN_LDUB_REG_IMM, model_sparc64_def_ldub_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4817   { SPARC64_INSN_LDUB_REG_REG_ASI, model_sparc64_def_ldub_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4818   { SPARC64_INSN_LDSH_REG_REG, model_sparc64_def_ldsh_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4819   { SPARC64_INSN_LDSH_REG_IMM, model_sparc64_def_ldsh_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4820   { SPARC64_INSN_LDSH_REG_REG_ASI, model_sparc64_def_ldsh_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4821   { SPARC64_INSN_LDUH_REG_REG, model_sparc64_def_lduh_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4822   { SPARC64_INSN_LDUH_REG_IMM, model_sparc64_def_lduh_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4823   { SPARC64_INSN_LDUH_REG_REG_ASI, model_sparc64_def_lduh_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4824   { SPARC64_INSN_LDSW_REG_REG, model_sparc64_def_ldsw_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4825   { SPARC64_INSN_LDSW_REG_IMM, model_sparc64_def_ldsw_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4826   { SPARC64_INSN_LDSW_REG_REG_ASI, model_sparc64_def_ldsw_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4827   { SPARC64_INSN_LDUW_REG_REG, model_sparc64_def_lduw_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4828   { SPARC64_INSN_LDUW_REG_IMM, model_sparc64_def_lduw_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4829   { SPARC64_INSN_LDUW_REG_REG_ASI, model_sparc64_def_lduw_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4830   { SPARC64_INSN_LDX_REG_REG, model_sparc64_def_ldx_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4831   { SPARC64_INSN_LDX_REG_IMM, model_sparc64_def_ldx_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4832   { SPARC64_INSN_LDX_REG_REG_ASI, model_sparc64_def_ldx_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4833   { SPARC64_INSN_LDD_REG_REG, model_sparc64_def_ldd_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4834   { SPARC64_INSN_LDD_REG_IMM, model_sparc64_def_ldd_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4835   { SPARC64_INSN_LDD_REG_REG_ASI, model_sparc64_def_ldd_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4836   { SPARC64_INSN_STB_REG_REG, model_sparc64_def_stb_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4837   { SPARC64_INSN_STB_REG_IMM, model_sparc64_def_stb_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4838   { SPARC64_INSN_STB_REG_REG_ASI, model_sparc64_def_stb_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4839   { SPARC64_INSN_STH_REG_REG, model_sparc64_def_sth_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4840   { SPARC64_INSN_STH_REG_IMM, model_sparc64_def_sth_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4841   { SPARC64_INSN_STH_REG_REG_ASI, model_sparc64_def_sth_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4842   { SPARC64_INSN_ST_REG_REG, model_sparc64_def_st_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4843   { SPARC64_INSN_ST_REG_IMM, model_sparc64_def_st_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4844   { SPARC64_INSN_ST_REG_REG_ASI, model_sparc64_def_st_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4845   { SPARC64_INSN_STX_REG_REG, model_sparc64_def_stx_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4846   { SPARC64_INSN_STX_REG_IMM, model_sparc64_def_stx_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4847   { SPARC64_INSN_STX_REG_REG_ASI, model_sparc64_def_stx_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4848   { SPARC64_INSN_STD_REG_REG, model_sparc64_def_std_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4849   { SPARC64_INSN_STD_REG_IMM, model_sparc64_def_std_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4850   { SPARC64_INSN_STD_REG_REG_ASI, model_sparc64_def_std_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4851   { SPARC64_INSN_FP_LD_REG_REG, model_sparc64_def_fp_ld_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4852   { SPARC64_INSN_FP_LD_REG_IMM, model_sparc64_def_fp_ld_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4853   { SPARC64_INSN_FP_LD_REG_REG_ASI, model_sparc64_def_fp_ld_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4854   { SPARC64_INSN_SETHI, model_sparc64_def_sethi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4855   { SPARC64_INSN_ADD, model_sparc64_def_add, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4856   { SPARC64_INSN_ADD_IMM, model_sparc64_def_add_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4857   { SPARC64_INSN_SUB, model_sparc64_def_sub, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4858   { SPARC64_INSN_SUB_IMM, model_sparc64_def_sub_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4859   { SPARC64_INSN_ADDCC, model_sparc64_def_addcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4860   { SPARC64_INSN_ADDCC_IMM, model_sparc64_def_addcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4861   { SPARC64_INSN_SUBCC, model_sparc64_def_subcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4862   { SPARC64_INSN_SUBCC_IMM, model_sparc64_def_subcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4863   { SPARC64_INSN_ADDC, model_sparc64_def_addc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4864   { SPARC64_INSN_ADDC_IMM, model_sparc64_def_addc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4865   { SPARC64_INSN_SUBC, model_sparc64_def_subc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4866   { SPARC64_INSN_SUBC_IMM, model_sparc64_def_subc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4867   { SPARC64_INSN_ADDCCC, model_sparc64_def_addccc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4868   { SPARC64_INSN_ADDCCC_IMM, model_sparc64_def_addccc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4869   { SPARC64_INSN_SUBCCC, model_sparc64_def_subccc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4870   { SPARC64_INSN_SUBCCC_IMM, model_sparc64_def_subccc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4871   { SPARC64_INSN_AND, model_sparc64_def_and, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4872   { SPARC64_INSN_AND_IMM, model_sparc64_def_and_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4873   { SPARC64_INSN_ANDCC, model_sparc64_def_andcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4874   { SPARC64_INSN_ANDCC_IMM, model_sparc64_def_andcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4875   { SPARC64_INSN_OR, model_sparc64_def_or, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4876   { SPARC64_INSN_OR_IMM, model_sparc64_def_or_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4877   { SPARC64_INSN_ORCC, model_sparc64_def_orcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4878   { SPARC64_INSN_ORCC_IMM, model_sparc64_def_orcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4879   { SPARC64_INSN_XOR, model_sparc64_def_xor, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4880   { SPARC64_INSN_XOR_IMM, model_sparc64_def_xor_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4881   { SPARC64_INSN_XORCC, model_sparc64_def_xorcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4882   { SPARC64_INSN_XORCC_IMM, model_sparc64_def_xorcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4883   { SPARC64_INSN_ANDN, model_sparc64_def_andn, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4884   { SPARC64_INSN_ANDN_IMM, model_sparc64_def_andn_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4885   { SPARC64_INSN_ANDNCC, model_sparc64_def_andncc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4886   { SPARC64_INSN_ANDNCC_IMM, model_sparc64_def_andncc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4887   { SPARC64_INSN_ORN, model_sparc64_def_orn, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4888   { SPARC64_INSN_ORN_IMM, model_sparc64_def_orn_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4889   { SPARC64_INSN_ORNCC, model_sparc64_def_orncc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4890   { SPARC64_INSN_ORNCC_IMM, model_sparc64_def_orncc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4891   { SPARC64_INSN_XNOR, model_sparc64_def_xnor, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4892   { SPARC64_INSN_XNOR_IMM, model_sparc64_def_xnor_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4893   { SPARC64_INSN_XNORCC, model_sparc64_def_xnorcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4894   { SPARC64_INSN_XNORCC_IMM, model_sparc64_def_xnorcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4895   { SPARC64_INSN_SLL, model_sparc64_def_sll, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4896   { SPARC64_INSN_SLL_IMM, model_sparc64_def_sll_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4897   { SPARC64_INSN_SRL, model_sparc64_def_srl, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4898   { SPARC64_INSN_SRL_IMM, model_sparc64_def_srl_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4899   { SPARC64_INSN_SRA, model_sparc64_def_sra, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4900   { SPARC64_INSN_SRA_IMM, model_sparc64_def_sra_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4901   { SPARC64_INSN_SMUL, model_sparc64_def_smul, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4902   { SPARC64_INSN_SMUL_IMM, model_sparc64_def_smul_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4903   { SPARC64_INSN_SMUL_CC, model_sparc64_def_smul_cc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4904   { SPARC64_INSN_SMUL_CC_IMM, model_sparc64_def_smul_cc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4905   { SPARC64_INSN_UMUL, model_sparc64_def_umul, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4906   { SPARC64_INSN_UMUL_IMM, model_sparc64_def_umul_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4907   { SPARC64_INSN_UMUL_CC, model_sparc64_def_umul_cc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4908   { SPARC64_INSN_UMUL_CC_IMM, model_sparc64_def_umul_cc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4909   { SPARC64_INSN_MULSCC, model_sparc64_def_mulscc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4910   { SPARC64_INSN_SAVE, model_sparc64_def_save, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4911   { SPARC64_INSN_SAVE_IMM, model_sparc64_def_save_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4912   { SPARC64_INSN_RESTORE, model_sparc64_def_restore, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4913   { SPARC64_INSN_RESTORE_IMM, model_sparc64_def_restore_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4914   { SPARC64_INSN_RETT, model_sparc64_def_rett, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4915   { SPARC64_INSN_RETT_IMM, model_sparc64_def_rett_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4916   { SPARC64_INSN_UNIMP, model_sparc64_def_unimp, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4917   { SPARC64_INSN_CALL, model_sparc64_def_call, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4918   { SPARC64_INSN_JMPL, model_sparc64_def_jmpl, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4919   { SPARC64_INSN_JMPL_IMM, model_sparc64_def_jmpl_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4920   { SPARC64_INSN_BA, model_sparc64_def_ba, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4921   { SPARC64_INSN_TA, model_sparc64_def_ta, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4922   { SPARC64_INSN_TA_IMM, model_sparc64_def_ta_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4923   { SPARC64_INSN_BN, model_sparc64_def_bn, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4924   { SPARC64_INSN_TN, model_sparc64_def_tn, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4925   { SPARC64_INSN_TN_IMM, model_sparc64_def_tn_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4926   { SPARC64_INSN_BNE, model_sparc64_def_bne, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4927   { SPARC64_INSN_TNE, model_sparc64_def_tne, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4928   { SPARC64_INSN_TNE_IMM, model_sparc64_def_tne_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4929   { SPARC64_INSN_BE, model_sparc64_def_be, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4930   { SPARC64_INSN_TE, model_sparc64_def_te, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4931   { SPARC64_INSN_TE_IMM, model_sparc64_def_te_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4932   { SPARC64_INSN_BG, model_sparc64_def_bg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4933   { SPARC64_INSN_TG, model_sparc64_def_tg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4934   { SPARC64_INSN_TG_IMM, model_sparc64_def_tg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4935   { SPARC64_INSN_BLE, model_sparc64_def_ble, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4936   { SPARC64_INSN_TLE, model_sparc64_def_tle, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4937   { SPARC64_INSN_TLE_IMM, model_sparc64_def_tle_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4938   { SPARC64_INSN_BGE, model_sparc64_def_bge, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4939   { SPARC64_INSN_TGE, model_sparc64_def_tge, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4940   { SPARC64_INSN_TGE_IMM, model_sparc64_def_tge_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4941   { SPARC64_INSN_BL, model_sparc64_def_bl, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4942   { SPARC64_INSN_TL, model_sparc64_def_tl, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4943   { SPARC64_INSN_TL_IMM, model_sparc64_def_tl_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4944   { SPARC64_INSN_BGU, model_sparc64_def_bgu, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4945   { SPARC64_INSN_TGU, model_sparc64_def_tgu, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4946   { SPARC64_INSN_TGU_IMM, model_sparc64_def_tgu_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4947   { SPARC64_INSN_BLEU, model_sparc64_def_bleu, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4948   { SPARC64_INSN_TLEU, model_sparc64_def_tleu, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4949   { SPARC64_INSN_TLEU_IMM, model_sparc64_def_tleu_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4950   { SPARC64_INSN_BCC, model_sparc64_def_bcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4951   { SPARC64_INSN_TCC, model_sparc64_def_tcc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4952   { SPARC64_INSN_TCC_IMM, model_sparc64_def_tcc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4953   { SPARC64_INSN_BCS, model_sparc64_def_bcs, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4954   { SPARC64_INSN_TCS, model_sparc64_def_tcs, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4955   { SPARC64_INSN_TCS_IMM, model_sparc64_def_tcs_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4956   { SPARC64_INSN_BPOS, model_sparc64_def_bpos, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4957   { SPARC64_INSN_TPOS, model_sparc64_def_tpos, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4958   { SPARC64_INSN_TPOS_IMM, model_sparc64_def_tpos_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4959   { SPARC64_INSN_BNEG, model_sparc64_def_bneg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4960   { SPARC64_INSN_TNEG, model_sparc64_def_tneg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4961   { SPARC64_INSN_TNEG_IMM, model_sparc64_def_tneg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4962   { SPARC64_INSN_BVC, model_sparc64_def_bvc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4963   { SPARC64_INSN_TVC, model_sparc64_def_tvc, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4964   { SPARC64_INSN_TVC_IMM, model_sparc64_def_tvc_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4965   { SPARC64_INSN_BVS, model_sparc64_def_bvs, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4966   { SPARC64_INSN_TVS, model_sparc64_def_tvs, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4967   { SPARC64_INSN_TVS_IMM, model_sparc64_def_tvs_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4968   { SPARC64_INSN_LDSTUB_REG_REG, model_sparc64_def_ldstub_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4969   { SPARC64_INSN_LDSTUB_REG_IMM, model_sparc64_def_ldstub_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4970   { SPARC64_INSN_LDSTUB_REG_REG_ASI, model_sparc64_def_ldstub_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4971   { SPARC64_INSN_SWAP_REG_REG, model_sparc64_def_swap_reg_reg, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4972   { SPARC64_INSN_SWAP_REG_IMM, model_sparc64_def_swap_reg_imm, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4973   { SPARC64_INSN_SWAP_REG_REG_ASI, model_sparc64_def_swap_reg_reg_asi, { { (int) UNIT_SPARC64_DEF_U_EXEC, 1, 1 } } },
4974 };
4975
4976 #endif /* WITH_PROFILE_MODEL_P */
4977
4978 static void
4979 sparc64_def_model_init (SIM_CPU *cpu)
4980 {
4981   CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_SPARC64_DEF_DATA));
4982 }
4983
4984 #if WITH_PROFILE_MODEL_P
4985 #define TIMING_DATA(td) td
4986 #else
4987 #define TIMING_DATA(td) 0
4988 #endif
4989
4990 static const MODEL sparc_v9_models[] =
4991 {
4992   { "sparc64-def", & sparc_v9_mach, MODEL_SPARC64_DEF, TIMING_DATA (& sparc64_def_timing[0]), sparc64_def_model_init },
4993   { 0 }
4994 };
4995
4996 /* The properties of this cpu's implementation.  */
4997
4998 static const MACH_IMP_PROPERTIES sparc64_imp_properties =
4999 {
5000   sizeof (SIM_CPU),
5001 #if WITH_SCACHE
5002   sizeof (SCACHE)
5003 #else
5004   0
5005 #endif
5006 };
5007
5008
5009 static void
5010 sparc64_prepare_run (SIM_CPU *cpu)
5011 {
5012   if (CPU_IDESC (cpu) == NULL)
5013     sparc64_init_idesc_table (cpu);
5014 }
5015
5016 static const CGEN_INSN *
5017 sparc64_get_idata (SIM_CPU *cpu, int inum)
5018 {
5019   return CPU_IDESC (cpu) [inum].idata;
5020 }
5021
5022 static void
5023 sparc_v9_init_cpu (SIM_CPU *cpu)
5024 {
5025   CPU_REG_FETCH (cpu) = sparc64_fetch_register;
5026   CPU_REG_STORE (cpu) = sparc64_store_register;
5027   CPU_PC_FETCH (cpu) = sparc64_h_pc_get;
5028   CPU_PC_STORE (cpu) = sparc64_h_pc_set;
5029   CPU_GET_IDATA (cpu) = sparc64_get_idata;
5030   CPU_MAX_INSNS (cpu) = SPARC64_INSN_MAX;
5031   CPU_INSN_NAME (cpu) = cgen_insn_name;
5032   CPU_FULL_ENGINE_FN (cpu) = sparc64_engine_run_full;
5033 #if WITH_FAST
5034   CPU_FAST_ENGINE_FN (cpu) = sparc64_engine_run_fast;
5035 #else
5036   CPU_FAST_ENGINE_FN (cpu) = sparc64_engine_run_full;
5037 #endif
5038 }
5039
5040 const MACH sparc_v9_mach =
5041 {
5042   "sparc-v9", "sparc_v9",
5043   64, 64, & sparc_v9_models[0], & sparc64_imp_properties,
5044   sparc_v9_init_cpu,
5045   sparc64_prepare_run
5046 };
5047