OSDN Git Service

f124843bc97c382abb329d33551bd5ae47feb4da
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / mep / mep-cop1-16-sem.cxx
1 /* Simulator instruction semantics for mepcop1_16.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 2000-2009 Red Hat, Inc.
6
7 This file is part of the Red Hat simulators.
8
9
10 */
11
12
13 #if HAVE_CONFIG_H
14 #include "config.h"
15 #endif
16 #include "mep_ext1.h"
17
18 using namespace mep_ext1; // FIXME: namespace organization still wip
19 #define GET_ATTR(name) GET_ATTR_##name ()
20
21
22 // ********** x-invalid: --invalid--
23
24 sem_status
25 mepcop1_16_sem_x_invalid (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
26 {
27 #define FLD(f) abuf->fields.fmt_empty.f
28   sem_status status = SEM_STATUS_NORMAL;
29   mepcop1_16_scache* abuf = sem;
30   unsigned long long written = 0;
31   PCADDR pc = abuf->addr;
32   PCADDR npc = pc + 0;
33
34   {
35     current_cpu->invalid_insn (pc);
36     assert (0);
37     /* NOTREACHED */
38   }
39
40   current_cpu->done_insn (npc, status);
41   return status;
42 #undef FLD
43 }
44
45 // ********** c0nop_P0_P0S: c0nop
46
47 sem_status
48 mepcop1_16_sem_c0nop_P0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
49 {
50 #define FLD(f) abuf->fields.fmt_empty.f
51   sem_status status = SEM_STATUS_NORMAL;
52   mepcop1_16_scache* abuf = sem;
53   unsigned long long written = 0;
54   PCADDR pc = abuf->addr;
55   PCADDR npc = pc + 4;
56
57 {
58 current_cpu->check_option_cp (pc);
59 current_cpu->ivc2_c0nop (pc);
60 }
61
62   current_cpu->done_insn (npc, status);
63   return status;
64 #undef FLD
65 }
66
67 // ********** cpadd3_b_P0S_P1: cpadd3.b $crop,$crqp,$crpp
68
69 sem_status
70 mepcop1_16_sem_cpadd3_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
71 {
72 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
73   sem_status status = SEM_STATUS_NORMAL;
74   mepcop1_16_scache* abuf = sem;
75   unsigned long long written = 0;
76   PCADDR pc = abuf->addr;
77   PCADDR npc = pc + 4;
78
79 {
80 current_cpu->check_option_cp (pc);
81   {
82     DI opval = current_cpu->ivc2_cpadd3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
83     if (UNLIKELY(current_cpu->trace_result_p))
84       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
85     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
86   }
87 }
88
89   current_cpu->done_insn (npc, status);
90   return status;
91 #undef FLD
92 }
93
94 // ********** cpadd3_h_P0S_P1: cpadd3.h $crop,$crqp,$crpp
95
96 sem_status
97 mepcop1_16_sem_cpadd3_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
98 {
99 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
100   sem_status status = SEM_STATUS_NORMAL;
101   mepcop1_16_scache* abuf = sem;
102   unsigned long long written = 0;
103   PCADDR pc = abuf->addr;
104   PCADDR npc = pc + 4;
105
106 {
107 current_cpu->check_option_cp (pc);
108   {
109     DI opval = current_cpu->ivc2_cpadd3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
110     if (UNLIKELY(current_cpu->trace_result_p))
111       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
112     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
113   }
114 }
115
116   current_cpu->done_insn (npc, status);
117   return status;
118 #undef FLD
119 }
120
121 // ********** cpadd3_w_P0S_P1: cpadd3.w $crop,$crqp,$crpp
122
123 sem_status
124 mepcop1_16_sem_cpadd3_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
125 {
126 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
127   sem_status status = SEM_STATUS_NORMAL;
128   mepcop1_16_scache* abuf = sem;
129   unsigned long long written = 0;
130   PCADDR pc = abuf->addr;
131   PCADDR npc = pc + 4;
132
133 {
134 current_cpu->check_option_cp (pc);
135   {
136     DI opval = current_cpu->ivc2_cpadd3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
137     if (UNLIKELY(current_cpu->trace_result_p))
138       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
139     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
140   }
141 }
142
143   current_cpu->done_insn (npc, status);
144   return status;
145 #undef FLD
146 }
147
148 // ********** cpunpacku_b_P0S_P1: cpunpacku.b $crop,$crqp,$crpp
149
150 sem_status
151 mepcop1_16_sem_cpunpacku_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
152 {
153 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
154   sem_status status = SEM_STATUS_NORMAL;
155   mepcop1_16_scache* abuf = sem;
156   unsigned long long written = 0;
157   PCADDR pc = abuf->addr;
158   PCADDR npc = pc + 4;
159
160 {
161 current_cpu->check_option_cp (pc);
162   {
163     DI opval = current_cpu->ivc2_cpunpacku_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
164     if (UNLIKELY(current_cpu->trace_result_p))
165       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
166     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
167   }
168 }
169
170   current_cpu->done_insn (npc, status);
171   return status;
172 #undef FLD
173 }
174
175 // ********** cpunpacku_h_P0S_P1: cpunpacku.h $crop,$crqp,$crpp
176
177 sem_status
178 mepcop1_16_sem_cpunpacku_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
179 {
180 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
181   sem_status status = SEM_STATUS_NORMAL;
182   mepcop1_16_scache* abuf = sem;
183   unsigned long long written = 0;
184   PCADDR pc = abuf->addr;
185   PCADDR npc = pc + 4;
186
187 {
188 current_cpu->check_option_cp (pc);
189   {
190     DI opval = current_cpu->ivc2_cpunpacku_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
191     if (UNLIKELY(current_cpu->trace_result_p))
192       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
193     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
194   }
195 }
196
197   current_cpu->done_insn (npc, status);
198   return status;
199 #undef FLD
200 }
201
202 // ********** cpunpacku_w_P0S_P1: cpunpacku.w $crop,$crqp,$crpp
203
204 sem_status
205 mepcop1_16_sem_cpunpacku_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
206 {
207 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
208   sem_status status = SEM_STATUS_NORMAL;
209   mepcop1_16_scache* abuf = sem;
210   unsigned long long written = 0;
211   PCADDR pc = abuf->addr;
212   PCADDR npc = pc + 4;
213
214 {
215 current_cpu->check_option_cp (pc);
216   {
217     DI opval = current_cpu->ivc2_cpunpacku_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
218     if (UNLIKELY(current_cpu->trace_result_p))
219       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
220     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
221   }
222 }
223
224   current_cpu->done_insn (npc, status);
225   return status;
226 #undef FLD
227 }
228
229 // ********** cpunpackl_b_P0S_P1: cpunpackl.b $crop,$crqp,$crpp
230
231 sem_status
232 mepcop1_16_sem_cpunpackl_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
233 {
234 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
235   sem_status status = SEM_STATUS_NORMAL;
236   mepcop1_16_scache* abuf = sem;
237   unsigned long long written = 0;
238   PCADDR pc = abuf->addr;
239   PCADDR npc = pc + 4;
240
241 {
242 current_cpu->check_option_cp (pc);
243   {
244     DI opval = current_cpu->ivc2_cpunpackl_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
245     if (UNLIKELY(current_cpu->trace_result_p))
246       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
247     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
248   }
249 }
250
251   current_cpu->done_insn (npc, status);
252   return status;
253 #undef FLD
254 }
255
256 // ********** cpunpackl_h_P0S_P1: cpunpackl.h $crop,$crqp,$crpp
257
258 sem_status
259 mepcop1_16_sem_cpunpackl_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
260 {
261 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
262   sem_status status = SEM_STATUS_NORMAL;
263   mepcop1_16_scache* abuf = sem;
264   unsigned long long written = 0;
265   PCADDR pc = abuf->addr;
266   PCADDR npc = pc + 4;
267
268 {
269 current_cpu->check_option_cp (pc);
270   {
271     DI opval = current_cpu->ivc2_cpunpackl_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
272     if (UNLIKELY(current_cpu->trace_result_p))
273       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
274     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
275   }
276 }
277
278   current_cpu->done_insn (npc, status);
279   return status;
280 #undef FLD
281 }
282
283 // ********** cpunpackl_w_P0S_P1: cpunpackl.w $crop,$crqp,$crpp
284
285 sem_status
286 mepcop1_16_sem_cpunpackl_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
287 {
288 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
289   sem_status status = SEM_STATUS_NORMAL;
290   mepcop1_16_scache* abuf = sem;
291   unsigned long long written = 0;
292   PCADDR pc = abuf->addr;
293   PCADDR npc = pc + 4;
294
295 {
296 current_cpu->check_option_cp (pc);
297   {
298     DI opval = current_cpu->ivc2_cpunpackl_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
299     if (UNLIKELY(current_cpu->trace_result_p))
300       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
301     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
302   }
303 }
304
305   current_cpu->done_insn (npc, status);
306   return status;
307 #undef FLD
308 }
309
310 // ********** cpsel_P0S_P1: cpsel $crop,$crqp,$crpp
311
312 sem_status
313 mepcop1_16_sem_cpsel_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
314 {
315 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
316   sem_status status = SEM_STATUS_NORMAL;
317   mepcop1_16_scache* abuf = sem;
318   unsigned long long written = 0;
319   PCADDR pc = abuf->addr;
320   PCADDR npc = pc + 4;
321
322 {
323 current_cpu->check_option_cp (pc);
324   {
325     DI opval = current_cpu->ivc2_cpsel (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
326     if (UNLIKELY(current_cpu->trace_result_p))
327       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
328     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
329   }
330 }
331
332   current_cpu->done_insn (npc, status);
333   return status;
334 #undef FLD
335 }
336
337 // ********** cpfsftbs0_P0S_P1: cpfsftbs0 $crop,$crqp,$crpp
338
339 sem_status
340 mepcop1_16_sem_cpfsftbs0_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
341 {
342 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
343   sem_status status = SEM_STATUS_NORMAL;
344   mepcop1_16_scache* abuf = sem;
345   unsigned long long written = 0;
346   PCADDR pc = abuf->addr;
347   PCADDR npc = pc + 4;
348
349 {
350 current_cpu->check_option_cp (pc);
351   {
352     DI opval = current_cpu->ivc2_cpfsftbs0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
353     if (UNLIKELY(current_cpu->trace_result_p))
354       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
355     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
356   }
357 }
358
359   current_cpu->done_insn (npc, status);
360   return status;
361 #undef FLD
362 }
363
364 // ********** cpfsftbs1_P0S_P1: cpfsftbs1 $crop,$crqp,$crpp
365
366 sem_status
367 mepcop1_16_sem_cpfsftbs1_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
368 {
369 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
370   sem_status status = SEM_STATUS_NORMAL;
371   mepcop1_16_scache* abuf = sem;
372   unsigned long long written = 0;
373   PCADDR pc = abuf->addr;
374   PCADDR npc = pc + 4;
375
376 {
377 current_cpu->check_option_cp (pc);
378   {
379     DI opval = current_cpu->ivc2_cpfsftbs1 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
380     if (UNLIKELY(current_cpu->trace_result_p))
381       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
382     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
383   }
384 }
385
386   current_cpu->done_insn (npc, status);
387   return status;
388 #undef FLD
389 }
390
391 // ********** cpmov_P0S_P1: cpmov $crop,$crqp
392
393 sem_status
394 mepcop1_16_sem_cpmov_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
395 {
396 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
397   sem_status status = SEM_STATUS_NORMAL;
398   mepcop1_16_scache* abuf = sem;
399   unsigned long long written = 0;
400   PCADDR pc = abuf->addr;
401   PCADDR npc = pc + 4;
402
403 {
404 current_cpu->check_option_cp (pc);
405   {
406     DI opval = current_cpu->ivc2_cpmov (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
407     if (UNLIKELY(current_cpu->trace_result_p))
408       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
409     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
410   }
411 }
412
413   current_cpu->done_insn (npc, status);
414   return status;
415 #undef FLD
416 }
417
418 // ********** cpabsz_b_P0S_P1: cpabsz.b $crop,$crqp
419
420 sem_status
421 mepcop1_16_sem_cpabsz_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
422 {
423 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
424   sem_status status = SEM_STATUS_NORMAL;
425   mepcop1_16_scache* abuf = sem;
426   unsigned long long written = 0;
427   PCADDR pc = abuf->addr;
428   PCADDR npc = pc + 4;
429
430 {
431 current_cpu->check_option_cp (pc);
432   {
433     DI opval = current_cpu->ivc2_cpabsz_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
434     if (UNLIKELY(current_cpu->trace_result_p))
435       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
436     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
437   }
438 }
439
440   current_cpu->done_insn (npc, status);
441   return status;
442 #undef FLD
443 }
444
445 // ********** cpabsz_h_P0S_P1: cpabsz.h $crop,$crqp
446
447 sem_status
448 mepcop1_16_sem_cpabsz_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
449 {
450 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
451   sem_status status = SEM_STATUS_NORMAL;
452   mepcop1_16_scache* abuf = sem;
453   unsigned long long written = 0;
454   PCADDR pc = abuf->addr;
455   PCADDR npc = pc + 4;
456
457 {
458 current_cpu->check_option_cp (pc);
459   {
460     DI opval = current_cpu->ivc2_cpabsz_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
461     if (UNLIKELY(current_cpu->trace_result_p))
462       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
463     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
464   }
465 }
466
467   current_cpu->done_insn (npc, status);
468   return status;
469 #undef FLD
470 }
471
472 // ********** cpabsz_w_P0S_P1: cpabsz.w $crop,$crqp
473
474 sem_status
475 mepcop1_16_sem_cpabsz_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
476 {
477 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
478   sem_status status = SEM_STATUS_NORMAL;
479   mepcop1_16_scache* abuf = sem;
480   unsigned long long written = 0;
481   PCADDR pc = abuf->addr;
482   PCADDR npc = pc + 4;
483
484 {
485 current_cpu->check_option_cp (pc);
486   {
487     DI opval = current_cpu->ivc2_cpabsz_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
488     if (UNLIKELY(current_cpu->trace_result_p))
489       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
490     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
491   }
492 }
493
494   current_cpu->done_insn (npc, status);
495   return status;
496 #undef FLD
497 }
498
499 // ********** cpldz_h_P0S_P1: cpldz.h $crop,$crqp
500
501 sem_status
502 mepcop1_16_sem_cpldz_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
503 {
504 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
505   sem_status status = SEM_STATUS_NORMAL;
506   mepcop1_16_scache* abuf = sem;
507   unsigned long long written = 0;
508   PCADDR pc = abuf->addr;
509   PCADDR npc = pc + 4;
510
511 {
512 current_cpu->check_option_cp (pc);
513   {
514     DI opval = current_cpu->ivc2_cpldz_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
515     if (UNLIKELY(current_cpu->trace_result_p))
516       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
517     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
518   }
519 }
520
521   current_cpu->done_insn (npc, status);
522   return status;
523 #undef FLD
524 }
525
526 // ********** cpldz_w_P0S_P1: cpldz.w $crop,$crqp
527
528 sem_status
529 mepcop1_16_sem_cpldz_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
530 {
531 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
532   sem_status status = SEM_STATUS_NORMAL;
533   mepcop1_16_scache* abuf = sem;
534   unsigned long long written = 0;
535   PCADDR pc = abuf->addr;
536   PCADDR npc = pc + 4;
537
538 {
539 current_cpu->check_option_cp (pc);
540   {
541     DI opval = current_cpu->ivc2_cpldz_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
542     if (UNLIKELY(current_cpu->trace_result_p))
543       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
544     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
545   }
546 }
547
548   current_cpu->done_insn (npc, status);
549   return status;
550 #undef FLD
551 }
552
553 // ********** cpnorm_h_P0S_P1: cpnorm.h $crop,$crqp
554
555 sem_status
556 mepcop1_16_sem_cpnorm_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
557 {
558 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
559   sem_status status = SEM_STATUS_NORMAL;
560   mepcop1_16_scache* abuf = sem;
561   unsigned long long written = 0;
562   PCADDR pc = abuf->addr;
563   PCADDR npc = pc + 4;
564
565 {
566 current_cpu->check_option_cp (pc);
567   {
568     DI opval = current_cpu->ivc2_cpnorm_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
569     if (UNLIKELY(current_cpu->trace_result_p))
570       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
571     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
572   }
573 }
574
575   current_cpu->done_insn (npc, status);
576   return status;
577 #undef FLD
578 }
579
580 // ********** cpnorm_w_P0S_P1: cpnorm.w $crop,$crqp
581
582 sem_status
583 mepcop1_16_sem_cpnorm_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
584 {
585 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
586   sem_status status = SEM_STATUS_NORMAL;
587   mepcop1_16_scache* abuf = sem;
588   unsigned long long written = 0;
589   PCADDR pc = abuf->addr;
590   PCADDR npc = pc + 4;
591
592 {
593 current_cpu->check_option_cp (pc);
594   {
595     DI opval = current_cpu->ivc2_cpnorm_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
596     if (UNLIKELY(current_cpu->trace_result_p))
597       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
598     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
599   }
600 }
601
602   current_cpu->done_insn (npc, status);
603   return status;
604 #undef FLD
605 }
606
607 // ********** cphaddu_b_P0S_P1: cphaddu.b $crop,$crqp
608
609 sem_status
610 mepcop1_16_sem_cphaddu_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
611 {
612 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
613   sem_status status = SEM_STATUS_NORMAL;
614   mepcop1_16_scache* abuf = sem;
615   unsigned long long written = 0;
616   PCADDR pc = abuf->addr;
617   PCADDR npc = pc + 4;
618
619 {
620 current_cpu->check_option_cp (pc);
621   {
622     DI opval = current_cpu->ivc2_cphaddu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
623     if (UNLIKELY(current_cpu->trace_result_p))
624       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
625     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
626   }
627 }
628
629   current_cpu->done_insn (npc, status);
630   return status;
631 #undef FLD
632 }
633
634 // ********** cphadd_b_P0S_P1: cphadd.b $crop,$crqp
635
636 sem_status
637 mepcop1_16_sem_cphadd_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
638 {
639 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
640   sem_status status = SEM_STATUS_NORMAL;
641   mepcop1_16_scache* abuf = sem;
642   unsigned long long written = 0;
643   PCADDR pc = abuf->addr;
644   PCADDR npc = pc + 4;
645
646 {
647 current_cpu->check_option_cp (pc);
648   {
649     DI opval = current_cpu->ivc2_cphadd_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
650     if (UNLIKELY(current_cpu->trace_result_p))
651       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
652     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
653   }
654 }
655
656   current_cpu->done_insn (npc, status);
657   return status;
658 #undef FLD
659 }
660
661 // ********** cphadd_h_P0S_P1: cphadd.h $crop,$crqp
662
663 sem_status
664 mepcop1_16_sem_cphadd_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
665 {
666 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
667   sem_status status = SEM_STATUS_NORMAL;
668   mepcop1_16_scache* abuf = sem;
669   unsigned long long written = 0;
670   PCADDR pc = abuf->addr;
671   PCADDR npc = pc + 4;
672
673 {
674 current_cpu->check_option_cp (pc);
675   {
676     DI opval = current_cpu->ivc2_cphadd_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
677     if (UNLIKELY(current_cpu->trace_result_p))
678       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
679     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
680   }
681 }
682
683   current_cpu->done_insn (npc, status);
684   return status;
685 #undef FLD
686 }
687
688 // ********** cphadd_w_P0S_P1: cphadd.w $crop,$crqp
689
690 sem_status
691 mepcop1_16_sem_cphadd_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
692 {
693 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
694   sem_status status = SEM_STATUS_NORMAL;
695   mepcop1_16_scache* abuf = sem;
696   unsigned long long written = 0;
697   PCADDR pc = abuf->addr;
698   PCADDR npc = pc + 4;
699
700 {
701 current_cpu->check_option_cp (pc);
702   {
703     DI opval = current_cpu->ivc2_cphadd_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
704     if (UNLIKELY(current_cpu->trace_result_p))
705       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
706     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
707   }
708 }
709
710   current_cpu->done_insn (npc, status);
711   return status;
712 #undef FLD
713 }
714
715 // ********** cpccadd_b_P0S_P1: cpccadd.b $crqp
716
717 sem_status
718 mepcop1_16_sem_cpccadd_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
719 {
720 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
721   sem_status status = SEM_STATUS_NORMAL;
722   mepcop1_16_scache* abuf = sem;
723   unsigned long long written = 0;
724   PCADDR pc = abuf->addr;
725   PCADDR npc = pc + 4;
726
727 {
728 current_cpu->check_option_cp (pc);
729   {
730     DI opval = current_cpu->ivc2_cpccadd_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
731     if (UNLIKELY(current_cpu->trace_result_p))
732       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
733     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
734   }
735 }
736
737   current_cpu->done_insn (npc, status);
738   return status;
739 #undef FLD
740 }
741
742 // ********** cpbcast_b_P0S_P1: cpbcast.b $crop,$crqp
743
744 sem_status
745 mepcop1_16_sem_cpbcast_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
746 {
747 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
748   sem_status status = SEM_STATUS_NORMAL;
749   mepcop1_16_scache* abuf = sem;
750   unsigned long long written = 0;
751   PCADDR pc = abuf->addr;
752   PCADDR npc = pc + 4;
753
754 {
755 current_cpu->check_option_cp (pc);
756   {
757     DI opval = current_cpu->ivc2_cpbcast_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
758     if (UNLIKELY(current_cpu->trace_result_p))
759       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
760     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
761   }
762 }
763
764   current_cpu->done_insn (npc, status);
765   return status;
766 #undef FLD
767 }
768
769 // ********** cpbcast_h_P0S_P1: cpbcast.h $crop,$crqp
770
771 sem_status
772 mepcop1_16_sem_cpbcast_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
773 {
774 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
775   sem_status status = SEM_STATUS_NORMAL;
776   mepcop1_16_scache* abuf = sem;
777   unsigned long long written = 0;
778   PCADDR pc = abuf->addr;
779   PCADDR npc = pc + 4;
780
781 {
782 current_cpu->check_option_cp (pc);
783   {
784     DI opval = current_cpu->ivc2_cpbcast_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
785     if (UNLIKELY(current_cpu->trace_result_p))
786       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
787     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
788   }
789 }
790
791   current_cpu->done_insn (npc, status);
792   return status;
793 #undef FLD
794 }
795
796 // ********** cpbcast_w_P0S_P1: cpbcast.w $crop,$crqp
797
798 sem_status
799 mepcop1_16_sem_cpbcast_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
800 {
801 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
802   sem_status status = SEM_STATUS_NORMAL;
803   mepcop1_16_scache* abuf = sem;
804   unsigned long long written = 0;
805   PCADDR pc = abuf->addr;
806   PCADDR npc = pc + 4;
807
808 {
809 current_cpu->check_option_cp (pc);
810   {
811     DI opval = current_cpu->ivc2_cpbcast_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
812     if (UNLIKELY(current_cpu->trace_result_p))
813       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
814     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
815   }
816 }
817
818   current_cpu->done_insn (npc, status);
819   return status;
820 #undef FLD
821 }
822
823 // ********** cpextuu_b_P0S_P1: cpextuu.b $crop,$crqp
824
825 sem_status
826 mepcop1_16_sem_cpextuu_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
827 {
828 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
829   sem_status status = SEM_STATUS_NORMAL;
830   mepcop1_16_scache* abuf = sem;
831   unsigned long long written = 0;
832   PCADDR pc = abuf->addr;
833   PCADDR npc = pc + 4;
834
835 {
836 current_cpu->check_option_cp (pc);
837   {
838     DI opval = current_cpu->ivc2_cpextuu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
839     if (UNLIKELY(current_cpu->trace_result_p))
840       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
841     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
842   }
843 }
844
845   current_cpu->done_insn (npc, status);
846   return status;
847 #undef FLD
848 }
849
850 // ********** cpextu_b_P0S_P1: cpextu.b $crop,$crqp
851
852 sem_status
853 mepcop1_16_sem_cpextu_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
854 {
855 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
856   sem_status status = SEM_STATUS_NORMAL;
857   mepcop1_16_scache* abuf = sem;
858   unsigned long long written = 0;
859   PCADDR pc = abuf->addr;
860   PCADDR npc = pc + 4;
861
862 {
863 current_cpu->check_option_cp (pc);
864   {
865     DI opval = current_cpu->ivc2_cpextu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
866     if (UNLIKELY(current_cpu->trace_result_p))
867       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
868     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
869   }
870 }
871
872   current_cpu->done_insn (npc, status);
873   return status;
874 #undef FLD
875 }
876
877 // ********** cpextuu_h_P0S_P1: cpextuu.h $crop,$crqp
878
879 sem_status
880 mepcop1_16_sem_cpextuu_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
881 {
882 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
883   sem_status status = SEM_STATUS_NORMAL;
884   mepcop1_16_scache* abuf = sem;
885   unsigned long long written = 0;
886   PCADDR pc = abuf->addr;
887   PCADDR npc = pc + 4;
888
889 {
890 current_cpu->check_option_cp (pc);
891   {
892     DI opval = current_cpu->ivc2_cpextuu_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
893     if (UNLIKELY(current_cpu->trace_result_p))
894       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
895     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
896   }
897 }
898
899   current_cpu->done_insn (npc, status);
900   return status;
901 #undef FLD
902 }
903
904 // ********** cpextu_h_P0S_P1: cpextu.h $crop,$crqp
905
906 sem_status
907 mepcop1_16_sem_cpextu_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
908 {
909 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
910   sem_status status = SEM_STATUS_NORMAL;
911   mepcop1_16_scache* abuf = sem;
912   unsigned long long written = 0;
913   PCADDR pc = abuf->addr;
914   PCADDR npc = pc + 4;
915
916 {
917 current_cpu->check_option_cp (pc);
918   {
919     DI opval = current_cpu->ivc2_cpextu_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
920     if (UNLIKELY(current_cpu->trace_result_p))
921       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
922     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
923   }
924 }
925
926   current_cpu->done_insn (npc, status);
927   return status;
928 #undef FLD
929 }
930
931 // ********** cpextlu_b_P0S_P1: cpextlu.b $crop,$crqp
932
933 sem_status
934 mepcop1_16_sem_cpextlu_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
935 {
936 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
937   sem_status status = SEM_STATUS_NORMAL;
938   mepcop1_16_scache* abuf = sem;
939   unsigned long long written = 0;
940   PCADDR pc = abuf->addr;
941   PCADDR npc = pc + 4;
942
943 {
944 current_cpu->check_option_cp (pc);
945   {
946     DI opval = current_cpu->ivc2_cpextlu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
947     if (UNLIKELY(current_cpu->trace_result_p))
948       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
949     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
950   }
951 }
952
953   current_cpu->done_insn (npc, status);
954   return status;
955 #undef FLD
956 }
957
958 // ********** cpextl_b_P0S_P1: cpextl.b $crop,$crqp
959
960 sem_status
961 mepcop1_16_sem_cpextl_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
962 {
963 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
964   sem_status status = SEM_STATUS_NORMAL;
965   mepcop1_16_scache* abuf = sem;
966   unsigned long long written = 0;
967   PCADDR pc = abuf->addr;
968   PCADDR npc = pc + 4;
969
970 {
971 current_cpu->check_option_cp (pc);
972   {
973     DI opval = current_cpu->ivc2_cpextl_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
974     if (UNLIKELY(current_cpu->trace_result_p))
975       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
976     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
977   }
978 }
979
980   current_cpu->done_insn (npc, status);
981   return status;
982 #undef FLD
983 }
984
985 // ********** cpextlu_h_P0S_P1: cpextlu.h $crop,$crqp
986
987 sem_status
988 mepcop1_16_sem_cpextlu_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
989 {
990 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
991   sem_status status = SEM_STATUS_NORMAL;
992   mepcop1_16_scache* abuf = sem;
993   unsigned long long written = 0;
994   PCADDR pc = abuf->addr;
995   PCADDR npc = pc + 4;
996
997 {
998 current_cpu->check_option_cp (pc);
999   {
1000     DI opval = current_cpu->ivc2_cpextlu_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1001     if (UNLIKELY(current_cpu->trace_result_p))
1002       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1003     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1004   }
1005 }
1006
1007   current_cpu->done_insn (npc, status);
1008   return status;
1009 #undef FLD
1010 }
1011
1012 // ********** cpextl_h_P0S_P1: cpextl.h $crop,$crqp
1013
1014 sem_status
1015 mepcop1_16_sem_cpextl_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1016 {
1017 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1018   sem_status status = SEM_STATUS_NORMAL;
1019   mepcop1_16_scache* abuf = sem;
1020   unsigned long long written = 0;
1021   PCADDR pc = abuf->addr;
1022   PCADDR npc = pc + 4;
1023
1024 {
1025 current_cpu->check_option_cp (pc);
1026   {
1027     DI opval = current_cpu->ivc2_cpextl_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1028     if (UNLIKELY(current_cpu->trace_result_p))
1029       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1030     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1031   }
1032 }
1033
1034   current_cpu->done_insn (npc, status);
1035   return status;
1036 #undef FLD
1037 }
1038
1039 // ********** cpcastub_h_P0S_P1: cpcastub.h $crop,$crqp
1040
1041 sem_status
1042 mepcop1_16_sem_cpcastub_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1043 {
1044 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1045   sem_status status = SEM_STATUS_NORMAL;
1046   mepcop1_16_scache* abuf = sem;
1047   unsigned long long written = 0;
1048   PCADDR pc = abuf->addr;
1049   PCADDR npc = pc + 4;
1050
1051 {
1052 current_cpu->check_option_cp (pc);
1053   {
1054     DI opval = current_cpu->ivc2_cpcastub_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1055     if (UNLIKELY(current_cpu->trace_result_p))
1056       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1057     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1058   }
1059 }
1060
1061   current_cpu->done_insn (npc, status);
1062   return status;
1063 #undef FLD
1064 }
1065
1066 // ********** cpcastb_h_P0S_P1: cpcastb.h $crop,$crqp
1067
1068 sem_status
1069 mepcop1_16_sem_cpcastb_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1070 {
1071 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1072   sem_status status = SEM_STATUS_NORMAL;
1073   mepcop1_16_scache* abuf = sem;
1074   unsigned long long written = 0;
1075   PCADDR pc = abuf->addr;
1076   PCADDR npc = pc + 4;
1077
1078 {
1079 current_cpu->check_option_cp (pc);
1080   {
1081     DI opval = current_cpu->ivc2_cpcastb_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1082     if (UNLIKELY(current_cpu->trace_result_p))
1083       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1084     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1085   }
1086 }
1087
1088   current_cpu->done_insn (npc, status);
1089   return status;
1090 #undef FLD
1091 }
1092
1093 // ********** cpcastub_w_P0S_P1: cpcastub.w $crop,$crqp
1094
1095 sem_status
1096 mepcop1_16_sem_cpcastub_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1097 {
1098 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1099   sem_status status = SEM_STATUS_NORMAL;
1100   mepcop1_16_scache* abuf = sem;
1101   unsigned long long written = 0;
1102   PCADDR pc = abuf->addr;
1103   PCADDR npc = pc + 4;
1104
1105 {
1106 current_cpu->check_option_cp (pc);
1107   {
1108     DI opval = current_cpu->ivc2_cpcastub_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1109     if (UNLIKELY(current_cpu->trace_result_p))
1110       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1111     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1112   }
1113 }
1114
1115   current_cpu->done_insn (npc, status);
1116   return status;
1117 #undef FLD
1118 }
1119
1120 // ********** cpcastb_w_P0S_P1: cpcastb.w $crop,$crqp
1121
1122 sem_status
1123 mepcop1_16_sem_cpcastb_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1124 {
1125 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1126   sem_status status = SEM_STATUS_NORMAL;
1127   mepcop1_16_scache* abuf = sem;
1128   unsigned long long written = 0;
1129   PCADDR pc = abuf->addr;
1130   PCADDR npc = pc + 4;
1131
1132 {
1133 current_cpu->check_option_cp (pc);
1134   {
1135     DI opval = current_cpu->ivc2_cpcastb_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1136     if (UNLIKELY(current_cpu->trace_result_p))
1137       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1138     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1139   }
1140 }
1141
1142   current_cpu->done_insn (npc, status);
1143   return status;
1144 #undef FLD
1145 }
1146
1147 // ********** cpcastuh_w_P0S_P1: cpcastuh.w $crop,$crqp
1148
1149 sem_status
1150 mepcop1_16_sem_cpcastuh_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1151 {
1152 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1153   sem_status status = SEM_STATUS_NORMAL;
1154   mepcop1_16_scache* abuf = sem;
1155   unsigned long long written = 0;
1156   PCADDR pc = abuf->addr;
1157   PCADDR npc = pc + 4;
1158
1159 {
1160 current_cpu->check_option_cp (pc);
1161   {
1162     DI opval = current_cpu->ivc2_cpcastuh_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1163     if (UNLIKELY(current_cpu->trace_result_p))
1164       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1165     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1166   }
1167 }
1168
1169   current_cpu->done_insn (npc, status);
1170   return status;
1171 #undef FLD
1172 }
1173
1174 // ********** cpcasth_w_P0S_P1: cpcasth.w $crop,$crqp
1175
1176 sem_status
1177 mepcop1_16_sem_cpcasth_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1178 {
1179 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1180   sem_status status = SEM_STATUS_NORMAL;
1181   mepcop1_16_scache* abuf = sem;
1182   unsigned long long written = 0;
1183   PCADDR pc = abuf->addr;
1184   PCADDR npc = pc + 4;
1185
1186 {
1187 current_cpu->check_option_cp (pc);
1188   {
1189     DI opval = current_cpu->ivc2_cpcasth_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1190     if (UNLIKELY(current_cpu->trace_result_p))
1191       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1192     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1193   }
1194 }
1195
1196   current_cpu->done_insn (npc, status);
1197   return status;
1198 #undef FLD
1199 }
1200
1201 // ********** cdcastuw_P0S_P1: cdcastuw $crop,$crqp
1202
1203 sem_status
1204 mepcop1_16_sem_cdcastuw_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1205 {
1206 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1207   sem_status status = SEM_STATUS_NORMAL;
1208   mepcop1_16_scache* abuf = sem;
1209   unsigned long long written = 0;
1210   PCADDR pc = abuf->addr;
1211   PCADDR npc = pc + 4;
1212
1213 {
1214 current_cpu->check_option_cp (pc);
1215   {
1216     DI opval = current_cpu->ivc2_cdcastuw (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1217     if (UNLIKELY(current_cpu->trace_result_p))
1218       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1219     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1220   }
1221 }
1222
1223   current_cpu->done_insn (npc, status);
1224   return status;
1225 #undef FLD
1226 }
1227
1228 // ********** cdcastw_P0S_P1: cdcastw $crop,$crqp
1229
1230 sem_status
1231 mepcop1_16_sem_cdcastw_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1232 {
1233 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1234   sem_status status = SEM_STATUS_NORMAL;
1235   mepcop1_16_scache* abuf = sem;
1236   unsigned long long written = 0;
1237   PCADDR pc = abuf->addr;
1238   PCADDR npc = pc + 4;
1239
1240 {
1241 current_cpu->check_option_cp (pc);
1242   {
1243     DI opval = current_cpu->ivc2_cdcastw (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1244     if (UNLIKELY(current_cpu->trace_result_p))
1245       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1246     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1247   }
1248 }
1249
1250   current_cpu->done_insn (npc, status);
1251   return status;
1252 #undef FLD
1253 }
1254
1255 // ********** cpmovfrcsar0_P0S_P1: cpmovfrcsar0 $crop
1256
1257 sem_status
1258 mepcop1_16_sem_cpmovfrcsar0_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1259 {
1260 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1261   sem_status status = SEM_STATUS_NORMAL;
1262   mepcop1_16_scache* abuf = sem;
1263   unsigned long long written = 0;
1264   PCADDR pc = abuf->addr;
1265   PCADDR npc = pc + 4;
1266
1267 {
1268 current_cpu->check_option_cp (pc);
1269   {
1270     DI opval = current_cpu->ivc2_cpmovfrcsar0 (pc);
1271     if (UNLIKELY(current_cpu->trace_result_p))
1272       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1273     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1274   }
1275 }
1276
1277   current_cpu->done_insn (npc, status);
1278   return status;
1279 #undef FLD
1280 }
1281
1282 // ********** cpmovfrcsar1_P0S_P1: cpmovfrcsar1 $crop
1283
1284 sem_status
1285 mepcop1_16_sem_cpmovfrcsar1_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1286 {
1287 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1288   sem_status status = SEM_STATUS_NORMAL;
1289   mepcop1_16_scache* abuf = sem;
1290   unsigned long long written = 0;
1291   PCADDR pc = abuf->addr;
1292   PCADDR npc = pc + 4;
1293
1294 {
1295 current_cpu->check_option_cp (pc);
1296   {
1297     DI opval = current_cpu->ivc2_cpmovfrcsar1 (pc);
1298     if (UNLIKELY(current_cpu->trace_result_p))
1299       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1300     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1301   }
1302 }
1303
1304   current_cpu->done_insn (npc, status);
1305   return status;
1306 #undef FLD
1307 }
1308
1309 // ********** cpmovfrcc_P0S_P1: cpmovfrcc $crop
1310
1311 sem_status
1312 mepcop1_16_sem_cpmovfrcc_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1313 {
1314 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1315   sem_status status = SEM_STATUS_NORMAL;
1316   mepcop1_16_scache* abuf = sem;
1317   unsigned long long written = 0;
1318   PCADDR pc = abuf->addr;
1319   PCADDR npc = pc + 4;
1320
1321 {
1322 current_cpu->check_option_cp (pc);
1323   {
1324     DI opval = current_cpu->ivc2_cpmovfrcc (pc);
1325     if (UNLIKELY(current_cpu->trace_result_p))
1326       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1327     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1328   }
1329 }
1330
1331   current_cpu->done_insn (npc, status);
1332   return status;
1333 #undef FLD
1334 }
1335
1336 // ********** cpmovtocsar0_P0S_P1: cpmovtocsar0 $crqp
1337
1338 sem_status
1339 mepcop1_16_sem_cpmovtocsar0_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1340 {
1341 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
1342   sem_status status = SEM_STATUS_NORMAL;
1343   mepcop1_16_scache* abuf = sem;
1344   unsigned long long written = 0;
1345   PCADDR pc = abuf->addr;
1346   PCADDR npc = pc + 4;
1347
1348 {
1349 current_cpu->check_option_cp (pc);
1350   {
1351     SI opval = 0;
1352     if (UNLIKELY(current_cpu->trace_result_p))
1353       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 0) << ']' << ":=0x" << hex << opval << dec << "  ";
1354     current_cpu->h_ccr_ivc2_set (((UINT) 0), opval);
1355   }
1356 current_cpu->ivc2_cpmovtocsar0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1357 }
1358
1359   current_cpu->done_insn (npc, status);
1360   return status;
1361 #undef FLD
1362 }
1363
1364 // ********** cpmovtocsar1_P0S_P1: cpmovtocsar1 $crqp
1365
1366 sem_status
1367 mepcop1_16_sem_cpmovtocsar1_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1368 {
1369 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
1370   sem_status status = SEM_STATUS_NORMAL;
1371   mepcop1_16_scache* abuf = sem;
1372   unsigned long long written = 0;
1373   PCADDR pc = abuf->addr;
1374   PCADDR npc = pc + 4;
1375
1376 {
1377 current_cpu->check_option_cp (pc);
1378   {
1379     SI opval = 0;
1380     if (UNLIKELY(current_cpu->trace_result_p))
1381       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 15) << ']' << ":=0x" << hex << opval << dec << "  ";
1382     current_cpu->h_ccr_ivc2_set (((UINT) 15), opval);
1383   }
1384 current_cpu->ivc2_cpmovtocsar1 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1385 }
1386
1387   current_cpu->done_insn (npc, status);
1388   return status;
1389 #undef FLD
1390 }
1391
1392 // ********** cpmovtocc_P0S_P1: cpmovtocc $crqp
1393
1394 sem_status
1395 mepcop1_16_sem_cpmovtocc_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1396 {
1397 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
1398   sem_status status = SEM_STATUS_NORMAL;
1399   mepcop1_16_scache* abuf = sem;
1400   unsigned long long written = 0;
1401   PCADDR pc = abuf->addr;
1402   PCADDR npc = pc + 4;
1403
1404 {
1405 current_cpu->check_option_cp (pc);
1406   {
1407     SI opval = 0;
1408     if (UNLIKELY(current_cpu->trace_result_p))
1409       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1410     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1411   }
1412 current_cpu->ivc2_cpmovtocc (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
1413 }
1414
1415   current_cpu->done_insn (npc, status);
1416   return status;
1417 #undef FLD
1418 }
1419
1420 // ********** cpcmpeqz_b_P0S_P1: cpcmpeqz.b $crqp,$crpp
1421
1422 sem_status
1423 mepcop1_16_sem_cpcmpeqz_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1424 {
1425 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1426   sem_status status = SEM_STATUS_NORMAL;
1427   mepcop1_16_scache* abuf = sem;
1428   unsigned long long written = 0;
1429   PCADDR pc = abuf->addr;
1430   PCADDR npc = pc + 4;
1431
1432 {
1433 current_cpu->check_option_cp (pc);
1434   {
1435     SI opval = 0;
1436     if (UNLIKELY(current_cpu->trace_result_p))
1437       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1438     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1439   }
1440 current_cpu->ivc2_cpcmpeqz_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1441 }
1442
1443   current_cpu->done_insn (npc, status);
1444   return status;
1445 #undef FLD
1446 }
1447
1448 // ********** cpcmpeq_b_P0S_P1: cpcmpeq.b $crqp,$crpp
1449
1450 sem_status
1451 mepcop1_16_sem_cpcmpeq_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1452 {
1453 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1454   sem_status status = SEM_STATUS_NORMAL;
1455   mepcop1_16_scache* abuf = sem;
1456   unsigned long long written = 0;
1457   PCADDR pc = abuf->addr;
1458   PCADDR npc = pc + 4;
1459
1460 {
1461 current_cpu->check_option_cp (pc);
1462   {
1463     SI opval = 0;
1464     if (UNLIKELY(current_cpu->trace_result_p))
1465       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1466     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1467   }
1468 current_cpu->ivc2_cpcmpeq_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1469 }
1470
1471   current_cpu->done_insn (npc, status);
1472   return status;
1473 #undef FLD
1474 }
1475
1476 // ********** cpcmpeq_h_P0S_P1: cpcmpeq.h $crqp,$crpp
1477
1478 sem_status
1479 mepcop1_16_sem_cpcmpeq_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1480 {
1481 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1482   sem_status status = SEM_STATUS_NORMAL;
1483   mepcop1_16_scache* abuf = sem;
1484   unsigned long long written = 0;
1485   PCADDR pc = abuf->addr;
1486   PCADDR npc = pc + 4;
1487
1488 {
1489 current_cpu->check_option_cp (pc);
1490   {
1491     SI opval = 0;
1492     if (UNLIKELY(current_cpu->trace_result_p))
1493       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1494     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1495   }
1496 current_cpu->ivc2_cpcmpeq_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1497 }
1498
1499   current_cpu->done_insn (npc, status);
1500   return status;
1501 #undef FLD
1502 }
1503
1504 // ********** cpcmpeq_w_P0S_P1: cpcmpeq.w $crqp,$crpp
1505
1506 sem_status
1507 mepcop1_16_sem_cpcmpeq_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1508 {
1509 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1510   sem_status status = SEM_STATUS_NORMAL;
1511   mepcop1_16_scache* abuf = sem;
1512   unsigned long long written = 0;
1513   PCADDR pc = abuf->addr;
1514   PCADDR npc = pc + 4;
1515
1516 {
1517 current_cpu->check_option_cp (pc);
1518   {
1519     SI opval = 0;
1520     if (UNLIKELY(current_cpu->trace_result_p))
1521       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1522     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1523   }
1524 current_cpu->ivc2_cpcmpeq_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1525 }
1526
1527   current_cpu->done_insn (npc, status);
1528   return status;
1529 #undef FLD
1530 }
1531
1532 // ********** cpcmpne_b_P0S_P1: cpcmpne.b $crqp,$crpp
1533
1534 sem_status
1535 mepcop1_16_sem_cpcmpne_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1536 {
1537 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1538   sem_status status = SEM_STATUS_NORMAL;
1539   mepcop1_16_scache* abuf = sem;
1540   unsigned long long written = 0;
1541   PCADDR pc = abuf->addr;
1542   PCADDR npc = pc + 4;
1543
1544 {
1545 current_cpu->check_option_cp (pc);
1546   {
1547     SI opval = 0;
1548     if (UNLIKELY(current_cpu->trace_result_p))
1549       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1550     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1551   }
1552 current_cpu->ivc2_cpcmpne_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1553 }
1554
1555   current_cpu->done_insn (npc, status);
1556   return status;
1557 #undef FLD
1558 }
1559
1560 // ********** cpcmpne_h_P0S_P1: cpcmpne.h $crqp,$crpp
1561
1562 sem_status
1563 mepcop1_16_sem_cpcmpne_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1564 {
1565 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1566   sem_status status = SEM_STATUS_NORMAL;
1567   mepcop1_16_scache* abuf = sem;
1568   unsigned long long written = 0;
1569   PCADDR pc = abuf->addr;
1570   PCADDR npc = pc + 4;
1571
1572 {
1573 current_cpu->check_option_cp (pc);
1574   {
1575     SI opval = 0;
1576     if (UNLIKELY(current_cpu->trace_result_p))
1577       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1578     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1579   }
1580 current_cpu->ivc2_cpcmpne_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1581 }
1582
1583   current_cpu->done_insn (npc, status);
1584   return status;
1585 #undef FLD
1586 }
1587
1588 // ********** cpcmpne_w_P0S_P1: cpcmpne.w $crqp,$crpp
1589
1590 sem_status
1591 mepcop1_16_sem_cpcmpne_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1592 {
1593 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1594   sem_status status = SEM_STATUS_NORMAL;
1595   mepcop1_16_scache* abuf = sem;
1596   unsigned long long written = 0;
1597   PCADDR pc = abuf->addr;
1598   PCADDR npc = pc + 4;
1599
1600 {
1601 current_cpu->check_option_cp (pc);
1602   {
1603     SI opval = 0;
1604     if (UNLIKELY(current_cpu->trace_result_p))
1605       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1606     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1607   }
1608 current_cpu->ivc2_cpcmpne_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1609 }
1610
1611   current_cpu->done_insn (npc, status);
1612   return status;
1613 #undef FLD
1614 }
1615
1616 // ********** cpcmpgtu_b_P0S_P1: cpcmpgtu.b $crqp,$crpp
1617
1618 sem_status
1619 mepcop1_16_sem_cpcmpgtu_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1620 {
1621 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1622   sem_status status = SEM_STATUS_NORMAL;
1623   mepcop1_16_scache* abuf = sem;
1624   unsigned long long written = 0;
1625   PCADDR pc = abuf->addr;
1626   PCADDR npc = pc + 4;
1627
1628 {
1629 current_cpu->check_option_cp (pc);
1630   {
1631     SI opval = 0;
1632     if (UNLIKELY(current_cpu->trace_result_p))
1633       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1634     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1635   }
1636 current_cpu->ivc2_cpcmpgtu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1637 }
1638
1639   current_cpu->done_insn (npc, status);
1640   return status;
1641 #undef FLD
1642 }
1643
1644 // ********** cpcmpgt_b_P0S_P1: cpcmpgt.b $crqp,$crpp
1645
1646 sem_status
1647 mepcop1_16_sem_cpcmpgt_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1648 {
1649 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1650   sem_status status = SEM_STATUS_NORMAL;
1651   mepcop1_16_scache* abuf = sem;
1652   unsigned long long written = 0;
1653   PCADDR pc = abuf->addr;
1654   PCADDR npc = pc + 4;
1655
1656 {
1657 current_cpu->check_option_cp (pc);
1658   {
1659     SI opval = 0;
1660     if (UNLIKELY(current_cpu->trace_result_p))
1661       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1662     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1663   }
1664 current_cpu->ivc2_cpcmpgt_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1665 }
1666
1667   current_cpu->done_insn (npc, status);
1668   return status;
1669 #undef FLD
1670 }
1671
1672 // ********** cpcmpgt_h_P0S_P1: cpcmpgt.h $crqp,$crpp
1673
1674 sem_status
1675 mepcop1_16_sem_cpcmpgt_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1676 {
1677 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1678   sem_status status = SEM_STATUS_NORMAL;
1679   mepcop1_16_scache* abuf = sem;
1680   unsigned long long written = 0;
1681   PCADDR pc = abuf->addr;
1682   PCADDR npc = pc + 4;
1683
1684 {
1685 current_cpu->check_option_cp (pc);
1686   {
1687     SI opval = 0;
1688     if (UNLIKELY(current_cpu->trace_result_p))
1689       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1690     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1691   }
1692 current_cpu->ivc2_cpcmpgt_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1693 }
1694
1695   current_cpu->done_insn (npc, status);
1696   return status;
1697 #undef FLD
1698 }
1699
1700 // ********** cpcmpgtu_w_P0S_P1: cpcmpgtu.w $crqp,$crpp
1701
1702 sem_status
1703 mepcop1_16_sem_cpcmpgtu_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1704 {
1705 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1706   sem_status status = SEM_STATUS_NORMAL;
1707   mepcop1_16_scache* abuf = sem;
1708   unsigned long long written = 0;
1709   PCADDR pc = abuf->addr;
1710   PCADDR npc = pc + 4;
1711
1712 {
1713 current_cpu->check_option_cp (pc);
1714   {
1715     SI opval = 0;
1716     if (UNLIKELY(current_cpu->trace_result_p))
1717       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1718     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1719   }
1720 current_cpu->ivc2_cpcmpgtu_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1721 }
1722
1723   current_cpu->done_insn (npc, status);
1724   return status;
1725 #undef FLD
1726 }
1727
1728 // ********** cpcmpgt_w_P0S_P1: cpcmpgt.w $crqp,$crpp
1729
1730 sem_status
1731 mepcop1_16_sem_cpcmpgt_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1732 {
1733 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1734   sem_status status = SEM_STATUS_NORMAL;
1735   mepcop1_16_scache* abuf = sem;
1736   unsigned long long written = 0;
1737   PCADDR pc = abuf->addr;
1738   PCADDR npc = pc + 4;
1739
1740 {
1741 current_cpu->check_option_cp (pc);
1742   {
1743     SI opval = 0;
1744     if (UNLIKELY(current_cpu->trace_result_p))
1745       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1746     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1747   }
1748 current_cpu->ivc2_cpcmpgt_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1749 }
1750
1751   current_cpu->done_insn (npc, status);
1752   return status;
1753 #undef FLD
1754 }
1755
1756 // ********** cpcmpgeu_b_P0S_P1: cpcmpgeu.b $crqp,$crpp
1757
1758 sem_status
1759 mepcop1_16_sem_cpcmpgeu_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1760 {
1761 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1762   sem_status status = SEM_STATUS_NORMAL;
1763   mepcop1_16_scache* abuf = sem;
1764   unsigned long long written = 0;
1765   PCADDR pc = abuf->addr;
1766   PCADDR npc = pc + 4;
1767
1768 {
1769 current_cpu->check_option_cp (pc);
1770   {
1771     SI opval = 0;
1772     if (UNLIKELY(current_cpu->trace_result_p))
1773       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1774     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1775   }
1776 current_cpu->ivc2_cpcmpgeu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1777 }
1778
1779   current_cpu->done_insn (npc, status);
1780   return status;
1781 #undef FLD
1782 }
1783
1784 // ********** cpcmpge_b_P0S_P1: cpcmpge.b $crqp,$crpp
1785
1786 sem_status
1787 mepcop1_16_sem_cpcmpge_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1788 {
1789 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1790   sem_status status = SEM_STATUS_NORMAL;
1791   mepcop1_16_scache* abuf = sem;
1792   unsigned long long written = 0;
1793   PCADDR pc = abuf->addr;
1794   PCADDR npc = pc + 4;
1795
1796 {
1797 current_cpu->check_option_cp (pc);
1798   {
1799     SI opval = 0;
1800     if (UNLIKELY(current_cpu->trace_result_p))
1801       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1802     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1803   }
1804 current_cpu->ivc2_cpcmpge_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1805 }
1806
1807   current_cpu->done_insn (npc, status);
1808   return status;
1809 #undef FLD
1810 }
1811
1812 // ********** cpcmpge_h_P0S_P1: cpcmpge.h $crqp,$crpp
1813
1814 sem_status
1815 mepcop1_16_sem_cpcmpge_h_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1816 {
1817 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1818   sem_status status = SEM_STATUS_NORMAL;
1819   mepcop1_16_scache* abuf = sem;
1820   unsigned long long written = 0;
1821   PCADDR pc = abuf->addr;
1822   PCADDR npc = pc + 4;
1823
1824 {
1825 current_cpu->check_option_cp (pc);
1826   {
1827     SI opval = 0;
1828     if (UNLIKELY(current_cpu->trace_result_p))
1829       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1830     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1831   }
1832 current_cpu->ivc2_cpcmpge_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1833 }
1834
1835   current_cpu->done_insn (npc, status);
1836   return status;
1837 #undef FLD
1838 }
1839
1840 // ********** cpcmpgeu_w_P0S_P1: cpcmpgeu.w $crqp,$crpp
1841
1842 sem_status
1843 mepcop1_16_sem_cpcmpgeu_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1844 {
1845 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1846   sem_status status = SEM_STATUS_NORMAL;
1847   mepcop1_16_scache* abuf = sem;
1848   unsigned long long written = 0;
1849   PCADDR pc = abuf->addr;
1850   PCADDR npc = pc + 4;
1851
1852 {
1853 current_cpu->check_option_cp (pc);
1854   {
1855     SI opval = 0;
1856     if (UNLIKELY(current_cpu->trace_result_p))
1857       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1858     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1859   }
1860 current_cpu->ivc2_cpcmpgeu_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1861 }
1862
1863   current_cpu->done_insn (npc, status);
1864   return status;
1865 #undef FLD
1866 }
1867
1868 // ********** cpcmpge_w_P0S_P1: cpcmpge.w $crqp,$crpp
1869
1870 sem_status
1871 mepcop1_16_sem_cpcmpge_w_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1872 {
1873 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1874   sem_status status = SEM_STATUS_NORMAL;
1875   mepcop1_16_scache* abuf = sem;
1876   unsigned long long written = 0;
1877   PCADDR pc = abuf->addr;
1878   PCADDR npc = pc + 4;
1879
1880 {
1881 current_cpu->check_option_cp (pc);
1882   {
1883     SI opval = 0;
1884     if (UNLIKELY(current_cpu->trace_result_p))
1885       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 1) << ']' << ":=0x" << hex << opval << dec << "  ";
1886     current_cpu->h_ccr_ivc2_set (((UINT) 1), opval);
1887   }
1888 current_cpu->ivc2_cpcmpge_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1889 }
1890
1891   current_cpu->done_insn (npc, status);
1892   return status;
1893 #undef FLD
1894 }
1895
1896 // ********** cpadda0u_b_P0S: cpadda0u.b $crqp,$crpp
1897
1898 sem_status
1899 mepcop1_16_sem_cpadda0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1900 {
1901 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1902   sem_status status = SEM_STATUS_NORMAL;
1903   mepcop1_16_scache* abuf = sem;
1904   unsigned long long written = 0;
1905   PCADDR pc = abuf->addr;
1906   PCADDR npc = pc + 4;
1907
1908 {
1909 current_cpu->check_option_cp (pc);
1910   {
1911     SI opval = 0;
1912     if (UNLIKELY(current_cpu->trace_result_p))
1913       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
1914     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
1915   }
1916   {
1917     SI opval = 0;
1918     if (UNLIKELY(current_cpu->trace_result_p))
1919       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
1920     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
1921   }
1922   {
1923     SI opval = 0;
1924     if (UNLIKELY(current_cpu->trace_result_p))
1925       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
1926     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
1927   }
1928   {
1929     SI opval = 0;
1930     if (UNLIKELY(current_cpu->trace_result_p))
1931       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
1932     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
1933   }
1934   {
1935     SI opval = 0;
1936     if (UNLIKELY(current_cpu->trace_result_p))
1937       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
1938     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
1939   }
1940   {
1941     SI opval = 0;
1942     if (UNLIKELY(current_cpu->trace_result_p))
1943       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
1944     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
1945   }
1946   {
1947     SI opval = 0;
1948     if (UNLIKELY(current_cpu->trace_result_p))
1949       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
1950     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
1951   }
1952   {
1953     SI opval = 0;
1954     if (UNLIKELY(current_cpu->trace_result_p))
1955       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
1956     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
1957   }
1958 current_cpu->ivc2_cpadda0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1959 }
1960
1961   current_cpu->done_insn (npc, status);
1962   return status;
1963 #undef FLD
1964 }
1965
1966 // ********** cpadda0_b_P0S: cpadda0.b $crqp,$crpp
1967
1968 sem_status
1969 mepcop1_16_sem_cpadda0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
1970 {
1971 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
1972   sem_status status = SEM_STATUS_NORMAL;
1973   mepcop1_16_scache* abuf = sem;
1974   unsigned long long written = 0;
1975   PCADDR pc = abuf->addr;
1976   PCADDR npc = pc + 4;
1977
1978 {
1979 current_cpu->check_option_cp (pc);
1980   {
1981     SI opval = 0;
1982     if (UNLIKELY(current_cpu->trace_result_p))
1983       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
1984     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
1985   }
1986   {
1987     SI opval = 0;
1988     if (UNLIKELY(current_cpu->trace_result_p))
1989       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
1990     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
1991   }
1992   {
1993     SI opval = 0;
1994     if (UNLIKELY(current_cpu->trace_result_p))
1995       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
1996     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
1997   }
1998   {
1999     SI opval = 0;
2000     if (UNLIKELY(current_cpu->trace_result_p))
2001       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2002     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2003   }
2004   {
2005     SI opval = 0;
2006     if (UNLIKELY(current_cpu->trace_result_p))
2007       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2008     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2009   }
2010   {
2011     SI opval = 0;
2012     if (UNLIKELY(current_cpu->trace_result_p))
2013       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2014     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2015   }
2016   {
2017     SI opval = 0;
2018     if (UNLIKELY(current_cpu->trace_result_p))
2019       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2020     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2021   }
2022   {
2023     SI opval = 0;
2024     if (UNLIKELY(current_cpu->trace_result_p))
2025       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2026     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2027   }
2028 current_cpu->ivc2_cpadda0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2029 }
2030
2031   current_cpu->done_insn (npc, status);
2032   return status;
2033 #undef FLD
2034 }
2035
2036 // ********** cpaddua0_h_P0S: cpaddua0.h $crqp,$crpp
2037
2038 sem_status
2039 mepcop1_16_sem_cpaddua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2040 {
2041 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2042   sem_status status = SEM_STATUS_NORMAL;
2043   mepcop1_16_scache* abuf = sem;
2044   unsigned long long written = 0;
2045   PCADDR pc = abuf->addr;
2046   PCADDR npc = pc + 4;
2047
2048 {
2049 current_cpu->check_option_cp (pc);
2050   {
2051     SI opval = 0;
2052     if (UNLIKELY(current_cpu->trace_result_p))
2053       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2054     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2055   }
2056   {
2057     SI opval = 0;
2058     if (UNLIKELY(current_cpu->trace_result_p))
2059       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2060     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2061   }
2062   {
2063     SI opval = 0;
2064     if (UNLIKELY(current_cpu->trace_result_p))
2065       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2066     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2067   }
2068   {
2069     SI opval = 0;
2070     if (UNLIKELY(current_cpu->trace_result_p))
2071       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2072     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2073   }
2074 current_cpu->ivc2_cpaddua0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2075 }
2076
2077   current_cpu->done_insn (npc, status);
2078   return status;
2079 #undef FLD
2080 }
2081
2082 // ********** cpaddla0_h_P0S: cpaddla0.h $crqp,$crpp
2083
2084 sem_status
2085 mepcop1_16_sem_cpaddla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2086 {
2087 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2088   sem_status status = SEM_STATUS_NORMAL;
2089   mepcop1_16_scache* abuf = sem;
2090   unsigned long long written = 0;
2091   PCADDR pc = abuf->addr;
2092   PCADDR npc = pc + 4;
2093
2094 {
2095 current_cpu->check_option_cp (pc);
2096   {
2097     SI opval = 0;
2098     if (UNLIKELY(current_cpu->trace_result_p))
2099       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2100     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2101   }
2102   {
2103     SI opval = 0;
2104     if (UNLIKELY(current_cpu->trace_result_p))
2105       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2106     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2107   }
2108   {
2109     SI opval = 0;
2110     if (UNLIKELY(current_cpu->trace_result_p))
2111       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2112     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2113   }
2114   {
2115     SI opval = 0;
2116     if (UNLIKELY(current_cpu->trace_result_p))
2117       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2118     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2119   }
2120 current_cpu->ivc2_cpaddla0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2121 }
2122
2123   current_cpu->done_insn (npc, status);
2124   return status;
2125 #undef FLD
2126 }
2127
2128 // ********** cpaddaca0u_b_P0S: cpaddaca0u.b $crqp,$crpp
2129
2130 sem_status
2131 mepcop1_16_sem_cpaddaca0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2132 {
2133 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2134   sem_status status = SEM_STATUS_NORMAL;
2135   mepcop1_16_scache* abuf = sem;
2136   unsigned long long written = 0;
2137   PCADDR pc = abuf->addr;
2138   PCADDR npc = pc + 4;
2139
2140 {
2141 current_cpu->check_option_cp (pc);
2142   {
2143     SI opval = 0;
2144     if (UNLIKELY(current_cpu->trace_result_p))
2145       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2146     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2147   }
2148   {
2149     SI opval = 0;
2150     if (UNLIKELY(current_cpu->trace_result_p))
2151       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2152     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2153   }
2154   {
2155     SI opval = 0;
2156     if (UNLIKELY(current_cpu->trace_result_p))
2157       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2158     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2159   }
2160   {
2161     SI opval = 0;
2162     if (UNLIKELY(current_cpu->trace_result_p))
2163       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2164     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2165   }
2166   {
2167     SI opval = 0;
2168     if (UNLIKELY(current_cpu->trace_result_p))
2169       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2170     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2171   }
2172   {
2173     SI opval = 0;
2174     if (UNLIKELY(current_cpu->trace_result_p))
2175       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2176     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2177   }
2178   {
2179     SI opval = 0;
2180     if (UNLIKELY(current_cpu->trace_result_p))
2181       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2182     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2183   }
2184   {
2185     SI opval = 0;
2186     if (UNLIKELY(current_cpu->trace_result_p))
2187       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2188     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2189   }
2190   {
2191     SI opval = 0;
2192     if (UNLIKELY(current_cpu->trace_result_p))
2193       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2194     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2195   }
2196 current_cpu->ivc2_cpaddaca0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2197 }
2198
2199   current_cpu->done_insn (npc, status);
2200   return status;
2201 #undef FLD
2202 }
2203
2204 // ********** cpaddaca0_b_P0S: cpaddaca0.b $crqp,$crpp
2205
2206 sem_status
2207 mepcop1_16_sem_cpaddaca0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2208 {
2209 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2210   sem_status status = SEM_STATUS_NORMAL;
2211   mepcop1_16_scache* abuf = sem;
2212   unsigned long long written = 0;
2213   PCADDR pc = abuf->addr;
2214   PCADDR npc = pc + 4;
2215
2216 {
2217 current_cpu->check_option_cp (pc);
2218   {
2219     SI opval = 0;
2220     if (UNLIKELY(current_cpu->trace_result_p))
2221       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2222     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2223   }
2224   {
2225     SI opval = 0;
2226     if (UNLIKELY(current_cpu->trace_result_p))
2227       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2228     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2229   }
2230   {
2231     SI opval = 0;
2232     if (UNLIKELY(current_cpu->trace_result_p))
2233       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2234     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2235   }
2236   {
2237     SI opval = 0;
2238     if (UNLIKELY(current_cpu->trace_result_p))
2239       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2240     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2241   }
2242   {
2243     SI opval = 0;
2244     if (UNLIKELY(current_cpu->trace_result_p))
2245       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2246     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2247   }
2248   {
2249     SI opval = 0;
2250     if (UNLIKELY(current_cpu->trace_result_p))
2251       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2252     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2253   }
2254   {
2255     SI opval = 0;
2256     if (UNLIKELY(current_cpu->trace_result_p))
2257       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2258     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2259   }
2260   {
2261     SI opval = 0;
2262     if (UNLIKELY(current_cpu->trace_result_p))
2263       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2264     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2265   }
2266   {
2267     SI opval = 0;
2268     if (UNLIKELY(current_cpu->trace_result_p))
2269       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2270     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2271   }
2272 current_cpu->ivc2_cpaddaca0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2273 }
2274
2275   current_cpu->done_insn (npc, status);
2276   return status;
2277 #undef FLD
2278 }
2279
2280 // ********** cpaddacua0_h_P0S: cpaddacua0.h $crqp,$crpp
2281
2282 sem_status
2283 mepcop1_16_sem_cpaddacua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2284 {
2285 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2286   sem_status status = SEM_STATUS_NORMAL;
2287   mepcop1_16_scache* abuf = sem;
2288   unsigned long long written = 0;
2289   PCADDR pc = abuf->addr;
2290   PCADDR npc = pc + 4;
2291
2292 {
2293 current_cpu->check_option_cp (pc);
2294   {
2295     SI opval = 0;
2296     if (UNLIKELY(current_cpu->trace_result_p))
2297       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2298     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2299   }
2300   {
2301     SI opval = 0;
2302     if (UNLIKELY(current_cpu->trace_result_p))
2303       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2304     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2305   }
2306   {
2307     SI opval = 0;
2308     if (UNLIKELY(current_cpu->trace_result_p))
2309       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2310     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2311   }
2312   {
2313     SI opval = 0;
2314     if (UNLIKELY(current_cpu->trace_result_p))
2315       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2316     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2317   }
2318   {
2319     SI opval = 0;
2320     if (UNLIKELY(current_cpu->trace_result_p))
2321       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2322     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2323   }
2324 current_cpu->ivc2_cpaddacua0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2325 }
2326
2327   current_cpu->done_insn (npc, status);
2328   return status;
2329 #undef FLD
2330 }
2331
2332 // ********** cpaddacla0_h_P0S: cpaddacla0.h $crqp,$crpp
2333
2334 sem_status
2335 mepcop1_16_sem_cpaddacla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2336 {
2337 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2338   sem_status status = SEM_STATUS_NORMAL;
2339   mepcop1_16_scache* abuf = sem;
2340   unsigned long long written = 0;
2341   PCADDR pc = abuf->addr;
2342   PCADDR npc = pc + 4;
2343
2344 {
2345 current_cpu->check_option_cp (pc);
2346   {
2347     SI opval = 0;
2348     if (UNLIKELY(current_cpu->trace_result_p))
2349       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2350     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2351   }
2352   {
2353     SI opval = 0;
2354     if (UNLIKELY(current_cpu->trace_result_p))
2355       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2356     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2357   }
2358   {
2359     SI opval = 0;
2360     if (UNLIKELY(current_cpu->trace_result_p))
2361       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2362     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2363   }
2364   {
2365     SI opval = 0;
2366     if (UNLIKELY(current_cpu->trace_result_p))
2367       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2368     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2369   }
2370   {
2371     SI opval = 0;
2372     if (UNLIKELY(current_cpu->trace_result_p))
2373       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2374     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2375   }
2376 current_cpu->ivc2_cpaddacla0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2377 }
2378
2379   current_cpu->done_insn (npc, status);
2380   return status;
2381 #undef FLD
2382 }
2383
2384 // ********** cpsuba0u_b_P0S: cpsuba0u.b $crqp,$crpp
2385
2386 sem_status
2387 mepcop1_16_sem_cpsuba0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2388 {
2389 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2390   sem_status status = SEM_STATUS_NORMAL;
2391   mepcop1_16_scache* abuf = sem;
2392   unsigned long long written = 0;
2393   PCADDR pc = abuf->addr;
2394   PCADDR npc = pc + 4;
2395
2396 {
2397 current_cpu->check_option_cp (pc);
2398   {
2399     SI opval = 0;
2400     if (UNLIKELY(current_cpu->trace_result_p))
2401       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2402     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2403   }
2404   {
2405     SI opval = 0;
2406     if (UNLIKELY(current_cpu->trace_result_p))
2407       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2408     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2409   }
2410   {
2411     SI opval = 0;
2412     if (UNLIKELY(current_cpu->trace_result_p))
2413       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2414     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2415   }
2416   {
2417     SI opval = 0;
2418     if (UNLIKELY(current_cpu->trace_result_p))
2419       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2420     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2421   }
2422   {
2423     SI opval = 0;
2424     if (UNLIKELY(current_cpu->trace_result_p))
2425       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2426     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2427   }
2428   {
2429     SI opval = 0;
2430     if (UNLIKELY(current_cpu->trace_result_p))
2431       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2432     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2433   }
2434   {
2435     SI opval = 0;
2436     if (UNLIKELY(current_cpu->trace_result_p))
2437       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2438     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2439   }
2440   {
2441     SI opval = 0;
2442     if (UNLIKELY(current_cpu->trace_result_p))
2443       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2444     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2445   }
2446 current_cpu->ivc2_cpsuba0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2447 }
2448
2449   current_cpu->done_insn (npc, status);
2450   return status;
2451 #undef FLD
2452 }
2453
2454 // ********** cpsuba0_b_P0S: cpsuba0.b $crqp,$crpp
2455
2456 sem_status
2457 mepcop1_16_sem_cpsuba0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2458 {
2459 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2460   sem_status status = SEM_STATUS_NORMAL;
2461   mepcop1_16_scache* abuf = sem;
2462   unsigned long long written = 0;
2463   PCADDR pc = abuf->addr;
2464   PCADDR npc = pc + 4;
2465
2466 {
2467 current_cpu->check_option_cp (pc);
2468   {
2469     SI opval = 0;
2470     if (UNLIKELY(current_cpu->trace_result_p))
2471       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2472     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2473   }
2474   {
2475     SI opval = 0;
2476     if (UNLIKELY(current_cpu->trace_result_p))
2477       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2478     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2479   }
2480   {
2481     SI opval = 0;
2482     if (UNLIKELY(current_cpu->trace_result_p))
2483       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2484     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2485   }
2486   {
2487     SI opval = 0;
2488     if (UNLIKELY(current_cpu->trace_result_p))
2489       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2490     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2491   }
2492   {
2493     SI opval = 0;
2494     if (UNLIKELY(current_cpu->trace_result_p))
2495       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2496     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2497   }
2498   {
2499     SI opval = 0;
2500     if (UNLIKELY(current_cpu->trace_result_p))
2501       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2502     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2503   }
2504   {
2505     SI opval = 0;
2506     if (UNLIKELY(current_cpu->trace_result_p))
2507       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2508     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2509   }
2510   {
2511     SI opval = 0;
2512     if (UNLIKELY(current_cpu->trace_result_p))
2513       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2514     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2515   }
2516 current_cpu->ivc2_cpsuba0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2517 }
2518
2519   current_cpu->done_insn (npc, status);
2520   return status;
2521 #undef FLD
2522 }
2523
2524 // ********** cpsubua0_h_P0S: cpsubua0.h $crqp,$crpp
2525
2526 sem_status
2527 mepcop1_16_sem_cpsubua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2528 {
2529 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2530   sem_status status = SEM_STATUS_NORMAL;
2531   mepcop1_16_scache* abuf = sem;
2532   unsigned long long written = 0;
2533   PCADDR pc = abuf->addr;
2534   PCADDR npc = pc + 4;
2535
2536 {
2537 current_cpu->check_option_cp (pc);
2538   {
2539     SI opval = 0;
2540     if (UNLIKELY(current_cpu->trace_result_p))
2541       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2542     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2543   }
2544   {
2545     SI opval = 0;
2546     if (UNLIKELY(current_cpu->trace_result_p))
2547       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2548     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2549   }
2550   {
2551     SI opval = 0;
2552     if (UNLIKELY(current_cpu->trace_result_p))
2553       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2554     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2555   }
2556   {
2557     SI opval = 0;
2558     if (UNLIKELY(current_cpu->trace_result_p))
2559       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2560     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2561   }
2562 current_cpu->ivc2_cpsubua0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2563 }
2564
2565   current_cpu->done_insn (npc, status);
2566   return status;
2567 #undef FLD
2568 }
2569
2570 // ********** cpsubla0_h_P0S: cpsubla0.h $crqp,$crpp
2571
2572 sem_status
2573 mepcop1_16_sem_cpsubla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2574 {
2575 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2576   sem_status status = SEM_STATUS_NORMAL;
2577   mepcop1_16_scache* abuf = sem;
2578   unsigned long long written = 0;
2579   PCADDR pc = abuf->addr;
2580   PCADDR npc = pc + 4;
2581
2582 {
2583 current_cpu->check_option_cp (pc);
2584   {
2585     SI opval = 0;
2586     if (UNLIKELY(current_cpu->trace_result_p))
2587       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2588     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2589   }
2590   {
2591     SI opval = 0;
2592     if (UNLIKELY(current_cpu->trace_result_p))
2593       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2594     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2595   }
2596   {
2597     SI opval = 0;
2598     if (UNLIKELY(current_cpu->trace_result_p))
2599       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2600     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2601   }
2602   {
2603     SI opval = 0;
2604     if (UNLIKELY(current_cpu->trace_result_p))
2605       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2606     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2607   }
2608 current_cpu->ivc2_cpsubla0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2609 }
2610
2611   current_cpu->done_insn (npc, status);
2612   return status;
2613 #undef FLD
2614 }
2615
2616 // ********** cpsubaca0u_b_P0S: cpsubaca0u.b $crqp,$crpp
2617
2618 sem_status
2619 mepcop1_16_sem_cpsubaca0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2620 {
2621 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2622   sem_status status = SEM_STATUS_NORMAL;
2623   mepcop1_16_scache* abuf = sem;
2624   unsigned long long written = 0;
2625   PCADDR pc = abuf->addr;
2626   PCADDR npc = pc + 4;
2627
2628 {
2629 current_cpu->check_option_cp (pc);
2630   {
2631     SI opval = 0;
2632     if (UNLIKELY(current_cpu->trace_result_p))
2633       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2634     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2635   }
2636   {
2637     SI opval = 0;
2638     if (UNLIKELY(current_cpu->trace_result_p))
2639       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2640     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2641   }
2642   {
2643     SI opval = 0;
2644     if (UNLIKELY(current_cpu->trace_result_p))
2645       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2646     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2647   }
2648   {
2649     SI opval = 0;
2650     if (UNLIKELY(current_cpu->trace_result_p))
2651       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2652     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2653   }
2654   {
2655     SI opval = 0;
2656     if (UNLIKELY(current_cpu->trace_result_p))
2657       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2658     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2659   }
2660   {
2661     SI opval = 0;
2662     if (UNLIKELY(current_cpu->trace_result_p))
2663       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2664     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2665   }
2666   {
2667     SI opval = 0;
2668     if (UNLIKELY(current_cpu->trace_result_p))
2669       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2670     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2671   }
2672   {
2673     SI opval = 0;
2674     if (UNLIKELY(current_cpu->trace_result_p))
2675       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2676     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2677   }
2678   {
2679     SI opval = 0;
2680     if (UNLIKELY(current_cpu->trace_result_p))
2681       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2682     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2683   }
2684 current_cpu->ivc2_cpsubaca0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2685 }
2686
2687   current_cpu->done_insn (npc, status);
2688   return status;
2689 #undef FLD
2690 }
2691
2692 // ********** cpsubaca0_b_P0S: cpsubaca0.b $crqp,$crpp
2693
2694 sem_status
2695 mepcop1_16_sem_cpsubaca0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2696 {
2697 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2698   sem_status status = SEM_STATUS_NORMAL;
2699   mepcop1_16_scache* abuf = sem;
2700   unsigned long long written = 0;
2701   PCADDR pc = abuf->addr;
2702   PCADDR npc = pc + 4;
2703
2704 {
2705 current_cpu->check_option_cp (pc);
2706   {
2707     SI opval = 0;
2708     if (UNLIKELY(current_cpu->trace_result_p))
2709       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2710     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2711   }
2712   {
2713     SI opval = 0;
2714     if (UNLIKELY(current_cpu->trace_result_p))
2715       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2716     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2717   }
2718   {
2719     SI opval = 0;
2720     if (UNLIKELY(current_cpu->trace_result_p))
2721       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2722     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2723   }
2724   {
2725     SI opval = 0;
2726     if (UNLIKELY(current_cpu->trace_result_p))
2727       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2728     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2729   }
2730   {
2731     SI opval = 0;
2732     if (UNLIKELY(current_cpu->trace_result_p))
2733       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2734     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2735   }
2736   {
2737     SI opval = 0;
2738     if (UNLIKELY(current_cpu->trace_result_p))
2739       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2740     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2741   }
2742   {
2743     SI opval = 0;
2744     if (UNLIKELY(current_cpu->trace_result_p))
2745       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2746     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2747   }
2748   {
2749     SI opval = 0;
2750     if (UNLIKELY(current_cpu->trace_result_p))
2751       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2752     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2753   }
2754   {
2755     SI opval = 0;
2756     if (UNLIKELY(current_cpu->trace_result_p))
2757       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2758     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2759   }
2760 current_cpu->ivc2_cpsubaca0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2761 }
2762
2763   current_cpu->done_insn (npc, status);
2764   return status;
2765 #undef FLD
2766 }
2767
2768 // ********** cpsubacua0_h_P0S: cpsubacua0.h $crqp,$crpp
2769
2770 sem_status
2771 mepcop1_16_sem_cpsubacua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2772 {
2773 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2774   sem_status status = SEM_STATUS_NORMAL;
2775   mepcop1_16_scache* abuf = sem;
2776   unsigned long long written = 0;
2777   PCADDR pc = abuf->addr;
2778   PCADDR npc = pc + 4;
2779
2780 {
2781 current_cpu->check_option_cp (pc);
2782   {
2783     SI opval = 0;
2784     if (UNLIKELY(current_cpu->trace_result_p))
2785       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2786     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2787   }
2788   {
2789     SI opval = 0;
2790     if (UNLIKELY(current_cpu->trace_result_p))
2791       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2792     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2793   }
2794   {
2795     SI opval = 0;
2796     if (UNLIKELY(current_cpu->trace_result_p))
2797       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2798     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2799   }
2800   {
2801     SI opval = 0;
2802     if (UNLIKELY(current_cpu->trace_result_p))
2803       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2804     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2805   }
2806   {
2807     SI opval = 0;
2808     if (UNLIKELY(current_cpu->trace_result_p))
2809       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2810     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2811   }
2812 current_cpu->ivc2_cpsubacua0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2813 }
2814
2815   current_cpu->done_insn (npc, status);
2816   return status;
2817 #undef FLD
2818 }
2819
2820 // ********** cpsubacla0_h_P0S: cpsubacla0.h $crqp,$crpp
2821
2822 sem_status
2823 mepcop1_16_sem_cpsubacla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2824 {
2825 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2826   sem_status status = SEM_STATUS_NORMAL;
2827   mepcop1_16_scache* abuf = sem;
2828   unsigned long long written = 0;
2829   PCADDR pc = abuf->addr;
2830   PCADDR npc = pc + 4;
2831
2832 {
2833 current_cpu->check_option_cp (pc);
2834   {
2835     SI opval = 0;
2836     if (UNLIKELY(current_cpu->trace_result_p))
2837       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2838     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2839   }
2840   {
2841     SI opval = 0;
2842     if (UNLIKELY(current_cpu->trace_result_p))
2843       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2844     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2845   }
2846   {
2847     SI opval = 0;
2848     if (UNLIKELY(current_cpu->trace_result_p))
2849       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2850     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2851   }
2852   {
2853     SI opval = 0;
2854     if (UNLIKELY(current_cpu->trace_result_p))
2855       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2856     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2857   }
2858   {
2859     SI opval = 0;
2860     if (UNLIKELY(current_cpu->trace_result_p))
2861       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
2862     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
2863   }
2864 current_cpu->ivc2_cpsubacla0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2865 }
2866
2867   current_cpu->done_insn (npc, status);
2868   return status;
2869 #undef FLD
2870 }
2871
2872 // ********** cpabsa0u_b_P0S: cpabsa0u.b $crqp,$crpp
2873
2874 sem_status
2875 mepcop1_16_sem_cpabsa0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2876 {
2877 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2878   sem_status status = SEM_STATUS_NORMAL;
2879   mepcop1_16_scache* abuf = sem;
2880   unsigned long long written = 0;
2881   PCADDR pc = abuf->addr;
2882   PCADDR npc = pc + 4;
2883
2884 {
2885 current_cpu->check_option_cp (pc);
2886   {
2887     SI opval = 0;
2888     if (UNLIKELY(current_cpu->trace_result_p))
2889       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2890     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2891   }
2892   {
2893     SI opval = 0;
2894     if (UNLIKELY(current_cpu->trace_result_p))
2895       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2896     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2897   }
2898   {
2899     SI opval = 0;
2900     if (UNLIKELY(current_cpu->trace_result_p))
2901       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2902     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2903   }
2904   {
2905     SI opval = 0;
2906     if (UNLIKELY(current_cpu->trace_result_p))
2907       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2908     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2909   }
2910   {
2911     SI opval = 0;
2912     if (UNLIKELY(current_cpu->trace_result_p))
2913       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2914     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2915   }
2916   {
2917     SI opval = 0;
2918     if (UNLIKELY(current_cpu->trace_result_p))
2919       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2920     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2921   }
2922   {
2923     SI opval = 0;
2924     if (UNLIKELY(current_cpu->trace_result_p))
2925       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2926     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2927   }
2928   {
2929     SI opval = 0;
2930     if (UNLIKELY(current_cpu->trace_result_p))
2931       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
2932     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
2933   }
2934 current_cpu->ivc2_cpabsa0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2935 }
2936
2937   current_cpu->done_insn (npc, status);
2938   return status;
2939 #undef FLD
2940 }
2941
2942 // ********** cpabsa0_b_P0S: cpabsa0.b $crqp,$crpp
2943
2944 sem_status
2945 mepcop1_16_sem_cpabsa0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
2946 {
2947 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
2948   sem_status status = SEM_STATUS_NORMAL;
2949   mepcop1_16_scache* abuf = sem;
2950   unsigned long long written = 0;
2951   PCADDR pc = abuf->addr;
2952   PCADDR npc = pc + 4;
2953
2954 {
2955 current_cpu->check_option_cp (pc);
2956   {
2957     SI opval = 0;
2958     if (UNLIKELY(current_cpu->trace_result_p))
2959       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
2960     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
2961   }
2962   {
2963     SI opval = 0;
2964     if (UNLIKELY(current_cpu->trace_result_p))
2965       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
2966     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
2967   }
2968   {
2969     SI opval = 0;
2970     if (UNLIKELY(current_cpu->trace_result_p))
2971       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
2972     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
2973   }
2974   {
2975     SI opval = 0;
2976     if (UNLIKELY(current_cpu->trace_result_p))
2977       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
2978     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
2979   }
2980   {
2981     SI opval = 0;
2982     if (UNLIKELY(current_cpu->trace_result_p))
2983       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
2984     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
2985   }
2986   {
2987     SI opval = 0;
2988     if (UNLIKELY(current_cpu->trace_result_p))
2989       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
2990     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
2991   }
2992   {
2993     SI opval = 0;
2994     if (UNLIKELY(current_cpu->trace_result_p))
2995       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
2996     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
2997   }
2998   {
2999     SI opval = 0;
3000     if (UNLIKELY(current_cpu->trace_result_p))
3001       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3002     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3003   }
3004 current_cpu->ivc2_cpabsa0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3005 }
3006
3007   current_cpu->done_insn (npc, status);
3008   return status;
3009 #undef FLD
3010 }
3011
3012 // ********** cpabsua0_h_P0S: cpabsua0.h $crqp,$crpp
3013
3014 sem_status
3015 mepcop1_16_sem_cpabsua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3016 {
3017 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3018   sem_status status = SEM_STATUS_NORMAL;
3019   mepcop1_16_scache* abuf = sem;
3020   unsigned long long written = 0;
3021   PCADDR pc = abuf->addr;
3022   PCADDR npc = pc + 4;
3023
3024 {
3025 current_cpu->check_option_cp (pc);
3026   {
3027     SI opval = 0;
3028     if (UNLIKELY(current_cpu->trace_result_p))
3029       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3030     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3031   }
3032   {
3033     SI opval = 0;
3034     if (UNLIKELY(current_cpu->trace_result_p))
3035       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3036     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3037   }
3038   {
3039     SI opval = 0;
3040     if (UNLIKELY(current_cpu->trace_result_p))
3041       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3042     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3043   }
3044   {
3045     SI opval = 0;
3046     if (UNLIKELY(current_cpu->trace_result_p))
3047       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3048     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3049   }
3050 current_cpu->ivc2_cpabsua0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3051 }
3052
3053   current_cpu->done_insn (npc, status);
3054   return status;
3055 #undef FLD
3056 }
3057
3058 // ********** cpabsla0_h_P0S: cpabsla0.h $crqp,$crpp
3059
3060 sem_status
3061 mepcop1_16_sem_cpabsla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3062 {
3063 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3064   sem_status status = SEM_STATUS_NORMAL;
3065   mepcop1_16_scache* abuf = sem;
3066   unsigned long long written = 0;
3067   PCADDR pc = abuf->addr;
3068   PCADDR npc = pc + 4;
3069
3070 {
3071 current_cpu->check_option_cp (pc);
3072   {
3073     SI opval = 0;
3074     if (UNLIKELY(current_cpu->trace_result_p))
3075       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3076     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3077   }
3078   {
3079     SI opval = 0;
3080     if (UNLIKELY(current_cpu->trace_result_p))
3081       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3082     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3083   }
3084   {
3085     SI opval = 0;
3086     if (UNLIKELY(current_cpu->trace_result_p))
3087       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3088     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3089   }
3090   {
3091     SI opval = 0;
3092     if (UNLIKELY(current_cpu->trace_result_p))
3093       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3094     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3095   }
3096 current_cpu->ivc2_cpabsla0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3097 }
3098
3099   current_cpu->done_insn (npc, status);
3100   return status;
3101 #undef FLD
3102 }
3103
3104 // ********** cpsada0u_b_P0S: cpsada0u.b $crqp,$crpp
3105
3106 sem_status
3107 mepcop1_16_sem_cpsada0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3108 {
3109 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3110   sem_status status = SEM_STATUS_NORMAL;
3111   mepcop1_16_scache* abuf = sem;
3112   unsigned long long written = 0;
3113   PCADDR pc = abuf->addr;
3114   PCADDR npc = pc + 4;
3115
3116 {
3117 current_cpu->check_option_cp (pc);
3118   {
3119     SI opval = 0;
3120     if (UNLIKELY(current_cpu->trace_result_p))
3121       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3122     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3123   }
3124   {
3125     SI opval = 0;
3126     if (UNLIKELY(current_cpu->trace_result_p))
3127       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3128     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3129   }
3130   {
3131     SI opval = 0;
3132     if (UNLIKELY(current_cpu->trace_result_p))
3133       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3134     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3135   }
3136   {
3137     SI opval = 0;
3138     if (UNLIKELY(current_cpu->trace_result_p))
3139       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3140     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3141   }
3142   {
3143     SI opval = 0;
3144     if (UNLIKELY(current_cpu->trace_result_p))
3145       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3146     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3147   }
3148   {
3149     SI opval = 0;
3150     if (UNLIKELY(current_cpu->trace_result_p))
3151       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3152     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3153   }
3154   {
3155     SI opval = 0;
3156     if (UNLIKELY(current_cpu->trace_result_p))
3157       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3158     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3159   }
3160   {
3161     SI opval = 0;
3162     if (UNLIKELY(current_cpu->trace_result_p))
3163       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3164     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3165   }
3166   {
3167     SI opval = 0;
3168     if (UNLIKELY(current_cpu->trace_result_p))
3169       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
3170     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
3171   }
3172 current_cpu->ivc2_cpsada0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3173 }
3174
3175   current_cpu->done_insn (npc, status);
3176   return status;
3177 #undef FLD
3178 }
3179
3180 // ********** cpsada0_b_P0S: cpsada0.b $crqp,$crpp
3181
3182 sem_status
3183 mepcop1_16_sem_cpsada0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3184 {
3185 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3186   sem_status status = SEM_STATUS_NORMAL;
3187   mepcop1_16_scache* abuf = sem;
3188   unsigned long long written = 0;
3189   PCADDR pc = abuf->addr;
3190   PCADDR npc = pc + 4;
3191
3192 {
3193 current_cpu->check_option_cp (pc);
3194   {
3195     SI opval = 0;
3196     if (UNLIKELY(current_cpu->trace_result_p))
3197       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3198     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3199   }
3200   {
3201     SI opval = 0;
3202     if (UNLIKELY(current_cpu->trace_result_p))
3203       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3204     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3205   }
3206   {
3207     SI opval = 0;
3208     if (UNLIKELY(current_cpu->trace_result_p))
3209       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3210     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3211   }
3212   {
3213     SI opval = 0;
3214     if (UNLIKELY(current_cpu->trace_result_p))
3215       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3216     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3217   }
3218   {
3219     SI opval = 0;
3220     if (UNLIKELY(current_cpu->trace_result_p))
3221       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3222     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3223   }
3224   {
3225     SI opval = 0;
3226     if (UNLIKELY(current_cpu->trace_result_p))
3227       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3228     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3229   }
3230   {
3231     SI opval = 0;
3232     if (UNLIKELY(current_cpu->trace_result_p))
3233       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3234     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3235   }
3236   {
3237     SI opval = 0;
3238     if (UNLIKELY(current_cpu->trace_result_p))
3239       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3240     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3241   }
3242   {
3243     SI opval = 0;
3244     if (UNLIKELY(current_cpu->trace_result_p))
3245       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
3246     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
3247   }
3248 current_cpu->ivc2_cpsada0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3249 }
3250
3251   current_cpu->done_insn (npc, status);
3252   return status;
3253 #undef FLD
3254 }
3255
3256 // ********** cpsadua0_h_P0S: cpsadua0.h $crqp,$crpp
3257
3258 sem_status
3259 mepcop1_16_sem_cpsadua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3260 {
3261 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3262   sem_status status = SEM_STATUS_NORMAL;
3263   mepcop1_16_scache* abuf = sem;
3264   unsigned long long written = 0;
3265   PCADDR pc = abuf->addr;
3266   PCADDR npc = pc + 4;
3267
3268 {
3269 current_cpu->check_option_cp (pc);
3270   {
3271     SI opval = 0;
3272     if (UNLIKELY(current_cpu->trace_result_p))
3273       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3274     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3275   }
3276   {
3277     SI opval = 0;
3278     if (UNLIKELY(current_cpu->trace_result_p))
3279       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3280     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3281   }
3282   {
3283     SI opval = 0;
3284     if (UNLIKELY(current_cpu->trace_result_p))
3285       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3286     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3287   }
3288   {
3289     SI opval = 0;
3290     if (UNLIKELY(current_cpu->trace_result_p))
3291       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3292     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3293   }
3294   {
3295     SI opval = 0;
3296     if (UNLIKELY(current_cpu->trace_result_p))
3297       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
3298     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
3299   }
3300 current_cpu->ivc2_cpsadua0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3301 }
3302
3303   current_cpu->done_insn (npc, status);
3304   return status;
3305 #undef FLD
3306 }
3307
3308 // ********** cpsadla0_h_P0S: cpsadla0.h $crqp,$crpp
3309
3310 sem_status
3311 mepcop1_16_sem_cpsadla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3312 {
3313 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3314   sem_status status = SEM_STATUS_NORMAL;
3315   mepcop1_16_scache* abuf = sem;
3316   unsigned long long written = 0;
3317   PCADDR pc = abuf->addr;
3318   PCADDR npc = pc + 4;
3319
3320 {
3321 current_cpu->check_option_cp (pc);
3322   {
3323     SI opval = 0;
3324     if (UNLIKELY(current_cpu->trace_result_p))
3325       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3326     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3327   }
3328   {
3329     SI opval = 0;
3330     if (UNLIKELY(current_cpu->trace_result_p))
3331       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3332     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3333   }
3334   {
3335     SI opval = 0;
3336     if (UNLIKELY(current_cpu->trace_result_p))
3337       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3338     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3339   }
3340   {
3341     SI opval = 0;
3342     if (UNLIKELY(current_cpu->trace_result_p))
3343       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3344     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3345   }
3346   {
3347     SI opval = 0;
3348     if (UNLIKELY(current_cpu->trace_result_p))
3349       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
3350     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
3351   }
3352 current_cpu->ivc2_cpsadla0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3353 }
3354
3355   current_cpu->done_insn (npc, status);
3356   return status;
3357 #undef FLD
3358 }
3359
3360 // ********** cpseta0_h_P0S: cpseta0.h $crqp,$crpp
3361
3362 sem_status
3363 mepcop1_16_sem_cpseta0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3364 {
3365 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3366   sem_status status = SEM_STATUS_NORMAL;
3367   mepcop1_16_scache* abuf = sem;
3368   unsigned long long written = 0;
3369   PCADDR pc = abuf->addr;
3370   PCADDR npc = pc + 4;
3371
3372 {
3373 current_cpu->check_option_cp (pc);
3374   {
3375     SI opval = 0;
3376     if (UNLIKELY(current_cpu->trace_result_p))
3377       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3378     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3379   }
3380   {
3381     SI opval = 0;
3382     if (UNLIKELY(current_cpu->trace_result_p))
3383       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3384     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3385   }
3386   {
3387     SI opval = 0;
3388     if (UNLIKELY(current_cpu->trace_result_p))
3389       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3390     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3391   }
3392   {
3393     SI opval = 0;
3394     if (UNLIKELY(current_cpu->trace_result_p))
3395       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3396     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3397   }
3398   {
3399     SI opval = 0;
3400     if (UNLIKELY(current_cpu->trace_result_p))
3401       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3402     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3403   }
3404   {
3405     SI opval = 0;
3406     if (UNLIKELY(current_cpu->trace_result_p))
3407       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3408     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3409   }
3410   {
3411     SI opval = 0;
3412     if (UNLIKELY(current_cpu->trace_result_p))
3413       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3414     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3415   }
3416   {
3417     SI opval = 0;
3418     if (UNLIKELY(current_cpu->trace_result_p))
3419       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3420     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3421   }
3422 current_cpu->ivc2_cpseta0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3423 }
3424
3425   current_cpu->done_insn (npc, status);
3426   return status;
3427 #undef FLD
3428 }
3429
3430 // ********** cpsetua0_w_P0S: cpsetua0.w $crqp,$crpp
3431
3432 sem_status
3433 mepcop1_16_sem_cpsetua0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3434 {
3435 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3436   sem_status status = SEM_STATUS_NORMAL;
3437   mepcop1_16_scache* abuf = sem;
3438   unsigned long long written = 0;
3439   PCADDR pc = abuf->addr;
3440   PCADDR npc = pc + 4;
3441
3442 {
3443 current_cpu->check_option_cp (pc);
3444   {
3445     SI opval = 0;
3446     if (UNLIKELY(current_cpu->trace_result_p))
3447       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3448     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3449   }
3450   {
3451     SI opval = 0;
3452     if (UNLIKELY(current_cpu->trace_result_p))
3453       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3454     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3455   }
3456   {
3457     SI opval = 0;
3458     if (UNLIKELY(current_cpu->trace_result_p))
3459       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3460     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3461   }
3462   {
3463     SI opval = 0;
3464     if (UNLIKELY(current_cpu->trace_result_p))
3465       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3466     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3467   }
3468 current_cpu->ivc2_cpsetua0_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3469 }
3470
3471   current_cpu->done_insn (npc, status);
3472   return status;
3473 #undef FLD
3474 }
3475
3476 // ********** cpsetla0_w_P0S: cpsetla0.w $crqp,$crpp
3477
3478 sem_status
3479 mepcop1_16_sem_cpsetla0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3480 {
3481 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3482   sem_status status = SEM_STATUS_NORMAL;
3483   mepcop1_16_scache* abuf = sem;
3484   unsigned long long written = 0;
3485   PCADDR pc = abuf->addr;
3486   PCADDR npc = pc + 4;
3487
3488 {
3489 current_cpu->check_option_cp (pc);
3490   {
3491     SI opval = 0;
3492     if (UNLIKELY(current_cpu->trace_result_p))
3493       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3494     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3495   }
3496   {
3497     SI opval = 0;
3498     if (UNLIKELY(current_cpu->trace_result_p))
3499       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3500     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3501   }
3502   {
3503     SI opval = 0;
3504     if (UNLIKELY(current_cpu->trace_result_p))
3505       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3506     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3507   }
3508   {
3509     SI opval = 0;
3510     if (UNLIKELY(current_cpu->trace_result_p))
3511       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3512     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3513   }
3514 current_cpu->ivc2_cpsetla0_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
3515 }
3516
3517   current_cpu->done_insn (npc, status);
3518   return status;
3519 #undef FLD
3520 }
3521
3522 // ********** cpmova0_b_P0S: cpmova0.b $crop
3523
3524 sem_status
3525 mepcop1_16_sem_cpmova0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3526 {
3527 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3528   sem_status status = SEM_STATUS_NORMAL;
3529   mepcop1_16_scache* abuf = sem;
3530   unsigned long long written = 0;
3531   PCADDR pc = abuf->addr;
3532   PCADDR npc = pc + 4;
3533
3534 {
3535 current_cpu->check_option_cp (pc);
3536   {
3537     DI opval = current_cpu->ivc2_cpmova0_b (pc);
3538     if (UNLIKELY(current_cpu->trace_result_p))
3539       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3540     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3541   }
3542 }
3543
3544   current_cpu->done_insn (npc, status);
3545   return status;
3546 #undef FLD
3547 }
3548
3549 // ********** cpmovua0_h_P0S: cpmovua0.h $crop
3550
3551 sem_status
3552 mepcop1_16_sem_cpmovua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3553 {
3554 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3555   sem_status status = SEM_STATUS_NORMAL;
3556   mepcop1_16_scache* abuf = sem;
3557   unsigned long long written = 0;
3558   PCADDR pc = abuf->addr;
3559   PCADDR npc = pc + 4;
3560
3561 {
3562 current_cpu->check_option_cp (pc);
3563   {
3564     DI opval = current_cpu->ivc2_cpmovua0_h (pc);
3565     if (UNLIKELY(current_cpu->trace_result_p))
3566       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3567     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3568   }
3569 }
3570
3571   current_cpu->done_insn (npc, status);
3572   return status;
3573 #undef FLD
3574 }
3575
3576 // ********** cpmovla0_h_P0S: cpmovla0.h $crop
3577
3578 sem_status
3579 mepcop1_16_sem_cpmovla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3580 {
3581 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3582   sem_status status = SEM_STATUS_NORMAL;
3583   mepcop1_16_scache* abuf = sem;
3584   unsigned long long written = 0;
3585   PCADDR pc = abuf->addr;
3586   PCADDR npc = pc + 4;
3587
3588 {
3589 current_cpu->check_option_cp (pc);
3590   {
3591     DI opval = current_cpu->ivc2_cpmovla0_h (pc);
3592     if (UNLIKELY(current_cpu->trace_result_p))
3593       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3594     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3595   }
3596 }
3597
3598   current_cpu->done_insn (npc, status);
3599   return status;
3600 #undef FLD
3601 }
3602
3603 // ********** cpmovuua0_w_P0S: cpmovuua0.w $crop
3604
3605 sem_status
3606 mepcop1_16_sem_cpmovuua0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3607 {
3608 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3609   sem_status status = SEM_STATUS_NORMAL;
3610   mepcop1_16_scache* abuf = sem;
3611   unsigned long long written = 0;
3612   PCADDR pc = abuf->addr;
3613   PCADDR npc = pc + 4;
3614
3615 {
3616 current_cpu->check_option_cp (pc);
3617   {
3618     DI opval = current_cpu->ivc2_cpmovuua0_w (pc);
3619     if (UNLIKELY(current_cpu->trace_result_p))
3620       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3621     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3622   }
3623 }
3624
3625   current_cpu->done_insn (npc, status);
3626   return status;
3627 #undef FLD
3628 }
3629
3630 // ********** cpmovula0_w_P0S: cpmovula0.w $crop
3631
3632 sem_status
3633 mepcop1_16_sem_cpmovula0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3634 {
3635 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3636   sem_status status = SEM_STATUS_NORMAL;
3637   mepcop1_16_scache* abuf = sem;
3638   unsigned long long written = 0;
3639   PCADDR pc = abuf->addr;
3640   PCADDR npc = pc + 4;
3641
3642 {
3643 current_cpu->check_option_cp (pc);
3644   {
3645     DI opval = current_cpu->ivc2_cpmovula0_w (pc);
3646     if (UNLIKELY(current_cpu->trace_result_p))
3647       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3648     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3649   }
3650 }
3651
3652   current_cpu->done_insn (npc, status);
3653   return status;
3654 #undef FLD
3655 }
3656
3657 // ********** cpmovlua0_w_P0S: cpmovlua0.w $crop
3658
3659 sem_status
3660 mepcop1_16_sem_cpmovlua0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3661 {
3662 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3663   sem_status status = SEM_STATUS_NORMAL;
3664   mepcop1_16_scache* abuf = sem;
3665   unsigned long long written = 0;
3666   PCADDR pc = abuf->addr;
3667   PCADDR npc = pc + 4;
3668
3669 {
3670 current_cpu->check_option_cp (pc);
3671   {
3672     DI opval = current_cpu->ivc2_cpmovlua0_w (pc);
3673     if (UNLIKELY(current_cpu->trace_result_p))
3674       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3675     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3676   }
3677 }
3678
3679   current_cpu->done_insn (npc, status);
3680   return status;
3681 #undef FLD
3682 }
3683
3684 // ********** cpmovlla0_w_P0S: cpmovlla0.w $crop
3685
3686 sem_status
3687 mepcop1_16_sem_cpmovlla0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3688 {
3689 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3690   sem_status status = SEM_STATUS_NORMAL;
3691   mepcop1_16_scache* abuf = sem;
3692   unsigned long long written = 0;
3693   PCADDR pc = abuf->addr;
3694   PCADDR npc = pc + 4;
3695
3696 {
3697 current_cpu->check_option_cp (pc);
3698   {
3699     DI opval = current_cpu->ivc2_cpmovlla0_w (pc);
3700     if (UNLIKELY(current_cpu->trace_result_p))
3701       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3702     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3703   }
3704 }
3705
3706   current_cpu->done_insn (npc, status);
3707   return status;
3708 #undef FLD
3709 }
3710
3711 // ********** cppacka0u_b_P0S: cppacka0u.b $crop
3712
3713 sem_status
3714 mepcop1_16_sem_cppacka0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3715 {
3716 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3717   sem_status status = SEM_STATUS_NORMAL;
3718   mepcop1_16_scache* abuf = sem;
3719   unsigned long long written = 0;
3720   PCADDR pc = abuf->addr;
3721   PCADDR npc = pc + 4;
3722
3723 {
3724 current_cpu->check_option_cp (pc);
3725   {
3726     DI opval = current_cpu->ivc2_cppacka0u_b (pc);
3727     if (UNLIKELY(current_cpu->trace_result_p))
3728       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3729     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3730   }
3731 }
3732
3733   current_cpu->done_insn (npc, status);
3734   return status;
3735 #undef FLD
3736 }
3737
3738 // ********** cppacka0_b_P0S: cppacka0.b $crop
3739
3740 sem_status
3741 mepcop1_16_sem_cppacka0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3742 {
3743 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3744   sem_status status = SEM_STATUS_NORMAL;
3745   mepcop1_16_scache* abuf = sem;
3746   unsigned long long written = 0;
3747   PCADDR pc = abuf->addr;
3748   PCADDR npc = pc + 4;
3749
3750 {
3751 current_cpu->check_option_cp (pc);
3752   {
3753     DI opval = current_cpu->ivc2_cppacka0_b (pc);
3754     if (UNLIKELY(current_cpu->trace_result_p))
3755       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3756     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3757   }
3758 }
3759
3760   current_cpu->done_insn (npc, status);
3761   return status;
3762 #undef FLD
3763 }
3764
3765 // ********** cppackua0_h_P0S: cppackua0.h $crop
3766
3767 sem_status
3768 mepcop1_16_sem_cppackua0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3769 {
3770 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3771   sem_status status = SEM_STATUS_NORMAL;
3772   mepcop1_16_scache* abuf = sem;
3773   unsigned long long written = 0;
3774   PCADDR pc = abuf->addr;
3775   PCADDR npc = pc + 4;
3776
3777 {
3778 current_cpu->check_option_cp (pc);
3779   {
3780     DI opval = current_cpu->ivc2_cppackua0_h (pc);
3781     if (UNLIKELY(current_cpu->trace_result_p))
3782       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3783     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3784   }
3785 }
3786
3787   current_cpu->done_insn (npc, status);
3788   return status;
3789 #undef FLD
3790 }
3791
3792 // ********** cppackla0_h_P0S: cppackla0.h $crop
3793
3794 sem_status
3795 mepcop1_16_sem_cppackla0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3796 {
3797 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3798   sem_status status = SEM_STATUS_NORMAL;
3799   mepcop1_16_scache* abuf = sem;
3800   unsigned long long written = 0;
3801   PCADDR pc = abuf->addr;
3802   PCADDR npc = pc + 4;
3803
3804 {
3805 current_cpu->check_option_cp (pc);
3806   {
3807     DI opval = current_cpu->ivc2_cppackla0_h (pc);
3808     if (UNLIKELY(current_cpu->trace_result_p))
3809       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3810     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3811   }
3812 }
3813
3814   current_cpu->done_insn (npc, status);
3815   return status;
3816 #undef FLD
3817 }
3818
3819 // ********** cppackua0_w_P0S: cppackua0.w $crop
3820
3821 sem_status
3822 mepcop1_16_sem_cppackua0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3823 {
3824 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3825   sem_status status = SEM_STATUS_NORMAL;
3826   mepcop1_16_scache* abuf = sem;
3827   unsigned long long written = 0;
3828   PCADDR pc = abuf->addr;
3829   PCADDR npc = pc + 4;
3830
3831 {
3832 current_cpu->check_option_cp (pc);
3833   {
3834     DI opval = current_cpu->ivc2_cppackua0_w (pc);
3835     if (UNLIKELY(current_cpu->trace_result_p))
3836       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3837     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3838   }
3839 }
3840
3841   current_cpu->done_insn (npc, status);
3842   return status;
3843 #undef FLD
3844 }
3845
3846 // ********** cppackla0_w_P0S: cppackla0.w $crop
3847
3848 sem_status
3849 mepcop1_16_sem_cppackla0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3850 {
3851 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3852   sem_status status = SEM_STATUS_NORMAL;
3853   mepcop1_16_scache* abuf = sem;
3854   unsigned long long written = 0;
3855   PCADDR pc = abuf->addr;
3856   PCADDR npc = pc + 4;
3857
3858 {
3859 current_cpu->check_option_cp (pc);
3860   {
3861     DI opval = current_cpu->ivc2_cppackla0_w (pc);
3862     if (UNLIKELY(current_cpu->trace_result_p))
3863       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3864     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3865   }
3866 }
3867
3868   current_cpu->done_insn (npc, status);
3869   return status;
3870 #undef FLD
3871 }
3872
3873 // ********** cpmovhua0_w_P0S: cpmovhua0.w $crop
3874
3875 sem_status
3876 mepcop1_16_sem_cpmovhua0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3877 {
3878 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3879   sem_status status = SEM_STATUS_NORMAL;
3880   mepcop1_16_scache* abuf = sem;
3881   unsigned long long written = 0;
3882   PCADDR pc = abuf->addr;
3883   PCADDR npc = pc + 4;
3884
3885 {
3886 current_cpu->check_option_cp (pc);
3887   {
3888     DI opval = current_cpu->ivc2_cpmovhua0_w (pc);
3889     if (UNLIKELY(current_cpu->trace_result_p))
3890       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3891     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3892   }
3893 }
3894
3895   current_cpu->done_insn (npc, status);
3896   return status;
3897 #undef FLD
3898 }
3899
3900 // ********** cpmovhla0_w_P0S: cpmovhla0.w $crop
3901
3902 sem_status
3903 mepcop1_16_sem_cpmovhla0_w_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3904 {
3905 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
3906   sem_status status = SEM_STATUS_NORMAL;
3907   mepcop1_16_scache* abuf = sem;
3908   unsigned long long written = 0;
3909   PCADDR pc = abuf->addr;
3910   PCADDR npc = pc + 4;
3911
3912 {
3913 current_cpu->check_option_cp (pc);
3914   {
3915     DI opval = current_cpu->ivc2_cpmovhla0_w (pc);
3916     if (UNLIKELY(current_cpu->trace_result_p))
3917       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3918     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3919   }
3920 }
3921
3922   current_cpu->done_insn (npc, status);
3923   return status;
3924 #undef FLD
3925 }
3926
3927 // ********** cpacsuma0_P0S: cpacsuma0
3928
3929 sem_status
3930 mepcop1_16_sem_cpacsuma0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
3931 {
3932 #define FLD(f) abuf->fields.fmt_empty.f
3933   sem_status status = SEM_STATUS_NORMAL;
3934   mepcop1_16_scache* abuf = sem;
3935   unsigned long long written = 0;
3936   PCADDR pc = abuf->addr;
3937   PCADDR npc = pc + 4;
3938
3939 {
3940 current_cpu->check_option_cp (pc);
3941   {
3942     SI opval = 0;
3943     if (UNLIKELY(current_cpu->trace_result_p))
3944       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
3945     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
3946   }
3947   {
3948     SI opval = 0;
3949     if (UNLIKELY(current_cpu->trace_result_p))
3950       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
3951     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
3952   }
3953   {
3954     SI opval = 0;
3955     if (UNLIKELY(current_cpu->trace_result_p))
3956       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
3957     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
3958   }
3959   {
3960     SI opval = 0;
3961     if (UNLIKELY(current_cpu->trace_result_p))
3962       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
3963     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
3964   }
3965   {
3966     SI opval = 0;
3967     if (UNLIKELY(current_cpu->trace_result_p))
3968       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
3969     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
3970   }
3971   {
3972     SI opval = 0;
3973     if (UNLIKELY(current_cpu->trace_result_p))
3974       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
3975     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
3976   }
3977   {
3978     SI opval = 0;
3979     if (UNLIKELY(current_cpu->trace_result_p))
3980       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
3981     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
3982   }
3983   {
3984     SI opval = 0;
3985     if (UNLIKELY(current_cpu->trace_result_p))
3986       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
3987     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
3988   }
3989   {
3990     SI opval = 0;
3991     if (UNLIKELY(current_cpu->trace_result_p))
3992       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
3993     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
3994   }
3995 current_cpu->ivc2_cpacsuma0 (pc);
3996 }
3997
3998   current_cpu->done_insn (npc, status);
3999   return status;
4000 #undef FLD
4001 }
4002
4003 // ********** cpaccpa0_P0S: cpaccpa0
4004
4005 sem_status
4006 mepcop1_16_sem_cpaccpa0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4007 {
4008 #define FLD(f) abuf->fields.fmt_empty.f
4009   sem_status status = SEM_STATUS_NORMAL;
4010   mepcop1_16_scache* abuf = sem;
4011   unsigned long long written = 0;
4012   PCADDR pc = abuf->addr;
4013   PCADDR npc = pc + 4;
4014
4015 {
4016 current_cpu->check_option_cp (pc);
4017   {
4018     SI opval = 0;
4019     if (UNLIKELY(current_cpu->trace_result_p))
4020       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4021     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4022   }
4023   {
4024     SI opval = 0;
4025     if (UNLIKELY(current_cpu->trace_result_p))
4026       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4027     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4028   }
4029   {
4030     SI opval = 0;
4031     if (UNLIKELY(current_cpu->trace_result_p))
4032       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4033     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4034   }
4035   {
4036     SI opval = 0;
4037     if (UNLIKELY(current_cpu->trace_result_p))
4038       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4039     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4040   }
4041   {
4042     SI opval = 0;
4043     if (UNLIKELY(current_cpu->trace_result_p))
4044       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4045     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4046   }
4047   {
4048     SI opval = 0;
4049     if (UNLIKELY(current_cpu->trace_result_p))
4050       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4051     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4052   }
4053   {
4054     SI opval = 0;
4055     if (UNLIKELY(current_cpu->trace_result_p))
4056       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4057     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4058   }
4059   {
4060     SI opval = 0;
4061     if (UNLIKELY(current_cpu->trace_result_p))
4062       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4063     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4064   }
4065 current_cpu->ivc2_cpaccpa0 (pc);
4066 }
4067
4068   current_cpu->done_insn (npc, status);
4069   return status;
4070 #undef FLD
4071 }
4072
4073 // ********** cpsrla0_P0S: cpsrla0 $crqp
4074
4075 sem_status
4076 mepcop1_16_sem_cpsrla0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4077 {
4078 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
4079   sem_status status = SEM_STATUS_NORMAL;
4080   mepcop1_16_scache* abuf = sem;
4081   unsigned long long written = 0;
4082   PCADDR pc = abuf->addr;
4083   PCADDR npc = pc + 4;
4084
4085 {
4086 current_cpu->check_option_cp (pc);
4087   {
4088     SI opval = 0;
4089     if (UNLIKELY(current_cpu->trace_result_p))
4090       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4091     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4092   }
4093   {
4094     SI opval = 0;
4095     if (UNLIKELY(current_cpu->trace_result_p))
4096       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4097     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4098   }
4099   {
4100     SI opval = 0;
4101     if (UNLIKELY(current_cpu->trace_result_p))
4102       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4103     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4104   }
4105   {
4106     SI opval = 0;
4107     if (UNLIKELY(current_cpu->trace_result_p))
4108       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4109     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4110   }
4111   {
4112     SI opval = 0;
4113     if (UNLIKELY(current_cpu->trace_result_p))
4114       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4115     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4116   }
4117   {
4118     SI opval = 0;
4119     if (UNLIKELY(current_cpu->trace_result_p))
4120       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4121     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4122   }
4123   {
4124     SI opval = 0;
4125     if (UNLIKELY(current_cpu->trace_result_p))
4126       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4127     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4128   }
4129   {
4130     SI opval = 0;
4131     if (UNLIKELY(current_cpu->trace_result_p))
4132       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4133     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4134   }
4135 current_cpu->ivc2_cpsrla0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
4136 }
4137
4138   current_cpu->done_insn (npc, status);
4139   return status;
4140 #undef FLD
4141 }
4142
4143 // ********** cpsraa0_P0S: cpsraa0 $crqp
4144
4145 sem_status
4146 mepcop1_16_sem_cpsraa0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4147 {
4148 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
4149   sem_status status = SEM_STATUS_NORMAL;
4150   mepcop1_16_scache* abuf = sem;
4151   unsigned long long written = 0;
4152   PCADDR pc = abuf->addr;
4153   PCADDR npc = pc + 4;
4154
4155 {
4156 current_cpu->check_option_cp (pc);
4157   {
4158     SI opval = 0;
4159     if (UNLIKELY(current_cpu->trace_result_p))
4160       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4161     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4162   }
4163   {
4164     SI opval = 0;
4165     if (UNLIKELY(current_cpu->trace_result_p))
4166       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4167     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4168   }
4169   {
4170     SI opval = 0;
4171     if (UNLIKELY(current_cpu->trace_result_p))
4172       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4173     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4174   }
4175   {
4176     SI opval = 0;
4177     if (UNLIKELY(current_cpu->trace_result_p))
4178       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4179     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4180   }
4181   {
4182     SI opval = 0;
4183     if (UNLIKELY(current_cpu->trace_result_p))
4184       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4185     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4186   }
4187   {
4188     SI opval = 0;
4189     if (UNLIKELY(current_cpu->trace_result_p))
4190       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4191     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4192   }
4193   {
4194     SI opval = 0;
4195     if (UNLIKELY(current_cpu->trace_result_p))
4196       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4197     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4198   }
4199   {
4200     SI opval = 0;
4201     if (UNLIKELY(current_cpu->trace_result_p))
4202       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4203     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4204   }
4205 current_cpu->ivc2_cpsraa0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
4206 }
4207
4208   current_cpu->done_insn (npc, status);
4209   return status;
4210 #undef FLD
4211 }
4212
4213 // ********** cpslla0_P0S: cpslla0 $crqp
4214
4215 sem_status
4216 mepcop1_16_sem_cpslla0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4217 {
4218 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
4219   sem_status status = SEM_STATUS_NORMAL;
4220   mepcop1_16_scache* abuf = sem;
4221   unsigned long long written = 0;
4222   PCADDR pc = abuf->addr;
4223   PCADDR npc = pc + 4;
4224
4225 {
4226 current_cpu->check_option_cp (pc);
4227   {
4228     SI opval = 0;
4229     if (UNLIKELY(current_cpu->trace_result_p))
4230       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4231     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4232   }
4233   {
4234     SI opval = 0;
4235     if (UNLIKELY(current_cpu->trace_result_p))
4236       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4237     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4238   }
4239   {
4240     SI opval = 0;
4241     if (UNLIKELY(current_cpu->trace_result_p))
4242       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4243     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4244   }
4245   {
4246     SI opval = 0;
4247     if (UNLIKELY(current_cpu->trace_result_p))
4248       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4249     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4250   }
4251   {
4252     SI opval = 0;
4253     if (UNLIKELY(current_cpu->trace_result_p))
4254       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4255     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4256   }
4257   {
4258     SI opval = 0;
4259     if (UNLIKELY(current_cpu->trace_result_p))
4260       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4261     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4262   }
4263   {
4264     SI opval = 0;
4265     if (UNLIKELY(current_cpu->trace_result_p))
4266       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4267     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4268   }
4269   {
4270     SI opval = 0;
4271     if (UNLIKELY(current_cpu->trace_result_p))
4272       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4273     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4274   }
4275 current_cpu->ivc2_cpslla0 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)]);
4276 }
4277
4278   current_cpu->done_insn (npc, status);
4279   return status;
4280 #undef FLD
4281 }
4282
4283 // ********** cpsrlia0_P0S: cpsrlia0 $imm5p23
4284
4285 sem_status
4286 mepcop1_16_sem_cpsrlia0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4287 {
4288 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4289   sem_status status = SEM_STATUS_NORMAL;
4290   mepcop1_16_scache* abuf = sem;
4291   unsigned long long written = 0;
4292   PCADDR pc = abuf->addr;
4293   PCADDR npc = pc + 4;
4294
4295 {
4296 current_cpu->check_option_cp (pc);
4297   {
4298     SI opval = 0;
4299     if (UNLIKELY(current_cpu->trace_result_p))
4300       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4301     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4302   }
4303   {
4304     SI opval = 0;
4305     if (UNLIKELY(current_cpu->trace_result_p))
4306       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4307     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4308   }
4309   {
4310     SI opval = 0;
4311     if (UNLIKELY(current_cpu->trace_result_p))
4312       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4313     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4314   }
4315   {
4316     SI opval = 0;
4317     if (UNLIKELY(current_cpu->trace_result_p))
4318       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4319     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4320   }
4321   {
4322     SI opval = 0;
4323     if (UNLIKELY(current_cpu->trace_result_p))
4324       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4325     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4326   }
4327   {
4328     SI opval = 0;
4329     if (UNLIKELY(current_cpu->trace_result_p))
4330       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4331     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4332   }
4333   {
4334     SI opval = 0;
4335     if (UNLIKELY(current_cpu->trace_result_p))
4336       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4337     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4338   }
4339   {
4340     SI opval = 0;
4341     if (UNLIKELY(current_cpu->trace_result_p))
4342       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4343     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4344   }
4345 current_cpu->ivc2_cpsrlia0 (pc, FLD (f_ivc2_5u23));
4346 }
4347
4348   current_cpu->done_insn (npc, status);
4349   return status;
4350 #undef FLD
4351 }
4352
4353 // ********** cpsraia0_P0S: cpsraia0 $imm5p23
4354
4355 sem_status
4356 mepcop1_16_sem_cpsraia0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4357 {
4358 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4359   sem_status status = SEM_STATUS_NORMAL;
4360   mepcop1_16_scache* abuf = sem;
4361   unsigned long long written = 0;
4362   PCADDR pc = abuf->addr;
4363   PCADDR npc = pc + 4;
4364
4365 {
4366 current_cpu->check_option_cp (pc);
4367   {
4368     SI opval = 0;
4369     if (UNLIKELY(current_cpu->trace_result_p))
4370       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4371     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4372   }
4373   {
4374     SI opval = 0;
4375     if (UNLIKELY(current_cpu->trace_result_p))
4376       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4377     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4378   }
4379   {
4380     SI opval = 0;
4381     if (UNLIKELY(current_cpu->trace_result_p))
4382       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4383     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4384   }
4385   {
4386     SI opval = 0;
4387     if (UNLIKELY(current_cpu->trace_result_p))
4388       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4389     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4390   }
4391   {
4392     SI opval = 0;
4393     if (UNLIKELY(current_cpu->trace_result_p))
4394       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4395     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4396   }
4397   {
4398     SI opval = 0;
4399     if (UNLIKELY(current_cpu->trace_result_p))
4400       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4401     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4402   }
4403   {
4404     SI opval = 0;
4405     if (UNLIKELY(current_cpu->trace_result_p))
4406       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4407     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4408   }
4409   {
4410     SI opval = 0;
4411     if (UNLIKELY(current_cpu->trace_result_p))
4412       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4413     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4414   }
4415 current_cpu->ivc2_cpsraia0 (pc, FLD (f_ivc2_5u23));
4416 }
4417
4418   current_cpu->done_insn (npc, status);
4419   return status;
4420 #undef FLD
4421 }
4422
4423 // ********** cpsllia0_P0S: cpsllia0 $imm5p23
4424
4425 sem_status
4426 mepcop1_16_sem_cpsllia0_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4427 {
4428 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4429   sem_status status = SEM_STATUS_NORMAL;
4430   mepcop1_16_scache* abuf = sem;
4431   unsigned long long written = 0;
4432   PCADDR pc = abuf->addr;
4433   PCADDR npc = pc + 4;
4434
4435 {
4436 current_cpu->check_option_cp (pc);
4437   {
4438     SI opval = 0;
4439     if (UNLIKELY(current_cpu->trace_result_p))
4440       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4441     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4442   }
4443   {
4444     SI opval = 0;
4445     if (UNLIKELY(current_cpu->trace_result_p))
4446       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4447     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4448   }
4449   {
4450     SI opval = 0;
4451     if (UNLIKELY(current_cpu->trace_result_p))
4452       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4453     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4454   }
4455   {
4456     SI opval = 0;
4457     if (UNLIKELY(current_cpu->trace_result_p))
4458       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4459     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4460   }
4461   {
4462     SI opval = 0;
4463     if (UNLIKELY(current_cpu->trace_result_p))
4464       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4465     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4466   }
4467   {
4468     SI opval = 0;
4469     if (UNLIKELY(current_cpu->trace_result_p))
4470       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4471     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4472   }
4473   {
4474     SI opval = 0;
4475     if (UNLIKELY(current_cpu->trace_result_p))
4476       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4477     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4478   }
4479   {
4480     SI opval = 0;
4481     if (UNLIKELY(current_cpu->trace_result_p))
4482       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4483     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4484   }
4485 current_cpu->ivc2_cpsllia0 (pc, FLD (f_ivc2_5u23));
4486 }
4487
4488   current_cpu->done_insn (npc, status);
4489   return status;
4490 #undef FLD
4491 }
4492
4493 // ********** cpfsftba0s0u_b_P0S: cpfsftba0s0u.b $crqp,$crpp
4494
4495 sem_status
4496 mepcop1_16_sem_cpfsftba0s0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4497 {
4498 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4499   sem_status status = SEM_STATUS_NORMAL;
4500   mepcop1_16_scache* abuf = sem;
4501   unsigned long long written = 0;
4502   PCADDR pc = abuf->addr;
4503   PCADDR npc = pc + 4;
4504
4505 {
4506 current_cpu->check_option_cp (pc);
4507   {
4508     SI opval = 0;
4509     if (UNLIKELY(current_cpu->trace_result_p))
4510       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4511     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4512   }
4513   {
4514     SI opval = 0;
4515     if (UNLIKELY(current_cpu->trace_result_p))
4516       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4517     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4518   }
4519   {
4520     SI opval = 0;
4521     if (UNLIKELY(current_cpu->trace_result_p))
4522       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4523     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4524   }
4525   {
4526     SI opval = 0;
4527     if (UNLIKELY(current_cpu->trace_result_p))
4528       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4529     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4530   }
4531   {
4532     SI opval = 0;
4533     if (UNLIKELY(current_cpu->trace_result_p))
4534       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4535     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4536   }
4537   {
4538     SI opval = 0;
4539     if (UNLIKELY(current_cpu->trace_result_p))
4540       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4541     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4542   }
4543   {
4544     SI opval = 0;
4545     if (UNLIKELY(current_cpu->trace_result_p))
4546       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4547     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4548   }
4549   {
4550     SI opval = 0;
4551     if (UNLIKELY(current_cpu->trace_result_p))
4552       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4553     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4554   }
4555 current_cpu->ivc2_cpfsftba0s0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4556 }
4557
4558   current_cpu->done_insn (npc, status);
4559   return status;
4560 #undef FLD
4561 }
4562
4563 // ********** cpfsftba0s0_b_P0S: cpfsftba0s0.b $crqp,$crpp
4564
4565 sem_status
4566 mepcop1_16_sem_cpfsftba0s0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4567 {
4568 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4569   sem_status status = SEM_STATUS_NORMAL;
4570   mepcop1_16_scache* abuf = sem;
4571   unsigned long long written = 0;
4572   PCADDR pc = abuf->addr;
4573   PCADDR npc = pc + 4;
4574
4575 {
4576 current_cpu->check_option_cp (pc);
4577   {
4578     SI opval = 0;
4579     if (UNLIKELY(current_cpu->trace_result_p))
4580       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4581     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4582   }
4583   {
4584     SI opval = 0;
4585     if (UNLIKELY(current_cpu->trace_result_p))
4586       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4587     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4588   }
4589   {
4590     SI opval = 0;
4591     if (UNLIKELY(current_cpu->trace_result_p))
4592       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4593     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4594   }
4595   {
4596     SI opval = 0;
4597     if (UNLIKELY(current_cpu->trace_result_p))
4598       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4599     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4600   }
4601   {
4602     SI opval = 0;
4603     if (UNLIKELY(current_cpu->trace_result_p))
4604       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4605     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4606   }
4607   {
4608     SI opval = 0;
4609     if (UNLIKELY(current_cpu->trace_result_p))
4610       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4611     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4612   }
4613   {
4614     SI opval = 0;
4615     if (UNLIKELY(current_cpu->trace_result_p))
4616       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4617     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4618   }
4619   {
4620     SI opval = 0;
4621     if (UNLIKELY(current_cpu->trace_result_p))
4622       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4623     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4624   }
4625 current_cpu->ivc2_cpfsftba0s0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4626 }
4627
4628   current_cpu->done_insn (npc, status);
4629   return status;
4630 #undef FLD
4631 }
4632
4633 // ********** cpfsftbua0s0_h_P0S: cpfsftbua0s0.h $crqp,$crpp
4634
4635 sem_status
4636 mepcop1_16_sem_cpfsftbua0s0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4637 {
4638 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4639   sem_status status = SEM_STATUS_NORMAL;
4640   mepcop1_16_scache* abuf = sem;
4641   unsigned long long written = 0;
4642   PCADDR pc = abuf->addr;
4643   PCADDR npc = pc + 4;
4644
4645 {
4646 current_cpu->check_option_cp (pc);
4647   {
4648     SI opval = 0;
4649     if (UNLIKELY(current_cpu->trace_result_p))
4650       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4651     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4652   }
4653   {
4654     SI opval = 0;
4655     if (UNLIKELY(current_cpu->trace_result_p))
4656       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4657     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4658   }
4659   {
4660     SI opval = 0;
4661     if (UNLIKELY(current_cpu->trace_result_p))
4662       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4663     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4664   }
4665   {
4666     SI opval = 0;
4667     if (UNLIKELY(current_cpu->trace_result_p))
4668       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4669     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4670   }
4671 current_cpu->ivc2_cpfsftbua0s0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4672 }
4673
4674   current_cpu->done_insn (npc, status);
4675   return status;
4676 #undef FLD
4677 }
4678
4679 // ********** cpfsftbla0s0_h_P0S: cpfsftbla0s0.h $crqp,$crpp
4680
4681 sem_status
4682 mepcop1_16_sem_cpfsftbla0s0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4683 {
4684 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4685   sem_status status = SEM_STATUS_NORMAL;
4686   mepcop1_16_scache* abuf = sem;
4687   unsigned long long written = 0;
4688   PCADDR pc = abuf->addr;
4689   PCADDR npc = pc + 4;
4690
4691 {
4692 current_cpu->check_option_cp (pc);
4693   {
4694     SI opval = 0;
4695     if (UNLIKELY(current_cpu->trace_result_p))
4696       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4697     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4698   }
4699   {
4700     SI opval = 0;
4701     if (UNLIKELY(current_cpu->trace_result_p))
4702       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4703     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4704   }
4705   {
4706     SI opval = 0;
4707     if (UNLIKELY(current_cpu->trace_result_p))
4708       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4709     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4710   }
4711   {
4712     SI opval = 0;
4713     if (UNLIKELY(current_cpu->trace_result_p))
4714       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4715     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4716   }
4717 current_cpu->ivc2_cpfsftbla0s0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4718 }
4719
4720   current_cpu->done_insn (npc, status);
4721   return status;
4722 #undef FLD
4723 }
4724
4725 // ********** cpfaca0s0u_b_P0S: cpfaca0s0u.b $crqp,$crpp
4726
4727 sem_status
4728 mepcop1_16_sem_cpfaca0s0u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4729 {
4730 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4731   sem_status status = SEM_STATUS_NORMAL;
4732   mepcop1_16_scache* abuf = sem;
4733   unsigned long long written = 0;
4734   PCADDR pc = abuf->addr;
4735   PCADDR npc = pc + 4;
4736
4737 {
4738 current_cpu->check_option_cp (pc);
4739   {
4740     SI opval = 0;
4741     if (UNLIKELY(current_cpu->trace_result_p))
4742       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4743     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4744   }
4745   {
4746     SI opval = 0;
4747     if (UNLIKELY(current_cpu->trace_result_p))
4748       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4749     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4750   }
4751   {
4752     SI opval = 0;
4753     if (UNLIKELY(current_cpu->trace_result_p))
4754       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4755     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4756   }
4757   {
4758     SI opval = 0;
4759     if (UNLIKELY(current_cpu->trace_result_p))
4760       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4761     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4762   }
4763   {
4764     SI opval = 0;
4765     if (UNLIKELY(current_cpu->trace_result_p))
4766       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4767     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4768   }
4769   {
4770     SI opval = 0;
4771     if (UNLIKELY(current_cpu->trace_result_p))
4772       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4773     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4774   }
4775   {
4776     SI opval = 0;
4777     if (UNLIKELY(current_cpu->trace_result_p))
4778       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4779     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4780   }
4781   {
4782     SI opval = 0;
4783     if (UNLIKELY(current_cpu->trace_result_p))
4784       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4785     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4786   }
4787   {
4788     SI opval = 0;
4789     if (UNLIKELY(current_cpu->trace_result_p))
4790       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
4791     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
4792   }
4793 current_cpu->ivc2_cpfaca0s0u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4794 }
4795
4796   current_cpu->done_insn (npc, status);
4797   return status;
4798 #undef FLD
4799 }
4800
4801 // ********** cpfaca0s0_b_P0S: cpfaca0s0.b $crqp,$crpp
4802
4803 sem_status
4804 mepcop1_16_sem_cpfaca0s0_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4805 {
4806 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4807   sem_status status = SEM_STATUS_NORMAL;
4808   mepcop1_16_scache* abuf = sem;
4809   unsigned long long written = 0;
4810   PCADDR pc = abuf->addr;
4811   PCADDR npc = pc + 4;
4812
4813 {
4814 current_cpu->check_option_cp (pc);
4815   {
4816     SI opval = 0;
4817     if (UNLIKELY(current_cpu->trace_result_p))
4818       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4819     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4820   }
4821   {
4822     SI opval = 0;
4823     if (UNLIKELY(current_cpu->trace_result_p))
4824       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4825     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4826   }
4827   {
4828     SI opval = 0;
4829     if (UNLIKELY(current_cpu->trace_result_p))
4830       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4831     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4832   }
4833   {
4834     SI opval = 0;
4835     if (UNLIKELY(current_cpu->trace_result_p))
4836       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4837     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4838   }
4839   {
4840     SI opval = 0;
4841     if (UNLIKELY(current_cpu->trace_result_p))
4842       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4843     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4844   }
4845   {
4846     SI opval = 0;
4847     if (UNLIKELY(current_cpu->trace_result_p))
4848       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4849     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4850   }
4851   {
4852     SI opval = 0;
4853     if (UNLIKELY(current_cpu->trace_result_p))
4854       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4855     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4856   }
4857   {
4858     SI opval = 0;
4859     if (UNLIKELY(current_cpu->trace_result_p))
4860       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4861     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4862   }
4863   {
4864     SI opval = 0;
4865     if (UNLIKELY(current_cpu->trace_result_p))
4866       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
4867     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
4868   }
4869 current_cpu->ivc2_cpfaca0s0_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4870 }
4871
4872   current_cpu->done_insn (npc, status);
4873   return status;
4874 #undef FLD
4875 }
4876
4877 // ********** cpfacua0s0_h_P0S: cpfacua0s0.h $crqp,$crpp
4878
4879 sem_status
4880 mepcop1_16_sem_cpfacua0s0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4881 {
4882 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4883   sem_status status = SEM_STATUS_NORMAL;
4884   mepcop1_16_scache* abuf = sem;
4885   unsigned long long written = 0;
4886   PCADDR pc = abuf->addr;
4887   PCADDR npc = pc + 4;
4888
4889 {
4890 current_cpu->check_option_cp (pc);
4891   {
4892     SI opval = 0;
4893     if (UNLIKELY(current_cpu->trace_result_p))
4894       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
4895     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
4896   }
4897   {
4898     SI opval = 0;
4899     if (UNLIKELY(current_cpu->trace_result_p))
4900       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
4901     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
4902   }
4903   {
4904     SI opval = 0;
4905     if (UNLIKELY(current_cpu->trace_result_p))
4906       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
4907     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
4908   }
4909   {
4910     SI opval = 0;
4911     if (UNLIKELY(current_cpu->trace_result_p))
4912       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
4913     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
4914   }
4915   {
4916     SI opval = 0;
4917     if (UNLIKELY(current_cpu->trace_result_p))
4918       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
4919     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
4920   }
4921 current_cpu->ivc2_cpfacua0s0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4922 }
4923
4924   current_cpu->done_insn (npc, status);
4925   return status;
4926 #undef FLD
4927 }
4928
4929 // ********** cpfacla0s0_h_P0S: cpfacla0s0.h $crqp,$crpp
4930
4931 sem_status
4932 mepcop1_16_sem_cpfacla0s0_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4933 {
4934 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4935   sem_status status = SEM_STATUS_NORMAL;
4936   mepcop1_16_scache* abuf = sem;
4937   unsigned long long written = 0;
4938   PCADDR pc = abuf->addr;
4939   PCADDR npc = pc + 4;
4940
4941 {
4942 current_cpu->check_option_cp (pc);
4943   {
4944     SI opval = 0;
4945     if (UNLIKELY(current_cpu->trace_result_p))
4946       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4947     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
4948   }
4949   {
4950     SI opval = 0;
4951     if (UNLIKELY(current_cpu->trace_result_p))
4952       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
4953     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
4954   }
4955   {
4956     SI opval = 0;
4957     if (UNLIKELY(current_cpu->trace_result_p))
4958       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
4959     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
4960   }
4961   {
4962     SI opval = 0;
4963     if (UNLIKELY(current_cpu->trace_result_p))
4964       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
4965     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
4966   }
4967   {
4968     SI opval = 0;
4969     if (UNLIKELY(current_cpu->trace_result_p))
4970       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
4971     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
4972   }
4973 current_cpu->ivc2_cpfacla0s0_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
4974 }
4975
4976   current_cpu->done_insn (npc, status);
4977   return status;
4978 #undef FLD
4979 }
4980
4981 // ********** cpfsftba0s1u_b_P0S: cpfsftba0s1u.b $crqp,$crpp
4982
4983 sem_status
4984 mepcop1_16_sem_cpfsftba0s1u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
4985 {
4986 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
4987   sem_status status = SEM_STATUS_NORMAL;
4988   mepcop1_16_scache* abuf = sem;
4989   unsigned long long written = 0;
4990   PCADDR pc = abuf->addr;
4991   PCADDR npc = pc + 4;
4992
4993 {
4994 current_cpu->check_option_cp (pc);
4995   {
4996     SI opval = 0;
4997     if (UNLIKELY(current_cpu->trace_result_p))
4998       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
4999     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
5000   }
5001   {
5002     SI opval = 0;
5003     if (UNLIKELY(current_cpu->trace_result_p))
5004       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
5005     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
5006   }
5007   {
5008     SI opval = 0;
5009     if (UNLIKELY(current_cpu->trace_result_p))
5010       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
5011     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
5012   }
5013   {
5014     SI opval = 0;
5015     if (UNLIKELY(current_cpu->trace_result_p))
5016       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
5017     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
5018   }
5019   {
5020     SI opval = 0;
5021     if (UNLIKELY(current_cpu->trace_result_p))
5022       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
5023     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
5024   }
5025   {
5026     SI opval = 0;
5027     if (UNLIKELY(current_cpu->trace_result_p))
5028       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
5029     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
5030   }
5031   {
5032     SI opval = 0;
5033     if (UNLIKELY(current_cpu->trace_result_p))
5034       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
5035     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
5036   }
5037   {
5038     SI opval = 0;
5039     if (UNLIKELY(current_cpu->trace_result_p))
5040       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
5041     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
5042   }
5043 current_cpu->ivc2_cpfsftba0s1u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5044 }
5045
5046   current_cpu->done_insn (npc, status);
5047   return status;
5048 #undef FLD
5049 }
5050
5051 // ********** cpfsftba0s1_b_P0S: cpfsftba0s1.b $crqp,$crpp
5052
5053 sem_status
5054 mepcop1_16_sem_cpfsftba0s1_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5055 {
5056 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5057   sem_status status = SEM_STATUS_NORMAL;
5058   mepcop1_16_scache* abuf = sem;
5059   unsigned long long written = 0;
5060   PCADDR pc = abuf->addr;
5061   PCADDR npc = pc + 4;
5062
5063 {
5064 current_cpu->check_option_cp (pc);
5065   {
5066     SI opval = 0;
5067     if (UNLIKELY(current_cpu->trace_result_p))
5068       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
5069     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
5070   }
5071   {
5072     SI opval = 0;
5073     if (UNLIKELY(current_cpu->trace_result_p))
5074       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
5075     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
5076   }
5077   {
5078     SI opval = 0;
5079     if (UNLIKELY(current_cpu->trace_result_p))
5080       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
5081     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
5082   }
5083   {
5084     SI opval = 0;
5085     if (UNLIKELY(current_cpu->trace_result_p))
5086       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
5087     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
5088   }
5089   {
5090     SI opval = 0;
5091     if (UNLIKELY(current_cpu->trace_result_p))
5092       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
5093     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
5094   }
5095   {
5096     SI opval = 0;
5097     if (UNLIKELY(current_cpu->trace_result_p))
5098       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
5099     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
5100   }
5101   {
5102     SI opval = 0;
5103     if (UNLIKELY(current_cpu->trace_result_p))
5104       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
5105     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
5106   }
5107   {
5108     SI opval = 0;
5109     if (UNLIKELY(current_cpu->trace_result_p))
5110       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
5111     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
5112   }
5113 current_cpu->ivc2_cpfsftba0s1_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5114 }
5115
5116   current_cpu->done_insn (npc, status);
5117   return status;
5118 #undef FLD
5119 }
5120
5121 // ********** cpfsftbua0s1_h_P0S: cpfsftbua0s1.h $crqp,$crpp
5122
5123 sem_status
5124 mepcop1_16_sem_cpfsftbua0s1_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5125 {
5126 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5127   sem_status status = SEM_STATUS_NORMAL;
5128   mepcop1_16_scache* abuf = sem;
5129   unsigned long long written = 0;
5130   PCADDR pc = abuf->addr;
5131   PCADDR npc = pc + 4;
5132
5133 {
5134 current_cpu->check_option_cp (pc);
5135   {
5136     SI opval = 0;
5137     if (UNLIKELY(current_cpu->trace_result_p))
5138       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
5139     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
5140   }
5141   {
5142     SI opval = 0;
5143     if (UNLIKELY(current_cpu->trace_result_p))
5144       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
5145     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
5146   }
5147   {
5148     SI opval = 0;
5149     if (UNLIKELY(current_cpu->trace_result_p))
5150       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
5151     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
5152   }
5153   {
5154     SI opval = 0;
5155     if (UNLIKELY(current_cpu->trace_result_p))
5156       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
5157     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
5158   }
5159 current_cpu->ivc2_cpfsftbua0s1_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5160 }
5161
5162   current_cpu->done_insn (npc, status);
5163   return status;
5164 #undef FLD
5165 }
5166
5167 // ********** cpfsftbla0s1_h_P0S: cpfsftbla0s1.h $crqp,$crpp
5168
5169 sem_status
5170 mepcop1_16_sem_cpfsftbla0s1_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5171 {
5172 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5173   sem_status status = SEM_STATUS_NORMAL;
5174   mepcop1_16_scache* abuf = sem;
5175   unsigned long long written = 0;
5176   PCADDR pc = abuf->addr;
5177   PCADDR npc = pc + 4;
5178
5179 {
5180 current_cpu->check_option_cp (pc);
5181   {
5182     SI opval = 0;
5183     if (UNLIKELY(current_cpu->trace_result_p))
5184       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
5185     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
5186   }
5187   {
5188     SI opval = 0;
5189     if (UNLIKELY(current_cpu->trace_result_p))
5190       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
5191     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
5192   }
5193   {
5194     SI opval = 0;
5195     if (UNLIKELY(current_cpu->trace_result_p))
5196       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
5197     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
5198   }
5199   {
5200     SI opval = 0;
5201     if (UNLIKELY(current_cpu->trace_result_p))
5202       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
5203     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
5204   }
5205 current_cpu->ivc2_cpfsftbla0s1_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5206 }
5207
5208   current_cpu->done_insn (npc, status);
5209   return status;
5210 #undef FLD
5211 }
5212
5213 // ********** cpfaca0s1u_b_P0S: cpfaca0s1u.b $crqp,$crpp
5214
5215 sem_status
5216 mepcop1_16_sem_cpfaca0s1u_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5217 {
5218 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5219   sem_status status = SEM_STATUS_NORMAL;
5220   mepcop1_16_scache* abuf = sem;
5221   unsigned long long written = 0;
5222   PCADDR pc = abuf->addr;
5223   PCADDR npc = pc + 4;
5224
5225 {
5226 current_cpu->check_option_cp (pc);
5227   {
5228     SI opval = 0;
5229     if (UNLIKELY(current_cpu->trace_result_p))
5230       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
5231     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
5232   }
5233   {
5234     SI opval = 0;
5235     if (UNLIKELY(current_cpu->trace_result_p))
5236       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
5237     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
5238   }
5239   {
5240     SI opval = 0;
5241     if (UNLIKELY(current_cpu->trace_result_p))
5242       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
5243     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
5244   }
5245   {
5246     SI opval = 0;
5247     if (UNLIKELY(current_cpu->trace_result_p))
5248       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
5249     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
5250   }
5251   {
5252     SI opval = 0;
5253     if (UNLIKELY(current_cpu->trace_result_p))
5254       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
5255     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
5256   }
5257   {
5258     SI opval = 0;
5259     if (UNLIKELY(current_cpu->trace_result_p))
5260       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
5261     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
5262   }
5263   {
5264     SI opval = 0;
5265     if (UNLIKELY(current_cpu->trace_result_p))
5266       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
5267     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
5268   }
5269   {
5270     SI opval = 0;
5271     if (UNLIKELY(current_cpu->trace_result_p))
5272       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
5273     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
5274   }
5275   {
5276     SI opval = 0;
5277     if (UNLIKELY(current_cpu->trace_result_p))
5278       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
5279     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
5280   }
5281 current_cpu->ivc2_cpfaca0s1u_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5282 }
5283
5284   current_cpu->done_insn (npc, status);
5285   return status;
5286 #undef FLD
5287 }
5288
5289 // ********** cpfaca0s1_b_P0S: cpfaca0s1.b $crqp,$crpp
5290
5291 sem_status
5292 mepcop1_16_sem_cpfaca0s1_b_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5293 {
5294 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5295   sem_status status = SEM_STATUS_NORMAL;
5296   mepcop1_16_scache* abuf = sem;
5297   unsigned long long written = 0;
5298   PCADDR pc = abuf->addr;
5299   PCADDR npc = pc + 4;
5300
5301 {
5302 current_cpu->check_option_cp (pc);
5303   {
5304     SI opval = 0;
5305     if (UNLIKELY(current_cpu->trace_result_p))
5306       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
5307     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
5308   }
5309   {
5310     SI opval = 0;
5311     if (UNLIKELY(current_cpu->trace_result_p))
5312       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
5313     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
5314   }
5315   {
5316     SI opval = 0;
5317     if (UNLIKELY(current_cpu->trace_result_p))
5318       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
5319     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
5320   }
5321   {
5322     SI opval = 0;
5323     if (UNLIKELY(current_cpu->trace_result_p))
5324       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
5325     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
5326   }
5327   {
5328     SI opval = 0;
5329     if (UNLIKELY(current_cpu->trace_result_p))
5330       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
5331     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
5332   }
5333   {
5334     SI opval = 0;
5335     if (UNLIKELY(current_cpu->trace_result_p))
5336       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
5337     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
5338   }
5339   {
5340     SI opval = 0;
5341     if (UNLIKELY(current_cpu->trace_result_p))
5342       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
5343     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
5344   }
5345   {
5346     SI opval = 0;
5347     if (UNLIKELY(current_cpu->trace_result_p))
5348       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
5349     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
5350   }
5351   {
5352     SI opval = 0;
5353     if (UNLIKELY(current_cpu->trace_result_p))
5354       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
5355     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
5356   }
5357 current_cpu->ivc2_cpfaca0s1_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5358 }
5359
5360   current_cpu->done_insn (npc, status);
5361   return status;
5362 #undef FLD
5363 }
5364
5365 // ********** cpfacua0s1_h_P0S: cpfacua0s1.h $crqp,$crpp
5366
5367 sem_status
5368 mepcop1_16_sem_cpfacua0s1_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5369 {
5370 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5371   sem_status status = SEM_STATUS_NORMAL;
5372   mepcop1_16_scache* abuf = sem;
5373   unsigned long long written = 0;
5374   PCADDR pc = abuf->addr;
5375   PCADDR npc = pc + 4;
5376
5377 {
5378 current_cpu->check_option_cp (pc);
5379   {
5380     SI opval = 0;
5381     if (UNLIKELY(current_cpu->trace_result_p))
5382       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 20) << ']' << ":=0x" << hex << opval << dec << "  ";
5383     current_cpu->h_ccr_ivc2_set (((UINT) 20), opval);
5384   }
5385   {
5386     SI opval = 0;
5387     if (UNLIKELY(current_cpu->trace_result_p))
5388       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 21) << ']' << ":=0x" << hex << opval << dec << "  ";
5389     current_cpu->h_ccr_ivc2_set (((UINT) 21), opval);
5390   }
5391   {
5392     SI opval = 0;
5393     if (UNLIKELY(current_cpu->trace_result_p))
5394       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 22) << ']' << ":=0x" << hex << opval << dec << "  ";
5395     current_cpu->h_ccr_ivc2_set (((UINT) 22), opval);
5396   }
5397   {
5398     SI opval = 0;
5399     if (UNLIKELY(current_cpu->trace_result_p))
5400       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 23) << ']' << ":=0x" << hex << opval << dec << "  ";
5401     current_cpu->h_ccr_ivc2_set (((UINT) 23), opval);
5402   }
5403   {
5404     SI opval = 0;
5405     if (UNLIKELY(current_cpu->trace_result_p))
5406       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
5407     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
5408   }
5409 current_cpu->ivc2_cpfacua0s1_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5410 }
5411
5412   current_cpu->done_insn (npc, status);
5413   return status;
5414 #undef FLD
5415 }
5416
5417 // ********** cpfacla0s1_h_P0S: cpfacla0s1.h $crqp,$crpp
5418
5419 sem_status
5420 mepcop1_16_sem_cpfacla0s1_h_P0S (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5421 {
5422 #define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
5423   sem_status status = SEM_STATUS_NORMAL;
5424   mepcop1_16_scache* abuf = sem;
5425   unsigned long long written = 0;
5426   PCADDR pc = abuf->addr;
5427   PCADDR npc = pc + 4;
5428
5429 {
5430 current_cpu->check_option_cp (pc);
5431   {
5432     SI opval = 0;
5433     if (UNLIKELY(current_cpu->trace_result_p))
5434       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 16) << ']' << ":=0x" << hex << opval << dec << "  ";
5435     current_cpu->h_ccr_ivc2_set (((UINT) 16), opval);
5436   }
5437   {
5438     SI opval = 0;
5439     if (UNLIKELY(current_cpu->trace_result_p))
5440       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 17) << ']' << ":=0x" << hex << opval << dec << "  ";
5441     current_cpu->h_ccr_ivc2_set (((UINT) 17), opval);
5442   }
5443   {
5444     SI opval = 0;
5445     if (UNLIKELY(current_cpu->trace_result_p))
5446       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 18) << ']' << ":=0x" << hex << opval << dec << "  ";
5447     current_cpu->h_ccr_ivc2_set (((UINT) 18), opval);
5448   }
5449   {
5450     SI opval = 0;
5451     if (UNLIKELY(current_cpu->trace_result_p))
5452       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 19) << ']' << ":=0x" << hex << opval << dec << "  ";
5453     current_cpu->h_ccr_ivc2_set (((UINT) 19), opval);
5454   }
5455   {
5456     SI opval = 0;
5457     if (UNLIKELY(current_cpu->trace_result_p))
5458       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 6) << ']' << ":=0x" << hex << opval << dec << "  ";
5459     current_cpu->h_ccr_ivc2_set (((UINT) 6), opval);
5460   }
5461 current_cpu->ivc2_cpfacla0s1_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
5462 }
5463
5464   current_cpu->done_insn (npc, status);
5465   return status;
5466 #undef FLD
5467 }
5468
5469 // ********** cpmovi_b_P0S_P1: cpmovi.b $crqp,$simm8p20
5470
5471 sem_status
5472 mepcop1_16_sem_cpmovi_b_P0S_P1 (mep_ext1_cpu* current_cpu, mepcop1_16_scache* sem)
5473 {
5474 #define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
5475   sem_status status = SEM_STATUS_NORMAL;
5476   mepcop1_16_scache* abuf = sem;
5477   unsigned long long written = 0;
5478   PCADDR pc = abuf->addr;
5479   PCADDR npc = pc + 4;
5480
5481 {
5482 current_cpu->check_option_cp (pc);
5483   {
5484     DI opval = current_cpu->ivc2_cpmovi_b (pc, FLD (f_ivc2_8s20));
5485     if (UNLIKELY(current_cpu->trace_result_p))
5486       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
5487     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
5488   }
5489 }
5490
5491   current_cpu->done_insn (npc, status);
5492   return status;
5493 #undef FLD
5494 }
5495