OSDN Git Service

5922ba543fdd5d73b1778c22ff062fd609453b1a
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / mep / mep-cop1-48-sem.cxx
1 /* Simulator instruction semantics for mepcop1_48.
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_48_sem_x_invalid (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
26 {
27 #define FLD(f) abuf->fields.fmt_empty.f
28   sem_status status = SEM_STATUS_NORMAL;
29   mepcop1_48_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 // ********** cmov-crn-rm-p0: cmov $ivc2crn,$ivc2rm
46
47 sem_status
48 mepcop1_48_sem_cmov_crn_rm_p0 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
49 {
50 #define FLD(f) abuf->fields.sfmt_cmov_crn_rm_p0.f
51   sem_status status = SEM_STATUS_NORMAL;
52   mepcop1_48_scache* abuf = sem;
53   unsigned long long written = 0;
54   PCADDR pc = abuf->addr;
55   PCADDR npc = pc + 4;
56
57   {
58     DI opval = * FLD (i_ivc2rm);
59     if (UNLIKELY(current_cpu->trace_result_p))
60       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_crnx) << ']' << ":=0x" << hex << opval << dec << "  ";
61     current_cpu->h_cr64_set (FLD (f_ivc2_crnx), opval);
62   }
63
64   current_cpu->done_insn (npc, status);
65   return status;
66 #undef FLD
67 }
68
69 // ********** cmov-rn-crm-p0: cmov $ivc2rm,$ivc2crn
70
71 sem_status
72 mepcop1_48_sem_cmov_rn_crm_p0 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
73 {
74 #define FLD(f) abuf->fields.sfmt_cmov_rn_crm_p0.f
75   sem_status status = SEM_STATUS_NORMAL;
76   mepcop1_48_scache* abuf = sem;
77   unsigned long long written = 0;
78   PCADDR pc = abuf->addr;
79   PCADDR npc = pc + 4;
80
81   {
82     SI opval = current_cpu->hardware.h_cr64[FLD (f_ivc2_crnx)];
83     if (UNLIKELY(current_cpu->trace_result_p))
84       current_cpu->trace_stream << "gpr" << '[' << FLD (f_ivc2_crm) << ']' << ":=0x" << hex << opval << dec << "  ";
85     * FLD (i_ivc2rm) = opval;
86   }
87
88   current_cpu->done_insn (npc, status);
89   return status;
90 #undef FLD
91 }
92
93 // ********** cmovc-ccrn-rm-p0: cmovc $ivc2ccrn,$ivc2rm
94
95 sem_status
96 mepcop1_48_sem_cmovc_ccrn_rm_p0 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
97 {
98 #define FLD(f) abuf->fields.sfmt_cmovc_ccrn_rm_p0.f
99   sem_status status = SEM_STATUS_NORMAL;
100   mepcop1_48_scache* abuf = sem;
101   unsigned long long written = 0;
102   PCADDR pc = abuf->addr;
103   PCADDR npc = pc + 4;
104
105   {
106     SI opval = * FLD (i_ivc2rm);
107     if (UNLIKELY(current_cpu->trace_result_p))
108       current_cpu->trace_stream << "ccr-ivc2" << '[' << FLD (f_ivc2_ccrn) << ']' << ":=0x" << hex << opval << dec << "  ";
109     current_cpu->h_ccr_ivc2_set (FLD (f_ivc2_ccrn), opval);
110   }
111
112   current_cpu->done_insn (npc, status);
113   return status;
114 #undef FLD
115 }
116
117 // ********** cmovc-rn-ccrm-p0: cmovc $ivc2rm,$ivc2ccrn
118
119 sem_status
120 mepcop1_48_sem_cmovc_rn_ccrm_p0 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
121 {
122 #define FLD(f) abuf->fields.sfmt_cmovc_rn_ccrm_p0.f
123   sem_status status = SEM_STATUS_NORMAL;
124   mepcop1_48_scache* abuf = sem;
125   unsigned long long written = 0;
126   PCADDR pc = abuf->addr;
127   PCADDR npc = pc + 4;
128
129   {
130     SI opval = current_cpu->h_ccr_ivc2_get (FLD (f_ivc2_ccrn));
131     if (UNLIKELY(current_cpu->trace_result_p))
132       current_cpu->trace_stream << "gpr" << '[' << FLD (f_ivc2_crm) << ']' << ":=0x" << hex << opval << dec << "  ";
133     * FLD (i_ivc2rm) = opval;
134   }
135
136   current_cpu->done_insn (npc, status);
137   return status;
138 #undef FLD
139 }
140
141 // ********** cmovh-crn-rm-p0: cmovh $ivc2crn,$ivc2rm
142
143 sem_status
144 mepcop1_48_sem_cmovh_crn_rm_p0 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
145 {
146 #define FLD(f) abuf->fields.sfmt_cmov_crn_rm_p0.f
147   sem_status status = SEM_STATUS_NORMAL;
148   mepcop1_48_scache* abuf = sem;
149   unsigned long long written = 0;
150   PCADDR pc = abuf->addr;
151   PCADDR npc = pc + 4;
152
153   {
154     DI opval = ORDI (SLLDI (ZEXTSIDI (* FLD (i_ivc2rm)), 32), ANDDI (current_cpu->hardware.h_cr64[FLD (f_ivc2_crnx)], 0xffffffff));
155     if (UNLIKELY(current_cpu->trace_result_p))
156       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_crnx) << ']' << ":=0x" << hex << opval << dec << "  ";
157     current_cpu->h_cr64_set (FLD (f_ivc2_crnx), opval);
158   }
159
160   current_cpu->done_insn (npc, status);
161   return status;
162 #undef FLD
163 }
164
165 // ********** cmovh-rn-crm-p0: cmovh $ivc2rm,$ivc2crn
166
167 sem_status
168 mepcop1_48_sem_cmovh_rn_crm_p0 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
169 {
170 #define FLD(f) abuf->fields.sfmt_cmov_rn_crm_p0.f
171   sem_status status = SEM_STATUS_NORMAL;
172   mepcop1_48_scache* abuf = sem;
173   unsigned long long written = 0;
174   PCADDR pc = abuf->addr;
175   PCADDR npc = pc + 4;
176
177   {
178     SI opval = SRLDI (current_cpu->hardware.h_cr64[FLD (f_ivc2_crnx)], 32);
179     if (UNLIKELY(current_cpu->trace_result_p))
180       current_cpu->trace_stream << "gpr" << '[' << FLD (f_ivc2_crm) << ']' << ":=0x" << hex << opval << dec << "  ";
181     * FLD (i_ivc2rm) = opval;
182   }
183
184   current_cpu->done_insn (npc, status);
185   return status;
186 #undef FLD
187 }
188
189 // ********** c0nop_P0_P0S: c0nop
190
191 sem_status
192 mepcop1_48_sem_c0nop_P0_P0S (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
193 {
194 #define FLD(f) abuf->fields.fmt_empty.f
195   sem_status status = SEM_STATUS_NORMAL;
196   mepcop1_48_scache* abuf = sem;
197   unsigned long long written = 0;
198   PCADDR pc = abuf->addr;
199   PCADDR npc = pc + 4;
200
201 {
202 current_cpu->check_option_cp (pc);
203 current_cpu->ivc2_c0nop (pc);
204 }
205
206   current_cpu->done_insn (npc, status);
207   return status;
208 #undef FLD
209 }
210
211 // ********** cpfsftbi_P0_P1: cpfsftbi $crop,$crqp,$crpp,$imm3p5
212
213 sem_status
214 mepcop1_48_sem_cpfsftbi_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
215 {
216 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
217   sem_status status = SEM_STATUS_NORMAL;
218   mepcop1_48_scache* abuf = sem;
219   unsigned long long written = 0;
220   PCADDR pc = abuf->addr;
221   PCADDR npc = pc + 4;
222
223 {
224 current_cpu->check_option_cp (pc);
225   {
226     DI opval = current_cpu->ivc2_cpfsftbi (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)], FLD (f_ivc2_3u5));
227     if (UNLIKELY(current_cpu->trace_result_p))
228       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
229     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
230   }
231 }
232
233   current_cpu->done_insn (npc, status);
234   return status;
235 #undef FLD
236 }
237
238 // ********** cpacmpeq_b_P0_P1: cpacmpeq.b $crqp,$crpp
239
240 sem_status
241 mepcop1_48_sem_cpacmpeq_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
242 {
243 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
244   sem_status status = SEM_STATUS_NORMAL;
245   mepcop1_48_scache* abuf = sem;
246   unsigned long long written = 0;
247   PCADDR pc = abuf->addr;
248   PCADDR npc = pc + 4;
249
250 {
251 current_cpu->check_option_cp (pc);
252 current_cpu->ivc2_cpacmpeq_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
253 }
254
255   current_cpu->done_insn (npc, status);
256   return status;
257 #undef FLD
258 }
259
260 // ********** cpacmpeq_h_P0_P1: cpacmpeq.h $crqp,$crpp
261
262 sem_status
263 mepcop1_48_sem_cpacmpeq_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
264 {
265 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
266   sem_status status = SEM_STATUS_NORMAL;
267   mepcop1_48_scache* abuf = sem;
268   unsigned long long written = 0;
269   PCADDR pc = abuf->addr;
270   PCADDR npc = pc + 4;
271
272 {
273 current_cpu->check_option_cp (pc);
274 current_cpu->ivc2_cpacmpeq_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
275 }
276
277   current_cpu->done_insn (npc, status);
278   return status;
279 #undef FLD
280 }
281
282 // ********** cpacmpeq_w_P0_P1: cpacmpeq.w $crqp,$crpp
283
284 sem_status
285 mepcop1_48_sem_cpacmpeq_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
286 {
287 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
288   sem_status status = SEM_STATUS_NORMAL;
289   mepcop1_48_scache* abuf = sem;
290   unsigned long long written = 0;
291   PCADDR pc = abuf->addr;
292   PCADDR npc = pc + 4;
293
294 {
295 current_cpu->check_option_cp (pc);
296 current_cpu->ivc2_cpacmpeq_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
297 }
298
299   current_cpu->done_insn (npc, status);
300   return status;
301 #undef FLD
302 }
303
304 // ********** cpacmpne_b_P0_P1: cpacmpne.b $crqp,$crpp
305
306 sem_status
307 mepcop1_48_sem_cpacmpne_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
308 {
309 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
310   sem_status status = SEM_STATUS_NORMAL;
311   mepcop1_48_scache* abuf = sem;
312   unsigned long long written = 0;
313   PCADDR pc = abuf->addr;
314   PCADDR npc = pc + 4;
315
316 {
317 current_cpu->check_option_cp (pc);
318 current_cpu->ivc2_cpacmpne_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
319 }
320
321   current_cpu->done_insn (npc, status);
322   return status;
323 #undef FLD
324 }
325
326 // ********** cpacmpne_h_P0_P1: cpacmpne.h $crqp,$crpp
327
328 sem_status
329 mepcop1_48_sem_cpacmpne_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
330 {
331 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
332   sem_status status = SEM_STATUS_NORMAL;
333   mepcop1_48_scache* abuf = sem;
334   unsigned long long written = 0;
335   PCADDR pc = abuf->addr;
336   PCADDR npc = pc + 4;
337
338 {
339 current_cpu->check_option_cp (pc);
340 current_cpu->ivc2_cpacmpne_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
341 }
342
343   current_cpu->done_insn (npc, status);
344   return status;
345 #undef FLD
346 }
347
348 // ********** cpacmpne_w_P0_P1: cpacmpne.w $crqp,$crpp
349
350 sem_status
351 mepcop1_48_sem_cpacmpne_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
352 {
353 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
354   sem_status status = SEM_STATUS_NORMAL;
355   mepcop1_48_scache* abuf = sem;
356   unsigned long long written = 0;
357   PCADDR pc = abuf->addr;
358   PCADDR npc = pc + 4;
359
360 {
361 current_cpu->check_option_cp (pc);
362 current_cpu->ivc2_cpacmpne_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
363 }
364
365   current_cpu->done_insn (npc, status);
366   return status;
367 #undef FLD
368 }
369
370 // ********** cpacmpgtu_b_P0_P1: cpacmpgtu.b $crqp,$crpp
371
372 sem_status
373 mepcop1_48_sem_cpacmpgtu_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
374 {
375 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
376   sem_status status = SEM_STATUS_NORMAL;
377   mepcop1_48_scache* abuf = sem;
378   unsigned long long written = 0;
379   PCADDR pc = abuf->addr;
380   PCADDR npc = pc + 4;
381
382 {
383 current_cpu->check_option_cp (pc);
384 current_cpu->ivc2_cpacmpgtu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
385 }
386
387   current_cpu->done_insn (npc, status);
388   return status;
389 #undef FLD
390 }
391
392 // ********** cpacmpgt_b_P0_P1: cpacmpgt.b $crqp,$crpp
393
394 sem_status
395 mepcop1_48_sem_cpacmpgt_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
396 {
397 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
398   sem_status status = SEM_STATUS_NORMAL;
399   mepcop1_48_scache* abuf = sem;
400   unsigned long long written = 0;
401   PCADDR pc = abuf->addr;
402   PCADDR npc = pc + 4;
403
404 {
405 current_cpu->check_option_cp (pc);
406 current_cpu->ivc2_cpacmpgt_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
407 }
408
409   current_cpu->done_insn (npc, status);
410   return status;
411 #undef FLD
412 }
413
414 // ********** cpacmpgt_h_P0_P1: cpacmpgt.h $crqp,$crpp
415
416 sem_status
417 mepcop1_48_sem_cpacmpgt_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
418 {
419 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
420   sem_status status = SEM_STATUS_NORMAL;
421   mepcop1_48_scache* abuf = sem;
422   unsigned long long written = 0;
423   PCADDR pc = abuf->addr;
424   PCADDR npc = pc + 4;
425
426 {
427 current_cpu->check_option_cp (pc);
428 current_cpu->ivc2_cpacmpgt_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
429 }
430
431   current_cpu->done_insn (npc, status);
432   return status;
433 #undef FLD
434 }
435
436 // ********** cpacmpgtu_w_P0_P1: cpacmpgtu.w $crqp,$crpp
437
438 sem_status
439 mepcop1_48_sem_cpacmpgtu_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
440 {
441 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
442   sem_status status = SEM_STATUS_NORMAL;
443   mepcop1_48_scache* abuf = sem;
444   unsigned long long written = 0;
445   PCADDR pc = abuf->addr;
446   PCADDR npc = pc + 4;
447
448 {
449 current_cpu->check_option_cp (pc);
450 current_cpu->ivc2_cpacmpgtu_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
451 }
452
453   current_cpu->done_insn (npc, status);
454   return status;
455 #undef FLD
456 }
457
458 // ********** cpacmpgt_w_P0_P1: cpacmpgt.w $crqp,$crpp
459
460 sem_status
461 mepcop1_48_sem_cpacmpgt_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
462 {
463 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
464   sem_status status = SEM_STATUS_NORMAL;
465   mepcop1_48_scache* abuf = sem;
466   unsigned long long written = 0;
467   PCADDR pc = abuf->addr;
468   PCADDR npc = pc + 4;
469
470 {
471 current_cpu->check_option_cp (pc);
472 current_cpu->ivc2_cpacmpgt_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
473 }
474
475   current_cpu->done_insn (npc, status);
476   return status;
477 #undef FLD
478 }
479
480 // ********** cpacmpgeu_b_P0_P1: cpacmpgeu.b $crqp,$crpp
481
482 sem_status
483 mepcop1_48_sem_cpacmpgeu_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
484 {
485 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
486   sem_status status = SEM_STATUS_NORMAL;
487   mepcop1_48_scache* abuf = sem;
488   unsigned long long written = 0;
489   PCADDR pc = abuf->addr;
490   PCADDR npc = pc + 4;
491
492 {
493 current_cpu->check_option_cp (pc);
494 current_cpu->ivc2_cpacmpgeu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
495 }
496
497   current_cpu->done_insn (npc, status);
498   return status;
499 #undef FLD
500 }
501
502 // ********** cpacmpge_b_P0_P1: cpacmpge.b $crqp,$crpp
503
504 sem_status
505 mepcop1_48_sem_cpacmpge_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
506 {
507 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
508   sem_status status = SEM_STATUS_NORMAL;
509   mepcop1_48_scache* abuf = sem;
510   unsigned long long written = 0;
511   PCADDR pc = abuf->addr;
512   PCADDR npc = pc + 4;
513
514 {
515 current_cpu->check_option_cp (pc);
516 current_cpu->ivc2_cpacmpge_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
517 }
518
519   current_cpu->done_insn (npc, status);
520   return status;
521 #undef FLD
522 }
523
524 // ********** cpacmpge_h_P0_P1: cpacmpge.h $crqp,$crpp
525
526 sem_status
527 mepcop1_48_sem_cpacmpge_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
528 {
529 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
530   sem_status status = SEM_STATUS_NORMAL;
531   mepcop1_48_scache* abuf = sem;
532   unsigned long long written = 0;
533   PCADDR pc = abuf->addr;
534   PCADDR npc = pc + 4;
535
536 {
537 current_cpu->check_option_cp (pc);
538 current_cpu->ivc2_cpacmpge_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
539 }
540
541   current_cpu->done_insn (npc, status);
542   return status;
543 #undef FLD
544 }
545
546 // ********** cpacmpgeu_w_P0_P1: cpacmpgeu.w $crqp,$crpp
547
548 sem_status
549 mepcop1_48_sem_cpacmpgeu_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
550 {
551 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
552   sem_status status = SEM_STATUS_NORMAL;
553   mepcop1_48_scache* abuf = sem;
554   unsigned long long written = 0;
555   PCADDR pc = abuf->addr;
556   PCADDR npc = pc + 4;
557
558 {
559 current_cpu->check_option_cp (pc);
560 current_cpu->ivc2_cpacmpgeu_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
561 }
562
563   current_cpu->done_insn (npc, status);
564   return status;
565 #undef FLD
566 }
567
568 // ********** cpacmpge_w_P0_P1: cpacmpge.w $crqp,$crpp
569
570 sem_status
571 mepcop1_48_sem_cpacmpge_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
572 {
573 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
574   sem_status status = SEM_STATUS_NORMAL;
575   mepcop1_48_scache* abuf = sem;
576   unsigned long long written = 0;
577   PCADDR pc = abuf->addr;
578   PCADDR npc = pc + 4;
579
580 {
581 current_cpu->check_option_cp (pc);
582 current_cpu->ivc2_cpacmpge_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
583 }
584
585   current_cpu->done_insn (npc, status);
586   return status;
587 #undef FLD
588 }
589
590 // ********** cpocmpeq_b_P0_P1: cpocmpeq.b $crqp,$crpp
591
592 sem_status
593 mepcop1_48_sem_cpocmpeq_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
594 {
595 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
596   sem_status status = SEM_STATUS_NORMAL;
597   mepcop1_48_scache* abuf = sem;
598   unsigned long long written = 0;
599   PCADDR pc = abuf->addr;
600   PCADDR npc = pc + 4;
601
602 {
603 current_cpu->check_option_cp (pc);
604 current_cpu->ivc2_cpocmpeq_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
605 }
606
607   current_cpu->done_insn (npc, status);
608   return status;
609 #undef FLD
610 }
611
612 // ********** cpocmpeq_h_P0_P1: cpocmpeq.h $crqp,$crpp
613
614 sem_status
615 mepcop1_48_sem_cpocmpeq_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
616 {
617 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
618   sem_status status = SEM_STATUS_NORMAL;
619   mepcop1_48_scache* abuf = sem;
620   unsigned long long written = 0;
621   PCADDR pc = abuf->addr;
622   PCADDR npc = pc + 4;
623
624 {
625 current_cpu->check_option_cp (pc);
626 current_cpu->ivc2_cpocmpeq_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
627 }
628
629   current_cpu->done_insn (npc, status);
630   return status;
631 #undef FLD
632 }
633
634 // ********** cpocmpeq_w_P0_P1: cpocmpeq.w $crqp,$crpp
635
636 sem_status
637 mepcop1_48_sem_cpocmpeq_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
638 {
639 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
640   sem_status status = SEM_STATUS_NORMAL;
641   mepcop1_48_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 current_cpu->ivc2_cpocmpeq_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
649 }
650
651   current_cpu->done_insn (npc, status);
652   return status;
653 #undef FLD
654 }
655
656 // ********** cpocmpne_b_P0_P1: cpocmpne.b $crqp,$crpp
657
658 sem_status
659 mepcop1_48_sem_cpocmpne_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
660 {
661 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
662   sem_status status = SEM_STATUS_NORMAL;
663   mepcop1_48_scache* abuf = sem;
664   unsigned long long written = 0;
665   PCADDR pc = abuf->addr;
666   PCADDR npc = pc + 4;
667
668 {
669 current_cpu->check_option_cp (pc);
670 current_cpu->ivc2_cpocmpne_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
671 }
672
673   current_cpu->done_insn (npc, status);
674   return status;
675 #undef FLD
676 }
677
678 // ********** cpocmpne_h_P0_P1: cpocmpne.h $crqp,$crpp
679
680 sem_status
681 mepcop1_48_sem_cpocmpne_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
682 {
683 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
684   sem_status status = SEM_STATUS_NORMAL;
685   mepcop1_48_scache* abuf = sem;
686   unsigned long long written = 0;
687   PCADDR pc = abuf->addr;
688   PCADDR npc = pc + 4;
689
690 {
691 current_cpu->check_option_cp (pc);
692 current_cpu->ivc2_cpocmpne_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
693 }
694
695   current_cpu->done_insn (npc, status);
696   return status;
697 #undef FLD
698 }
699
700 // ********** cpocmpne_w_P0_P1: cpocmpne.w $crqp,$crpp
701
702 sem_status
703 mepcop1_48_sem_cpocmpne_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
704 {
705 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
706   sem_status status = SEM_STATUS_NORMAL;
707   mepcop1_48_scache* abuf = sem;
708   unsigned long long written = 0;
709   PCADDR pc = abuf->addr;
710   PCADDR npc = pc + 4;
711
712 {
713 current_cpu->check_option_cp (pc);
714 current_cpu->ivc2_cpocmpne_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
715 }
716
717   current_cpu->done_insn (npc, status);
718   return status;
719 #undef FLD
720 }
721
722 // ********** cpocmpgtu_b_P0_P1: cpocmpgtu.b $crqp,$crpp
723
724 sem_status
725 mepcop1_48_sem_cpocmpgtu_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
726 {
727 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
728   sem_status status = SEM_STATUS_NORMAL;
729   mepcop1_48_scache* abuf = sem;
730   unsigned long long written = 0;
731   PCADDR pc = abuf->addr;
732   PCADDR npc = pc + 4;
733
734 {
735 current_cpu->check_option_cp (pc);
736 current_cpu->ivc2_cpocmpgtu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
737 }
738
739   current_cpu->done_insn (npc, status);
740   return status;
741 #undef FLD
742 }
743
744 // ********** cpocmpgt_b_P0_P1: cpocmpgt.b $crqp,$crpp
745
746 sem_status
747 mepcop1_48_sem_cpocmpgt_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
748 {
749 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
750   sem_status status = SEM_STATUS_NORMAL;
751   mepcop1_48_scache* abuf = sem;
752   unsigned long long written = 0;
753   PCADDR pc = abuf->addr;
754   PCADDR npc = pc + 4;
755
756 {
757 current_cpu->check_option_cp (pc);
758 current_cpu->ivc2_cpocmpgt_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
759 }
760
761   current_cpu->done_insn (npc, status);
762   return status;
763 #undef FLD
764 }
765
766 // ********** cpocmpgt_h_P0_P1: cpocmpgt.h $crqp,$crpp
767
768 sem_status
769 mepcop1_48_sem_cpocmpgt_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
770 {
771 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
772   sem_status status = SEM_STATUS_NORMAL;
773   mepcop1_48_scache* abuf = sem;
774   unsigned long long written = 0;
775   PCADDR pc = abuf->addr;
776   PCADDR npc = pc + 4;
777
778 {
779 current_cpu->check_option_cp (pc);
780 current_cpu->ivc2_cpocmpgt_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
781 }
782
783   current_cpu->done_insn (npc, status);
784   return status;
785 #undef FLD
786 }
787
788 // ********** cpocmpgtu_w_P0_P1: cpocmpgtu.w $crqp,$crpp
789
790 sem_status
791 mepcop1_48_sem_cpocmpgtu_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
792 {
793 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
794   sem_status status = SEM_STATUS_NORMAL;
795   mepcop1_48_scache* abuf = sem;
796   unsigned long long written = 0;
797   PCADDR pc = abuf->addr;
798   PCADDR npc = pc + 4;
799
800 {
801 current_cpu->check_option_cp (pc);
802 current_cpu->ivc2_cpocmpgtu_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
803 }
804
805   current_cpu->done_insn (npc, status);
806   return status;
807 #undef FLD
808 }
809
810 // ********** cpocmpgt_w_P0_P1: cpocmpgt.w $crqp,$crpp
811
812 sem_status
813 mepcop1_48_sem_cpocmpgt_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
814 {
815 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
816   sem_status status = SEM_STATUS_NORMAL;
817   mepcop1_48_scache* abuf = sem;
818   unsigned long long written = 0;
819   PCADDR pc = abuf->addr;
820   PCADDR npc = pc + 4;
821
822 {
823 current_cpu->check_option_cp (pc);
824 current_cpu->ivc2_cpocmpgt_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
825 }
826
827   current_cpu->done_insn (npc, status);
828   return status;
829 #undef FLD
830 }
831
832 // ********** cpocmpgeu_b_P0_P1: cpocmpgeu.b $crqp,$crpp
833
834 sem_status
835 mepcop1_48_sem_cpocmpgeu_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
836 {
837 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
838   sem_status status = SEM_STATUS_NORMAL;
839   mepcop1_48_scache* abuf = sem;
840   unsigned long long written = 0;
841   PCADDR pc = abuf->addr;
842   PCADDR npc = pc + 4;
843
844 {
845 current_cpu->check_option_cp (pc);
846 current_cpu->ivc2_cpocmpgeu_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
847 }
848
849   current_cpu->done_insn (npc, status);
850   return status;
851 #undef FLD
852 }
853
854 // ********** cpocmpge_b_P0_P1: cpocmpge.b $crqp,$crpp
855
856 sem_status
857 mepcop1_48_sem_cpocmpge_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
858 {
859 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
860   sem_status status = SEM_STATUS_NORMAL;
861   mepcop1_48_scache* abuf = sem;
862   unsigned long long written = 0;
863   PCADDR pc = abuf->addr;
864   PCADDR npc = pc + 4;
865
866 {
867 current_cpu->check_option_cp (pc);
868 current_cpu->ivc2_cpocmpge_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
869 }
870
871   current_cpu->done_insn (npc, status);
872   return status;
873 #undef FLD
874 }
875
876 // ********** cpocmpge_h_P0_P1: cpocmpge.h $crqp,$crpp
877
878 sem_status
879 mepcop1_48_sem_cpocmpge_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
880 {
881 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
882   sem_status status = SEM_STATUS_NORMAL;
883   mepcop1_48_scache* abuf = sem;
884   unsigned long long written = 0;
885   PCADDR pc = abuf->addr;
886   PCADDR npc = pc + 4;
887
888 {
889 current_cpu->check_option_cp (pc);
890 current_cpu->ivc2_cpocmpge_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
891 }
892
893   current_cpu->done_insn (npc, status);
894   return status;
895 #undef FLD
896 }
897
898 // ********** cpocmpgeu_w_P0_P1: cpocmpgeu.w $crqp,$crpp
899
900 sem_status
901 mepcop1_48_sem_cpocmpgeu_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
902 {
903 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
904   sem_status status = SEM_STATUS_NORMAL;
905   mepcop1_48_scache* abuf = sem;
906   unsigned long long written = 0;
907   PCADDR pc = abuf->addr;
908   PCADDR npc = pc + 4;
909
910 {
911 current_cpu->check_option_cp (pc);
912 current_cpu->ivc2_cpocmpgeu_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
913 }
914
915   current_cpu->done_insn (npc, status);
916   return status;
917 #undef FLD
918 }
919
920 // ********** cpocmpge_w_P0_P1: cpocmpge.w $crqp,$crpp
921
922 sem_status
923 mepcop1_48_sem_cpocmpge_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
924 {
925 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
926   sem_status status = SEM_STATUS_NORMAL;
927   mepcop1_48_scache* abuf = sem;
928   unsigned long long written = 0;
929   PCADDR pc = abuf->addr;
930   PCADDR npc = pc + 4;
931
932 {
933 current_cpu->check_option_cp (pc);
934 current_cpu->ivc2_cpocmpge_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
935 }
936
937   current_cpu->done_insn (npc, status);
938   return status;
939 #undef FLD
940 }
941
942 // ********** cdadd3_P0_P1: cdadd3 $crop,$crqp,$crpp
943
944 sem_status
945 mepcop1_48_sem_cdadd3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
946 {
947 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
948   sem_status status = SEM_STATUS_NORMAL;
949   mepcop1_48_scache* abuf = sem;
950   unsigned long long written = 0;
951   PCADDR pc = abuf->addr;
952   PCADDR npc = pc + 4;
953
954 {
955 current_cpu->check_option_cp (pc);
956   {
957     DI opval = current_cpu->ivc2_cdadd3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
958     if (UNLIKELY(current_cpu->trace_result_p))
959       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
960     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
961   }
962 }
963
964   current_cpu->done_insn (npc, status);
965   return status;
966 #undef FLD
967 }
968
969 // ********** cpsub3_b_P0_P1: cpsub3.b $crop,$crqp,$crpp
970
971 sem_status
972 mepcop1_48_sem_cpsub3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
973 {
974 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
975   sem_status status = SEM_STATUS_NORMAL;
976   mepcop1_48_scache* abuf = sem;
977   unsigned long long written = 0;
978   PCADDR pc = abuf->addr;
979   PCADDR npc = pc + 4;
980
981 {
982 current_cpu->check_option_cp (pc);
983   {
984     DI opval = current_cpu->ivc2_cpsub3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
985     if (UNLIKELY(current_cpu->trace_result_p))
986       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
987     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
988   }
989 }
990
991   current_cpu->done_insn (npc, status);
992   return status;
993 #undef FLD
994 }
995
996 // ********** cpsub3_h_P0_P1: cpsub3.h $crop,$crqp,$crpp
997
998 sem_status
999 mepcop1_48_sem_cpsub3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1000 {
1001 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1002   sem_status status = SEM_STATUS_NORMAL;
1003   mepcop1_48_scache* abuf = sem;
1004   unsigned long long written = 0;
1005   PCADDR pc = abuf->addr;
1006   PCADDR npc = pc + 4;
1007
1008 {
1009 current_cpu->check_option_cp (pc);
1010   {
1011     DI opval = current_cpu->ivc2_cpsub3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1012     if (UNLIKELY(current_cpu->trace_result_p))
1013       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1014     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1015   }
1016 }
1017
1018   current_cpu->done_insn (npc, status);
1019   return status;
1020 #undef FLD
1021 }
1022
1023 // ********** cpsub3_w_P0_P1: cpsub3.w $crop,$crqp,$crpp
1024
1025 sem_status
1026 mepcop1_48_sem_cpsub3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1027 {
1028 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1029   sem_status status = SEM_STATUS_NORMAL;
1030   mepcop1_48_scache* abuf = sem;
1031   unsigned long long written = 0;
1032   PCADDR pc = abuf->addr;
1033   PCADDR npc = pc + 4;
1034
1035 {
1036 current_cpu->check_option_cp (pc);
1037   {
1038     DI opval = current_cpu->ivc2_cpsub3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1039     if (UNLIKELY(current_cpu->trace_result_p))
1040       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1041     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1042   }
1043 }
1044
1045   current_cpu->done_insn (npc, status);
1046   return status;
1047 #undef FLD
1048 }
1049
1050 // ********** cdsub3_P0_P1: cdsub3 $crop,$crqp,$crpp
1051
1052 sem_status
1053 mepcop1_48_sem_cdsub3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1054 {
1055 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1056   sem_status status = SEM_STATUS_NORMAL;
1057   mepcop1_48_scache* abuf = sem;
1058   unsigned long long written = 0;
1059   PCADDR pc = abuf->addr;
1060   PCADDR npc = pc + 4;
1061
1062 {
1063 current_cpu->check_option_cp (pc);
1064   {
1065     DI opval = current_cpu->ivc2_cdsub3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1066     if (UNLIKELY(current_cpu->trace_result_p))
1067       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1068     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1069   }
1070 }
1071
1072   current_cpu->done_insn (npc, status);
1073   return status;
1074 #undef FLD
1075 }
1076
1077 // ********** cpsadd3_h_P0_P1: cpsadd3.h $crop,$crqp,$crpp
1078
1079 sem_status
1080 mepcop1_48_sem_cpsadd3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1081 {
1082 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1083   sem_status status = SEM_STATUS_NORMAL;
1084   mepcop1_48_scache* abuf = sem;
1085   unsigned long long written = 0;
1086   PCADDR pc = abuf->addr;
1087   PCADDR npc = pc + 4;
1088
1089 {
1090 current_cpu->check_option_cp (pc);
1091   {
1092     DI opval = current_cpu->ivc2_cpsadd3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1093     if (UNLIKELY(current_cpu->trace_result_p))
1094       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1095     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1096   }
1097 }
1098
1099   current_cpu->done_insn (npc, status);
1100   return status;
1101 #undef FLD
1102 }
1103
1104 // ********** cpsadd3_w_P0_P1: cpsadd3.w $crop,$crqp,$crpp
1105
1106 sem_status
1107 mepcop1_48_sem_cpsadd3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1108 {
1109 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1110   sem_status status = SEM_STATUS_NORMAL;
1111   mepcop1_48_scache* abuf = sem;
1112   unsigned long long written = 0;
1113   PCADDR pc = abuf->addr;
1114   PCADDR npc = pc + 4;
1115
1116 {
1117 current_cpu->check_option_cp (pc);
1118   {
1119     DI opval = current_cpu->ivc2_cpsadd3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1120     if (UNLIKELY(current_cpu->trace_result_p))
1121       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1122     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1123   }
1124 }
1125
1126   current_cpu->done_insn (npc, status);
1127   return status;
1128 #undef FLD
1129 }
1130
1131 // ********** cpssub3_h_P0_P1: cpssub3.h $crop,$crqp,$crpp
1132
1133 sem_status
1134 mepcop1_48_sem_cpssub3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1135 {
1136 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1137   sem_status status = SEM_STATUS_NORMAL;
1138   mepcop1_48_scache* abuf = sem;
1139   unsigned long long written = 0;
1140   PCADDR pc = abuf->addr;
1141   PCADDR npc = pc + 4;
1142
1143 {
1144 current_cpu->check_option_cp (pc);
1145   {
1146     SI opval = 0;
1147     if (UNLIKELY(current_cpu->trace_result_p))
1148       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << "  ";
1149     current_cpu->h_ccr_ivc2_set (((UINT) 4), opval);
1150   }
1151   {
1152     DI opval = current_cpu->ivc2_cpssub3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1153     if (UNLIKELY(current_cpu->trace_result_p))
1154       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1155     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1156   }
1157 }
1158
1159   current_cpu->done_insn (npc, status);
1160   return status;
1161 #undef FLD
1162 }
1163
1164 // ********** cpssub3_w_P0_P1: cpssub3.w $crop,$crqp,$crpp
1165
1166 sem_status
1167 mepcop1_48_sem_cpssub3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1168 {
1169 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1170   sem_status status = SEM_STATUS_NORMAL;
1171   mepcop1_48_scache* abuf = sem;
1172   unsigned long long written = 0;
1173   PCADDR pc = abuf->addr;
1174   PCADDR npc = pc + 4;
1175
1176 {
1177 current_cpu->check_option_cp (pc);
1178   {
1179     SI opval = 0;
1180     if (UNLIKELY(current_cpu->trace_result_p))
1181       current_cpu->trace_stream << "ccr-ivc2" << '[' << ((UINT) 4) << ']' << ":=0x" << hex << opval << dec << "  ";
1182     current_cpu->h_ccr_ivc2_set (((UINT) 4), opval);
1183   }
1184   {
1185     DI opval = current_cpu->ivc2_cpssub3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1186     if (UNLIKELY(current_cpu->trace_result_p))
1187       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1188     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1189   }
1190 }
1191
1192   current_cpu->done_insn (npc, status);
1193   return status;
1194 #undef FLD
1195 }
1196
1197 // ********** cpextuaddu3_b_P0_P1: cpextuaddu3.b $crop,$crqp,$crpp
1198
1199 sem_status
1200 mepcop1_48_sem_cpextuaddu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1201 {
1202 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1203   sem_status status = SEM_STATUS_NORMAL;
1204   mepcop1_48_scache* abuf = sem;
1205   unsigned long long written = 0;
1206   PCADDR pc = abuf->addr;
1207   PCADDR npc = pc + 4;
1208
1209 {
1210 current_cpu->check_option_cp (pc);
1211   {
1212     DI opval = current_cpu->ivc2_cpextuaddu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1213     if (UNLIKELY(current_cpu->trace_result_p))
1214       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1215     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1216   }
1217 }
1218
1219   current_cpu->done_insn (npc, status);
1220   return status;
1221 #undef FLD
1222 }
1223
1224 // ********** cpextuadd3_b_P0_P1: cpextuadd3.b $crop,$crqp,$crpp
1225
1226 sem_status
1227 mepcop1_48_sem_cpextuadd3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1228 {
1229 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1230   sem_status status = SEM_STATUS_NORMAL;
1231   mepcop1_48_scache* abuf = sem;
1232   unsigned long long written = 0;
1233   PCADDR pc = abuf->addr;
1234   PCADDR npc = pc + 4;
1235
1236 {
1237 current_cpu->check_option_cp (pc);
1238   {
1239     DI opval = current_cpu->ivc2_cpextuadd3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1240     if (UNLIKELY(current_cpu->trace_result_p))
1241       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1242     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1243   }
1244 }
1245
1246   current_cpu->done_insn (npc, status);
1247   return status;
1248 #undef FLD
1249 }
1250
1251 // ********** cpextladdu3_b_P0_P1: cpextladdu3.b $crop,$crqp,$crpp
1252
1253 sem_status
1254 mepcop1_48_sem_cpextladdu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1255 {
1256 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1257   sem_status status = SEM_STATUS_NORMAL;
1258   mepcop1_48_scache* abuf = sem;
1259   unsigned long long written = 0;
1260   PCADDR pc = abuf->addr;
1261   PCADDR npc = pc + 4;
1262
1263 {
1264 current_cpu->check_option_cp (pc);
1265   {
1266     DI opval = current_cpu->ivc2_cpextladdu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1267     if (UNLIKELY(current_cpu->trace_result_p))
1268       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1269     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1270   }
1271 }
1272
1273   current_cpu->done_insn (npc, status);
1274   return status;
1275 #undef FLD
1276 }
1277
1278 // ********** cpextladd3_b_P0_P1: cpextladd3.b $crop,$crqp,$crpp
1279
1280 sem_status
1281 mepcop1_48_sem_cpextladd3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1282 {
1283 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1284   sem_status status = SEM_STATUS_NORMAL;
1285   mepcop1_48_scache* abuf = sem;
1286   unsigned long long written = 0;
1287   PCADDR pc = abuf->addr;
1288   PCADDR npc = pc + 4;
1289
1290 {
1291 current_cpu->check_option_cp (pc);
1292   {
1293     DI opval = current_cpu->ivc2_cpextladd3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1294     if (UNLIKELY(current_cpu->trace_result_p))
1295       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1296     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1297   }
1298 }
1299
1300   current_cpu->done_insn (npc, status);
1301   return status;
1302 #undef FLD
1303 }
1304
1305 // ********** cpextusubu3_b_P0_P1: cpextusubu3.b $crop,$crqp,$crpp
1306
1307 sem_status
1308 mepcop1_48_sem_cpextusubu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1309 {
1310 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1311   sem_status status = SEM_STATUS_NORMAL;
1312   mepcop1_48_scache* abuf = sem;
1313   unsigned long long written = 0;
1314   PCADDR pc = abuf->addr;
1315   PCADDR npc = pc + 4;
1316
1317 {
1318 current_cpu->check_option_cp (pc);
1319   {
1320     DI opval = current_cpu->ivc2_cpextusubu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1321     if (UNLIKELY(current_cpu->trace_result_p))
1322       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1323     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1324   }
1325 }
1326
1327   current_cpu->done_insn (npc, status);
1328   return status;
1329 #undef FLD
1330 }
1331
1332 // ********** cpextusub3_b_P0_P1: cpextusub3.b $crop,$crqp,$crpp
1333
1334 sem_status
1335 mepcop1_48_sem_cpextusub3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1336 {
1337 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1338   sem_status status = SEM_STATUS_NORMAL;
1339   mepcop1_48_scache* abuf = sem;
1340   unsigned long long written = 0;
1341   PCADDR pc = abuf->addr;
1342   PCADDR npc = pc + 4;
1343
1344 {
1345 current_cpu->check_option_cp (pc);
1346   {
1347     DI opval = current_cpu->ivc2_cpextusub3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1348     if (UNLIKELY(current_cpu->trace_result_p))
1349       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1350     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1351   }
1352 }
1353
1354   current_cpu->done_insn (npc, status);
1355   return status;
1356 #undef FLD
1357 }
1358
1359 // ********** cpextlsubu3_b_P0_P1: cpextlsubu3.b $crop,$crqp,$crpp
1360
1361 sem_status
1362 mepcop1_48_sem_cpextlsubu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1363 {
1364 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1365   sem_status status = SEM_STATUS_NORMAL;
1366   mepcop1_48_scache* abuf = sem;
1367   unsigned long long written = 0;
1368   PCADDR pc = abuf->addr;
1369   PCADDR npc = pc + 4;
1370
1371 {
1372 current_cpu->check_option_cp (pc);
1373   {
1374     DI opval = current_cpu->ivc2_cpextlsubu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1375     if (UNLIKELY(current_cpu->trace_result_p))
1376       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1377     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1378   }
1379 }
1380
1381   current_cpu->done_insn (npc, status);
1382   return status;
1383 #undef FLD
1384 }
1385
1386 // ********** cpextlsub3_b_P0_P1: cpextlsub3.b $crop,$crqp,$crpp
1387
1388 sem_status
1389 mepcop1_48_sem_cpextlsub3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1390 {
1391 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1392   sem_status status = SEM_STATUS_NORMAL;
1393   mepcop1_48_scache* abuf = sem;
1394   unsigned long long written = 0;
1395   PCADDR pc = abuf->addr;
1396   PCADDR npc = pc + 4;
1397
1398 {
1399 current_cpu->check_option_cp (pc);
1400   {
1401     DI opval = current_cpu->ivc2_cpextlsub3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1402     if (UNLIKELY(current_cpu->trace_result_p))
1403       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1404     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1405   }
1406 }
1407
1408   current_cpu->done_insn (npc, status);
1409   return status;
1410 #undef FLD
1411 }
1412
1413 // ********** cpaveu3_b_P0_P1: cpaveu3.b $crop,$crqp,$crpp
1414
1415 sem_status
1416 mepcop1_48_sem_cpaveu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1417 {
1418 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1419   sem_status status = SEM_STATUS_NORMAL;
1420   mepcop1_48_scache* abuf = sem;
1421   unsigned long long written = 0;
1422   PCADDR pc = abuf->addr;
1423   PCADDR npc = pc + 4;
1424
1425 {
1426 current_cpu->check_option_cp (pc);
1427   {
1428     DI opval = current_cpu->ivc2_cpaveu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1429     if (UNLIKELY(current_cpu->trace_result_p))
1430       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1431     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1432   }
1433 }
1434
1435   current_cpu->done_insn (npc, status);
1436   return status;
1437 #undef FLD
1438 }
1439
1440 // ********** cpave3_b_P0_P1: cpave3.b $crop,$crqp,$crpp
1441
1442 sem_status
1443 mepcop1_48_sem_cpave3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1444 {
1445 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1446   sem_status status = SEM_STATUS_NORMAL;
1447   mepcop1_48_scache* abuf = sem;
1448   unsigned long long written = 0;
1449   PCADDR pc = abuf->addr;
1450   PCADDR npc = pc + 4;
1451
1452 {
1453 current_cpu->check_option_cp (pc);
1454   {
1455     DI opval = current_cpu->ivc2_cpave3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1456     if (UNLIKELY(current_cpu->trace_result_p))
1457       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1458     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1459   }
1460 }
1461
1462   current_cpu->done_insn (npc, status);
1463   return status;
1464 #undef FLD
1465 }
1466
1467 // ********** cpave3_h_P0_P1: cpave3.h $crop,$crqp,$crpp
1468
1469 sem_status
1470 mepcop1_48_sem_cpave3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1471 {
1472 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1473   sem_status status = SEM_STATUS_NORMAL;
1474   mepcop1_48_scache* abuf = sem;
1475   unsigned long long written = 0;
1476   PCADDR pc = abuf->addr;
1477   PCADDR npc = pc + 4;
1478
1479 {
1480 current_cpu->check_option_cp (pc);
1481   {
1482     DI opval = current_cpu->ivc2_cpave3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1483     if (UNLIKELY(current_cpu->trace_result_p))
1484       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1485     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1486   }
1487 }
1488
1489   current_cpu->done_insn (npc, status);
1490   return status;
1491 #undef FLD
1492 }
1493
1494 // ********** cpave3_w_P0_P1: cpave3.w $crop,$crqp,$crpp
1495
1496 sem_status
1497 mepcop1_48_sem_cpave3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1498 {
1499 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1500   sem_status status = SEM_STATUS_NORMAL;
1501   mepcop1_48_scache* abuf = sem;
1502   unsigned long long written = 0;
1503   PCADDR pc = abuf->addr;
1504   PCADDR npc = pc + 4;
1505
1506 {
1507 current_cpu->check_option_cp (pc);
1508   {
1509     DI opval = current_cpu->ivc2_cpave3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1510     if (UNLIKELY(current_cpu->trace_result_p))
1511       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1512     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1513   }
1514 }
1515
1516   current_cpu->done_insn (npc, status);
1517   return status;
1518 #undef FLD
1519 }
1520
1521 // ********** cpaddsru3_b_P0_P1: cpaddsru3.b $crop,$crqp,$crpp
1522
1523 sem_status
1524 mepcop1_48_sem_cpaddsru3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1525 {
1526 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1527   sem_status status = SEM_STATUS_NORMAL;
1528   mepcop1_48_scache* abuf = sem;
1529   unsigned long long written = 0;
1530   PCADDR pc = abuf->addr;
1531   PCADDR npc = pc + 4;
1532
1533 {
1534 current_cpu->check_option_cp (pc);
1535   {
1536     DI opval = current_cpu->ivc2_cpaddsru3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1537     if (UNLIKELY(current_cpu->trace_result_p))
1538       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1539     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1540   }
1541 }
1542
1543   current_cpu->done_insn (npc, status);
1544   return status;
1545 #undef FLD
1546 }
1547
1548 // ********** cpaddsr3_b_P0_P1: cpaddsr3.b $crop,$crqp,$crpp
1549
1550 sem_status
1551 mepcop1_48_sem_cpaddsr3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1552 {
1553 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1554   sem_status status = SEM_STATUS_NORMAL;
1555   mepcop1_48_scache* abuf = sem;
1556   unsigned long long written = 0;
1557   PCADDR pc = abuf->addr;
1558   PCADDR npc = pc + 4;
1559
1560 {
1561 current_cpu->check_option_cp (pc);
1562   {
1563     DI opval = current_cpu->ivc2_cpaddsr3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1564     if (UNLIKELY(current_cpu->trace_result_p))
1565       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1566     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1567   }
1568 }
1569
1570   current_cpu->done_insn (npc, status);
1571   return status;
1572 #undef FLD
1573 }
1574
1575 // ********** cpaddsr3_h_P0_P1: cpaddsr3.h $crop,$crqp,$crpp
1576
1577 sem_status
1578 mepcop1_48_sem_cpaddsr3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1579 {
1580 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1581   sem_status status = SEM_STATUS_NORMAL;
1582   mepcop1_48_scache* abuf = sem;
1583   unsigned long long written = 0;
1584   PCADDR pc = abuf->addr;
1585   PCADDR npc = pc + 4;
1586
1587 {
1588 current_cpu->check_option_cp (pc);
1589   {
1590     DI opval = current_cpu->ivc2_cpaddsr3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1591     if (UNLIKELY(current_cpu->trace_result_p))
1592       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1593     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1594   }
1595 }
1596
1597   current_cpu->done_insn (npc, status);
1598   return status;
1599 #undef FLD
1600 }
1601
1602 // ********** cpaddsr3_w_P0_P1: cpaddsr3.w $crop,$crqp,$crpp
1603
1604 sem_status
1605 mepcop1_48_sem_cpaddsr3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1606 {
1607 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1608   sem_status status = SEM_STATUS_NORMAL;
1609   mepcop1_48_scache* abuf = sem;
1610   unsigned long long written = 0;
1611   PCADDR pc = abuf->addr;
1612   PCADDR npc = pc + 4;
1613
1614 {
1615 current_cpu->check_option_cp (pc);
1616   {
1617     DI opval = current_cpu->ivc2_cpaddsr3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1618     if (UNLIKELY(current_cpu->trace_result_p))
1619       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1620     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1621   }
1622 }
1623
1624   current_cpu->done_insn (npc, status);
1625   return status;
1626 #undef FLD
1627 }
1628
1629 // ********** cpabsu3_b_P0_P1: cpabsu3.b $crop,$crqp,$crpp
1630
1631 sem_status
1632 mepcop1_48_sem_cpabsu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1633 {
1634 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1635   sem_status status = SEM_STATUS_NORMAL;
1636   mepcop1_48_scache* abuf = sem;
1637   unsigned long long written = 0;
1638   PCADDR pc = abuf->addr;
1639   PCADDR npc = pc + 4;
1640
1641 {
1642 current_cpu->check_option_cp (pc);
1643   {
1644     DI opval = current_cpu->ivc2_cpabsu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1645     if (UNLIKELY(current_cpu->trace_result_p))
1646       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1647     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1648   }
1649 }
1650
1651   current_cpu->done_insn (npc, status);
1652   return status;
1653 #undef FLD
1654 }
1655
1656 // ********** cpabs3_b_P0_P1: cpabs3.b $crop,$crqp,$crpp
1657
1658 sem_status
1659 mepcop1_48_sem_cpabs3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1660 {
1661 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1662   sem_status status = SEM_STATUS_NORMAL;
1663   mepcop1_48_scache* abuf = sem;
1664   unsigned long long written = 0;
1665   PCADDR pc = abuf->addr;
1666   PCADDR npc = pc + 4;
1667
1668 {
1669 current_cpu->check_option_cp (pc);
1670   {
1671     DI opval = current_cpu->ivc2_cpabs3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1672     if (UNLIKELY(current_cpu->trace_result_p))
1673       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1674     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1675   }
1676 }
1677
1678   current_cpu->done_insn (npc, status);
1679   return status;
1680 #undef FLD
1681 }
1682
1683 // ********** cpabs3_h_P0_P1: cpabs3.h $crop,$crqp,$crpp
1684
1685 sem_status
1686 mepcop1_48_sem_cpabs3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1687 {
1688 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1689   sem_status status = SEM_STATUS_NORMAL;
1690   mepcop1_48_scache* abuf = sem;
1691   unsigned long long written = 0;
1692   PCADDR pc = abuf->addr;
1693   PCADDR npc = pc + 4;
1694
1695 {
1696 current_cpu->check_option_cp (pc);
1697   {
1698     DI opval = current_cpu->ivc2_cpabs3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1699     if (UNLIKELY(current_cpu->trace_result_p))
1700       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1701     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1702   }
1703 }
1704
1705   current_cpu->done_insn (npc, status);
1706   return status;
1707 #undef FLD
1708 }
1709
1710 // ********** cpand3_P0_P1: cpand3 $crop,$crqp,$crpp
1711
1712 sem_status
1713 mepcop1_48_sem_cpand3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1714 {
1715 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1716   sem_status status = SEM_STATUS_NORMAL;
1717   mepcop1_48_scache* abuf = sem;
1718   unsigned long long written = 0;
1719   PCADDR pc = abuf->addr;
1720   PCADDR npc = pc + 4;
1721
1722 {
1723 current_cpu->check_option_cp (pc);
1724   {
1725     DI opval = current_cpu->ivc2_cpand3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1726     if (UNLIKELY(current_cpu->trace_result_p))
1727       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1728     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1729   }
1730 }
1731
1732   current_cpu->done_insn (npc, status);
1733   return status;
1734 #undef FLD
1735 }
1736
1737 // ********** cpor3_P0_P1: cpor3 $crop,$crqp,$crpp
1738
1739 sem_status
1740 mepcop1_48_sem_cpor3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1741 {
1742 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1743   sem_status status = SEM_STATUS_NORMAL;
1744   mepcop1_48_scache* abuf = sem;
1745   unsigned long long written = 0;
1746   PCADDR pc = abuf->addr;
1747   PCADDR npc = pc + 4;
1748
1749 {
1750 current_cpu->check_option_cp (pc);
1751   {
1752     DI opval = current_cpu->ivc2_cpor3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1753     if (UNLIKELY(current_cpu->trace_result_p))
1754       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1755     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1756   }
1757 }
1758
1759   current_cpu->done_insn (npc, status);
1760   return status;
1761 #undef FLD
1762 }
1763
1764 // ********** cpnor3_P0_P1: cpnor3 $crop,$crqp,$crpp
1765
1766 sem_status
1767 mepcop1_48_sem_cpnor3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1768 {
1769 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1770   sem_status status = SEM_STATUS_NORMAL;
1771   mepcop1_48_scache* abuf = sem;
1772   unsigned long long written = 0;
1773   PCADDR pc = abuf->addr;
1774   PCADDR npc = pc + 4;
1775
1776 {
1777 current_cpu->check_option_cp (pc);
1778   {
1779     DI opval = current_cpu->ivc2_cpnor3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1780     if (UNLIKELY(current_cpu->trace_result_p))
1781       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1782     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1783   }
1784 }
1785
1786   current_cpu->done_insn (npc, status);
1787   return status;
1788 #undef FLD
1789 }
1790
1791 // ********** cpxor3_P0_P1: cpxor3 $crop,$crqp,$crpp
1792
1793 sem_status
1794 mepcop1_48_sem_cpxor3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1795 {
1796 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1797   sem_status status = SEM_STATUS_NORMAL;
1798   mepcop1_48_scache* abuf = sem;
1799   unsigned long long written = 0;
1800   PCADDR pc = abuf->addr;
1801   PCADDR npc = pc + 4;
1802
1803 {
1804 current_cpu->check_option_cp (pc);
1805   {
1806     DI opval = current_cpu->ivc2_cpxor3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1807     if (UNLIKELY(current_cpu->trace_result_p))
1808       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1809     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1810   }
1811 }
1812
1813   current_cpu->done_insn (npc, status);
1814   return status;
1815 #undef FLD
1816 }
1817
1818 // ********** cppacku_b_P0_P1: cppacku.b $crop,$crqp,$crpp
1819
1820 sem_status
1821 mepcop1_48_sem_cppacku_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1822 {
1823 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1824   sem_status status = SEM_STATUS_NORMAL;
1825   mepcop1_48_scache* abuf = sem;
1826   unsigned long long written = 0;
1827   PCADDR pc = abuf->addr;
1828   PCADDR npc = pc + 4;
1829
1830 {
1831 current_cpu->check_option_cp (pc);
1832   {
1833     DI opval = current_cpu->ivc2_cppacku_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1834     if (UNLIKELY(current_cpu->trace_result_p))
1835       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1836     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1837   }
1838 }
1839
1840   current_cpu->done_insn (npc, status);
1841   return status;
1842 #undef FLD
1843 }
1844
1845 // ********** cppack_b_P0_P1: cppack.b $crop,$crqp,$crpp
1846
1847 sem_status
1848 mepcop1_48_sem_cppack_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1849 {
1850 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1851   sem_status status = SEM_STATUS_NORMAL;
1852   mepcop1_48_scache* abuf = sem;
1853   unsigned long long written = 0;
1854   PCADDR pc = abuf->addr;
1855   PCADDR npc = pc + 4;
1856
1857 {
1858 current_cpu->check_option_cp (pc);
1859   {
1860     DI opval = current_cpu->ivc2_cppack_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1861     if (UNLIKELY(current_cpu->trace_result_p))
1862       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1863     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1864   }
1865 }
1866
1867   current_cpu->done_insn (npc, status);
1868   return status;
1869 #undef FLD
1870 }
1871
1872 // ********** cppack_h_P0_P1: cppack.h $crop,$crqp,$crpp
1873
1874 sem_status
1875 mepcop1_48_sem_cppack_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1876 {
1877 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1878   sem_status status = SEM_STATUS_NORMAL;
1879   mepcop1_48_scache* abuf = sem;
1880   unsigned long long written = 0;
1881   PCADDR pc = abuf->addr;
1882   PCADDR npc = pc + 4;
1883
1884 {
1885 current_cpu->check_option_cp (pc);
1886   {
1887     DI opval = current_cpu->ivc2_cppack_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1888     if (UNLIKELY(current_cpu->trace_result_p))
1889       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1890     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1891   }
1892 }
1893
1894   current_cpu->done_insn (npc, status);
1895   return status;
1896 #undef FLD
1897 }
1898
1899 // ********** cpmaxu3_b_P0_P1: cpmaxu3.b $crop,$crqp,$crpp
1900
1901 sem_status
1902 mepcop1_48_sem_cpmaxu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1903 {
1904 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1905   sem_status status = SEM_STATUS_NORMAL;
1906   mepcop1_48_scache* abuf = sem;
1907   unsigned long long written = 0;
1908   PCADDR pc = abuf->addr;
1909   PCADDR npc = pc + 4;
1910
1911 {
1912 current_cpu->check_option_cp (pc);
1913   {
1914     DI opval = current_cpu->ivc2_cpmaxu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1915     if (UNLIKELY(current_cpu->trace_result_p))
1916       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1917     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1918   }
1919 }
1920
1921   current_cpu->done_insn (npc, status);
1922   return status;
1923 #undef FLD
1924 }
1925
1926 // ********** cpmax3_b_P0_P1: cpmax3.b $crop,$crqp,$crpp
1927
1928 sem_status
1929 mepcop1_48_sem_cpmax3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1930 {
1931 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1932   sem_status status = SEM_STATUS_NORMAL;
1933   mepcop1_48_scache* abuf = sem;
1934   unsigned long long written = 0;
1935   PCADDR pc = abuf->addr;
1936   PCADDR npc = pc + 4;
1937
1938 {
1939 current_cpu->check_option_cp (pc);
1940   {
1941     DI opval = current_cpu->ivc2_cpmax3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1942     if (UNLIKELY(current_cpu->trace_result_p))
1943       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1944     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1945   }
1946 }
1947
1948   current_cpu->done_insn (npc, status);
1949   return status;
1950 #undef FLD
1951 }
1952
1953 // ********** cpmax3_h_P0_P1: cpmax3.h $crop,$crqp,$crpp
1954
1955 sem_status
1956 mepcop1_48_sem_cpmax3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1957 {
1958 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1959   sem_status status = SEM_STATUS_NORMAL;
1960   mepcop1_48_scache* abuf = sem;
1961   unsigned long long written = 0;
1962   PCADDR pc = abuf->addr;
1963   PCADDR npc = pc + 4;
1964
1965 {
1966 current_cpu->check_option_cp (pc);
1967   {
1968     DI opval = current_cpu->ivc2_cpmax3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1969     if (UNLIKELY(current_cpu->trace_result_p))
1970       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1971     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1972   }
1973 }
1974
1975   current_cpu->done_insn (npc, status);
1976   return status;
1977 #undef FLD
1978 }
1979
1980 // ********** cpmaxu3_w_P0_P1: cpmaxu3.w $crop,$crqp,$crpp
1981
1982 sem_status
1983 mepcop1_48_sem_cpmaxu3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
1984 {
1985 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
1986   sem_status status = SEM_STATUS_NORMAL;
1987   mepcop1_48_scache* abuf = sem;
1988   unsigned long long written = 0;
1989   PCADDR pc = abuf->addr;
1990   PCADDR npc = pc + 4;
1991
1992 {
1993 current_cpu->check_option_cp (pc);
1994   {
1995     DI opval = current_cpu->ivc2_cpmaxu3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
1996     if (UNLIKELY(current_cpu->trace_result_p))
1997       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
1998     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
1999   }
2000 }
2001
2002   current_cpu->done_insn (npc, status);
2003   return status;
2004 #undef FLD
2005 }
2006
2007 // ********** cpmax3_w_P0_P1: cpmax3.w $crop,$crqp,$crpp
2008
2009 sem_status
2010 mepcop1_48_sem_cpmax3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2011 {
2012 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2013   sem_status status = SEM_STATUS_NORMAL;
2014   mepcop1_48_scache* abuf = sem;
2015   unsigned long long written = 0;
2016   PCADDR pc = abuf->addr;
2017   PCADDR npc = pc + 4;
2018
2019 {
2020 current_cpu->check_option_cp (pc);
2021   {
2022     DI opval = current_cpu->ivc2_cpmax3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2023     if (UNLIKELY(current_cpu->trace_result_p))
2024       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2025     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2026   }
2027 }
2028
2029   current_cpu->done_insn (npc, status);
2030   return status;
2031 #undef FLD
2032 }
2033
2034 // ********** cpminu3_b_P0_P1: cpminu3.b $crop,$crqp,$crpp
2035
2036 sem_status
2037 mepcop1_48_sem_cpminu3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2038 {
2039 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2040   sem_status status = SEM_STATUS_NORMAL;
2041   mepcop1_48_scache* abuf = sem;
2042   unsigned long long written = 0;
2043   PCADDR pc = abuf->addr;
2044   PCADDR npc = pc + 4;
2045
2046 {
2047 current_cpu->check_option_cp (pc);
2048   {
2049     DI opval = current_cpu->ivc2_cpminu3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2050     if (UNLIKELY(current_cpu->trace_result_p))
2051       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2052     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2053   }
2054 }
2055
2056   current_cpu->done_insn (npc, status);
2057   return status;
2058 #undef FLD
2059 }
2060
2061 // ********** cpmin3_b_P0_P1: cpmin3.b $crop,$crqp,$crpp
2062
2063 sem_status
2064 mepcop1_48_sem_cpmin3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2065 {
2066 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2067   sem_status status = SEM_STATUS_NORMAL;
2068   mepcop1_48_scache* abuf = sem;
2069   unsigned long long written = 0;
2070   PCADDR pc = abuf->addr;
2071   PCADDR npc = pc + 4;
2072
2073 {
2074 current_cpu->check_option_cp (pc);
2075   {
2076     DI opval = current_cpu->ivc2_cpmin3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2077     if (UNLIKELY(current_cpu->trace_result_p))
2078       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2079     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2080   }
2081 }
2082
2083   current_cpu->done_insn (npc, status);
2084   return status;
2085 #undef FLD
2086 }
2087
2088 // ********** cpmin3_h_P0_P1: cpmin3.h $crop,$crqp,$crpp
2089
2090 sem_status
2091 mepcop1_48_sem_cpmin3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2092 {
2093 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2094   sem_status status = SEM_STATUS_NORMAL;
2095   mepcop1_48_scache* abuf = sem;
2096   unsigned long long written = 0;
2097   PCADDR pc = abuf->addr;
2098   PCADDR npc = pc + 4;
2099
2100 {
2101 current_cpu->check_option_cp (pc);
2102   {
2103     DI opval = current_cpu->ivc2_cpmin3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2104     if (UNLIKELY(current_cpu->trace_result_p))
2105       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2106     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2107   }
2108 }
2109
2110   current_cpu->done_insn (npc, status);
2111   return status;
2112 #undef FLD
2113 }
2114
2115 // ********** cpminu3_w_P0_P1: cpminu3.w $crop,$crqp,$crpp
2116
2117 sem_status
2118 mepcop1_48_sem_cpminu3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2119 {
2120 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2121   sem_status status = SEM_STATUS_NORMAL;
2122   mepcop1_48_scache* abuf = sem;
2123   unsigned long long written = 0;
2124   PCADDR pc = abuf->addr;
2125   PCADDR npc = pc + 4;
2126
2127 {
2128 current_cpu->check_option_cp (pc);
2129   {
2130     DI opval = current_cpu->ivc2_cpminu3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2131     if (UNLIKELY(current_cpu->trace_result_p))
2132       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2133     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2134   }
2135 }
2136
2137   current_cpu->done_insn (npc, status);
2138   return status;
2139 #undef FLD
2140 }
2141
2142 // ********** cpmin3_w_P0_P1: cpmin3.w $crop,$crqp,$crpp
2143
2144 sem_status
2145 mepcop1_48_sem_cpmin3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2146 {
2147 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2148   sem_status status = SEM_STATUS_NORMAL;
2149   mepcop1_48_scache* abuf = sem;
2150   unsigned long long written = 0;
2151   PCADDR pc = abuf->addr;
2152   PCADDR npc = pc + 4;
2153
2154 {
2155 current_cpu->check_option_cp (pc);
2156   {
2157     DI opval = current_cpu->ivc2_cpmin3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2158     if (UNLIKELY(current_cpu->trace_result_p))
2159       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2160     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2161   }
2162 }
2163
2164   current_cpu->done_insn (npc, status);
2165   return status;
2166 #undef FLD
2167 }
2168
2169 // ********** cpsrl3_b_P0_P1: cpsrl3.b $crop,$crqp,$crpp
2170
2171 sem_status
2172 mepcop1_48_sem_cpsrl3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2173 {
2174 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2175   sem_status status = SEM_STATUS_NORMAL;
2176   mepcop1_48_scache* abuf = sem;
2177   unsigned long long written = 0;
2178   PCADDR pc = abuf->addr;
2179   PCADDR npc = pc + 4;
2180
2181 {
2182 current_cpu->check_option_cp (pc);
2183   {
2184     DI opval = current_cpu->ivc2_cpsrl3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2185     if (UNLIKELY(current_cpu->trace_result_p))
2186       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2187     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2188   }
2189 }
2190
2191   current_cpu->done_insn (npc, status);
2192   return status;
2193 #undef FLD
2194 }
2195
2196 // ********** cpssrl3_b_P0_P1: cpssrl3.b $crop,$crqp,$crpp
2197
2198 sem_status
2199 mepcop1_48_sem_cpssrl3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2200 {
2201 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2202   sem_status status = SEM_STATUS_NORMAL;
2203   mepcop1_48_scache* abuf = sem;
2204   unsigned long long written = 0;
2205   PCADDR pc = abuf->addr;
2206   PCADDR npc = pc + 4;
2207
2208 {
2209 current_cpu->check_option_cp (pc);
2210   {
2211     DI opval = current_cpu->ivc2_cpssrl3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2212     if (UNLIKELY(current_cpu->trace_result_p))
2213       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2214     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2215   }
2216 }
2217
2218   current_cpu->done_insn (npc, status);
2219   return status;
2220 #undef FLD
2221 }
2222
2223 // ********** cpsrl3_h_P0_P1: cpsrl3.h $crop,$crqp,$crpp
2224
2225 sem_status
2226 mepcop1_48_sem_cpsrl3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2227 {
2228 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2229   sem_status status = SEM_STATUS_NORMAL;
2230   mepcop1_48_scache* abuf = sem;
2231   unsigned long long written = 0;
2232   PCADDR pc = abuf->addr;
2233   PCADDR npc = pc + 4;
2234
2235 {
2236 current_cpu->check_option_cp (pc);
2237   {
2238     DI opval = current_cpu->ivc2_cpsrl3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2239     if (UNLIKELY(current_cpu->trace_result_p))
2240       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2241     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2242   }
2243 }
2244
2245   current_cpu->done_insn (npc, status);
2246   return status;
2247 #undef FLD
2248 }
2249
2250 // ********** cpssrl3_h_P0_P1: cpssrl3.h $crop,$crqp,$crpp
2251
2252 sem_status
2253 mepcop1_48_sem_cpssrl3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2254 {
2255 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2256   sem_status status = SEM_STATUS_NORMAL;
2257   mepcop1_48_scache* abuf = sem;
2258   unsigned long long written = 0;
2259   PCADDR pc = abuf->addr;
2260   PCADDR npc = pc + 4;
2261
2262 {
2263 current_cpu->check_option_cp (pc);
2264   {
2265     DI opval = current_cpu->ivc2_cpssrl3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2266     if (UNLIKELY(current_cpu->trace_result_p))
2267       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2268     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2269   }
2270 }
2271
2272   current_cpu->done_insn (npc, status);
2273   return status;
2274 #undef FLD
2275 }
2276
2277 // ********** cpsrl3_w_P0_P1: cpsrl3.w $crop,$crqp,$crpp
2278
2279 sem_status
2280 mepcop1_48_sem_cpsrl3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2281 {
2282 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2283   sem_status status = SEM_STATUS_NORMAL;
2284   mepcop1_48_scache* abuf = sem;
2285   unsigned long long written = 0;
2286   PCADDR pc = abuf->addr;
2287   PCADDR npc = pc + 4;
2288
2289 {
2290 current_cpu->check_option_cp (pc);
2291   {
2292     DI opval = current_cpu->ivc2_cpsrl3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2293     if (UNLIKELY(current_cpu->trace_result_p))
2294       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2295     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2296   }
2297 }
2298
2299   current_cpu->done_insn (npc, status);
2300   return status;
2301 #undef FLD
2302 }
2303
2304 // ********** cpssrl3_w_P0_P1: cpssrl3.w $crop,$crqp,$crpp
2305
2306 sem_status
2307 mepcop1_48_sem_cpssrl3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2308 {
2309 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2310   sem_status status = SEM_STATUS_NORMAL;
2311   mepcop1_48_scache* abuf = sem;
2312   unsigned long long written = 0;
2313   PCADDR pc = abuf->addr;
2314   PCADDR npc = pc + 4;
2315
2316 {
2317 current_cpu->check_option_cp (pc);
2318   {
2319     DI opval = current_cpu->ivc2_cpssrl3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2320     if (UNLIKELY(current_cpu->trace_result_p))
2321       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2322     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2323   }
2324 }
2325
2326   current_cpu->done_insn (npc, status);
2327   return status;
2328 #undef FLD
2329 }
2330
2331 // ********** cdsrl3_P0_P1: cdsrl3 $crop,$crqp,$crpp
2332
2333 sem_status
2334 mepcop1_48_sem_cdsrl3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2335 {
2336 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2337   sem_status status = SEM_STATUS_NORMAL;
2338   mepcop1_48_scache* abuf = sem;
2339   unsigned long long written = 0;
2340   PCADDR pc = abuf->addr;
2341   PCADDR npc = pc + 4;
2342
2343 {
2344 current_cpu->check_option_cp (pc);
2345   {
2346     DI opval = current_cpu->ivc2_cdsrl3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2347     if (UNLIKELY(current_cpu->trace_result_p))
2348       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2349     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2350   }
2351 }
2352
2353   current_cpu->done_insn (npc, status);
2354   return status;
2355 #undef FLD
2356 }
2357
2358 // ********** cpsra3_b_P0_P1: cpsra3.b $crop,$crqp,$crpp
2359
2360 sem_status
2361 mepcop1_48_sem_cpsra3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2362 {
2363 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2364   sem_status status = SEM_STATUS_NORMAL;
2365   mepcop1_48_scache* abuf = sem;
2366   unsigned long long written = 0;
2367   PCADDR pc = abuf->addr;
2368   PCADDR npc = pc + 4;
2369
2370 {
2371 current_cpu->check_option_cp (pc);
2372   {
2373     DI opval = current_cpu->ivc2_cpsra3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2374     if (UNLIKELY(current_cpu->trace_result_p))
2375       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2376     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2377   }
2378 }
2379
2380   current_cpu->done_insn (npc, status);
2381   return status;
2382 #undef FLD
2383 }
2384
2385 // ********** cpssra3_b_P0_P1: cpssra3.b $crop,$crqp,$crpp
2386
2387 sem_status
2388 mepcop1_48_sem_cpssra3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2389 {
2390 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2391   sem_status status = SEM_STATUS_NORMAL;
2392   mepcop1_48_scache* abuf = sem;
2393   unsigned long long written = 0;
2394   PCADDR pc = abuf->addr;
2395   PCADDR npc = pc + 4;
2396
2397 {
2398 current_cpu->check_option_cp (pc);
2399   {
2400     DI opval = current_cpu->ivc2_cpssra3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2401     if (UNLIKELY(current_cpu->trace_result_p))
2402       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2403     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2404   }
2405 }
2406
2407   current_cpu->done_insn (npc, status);
2408   return status;
2409 #undef FLD
2410 }
2411
2412 // ********** cpsra3_h_P0_P1: cpsra3.h $crop,$crqp,$crpp
2413
2414 sem_status
2415 mepcop1_48_sem_cpsra3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2416 {
2417 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2418   sem_status status = SEM_STATUS_NORMAL;
2419   mepcop1_48_scache* abuf = sem;
2420   unsigned long long written = 0;
2421   PCADDR pc = abuf->addr;
2422   PCADDR npc = pc + 4;
2423
2424 {
2425 current_cpu->check_option_cp (pc);
2426   {
2427     DI opval = current_cpu->ivc2_cpsra3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2428     if (UNLIKELY(current_cpu->trace_result_p))
2429       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2430     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2431   }
2432 }
2433
2434   current_cpu->done_insn (npc, status);
2435   return status;
2436 #undef FLD
2437 }
2438
2439 // ********** cpssra3_h_P0_P1: cpssra3.h $crop,$crqp,$crpp
2440
2441 sem_status
2442 mepcop1_48_sem_cpssra3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2443 {
2444 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2445   sem_status status = SEM_STATUS_NORMAL;
2446   mepcop1_48_scache* abuf = sem;
2447   unsigned long long written = 0;
2448   PCADDR pc = abuf->addr;
2449   PCADDR npc = pc + 4;
2450
2451 {
2452 current_cpu->check_option_cp (pc);
2453   {
2454     DI opval = current_cpu->ivc2_cpssra3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2455     if (UNLIKELY(current_cpu->trace_result_p))
2456       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2457     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2458   }
2459 }
2460
2461   current_cpu->done_insn (npc, status);
2462   return status;
2463 #undef FLD
2464 }
2465
2466 // ********** cpsra3_w_P0_P1: cpsra3.w $crop,$crqp,$crpp
2467
2468 sem_status
2469 mepcop1_48_sem_cpsra3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2470 {
2471 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2472   sem_status status = SEM_STATUS_NORMAL;
2473   mepcop1_48_scache* abuf = sem;
2474   unsigned long long written = 0;
2475   PCADDR pc = abuf->addr;
2476   PCADDR npc = pc + 4;
2477
2478 {
2479 current_cpu->check_option_cp (pc);
2480   {
2481     DI opval = current_cpu->ivc2_cpsra3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2482     if (UNLIKELY(current_cpu->trace_result_p))
2483       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2484     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2485   }
2486 }
2487
2488   current_cpu->done_insn (npc, status);
2489   return status;
2490 #undef FLD
2491 }
2492
2493 // ********** cpssra3_w_P0_P1: cpssra3.w $crop,$crqp,$crpp
2494
2495 sem_status
2496 mepcop1_48_sem_cpssra3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2497 {
2498 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2499   sem_status status = SEM_STATUS_NORMAL;
2500   mepcop1_48_scache* abuf = sem;
2501   unsigned long long written = 0;
2502   PCADDR pc = abuf->addr;
2503   PCADDR npc = pc + 4;
2504
2505 {
2506 current_cpu->check_option_cp (pc);
2507   {
2508     DI opval = current_cpu->ivc2_cpssra3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2509     if (UNLIKELY(current_cpu->trace_result_p))
2510       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2511     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2512   }
2513 }
2514
2515   current_cpu->done_insn (npc, status);
2516   return status;
2517 #undef FLD
2518 }
2519
2520 // ********** cdsra3_P0_P1: cdsra3 $crop,$crqp,$crpp
2521
2522 sem_status
2523 mepcop1_48_sem_cdsra3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2524 {
2525 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2526   sem_status status = SEM_STATUS_NORMAL;
2527   mepcop1_48_scache* abuf = sem;
2528   unsigned long long written = 0;
2529   PCADDR pc = abuf->addr;
2530   PCADDR npc = pc + 4;
2531
2532 {
2533 current_cpu->check_option_cp (pc);
2534   {
2535     DI opval = current_cpu->ivc2_cdsra3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2536     if (UNLIKELY(current_cpu->trace_result_p))
2537       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2538     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2539   }
2540 }
2541
2542   current_cpu->done_insn (npc, status);
2543   return status;
2544 #undef FLD
2545 }
2546
2547 // ********** cpsll3_b_P0_P1: cpsll3.b $crop,$crqp,$crpp
2548
2549 sem_status
2550 mepcop1_48_sem_cpsll3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2551 {
2552 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2553   sem_status status = SEM_STATUS_NORMAL;
2554   mepcop1_48_scache* abuf = sem;
2555   unsigned long long written = 0;
2556   PCADDR pc = abuf->addr;
2557   PCADDR npc = pc + 4;
2558
2559 {
2560 current_cpu->check_option_cp (pc);
2561   {
2562     DI opval = current_cpu->ivc2_cpsll3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2563     if (UNLIKELY(current_cpu->trace_result_p))
2564       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2565     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2566   }
2567 }
2568
2569   current_cpu->done_insn (npc, status);
2570   return status;
2571 #undef FLD
2572 }
2573
2574 // ********** cpssll3_b_P0_P1: cpssll3.b $crop,$crqp,$crpp
2575
2576 sem_status
2577 mepcop1_48_sem_cpssll3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2578 {
2579 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2580   sem_status status = SEM_STATUS_NORMAL;
2581   mepcop1_48_scache* abuf = sem;
2582   unsigned long long written = 0;
2583   PCADDR pc = abuf->addr;
2584   PCADDR npc = pc + 4;
2585
2586 {
2587 current_cpu->check_option_cp (pc);
2588   {
2589     DI opval = current_cpu->ivc2_cpssll3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2590     if (UNLIKELY(current_cpu->trace_result_p))
2591       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2592     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2593   }
2594 }
2595
2596   current_cpu->done_insn (npc, status);
2597   return status;
2598 #undef FLD
2599 }
2600
2601 // ********** cpsll3_h_P0_P1: cpsll3.h $crop,$crqp,$crpp
2602
2603 sem_status
2604 mepcop1_48_sem_cpsll3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2605 {
2606 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2607   sem_status status = SEM_STATUS_NORMAL;
2608   mepcop1_48_scache* abuf = sem;
2609   unsigned long long written = 0;
2610   PCADDR pc = abuf->addr;
2611   PCADDR npc = pc + 4;
2612
2613 {
2614 current_cpu->check_option_cp (pc);
2615   {
2616     DI opval = current_cpu->ivc2_cpsll3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2617     if (UNLIKELY(current_cpu->trace_result_p))
2618       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2619     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2620   }
2621 }
2622
2623   current_cpu->done_insn (npc, status);
2624   return status;
2625 #undef FLD
2626 }
2627
2628 // ********** cpssll3_h_P0_P1: cpssll3.h $crop,$crqp,$crpp
2629
2630 sem_status
2631 mepcop1_48_sem_cpssll3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2632 {
2633 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2634   sem_status status = SEM_STATUS_NORMAL;
2635   mepcop1_48_scache* abuf = sem;
2636   unsigned long long written = 0;
2637   PCADDR pc = abuf->addr;
2638   PCADDR npc = pc + 4;
2639
2640 {
2641 current_cpu->check_option_cp (pc);
2642   {
2643     DI opval = current_cpu->ivc2_cpssll3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2644     if (UNLIKELY(current_cpu->trace_result_p))
2645       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2646     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2647   }
2648 }
2649
2650   current_cpu->done_insn (npc, status);
2651   return status;
2652 #undef FLD
2653 }
2654
2655 // ********** cpsll3_w_P0_P1: cpsll3.w $crop,$crqp,$crpp
2656
2657 sem_status
2658 mepcop1_48_sem_cpsll3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2659 {
2660 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2661   sem_status status = SEM_STATUS_NORMAL;
2662   mepcop1_48_scache* abuf = sem;
2663   unsigned long long written = 0;
2664   PCADDR pc = abuf->addr;
2665   PCADDR npc = pc + 4;
2666
2667 {
2668 current_cpu->check_option_cp (pc);
2669   {
2670     DI opval = current_cpu->ivc2_cpsll3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2671     if (UNLIKELY(current_cpu->trace_result_p))
2672       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2673     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2674   }
2675 }
2676
2677   current_cpu->done_insn (npc, status);
2678   return status;
2679 #undef FLD
2680 }
2681
2682 // ********** cpssll3_w_P0_P1: cpssll3.w $crop,$crqp,$crpp
2683
2684 sem_status
2685 mepcop1_48_sem_cpssll3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2686 {
2687 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2688   sem_status status = SEM_STATUS_NORMAL;
2689   mepcop1_48_scache* abuf = sem;
2690   unsigned long long written = 0;
2691   PCADDR pc = abuf->addr;
2692   PCADDR npc = pc + 4;
2693
2694 {
2695 current_cpu->check_option_cp (pc);
2696   {
2697     DI opval = current_cpu->ivc2_cpssll3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2698     if (UNLIKELY(current_cpu->trace_result_p))
2699       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2700     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2701   }
2702 }
2703
2704   current_cpu->done_insn (npc, status);
2705   return status;
2706 #undef FLD
2707 }
2708
2709 // ********** cdsll3_P0_P1: cdsll3 $crop,$crqp,$crpp
2710
2711 sem_status
2712 mepcop1_48_sem_cdsll3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2713 {
2714 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2715   sem_status status = SEM_STATUS_NORMAL;
2716   mepcop1_48_scache* abuf = sem;
2717   unsigned long long written = 0;
2718   PCADDR pc = abuf->addr;
2719   PCADDR npc = pc + 4;
2720
2721 {
2722 current_cpu->check_option_cp (pc);
2723   {
2724     DI opval = current_cpu->ivc2_cdsll3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2725     if (UNLIKELY(current_cpu->trace_result_p))
2726       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2727     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2728   }
2729 }
2730
2731   current_cpu->done_insn (npc, status);
2732   return status;
2733 #undef FLD
2734 }
2735
2736 // ********** cpsla3_h_P0_P1: cpsla3.h $crop,$crqp,$crpp
2737
2738 sem_status
2739 mepcop1_48_sem_cpsla3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2740 {
2741 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2742   sem_status status = SEM_STATUS_NORMAL;
2743   mepcop1_48_scache* abuf = sem;
2744   unsigned long long written = 0;
2745   PCADDR pc = abuf->addr;
2746   PCADDR npc = pc + 4;
2747
2748 {
2749 current_cpu->check_option_cp (pc);
2750   {
2751     DI opval = current_cpu->ivc2_cpsla3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2752     if (UNLIKELY(current_cpu->trace_result_p))
2753       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2754     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2755   }
2756 }
2757
2758   current_cpu->done_insn (npc, status);
2759   return status;
2760 #undef FLD
2761 }
2762
2763 // ********** cpsla3_w_P0_P1: cpsla3.w $crop,$crqp,$crpp
2764
2765 sem_status
2766 mepcop1_48_sem_cpsla3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2767 {
2768 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2769   sem_status status = SEM_STATUS_NORMAL;
2770   mepcop1_48_scache* abuf = sem;
2771   unsigned long long written = 0;
2772   PCADDR pc = abuf->addr;
2773   PCADDR npc = pc + 4;
2774
2775 {
2776 current_cpu->check_option_cp (pc);
2777   {
2778     DI opval = current_cpu->ivc2_cpsla3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], current_cpu->hardware.h_cr64[FLD (f_ivc2_5u18)]);
2779     if (UNLIKELY(current_cpu->trace_result_p))
2780       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2781     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2782   }
2783 }
2784
2785   current_cpu->done_insn (npc, status);
2786   return status;
2787 #undef FLD
2788 }
2789
2790 // ********** cpsrli3_b_P0_P1: cpsrli3.b $crop,$crqp,$imm3p5
2791
2792 sem_status
2793 mepcop1_48_sem_cpsrli3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2794 {
2795 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2796   sem_status status = SEM_STATUS_NORMAL;
2797   mepcop1_48_scache* abuf = sem;
2798   unsigned long long written = 0;
2799   PCADDR pc = abuf->addr;
2800   PCADDR npc = pc + 4;
2801
2802 {
2803 current_cpu->check_option_cp (pc);
2804   {
2805     DI opval = current_cpu->ivc2_cpsrli3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_3u5));
2806     if (UNLIKELY(current_cpu->trace_result_p))
2807       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2808     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2809   }
2810 }
2811
2812   current_cpu->done_insn (npc, status);
2813   return status;
2814 #undef FLD
2815 }
2816
2817 // ********** cpsrli3_h_P0_P1: cpsrli3.h $crop,$crqp,$imm4p4
2818
2819 sem_status
2820 mepcop1_48_sem_cpsrli3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2821 {
2822 #define FLD(f) abuf->fields.sfmt_cpsrli3_h_P0_P1.f
2823   sem_status status = SEM_STATUS_NORMAL;
2824   mepcop1_48_scache* abuf = sem;
2825   unsigned long long written = 0;
2826   PCADDR pc = abuf->addr;
2827   PCADDR npc = pc + 4;
2828
2829 {
2830 current_cpu->check_option_cp (pc);
2831   {
2832     DI opval = current_cpu->ivc2_cpsrli3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_4u4));
2833     if (UNLIKELY(current_cpu->trace_result_p))
2834       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2835     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2836   }
2837 }
2838
2839   current_cpu->done_insn (npc, status);
2840   return status;
2841 #undef FLD
2842 }
2843
2844 // ********** cpsrli3_w_P0_P1: cpsrli3.w $crop,$crqp,$imm5p3
2845
2846 sem_status
2847 mepcop1_48_sem_cpsrli3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2848 {
2849 #define FLD(f) abuf->fields.sfmt_cpsrli3_w_P0_P1.f
2850   sem_status status = SEM_STATUS_NORMAL;
2851   mepcop1_48_scache* abuf = sem;
2852   unsigned long long written = 0;
2853   PCADDR pc = abuf->addr;
2854   PCADDR npc = pc + 4;
2855
2856 {
2857 current_cpu->check_option_cp (pc);
2858   {
2859     DI opval = current_cpu->ivc2_cpsrli3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_5u3));
2860     if (UNLIKELY(current_cpu->trace_result_p))
2861       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2862     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2863   }
2864 }
2865
2866   current_cpu->done_insn (npc, status);
2867   return status;
2868 #undef FLD
2869 }
2870
2871 // ********** cdsrli3_P0_P1: cdsrli3 $crop,$crqp,$imm6p2
2872
2873 sem_status
2874 mepcop1_48_sem_cdsrli3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2875 {
2876 #define FLD(f) abuf->fields.sfmt_cdsrli3_P0_P1.f
2877   sem_status status = SEM_STATUS_NORMAL;
2878   mepcop1_48_scache* abuf = sem;
2879   unsigned long long written = 0;
2880   PCADDR pc = abuf->addr;
2881   PCADDR npc = pc + 4;
2882
2883 {
2884 current_cpu->check_option_cp (pc);
2885   {
2886     DI opval = current_cpu->ivc2_cdsrli3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_6u2));
2887     if (UNLIKELY(current_cpu->trace_result_p))
2888       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2889     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2890   }
2891 }
2892
2893   current_cpu->done_insn (npc, status);
2894   return status;
2895 #undef FLD
2896 }
2897
2898 // ********** cpsrai3_b_P0_P1: cpsrai3.b $crop,$crqp,$imm3p5
2899
2900 sem_status
2901 mepcop1_48_sem_cpsrai3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2902 {
2903 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
2904   sem_status status = SEM_STATUS_NORMAL;
2905   mepcop1_48_scache* abuf = sem;
2906   unsigned long long written = 0;
2907   PCADDR pc = abuf->addr;
2908   PCADDR npc = pc + 4;
2909
2910 {
2911 current_cpu->check_option_cp (pc);
2912   {
2913     DI opval = current_cpu->ivc2_cpsrai3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_3u5));
2914     if (UNLIKELY(current_cpu->trace_result_p))
2915       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2916     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2917   }
2918 }
2919
2920   current_cpu->done_insn (npc, status);
2921   return status;
2922 #undef FLD
2923 }
2924
2925 // ********** cpsrai3_h_P0_P1: cpsrai3.h $crop,$crqp,$imm4p4
2926
2927 sem_status
2928 mepcop1_48_sem_cpsrai3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2929 {
2930 #define FLD(f) abuf->fields.sfmt_cpsrli3_h_P0_P1.f
2931   sem_status status = SEM_STATUS_NORMAL;
2932   mepcop1_48_scache* abuf = sem;
2933   unsigned long long written = 0;
2934   PCADDR pc = abuf->addr;
2935   PCADDR npc = pc + 4;
2936
2937 {
2938 current_cpu->check_option_cp (pc);
2939   {
2940     DI opval = current_cpu->ivc2_cpsrai3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_4u4));
2941     if (UNLIKELY(current_cpu->trace_result_p))
2942       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2943     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2944   }
2945 }
2946
2947   current_cpu->done_insn (npc, status);
2948   return status;
2949 #undef FLD
2950 }
2951
2952 // ********** cpsrai3_w_P0_P1: cpsrai3.w $crop,$crqp,$imm5p3
2953
2954 sem_status
2955 mepcop1_48_sem_cpsrai3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2956 {
2957 #define FLD(f) abuf->fields.sfmt_cpsrli3_w_P0_P1.f
2958   sem_status status = SEM_STATUS_NORMAL;
2959   mepcop1_48_scache* abuf = sem;
2960   unsigned long long written = 0;
2961   PCADDR pc = abuf->addr;
2962   PCADDR npc = pc + 4;
2963
2964 {
2965 current_cpu->check_option_cp (pc);
2966   {
2967     DI opval = current_cpu->ivc2_cpsrai3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_5u3));
2968     if (UNLIKELY(current_cpu->trace_result_p))
2969       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2970     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2971   }
2972 }
2973
2974   current_cpu->done_insn (npc, status);
2975   return status;
2976 #undef FLD
2977 }
2978
2979 // ********** cdsrai3_P0_P1: cdsrai3 $crop,$crqp,$imm6p2
2980
2981 sem_status
2982 mepcop1_48_sem_cdsrai3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
2983 {
2984 #define FLD(f) abuf->fields.sfmt_cdsrli3_P0_P1.f
2985   sem_status status = SEM_STATUS_NORMAL;
2986   mepcop1_48_scache* abuf = sem;
2987   unsigned long long written = 0;
2988   PCADDR pc = abuf->addr;
2989   PCADDR npc = pc + 4;
2990
2991 {
2992 current_cpu->check_option_cp (pc);
2993   {
2994     DI opval = current_cpu->ivc2_cdsrai3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_6u2));
2995     if (UNLIKELY(current_cpu->trace_result_p))
2996       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
2997     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
2998   }
2999 }
3000
3001   current_cpu->done_insn (npc, status);
3002   return status;
3003 #undef FLD
3004 }
3005
3006 // ********** cpslli3_b_P0_P1: cpslli3.b $crop,$crqp,$imm3p5
3007
3008 sem_status
3009 mepcop1_48_sem_cpslli3_b_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3010 {
3011 #define FLD(f) abuf->fields.sfmt_cpfsftbi_P0_P1.f
3012   sem_status status = SEM_STATUS_NORMAL;
3013   mepcop1_48_scache* abuf = sem;
3014   unsigned long long written = 0;
3015   PCADDR pc = abuf->addr;
3016   PCADDR npc = pc + 4;
3017
3018 {
3019 current_cpu->check_option_cp (pc);
3020   {
3021     DI opval = current_cpu->ivc2_cpslli3_b (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_3u5));
3022     if (UNLIKELY(current_cpu->trace_result_p))
3023       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3024     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3025   }
3026 }
3027
3028   current_cpu->done_insn (npc, status);
3029   return status;
3030 #undef FLD
3031 }
3032
3033 // ********** cpslli3_h_P0_P1: cpslli3.h $crop,$crqp,$imm4p4
3034
3035 sem_status
3036 mepcop1_48_sem_cpslli3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3037 {
3038 #define FLD(f) abuf->fields.sfmt_cpsrli3_h_P0_P1.f
3039   sem_status status = SEM_STATUS_NORMAL;
3040   mepcop1_48_scache* abuf = sem;
3041   unsigned long long written = 0;
3042   PCADDR pc = abuf->addr;
3043   PCADDR npc = pc + 4;
3044
3045 {
3046 current_cpu->check_option_cp (pc);
3047   {
3048     DI opval = current_cpu->ivc2_cpslli3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_4u4));
3049     if (UNLIKELY(current_cpu->trace_result_p))
3050       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3051     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3052   }
3053 }
3054
3055   current_cpu->done_insn (npc, status);
3056   return status;
3057 #undef FLD
3058 }
3059
3060 // ********** cpslli3_w_P0_P1: cpslli3.w $crop,$crqp,$imm5p3
3061
3062 sem_status
3063 mepcop1_48_sem_cpslli3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3064 {
3065 #define FLD(f) abuf->fields.sfmt_cpsrli3_w_P0_P1.f
3066   sem_status status = SEM_STATUS_NORMAL;
3067   mepcop1_48_scache* abuf = sem;
3068   unsigned long long written = 0;
3069   PCADDR pc = abuf->addr;
3070   PCADDR npc = pc + 4;
3071
3072 {
3073 current_cpu->check_option_cp (pc);
3074   {
3075     DI opval = current_cpu->ivc2_cpslli3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_5u3));
3076     if (UNLIKELY(current_cpu->trace_result_p))
3077       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3078     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3079   }
3080 }
3081
3082   current_cpu->done_insn (npc, status);
3083   return status;
3084 #undef FLD
3085 }
3086
3087 // ********** cdslli3_P0_P1: cdslli3 $crop,$crqp,$imm6p2
3088
3089 sem_status
3090 mepcop1_48_sem_cdslli3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3091 {
3092 #define FLD(f) abuf->fields.sfmt_cdsrli3_P0_P1.f
3093   sem_status status = SEM_STATUS_NORMAL;
3094   mepcop1_48_scache* abuf = sem;
3095   unsigned long long written = 0;
3096   PCADDR pc = abuf->addr;
3097   PCADDR npc = pc + 4;
3098
3099 {
3100 current_cpu->check_option_cp (pc);
3101   {
3102     DI opval = current_cpu->ivc2_cdslli3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_6u2));
3103     if (UNLIKELY(current_cpu->trace_result_p))
3104       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3105     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3106   }
3107 }
3108
3109   current_cpu->done_insn (npc, status);
3110   return status;
3111 #undef FLD
3112 }
3113
3114 // ********** cpslai3_h_P0_P1: cpslai3.h $crop,$crqp,$imm4p4
3115
3116 sem_status
3117 mepcop1_48_sem_cpslai3_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3118 {
3119 #define FLD(f) abuf->fields.sfmt_cpsrli3_h_P0_P1.f
3120   sem_status status = SEM_STATUS_NORMAL;
3121   mepcop1_48_scache* abuf = sem;
3122   unsigned long long written = 0;
3123   PCADDR pc = abuf->addr;
3124   PCADDR npc = pc + 4;
3125
3126 {
3127 current_cpu->check_option_cp (pc);
3128   {
3129     DI opval = current_cpu->ivc2_cpslai3_h (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_4u4));
3130     if (UNLIKELY(current_cpu->trace_result_p))
3131       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3132     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3133   }
3134 }
3135
3136   current_cpu->done_insn (npc, status);
3137   return status;
3138 #undef FLD
3139 }
3140
3141 // ********** cpslai3_w_P0_P1: cpslai3.w $crop,$crqp,$imm5p3
3142
3143 sem_status
3144 mepcop1_48_sem_cpslai3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3145 {
3146 #define FLD(f) abuf->fields.sfmt_cpsrli3_w_P0_P1.f
3147   sem_status status = SEM_STATUS_NORMAL;
3148   mepcop1_48_scache* abuf = sem;
3149   unsigned long long written = 0;
3150   PCADDR pc = abuf->addr;
3151   PCADDR npc = pc + 4;
3152
3153 {
3154 current_cpu->check_option_cp (pc);
3155   {
3156     DI opval = current_cpu->ivc2_cpslai3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_5u3));
3157     if (UNLIKELY(current_cpu->trace_result_p))
3158       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3159     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3160   }
3161 }
3162
3163   current_cpu->done_insn (npc, status);
3164   return status;
3165 #undef FLD
3166 }
3167
3168 // ********** cpclipiu3_w_P0_P1: cpclipiu3.w $crop,$crqp,$imm5p3
3169
3170 sem_status
3171 mepcop1_48_sem_cpclipiu3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3172 {
3173 #define FLD(f) abuf->fields.sfmt_cpsrli3_w_P0_P1.f
3174   sem_status status = SEM_STATUS_NORMAL;
3175   mepcop1_48_scache* abuf = sem;
3176   unsigned long long written = 0;
3177   PCADDR pc = abuf->addr;
3178   PCADDR npc = pc + 4;
3179
3180 {
3181 current_cpu->check_option_cp (pc);
3182   {
3183     DI opval = current_cpu->ivc2_cpclipiu3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_5u3));
3184     if (UNLIKELY(current_cpu->trace_result_p))
3185       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3186     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3187   }
3188 }
3189
3190   current_cpu->done_insn (npc, status);
3191   return status;
3192 #undef FLD
3193 }
3194
3195 // ********** cpclipi3_w_P0_P1: cpclipi3.w $crop,$crqp,$imm5p3
3196
3197 sem_status
3198 mepcop1_48_sem_cpclipi3_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3199 {
3200 #define FLD(f) abuf->fields.sfmt_cpsrli3_w_P0_P1.f
3201   sem_status status = SEM_STATUS_NORMAL;
3202   mepcop1_48_scache* abuf = sem;
3203   unsigned long long written = 0;
3204   PCADDR pc = abuf->addr;
3205   PCADDR npc = pc + 4;
3206
3207 {
3208 current_cpu->check_option_cp (pc);
3209   {
3210     DI opval = current_cpu->ivc2_cpclipi3_w (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_5u3));
3211     if (UNLIKELY(current_cpu->trace_result_p))
3212       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3213     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3214   }
3215 }
3216
3217   current_cpu->done_insn (npc, status);
3218   return status;
3219 #undef FLD
3220 }
3221
3222 // ********** cdclipiu3_P0_P1: cdclipiu3 $crop,$crqp,$imm6p2
3223
3224 sem_status
3225 mepcop1_48_sem_cdclipiu3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3226 {
3227 #define FLD(f) abuf->fields.sfmt_cdsrli3_P0_P1.f
3228   sem_status status = SEM_STATUS_NORMAL;
3229   mepcop1_48_scache* abuf = sem;
3230   unsigned long long written = 0;
3231   PCADDR pc = abuf->addr;
3232   PCADDR npc = pc + 4;
3233
3234 {
3235 current_cpu->check_option_cp (pc);
3236   {
3237     DI opval = current_cpu->ivc2_cdclipiu3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_6u2));
3238     if (UNLIKELY(current_cpu->trace_result_p))
3239       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3240     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3241   }
3242 }
3243
3244   current_cpu->done_insn (npc, status);
3245   return status;
3246 #undef FLD
3247 }
3248
3249 // ********** cdclipi3_P0_P1: cdclipi3 $crop,$crqp,$imm6p2
3250
3251 sem_status
3252 mepcop1_48_sem_cdclipi3_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3253 {
3254 #define FLD(f) abuf->fields.sfmt_cdsrli3_P0_P1.f
3255   sem_status status = SEM_STATUS_NORMAL;
3256   mepcop1_48_scache* abuf = sem;
3257   unsigned long long written = 0;
3258   PCADDR pc = abuf->addr;
3259   PCADDR npc = pc + 4;
3260
3261 {
3262 current_cpu->check_option_cp (pc);
3263   {
3264     DI opval = current_cpu->ivc2_cdclipi3 (pc, current_cpu->hardware.h_cr64[FLD (f_ivc2_5u13)], FLD (f_ivc2_6u2));
3265     if (UNLIKELY(current_cpu->trace_result_p))
3266       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u23) << ']' << ":=0x" << hex << opval << dec << "  ";
3267     current_cpu->h_cr64_set (FLD (f_ivc2_5u23), opval);
3268   }
3269 }
3270
3271   current_cpu->done_insn (npc, status);
3272   return status;
3273 #undef FLD
3274 }
3275
3276 // ********** cpmovi_h_P0_P1: cpmovi.h $crqp,$simm16p0
3277
3278 sem_status
3279 mepcop1_48_sem_cpmovi_h_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3280 {
3281 #define FLD(f) abuf->fields.sfmt_cpmovi_h_P0_P1.f
3282   sem_status status = SEM_STATUS_NORMAL;
3283   mepcop1_48_scache* abuf = sem;
3284   unsigned long long written = 0;
3285   PCADDR pc = abuf->addr;
3286   PCADDR npc = pc + 4;
3287
3288 {
3289 current_cpu->check_option_cp (pc);
3290   {
3291     DI opval = current_cpu->ivc2_cpmovi_h16 (pc, FLD (f_ivc2_simm16p0));
3292     if (UNLIKELY(current_cpu->trace_result_p))
3293       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
3294     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
3295   }
3296 }
3297
3298   current_cpu->done_insn (npc, status);
3299   return status;
3300 #undef FLD
3301 }
3302
3303 // ********** cpmoviu_w_P0_P1: cpmoviu.w $crqp,$imm16p0
3304
3305 sem_status
3306 mepcop1_48_sem_cpmoviu_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3307 {
3308 #define FLD(f) abuf->fields.sfmt_cpmoviu_w_P0_P1.f
3309   sem_status status = SEM_STATUS_NORMAL;
3310   mepcop1_48_scache* abuf = sem;
3311   unsigned long long written = 0;
3312   PCADDR pc = abuf->addr;
3313   PCADDR npc = pc + 4;
3314
3315 {
3316 current_cpu->check_option_cp (pc);
3317   {
3318     DI opval = current_cpu->ivc2_cpmoviu_w16 (pc, FLD (f_ivc2_imm16p0));
3319     if (UNLIKELY(current_cpu->trace_result_p))
3320       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
3321     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
3322   }
3323 }
3324
3325   current_cpu->done_insn (npc, status);
3326   return status;
3327 #undef FLD
3328 }
3329
3330 // ********** cpmovi_w_P0_P1: cpmovi.w $crqp,$simm16p0
3331
3332 sem_status
3333 mepcop1_48_sem_cpmovi_w_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3334 {
3335 #define FLD(f) abuf->fields.sfmt_cpmovi_h_P0_P1.f
3336   sem_status status = SEM_STATUS_NORMAL;
3337   mepcop1_48_scache* abuf = sem;
3338   unsigned long long written = 0;
3339   PCADDR pc = abuf->addr;
3340   PCADDR npc = pc + 4;
3341
3342 {
3343 current_cpu->check_option_cp (pc);
3344   {
3345     DI opval = current_cpu->ivc2_cpmovi_w16 (pc, FLD (f_ivc2_simm16p0));
3346     if (UNLIKELY(current_cpu->trace_result_p))
3347       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
3348     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
3349   }
3350 }
3351
3352   current_cpu->done_insn (npc, status);
3353   return status;
3354 #undef FLD
3355 }
3356
3357 // ********** cdmoviu_P0_P1: cdmoviu $crqp,$imm16p0
3358
3359 sem_status
3360 mepcop1_48_sem_cdmoviu_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3361 {
3362 #define FLD(f) abuf->fields.sfmt_cpmoviu_w_P0_P1.f
3363   sem_status status = SEM_STATUS_NORMAL;
3364   mepcop1_48_scache* abuf = sem;
3365   unsigned long long written = 0;
3366   PCADDR pc = abuf->addr;
3367   PCADDR npc = pc + 4;
3368
3369 {
3370 current_cpu->check_option_cp (pc);
3371   {
3372     DI opval = current_cpu->ivc2_cdmoviu16 (pc, FLD (f_ivc2_imm16p0));
3373     if (UNLIKELY(current_cpu->trace_result_p))
3374       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
3375     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
3376   }
3377 }
3378
3379   current_cpu->done_insn (npc, status);
3380   return status;
3381 #undef FLD
3382 }
3383
3384 // ********** cdmovi_P0_P1: cdmovi $crqp,$simm16p0
3385
3386 sem_status
3387 mepcop1_48_sem_cdmovi_P0_P1 (mep_ext1_cpu* current_cpu, mepcop1_48_scache* sem)
3388 {
3389 #define FLD(f) abuf->fields.sfmt_cpmovi_h_P0_P1.f
3390   sem_status status = SEM_STATUS_NORMAL;
3391   mepcop1_48_scache* abuf = sem;
3392   unsigned long long written = 0;
3393   PCADDR pc = abuf->addr;
3394   PCADDR npc = pc + 4;
3395
3396 {
3397 current_cpu->check_option_cp (pc);
3398   {
3399     DI opval = current_cpu->ivc2_cdmovi16 (pc, FLD (f_ivc2_simm16p0));
3400     if (UNLIKELY(current_cpu->trace_result_p))
3401       current_cpu->trace_stream << "cr64" << '[' << FLD (f_ivc2_5u13) << ']' << ":=0x" << hex << opval << dec << "  ";
3402     current_cpu->h_cr64_set (FLD (f_ivc2_5u13), opval);
3403   }
3404 }
3405
3406   current_cpu->done_insn (npc, status);
3407   return status;
3408 #undef FLD
3409 }
3410