1 /* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */
2 #line 1 "rx-decode.opc"
4 /* Copyright (C) 2012-2018 Free Software Foundation, Inc.
5 Contributed by Red Hat.
8 This file is part of the GNU opcodes library.
10 This library is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3, or (at your option)
15 It is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18 License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
23 MA 02110-1301, USA. */
30 #include "opcode/rx.h"
31 #include "libiberty.h"
33 #define RX_OPCODE_BIG_ENDIAN 0
37 RX_Opcode_Decoded * rx;
38 int (* getbyte)(void *);
49 /* These are for when the upper bits are "don't care" or "undefined". */
55 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
63 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
70 RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
71 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
82 #define ID(x) rx->id = RXO_##x
83 #define OP(n,t,r,a) (rx->op[n].type = t, \
85 rx->op[n].addend = a )
86 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
89 /* This is for the BWL and BW bitfields. */
90 static int SCALE[] = { 1, 2, 4, 0 };
91 /* This is for the prefix size enum. */
92 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
94 #define GET_SCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
95 #define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
97 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
98 16, 17, 0, 0, 0, 0, 0, 0 };
100 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
103 *C a constant (immediate) c
105 *I Register indirect, no offset
106 *Is Register indirect, with offset
107 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
108 *P standard displacement: type (r,[r]), reg, assumes UByte
109 *Pm memex displacement: type (r,[r]), reg, memex code
110 *cc condition code. */
112 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
113 #define DR(r) OP (0, RX_Operand_Register, r, 0)
114 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
115 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
116 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
117 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
119 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
120 #define SR(r) OP (1, RX_Operand_Register, r, 0)
121 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
122 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
123 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
124 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
125 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
126 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
127 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
129 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
130 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
131 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
132 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
133 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
134 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
135 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
136 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
138 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
139 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
140 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
141 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
143 #define F(f) store_flags(rx, f)
145 #define AU ATTRIBUTE_UNUSED
146 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
148 #define SYNTAX(x) rx->syntax = x
150 #define UNSUPPORTED() \
151 rx->syntax = "*unknown*"
153 #define IMM(sf) immediate (sf, 0, ld)
154 #define IMMex(sf) immediate (sf, 1, ld)
157 immediate (int sfield, int ex, LocalData * ld)
159 unsigned long i = 0, j;
163 #define B ((unsigned long) GETBYTE())
165 #if RX_OPCODE_BIG_ENDIAN
167 if (ex && (i & 0x80))
178 if (ex && (j & 0x80))
184 #if RX_OPCODE_BIG_ENDIAN
193 if (ex && (i & 0x800000))
197 #if RX_OPCODE_BIG_ENDIAN
204 if (ex && (i & 0x8000))
209 if (ex && (i & 0x80))
219 rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld)
223 ld->rx->op[n].reg = reg;
227 ld->rx->op[n].type = RX_Operand_Register;
230 ld->rx->op[n].type = RX_Operand_Zero_Indirect;
231 ld->rx->op[n].addend = 0;
234 ld->rx->op[n].type = RX_Operand_Indirect;
236 ld->rx->op[n].addend = disp * GET_PSCALE (size);
239 ld->rx->op[n].type = RX_Operand_Indirect;
241 #if RX_OPCODE_BIG_ENDIAN
242 disp = disp * 256 + GETBYTE ();
244 disp = disp + GETBYTE () * 256;
246 ld->rx->op[n].addend = disp * GET_PSCALE (size);
259 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
260 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
261 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
262 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
263 #define F_O___ rx->flags_0 = rx->flags_s = xO;
264 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
265 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
266 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
269 rx_decode_opcode (unsigned long pc AU,
270 RX_Opcode_Decoded * rx,
271 int (* getbyte)(void *),
274 LocalData lds, * ld = &lds;
275 unsigned char op[20] = {0};
278 lds.getbyte = getbyte;
282 memset (rx, 0, sizeof (*rx));
286 /*----------------------------------------------------------------------*/
290 switch (op[0] & 0xff)
297 printf ("\033[33m%s\033[0m %02x\n",
298 "/** 0000 0000 brk */",
302 #line 1029 "rx-decode.opc"
312 printf ("\033[33m%s\033[0m %02x\n",
313 "/** 0000 0001 dbt */",
317 #line 1032 "rx-decode.opc"
327 printf ("\033[33m%s\033[0m %02x\n",
328 "/** 0000 0010 rts */",
332 #line 810 "rx-decode.opc"
335 /*----------------------------------------------------------------------*/
345 printf ("\033[33m%s\033[0m %02x\n",
346 "/** 0000 0011 nop */",
350 #line 816 "rx-decode.opc"
353 /*----------------------------------------------------------------------*/
354 /* STRING FUNCTIONS */
360 /** 0000 0100 bra.a %a0 */
363 printf ("\033[33m%s\033[0m %02x\n",
364 "/** 0000 0100 bra.a %a0 */",
368 #line 788 "rx-decode.opc"
369 ID(branch); DC(pc + IMMex(3));
375 /** 0000 0101 bsr.a %a0 */
378 printf ("\033[33m%s\033[0m %02x\n",
379 "/** 0000 0101 bsr.a %a0 */",
383 #line 804 "rx-decode.opc"
384 ID(jsr); DC(pc + IMMex(3));
390 switch (op[1] & 0xff)
394 switch (op[2] & 0x00)
399 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
400 #line 546 "rx-decode.opc"
401 int mx AU = (op[1] >> 6) & 0x03;
402 #line 546 "rx-decode.opc"
403 int ss AU = op[1] & 0x03;
404 #line 546 "rx-decode.opc"
405 int rsrc AU = (op[2] >> 4) & 0x0f;
406 #line 546 "rx-decode.opc"
407 int rdst AU = op[2] & 0x0f;
410 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
411 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
412 op[0], op[1], op[2]);
413 printf (" mx = 0x%x,", mx);
414 printf (" ss = 0x%x,", ss);
415 printf (" rsrc = 0x%x,", rsrc);
416 printf (" rdst = 0x%x\n", rdst);
418 SYNTAX("sub %2%S2, %1");
419 #line 546 "rx-decode.opc"
420 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
428 switch (op[2] & 0x00)
437 switch (op[2] & 0x00)
446 switch (op[2] & 0x00)
455 switch (op[2] & 0x00)
460 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
461 #line 534 "rx-decode.opc"
462 int mx AU = (op[1] >> 6) & 0x03;
463 #line 534 "rx-decode.opc"
464 int ss AU = op[1] & 0x03;
465 #line 534 "rx-decode.opc"
466 int rsrc AU = (op[2] >> 4) & 0x0f;
467 #line 534 "rx-decode.opc"
468 int rdst AU = op[2] & 0x0f;
471 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
472 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
473 op[0], op[1], op[2]);
474 printf (" mx = 0x%x,", mx);
475 printf (" ss = 0x%x,", ss);
476 printf (" rsrc = 0x%x,", rsrc);
477 printf (" rdst = 0x%x\n", rdst);
479 SYNTAX("cmp %2%S2, %1");
480 #line 534 "rx-decode.opc"
481 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
483 /*----------------------------------------------------------------------*/
492 switch (op[2] & 0x00)
501 switch (op[2] & 0x00)
510 switch (op[2] & 0x00)
519 switch (op[2] & 0x00)
524 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
525 #line 510 "rx-decode.opc"
526 int mx AU = (op[1] >> 6) & 0x03;
527 #line 510 "rx-decode.opc"
528 int ss AU = op[1] & 0x03;
529 #line 510 "rx-decode.opc"
530 int rsrc AU = (op[2] >> 4) & 0x0f;
531 #line 510 "rx-decode.opc"
532 int rdst AU = op[2] & 0x0f;
535 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
536 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
537 op[0], op[1], op[2]);
538 printf (" mx = 0x%x,", mx);
539 printf (" ss = 0x%x,", ss);
540 printf (" rsrc = 0x%x,", rsrc);
541 printf (" rdst = 0x%x\n", rdst);
543 SYNTAX("add %1%S1, %0");
544 #line 510 "rx-decode.opc"
545 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
553 switch (op[2] & 0x00)
562 switch (op[2] & 0x00)
571 switch (op[2] & 0x00)
580 switch (op[2] & 0x00)
585 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
586 #line 653 "rx-decode.opc"
587 int mx AU = (op[1] >> 6) & 0x03;
588 #line 653 "rx-decode.opc"
589 int ss AU = op[1] & 0x03;
590 #line 653 "rx-decode.opc"
591 int rsrc AU = (op[2] >> 4) & 0x0f;
592 #line 653 "rx-decode.opc"
593 int rdst AU = op[2] & 0x0f;
596 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
597 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
598 op[0], op[1], op[2]);
599 printf (" mx = 0x%x,", mx);
600 printf (" ss = 0x%x,", ss);
601 printf (" rsrc = 0x%x,", rsrc);
602 printf (" rdst = 0x%x\n", rdst);
604 SYNTAX("mul %1%S1, %0");
605 #line 653 "rx-decode.opc"
606 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
614 switch (op[2] & 0x00)
623 switch (op[2] & 0x00)
632 switch (op[2] & 0x00)
641 switch (op[2] & 0x00)
646 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
647 #line 423 "rx-decode.opc"
648 int mx AU = (op[1] >> 6) & 0x03;
649 #line 423 "rx-decode.opc"
650 int ss AU = op[1] & 0x03;
651 #line 423 "rx-decode.opc"
652 int rsrc AU = (op[2] >> 4) & 0x0f;
653 #line 423 "rx-decode.opc"
654 int rdst AU = op[2] & 0x0f;
657 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
658 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
659 op[0], op[1], op[2]);
660 printf (" mx = 0x%x,", mx);
661 printf (" ss = 0x%x,", ss);
662 printf (" rsrc = 0x%x,", rsrc);
663 printf (" rdst = 0x%x\n", rdst);
665 SYNTAX("and %1%S1, %0");
666 #line 423 "rx-decode.opc"
667 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
675 switch (op[2] & 0x00)
684 switch (op[2] & 0x00)
693 switch (op[2] & 0x00)
702 switch (op[2] & 0x00)
707 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
708 #line 441 "rx-decode.opc"
709 int mx AU = (op[1] >> 6) & 0x03;
710 #line 441 "rx-decode.opc"
711 int ss AU = op[1] & 0x03;
712 #line 441 "rx-decode.opc"
713 int rsrc AU = (op[2] >> 4) & 0x0f;
714 #line 441 "rx-decode.opc"
715 int rdst AU = op[2] & 0x0f;
718 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
719 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
720 op[0], op[1], op[2]);
721 printf (" mx = 0x%x,", mx);
722 printf (" ss = 0x%x,", ss);
723 printf (" rsrc = 0x%x,", rsrc);
724 printf (" rdst = 0x%x\n", rdst);
726 SYNTAX("or %1%S1, %0");
727 #line 441 "rx-decode.opc"
728 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
736 switch (op[2] & 0x00)
745 switch (op[2] & 0x00)
754 switch (op[2] & 0x00)
763 switch (op[2] & 0xff)
767 switch (op[3] & 0x00)
772 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
773 #line 559 "rx-decode.opc"
774 int mx AU = (op[1] >> 6) & 0x03;
775 #line 559 "rx-decode.opc"
776 int sp AU = op[1] & 0x03;
777 #line 559 "rx-decode.opc"
778 int rsrc AU = (op[3] >> 4) & 0x0f;
779 #line 559 "rx-decode.opc"
780 int rdst AU = op[3] & 0x0f;
783 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
784 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
785 op[0], op[1], op[2], op[3]);
786 printf (" mx = 0x%x,", mx);
787 printf (" sp = 0x%x,", sp);
788 printf (" rsrc = 0x%x,", rsrc);
789 printf (" rdst = 0x%x\n", rdst);
791 SYNTAX("sbb %1%S1, %0");
792 #line 559 "rx-decode.opc"
793 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
795 /*----------------------------------------------------------------------*/
804 switch (op[3] & 0x00)
809 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
810 #line 598 "rx-decode.opc"
811 int mx AU = (op[1] >> 6) & 0x03;
812 #line 598 "rx-decode.opc"
813 int ss AU = op[1] & 0x03;
814 #line 598 "rx-decode.opc"
815 int rsrc AU = (op[3] >> 4) & 0x0f;
816 #line 598 "rx-decode.opc"
817 int rdst AU = op[3] & 0x0f;
820 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
821 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
822 op[0], op[1], op[2], op[3]);
823 printf (" mx = 0x%x,", mx);
824 printf (" ss = 0x%x,", ss);
825 printf (" rsrc = 0x%x,", rsrc);
826 printf (" rdst = 0x%x\n", rdst);
828 SYNTAX("max %1%S1, %0");
829 #line 598 "rx-decode.opc"
830 ID(max); SPm(ss, rsrc, mx); DR(rdst);
832 /*----------------------------------------------------------------------*/
841 switch (op[3] & 0x00)
846 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
847 #line 610 "rx-decode.opc"
848 int mx AU = (op[1] >> 6) & 0x03;
849 #line 610 "rx-decode.opc"
850 int ss AU = op[1] & 0x03;
851 #line 610 "rx-decode.opc"
852 int rsrc AU = (op[3] >> 4) & 0x0f;
853 #line 610 "rx-decode.opc"
854 int rdst AU = op[3] & 0x0f;
857 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
858 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
859 op[0], op[1], op[2], op[3]);
860 printf (" mx = 0x%x,", mx);
861 printf (" ss = 0x%x,", ss);
862 printf (" rsrc = 0x%x,", rsrc);
863 printf (" rdst = 0x%x\n", rdst);
865 SYNTAX("min %1%S1, %0");
866 #line 610 "rx-decode.opc"
867 ID(min); SPm(ss, rsrc, mx); DR(rdst);
869 /*----------------------------------------------------------------------*/
878 switch (op[3] & 0x00)
883 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
884 #line 668 "rx-decode.opc"
885 int mx AU = (op[1] >> 6) & 0x03;
886 #line 668 "rx-decode.opc"
887 int ss AU = op[1] & 0x03;
888 #line 668 "rx-decode.opc"
889 int rsrc AU = (op[3] >> 4) & 0x0f;
890 #line 668 "rx-decode.opc"
891 int rdst AU = op[3] & 0x0f;
894 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
895 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
896 op[0], op[1], op[2], op[3]);
897 printf (" mx = 0x%x,", mx);
898 printf (" ss = 0x%x,", ss);
899 printf (" rsrc = 0x%x,", rsrc);
900 printf (" rdst = 0x%x\n", rdst);
902 SYNTAX("emul %1%S1, %0");
903 #line 668 "rx-decode.opc"
904 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
906 /*----------------------------------------------------------------------*/
915 switch (op[3] & 0x00)
920 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
921 #line 680 "rx-decode.opc"
922 int mx AU = (op[1] >> 6) & 0x03;
923 #line 680 "rx-decode.opc"
924 int ss AU = op[1] & 0x03;
925 #line 680 "rx-decode.opc"
926 int rsrc AU = (op[3] >> 4) & 0x0f;
927 #line 680 "rx-decode.opc"
928 int rdst AU = op[3] & 0x0f;
931 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
932 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
933 op[0], op[1], op[2], op[3]);
934 printf (" mx = 0x%x,", mx);
935 printf (" ss = 0x%x,", ss);
936 printf (" rsrc = 0x%x,", rsrc);
937 printf (" rdst = 0x%x\n", rdst);
939 SYNTAX("emulu %1%S1, %0");
940 #line 680 "rx-decode.opc"
941 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
943 /*----------------------------------------------------------------------*/
952 switch (op[3] & 0x00)
957 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
958 #line 692 "rx-decode.opc"
959 int mx AU = (op[1] >> 6) & 0x03;
960 #line 692 "rx-decode.opc"
961 int ss AU = op[1] & 0x03;
962 #line 692 "rx-decode.opc"
963 int rsrc AU = (op[3] >> 4) & 0x0f;
964 #line 692 "rx-decode.opc"
965 int rdst AU = op[3] & 0x0f;
968 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
969 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
970 op[0], op[1], op[2], op[3]);
971 printf (" mx = 0x%x,", mx);
972 printf (" ss = 0x%x,", ss);
973 printf (" rsrc = 0x%x,", rsrc);
974 printf (" rdst = 0x%x\n", rdst);
976 SYNTAX("div %1%S1, %0");
977 #line 692 "rx-decode.opc"
978 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
980 /*----------------------------------------------------------------------*/
989 switch (op[3] & 0x00)
994 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
995 #line 704 "rx-decode.opc"
996 int mx AU = (op[1] >> 6) & 0x03;
997 #line 704 "rx-decode.opc"
998 int ss AU = op[1] & 0x03;
999 #line 704 "rx-decode.opc"
1000 int rsrc AU = (op[3] >> 4) & 0x0f;
1001 #line 704 "rx-decode.opc"
1002 int rdst AU = op[3] & 0x0f;
1005 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1006 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1007 op[0], op[1], op[2], op[3]);
1008 printf (" mx = 0x%x,", mx);
1009 printf (" ss = 0x%x,", ss);
1010 printf (" rsrc = 0x%x,", rsrc);
1011 printf (" rdst = 0x%x\n", rdst);
1013 SYNTAX("divu %1%S1, %0");
1014 #line 704 "rx-decode.opc"
1015 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1017 /*----------------------------------------------------------------------*/
1026 switch (op[3] & 0x00)
1031 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1032 #line 477 "rx-decode.opc"
1033 int mx AU = (op[1] >> 6) & 0x03;
1034 #line 477 "rx-decode.opc"
1035 int ss AU = op[1] & 0x03;
1036 #line 477 "rx-decode.opc"
1037 int rsrc AU = (op[3] >> 4) & 0x0f;
1038 #line 477 "rx-decode.opc"
1039 int rdst AU = op[3] & 0x0f;
1042 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1043 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1044 op[0], op[1], op[2], op[3]);
1045 printf (" mx = 0x%x,", mx);
1046 printf (" ss = 0x%x,", ss);
1047 printf (" rsrc = 0x%x,", rsrc);
1048 printf (" rdst = 0x%x\n", rdst);
1050 SYNTAX("tst %1%S1, %2");
1051 #line 477 "rx-decode.opc"
1052 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1054 /*----------------------------------------------------------------------*/
1063 switch (op[3] & 0x00)
1068 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1069 #line 456 "rx-decode.opc"
1070 int mx AU = (op[1] >> 6) & 0x03;
1071 #line 456 "rx-decode.opc"
1072 int ss AU = op[1] & 0x03;
1073 #line 456 "rx-decode.opc"
1074 int rsrc AU = (op[3] >> 4) & 0x0f;
1075 #line 456 "rx-decode.opc"
1076 int rdst AU = op[3] & 0x0f;
1079 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1080 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1081 op[0], op[1], op[2], op[3]);
1082 printf (" mx = 0x%x,", mx);
1083 printf (" ss = 0x%x,", ss);
1084 printf (" rsrc = 0x%x,", rsrc);
1085 printf (" rdst = 0x%x\n", rdst);
1087 SYNTAX("xor %1%S1, %0");
1088 #line 456 "rx-decode.opc"
1089 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1091 /*----------------------------------------------------------------------*/
1100 switch (op[3] & 0x00)
1105 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1106 #line 390 "rx-decode.opc"
1107 int mx AU = (op[1] >> 6) & 0x03;
1108 #line 390 "rx-decode.opc"
1109 int ss AU = op[1] & 0x03;
1110 #line 390 "rx-decode.opc"
1111 int rsrc AU = (op[3] >> 4) & 0x0f;
1112 #line 390 "rx-decode.opc"
1113 int rdst AU = op[3] & 0x0f;
1116 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1117 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1118 op[0], op[1], op[2], op[3]);
1119 printf (" mx = 0x%x,", mx);
1120 printf (" ss = 0x%x,", ss);
1121 printf (" rsrc = 0x%x,", rsrc);
1122 printf (" rdst = 0x%x\n", rdst);
1124 SYNTAX("xchg %1%S1, %0");
1125 #line 390 "rx-decode.opc"
1126 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1128 /*----------------------------------------------------------------------*/
1137 switch (op[3] & 0x00)
1142 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1143 #line 933 "rx-decode.opc"
1144 int mx AU = (op[1] >> 6) & 0x03;
1145 #line 933 "rx-decode.opc"
1146 int sd AU = op[1] & 0x03;
1147 #line 933 "rx-decode.opc"
1148 int rsrc AU = (op[3] >> 4) & 0x0f;
1149 #line 933 "rx-decode.opc"
1150 int rdst AU = op[3] & 0x0f;
1153 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1154 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1155 op[0], op[1], op[2], op[3]);
1156 printf (" mx = 0x%x,", mx);
1157 printf (" sd = 0x%x,", sd);
1158 printf (" rsrc = 0x%x,", rsrc);
1159 printf (" rdst = 0x%x\n", rdst);
1161 SYNTAX("itof %1%S1, %0");
1162 #line 933 "rx-decode.opc"
1163 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1165 /*----------------------------------------------------------------------*/
1174 switch (op[3] & 0x00)
1179 /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
1180 #line 1119 "rx-decode.opc"
1181 int mx AU = (op[1] >> 6) & 0x03;
1182 #line 1119 "rx-decode.opc"
1183 int sd AU = op[1] & 0x03;
1184 #line 1119 "rx-decode.opc"
1185 int rsrc AU = (op[3] >> 4) & 0x0f;
1186 #line 1119 "rx-decode.opc"
1187 int rdst AU = op[3] & 0x0f;
1190 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1191 "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
1192 op[0], op[1], op[2], op[3]);
1193 printf (" mx = 0x%x,", mx);
1194 printf (" sd = 0x%x,", sd);
1195 printf (" rsrc = 0x%x,", rsrc);
1196 printf (" rdst = 0x%x\n", rdst);
1198 SYNTAX("utof %1%S1, %0");
1199 #line 1119 "rx-decode.opc"
1200 ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1206 default: UNSUPPORTED(); break;
1211 switch (op[2] & 0xff)
1215 switch (op[3] & 0x00)
1218 goto op_semantics_7;
1224 switch (op[3] & 0x00)
1227 goto op_semantics_8;
1233 switch (op[3] & 0x00)
1236 goto op_semantics_9;
1242 switch (op[3] & 0x00)
1245 goto op_semantics_10;
1251 switch (op[3] & 0x00)
1254 goto op_semantics_11;
1260 switch (op[3] & 0x00)
1263 goto op_semantics_12;
1269 switch (op[3] & 0x00)
1272 goto op_semantics_13;
1278 switch (op[3] & 0x00)
1281 goto op_semantics_14;
1287 switch (op[3] & 0x00)
1290 goto op_semantics_15;
1296 switch (op[3] & 0x00)
1299 goto op_semantics_16;
1305 switch (op[3] & 0x00)
1308 goto op_semantics_17;
1314 switch (op[3] & 0x00)
1317 goto op_semantics_18;
1321 default: UNSUPPORTED(); break;
1326 switch (op[2] & 0xff)
1330 switch (op[3] & 0x00)
1333 goto op_semantics_7;
1339 switch (op[3] & 0x00)
1342 goto op_semantics_8;
1348 switch (op[3] & 0x00)
1351 goto op_semantics_9;
1357 switch (op[3] & 0x00)
1360 goto op_semantics_10;
1366 switch (op[3] & 0x00)
1369 goto op_semantics_11;
1375 switch (op[3] & 0x00)
1378 goto op_semantics_12;
1384 switch (op[3] & 0x00)
1387 goto op_semantics_13;
1393 switch (op[3] & 0x00)
1396 goto op_semantics_14;
1402 switch (op[3] & 0x00)
1405 goto op_semantics_15;
1411 switch (op[3] & 0x00)
1414 goto op_semantics_16;
1420 switch (op[3] & 0x00)
1423 goto op_semantics_17;
1429 switch (op[3] & 0x00)
1432 goto op_semantics_18;
1436 default: UNSUPPORTED(); break;
1441 switch (op[2] & 0xff)
1445 switch (op[3] & 0x00)
1448 goto op_semantics_7;
1454 switch (op[3] & 0x00)
1457 goto op_semantics_8;
1463 switch (op[3] & 0x00)
1466 goto op_semantics_9;
1472 switch (op[3] & 0x00)
1475 goto op_semantics_10;
1481 switch (op[3] & 0x00)
1484 goto op_semantics_11;
1490 switch (op[3] & 0x00)
1493 goto op_semantics_12;
1499 switch (op[3] & 0x00)
1502 goto op_semantics_13;
1508 switch (op[3] & 0x00)
1511 goto op_semantics_14;
1517 switch (op[3] & 0x00)
1520 goto op_semantics_15;
1526 switch (op[3] & 0x00)
1529 goto op_semantics_16;
1535 switch (op[3] & 0x00)
1538 goto op_semantics_17;
1544 switch (op[3] & 0x00)
1547 goto op_semantics_18;
1551 default: UNSUPPORTED(); break;
1556 switch (op[2] & 0x00)
1559 goto op_semantics_1;
1565 switch (op[2] & 0x00)
1568 goto op_semantics_1;
1574 switch (op[2] & 0x00)
1577 goto op_semantics_1;
1583 switch (op[2] & 0x00)
1586 goto op_semantics_1;
1592 switch (op[2] & 0x00)
1595 goto op_semantics_2;
1601 switch (op[2] & 0x00)
1604 goto op_semantics_2;
1610 switch (op[2] & 0x00)
1613 goto op_semantics_2;
1619 switch (op[2] & 0x00)
1622 goto op_semantics_2;
1628 switch (op[2] & 0x00)
1631 goto op_semantics_3;
1637 switch (op[2] & 0x00)
1640 goto op_semantics_3;
1646 switch (op[2] & 0x00)
1649 goto op_semantics_3;
1655 switch (op[2] & 0x00)
1658 goto op_semantics_3;
1664 switch (op[2] & 0x00)
1667 goto op_semantics_4;
1673 switch (op[2] & 0x00)
1676 goto op_semantics_4;
1682 switch (op[2] & 0x00)
1685 goto op_semantics_4;
1691 switch (op[2] & 0x00)
1694 goto op_semantics_4;
1700 switch (op[2] & 0x00)
1703 goto op_semantics_5;
1709 switch (op[2] & 0x00)
1712 goto op_semantics_5;
1718 switch (op[2] & 0x00)
1721 goto op_semantics_5;
1727 switch (op[2] & 0x00)
1730 goto op_semantics_5;
1736 switch (op[2] & 0x00)
1739 goto op_semantics_6;
1745 switch (op[2] & 0x00)
1748 goto op_semantics_6;
1754 switch (op[2] & 0x00)
1757 goto op_semantics_6;
1763 switch (op[2] & 0x00)
1766 goto op_semantics_6;
1772 switch (op[2] & 0xff)
1776 switch (op[3] & 0x00)
1779 goto op_semantics_7;
1785 switch (op[3] & 0x00)
1788 goto op_semantics_8;
1794 switch (op[3] & 0x00)
1797 goto op_semantics_9;
1803 switch (op[3] & 0x00)
1806 goto op_semantics_10;
1812 switch (op[3] & 0x00)
1815 goto op_semantics_11;
1821 switch (op[3] & 0x00)
1824 goto op_semantics_12;
1830 switch (op[3] & 0x00)
1833 goto op_semantics_13;
1839 switch (op[3] & 0x00)
1842 goto op_semantics_14;
1848 switch (op[3] & 0x00)
1851 goto op_semantics_15;
1857 switch (op[3] & 0x00)
1860 goto op_semantics_16;
1866 switch (op[3] & 0x00)
1869 goto op_semantics_17;
1875 switch (op[3] & 0x00)
1878 goto op_semantics_18;
1882 default: UNSUPPORTED(); break;
1887 switch (op[2] & 0xff)
1891 switch (op[3] & 0x00)
1894 goto op_semantics_7;
1900 switch (op[3] & 0x00)
1903 goto op_semantics_8;
1909 switch (op[3] & 0x00)
1912 goto op_semantics_9;
1918 switch (op[3] & 0x00)
1921 goto op_semantics_10;
1927 switch (op[3] & 0x00)
1930 goto op_semantics_11;
1936 switch (op[3] & 0x00)
1939 goto op_semantics_12;
1945 switch (op[3] & 0x00)
1948 goto op_semantics_13;
1954 switch (op[3] & 0x00)
1957 goto op_semantics_14;
1963 switch (op[3] & 0x00)
1966 goto op_semantics_15;
1972 switch (op[3] & 0x00)
1975 goto op_semantics_16;
1981 switch (op[3] & 0x00)
1984 goto op_semantics_17;
1990 switch (op[3] & 0x00)
1993 goto op_semantics_18;
1997 default: UNSUPPORTED(); break;
2002 switch (op[2] & 0xff)
2006 switch (op[3] & 0x00)
2009 goto op_semantics_7;
2015 switch (op[3] & 0x00)
2018 goto op_semantics_8;
2024 switch (op[3] & 0x00)
2027 goto op_semantics_9;
2033 switch (op[3] & 0x00)
2036 goto op_semantics_10;
2042 switch (op[3] & 0x00)
2045 goto op_semantics_11;
2051 switch (op[3] & 0x00)
2054 goto op_semantics_12;
2060 switch (op[3] & 0x00)
2063 goto op_semantics_13;
2069 switch (op[3] & 0x00)
2072 goto op_semantics_14;
2078 switch (op[3] & 0x00)
2081 goto op_semantics_15;
2087 switch (op[3] & 0x00)
2090 goto op_semantics_16;
2096 switch (op[3] & 0x00)
2099 goto op_semantics_17;
2105 switch (op[3] & 0x00)
2108 goto op_semantics_18;
2112 default: UNSUPPORTED(); break;
2117 switch (op[2] & 0xff)
2121 switch (op[3] & 0x00)
2124 goto op_semantics_7;
2130 switch (op[3] & 0x00)
2133 goto op_semantics_8;
2139 switch (op[3] & 0x00)
2142 goto op_semantics_9;
2148 switch (op[3] & 0x00)
2151 goto op_semantics_10;
2157 switch (op[3] & 0x00)
2160 goto op_semantics_11;
2166 switch (op[3] & 0x00)
2169 goto op_semantics_12;
2175 switch (op[3] & 0x00)
2178 goto op_semantics_13;
2184 switch (op[3] & 0x00)
2187 goto op_semantics_14;
2193 switch (op[3] & 0x00)
2196 goto op_semantics_15;
2202 switch (op[3] & 0x00)
2205 goto op_semantics_16;
2211 switch (op[3] & 0x00)
2214 goto op_semantics_17;
2220 switch (op[3] & 0x00)
2223 goto op_semantics_18;
2227 default: UNSUPPORTED(); break;
2232 switch (op[2] & 0x00)
2235 goto op_semantics_1;
2241 switch (op[2] & 0x00)
2244 goto op_semantics_1;
2250 switch (op[2] & 0x00)
2253 goto op_semantics_1;
2259 switch (op[2] & 0x00)
2262 goto op_semantics_1;
2268 switch (op[2] & 0x00)
2271 goto op_semantics_2;
2277 switch (op[2] & 0x00)
2280 goto op_semantics_2;
2286 switch (op[2] & 0x00)
2289 goto op_semantics_2;
2295 switch (op[2] & 0x00)
2298 goto op_semantics_2;
2304 switch (op[2] & 0x00)
2307 goto op_semantics_3;
2313 switch (op[2] & 0x00)
2316 goto op_semantics_3;
2322 switch (op[2] & 0x00)
2325 goto op_semantics_3;
2331 switch (op[2] & 0x00)
2334 goto op_semantics_3;
2340 switch (op[2] & 0x00)
2343 goto op_semantics_4;
2349 switch (op[2] & 0x00)
2352 goto op_semantics_4;
2358 switch (op[2] & 0x00)
2361 goto op_semantics_4;
2367 switch (op[2] & 0x00)
2370 goto op_semantics_4;
2376 switch (op[2] & 0x00)
2379 goto op_semantics_5;
2385 switch (op[2] & 0x00)
2388 goto op_semantics_5;
2394 switch (op[2] & 0x00)
2397 goto op_semantics_5;
2403 switch (op[2] & 0x00)
2406 goto op_semantics_5;
2412 switch (op[2] & 0x00)
2415 goto op_semantics_6;
2421 switch (op[2] & 0x00)
2424 goto op_semantics_6;
2430 switch (op[2] & 0x00)
2433 goto op_semantics_6;
2439 switch (op[2] & 0x00)
2442 goto op_semantics_6;
2448 switch (op[2] & 0xff)
2452 switch (op[3] & 0x00)
2455 goto op_semantics_7;
2461 switch (op[3] & 0x00)
2466 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2467 #line 498 "rx-decode.opc"
2468 int ss AU = op[1] & 0x03;
2469 #line 498 "rx-decode.opc"
2470 int rsrc AU = (op[3] >> 4) & 0x0f;
2471 #line 498 "rx-decode.opc"
2472 int rdst AU = op[3] & 0x0f;
2475 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2476 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2477 op[0], op[1], op[2], op[3]);
2478 printf (" ss = 0x%x,", ss);
2479 printf (" rsrc = 0x%x,", rsrc);
2480 printf (" rdst = 0x%x\n", rdst);
2482 SYNTAX("adc %1%S1, %0");
2483 #line 498 "rx-decode.opc"
2484 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2486 /*----------------------------------------------------------------------*/
2495 switch (op[3] & 0x00)
2498 goto op_semantics_8;
2504 switch (op[3] & 0x00)
2507 goto op_semantics_9;
2513 switch (op[3] & 0x00)
2516 goto op_semantics_10;
2522 switch (op[3] & 0x00)
2525 goto op_semantics_11;
2531 switch (op[3] & 0x00)
2534 goto op_semantics_12;
2540 switch (op[3] & 0x00)
2543 goto op_semantics_13;
2549 switch (op[3] & 0x00)
2552 goto op_semantics_14;
2558 switch (op[3] & 0x00)
2561 goto op_semantics_15;
2567 switch (op[3] & 0x00)
2570 goto op_semantics_16;
2576 switch (op[3] & 0x00)
2579 goto op_semantics_17;
2585 switch (op[3] & 0x00)
2588 goto op_semantics_18;
2592 default: UNSUPPORTED(); break;
2597 switch (op[2] & 0xff)
2601 switch (op[3] & 0x00)
2604 goto op_semantics_7;
2610 switch (op[3] & 0x00)
2613 goto op_semantics_19;
2619 switch (op[3] & 0x00)
2622 goto op_semantics_8;
2628 switch (op[3] & 0x00)
2631 goto op_semantics_9;
2637 switch (op[3] & 0x00)
2640 goto op_semantics_10;
2646 switch (op[3] & 0x00)
2649 goto op_semantics_11;
2655 switch (op[3] & 0x00)
2658 goto op_semantics_12;
2664 switch (op[3] & 0x00)
2667 goto op_semantics_13;
2673 switch (op[3] & 0x00)
2676 goto op_semantics_14;
2682 switch (op[3] & 0x00)
2685 goto op_semantics_15;
2691 switch (op[3] & 0x00)
2694 goto op_semantics_16;
2700 switch (op[3] & 0x00)
2703 goto op_semantics_17;
2709 switch (op[3] & 0x00)
2712 goto op_semantics_18;
2716 default: UNSUPPORTED(); break;
2721 switch (op[2] & 0xff)
2725 switch (op[3] & 0x00)
2728 goto op_semantics_7;
2734 switch (op[3] & 0x00)
2737 goto op_semantics_19;
2743 switch (op[3] & 0x00)
2746 goto op_semantics_8;
2752 switch (op[3] & 0x00)
2755 goto op_semantics_9;
2761 switch (op[3] & 0x00)
2764 goto op_semantics_10;
2770 switch (op[3] & 0x00)
2773 goto op_semantics_11;
2779 switch (op[3] & 0x00)
2782 goto op_semantics_12;
2788 switch (op[3] & 0x00)
2791 goto op_semantics_13;
2797 switch (op[3] & 0x00)
2800 goto op_semantics_14;
2806 switch (op[3] & 0x00)
2809 goto op_semantics_15;
2815 switch (op[3] & 0x00)
2818 goto op_semantics_16;
2824 switch (op[3] & 0x00)
2827 goto op_semantics_17;
2833 switch (op[3] & 0x00)
2836 goto op_semantics_18;
2840 default: UNSUPPORTED(); break;
2845 switch (op[2] & 0xff)
2849 switch (op[3] & 0x00)
2852 goto op_semantics_7;
2858 switch (op[3] & 0x00)
2861 goto op_semantics_19;
2867 switch (op[3] & 0x00)
2870 goto op_semantics_8;
2876 switch (op[3] & 0x00)
2879 goto op_semantics_9;
2885 switch (op[3] & 0x00)
2888 goto op_semantics_10;
2894 switch (op[3] & 0x00)
2897 goto op_semantics_11;
2903 switch (op[3] & 0x00)
2906 goto op_semantics_12;
2912 switch (op[3] & 0x00)
2915 goto op_semantics_13;
2921 switch (op[3] & 0x00)
2924 goto op_semantics_14;
2930 switch (op[3] & 0x00)
2933 goto op_semantics_15;
2939 switch (op[3] & 0x00)
2942 goto op_semantics_16;
2948 switch (op[3] & 0x00)
2951 goto op_semantics_17;
2957 switch (op[3] & 0x00)
2960 goto op_semantics_18;
2964 default: UNSUPPORTED(); break;
2969 switch (op[2] & 0x00)
2972 goto op_semantics_1;
2978 switch (op[2] & 0x00)
2981 goto op_semantics_1;
2987 switch (op[2] & 0x00)
2990 goto op_semantics_1;
2996 switch (op[2] & 0x00)
2999 goto op_semantics_1;
3005 switch (op[2] & 0x00)
3008 goto op_semantics_2;
3014 switch (op[2] & 0x00)
3017 goto op_semantics_2;
3023 switch (op[2] & 0x00)
3026 goto op_semantics_2;
3032 switch (op[2] & 0x00)
3035 goto op_semantics_2;
3041 switch (op[2] & 0x00)
3044 goto op_semantics_3;
3050 switch (op[2] & 0x00)
3053 goto op_semantics_3;
3059 switch (op[2] & 0x00)
3062 goto op_semantics_3;
3068 switch (op[2] & 0x00)
3071 goto op_semantics_3;
3077 switch (op[2] & 0x00)
3080 goto op_semantics_4;
3086 switch (op[2] & 0x00)
3089 goto op_semantics_4;
3095 switch (op[2] & 0x00)
3098 goto op_semantics_4;
3104 switch (op[2] & 0x00)
3107 goto op_semantics_4;
3113 switch (op[2] & 0x00)
3116 goto op_semantics_5;
3122 switch (op[2] & 0x00)
3125 goto op_semantics_5;
3131 switch (op[2] & 0x00)
3134 goto op_semantics_5;
3140 switch (op[2] & 0x00)
3143 goto op_semantics_5;
3149 switch (op[2] & 0x00)
3152 goto op_semantics_6;
3158 switch (op[2] & 0x00)
3161 goto op_semantics_6;
3167 switch (op[2] & 0x00)
3170 goto op_semantics_6;
3176 switch (op[2] & 0x00)
3179 goto op_semantics_6;
3185 switch (op[2] & 0xff)
3189 switch (op[3] & 0x00)
3192 goto op_semantics_7;
3198 switch (op[3] & 0x00)
3201 goto op_semantics_8;
3207 switch (op[3] & 0x00)
3210 goto op_semantics_9;
3216 switch (op[3] & 0x00)
3219 goto op_semantics_10;
3225 switch (op[3] & 0x00)
3228 goto op_semantics_11;
3234 switch (op[3] & 0x00)
3237 goto op_semantics_12;
3243 switch (op[3] & 0x00)
3246 goto op_semantics_13;
3252 switch (op[3] & 0x00)
3255 goto op_semantics_14;
3261 switch (op[3] & 0x00)
3264 goto op_semantics_15;
3270 switch (op[3] & 0x00)
3273 goto op_semantics_16;
3279 switch (op[3] & 0x00)
3282 goto op_semantics_17;
3288 switch (op[3] & 0x00)
3291 goto op_semantics_18;
3295 default: UNSUPPORTED(); break;
3300 switch (op[2] & 0xff)
3304 switch (op[3] & 0x00)
3307 goto op_semantics_7;
3313 switch (op[3] & 0x00)
3316 goto op_semantics_8;
3322 switch (op[3] & 0x00)
3325 goto op_semantics_9;
3331 switch (op[3] & 0x00)
3334 goto op_semantics_10;
3340 switch (op[3] & 0x00)
3343 goto op_semantics_11;
3349 switch (op[3] & 0x00)
3352 goto op_semantics_12;
3358 switch (op[3] & 0x00)
3361 goto op_semantics_13;
3367 switch (op[3] & 0x00)
3370 goto op_semantics_14;
3376 switch (op[3] & 0x00)
3379 goto op_semantics_15;
3385 switch (op[3] & 0x00)
3388 goto op_semantics_16;
3394 switch (op[3] & 0x00)
3397 goto op_semantics_17;
3403 switch (op[3] & 0x00)
3406 goto op_semantics_18;
3410 default: UNSUPPORTED(); break;
3415 switch (op[2] & 0xff)
3419 switch (op[3] & 0x00)
3422 goto op_semantics_7;
3428 switch (op[3] & 0x00)
3431 goto op_semantics_8;
3437 switch (op[3] & 0x00)
3440 goto op_semantics_9;
3446 switch (op[3] & 0x00)
3449 goto op_semantics_10;
3455 switch (op[3] & 0x00)
3458 goto op_semantics_11;
3464 switch (op[3] & 0x00)
3467 goto op_semantics_12;
3473 switch (op[3] & 0x00)
3476 goto op_semantics_13;
3482 switch (op[3] & 0x00)
3485 goto op_semantics_14;
3491 switch (op[3] & 0x00)
3494 goto op_semantics_15;
3500 switch (op[3] & 0x00)
3503 goto op_semantics_16;
3509 switch (op[3] & 0x00)
3512 goto op_semantics_17;
3518 switch (op[3] & 0x00)
3521 goto op_semantics_18;
3525 default: UNSUPPORTED(); break;
3530 switch (op[2] & 0xff)
3534 switch (op[3] & 0x00)
3537 goto op_semantics_7;
3543 switch (op[3] & 0x00)
3546 goto op_semantics_8;
3552 switch (op[3] & 0x00)
3555 goto op_semantics_9;
3561 switch (op[3] & 0x00)
3564 goto op_semantics_10;
3570 switch (op[3] & 0x00)
3573 goto op_semantics_11;
3579 switch (op[3] & 0x00)
3582 goto op_semantics_12;
3588 switch (op[3] & 0x00)
3591 goto op_semantics_13;
3597 switch (op[3] & 0x00)
3600 goto op_semantics_14;
3606 switch (op[3] & 0x00)
3609 goto op_semantics_15;
3615 switch (op[3] & 0x00)
3618 goto op_semantics_16;
3624 switch (op[3] & 0x00)
3627 goto op_semantics_17;
3633 switch (op[3] & 0x00)
3636 goto op_semantics_18;
3640 default: UNSUPPORTED(); break;
3643 default: UNSUPPORTED(); break;
3655 /** 0000 1dsp bra.s %a0 */
3656 #line 779 "rx-decode.opc"
3657 int dsp AU = op[0] & 0x07;
3660 printf ("\033[33m%s\033[0m %02x\n",
3661 "/** 0000 1dsp bra.s %a0 */",
3663 printf (" dsp = 0x%x\n", dsp);
3665 SYNTAX("bra.s %a0");
3666 #line 779 "rx-decode.opc"
3667 ID(branch); DC(pc + dsp3map[dsp]);
3688 /** 0001 n dsp b%1.s %a0 */
3689 #line 769 "rx-decode.opc"
3690 int n AU = (op[0] >> 3) & 0x01;
3691 #line 769 "rx-decode.opc"
3692 int dsp AU = op[0] & 0x07;
3695 printf ("\033[33m%s\033[0m %02x\n",
3696 "/** 0001 n dsp b%1.s %a0 */",
3698 printf (" n = 0x%x,", n);
3699 printf (" dsp = 0x%x\n", dsp);
3701 SYNTAX("b%1.s %a0");
3702 #line 769 "rx-decode.opc"
3703 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3723 /** 0010 cond b%1.b %a0 */
3724 #line 772 "rx-decode.opc"
3725 int cond AU = op[0] & 0x0f;
3728 printf ("\033[33m%s\033[0m %02x\n",
3729 "/** 0010 cond b%1.b %a0 */",
3731 printf (" cond = 0x%x\n", cond);
3733 SYNTAX("b%1.b %a0");
3734 #line 772 "rx-decode.opc"
3735 ID(branch); Scc(cond); DC(pc + IMMex (1));
3741 /** 0010 1110 bra.b %a0 */
3744 printf ("\033[33m%s\033[0m %02x\n",
3745 "/** 0010 1110 bra.b %a0 */",
3748 SYNTAX("bra.b %a0");
3749 #line 782 "rx-decode.opc"
3750 ID(branch); DC(pc + IMMex(1));
3756 /** 0011 1000 bra.w %a0 */
3759 printf ("\033[33m%s\033[0m %02x\n",
3760 "/** 0011 1000 bra.w %a0 */",
3763 SYNTAX("bra.w %a0");
3764 #line 785 "rx-decode.opc"
3765 ID(branch); DC(pc + IMMex(2));
3771 /** 0011 1001 bsr.w %a0 */
3774 printf ("\033[33m%s\033[0m %02x\n",
3775 "/** 0011 1001 bsr.w %a0 */",
3778 SYNTAX("bsr.w %a0");
3779 #line 801 "rx-decode.opc"
3780 ID(jsr); DC(pc + IMMex(2));
3787 /** 0011 101c b%1.w %a0 */
3788 #line 775 "rx-decode.opc"
3789 int c AU = op[0] & 0x01;
3792 printf ("\033[33m%s\033[0m %02x\n",
3793 "/** 0011 101c b%1.w %a0 */",
3795 printf (" c = 0x%x\n", c);
3797 SYNTAX("b%1.w %a0");
3798 #line 775 "rx-decode.opc"
3799 ID(branch); Scc(c); DC(pc + IMMex (2));
3806 switch (op[1] & 0x00)
3811 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3812 #line 311 "rx-decode.opc"
3813 int sz AU = op[0] & 0x03;
3814 #line 311 "rx-decode.opc"
3815 int d AU = (op[1] >> 7) & 0x01;
3816 #line 311 "rx-decode.opc"
3817 int dst AU = (op[1] >> 4) & 0x07;
3818 #line 311 "rx-decode.opc"
3819 int sppp AU = op[1] & 0x0f;
3822 printf ("\033[33m%s\033[0m %02x %02x\n",
3823 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3825 printf (" sz = 0x%x,", sz);
3826 printf (" d = 0x%x,", d);
3827 printf (" dst = 0x%x,", dst);
3828 printf (" sppp = 0x%x\n", sppp);
3830 SYNTAX("mov%s #%1, %0");
3831 #line 311 "rx-decode.opc"
3832 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3840 switch (op[1] & 0x00)
3843 goto op_semantics_20;
3849 switch (op[1] & 0x00)
3852 goto op_semantics_20;
3858 switch (op[1] & 0x00)
3862 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3863 #line 408 "rx-decode.opc"
3864 int rega AU = (op[1] >> 4) & 0x0f;
3865 #line 408 "rx-decode.opc"
3866 int regb AU = op[1] & 0x0f;
3869 printf ("\033[33m%s\033[0m %02x %02x\n",
3870 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3872 printf (" rega = 0x%x,", rega);
3873 printf (" regb = 0x%x\n", regb);
3875 SYNTAX("rtsd #%1, %2-%0");
3876 #line 408 "rx-decode.opc"
3877 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3879 /*----------------------------------------------------------------------*/
3888 switch (op[1] & 0x00)
3893 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3894 #line 543 "rx-decode.opc"
3895 int ss AU = op[0] & 0x03;
3896 #line 543 "rx-decode.opc"
3897 int rsrc AU = (op[1] >> 4) & 0x0f;
3898 #line 543 "rx-decode.opc"
3899 int rdst AU = op[1] & 0x0f;
3902 printf ("\033[33m%s\033[0m %02x %02x\n",
3903 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3905 printf (" ss = 0x%x,", ss);
3906 printf (" rsrc = 0x%x,", rsrc);
3907 printf (" rdst = 0x%x\n", rdst);
3909 SYNTAX("sub %2%S2, %1");
3910 #line 543 "rx-decode.opc"
3911 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3919 switch (op[1] & 0x00)
3922 goto op_semantics_21;
3928 switch (op[1] & 0x00)
3931 goto op_semantics_21;
3937 switch (op[1] & 0x00)
3940 goto op_semantics_21;
3946 switch (op[1] & 0x00)
3951 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3952 #line 531 "rx-decode.opc"
3953 int ss AU = op[0] & 0x03;
3954 #line 531 "rx-decode.opc"
3955 int rsrc AU = (op[1] >> 4) & 0x0f;
3956 #line 531 "rx-decode.opc"
3957 int rdst AU = op[1] & 0x0f;
3960 printf ("\033[33m%s\033[0m %02x %02x\n",
3961 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3963 printf (" ss = 0x%x,", ss);
3964 printf (" rsrc = 0x%x,", rsrc);
3965 printf (" rdst = 0x%x\n", rdst);
3967 SYNTAX("cmp %2%S2, %1");
3968 #line 531 "rx-decode.opc"
3969 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3977 switch (op[1] & 0x00)
3980 goto op_semantics_22;
3986 switch (op[1] & 0x00)
3989 goto op_semantics_22;
3995 switch (op[1] & 0x00)
3998 goto op_semantics_22;
4004 switch (op[1] & 0x00)
4009 /** 0100 10ss rsrc rdst add %1%S1, %0 */
4010 #line 507 "rx-decode.opc"
4011 int ss AU = op[0] & 0x03;
4012 #line 507 "rx-decode.opc"
4013 int rsrc AU = (op[1] >> 4) & 0x0f;
4014 #line 507 "rx-decode.opc"
4015 int rdst AU = op[1] & 0x0f;
4018 printf ("\033[33m%s\033[0m %02x %02x\n",
4019 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
4021 printf (" ss = 0x%x,", ss);
4022 printf (" rsrc = 0x%x,", rsrc);
4023 printf (" rdst = 0x%x\n", rdst);
4025 SYNTAX("add %1%S1, %0");
4026 #line 507 "rx-decode.opc"
4027 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
4035 switch (op[1] & 0x00)
4038 goto op_semantics_23;
4044 switch (op[1] & 0x00)
4047 goto op_semantics_23;
4053 switch (op[1] & 0x00)
4056 goto op_semantics_23;
4062 switch (op[1] & 0x00)
4067 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
4068 #line 650 "rx-decode.opc"
4069 int ss AU = op[0] & 0x03;
4070 #line 650 "rx-decode.opc"
4071 int rsrc AU = (op[1] >> 4) & 0x0f;
4072 #line 650 "rx-decode.opc"
4073 int rdst AU = op[1] & 0x0f;
4076 printf ("\033[33m%s\033[0m %02x %02x\n",
4077 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
4079 printf (" ss = 0x%x,", ss);
4080 printf (" rsrc = 0x%x,", rsrc);
4081 printf (" rdst = 0x%x\n", rdst);
4083 SYNTAX("mul %1%S1, %0");
4084 #line 650 "rx-decode.opc"
4085 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
4093 switch (op[1] & 0x00)
4096 goto op_semantics_24;
4102 switch (op[1] & 0x00)
4105 goto op_semantics_24;
4111 switch (op[1] & 0x00)
4114 goto op_semantics_24;
4120 switch (op[1] & 0x00)
4125 /** 0101 00ss rsrc rdst and %1%S1, %0 */
4126 #line 420 "rx-decode.opc"
4127 int ss AU = op[0] & 0x03;
4128 #line 420 "rx-decode.opc"
4129 int rsrc AU = (op[1] >> 4) & 0x0f;
4130 #line 420 "rx-decode.opc"
4131 int rdst AU = op[1] & 0x0f;
4134 printf ("\033[33m%s\033[0m %02x %02x\n",
4135 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
4137 printf (" ss = 0x%x,", ss);
4138 printf (" rsrc = 0x%x,", rsrc);
4139 printf (" rdst = 0x%x\n", rdst);
4141 SYNTAX("and %1%S1, %0");
4142 #line 420 "rx-decode.opc"
4143 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
4151 switch (op[1] & 0x00)
4154 goto op_semantics_25;
4160 switch (op[1] & 0x00)
4163 goto op_semantics_25;
4169 switch (op[1] & 0x00)
4172 goto op_semantics_25;
4178 switch (op[1] & 0x00)
4183 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4184 #line 438 "rx-decode.opc"
4185 int ss AU = op[0] & 0x03;
4186 #line 438 "rx-decode.opc"
4187 int rsrc AU = (op[1] >> 4) & 0x0f;
4188 #line 438 "rx-decode.opc"
4189 int rdst AU = op[1] & 0x0f;
4192 printf ("\033[33m%s\033[0m %02x %02x\n",
4193 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4195 printf (" ss = 0x%x,", ss);
4196 printf (" rsrc = 0x%x,", rsrc);
4197 printf (" rdst = 0x%x\n", rdst);
4199 SYNTAX("or %1%S1, %0");
4200 #line 438 "rx-decode.opc"
4201 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4209 switch (op[1] & 0x00)
4212 goto op_semantics_26;
4218 switch (op[1] & 0x00)
4221 goto op_semantics_26;
4227 switch (op[1] & 0x00)
4230 goto op_semantics_26;
4236 switch (op[1] & 0x00)
4241 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4242 #line 359 "rx-decode.opc"
4243 int s AU = (op[0] >> 2) & 0x01;
4244 #line 359 "rx-decode.opc"
4245 int ss AU = op[0] & 0x03;
4246 #line 359 "rx-decode.opc"
4247 int rsrc AU = (op[1] >> 4) & 0x0f;
4248 #line 359 "rx-decode.opc"
4249 int rdst AU = op[1] & 0x0f;
4252 printf ("\033[33m%s\033[0m %02x %02x\n",
4253 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4255 printf (" s = 0x%x,", s);
4256 printf (" ss = 0x%x,", ss);
4257 printf (" rsrc = 0x%x,", rsrc);
4258 printf (" rdst = 0x%x\n", rdst);
4260 SYNTAX("movu%s %1, %0");
4261 #line 359 "rx-decode.opc"
4262 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
4270 switch (op[1] & 0x00)
4273 goto op_semantics_27;
4279 switch (op[1] & 0x00)
4282 goto op_semantics_27;
4288 switch (op[1] & 0x00)
4291 goto op_semantics_27;
4297 switch (op[1] & 0x00)
4300 goto op_semantics_27;
4306 switch (op[1] & 0x00)
4309 goto op_semantics_27;
4315 switch (op[1] & 0x00)
4318 goto op_semantics_27;
4324 switch (op[1] & 0x00)
4327 goto op_semantics_27;
4333 switch (op[1] & 0x00)
4337 /** 0110 0000 immm rdst sub #%2, %0 */
4338 #line 540 "rx-decode.opc"
4339 int immm AU = (op[1] >> 4) & 0x0f;
4340 #line 540 "rx-decode.opc"
4341 int rdst AU = op[1] & 0x0f;
4344 printf ("\033[33m%s\033[0m %02x %02x\n",
4345 "/** 0110 0000 immm rdst sub #%2, %0 */",
4347 printf (" immm = 0x%x,", immm);
4348 printf (" rdst = 0x%x\n", rdst);
4350 SYNTAX("sub #%2, %0");
4351 #line 540 "rx-decode.opc"
4352 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4360 switch (op[1] & 0x00)
4364 /** 0110 0001 immm rdst cmp #%2, %1 */
4365 #line 522 "rx-decode.opc"
4366 int immm AU = (op[1] >> 4) & 0x0f;
4367 #line 522 "rx-decode.opc"
4368 int rdst AU = op[1] & 0x0f;
4371 printf ("\033[33m%s\033[0m %02x %02x\n",
4372 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4374 printf (" immm = 0x%x,", immm);
4375 printf (" rdst = 0x%x\n", rdst);
4377 SYNTAX("cmp #%2, %1");
4378 #line 522 "rx-decode.opc"
4379 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4387 switch (op[1] & 0x00)
4391 /** 0110 0010 immm rdst add #%1, %0 */
4392 #line 504 "rx-decode.opc"
4393 int immm AU = (op[1] >> 4) & 0x0f;
4394 #line 504 "rx-decode.opc"
4395 int rdst AU = op[1] & 0x0f;
4398 printf ("\033[33m%s\033[0m %02x %02x\n",
4399 "/** 0110 0010 immm rdst add #%1, %0 */",
4401 printf (" immm = 0x%x,", immm);
4402 printf (" rdst = 0x%x\n", rdst);
4404 SYNTAX("add #%1, %0");
4405 #line 504 "rx-decode.opc"
4406 ID(add); SC(immm); DR(rdst); F_OSZC;
4414 switch (op[1] & 0x00)
4418 /** 0110 0011 immm rdst mul #%1, %0 */
4419 #line 616 "rx-decode.opc"
4420 int immm AU = (op[1] >> 4) & 0x0f;
4421 #line 616 "rx-decode.opc"
4422 int rdst AU = op[1] & 0x0f;
4425 printf ("\033[33m%s\033[0m %02x %02x\n",
4426 "/** 0110 0011 immm rdst mul #%1, %0 */",
4428 printf (" immm = 0x%x,", immm);
4429 printf (" rdst = 0x%x\n", rdst);
4431 SYNTAX("mul #%1, %0");
4432 #line 616 "rx-decode.opc"
4433 if (immm == 1 && rdst == 0)
4436 SYNTAX ("nop\t; mul\t#1, r0");
4442 DR(rdst); SC(immm); F_____;
4450 switch (op[1] & 0x00)
4454 /** 0110 0100 immm rdst and #%1, %0 */
4455 #line 414 "rx-decode.opc"
4456 int immm AU = (op[1] >> 4) & 0x0f;
4457 #line 414 "rx-decode.opc"
4458 int rdst AU = op[1] & 0x0f;
4461 printf ("\033[33m%s\033[0m %02x %02x\n",
4462 "/** 0110 0100 immm rdst and #%1, %0 */",
4464 printf (" immm = 0x%x,", immm);
4465 printf (" rdst = 0x%x\n", rdst);
4467 SYNTAX("and #%1, %0");
4468 #line 414 "rx-decode.opc"
4469 ID(and); SC(immm); DR(rdst); F__SZ_;
4477 switch (op[1] & 0x00)
4481 /** 0110 0101 immm rdst or #%1, %0 */
4482 #line 432 "rx-decode.opc"
4483 int immm AU = (op[1] >> 4) & 0x0f;
4484 #line 432 "rx-decode.opc"
4485 int rdst AU = op[1] & 0x0f;
4488 printf ("\033[33m%s\033[0m %02x %02x\n",
4489 "/** 0110 0101 immm rdst or #%1, %0 */",
4491 printf (" immm = 0x%x,", immm);
4492 printf (" rdst = 0x%x\n", rdst);
4494 SYNTAX("or #%1, %0");
4495 #line 432 "rx-decode.opc"
4496 ID(or); SC(immm); DR(rdst); F__SZ_;
4504 switch (op[1] & 0x00)
4508 /** 0110 0110 immm rdst mov%s #%1, %0 */
4509 #line 308 "rx-decode.opc"
4510 int immm AU = (op[1] >> 4) & 0x0f;
4511 #line 308 "rx-decode.opc"
4512 int rdst AU = op[1] & 0x0f;
4515 printf ("\033[33m%s\033[0m %02x %02x\n",
4516 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4518 printf (" immm = 0x%x,", immm);
4519 printf (" rdst = 0x%x\n", rdst);
4521 SYNTAX("mov%s #%1, %0");
4522 #line 308 "rx-decode.opc"
4523 ID(mov); DR(rdst); SC(immm); F_____;
4531 /** 0110 0111 rtsd #%1 */
4534 printf ("\033[33m%s\033[0m %02x\n",
4535 "/** 0110 0111 rtsd #%1 */",
4539 #line 405 "rx-decode.opc"
4540 ID(rtsd); SC(IMM(1) * 4);
4546 switch (op[1] & 0x00)
4551 /** 0110 100i mmmm rdst shlr #%2, %0 */
4552 #line 730 "rx-decode.opc"
4553 int i AU = op[0] & 0x01;
4554 #line 730 "rx-decode.opc"
4555 int mmmm AU = (op[1] >> 4) & 0x0f;
4556 #line 730 "rx-decode.opc"
4557 int rdst AU = op[1] & 0x0f;
4560 printf ("\033[33m%s\033[0m %02x %02x\n",
4561 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4563 printf (" i = 0x%x,", i);
4564 printf (" mmmm = 0x%x,", mmmm);
4565 printf (" rdst = 0x%x\n", rdst);
4567 SYNTAX("shlr #%2, %0");
4568 #line 730 "rx-decode.opc"
4569 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4577 switch (op[1] & 0x00)
4580 goto op_semantics_28;
4586 switch (op[1] & 0x00)
4591 /** 0110 101i mmmm rdst shar #%2, %0 */
4592 #line 720 "rx-decode.opc"
4593 int i AU = op[0] & 0x01;
4594 #line 720 "rx-decode.opc"
4595 int mmmm AU = (op[1] >> 4) & 0x0f;
4596 #line 720 "rx-decode.opc"
4597 int rdst AU = op[1] & 0x0f;
4600 printf ("\033[33m%s\033[0m %02x %02x\n",
4601 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4603 printf (" i = 0x%x,", i);
4604 printf (" mmmm = 0x%x,", mmmm);
4605 printf (" rdst = 0x%x\n", rdst);
4607 SYNTAX("shar #%2, %0");
4608 #line 720 "rx-decode.opc"
4609 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4617 switch (op[1] & 0x00)
4620 goto op_semantics_29;
4626 switch (op[1] & 0x00)
4631 /** 0110 110i mmmm rdst shll #%2, %0 */
4632 #line 710 "rx-decode.opc"
4633 int i AU = op[0] & 0x01;
4634 #line 710 "rx-decode.opc"
4635 int mmmm AU = (op[1] >> 4) & 0x0f;
4636 #line 710 "rx-decode.opc"
4637 int rdst AU = op[1] & 0x0f;
4640 printf ("\033[33m%s\033[0m %02x %02x\n",
4641 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4643 printf (" i = 0x%x,", i);
4644 printf (" mmmm = 0x%x,", mmmm);
4645 printf (" rdst = 0x%x\n", rdst);
4647 SYNTAX("shll #%2, %0");
4648 #line 710 "rx-decode.opc"
4649 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4657 switch (op[1] & 0x00)
4660 goto op_semantics_30;
4666 switch (op[1] & 0x00)
4670 /** 0110 1110 dsta dstb pushm %1-%2 */
4671 #line 372 "rx-decode.opc"
4672 int dsta AU = (op[1] >> 4) & 0x0f;
4673 #line 372 "rx-decode.opc"
4674 int dstb AU = op[1] & 0x0f;
4677 printf ("\033[33m%s\033[0m %02x %02x\n",
4678 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4680 printf (" dsta = 0x%x,", dsta);
4681 printf (" dstb = 0x%x\n", dstb);
4683 SYNTAX("pushm %1-%2");
4684 #line 372 "rx-decode.opc"
4685 ID(pushm); SR(dsta); S2R(dstb); F_____;
4693 switch (op[1] & 0x00)
4697 /** 0110 1111 dsta dstb popm %1-%2 */
4698 #line 369 "rx-decode.opc"
4699 int dsta AU = (op[1] >> 4) & 0x0f;
4700 #line 369 "rx-decode.opc"
4701 int dstb AU = op[1] & 0x0f;
4704 printf ("\033[33m%s\033[0m %02x %02x\n",
4705 "/** 0110 1111 dsta dstb popm %1-%2 */",
4707 printf (" dsta = 0x%x,", dsta);
4708 printf (" dstb = 0x%x\n", dstb);
4710 SYNTAX("popm %1-%2");
4711 #line 369 "rx-decode.opc"
4712 ID(popm); SR(dsta); S2R(dstb); F_____;
4720 switch (op[1] & 0x00)
4725 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4726 #line 513 "rx-decode.opc"
4727 int im AU = op[0] & 0x03;
4728 #line 513 "rx-decode.opc"
4729 int rsrc AU = (op[1] >> 4) & 0x0f;
4730 #line 513 "rx-decode.opc"
4731 int rdst AU = op[1] & 0x0f;
4734 printf ("\033[33m%s\033[0m %02x %02x\n",
4735 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4737 printf (" im = 0x%x,", im);
4738 printf (" rsrc = 0x%x,", rsrc);
4739 printf (" rdst = 0x%x\n", rdst);
4741 SYNTAX("add #%1, %2, %0");
4742 #line 513 "rx-decode.opc"
4743 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4751 switch (op[1] & 0x00)
4754 goto op_semantics_31;
4760 switch (op[1] & 0x00)
4763 goto op_semantics_31;
4769 switch (op[1] & 0x00)
4772 goto op_semantics_31;
4778 switch (op[1] & 0xf0)
4783 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4784 #line 525 "rx-decode.opc"
4785 int im AU = op[0] & 0x03;
4786 #line 525 "rx-decode.opc"
4787 int rsrc AU = op[1] & 0x0f;
4790 printf ("\033[33m%s\033[0m %02x %02x\n",
4791 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4793 printf (" im = 0x%x,", im);
4794 printf (" rsrc = 0x%x\n", rsrc);
4796 SYNTAX("cmp #%2, %1%S1");
4797 #line 525 "rx-decode.opc"
4798 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4805 /** 0111 01im 0001rdst mul #%1, %0 */
4806 #line 628 "rx-decode.opc"
4807 int im AU = op[0] & 0x03;
4808 #line 628 "rx-decode.opc"
4809 int rdst AU = op[1] & 0x0f;
4812 printf ("\033[33m%s\033[0m %02x %02x\n",
4813 "/** 0111 01im 0001rdst mul #%1, %0 */",
4815 printf (" im = 0x%x,", im);
4816 printf (" rdst = 0x%x\n", rdst);
4818 SYNTAX("mul #%1, %0");
4819 #line 628 "rx-decode.opc"
4820 int val = IMMex(im);
4821 if (val == 1 && rdst == 0)
4823 SYNTAX("nop\t; mul\t#1, r0");
4826 case 2: ID(nop4); break;
4827 case 3: ID(nop5); break;
4828 case 0: ID(nop6); break;
4831 SYNTAX("mul #%1, %0");
4839 DR(rdst); SC(val); F_____;
4846 /** 0111 01im 0010 rdst and #%1, %0 */
4847 #line 417 "rx-decode.opc"
4848 int im AU = op[0] & 0x03;
4849 #line 417 "rx-decode.opc"
4850 int rdst AU = op[1] & 0x0f;
4853 printf ("\033[33m%s\033[0m %02x %02x\n",
4854 "/** 0111 01im 0010 rdst and #%1, %0 */",
4856 printf (" im = 0x%x,", im);
4857 printf (" rdst = 0x%x\n", rdst);
4859 SYNTAX("and #%1, %0");
4860 #line 417 "rx-decode.opc"
4861 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4868 /** 0111 01im 0011 rdst or #%1, %0 */
4869 #line 435 "rx-decode.opc"
4870 int im AU = op[0] & 0x03;
4871 #line 435 "rx-decode.opc"
4872 int rdst AU = op[1] & 0x0f;
4875 printf ("\033[33m%s\033[0m %02x %02x\n",
4876 "/** 0111 01im 0011 rdst or #%1, %0 */",
4878 printf (" im = 0x%x,", im);
4879 printf (" rdst = 0x%x\n", rdst);
4881 SYNTAX("or #%1, %0");
4882 #line 435 "rx-decode.opc"
4883 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4887 default: UNSUPPORTED(); break;
4892 switch (op[1] & 0xff)
4910 goto op_semantics_32;
4928 goto op_semantics_33;
4946 goto op_semantics_34;
4964 goto op_semantics_35;
4983 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4984 #line 289 "rx-decode.opc"
4985 int rdst AU = op[1] & 0x0f;
4988 printf ("\033[33m%s\033[0m %02x %02x\n",
4989 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4991 printf (" rdst = 0x%x\n", rdst);
4993 SYNTAX("mov%s #%1, %0");
4994 #line 289 "rx-decode.opc"
4995 ID(mov); DR(rdst); SC(IMM (1)); F_____;
5016 /** 0111 0101 0101 rsrc cmp #%2, %1 */
5017 #line 528 "rx-decode.opc"
5018 int rsrc AU = op[1] & 0x0f;
5021 printf ("\033[33m%s\033[0m %02x %02x\n",
5022 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
5024 printf (" rsrc = 0x%x\n", rsrc);
5026 SYNTAX("cmp #%2, %1");
5027 #line 528 "rx-decode.opc"
5028 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
5034 /** 0111 0101 0110 0000 int #%1 */
5037 printf ("\033[33m%s\033[0m %02x %02x\n",
5038 "/** 0111 0101 0110 0000 int #%1 */",
5042 #line 1035 "rx-decode.opc"
5043 ID(int); SC(IMM(1));
5049 switch (op[2] & 0xf0)
5053 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
5054 #line 1002 "rx-decode.opc"
5055 int immm AU = op[2] & 0x0f;
5058 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
5059 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
5060 op[0], op[1], op[2]);
5061 printf (" immm = 0x%x\n", immm);
5063 SYNTAX("mvtipl #%1");
5064 #line 1002 "rx-decode.opc"
5065 ID(mvtipl); SC(immm);
5069 default: UNSUPPORTED(); break;
5072 default: UNSUPPORTED(); break;
5077 switch (op[1] & 0xf0)
5080 goto op_semantics_32;
5083 goto op_semantics_33;
5086 goto op_semantics_34;
5089 goto op_semantics_35;
5091 default: UNSUPPORTED(); break;
5096 switch (op[1] & 0xf0)
5099 goto op_semantics_32;
5102 goto op_semantics_33;
5105 goto op_semantics_34;
5108 goto op_semantics_35;
5110 default: UNSUPPORTED(); break;
5115 switch (op[1] & 0x00)
5120 /** 0111 100b ittt rdst bset #%1, %0 */
5121 #line 947 "rx-decode.opc"
5122 int b AU = op[0] & 0x01;
5123 #line 947 "rx-decode.opc"
5124 int ittt AU = (op[1] >> 4) & 0x0f;
5125 #line 947 "rx-decode.opc"
5126 int rdst AU = op[1] & 0x0f;
5129 printf ("\033[33m%s\033[0m %02x %02x\n",
5130 "/** 0111 100b ittt rdst bset #%1, %0 */",
5132 printf (" b = 0x%x,", b);
5133 printf (" ittt = 0x%x,", ittt);
5134 printf (" rdst = 0x%x\n", rdst);
5136 SYNTAX("bset #%1, %0");
5137 #line 947 "rx-decode.opc"
5138 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5147 switch (op[1] & 0x00)
5150 goto op_semantics_36;
5156 switch (op[1] & 0x00)
5161 /** 0111 101b ittt rdst bclr #%1, %0 */
5162 #line 959 "rx-decode.opc"
5163 int b AU = op[0] & 0x01;
5164 #line 959 "rx-decode.opc"
5165 int ittt AU = (op[1] >> 4) & 0x0f;
5166 #line 959 "rx-decode.opc"
5167 int rdst AU = op[1] & 0x0f;
5170 printf ("\033[33m%s\033[0m %02x %02x\n",
5171 "/** 0111 101b ittt rdst bclr #%1, %0 */",
5173 printf (" b = 0x%x,", b);
5174 printf (" ittt = 0x%x,", ittt);
5175 printf (" rdst = 0x%x\n", rdst);
5177 SYNTAX("bclr #%1, %0");
5178 #line 959 "rx-decode.opc"
5179 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5188 switch (op[1] & 0x00)
5191 goto op_semantics_37;
5197 switch (op[1] & 0x00)
5202 /** 0111 110b ittt rdst btst #%2, %1 */
5203 #line 971 "rx-decode.opc"
5204 int b AU = op[0] & 0x01;
5205 #line 971 "rx-decode.opc"
5206 int ittt AU = (op[1] >> 4) & 0x0f;
5207 #line 971 "rx-decode.opc"
5208 int rdst AU = op[1] & 0x0f;
5211 printf ("\033[33m%s\033[0m %02x %02x\n",
5212 "/** 0111 110b ittt rdst btst #%2, %1 */",
5214 printf (" b = 0x%x,", b);
5215 printf (" ittt = 0x%x,", ittt);
5216 printf (" rdst = 0x%x\n", rdst);
5218 SYNTAX("btst #%2, %1");
5219 #line 971 "rx-decode.opc"
5220 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5229 switch (op[1] & 0x00)
5232 goto op_semantics_38;
5238 switch (op[1] & 0xf0)
5242 /** 0111 1110 0000 rdst not %0 */
5243 #line 462 "rx-decode.opc"
5244 int rdst AU = op[1] & 0x0f;
5247 printf ("\033[33m%s\033[0m %02x %02x\n",
5248 "/** 0111 1110 0000 rdst not %0 */",
5250 printf (" rdst = 0x%x\n", rdst);
5253 #line 462 "rx-decode.opc"
5254 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5260 /** 0111 1110 0001 rdst neg %0 */
5261 #line 483 "rx-decode.opc"
5262 int rdst AU = op[1] & 0x0f;
5265 printf ("\033[33m%s\033[0m %02x %02x\n",
5266 "/** 0111 1110 0001 rdst neg %0 */",
5268 printf (" rdst = 0x%x\n", rdst);
5271 #line 483 "rx-decode.opc"
5272 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5278 /** 0111 1110 0010 rdst abs %0 */
5279 #line 565 "rx-decode.opc"
5280 int rdst AU = op[1] & 0x0f;
5283 printf ("\033[33m%s\033[0m %02x %02x\n",
5284 "/** 0111 1110 0010 rdst abs %0 */",
5286 printf (" rdst = 0x%x\n", rdst);
5289 #line 565 "rx-decode.opc"
5290 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5296 /** 0111 1110 0011 rdst sat %0 */
5297 #line 885 "rx-decode.opc"
5298 int rdst AU = op[1] & 0x0f;
5301 printf ("\033[33m%s\033[0m %02x %02x\n",
5302 "/** 0111 1110 0011 rdst sat %0 */",
5304 printf (" rdst = 0x%x\n", rdst);
5307 #line 885 "rx-decode.opc"
5314 /** 0111 1110 0100 rdst rorc %0 */
5315 #line 745 "rx-decode.opc"
5316 int rdst AU = op[1] & 0x0f;
5319 printf ("\033[33m%s\033[0m %02x %02x\n",
5320 "/** 0111 1110 0100 rdst rorc %0 */",
5322 printf (" rdst = 0x%x\n", rdst);
5325 #line 745 "rx-decode.opc"
5326 ID(rorc); DR(rdst); F__SZC;
5332 /** 0111 1110 0101 rdst rolc %0 */
5333 #line 742 "rx-decode.opc"
5334 int rdst AU = op[1] & 0x0f;
5337 printf ("\033[33m%s\033[0m %02x %02x\n",
5338 "/** 0111 1110 0101 rdst rolc %0 */",
5340 printf (" rdst = 0x%x\n", rdst);
5343 #line 742 "rx-decode.opc"
5344 ID(rolc); DR(rdst); F__SZC;
5352 /** 0111 1110 10sz rsrc push%s %1 */
5353 #line 378 "rx-decode.opc"
5354 int sz AU = (op[1] >> 4) & 0x03;
5355 #line 378 "rx-decode.opc"
5356 int rsrc AU = op[1] & 0x0f;
5359 printf ("\033[33m%s\033[0m %02x %02x\n",
5360 "/** 0111 1110 10sz rsrc push%s %1 */",
5362 printf (" sz = 0x%x,", sz);
5363 printf (" rsrc = 0x%x\n", rsrc);
5365 SYNTAX("push%s %1");
5366 #line 378 "rx-decode.opc"
5367 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5373 /** 0111 1110 1011 rdst pop %0 */
5374 #line 375 "rx-decode.opc"
5375 int rdst AU = op[1] & 0x0f;
5378 printf ("\033[33m%s\033[0m %02x %02x\n",
5379 "/** 0111 1110 1011 rdst pop %0 */",
5381 printf (" rdst = 0x%x\n", rdst);
5384 #line 375 "rx-decode.opc"
5385 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5392 /** 0111 1110 110 crsrc pushc %1 */
5393 #line 1008 "rx-decode.opc"
5394 int crsrc AU = op[1] & 0x1f;
5397 printf ("\033[33m%s\033[0m %02x %02x\n",
5398 "/** 0111 1110 110 crsrc pushc %1 */",
5400 printf (" crsrc = 0x%x\n", crsrc);
5403 #line 1008 "rx-decode.opc"
5404 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5411 /** 0111 1110 111 crdst popc %0 */
5412 #line 1005 "rx-decode.opc"
5413 int crdst AU = op[1] & 0x1f;
5416 printf ("\033[33m%s\033[0m %02x %02x\n",
5417 "/** 0111 1110 111 crdst popc %0 */",
5419 printf (" crdst = 0x%x\n", crdst);
5422 #line 1005 "rx-decode.opc"
5423 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5427 default: UNSUPPORTED(); break;
5432 switch (op[1] & 0xff)
5451 /** 0111 1111 0000 rsrc jmp %0 */
5452 #line 795 "rx-decode.opc"
5453 int rsrc AU = op[1] & 0x0f;
5456 printf ("\033[33m%s\033[0m %02x %02x\n",
5457 "/** 0111 1111 0000 rsrc jmp %0 */",
5459 printf (" rsrc = 0x%x\n", rsrc);
5462 #line 795 "rx-decode.opc"
5463 ID(branch); DR(rsrc);
5484 /** 0111 1111 0001 rsrc jsr %0 */
5485 #line 798 "rx-decode.opc"
5486 int rsrc AU = op[1] & 0x0f;
5489 printf ("\033[33m%s\033[0m %02x %02x\n",
5490 "/** 0111 1111 0001 rsrc jsr %0 */",
5492 printf (" rsrc = 0x%x\n", rsrc);
5495 #line 798 "rx-decode.opc"
5517 /** 0111 1111 0100 rsrc bra.l %0 */
5518 #line 791 "rx-decode.opc"
5519 int rsrc AU = op[1] & 0x0f;
5522 printf ("\033[33m%s\033[0m %02x %02x\n",
5523 "/** 0111 1111 0100 rsrc bra.l %0 */",
5525 printf (" rsrc = 0x%x\n", rsrc);
5528 #line 791 "rx-decode.opc"
5529 ID(branchrel); DR(rsrc);
5551 /** 0111 1111 0101 rsrc bsr.l %0 */
5552 #line 807 "rx-decode.opc"
5553 int rsrc AU = op[1] & 0x0f;
5556 printf ("\033[33m%s\033[0m %02x %02x\n",
5557 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5559 printf (" rsrc = 0x%x\n", rsrc);
5562 #line 807 "rx-decode.opc"
5563 ID(jsrrel); DR(rsrc);
5571 /** 0111 1111 1000 00sz suntil%s */
5572 #line 831 "rx-decode.opc"
5573 int sz AU = op[1] & 0x03;
5576 printf ("\033[33m%s\033[0m %02x %02x\n",
5577 "/** 0111 1111 1000 00sz suntil%s */",
5579 printf (" sz = 0x%x\n", sz);
5582 #line 831 "rx-decode.opc"
5583 ID(suntil); BWL(sz); F___ZC;
5589 /** 0111 1111 1000 0011 scmpu */
5592 printf ("\033[33m%s\033[0m %02x %02x\n",
5593 "/** 0111 1111 1000 0011 scmpu */",
5597 #line 822 "rx-decode.opc"
5606 /** 0111 1111 1000 01sz swhile%s */
5607 #line 834 "rx-decode.opc"
5608 int sz AU = op[1] & 0x03;
5611 printf ("\033[33m%s\033[0m %02x %02x\n",
5612 "/** 0111 1111 1000 01sz swhile%s */",
5614 printf (" sz = 0x%x\n", sz);
5617 #line 834 "rx-decode.opc"
5618 ID(swhile); BWL(sz); F___ZC;
5624 /** 0111 1111 1000 0111 smovu */
5627 printf ("\033[33m%s\033[0m %02x %02x\n",
5628 "/** 0111 1111 1000 0111 smovu */",
5632 #line 825 "rx-decode.opc"
5641 /** 0111 1111 1000 10sz sstr%s */
5642 #line 840 "rx-decode.opc"
5643 int sz AU = op[1] & 0x03;
5646 printf ("\033[33m%s\033[0m %02x %02x\n",
5647 "/** 0111 1111 1000 10sz sstr%s */",
5649 printf (" sz = 0x%x\n", sz);
5652 #line 840 "rx-decode.opc"
5655 /*----------------------------------------------------------------------*/
5662 /** 0111 1111 1000 1011 smovb */
5665 printf ("\033[33m%s\033[0m %02x %02x\n",
5666 "/** 0111 1111 1000 1011 smovb */",
5670 #line 828 "rx-decode.opc"
5679 /** 0111 1111 1000 11sz rmpa%s */
5680 #line 846 "rx-decode.opc"
5681 int sz AU = op[1] & 0x03;
5684 printf ("\033[33m%s\033[0m %02x %02x\n",
5685 "/** 0111 1111 1000 11sz rmpa%s */",
5687 printf (" sz = 0x%x\n", sz);
5690 #line 846 "rx-decode.opc"
5691 ID(rmpa); BWL(sz); F_OS__;
5693 /*----------------------------------------------------------------------*/
5700 /** 0111 1111 1000 1111 smovf */
5703 printf ("\033[33m%s\033[0m %02x %02x\n",
5704 "/** 0111 1111 1000 1111 smovf */",
5708 #line 837 "rx-decode.opc"
5715 /** 0111 1111 1001 0011 satr */
5718 printf ("\033[33m%s\033[0m %02x %02x\n",
5719 "/** 0111 1111 1001 0011 satr */",
5723 #line 888 "rx-decode.opc"
5726 /*----------------------------------------------------------------------*/
5733 /** 0111 1111 1001 0100 rtfi */
5736 printf ("\033[33m%s\033[0m %02x %02x\n",
5737 "/** 0111 1111 1001 0100 rtfi */",
5741 #line 1023 "rx-decode.opc"
5748 /** 0111 1111 1001 0101 rte */
5751 printf ("\033[33m%s\033[0m %02x %02x\n",
5752 "/** 0111 1111 1001 0101 rte */",
5756 #line 1026 "rx-decode.opc"
5763 /** 0111 1111 1001 0110 wait */
5766 printf ("\033[33m%s\033[0m %02x %02x\n",
5767 "/** 0111 1111 1001 0110 wait */",
5771 #line 1038 "rx-decode.opc"
5774 /*----------------------------------------------------------------------*/
5796 /** 0111 1111 1010 rdst setpsw %0 */
5797 #line 999 "rx-decode.opc"
5798 int rdst AU = op[1] & 0x0f;
5801 printf ("\033[33m%s\033[0m %02x %02x\n",
5802 "/** 0111 1111 1010 rdst setpsw %0 */",
5804 printf (" rdst = 0x%x\n", rdst);
5806 SYNTAX("setpsw %0");
5807 #line 999 "rx-decode.opc"
5808 ID(setpsw); DF(rdst);
5829 /** 0111 1111 1011 rdst clrpsw %0 */
5830 #line 996 "rx-decode.opc"
5831 int rdst AU = op[1] & 0x0f;
5834 printf ("\033[33m%s\033[0m %02x %02x\n",
5835 "/** 0111 1111 1011 rdst clrpsw %0 */",
5837 printf (" rdst = 0x%x\n", rdst);
5839 SYNTAX("clrpsw %0");
5840 #line 996 "rx-decode.opc"
5841 ID(clrpsw); DF(rdst);
5845 default: UNSUPPORTED(); break;
5850 switch (op[1] & 0x00)
5855 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5856 #line 336 "rx-decode.opc"
5857 int sz AU = (op[0] >> 4) & 0x03;
5858 #line 336 "rx-decode.opc"
5859 int dsp AU = op[0] & 0x07;
5860 #line 336 "rx-decode.opc"
5861 int a AU = (op[1] >> 7) & 0x01;
5862 #line 336 "rx-decode.opc"
5863 int dst AU = (op[1] >> 4) & 0x07;
5864 #line 336 "rx-decode.opc"
5865 int b AU = (op[1] >> 3) & 0x01;
5866 #line 336 "rx-decode.opc"
5867 int src AU = op[1] & 0x07;
5870 printf ("\033[33m%s\033[0m %02x %02x\n",
5871 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5873 printf (" sz = 0x%x,", sz);
5874 printf (" dsp = 0x%x,", dsp);
5875 printf (" a = 0x%x,", a);
5876 printf (" dst = 0x%x,", dst);
5877 printf (" b = 0x%x,", b);
5878 printf (" src = 0x%x\n", src);
5880 SYNTAX("mov%s %1, %0");
5881 #line 336 "rx-decode.opc"
5882 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5890 switch (op[1] & 0x00)
5893 goto op_semantics_39;
5899 switch (op[1] & 0x00)
5902 goto op_semantics_39;
5908 switch (op[1] & 0x00)
5911 goto op_semantics_39;
5917 switch (op[1] & 0x00)
5920 goto op_semantics_39;
5926 switch (op[1] & 0x00)
5929 goto op_semantics_39;
5935 switch (op[1] & 0x00)
5938 goto op_semantics_39;
5944 switch (op[1] & 0x00)
5947 goto op_semantics_39;
5953 switch (op[1] & 0x00)
5958 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5959 #line 333 "rx-decode.opc"
5960 int sz AU = (op[0] >> 4) & 0x03;
5961 #line 333 "rx-decode.opc"
5962 int dsp AU = op[0] & 0x07;
5963 #line 333 "rx-decode.opc"
5964 int a AU = (op[1] >> 7) & 0x01;
5965 #line 333 "rx-decode.opc"
5966 int src AU = (op[1] >> 4) & 0x07;
5967 #line 333 "rx-decode.opc"
5968 int b AU = (op[1] >> 3) & 0x01;
5969 #line 333 "rx-decode.opc"
5970 int dst AU = op[1] & 0x07;
5973 printf ("\033[33m%s\033[0m %02x %02x\n",
5974 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5976 printf (" sz = 0x%x,", sz);
5977 printf (" dsp = 0x%x,", dsp);
5978 printf (" a = 0x%x,", a);
5979 printf (" src = 0x%x,", src);
5980 printf (" b = 0x%x,", b);
5981 printf (" dst = 0x%x\n", dst);
5983 SYNTAX("mov%s %1, %0");
5984 #line 333 "rx-decode.opc"
5985 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5993 switch (op[1] & 0x00)
5996 goto op_semantics_40;
6002 switch (op[1] & 0x00)
6005 goto op_semantics_40;
6011 switch (op[1] & 0x00)
6014 goto op_semantics_40;
6020 switch (op[1] & 0x00)
6023 goto op_semantics_40;
6029 switch (op[1] & 0x00)
6032 goto op_semantics_40;
6038 switch (op[1] & 0x00)
6041 goto op_semantics_40;
6047 switch (op[1] & 0x00)
6050 goto op_semantics_40;
6056 switch (op[1] & 0x00)
6059 goto op_semantics_39;
6065 switch (op[1] & 0x00)
6068 goto op_semantics_39;
6074 switch (op[1] & 0x00)
6077 goto op_semantics_39;
6083 switch (op[1] & 0x00)
6086 goto op_semantics_39;
6092 switch (op[1] & 0x00)
6095 goto op_semantics_39;
6101 switch (op[1] & 0x00)
6104 goto op_semantics_39;
6110 switch (op[1] & 0x00)
6113 goto op_semantics_39;
6119 switch (op[1] & 0x00)
6122 goto op_semantics_39;
6128 switch (op[1] & 0x00)
6131 goto op_semantics_40;
6137 switch (op[1] & 0x00)
6140 goto op_semantics_40;
6146 switch (op[1] & 0x00)
6149 goto op_semantics_40;
6155 switch (op[1] & 0x00)
6158 goto op_semantics_40;
6164 switch (op[1] & 0x00)
6167 goto op_semantics_40;
6173 switch (op[1] & 0x00)
6176 goto op_semantics_40;
6182 switch (op[1] & 0x00)
6185 goto op_semantics_40;
6191 switch (op[1] & 0x00)
6194 goto op_semantics_40;
6200 switch (op[1] & 0x00)
6203 goto op_semantics_39;
6209 switch (op[1] & 0x00)
6212 goto op_semantics_39;
6218 switch (op[1] & 0x00)
6221 goto op_semantics_39;
6227 switch (op[1] & 0x00)
6230 goto op_semantics_39;
6236 switch (op[1] & 0x00)
6239 goto op_semantics_39;
6245 switch (op[1] & 0x00)
6248 goto op_semantics_39;
6254 switch (op[1] & 0x00)
6257 goto op_semantics_39;
6263 switch (op[1] & 0x00)
6266 goto op_semantics_39;
6272 switch (op[1] & 0x00)
6275 goto op_semantics_40;
6281 switch (op[1] & 0x00)
6284 goto op_semantics_40;
6290 switch (op[1] & 0x00)
6293 goto op_semantics_40;
6299 switch (op[1] & 0x00)
6302 goto op_semantics_40;
6308 switch (op[1] & 0x00)
6311 goto op_semantics_40;
6317 switch (op[1] & 0x00)
6320 goto op_semantics_40;
6326 switch (op[1] & 0x00)
6329 goto op_semantics_40;
6335 switch (op[1] & 0x00)
6338 goto op_semantics_40;
6344 switch (op[1] & 0x00)
6349 /** 1011 w dsp a src b dst movu%s %1, %0 */
6350 #line 356 "rx-decode.opc"
6351 int w AU = (op[0] >> 3) & 0x01;
6352 #line 356 "rx-decode.opc"
6353 int dsp AU = op[0] & 0x07;
6354 #line 356 "rx-decode.opc"
6355 int a AU = (op[1] >> 7) & 0x01;
6356 #line 356 "rx-decode.opc"
6357 int src AU = (op[1] >> 4) & 0x07;
6358 #line 356 "rx-decode.opc"
6359 int b AU = (op[1] >> 3) & 0x01;
6360 #line 356 "rx-decode.opc"
6361 int dst AU = op[1] & 0x07;
6364 printf ("\033[33m%s\033[0m %02x %02x\n",
6365 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6367 printf (" w = 0x%x,", w);
6368 printf (" dsp = 0x%x,", dsp);
6369 printf (" a = 0x%x,", a);
6370 printf (" src = 0x%x,", src);
6371 printf (" b = 0x%x,", b);
6372 printf (" dst = 0x%x\n", dst);
6374 SYNTAX("movu%s %1, %0");
6375 #line 356 "rx-decode.opc"
6376 ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6384 switch (op[1] & 0x00)
6387 goto op_semantics_41;
6393 switch (op[1] & 0x00)
6396 goto op_semantics_41;
6402 switch (op[1] & 0x00)
6405 goto op_semantics_41;
6411 switch (op[1] & 0x00)
6414 goto op_semantics_41;
6420 switch (op[1] & 0x00)
6423 goto op_semantics_41;
6429 switch (op[1] & 0x00)
6432 goto op_semantics_41;
6438 switch (op[1] & 0x00)
6441 goto op_semantics_41;
6447 switch (op[1] & 0x00)
6450 goto op_semantics_41;
6456 switch (op[1] & 0x00)
6459 goto op_semantics_41;
6465 switch (op[1] & 0x00)
6468 goto op_semantics_41;
6474 switch (op[1] & 0x00)
6477 goto op_semantics_41;
6483 switch (op[1] & 0x00)
6486 goto op_semantics_41;
6492 switch (op[1] & 0x00)
6495 goto op_semantics_41;
6501 switch (op[1] & 0x00)
6504 goto op_semantics_41;
6510 switch (op[1] & 0x00)
6513 goto op_semantics_41;
6519 switch (op[1] & 0x00)
6524 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6525 #line 314 "rx-decode.opc"
6526 int sz AU = (op[0] >> 4) & 0x03;
6527 #line 314 "rx-decode.opc"
6528 int sd AU = (op[0] >> 2) & 0x03;
6529 #line 314 "rx-decode.opc"
6530 int ss AU = op[0] & 0x03;
6531 #line 314 "rx-decode.opc"
6532 int rsrc AU = (op[1] >> 4) & 0x0f;
6533 #line 314 "rx-decode.opc"
6534 int rdst AU = op[1] & 0x0f;
6537 printf ("\033[33m%s\033[0m %02x %02x\n",
6538 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6540 printf (" sz = 0x%x,", sz);
6541 printf (" sd = 0x%x,", sd);
6542 printf (" ss = 0x%x,", ss);
6543 printf (" rsrc = 0x%x,", rsrc);
6544 printf (" rdst = 0x%x\n", rdst);
6546 SYNTAX("mov%s %1, %0");
6547 #line 314 "rx-decode.opc"
6548 if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6551 SYNTAX ("nop\t; mov.l\tr0, r0");
6555 ID(mov); sBWL(sz); F_____;
6556 if ((ss == 3) && (sd != 3))
6558 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6562 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6572 switch (op[1] & 0x00)
6575 goto op_semantics_42;
6581 switch (op[1] & 0x00)
6584 goto op_semantics_42;
6590 switch (op[1] & 0x00)
6593 goto op_semantics_42;
6599 switch (op[1] & 0x00)
6602 goto op_semantics_42;
6608 switch (op[1] & 0x00)
6611 goto op_semantics_42;
6617 switch (op[1] & 0x00)
6620 goto op_semantics_42;
6626 switch (op[1] & 0x00)
6629 goto op_semantics_42;
6635 switch (op[1] & 0x00)
6638 goto op_semantics_42;
6644 switch (op[1] & 0x00)
6647 goto op_semantics_42;
6653 switch (op[1] & 0x00)
6656 goto op_semantics_42;
6662 switch (op[1] & 0x00)
6665 goto op_semantics_42;
6671 switch (op[1] & 0x00)
6674 goto op_semantics_42;
6680 switch (op[1] & 0x00)
6683 goto op_semantics_42;
6689 switch (op[1] & 0x00)
6692 goto op_semantics_42;
6698 switch (op[1] & 0x00)
6701 goto op_semantics_42;
6707 switch (op[1] & 0x00)
6710 goto op_semantics_42;
6716 switch (op[1] & 0x00)
6719 goto op_semantics_42;
6725 switch (op[1] & 0x00)
6728 goto op_semantics_42;
6734 switch (op[1] & 0x00)
6737 goto op_semantics_42;
6743 switch (op[1] & 0x00)
6746 goto op_semantics_42;
6752 switch (op[1] & 0x00)
6755 goto op_semantics_42;
6761 switch (op[1] & 0x00)
6764 goto op_semantics_42;
6770 switch (op[1] & 0x00)
6773 goto op_semantics_42;
6779 switch (op[1] & 0x00)
6782 goto op_semantics_42;
6788 switch (op[1] & 0x00)
6791 goto op_semantics_42;
6797 switch (op[1] & 0x00)
6800 goto op_semantics_42;
6806 switch (op[1] & 0x00)
6809 goto op_semantics_42;
6815 switch (op[1] & 0x00)
6818 goto op_semantics_42;
6824 switch (op[1] & 0x00)
6827 goto op_semantics_42;
6833 switch (op[1] & 0x00)
6836 goto op_semantics_42;
6842 switch (op[1] & 0x00)
6845 goto op_semantics_42;
6851 switch (op[1] & 0x00)
6854 goto op_semantics_42;
6860 switch (op[1] & 0x00)
6863 goto op_semantics_42;
6869 switch (op[1] & 0x00)
6872 goto op_semantics_42;
6878 switch (op[1] & 0x00)
6881 goto op_semantics_42;
6887 switch (op[1] & 0x00)
6890 goto op_semantics_42;
6896 switch (op[1] & 0x00)
6899 goto op_semantics_42;
6905 switch (op[1] & 0x00)
6908 goto op_semantics_42;
6914 switch (op[1] & 0x00)
6917 goto op_semantics_42;
6923 switch (op[1] & 0x00)
6926 goto op_semantics_42;
6932 switch (op[1] & 0x00)
6935 goto op_semantics_42;
6941 switch (op[1] & 0x00)
6944 goto op_semantics_42;
6950 switch (op[1] & 0x00)
6953 goto op_semantics_42;
6959 switch (op[1] & 0x00)
6962 goto op_semantics_42;
6968 switch (op[1] & 0x00)
6971 goto op_semantics_42;
6977 switch (op[1] & 0x00)
6980 goto op_semantics_42;
6986 switch (op[1] & 0x00)
6989 goto op_semantics_42;
6995 switch (op[1] & 0x08)
7000 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
7001 #line 939 "rx-decode.opc"
7002 int sd AU = op[0] & 0x03;
7003 #line 939 "rx-decode.opc"
7004 int rdst AU = (op[1] >> 4) & 0x0f;
7005 #line 939 "rx-decode.opc"
7006 int bit AU = op[1] & 0x07;
7009 printf ("\033[33m%s\033[0m %02x %02x\n",
7010 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
7012 printf (" sd = 0x%x,", sd);
7013 printf (" rdst = 0x%x,", rdst);
7014 printf (" bit = 0x%x\n", bit);
7016 SYNTAX("bset #%1, %0%S0");
7017 #line 939 "rx-decode.opc"
7018 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7025 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
7026 #line 951 "rx-decode.opc"
7027 int sd AU = op[0] & 0x03;
7028 #line 951 "rx-decode.opc"
7029 int rdst AU = (op[1] >> 4) & 0x0f;
7030 #line 951 "rx-decode.opc"
7031 int bit AU = op[1] & 0x07;
7034 printf ("\033[33m%s\033[0m %02x %02x\n",
7035 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
7037 printf (" sd = 0x%x,", sd);
7038 printf (" rdst = 0x%x,", rdst);
7039 printf (" bit = 0x%x\n", bit);
7041 SYNTAX("bclr #%1, %0%S0");
7042 #line 951 "rx-decode.opc"
7043 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7051 switch (op[1] & 0x08)
7054 goto op_semantics_43;
7057 goto op_semantics_44;
7063 switch (op[1] & 0x08)
7066 goto op_semantics_43;
7069 goto op_semantics_44;
7075 switch (op[1] & 0x08)
7078 goto op_semantics_43;
7081 goto op_semantics_44;
7087 switch (op[1] & 0x0c)
7093 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
7094 #line 963 "rx-decode.opc"
7095 int sd AU = op[0] & 0x03;
7096 #line 963 "rx-decode.opc"
7097 int rdst AU = (op[1] >> 4) & 0x0f;
7098 #line 963 "rx-decode.opc"
7099 int bit AU = op[1] & 0x07;
7102 printf ("\033[33m%s\033[0m %02x %02x\n",
7103 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
7105 printf (" sd = 0x%x,", sd);
7106 printf (" rdst = 0x%x,", rdst);
7107 printf (" bit = 0x%x\n", bit);
7109 SYNTAX("btst #%2, %1%S1");
7110 #line 963 "rx-decode.opc"
7111 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
7118 /** 1111 01ss rsrc 10sz push%s %1 */
7119 #line 381 "rx-decode.opc"
7120 int ss AU = op[0] & 0x03;
7121 #line 381 "rx-decode.opc"
7122 int rsrc AU = (op[1] >> 4) & 0x0f;
7123 #line 381 "rx-decode.opc"
7124 int sz AU = op[1] & 0x03;
7127 printf ("\033[33m%s\033[0m %02x %02x\n",
7128 "/** 1111 01ss rsrc 10sz push%s %1 */",
7130 printf (" ss = 0x%x,", ss);
7131 printf (" rsrc = 0x%x,", rsrc);
7132 printf (" sz = 0x%x\n", sz);
7134 SYNTAX("push%s %1");
7135 #line 381 "rx-decode.opc"
7136 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
7138 /*----------------------------------------------------------------------*/
7143 default: UNSUPPORTED(); break;
7148 switch (op[1] & 0x0c)
7152 goto op_semantics_45;
7155 goto op_semantics_46;
7157 default: UNSUPPORTED(); break;
7162 switch (op[1] & 0x0c)
7166 goto op_semantics_45;
7169 goto op_semantics_46;
7171 default: UNSUPPORTED(); break;
7176 switch (op[1] & 0x0c)
7180 goto op_semantics_45;
7183 goto op_semantics_46;
7185 default: UNSUPPORTED(); break;
7190 switch (op[1] & 0x00)
7195 /** 1111 10sd rdst im sz mov%s #%1, %0 */
7196 #line 292 "rx-decode.opc"
7197 int sd AU = op[0] & 0x03;
7198 #line 292 "rx-decode.opc"
7199 int rdst AU = (op[1] >> 4) & 0x0f;
7200 #line 292 "rx-decode.opc"
7201 int im AU = (op[1] >> 2) & 0x03;
7202 #line 292 "rx-decode.opc"
7203 int sz AU = op[1] & 0x03;
7206 printf ("\033[33m%s\033[0m %02x %02x\n",
7207 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7209 printf (" sd = 0x%x,", sd);
7210 printf (" rdst = 0x%x,", rdst);
7211 printf (" im = 0x%x,", im);
7212 printf (" sz = 0x%x\n", sz);
7214 SYNTAX("mov%s #%1, %0");
7215 #line 292 "rx-decode.opc"
7216 ID(mov); DD(sd, rdst, sz);
7217 if ((im == 1 && sz == 0)
7218 || (im == 2 && sz == 1)
7219 || (im == 0 && sz == 2))
7237 switch (op[1] & 0x00)
7240 goto op_semantics_47;
7246 switch (op[1] & 0x00)
7249 goto op_semantics_47;
7255 switch (op[1] & 0x00)
7258 goto op_semantics_47;
7264 switch (op[1] & 0xff)
7268 switch (op[2] & 0x00)
7272 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7273 #line 555 "rx-decode.opc"
7274 int rsrc AU = (op[2] >> 4) & 0x0f;
7275 #line 555 "rx-decode.opc"
7276 int rdst AU = op[2] & 0x0f;
7279 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7280 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7281 op[0], op[1], op[2]);
7282 printf (" rsrc = 0x%x,", rsrc);
7283 printf (" rdst = 0x%x\n", rdst);
7285 SYNTAX("sbb %1, %0");
7286 #line 555 "rx-decode.opc"
7287 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7289 /* FIXME: only supports .L */
7296 switch (op[2] & 0x00)
7300 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7301 #line 486 "rx-decode.opc"
7302 int rsrc AU = (op[2] >> 4) & 0x0f;
7303 #line 486 "rx-decode.opc"
7304 int rdst AU = op[2] & 0x0f;
7307 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7308 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7309 op[0], op[1], op[2]);
7310 printf (" rsrc = 0x%x,", rsrc);
7311 printf (" rdst = 0x%x\n", rdst);
7313 SYNTAX("neg %2, %0");
7314 #line 486 "rx-decode.opc"
7315 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7317 /*----------------------------------------------------------------------*/
7326 switch (op[2] & 0x00)
7330 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7331 #line 495 "rx-decode.opc"
7332 int rsrc AU = (op[2] >> 4) & 0x0f;
7333 #line 495 "rx-decode.opc"
7334 int rdst AU = op[2] & 0x0f;
7337 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7338 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7339 op[0], op[1], op[2]);
7340 printf (" rsrc = 0x%x,", rsrc);
7341 printf (" rdst = 0x%x\n", rdst);
7343 SYNTAX("adc %1, %0");
7344 #line 495 "rx-decode.opc"
7345 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7353 switch (op[2] & 0x00)
7357 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7358 #line 568 "rx-decode.opc"
7359 int rsrc AU = (op[2] >> 4) & 0x0f;
7360 #line 568 "rx-decode.opc"
7361 int rdst AU = op[2] & 0x0f;
7364 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7365 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7366 op[0], op[1], op[2]);
7367 printf (" rsrc = 0x%x,", rsrc);
7368 printf (" rdst = 0x%x\n", rdst);
7370 SYNTAX("abs %1, %0");
7371 #line 568 "rx-decode.opc"
7372 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7374 /*----------------------------------------------------------------------*/
7383 switch (op[2] & 0x00)
7388 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7389 #line 587 "rx-decode.opc"
7390 int ss AU = op[1] & 0x03;
7391 #line 587 "rx-decode.opc"
7392 int rsrc AU = (op[2] >> 4) & 0x0f;
7393 #line 587 "rx-decode.opc"
7394 int rdst AU = op[2] & 0x0f;
7397 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7398 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7399 op[0], op[1], op[2]);
7400 printf (" ss = 0x%x,", ss);
7401 printf (" rsrc = 0x%x,", rsrc);
7402 printf (" rdst = 0x%x\n", rdst);
7404 SYNTAX("max %1%S1, %0");
7405 #line 587 "rx-decode.opc"
7406 if (ss == 3 && rsrc == 0 && rdst == 0)
7409 SYNTAX("nop\t; max\tr0, r0");
7413 ID(max); SP(ss, rsrc); DR(rdst);
7422 switch (op[2] & 0x00)
7425 goto op_semantics_48;
7431 switch (op[2] & 0x00)
7434 goto op_semantics_48;
7440 switch (op[2] & 0x00)
7443 goto op_semantics_48;
7449 switch (op[2] & 0x00)
7454 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7455 #line 607 "rx-decode.opc"
7456 int ss AU = op[1] & 0x03;
7457 #line 607 "rx-decode.opc"
7458 int rsrc AU = (op[2] >> 4) & 0x0f;
7459 #line 607 "rx-decode.opc"
7460 int rdst AU = op[2] & 0x0f;
7463 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7464 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7465 op[0], op[1], op[2]);
7466 printf (" ss = 0x%x,", ss);
7467 printf (" rsrc = 0x%x,", rsrc);
7468 printf (" rdst = 0x%x\n", rdst);
7470 SYNTAX("min %1%S1, %0");
7471 #line 607 "rx-decode.opc"
7472 ID(min); SP(ss, rsrc); DR(rdst);
7480 switch (op[2] & 0x00)
7483 goto op_semantics_49;
7489 switch (op[2] & 0x00)
7492 goto op_semantics_49;
7498 switch (op[2] & 0x00)
7501 goto op_semantics_49;
7507 switch (op[2] & 0x00)
7512 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7513 #line 665 "rx-decode.opc"
7514 int ss AU = op[1] & 0x03;
7515 #line 665 "rx-decode.opc"
7516 int rsrc AU = (op[2] >> 4) & 0x0f;
7517 #line 665 "rx-decode.opc"
7518 int rdst AU = op[2] & 0x0f;
7521 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7522 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7523 op[0], op[1], op[2]);
7524 printf (" ss = 0x%x,", ss);
7525 printf (" rsrc = 0x%x,", rsrc);
7526 printf (" rdst = 0x%x\n", rdst);
7528 SYNTAX("emul %1%S1, %0");
7529 #line 665 "rx-decode.opc"
7530 ID(emul); SP(ss, rsrc); DR(rdst);
7538 switch (op[2] & 0x00)
7541 goto op_semantics_50;
7547 switch (op[2] & 0x00)
7550 goto op_semantics_50;
7556 switch (op[2] & 0x00)
7559 goto op_semantics_50;
7565 switch (op[2] & 0x00)
7570 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7571 #line 677 "rx-decode.opc"
7572 int ss AU = op[1] & 0x03;
7573 #line 677 "rx-decode.opc"
7574 int rsrc AU = (op[2] >> 4) & 0x0f;
7575 #line 677 "rx-decode.opc"
7576 int rdst AU = op[2] & 0x0f;
7579 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7580 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7581 op[0], op[1], op[2]);
7582 printf (" ss = 0x%x,", ss);
7583 printf (" rsrc = 0x%x,", rsrc);
7584 printf (" rdst = 0x%x\n", rdst);
7586 SYNTAX("emulu %1%S1, %0");
7587 #line 677 "rx-decode.opc"
7588 ID(emulu); SP(ss, rsrc); DR(rdst);
7596 switch (op[2] & 0x00)
7599 goto op_semantics_51;
7605 switch (op[2] & 0x00)
7608 goto op_semantics_51;
7614 switch (op[2] & 0x00)
7617 goto op_semantics_51;
7623 switch (op[2] & 0x00)
7628 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7629 #line 689 "rx-decode.opc"
7630 int ss AU = op[1] & 0x03;
7631 #line 689 "rx-decode.opc"
7632 int rsrc AU = (op[2] >> 4) & 0x0f;
7633 #line 689 "rx-decode.opc"
7634 int rdst AU = op[2] & 0x0f;
7637 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7638 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7639 op[0], op[1], op[2]);
7640 printf (" ss = 0x%x,", ss);
7641 printf (" rsrc = 0x%x,", rsrc);
7642 printf (" rdst = 0x%x\n", rdst);
7644 SYNTAX("div %1%S1, %0");
7645 #line 689 "rx-decode.opc"
7646 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7654 switch (op[2] & 0x00)
7657 goto op_semantics_52;
7663 switch (op[2] & 0x00)
7666 goto op_semantics_52;
7672 switch (op[2] & 0x00)
7675 goto op_semantics_52;
7681 switch (op[2] & 0x00)
7686 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7687 #line 701 "rx-decode.opc"
7688 int ss AU = op[1] & 0x03;
7689 #line 701 "rx-decode.opc"
7690 int rsrc AU = (op[2] >> 4) & 0x0f;
7691 #line 701 "rx-decode.opc"
7692 int rdst AU = op[2] & 0x0f;
7695 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7696 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7697 op[0], op[1], op[2]);
7698 printf (" ss = 0x%x,", ss);
7699 printf (" rsrc = 0x%x,", rsrc);
7700 printf (" rdst = 0x%x\n", rdst);
7702 SYNTAX("divu %1%S1, %0");
7703 #line 701 "rx-decode.opc"
7704 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7712 switch (op[2] & 0x00)
7715 goto op_semantics_53;
7721 switch (op[2] & 0x00)
7724 goto op_semantics_53;
7730 switch (op[2] & 0x00)
7733 goto op_semantics_53;
7739 switch (op[2] & 0x00)
7744 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7745 #line 474 "rx-decode.opc"
7746 int ss AU = op[1] & 0x03;
7747 #line 474 "rx-decode.opc"
7748 int rsrc AU = (op[2] >> 4) & 0x0f;
7749 #line 474 "rx-decode.opc"
7750 int rdst AU = op[2] & 0x0f;
7753 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7754 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7755 op[0], op[1], op[2]);
7756 printf (" ss = 0x%x,", ss);
7757 printf (" rsrc = 0x%x,", rsrc);
7758 printf (" rdst = 0x%x\n", rdst);
7760 SYNTAX("tst %1%S1, %2");
7761 #line 474 "rx-decode.opc"
7762 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7770 switch (op[2] & 0x00)
7773 goto op_semantics_54;
7779 switch (op[2] & 0x00)
7782 goto op_semantics_54;
7788 switch (op[2] & 0x00)
7791 goto op_semantics_54;
7797 switch (op[2] & 0x00)
7802 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7803 #line 453 "rx-decode.opc"
7804 int ss AU = op[1] & 0x03;
7805 #line 453 "rx-decode.opc"
7806 int rsrc AU = (op[2] >> 4) & 0x0f;
7807 #line 453 "rx-decode.opc"
7808 int rdst AU = op[2] & 0x0f;
7811 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7812 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7813 op[0], op[1], op[2]);
7814 printf (" ss = 0x%x,", ss);
7815 printf (" rsrc = 0x%x,", rsrc);
7816 printf (" rdst = 0x%x\n", rdst);
7818 SYNTAX("xor %1%S1, %0");
7819 #line 453 "rx-decode.opc"
7820 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7828 switch (op[2] & 0x00)
7831 goto op_semantics_55;
7837 switch (op[2] & 0x00)
7840 goto op_semantics_55;
7846 switch (op[2] & 0x00)
7849 goto op_semantics_55;
7855 switch (op[2] & 0x00)
7859 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7860 #line 465 "rx-decode.opc"
7861 int rsrc AU = (op[2] >> 4) & 0x0f;
7862 #line 465 "rx-decode.opc"
7863 int rdst AU = op[2] & 0x0f;
7866 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7867 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7868 op[0], op[1], op[2]);
7869 printf (" rsrc = 0x%x,", rsrc);
7870 printf (" rdst = 0x%x\n", rdst);
7872 SYNTAX("not %1, %0");
7873 #line 465 "rx-decode.opc"
7874 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7876 /*----------------------------------------------------------------------*/
7885 switch (op[2] & 0x00)
7890 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7891 #line 387 "rx-decode.opc"
7892 int ss AU = op[1] & 0x03;
7893 #line 387 "rx-decode.opc"
7894 int rsrc AU = (op[2] >> 4) & 0x0f;
7895 #line 387 "rx-decode.opc"
7896 int rdst AU = op[2] & 0x0f;
7899 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7900 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7901 op[0], op[1], op[2]);
7902 printf (" ss = 0x%x,", ss);
7903 printf (" rsrc = 0x%x,", rsrc);
7904 printf (" rdst = 0x%x\n", rdst);
7906 SYNTAX("xchg %1%S1, %0");
7907 #line 387 "rx-decode.opc"
7908 ID(xchg); DR(rdst); SP(ss, rsrc);
7916 switch (op[2] & 0x00)
7919 goto op_semantics_56;
7925 switch (op[2] & 0x00)
7928 goto op_semantics_56;
7934 switch (op[2] & 0x00)
7937 goto op_semantics_56;
7943 switch (op[2] & 0x00)
7948 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7949 #line 930 "rx-decode.opc"
7950 int sd AU = op[1] & 0x03;
7951 #line 930 "rx-decode.opc"
7952 int rsrc AU = (op[2] >> 4) & 0x0f;
7953 #line 930 "rx-decode.opc"
7954 int rdst AU = op[2] & 0x0f;
7957 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7958 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7959 op[0], op[1], op[2]);
7960 printf (" sd = 0x%x,", sd);
7961 printf (" rsrc = 0x%x,", rsrc);
7962 printf (" rdst = 0x%x\n", rdst);
7964 SYNTAX("itof %1%S1, %0");
7965 #line 930 "rx-decode.opc"
7966 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7974 switch (op[2] & 0x00)
7977 goto op_semantics_57;
7983 switch (op[2] & 0x00)
7986 goto op_semantics_57;
7992 switch (op[2] & 0x00)
7995 goto op_semantics_57;
8001 switch (op[2] & 0x00)
8005 /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
8006 #line 1056 "rx-decode.opc"
8007 int rsrc AU = (op[2] >> 4) & 0x0f;
8008 #line 1056 "rx-decode.opc"
8009 int rdst AU = op[2] & 0x0f;
8012 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8013 "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
8014 op[0], op[1], op[2]);
8015 printf (" rsrc = 0x%x,", rsrc);
8016 printf (" rdst = 0x%x\n", rdst);
8018 SYNTAX("stz %1, %0");
8019 #line 1056 "rx-decode.opc"
8020 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
8028 switch (op[2] & 0x00)
8032 /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
8033 #line 1059 "rx-decode.opc"
8034 int rsrc AU = (op[2] >> 4) & 0x0f;
8035 #line 1059 "rx-decode.opc"
8036 int rdst AU = op[2] & 0x0f;
8039 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8040 "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
8041 op[0], op[1], op[2]);
8042 printf (" rsrc = 0x%x,", rsrc);
8043 printf (" rdst = 0x%x\n", rdst);
8045 SYNTAX("stnz %1, %0");
8046 #line 1059 "rx-decode.opc"
8047 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz);
8055 switch (op[2] & 0x00)
8060 /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
8061 #line 1116 "rx-decode.opc"
8062 int sd AU = op[1] & 0x03;
8063 #line 1116 "rx-decode.opc"
8064 int rsrc AU = (op[2] >> 4) & 0x0f;
8065 #line 1116 "rx-decode.opc"
8066 int rdst AU = op[2] & 0x0f;
8069 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8070 "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
8071 op[0], op[1], op[2]);
8072 printf (" sd = 0x%x,", sd);
8073 printf (" rsrc = 0x%x,", rsrc);
8074 printf (" rdst = 0x%x\n", rdst);
8076 SYNTAX("utof %1%S1, %0");
8077 #line 1116 "rx-decode.opc"
8078 ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
8086 switch (op[2] & 0x00)
8089 goto op_semantics_58;
8095 switch (op[2] & 0x00)
8098 goto op_semantics_58;
8104 switch (op[2] & 0x00)
8107 goto op_semantics_58;
8113 switch (op[2] & 0x00)
8118 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
8119 #line 942 "rx-decode.opc"
8120 int sd AU = op[1] & 0x03;
8121 #line 942 "rx-decode.opc"
8122 int rdst AU = (op[2] >> 4) & 0x0f;
8123 #line 942 "rx-decode.opc"
8124 int rsrc AU = op[2] & 0x0f;
8127 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8128 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
8129 op[0], op[1], op[2]);
8130 printf (" sd = 0x%x,", sd);
8131 printf (" rdst = 0x%x,", rdst);
8132 printf (" rsrc = 0x%x\n", rsrc);
8134 SYNTAX("bset %1, %0%S0");
8135 #line 942 "rx-decode.opc"
8136 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8137 if (sd == 3) /* bset reg,reg */
8146 switch (op[2] & 0x00)
8149 goto op_semantics_59;
8155 switch (op[2] & 0x00)
8158 goto op_semantics_59;
8164 switch (op[2] & 0x00)
8167 goto op_semantics_59;
8173 switch (op[2] & 0x00)
8178 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
8179 #line 954 "rx-decode.opc"
8180 int sd AU = op[1] & 0x03;
8181 #line 954 "rx-decode.opc"
8182 int rdst AU = (op[2] >> 4) & 0x0f;
8183 #line 954 "rx-decode.opc"
8184 int rsrc AU = op[2] & 0x0f;
8187 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8188 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
8189 op[0], op[1], op[2]);
8190 printf (" sd = 0x%x,", sd);
8191 printf (" rdst = 0x%x,", rdst);
8192 printf (" rsrc = 0x%x\n", rsrc);
8194 SYNTAX("bclr %1, %0%S0");
8195 #line 954 "rx-decode.opc"
8196 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8197 if (sd == 3) /* bset reg,reg */
8206 switch (op[2] & 0x00)
8209 goto op_semantics_60;
8215 switch (op[2] & 0x00)
8218 goto op_semantics_60;
8224 switch (op[2] & 0x00)
8227 goto op_semantics_60;
8233 switch (op[2] & 0x00)
8238 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
8239 #line 966 "rx-decode.opc"
8240 int sd AU = op[1] & 0x03;
8241 #line 966 "rx-decode.opc"
8242 int rdst AU = (op[2] >> 4) & 0x0f;
8243 #line 966 "rx-decode.opc"
8244 int rsrc AU = op[2] & 0x0f;
8247 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8248 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
8249 op[0], op[1], op[2]);
8250 printf (" sd = 0x%x,", sd);
8251 printf (" rdst = 0x%x,", rdst);
8252 printf (" rsrc = 0x%x\n", rsrc);
8254 SYNTAX("btst %2, %1%S1");
8255 #line 966 "rx-decode.opc"
8256 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
8257 if (sd == 3) /* bset reg,reg */
8266 switch (op[2] & 0x00)
8269 goto op_semantics_61;
8275 switch (op[2] & 0x00)
8278 goto op_semantics_61;
8284 switch (op[2] & 0x00)
8287 goto op_semantics_61;
8293 switch (op[2] & 0x00)
8298 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
8299 #line 978 "rx-decode.opc"
8300 int sd AU = op[1] & 0x03;
8301 #line 978 "rx-decode.opc"
8302 int rdst AU = (op[2] >> 4) & 0x0f;
8303 #line 978 "rx-decode.opc"
8304 int rsrc AU = op[2] & 0x0f;
8307 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8308 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
8309 op[0], op[1], op[2]);
8310 printf (" sd = 0x%x,", sd);
8311 printf (" rdst = 0x%x,", rdst);
8312 printf (" rsrc = 0x%x\n", rsrc);
8314 SYNTAX("bnot %1, %0%S0");
8315 #line 978 "rx-decode.opc"
8316 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8317 if (sd == 3) /* bset reg,reg */
8326 switch (op[2] & 0x00)
8329 goto op_semantics_62;
8335 switch (op[2] & 0x00)
8338 goto op_semantics_62;
8344 switch (op[2] & 0x00)
8347 goto op_semantics_62;
8353 switch (op[2] & 0x00)
8358 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8359 #line 909 "rx-decode.opc"
8360 int sd AU = op[1] & 0x03;
8361 #line 909 "rx-decode.opc"
8362 int rsrc AU = (op[2] >> 4) & 0x0f;
8363 #line 909 "rx-decode.opc"
8364 int rdst AU = op[2] & 0x0f;
8367 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8368 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8369 op[0], op[1], op[2]);
8370 printf (" sd = 0x%x,", sd);
8371 printf (" rsrc = 0x%x,", rsrc);
8372 printf (" rdst = 0x%x\n", rdst);
8374 SYNTAX("fsub %1%S1, %0");
8375 #line 909 "rx-decode.opc"
8376 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8384 switch (op[2] & 0x00)
8387 goto op_semantics_63;
8393 switch (op[2] & 0x00)
8396 goto op_semantics_63;
8402 switch (op[2] & 0x00)
8405 goto op_semantics_63;
8411 switch (op[2] & 0x00)
8416 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8417 #line 903 "rx-decode.opc"
8418 int sd AU = op[1] & 0x03;
8419 #line 903 "rx-decode.opc"
8420 int rsrc AU = (op[2] >> 4) & 0x0f;
8421 #line 903 "rx-decode.opc"
8422 int rdst AU = op[2] & 0x0f;
8425 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8426 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8427 op[0], op[1], op[2]);
8428 printf (" sd = 0x%x,", sd);
8429 printf (" rsrc = 0x%x,", rsrc);
8430 printf (" rdst = 0x%x\n", rdst);
8432 SYNTAX("fcmp %1%S1, %0");
8433 #line 903 "rx-decode.opc"
8434 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8442 switch (op[2] & 0x00)
8445 goto op_semantics_64;
8451 switch (op[2] & 0x00)
8454 goto op_semantics_64;
8460 switch (op[2] & 0x00)
8463 goto op_semantics_64;
8469 switch (op[2] & 0x00)
8474 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8475 #line 897 "rx-decode.opc"
8476 int sd AU = op[1] & 0x03;
8477 #line 897 "rx-decode.opc"
8478 int rsrc AU = (op[2] >> 4) & 0x0f;
8479 #line 897 "rx-decode.opc"
8480 int rdst AU = op[2] & 0x0f;
8483 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8484 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8485 op[0], op[1], op[2]);
8486 printf (" sd = 0x%x,", sd);
8487 printf (" rsrc = 0x%x,", rsrc);
8488 printf (" rdst = 0x%x\n", rdst);
8490 SYNTAX("fadd %1%S1, %0");
8491 #line 897 "rx-decode.opc"
8492 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8500 switch (op[2] & 0x00)
8503 goto op_semantics_65;
8509 switch (op[2] & 0x00)
8512 goto op_semantics_65;
8518 switch (op[2] & 0x00)
8521 goto op_semantics_65;
8527 switch (op[2] & 0x00)
8532 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8533 #line 918 "rx-decode.opc"
8534 int sd AU = op[1] & 0x03;
8535 #line 918 "rx-decode.opc"
8536 int rsrc AU = (op[2] >> 4) & 0x0f;
8537 #line 918 "rx-decode.opc"
8538 int rdst AU = op[2] & 0x0f;
8541 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8542 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8543 op[0], op[1], op[2]);
8544 printf (" sd = 0x%x,", sd);
8545 printf (" rsrc = 0x%x,", rsrc);
8546 printf (" rdst = 0x%x\n", rdst);
8548 SYNTAX("fmul %1%S1, %0");
8549 #line 918 "rx-decode.opc"
8550 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8558 switch (op[2] & 0x00)
8561 goto op_semantics_66;
8567 switch (op[2] & 0x00)
8570 goto op_semantics_66;
8576 switch (op[2] & 0x00)
8579 goto op_semantics_66;
8585 switch (op[2] & 0x00)
8590 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8591 #line 924 "rx-decode.opc"
8592 int sd AU = op[1] & 0x03;
8593 #line 924 "rx-decode.opc"
8594 int rsrc AU = (op[2] >> 4) & 0x0f;
8595 #line 924 "rx-decode.opc"
8596 int rdst AU = op[2] & 0x0f;
8599 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8600 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8601 op[0], op[1], op[2]);
8602 printf (" sd = 0x%x,", sd);
8603 printf (" rsrc = 0x%x,", rsrc);
8604 printf (" rdst = 0x%x\n", rdst);
8606 SYNTAX("fdiv %1%S1, %0");
8607 #line 924 "rx-decode.opc"
8608 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8616 switch (op[2] & 0x00)
8619 goto op_semantics_67;
8625 switch (op[2] & 0x00)
8628 goto op_semantics_67;
8634 switch (op[2] & 0x00)
8637 goto op_semantics_67;
8643 switch (op[2] & 0x00)
8648 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8649 #line 912 "rx-decode.opc"
8650 int sd AU = op[1] & 0x03;
8651 #line 912 "rx-decode.opc"
8652 int rsrc AU = (op[2] >> 4) & 0x0f;
8653 #line 912 "rx-decode.opc"
8654 int rdst AU = op[2] & 0x0f;
8657 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8658 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8659 op[0], op[1], op[2]);
8660 printf (" sd = 0x%x,", sd);
8661 printf (" rsrc = 0x%x,", rsrc);
8662 printf (" rdst = 0x%x\n", rdst);
8664 SYNTAX("ftoi %1%S1, %0");
8665 #line 912 "rx-decode.opc"
8666 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8674 switch (op[2] & 0x00)
8677 goto op_semantics_68;
8683 switch (op[2] & 0x00)
8686 goto op_semantics_68;
8692 switch (op[2] & 0x00)
8695 goto op_semantics_68;
8701 switch (op[2] & 0x00)
8706 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8707 #line 927 "rx-decode.opc"
8708 int sd AU = op[1] & 0x03;
8709 #line 927 "rx-decode.opc"
8710 int rsrc AU = (op[2] >> 4) & 0x0f;
8711 #line 927 "rx-decode.opc"
8712 int rdst AU = op[2] & 0x0f;
8715 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8716 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8717 op[0], op[1], op[2]);
8718 printf (" sd = 0x%x,", sd);
8719 printf (" rsrc = 0x%x,", rsrc);
8720 printf (" rdst = 0x%x\n", rdst);
8722 SYNTAX("round %1%S1, %0");
8723 #line 927 "rx-decode.opc"
8724 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8732 switch (op[2] & 0x00)
8735 goto op_semantics_69;
8741 switch (op[2] & 0x00)
8744 goto op_semantics_69;
8750 switch (op[2] & 0x00)
8753 goto op_semantics_69;
8759 switch (op[2] & 0x00)
8764 /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
8765 #line 1110 "rx-decode.opc"
8766 int sd AU = op[1] & 0x03;
8767 #line 1110 "rx-decode.opc"
8768 int rsrc AU = (op[2] >> 4) & 0x0f;
8769 #line 1110 "rx-decode.opc"
8770 int rdst AU = op[2] & 0x0f;
8773 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8774 "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
8775 op[0], op[1], op[2]);
8776 printf (" sd = 0x%x,", sd);
8777 printf (" rsrc = 0x%x,", rsrc);
8778 printf (" rdst = 0x%x\n", rdst);
8780 SYNTAX("fsqrt %1%S1, %0");
8781 #line 1110 "rx-decode.opc"
8782 ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8790 switch (op[2] & 0x00)
8793 goto op_semantics_70;
8799 switch (op[2] & 0x00)
8802 goto op_semantics_70;
8808 switch (op[2] & 0x00)
8811 goto op_semantics_70;
8817 switch (op[2] & 0x00)
8822 /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
8823 #line 1113 "rx-decode.opc"
8824 int sd AU = op[1] & 0x03;
8825 #line 1113 "rx-decode.opc"
8826 int rsrc AU = (op[2] >> 4) & 0x0f;
8827 #line 1113 "rx-decode.opc"
8828 int rdst AU = op[2] & 0x0f;
8831 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8832 "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
8833 op[0], op[1], op[2]);
8834 printf (" sd = 0x%x,", sd);
8835 printf (" rsrc = 0x%x,", rsrc);
8836 printf (" rdst = 0x%x\n", rdst);
8838 SYNTAX("ftou %1%S1, %0");
8839 #line 1113 "rx-decode.opc"
8840 ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8848 switch (op[2] & 0x00)
8851 goto op_semantics_71;
8857 switch (op[2] & 0x00)
8860 goto op_semantics_71;
8866 switch (op[2] & 0x00)
8869 goto op_semantics_71;
8875 switch (op[2] & 0x00)
8880 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8881 #line 1044 "rx-decode.opc"
8882 int sz AU = (op[1] >> 2) & 0x03;
8883 #line 1044 "rx-decode.opc"
8884 int sd AU = op[1] & 0x03;
8885 #line 1044 "rx-decode.opc"
8886 int rdst AU = (op[2] >> 4) & 0x0f;
8887 #line 1044 "rx-decode.opc"
8888 int cond AU = op[2] & 0x0f;
8891 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8892 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8893 op[0], op[1], op[2]);
8894 printf (" sz = 0x%x,", sz);
8895 printf (" sd = 0x%x,", sd);
8896 printf (" rdst = 0x%x,", rdst);
8897 printf (" cond = 0x%x\n", cond);
8899 SYNTAX("sc%1%s %0");
8900 #line 1044 "rx-decode.opc"
8901 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8903 /*----------------------------------------------------------------------*/
8912 switch (op[2] & 0x00)
8915 goto op_semantics_72;
8921 switch (op[2] & 0x00)
8924 goto op_semantics_72;
8930 switch (op[2] & 0x00)
8933 goto op_semantics_72;
8939 switch (op[2] & 0x00)
8942 goto op_semantics_72;
8948 switch (op[2] & 0x00)
8951 goto op_semantics_72;
8957 switch (op[2] & 0x00)
8960 goto op_semantics_72;
8966 switch (op[2] & 0x00)
8969 goto op_semantics_72;
8975 switch (op[2] & 0x00)
8978 goto op_semantics_72;
8984 switch (op[2] & 0x00)
8987 goto op_semantics_72;
8993 switch (op[2] & 0x00)
8996 goto op_semantics_72;
9002 switch (op[2] & 0x00)
9005 goto op_semantics_72;
9011 switch (op[2] & 0x0f)
9030 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
9031 #line 987 "rx-decode.opc"
9032 int bit AU = (op[1] >> 2) & 0x07;
9033 #line 987 "rx-decode.opc"
9034 int sd AU = op[1] & 0x03;
9035 #line 987 "rx-decode.opc"
9036 int rdst AU = (op[2] >> 4) & 0x0f;
9037 #line 987 "rx-decode.opc"
9038 int cond AU = op[2] & 0x0f;
9041 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9042 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
9043 op[0], op[1], op[2]);
9044 printf (" bit = 0x%x,", bit);
9045 printf (" sd = 0x%x,", sd);
9046 printf (" rdst = 0x%x,", rdst);
9047 printf (" cond = 0x%x\n", cond);
9049 SYNTAX("bm%2 #%1, %0%S0");
9050 #line 987 "rx-decode.opc"
9051 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
9058 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
9059 #line 975 "rx-decode.opc"
9060 int bit AU = (op[1] >> 2) & 0x07;
9061 #line 975 "rx-decode.opc"
9062 int sd AU = op[1] & 0x03;
9063 #line 975 "rx-decode.opc"
9064 int rdst AU = (op[2] >> 4) & 0x0f;
9067 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9068 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
9069 op[0], op[1], op[2]);
9070 printf (" bit = 0x%x,", bit);
9071 printf (" sd = 0x%x,", sd);
9072 printf (" rdst = 0x%x\n", rdst);
9074 SYNTAX("bnot #%1, %0%S0");
9075 #line 975 "rx-decode.opc"
9076 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
9084 switch (op[2] & 0x0f)
9101 goto op_semantics_73;
9104 goto op_semantics_74;
9110 switch (op[2] & 0x0f)
9127 goto op_semantics_73;
9130 goto op_semantics_74;
9136 switch (op[2] & 0x0f)
9153 goto op_semantics_73;
9156 goto op_semantics_74;
9162 switch (op[2] & 0x0f)
9179 goto op_semantics_73;
9182 goto op_semantics_74;
9188 switch (op[2] & 0x0f)
9205 goto op_semantics_73;
9208 goto op_semantics_74;
9214 switch (op[2] & 0x0f)
9231 goto op_semantics_73;
9234 goto op_semantics_74;
9240 switch (op[2] & 0x0f)
9257 goto op_semantics_73;
9260 goto op_semantics_74;
9266 switch (op[2] & 0x0f)
9283 goto op_semantics_73;
9286 goto op_semantics_74;
9292 switch (op[2] & 0x0f)
9309 goto op_semantics_73;
9312 goto op_semantics_74;
9318 switch (op[2] & 0x0f)
9335 goto op_semantics_73;
9338 goto op_semantics_74;
9344 switch (op[2] & 0x0f)
9361 goto op_semantics_73;
9364 goto op_semantics_74;
9370 switch (op[2] & 0x0f)
9387 goto op_semantics_73;
9390 goto op_semantics_74;
9396 switch (op[2] & 0x0f)
9413 goto op_semantics_73;
9416 goto op_semantics_74;
9422 switch (op[2] & 0x0f)
9439 goto op_semantics_73;
9442 goto op_semantics_74;
9448 switch (op[2] & 0x0f)
9465 goto op_semantics_73;
9468 goto op_semantics_74;
9474 switch (op[2] & 0x0f)
9491 goto op_semantics_73;
9494 goto op_semantics_74;
9500 switch (op[2] & 0x0f)
9517 goto op_semantics_73;
9520 goto op_semantics_74;
9526 switch (op[2] & 0x0f)
9543 goto op_semantics_73;
9546 goto op_semantics_74;
9552 switch (op[2] & 0x0f)
9569 goto op_semantics_73;
9572 goto op_semantics_74;
9578 switch (op[2] & 0x0f)
9595 goto op_semantics_73;
9598 goto op_semantics_74;
9604 switch (op[2] & 0x0f)
9621 goto op_semantics_73;
9624 goto op_semantics_74;
9630 switch (op[2] & 0x0f)
9647 goto op_semantics_73;
9650 goto op_semantics_74;
9656 switch (op[2] & 0x0f)
9673 goto op_semantics_73;
9676 goto op_semantics_74;
9682 switch (op[2] & 0x0f)
9699 goto op_semantics_73;
9702 goto op_semantics_74;
9708 switch (op[2] & 0x0f)
9725 goto op_semantics_73;
9728 goto op_semantics_74;
9734 switch (op[2] & 0x0f)
9751 goto op_semantics_73;
9754 goto op_semantics_74;
9760 switch (op[2] & 0x0f)
9777 goto op_semantics_73;
9780 goto op_semantics_74;
9786 switch (op[2] & 0x0f)
9803 goto op_semantics_73;
9806 goto op_semantics_74;
9812 switch (op[2] & 0x0f)
9829 goto op_semantics_73;
9832 goto op_semantics_74;
9838 switch (op[2] & 0x0f)
9855 goto op_semantics_73;
9858 goto op_semantics_74;
9864 switch (op[2] & 0x0f)
9881 goto op_semantics_73;
9884 goto op_semantics_74;
9888 default: UNSUPPORTED(); break;
9893 switch (op[1] & 0xff)
9897 switch (op[2] & 0x00)
9902 /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
9903 #line 852 "rx-decode.opc"
9904 int a AU = (op[1] >> 3) & 0x01;
9905 #line 852 "rx-decode.opc"
9906 int srca AU = (op[2] >> 4) & 0x0f;
9907 #line 852 "rx-decode.opc"
9908 int srcb AU = op[2] & 0x0f;
9911 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9912 "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
9913 op[0], op[1], op[2]);
9914 printf (" a = 0x%x,", a);
9915 printf (" srca = 0x%x,", srca);
9916 printf (" srcb = 0x%x\n", srcb);
9918 SYNTAX("mulhi %1, %2, %0");
9919 #line 852 "rx-decode.opc"
9920 ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
9928 switch (op[2] & 0x00)
9933 /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
9934 #line 855 "rx-decode.opc"
9935 int a AU = (op[1] >> 3) & 0x01;
9936 #line 855 "rx-decode.opc"
9937 int srca AU = (op[2] >> 4) & 0x0f;
9938 #line 855 "rx-decode.opc"
9939 int srcb AU = op[2] & 0x0f;
9942 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9943 "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
9944 op[0], op[1], op[2]);
9945 printf (" a = 0x%x,", a);
9946 printf (" srca = 0x%x,", srca);
9947 printf (" srcb = 0x%x\n", srcb);
9949 SYNTAX("mullo %1, %2, %0");
9950 #line 855 "rx-decode.opc"
9951 ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
9959 switch (op[2] & 0x00)
9964 /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
9965 #line 1083 "rx-decode.opc"
9966 int a AU = (op[1] >> 3) & 0x01;
9967 #line 1083 "rx-decode.opc"
9968 int srca AU = (op[2] >> 4) & 0x0f;
9969 #line 1083 "rx-decode.opc"
9970 int srcb AU = op[2] & 0x0f;
9973 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9974 "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
9975 op[0], op[1], op[2]);
9976 printf (" a = 0x%x,", a);
9977 printf (" srca = 0x%x,", srca);
9978 printf (" srcb = 0x%x\n", srcb);
9980 SYNTAX("mullh %1, %2, %0");
9981 #line 1083 "rx-decode.opc"
9982 ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
9990 switch (op[2] & 0x00)
9995 /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
9996 #line 1068 "rx-decode.opc"
9997 int a AU = (op[1] >> 3) & 0x01;
9998 #line 1068 "rx-decode.opc"
9999 int srca AU = (op[2] >> 4) & 0x0f;
10000 #line 1068 "rx-decode.opc"
10001 int srcb AU = op[2] & 0x0f;
10004 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10005 "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
10006 op[0], op[1], op[2]);
10007 printf (" a = 0x%x,", a);
10008 printf (" srca = 0x%x,", srca);
10009 printf (" srcb = 0x%x\n", srcb);
10011 SYNTAX("emula %1, %2, %0");
10012 #line 1068 "rx-decode.opc"
10013 ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
10021 switch (op[2] & 0x00)
10026 /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
10027 #line 858 "rx-decode.opc"
10028 int a AU = (op[1] >> 3) & 0x01;
10029 #line 858 "rx-decode.opc"
10030 int srca AU = (op[2] >> 4) & 0x0f;
10031 #line 858 "rx-decode.opc"
10032 int srcb AU = op[2] & 0x0f;
10035 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10036 "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
10037 op[0], op[1], op[2]);
10038 printf (" a = 0x%x,", a);
10039 printf (" srca = 0x%x,", srca);
10040 printf (" srcb = 0x%x\n", srcb);
10042 SYNTAX("machi %1, %2, %0");
10043 #line 858 "rx-decode.opc"
10044 ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
10052 switch (op[2] & 0x00)
10057 /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
10058 #line 861 "rx-decode.opc"
10059 int a AU = (op[1] >> 3) & 0x01;
10060 #line 861 "rx-decode.opc"
10061 int srca AU = (op[2] >> 4) & 0x0f;
10062 #line 861 "rx-decode.opc"
10063 int srcb AU = op[2] & 0x0f;
10066 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10067 "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
10068 op[0], op[1], op[2]);
10069 printf (" a = 0x%x,", a);
10070 printf (" srca = 0x%x,", srca);
10071 printf (" srcb = 0x%x\n", srcb);
10073 SYNTAX("maclo %1, %2, %0");
10074 #line 861 "rx-decode.opc"
10075 ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
10083 switch (op[2] & 0x00)
10088 /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
10089 #line 1071 "rx-decode.opc"
10090 int a AU = (op[1] >> 3) & 0x01;
10091 #line 1071 "rx-decode.opc"
10092 int srca AU = (op[2] >> 4) & 0x0f;
10093 #line 1071 "rx-decode.opc"
10094 int srcb AU = op[2] & 0x0f;
10097 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10098 "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
10099 op[0], op[1], op[2]);
10100 printf (" a = 0x%x,", a);
10101 printf (" srca = 0x%x,", srca);
10102 printf (" srcb = 0x%x\n", srcb);
10104 SYNTAX("maclh %1, %2, %0");
10105 #line 1071 "rx-decode.opc"
10106 ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
10114 switch (op[2] & 0x00)
10119 /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
10120 #line 1062 "rx-decode.opc"
10121 int a AU = (op[1] >> 3) & 0x01;
10122 #line 1062 "rx-decode.opc"
10123 int srca AU = (op[2] >> 4) & 0x0f;
10124 #line 1062 "rx-decode.opc"
10125 int srcb AU = op[2] & 0x0f;
10128 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10129 "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
10130 op[0], op[1], op[2]);
10131 printf (" a = 0x%x,", a);
10132 printf (" srca = 0x%x,", srca);
10133 printf (" srcb = 0x%x\n", srcb);
10135 SYNTAX("emaca %1, %2, %0");
10136 #line 1062 "rx-decode.opc"
10137 ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
10145 switch (op[2] & 0x00)
10148 goto op_semantics_75;
10154 switch (op[2] & 0x00)
10157 goto op_semantics_76;
10163 switch (op[2] & 0x00)
10166 goto op_semantics_77;
10172 switch (op[2] & 0x00)
10175 goto op_semantics_78;
10181 switch (op[2] & 0x00)
10184 goto op_semantics_79;
10190 switch (op[2] & 0x00)
10193 goto op_semantics_80;
10199 switch (op[2] & 0x00)
10202 goto op_semantics_81;
10208 switch (op[2] & 0x00)
10211 goto op_semantics_82;
10217 switch (op[2] & 0x70)
10221 /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
10222 #line 864 "rx-decode.opc"
10223 int a AU = (op[2] >> 7) & 0x01;
10224 #line 864 "rx-decode.opc"
10225 int rsrc AU = op[2] & 0x0f;
10228 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10229 "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
10230 op[0], op[1], op[2]);
10231 printf (" a = 0x%x,", a);
10232 printf (" rsrc = 0x%x\n", rsrc);
10234 SYNTAX("mvtachi %1, %0");
10235 #line 864 "rx-decode.opc"
10236 ID(mvtachi); DR(a+32); SR(rsrc); F_____;
10242 /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
10243 #line 867 "rx-decode.opc"
10244 int a AU = (op[2] >> 7) & 0x01;
10245 #line 867 "rx-decode.opc"
10246 int rsrc AU = op[2] & 0x0f;
10249 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10250 "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
10251 op[0], op[1], op[2]);
10252 printf (" a = 0x%x,", a);
10253 printf (" rsrc = 0x%x\n", rsrc);
10255 SYNTAX("mvtaclo %1, %0");
10256 #line 867 "rx-decode.opc"
10257 ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
10263 /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
10264 #line 1089 "rx-decode.opc"
10265 int a AU = (op[2] >> 7) & 0x01;
10266 #line 1089 "rx-decode.opc"
10267 int rdst AU = op[2] & 0x0f;
10270 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10271 "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
10272 op[0], op[1], op[2]);
10273 printf (" a = 0x%x,", a);
10274 printf (" rdst = 0x%x\n", rdst);
10276 SYNTAX("mvtacgu %0, %1");
10277 #line 1089 "rx-decode.opc"
10278 ID(mvtacgu); DR(a+32); SR(rdst); F_____;
10282 default: UNSUPPORTED(); break;
10287 switch (op[2] & 0x6f)
10291 /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
10292 #line 879 "rx-decode.opc"
10293 int a AU = (op[2] >> 7) & 0x01;
10294 #line 879 "rx-decode.opc"
10295 int i AU = (op[2] >> 4) & 0x01;
10298 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10299 "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
10300 op[0], op[1], op[2]);
10301 printf (" a = 0x%x,", a);
10302 printf (" i = 0x%x\n", i);
10304 SYNTAX("racw #%1, %0");
10305 #line 879 "rx-decode.opc"
10306 ID(racw); SC(i+1); DR(a+32); F_____;
10308 /*----------------------------------------------------------------------*/
10315 /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
10316 #line 1098 "rx-decode.opc"
10317 int a AU = (op[2] >> 7) & 0x01;
10318 #line 1098 "rx-decode.opc"
10319 int i AU = (op[2] >> 4) & 0x01;
10322 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10323 "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
10324 op[0], op[1], op[2]);
10325 printf (" a = 0x%x,", a);
10326 printf (" i = 0x%x\n", i);
10328 SYNTAX("rdacw #%1, %0");
10329 #line 1098 "rx-decode.opc"
10330 ID(rdacw); SC(i+1); DR(a+32); F_____;
10334 default: UNSUPPORTED(); break;
10339 switch (op[2] & 0x6f)
10343 /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
10344 #line 1092 "rx-decode.opc"
10345 int a AU = (op[2] >> 7) & 0x01;
10346 #line 1092 "rx-decode.opc"
10347 int i AU = (op[2] >> 4) & 0x01;
10350 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10351 "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
10352 op[0], op[1], op[2]);
10353 printf (" a = 0x%x,", a);
10354 printf (" i = 0x%x\n", i);
10356 SYNTAX("racl #%1, %0");
10357 #line 1092 "rx-decode.opc"
10358 ID(racl); SC(i+1); DR(a+32); F_____;
10364 /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
10365 #line 1095 "rx-decode.opc"
10366 int a AU = (op[2] >> 7) & 0x01;
10367 #line 1095 "rx-decode.opc"
10368 int i AU = (op[2] >> 4) & 0x01;
10371 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10372 "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
10373 op[0], op[1], op[2]);
10374 printf (" a = 0x%x,", a);
10375 printf (" i = 0x%x\n", i);
10377 SYNTAX("rdacl #%1, %0");
10378 #line 1095 "rx-decode.opc"
10379 ID(rdacl); SC(i+1); DR(a+32); F_____;
10383 default: UNSUPPORTED(); break;
10388 switch (op[2] & 0x30)
10393 /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
10394 #line 870 "rx-decode.opc"
10395 int i AU = op[1] & 0x01;
10396 #line 870 "rx-decode.opc"
10397 int a AU = (op[2] >> 7) & 0x01;
10398 #line 870 "rx-decode.opc"
10399 int m AU = (op[2] >> 6) & 0x01;
10400 #line 870 "rx-decode.opc"
10401 int rdst AU = op[2] & 0x0f;
10404 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10405 "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
10406 op[0], op[1], op[2]);
10407 printf (" i = 0x%x,", i);
10408 printf (" a = 0x%x,", a);
10409 printf (" m = 0x%x,", m);
10410 printf (" rdst = 0x%x\n", rdst);
10412 SYNTAX("mvfachi #%2, %1, %0");
10413 #line 870 "rx-decode.opc"
10414 ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10421 /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
10422 #line 876 "rx-decode.opc"
10423 int i AU = op[1] & 0x01;
10424 #line 876 "rx-decode.opc"
10425 int a AU = (op[2] >> 7) & 0x01;
10426 #line 876 "rx-decode.opc"
10427 int m AU = (op[2] >> 6) & 0x01;
10428 #line 876 "rx-decode.opc"
10429 int rdst AU = op[2] & 0x0f;
10432 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10433 "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
10434 op[0], op[1], op[2]);
10435 printf (" i = 0x%x,", i);
10436 printf (" a = 0x%x,", a);
10437 printf (" m = 0x%x,", m);
10438 printf (" rdst = 0x%x\n", rdst);
10440 SYNTAX("mvfaclo #%2, %1, %0");
10441 #line 876 "rx-decode.opc"
10442 ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10449 /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
10450 #line 873 "rx-decode.opc"
10451 int i AU = op[1] & 0x01;
10452 #line 873 "rx-decode.opc"
10453 int a AU = (op[2] >> 7) & 0x01;
10454 #line 873 "rx-decode.opc"
10455 int m AU = (op[2] >> 6) & 0x01;
10456 #line 873 "rx-decode.opc"
10457 int rdst AU = op[2] & 0x0f;
10460 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10461 "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
10462 op[0], op[1], op[2]);
10463 printf (" i = 0x%x,", i);
10464 printf (" a = 0x%x,", a);
10465 printf (" m = 0x%x,", m);
10466 printf (" rdst = 0x%x\n", rdst);
10468 SYNTAX("mvfacmi #%2, %1, %0");
10469 #line 873 "rx-decode.opc"
10470 ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10477 /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
10478 #line 1086 "rx-decode.opc"
10479 int i AU = op[1] & 0x01;
10480 #line 1086 "rx-decode.opc"
10481 int a AU = (op[2] >> 7) & 0x01;
10482 #line 1086 "rx-decode.opc"
10483 int m AU = (op[2] >> 6) & 0x01;
10484 #line 1086 "rx-decode.opc"
10485 int rdst AU = op[2] & 0x0f;
10488 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10489 "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
10490 op[0], op[1], op[2]);
10491 printf (" i = 0x%x,", i);
10492 printf (" a = 0x%x,", a);
10493 printf (" m = 0x%x,", m);
10494 printf (" rdst = 0x%x\n", rdst);
10496 SYNTAX("mvfacgu #%2, %1, %0");
10497 #line 1086 "rx-decode.opc"
10498 ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10506 switch (op[2] & 0x30)
10509 goto op_semantics_83;
10512 goto op_semantics_84;
10515 goto op_semantics_85;
10518 goto op_semantics_86;
10524 switch (op[2] & 0x00)
10529 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
10530 #line 348 "rx-decode.opc"
10531 int p AU = (op[1] >> 2) & 0x01;
10532 #line 348 "rx-decode.opc"
10533 int sz AU = op[1] & 0x03;
10534 #line 348 "rx-decode.opc"
10535 int rdst AU = (op[2] >> 4) & 0x0f;
10536 #line 348 "rx-decode.opc"
10537 int rsrc AU = op[2] & 0x0f;
10540 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10541 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
10542 op[0], op[1], op[2]);
10543 printf (" p = 0x%x,", p);
10544 printf (" sz = 0x%x,", sz);
10545 printf (" rdst = 0x%x,", rdst);
10546 printf (" rsrc = 0x%x\n", rsrc);
10548 SYNTAX("mov%s %1, %0");
10549 #line 348 "rx-decode.opc"
10550 ID(mov); sBWL (sz); SR(rsrc); F_____;
10551 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
10559 switch (op[2] & 0x00)
10562 goto op_semantics_87;
10568 switch (op[2] & 0x00)
10571 goto op_semantics_87;
10577 switch (op[2] & 0x00)
10580 goto op_semantics_87;
10586 switch (op[2] & 0x00)
10589 goto op_semantics_87;
10595 switch (op[2] & 0x00)
10598 goto op_semantics_87;
10604 switch (op[2] & 0x00)
10608 /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
10609 #line 1050 "rx-decode.opc"
10610 int rdst AU = (op[2] >> 4) & 0x0f;
10611 #line 1050 "rx-decode.opc"
10612 int rsrc AU = op[2] & 0x0f;
10615 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10616 "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
10617 op[0], op[1], op[2]);
10618 printf (" rdst = 0x%x,", rdst);
10619 printf (" rsrc = 0x%x\n", rsrc);
10621 SYNTAX("movco %1, [%0]");
10622 #line 1050 "rx-decode.opc"
10623 ID(movco); SR(rsrc); DR(rdst); F_____;
10631 switch (op[2] & 0x00)
10636 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
10637 #line 352 "rx-decode.opc"
10638 int p AU = (op[1] >> 2) & 0x01;
10639 #line 352 "rx-decode.opc"
10640 int sz AU = op[1] & 0x03;
10641 #line 352 "rx-decode.opc"
10642 int rsrc AU = (op[2] >> 4) & 0x0f;
10643 #line 352 "rx-decode.opc"
10644 int rdst AU = op[2] & 0x0f;
10647 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10648 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
10649 op[0], op[1], op[2]);
10650 printf (" p = 0x%x,", p);
10651 printf (" sz = 0x%x,", sz);
10652 printf (" rsrc = 0x%x,", rsrc);
10653 printf (" rdst = 0x%x\n", rdst);
10655 SYNTAX("mov%s %1, %0");
10656 #line 352 "rx-decode.opc"
10657 ID(mov); sBWL (sz); DR(rdst); F_____;
10658 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10666 switch (op[2] & 0x00)
10669 goto op_semantics_88;
10675 switch (op[2] & 0x00)
10678 goto op_semantics_88;
10684 switch (op[2] & 0x00)
10687 goto op_semantics_88;
10693 switch (op[2] & 0x00)
10696 goto op_semantics_88;
10702 switch (op[2] & 0x00)
10705 goto op_semantics_88;
10711 switch (op[2] & 0x00)
10715 /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
10716 #line 1053 "rx-decode.opc"
10717 int rsrc AU = (op[2] >> 4) & 0x0f;
10718 #line 1053 "rx-decode.opc"
10719 int rdst AU = op[2] & 0x0f;
10722 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10723 "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
10724 op[0], op[1], op[2]);
10725 printf (" rsrc = 0x%x,", rsrc);
10726 printf (" rdst = 0x%x\n", rdst);
10728 SYNTAX("movli [%1], %0");
10729 #line 1053 "rx-decode.opc"
10730 ID(movli); SR(rsrc); DR(rdst); F_____;
10738 switch (op[2] & 0x00)
10743 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
10744 #line 362 "rx-decode.opc"
10745 int p AU = (op[1] >> 2) & 0x01;
10746 #line 362 "rx-decode.opc"
10747 int sz AU = op[1] & 0x03;
10748 #line 362 "rx-decode.opc"
10749 int rsrc AU = (op[2] >> 4) & 0x0f;
10750 #line 362 "rx-decode.opc"
10751 int rdst AU = op[2] & 0x0f;
10754 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10755 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
10756 op[0], op[1], op[2]);
10757 printf (" p = 0x%x,", p);
10758 printf (" sz = 0x%x,", sz);
10759 printf (" rsrc = 0x%x,", rsrc);
10760 printf (" rdst = 0x%x\n", rdst);
10762 SYNTAX("movu%s %1, %0");
10763 #line 362 "rx-decode.opc"
10764 ID(mov); uBW (sz); DR(rdst); F_____;
10765 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10767 /*----------------------------------------------------------------------*/
10776 switch (op[2] & 0x00)
10779 goto op_semantics_89;
10785 switch (op[2] & 0x00)
10788 goto op_semantics_89;
10794 switch (op[2] & 0x00)
10797 goto op_semantics_89;
10803 switch (op[2] & 0x00)
10806 goto op_semantics_89;
10812 switch (op[2] & 0x00)
10815 goto op_semantics_89;
10821 switch (op[2] & 0x00)
10826 /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
10827 #line 1074 "rx-decode.opc"
10828 int a AU = (op[1] >> 3) & 0x01;
10829 #line 1074 "rx-decode.opc"
10830 int srca AU = (op[2] >> 4) & 0x0f;
10831 #line 1074 "rx-decode.opc"
10832 int srcb AU = op[2] & 0x0f;
10835 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10836 "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
10837 op[0], op[1], op[2]);
10838 printf (" a = 0x%x,", a);
10839 printf (" srca = 0x%x,", srca);
10840 printf (" srcb = 0x%x\n", srcb);
10842 SYNTAX("msbhi %1, %2, %0");
10843 #line 1074 "rx-decode.opc"
10844 ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
10852 switch (op[2] & 0x00)
10857 /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
10858 #line 1080 "rx-decode.opc"
10859 int a AU = (op[1] >> 3) & 0x01;
10860 #line 1080 "rx-decode.opc"
10861 int srca AU = (op[2] >> 4) & 0x0f;
10862 #line 1080 "rx-decode.opc"
10863 int srcb AU = op[2] & 0x0f;
10866 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10867 "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
10868 op[0], op[1], op[2]);
10869 printf (" a = 0x%x,", a);
10870 printf (" srca = 0x%x,", srca);
10871 printf (" srcb = 0x%x\n", srcb);
10873 SYNTAX("msblo %1, %2, %0");
10874 #line 1080 "rx-decode.opc"
10875 ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
10883 switch (op[2] & 0x00)
10888 /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
10889 #line 1077 "rx-decode.opc"
10890 int a AU = (op[1] >> 3) & 0x01;
10891 #line 1077 "rx-decode.opc"
10892 int srca AU = (op[2] >> 4) & 0x0f;
10893 #line 1077 "rx-decode.opc"
10894 int srcb AU = op[2] & 0x0f;
10897 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10898 "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
10899 op[0], op[1], op[2]);
10900 printf (" a = 0x%x,", a);
10901 printf (" srca = 0x%x,", srca);
10902 printf (" srcb = 0x%x\n", srcb);
10904 SYNTAX("msblh %1, %2, %0");
10905 #line 1077 "rx-decode.opc"
10906 ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
10914 switch (op[2] & 0x00)
10919 /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
10920 #line 1065 "rx-decode.opc"
10921 int a AU = (op[1] >> 3) & 0x01;
10922 #line 1065 "rx-decode.opc"
10923 int srca AU = (op[2] >> 4) & 0x0f;
10924 #line 1065 "rx-decode.opc"
10925 int srcb AU = op[2] & 0x0f;
10928 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10929 "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
10930 op[0], op[1], op[2]);
10931 printf (" a = 0x%x,", a);
10932 printf (" srca = 0x%x,", srca);
10933 printf (" srcb = 0x%x\n", srcb);
10935 SYNTAX("emsba %1, %2, %0");
10936 #line 1065 "rx-decode.opc"
10937 ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
10945 switch (op[2] & 0x00)
10948 goto op_semantics_90;
10954 switch (op[2] & 0x00)
10957 goto op_semantics_91;
10963 switch (op[2] & 0x00)
10966 goto op_semantics_92;
10972 switch (op[2] & 0x00)
10975 goto op_semantics_93;
10981 switch (op[2] & 0x00)
10985 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
10986 #line 733 "rx-decode.opc"
10987 int rsrc AU = (op[2] >> 4) & 0x0f;
10988 #line 733 "rx-decode.opc"
10989 int rdst AU = op[2] & 0x0f;
10992 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10993 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
10994 op[0], op[1], op[2]);
10995 printf (" rsrc = 0x%x,", rsrc);
10996 printf (" rdst = 0x%x\n", rdst);
10998 SYNTAX("shlr %2, %0");
10999 #line 733 "rx-decode.opc"
11000 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
11008 switch (op[2] & 0x00)
11012 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
11013 #line 723 "rx-decode.opc"
11014 int rsrc AU = (op[2] >> 4) & 0x0f;
11015 #line 723 "rx-decode.opc"
11016 int rdst AU = op[2] & 0x0f;
11019 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11020 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
11021 op[0], op[1], op[2]);
11022 printf (" rsrc = 0x%x,", rsrc);
11023 printf (" rdst = 0x%x\n", rdst);
11025 SYNTAX("shar %2, %0");
11026 #line 723 "rx-decode.opc"
11027 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
11035 switch (op[2] & 0x00)
11039 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
11040 #line 713 "rx-decode.opc"
11041 int rsrc AU = (op[2] >> 4) & 0x0f;
11042 #line 713 "rx-decode.opc"
11043 int rdst AU = op[2] & 0x0f;
11046 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11047 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
11048 op[0], op[1], op[2]);
11049 printf (" rsrc = 0x%x,", rsrc);
11050 printf (" rdst = 0x%x\n", rdst);
11052 SYNTAX("shll %2, %0");
11053 #line 713 "rx-decode.opc"
11054 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
11062 switch (op[2] & 0x00)
11066 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
11067 #line 757 "rx-decode.opc"
11068 int rsrc AU = (op[2] >> 4) & 0x0f;
11069 #line 757 "rx-decode.opc"
11070 int rdst AU = op[2] & 0x0f;
11073 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11074 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
11075 op[0], op[1], op[2]);
11076 printf (" rsrc = 0x%x,", rsrc);
11077 printf (" rdst = 0x%x\n", rdst);
11079 SYNTAX("rotr %1, %0");
11080 #line 757 "rx-decode.opc"
11081 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
11089 switch (op[2] & 0x00)
11093 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
11094 #line 760 "rx-decode.opc"
11095 int rsrc AU = (op[2] >> 4) & 0x0f;
11096 #line 760 "rx-decode.opc"
11097 int rdst AU = op[2] & 0x0f;
11100 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11101 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
11102 op[0], op[1], op[2]);
11103 printf (" rsrc = 0x%x,", rsrc);
11104 printf (" rdst = 0x%x\n", rdst);
11106 SYNTAX("revw %1, %0");
11107 #line 760 "rx-decode.opc"
11108 ID(revw); SR(rsrc); DR(rdst);
11116 switch (op[2] & 0x00)
11120 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
11121 #line 751 "rx-decode.opc"
11122 int rsrc AU = (op[2] >> 4) & 0x0f;
11123 #line 751 "rx-decode.opc"
11124 int rdst AU = op[2] & 0x0f;
11127 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11128 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
11129 op[0], op[1], op[2]);
11130 printf (" rsrc = 0x%x,", rsrc);
11131 printf (" rdst = 0x%x\n", rdst);
11133 SYNTAX("rotl %1, %0");
11134 #line 751 "rx-decode.opc"
11135 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
11143 switch (op[2] & 0x00)
11147 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
11148 #line 763 "rx-decode.opc"
11149 int rsrc AU = (op[2] >> 4) & 0x0f;
11150 #line 763 "rx-decode.opc"
11151 int rdst AU = op[2] & 0x0f;
11154 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11155 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
11156 op[0], op[1], op[2]);
11157 printf (" rsrc = 0x%x,", rsrc);
11158 printf (" rdst = 0x%x\n", rdst);
11160 SYNTAX("revl %1, %0");
11161 #line 763 "rx-decode.opc"
11162 ID(revl); SR(rsrc); DR(rdst);
11164 /*----------------------------------------------------------------------*/
11173 switch (op[2] & 0x00)
11178 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
11179 #line 1014 "rx-decode.opc"
11180 int c AU = op[1] & 0x01;
11181 #line 1014 "rx-decode.opc"
11182 int rsrc AU = (op[2] >> 4) & 0x0f;
11183 #line 1014 "rx-decode.opc"
11184 int rdst AU = op[2] & 0x0f;
11187 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11188 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
11189 op[0], op[1], op[2]);
11190 printf (" c = 0x%x,", c);
11191 printf (" rsrc = 0x%x,", rsrc);
11192 printf (" rdst = 0x%x\n", rdst);
11194 SYNTAX("mvtc %1, %0");
11195 #line 1014 "rx-decode.opc"
11196 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
11204 switch (op[2] & 0x00)
11207 goto op_semantics_94;
11213 switch (op[2] & 0x00)
11218 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
11219 #line 1017 "rx-decode.opc"
11220 int s AU = op[1] & 0x01;
11221 #line 1017 "rx-decode.opc"
11222 int rsrc AU = (op[2] >> 4) & 0x0f;
11223 #line 1017 "rx-decode.opc"
11224 int rdst AU = op[2] & 0x0f;
11227 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11228 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
11229 op[0], op[1], op[2]);
11230 printf (" s = 0x%x,", s);
11231 printf (" rsrc = 0x%x,", rsrc);
11232 printf (" rdst = 0x%x\n", rdst);
11234 SYNTAX("mvfc %1, %0");
11235 #line 1017 "rx-decode.opc"
11236 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
11238 /*----------------------------------------------------------------------*/
11247 switch (op[2] & 0x00)
11250 goto op_semantics_95;
11256 switch (op[2] & 0x00)
11261 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
11262 #line 754 "rx-decode.opc"
11263 int i AU = op[1] & 0x01;
11264 #line 754 "rx-decode.opc"
11265 int mmmm AU = (op[2] >> 4) & 0x0f;
11266 #line 754 "rx-decode.opc"
11267 int rdst AU = op[2] & 0x0f;
11270 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11271 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
11272 op[0], op[1], op[2]);
11273 printf (" i = 0x%x,", i);
11274 printf (" mmmm = 0x%x,", mmmm);
11275 printf (" rdst = 0x%x\n", rdst);
11277 SYNTAX("rotr #%1, %0");
11278 #line 754 "rx-decode.opc"
11279 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
11287 switch (op[2] & 0x00)
11290 goto op_semantics_96;
11296 switch (op[2] & 0x00)
11301 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
11302 #line 748 "rx-decode.opc"
11303 int i AU = op[1] & 0x01;
11304 #line 748 "rx-decode.opc"
11305 int mmmm AU = (op[2] >> 4) & 0x0f;
11306 #line 748 "rx-decode.opc"
11307 int rdst AU = op[2] & 0x0f;
11310 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11311 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
11312 op[0], op[1], op[2]);
11313 printf (" i = 0x%x,", i);
11314 printf (" mmmm = 0x%x,", mmmm);
11315 printf (" rdst = 0x%x\n", rdst);
11317 SYNTAX("rotl #%1, %0");
11318 #line 748 "rx-decode.opc"
11319 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
11327 switch (op[2] & 0x00)
11330 goto op_semantics_97;
11336 switch (op[2] & 0xf0)
11341 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
11342 #line 492 "rx-decode.opc"
11343 int im AU = (op[1] >> 2) & 0x03;
11344 #line 492 "rx-decode.opc"
11345 int rdst AU = op[2] & 0x0f;
11348 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11349 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
11350 op[0], op[1], op[2]);
11351 printf (" im = 0x%x,", im);
11352 printf (" rdst = 0x%x\n", rdst);
11354 SYNTAX("adc #%1, %0");
11355 #line 492 "rx-decode.opc"
11356 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
11363 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
11364 #line 574 "rx-decode.opc"
11365 int im AU = (op[1] >> 2) & 0x03;
11366 #line 574 "rx-decode.opc"
11367 int rdst AU = op[2] & 0x0f;
11370 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11371 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
11372 op[0], op[1], op[2]);
11373 printf (" im = 0x%x,", im);
11374 printf (" rdst = 0x%x\n", rdst);
11376 SYNTAX("max #%1, %0");
11377 #line 574 "rx-decode.opc"
11378 int val = IMMex (im);
11379 if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
11382 SYNTAX("nop\t; max\t#0x80000000, r0");
11395 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
11396 #line 604 "rx-decode.opc"
11397 int im AU = (op[1] >> 2) & 0x03;
11398 #line 604 "rx-decode.opc"
11399 int rdst AU = op[2] & 0x0f;
11402 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11403 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
11404 op[0], op[1], op[2]);
11405 printf (" im = 0x%x,", im);
11406 printf (" rdst = 0x%x\n", rdst);
11408 SYNTAX("min #%1, %0");
11409 #line 604 "rx-decode.opc"
11410 ID(min); DR(rdst); SC(IMMex(im));
11417 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
11418 #line 662 "rx-decode.opc"
11419 int im AU = (op[1] >> 2) & 0x03;
11420 #line 662 "rx-decode.opc"
11421 int rdst AU = op[2] & 0x0f;
11424 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11425 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
11426 op[0], op[1], op[2]);
11427 printf (" im = 0x%x,", im);
11428 printf (" rdst = 0x%x\n", rdst);
11430 SYNTAX("emul #%1, %0");
11431 #line 662 "rx-decode.opc"
11432 ID(emul); DR(rdst); SC(IMMex(im));
11439 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
11440 #line 674 "rx-decode.opc"
11441 int im AU = (op[1] >> 2) & 0x03;
11442 #line 674 "rx-decode.opc"
11443 int rdst AU = op[2] & 0x0f;
11446 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11447 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
11448 op[0], op[1], op[2]);
11449 printf (" im = 0x%x,", im);
11450 printf (" rdst = 0x%x\n", rdst);
11452 SYNTAX("emulu #%1, %0");
11453 #line 674 "rx-decode.opc"
11454 ID(emulu); DR(rdst); SC(IMMex(im));
11461 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
11462 #line 686 "rx-decode.opc"
11463 int im AU = (op[1] >> 2) & 0x03;
11464 #line 686 "rx-decode.opc"
11465 int rdst AU = op[2] & 0x0f;
11468 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11469 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
11470 op[0], op[1], op[2]);
11471 printf (" im = 0x%x,", im);
11472 printf (" rdst = 0x%x\n", rdst);
11474 SYNTAX("div #%1, %0");
11475 #line 686 "rx-decode.opc"
11476 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
11483 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
11484 #line 698 "rx-decode.opc"
11485 int im AU = (op[1] >> 2) & 0x03;
11486 #line 698 "rx-decode.opc"
11487 int rdst AU = op[2] & 0x0f;
11490 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11491 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
11492 op[0], op[1], op[2]);
11493 printf (" im = 0x%x,", im);
11494 printf (" rdst = 0x%x\n", rdst);
11496 SYNTAX("divu #%1, %0");
11497 #line 698 "rx-decode.opc"
11498 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
11505 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
11506 #line 471 "rx-decode.opc"
11507 int im AU = (op[1] >> 2) & 0x03;
11508 #line 471 "rx-decode.opc"
11509 int rdst AU = op[2] & 0x0f;
11512 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11513 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
11514 op[0], op[1], op[2]);
11515 printf (" im = 0x%x,", im);
11516 printf (" rdst = 0x%x\n", rdst);
11518 SYNTAX("tst #%1, %2");
11519 #line 471 "rx-decode.opc"
11520 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
11527 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
11528 #line 450 "rx-decode.opc"
11529 int im AU = (op[1] >> 2) & 0x03;
11530 #line 450 "rx-decode.opc"
11531 int rdst AU = op[2] & 0x0f;
11534 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11535 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
11536 op[0], op[1], op[2]);
11537 printf (" im = 0x%x,", im);
11538 printf (" rdst = 0x%x\n", rdst);
11540 SYNTAX("xor #%1, %0");
11541 #line 450 "rx-decode.opc"
11542 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
11549 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
11550 #line 396 "rx-decode.opc"
11551 int im AU = (op[1] >> 2) & 0x03;
11552 #line 396 "rx-decode.opc"
11553 int rdst AU = op[2] & 0x0f;
11556 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11557 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
11558 op[0], op[1], op[2]);
11559 printf (" im = 0x%x,", im);
11560 printf (" rdst = 0x%x\n", rdst);
11562 SYNTAX("stz #%1, %0");
11563 #line 396 "rx-decode.opc"
11564 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
11571 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
11572 #line 399 "rx-decode.opc"
11573 int im AU = (op[1] >> 2) & 0x03;
11574 #line 399 "rx-decode.opc"
11575 int rdst AU = op[2] & 0x0f;
11578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11579 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
11580 op[0], op[1], op[2]);
11581 printf (" im = 0x%x,", im);
11582 printf (" rdst = 0x%x\n", rdst);
11584 SYNTAX("stnz #%1, %0");
11585 #line 399 "rx-decode.opc"
11586 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
11588 /*----------------------------------------------------------------------*/
11593 default: UNSUPPORTED(); break;
11598 switch (op[2] & 0xf0)
11602 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
11603 #line 906 "rx-decode.opc"
11604 int rdst AU = op[2] & 0x0f;
11607 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11608 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
11609 op[0], op[1], op[2]);
11610 printf (" rdst = 0x%x\n", rdst);
11612 SYNTAX("fsub #%1, %0");
11613 #line 906 "rx-decode.opc"
11614 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
11620 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
11621 #line 900 "rx-decode.opc"
11622 int rdst AU = op[2] & 0x0f;
11625 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11626 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
11627 op[0], op[1], op[2]);
11628 printf (" rdst = 0x%x\n", rdst);
11630 SYNTAX("fcmp #%1, %0");
11631 #line 900 "rx-decode.opc"
11632 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
11638 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
11639 #line 894 "rx-decode.opc"
11640 int rdst AU = op[2] & 0x0f;
11643 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11644 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
11645 op[0], op[1], op[2]);
11646 printf (" rdst = 0x%x\n", rdst);
11648 SYNTAX("fadd #%1, %0");
11649 #line 894 "rx-decode.opc"
11650 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
11656 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
11657 #line 915 "rx-decode.opc"
11658 int rdst AU = op[2] & 0x0f;
11661 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11662 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
11663 op[0], op[1], op[2]);
11664 printf (" rdst = 0x%x\n", rdst);
11666 SYNTAX("fmul #%1, %0");
11667 #line 915 "rx-decode.opc"
11668 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
11674 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
11675 #line 921 "rx-decode.opc"
11676 int rdst AU = op[2] & 0x0f;
11679 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11680 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
11681 op[0], op[1], op[2]);
11682 printf (" rdst = 0x%x\n", rdst);
11684 SYNTAX("fdiv #%1, %0");
11685 #line 921 "rx-decode.opc"
11686 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
11690 default: UNSUPPORTED(); break;
11695 switch (op[2] & 0xe0)
11700 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
11701 #line 1011 "rx-decode.opc"
11702 int im AU = (op[1] >> 2) & 0x03;
11703 #line 1011 "rx-decode.opc"
11704 int crdst AU = op[2] & 0x1f;
11707 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11708 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
11709 op[0], op[1], op[2]);
11710 printf (" im = 0x%x,", im);
11711 printf (" crdst = 0x%x\n", crdst);
11713 SYNTAX("mvtc #%1, %0");
11714 #line 1011 "rx-decode.opc"
11715 ID(mov); SC(IMMex(im)); DR(crdst + 16);
11719 default: UNSUPPORTED(); break;
11724 switch (op[2] & 0xf0)
11727 goto op_semantics_98;
11730 goto op_semantics_99;
11733 goto op_semantics_100;
11736 goto op_semantics_101;
11739 goto op_semantics_102;
11742 goto op_semantics_103;
11745 goto op_semantics_104;
11748 goto op_semantics_105;
11751 goto op_semantics_106;
11754 goto op_semantics_107;
11757 goto op_semantics_108;
11759 default: UNSUPPORTED(); break;
11764 switch (op[2] & 0xe0)
11767 goto op_semantics_109;
11769 default: UNSUPPORTED(); break;
11774 switch (op[2] & 0xf0)
11777 goto op_semantics_98;
11780 goto op_semantics_99;
11783 goto op_semantics_100;
11786 goto op_semantics_101;
11789 goto op_semantics_102;
11792 goto op_semantics_103;
11795 goto op_semantics_104;
11798 goto op_semantics_105;
11801 goto op_semantics_106;
11804 goto op_semantics_107;
11807 goto op_semantics_108;
11809 default: UNSUPPORTED(); break;
11814 switch (op[2] & 0xe0)
11817 goto op_semantics_109;
11819 default: UNSUPPORTED(); break;
11824 switch (op[2] & 0xf0)
11827 goto op_semantics_98;
11830 goto op_semantics_99;
11833 goto op_semantics_100;
11836 goto op_semantics_101;
11839 goto op_semantics_102;
11842 goto op_semantics_103;
11845 goto op_semantics_104;
11848 goto op_semantics_105;
11851 goto op_semantics_106;
11854 goto op_semantics_107;
11857 goto op_semantics_108;
11859 default: UNSUPPORTED(); break;
11864 switch (op[2] & 0xe0)
11867 goto op_semantics_109;
11869 default: UNSUPPORTED(); break;
11874 switch (op[2] & 0x00)
11879 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
11880 #line 736 "rx-decode.opc"
11881 int immmm AU = op[1] & 0x1f;
11882 #line 736 "rx-decode.opc"
11883 int rsrc AU = (op[2] >> 4) & 0x0f;
11884 #line 736 "rx-decode.opc"
11885 int rdst AU = op[2] & 0x0f;
11888 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11889 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
11890 op[0], op[1], op[2]);
11891 printf (" immmm = 0x%x,", immmm);
11892 printf (" rsrc = 0x%x,", rsrc);
11893 printf (" rdst = 0x%x\n", rdst);
11895 SYNTAX("shlr #%2, %1, %0");
11896 #line 736 "rx-decode.opc"
11897 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
11899 /*----------------------------------------------------------------------*/
11908 switch (op[2] & 0x00)
11911 goto op_semantics_110;
11917 switch (op[2] & 0x00)
11920 goto op_semantics_110;
11926 switch (op[2] & 0x00)
11929 goto op_semantics_110;
11935 switch (op[2] & 0x00)
11938 goto op_semantics_110;
11944 switch (op[2] & 0x00)
11947 goto op_semantics_110;
11953 switch (op[2] & 0x00)
11956 goto op_semantics_110;
11962 switch (op[2] & 0x00)
11965 goto op_semantics_110;
11971 switch (op[2] & 0x00)
11974 goto op_semantics_110;
11980 switch (op[2] & 0x00)
11983 goto op_semantics_110;
11989 switch (op[2] & 0x00)
11992 goto op_semantics_110;
11998 switch (op[2] & 0x00)
12001 goto op_semantics_110;
12007 switch (op[2] & 0x00)
12010 goto op_semantics_110;
12016 switch (op[2] & 0x00)
12019 goto op_semantics_110;
12025 switch (op[2] & 0x00)
12028 goto op_semantics_110;
12034 switch (op[2] & 0x00)
12037 goto op_semantics_110;
12043 switch (op[2] & 0x00)
12046 goto op_semantics_110;
12052 switch (op[2] & 0x00)
12055 goto op_semantics_110;
12061 switch (op[2] & 0x00)
12064 goto op_semantics_110;
12070 switch (op[2] & 0x00)
12073 goto op_semantics_110;
12079 switch (op[2] & 0x00)
12082 goto op_semantics_110;
12088 switch (op[2] & 0x00)
12091 goto op_semantics_110;
12097 switch (op[2] & 0x00)
12100 goto op_semantics_110;
12106 switch (op[2] & 0x00)
12109 goto op_semantics_110;
12115 switch (op[2] & 0x00)
12118 goto op_semantics_110;
12124 switch (op[2] & 0x00)
12127 goto op_semantics_110;
12133 switch (op[2] & 0x00)
12136 goto op_semantics_110;
12142 switch (op[2] & 0x00)
12145 goto op_semantics_110;
12151 switch (op[2] & 0x00)
12154 goto op_semantics_110;
12160 switch (op[2] & 0x00)
12163 goto op_semantics_110;
12169 switch (op[2] & 0x00)
12172 goto op_semantics_110;
12178 switch (op[2] & 0x00)
12181 goto op_semantics_110;
12187 switch (op[2] & 0x00)
12192 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
12193 #line 726 "rx-decode.opc"
12194 int immmm AU = op[1] & 0x1f;
12195 #line 726 "rx-decode.opc"
12196 int rsrc AU = (op[2] >> 4) & 0x0f;
12197 #line 726 "rx-decode.opc"
12198 int rdst AU = op[2] & 0x0f;
12201 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12202 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
12203 op[0], op[1], op[2]);
12204 printf (" immmm = 0x%x,", immmm);
12205 printf (" rsrc = 0x%x,", rsrc);
12206 printf (" rdst = 0x%x\n", rdst);
12208 SYNTAX("shar #%2, %1, %0");
12209 #line 726 "rx-decode.opc"
12210 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
12219 switch (op[2] & 0x00)
12222 goto op_semantics_111;
12228 switch (op[2] & 0x00)
12231 goto op_semantics_111;
12237 switch (op[2] & 0x00)
12240 goto op_semantics_111;
12246 switch (op[2] & 0x00)
12249 goto op_semantics_111;
12255 switch (op[2] & 0x00)
12258 goto op_semantics_111;
12264 switch (op[2] & 0x00)
12267 goto op_semantics_111;
12273 switch (op[2] & 0x00)
12276 goto op_semantics_111;
12282 switch (op[2] & 0x00)
12285 goto op_semantics_111;
12291 switch (op[2] & 0x00)
12294 goto op_semantics_111;
12300 switch (op[2] & 0x00)
12303 goto op_semantics_111;
12309 switch (op[2] & 0x00)
12312 goto op_semantics_111;
12318 switch (op[2] & 0x00)
12321 goto op_semantics_111;
12327 switch (op[2] & 0x00)
12330 goto op_semantics_111;
12336 switch (op[2] & 0x00)
12339 goto op_semantics_111;
12345 switch (op[2] & 0x00)
12348 goto op_semantics_111;
12354 switch (op[2] & 0x00)
12357 goto op_semantics_111;
12363 switch (op[2] & 0x00)
12366 goto op_semantics_111;
12372 switch (op[2] & 0x00)
12375 goto op_semantics_111;
12381 switch (op[2] & 0x00)
12384 goto op_semantics_111;
12390 switch (op[2] & 0x00)
12393 goto op_semantics_111;
12399 switch (op[2] & 0x00)
12402 goto op_semantics_111;
12408 switch (op[2] & 0x00)
12411 goto op_semantics_111;
12417 switch (op[2] & 0x00)
12420 goto op_semantics_111;
12426 switch (op[2] & 0x00)
12429 goto op_semantics_111;
12435 switch (op[2] & 0x00)
12438 goto op_semantics_111;
12444 switch (op[2] & 0x00)
12447 goto op_semantics_111;
12453 switch (op[2] & 0x00)
12456 goto op_semantics_111;
12462 switch (op[2] & 0x00)
12465 goto op_semantics_111;
12471 switch (op[2] & 0x00)
12474 goto op_semantics_111;
12480 switch (op[2] & 0x00)
12483 goto op_semantics_111;
12489 switch (op[2] & 0x00)
12492 goto op_semantics_111;
12498 switch (op[2] & 0x00)
12503 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
12504 #line 716 "rx-decode.opc"
12505 int immmm AU = op[1] & 0x1f;
12506 #line 716 "rx-decode.opc"
12507 int rsrc AU = (op[2] >> 4) & 0x0f;
12508 #line 716 "rx-decode.opc"
12509 int rdst AU = op[2] & 0x0f;
12512 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12513 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
12514 op[0], op[1], op[2]);
12515 printf (" immmm = 0x%x,", immmm);
12516 printf (" rsrc = 0x%x,", rsrc);
12517 printf (" rdst = 0x%x\n", rdst);
12519 SYNTAX("shll #%2, %1, %0");
12520 #line 716 "rx-decode.opc"
12521 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
12530 switch (op[2] & 0x00)
12533 goto op_semantics_112;
12539 switch (op[2] & 0x00)
12542 goto op_semantics_112;
12548 switch (op[2] & 0x00)
12551 goto op_semantics_112;
12557 switch (op[2] & 0x00)
12560 goto op_semantics_112;
12566 switch (op[2] & 0x00)
12569 goto op_semantics_112;
12575 switch (op[2] & 0x00)
12578 goto op_semantics_112;
12584 switch (op[2] & 0x00)
12587 goto op_semantics_112;
12593 switch (op[2] & 0x00)
12596 goto op_semantics_112;
12602 switch (op[2] & 0x00)
12605 goto op_semantics_112;
12611 switch (op[2] & 0x00)
12614 goto op_semantics_112;
12620 switch (op[2] & 0x00)
12623 goto op_semantics_112;
12629 switch (op[2] & 0x00)
12632 goto op_semantics_112;
12638 switch (op[2] & 0x00)
12641 goto op_semantics_112;
12647 switch (op[2] & 0x00)
12650 goto op_semantics_112;
12656 switch (op[2] & 0x00)
12659 goto op_semantics_112;
12665 switch (op[2] & 0x00)
12668 goto op_semantics_112;
12674 switch (op[2] & 0x00)
12677 goto op_semantics_112;
12683 switch (op[2] & 0x00)
12686 goto op_semantics_112;
12692 switch (op[2] & 0x00)
12695 goto op_semantics_112;
12701 switch (op[2] & 0x00)
12704 goto op_semantics_112;
12710 switch (op[2] & 0x00)
12713 goto op_semantics_112;
12719 switch (op[2] & 0x00)
12722 goto op_semantics_112;
12728 switch (op[2] & 0x00)
12731 goto op_semantics_112;
12737 switch (op[2] & 0x00)
12740 goto op_semantics_112;
12746 switch (op[2] & 0x00)
12749 goto op_semantics_112;
12755 switch (op[2] & 0x00)
12758 goto op_semantics_112;
12764 switch (op[2] & 0x00)
12767 goto op_semantics_112;
12773 switch (op[2] & 0x00)
12776 goto op_semantics_112;
12782 switch (op[2] & 0x00)
12785 goto op_semantics_112;
12791 switch (op[2] & 0x00)
12794 goto op_semantics_112;
12800 switch (op[2] & 0x00)
12803 goto op_semantics_112;
12809 switch (op[2] & 0xf0)
12828 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
12829 #line 990 "rx-decode.opc"
12830 int bittt AU = op[1] & 0x1f;
12831 #line 990 "rx-decode.opc"
12832 int cond AU = (op[2] >> 4) & 0x0f;
12833 #line 990 "rx-decode.opc"
12834 int rdst AU = op[2] & 0x0f;
12837 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12838 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
12839 op[0], op[1], op[2]);
12840 printf (" bittt = 0x%x,", bittt);
12841 printf (" cond = 0x%x,", cond);
12842 printf (" rdst = 0x%x\n", rdst);
12844 SYNTAX("bm%2 #%1, %0%S0");
12845 #line 990 "rx-decode.opc"
12846 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
12848 /*----------------------------------------------------------------------*/
12849 /* CONTROL REGISTERS */
12856 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
12857 #line 983 "rx-decode.opc"
12858 int bittt AU = op[1] & 0x1f;
12859 #line 983 "rx-decode.opc"
12860 int rdst AU = op[2] & 0x0f;
12863 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12864 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
12865 op[0], op[1], op[2]);
12866 printf (" bittt = 0x%x,", bittt);
12867 printf (" rdst = 0x%x\n", rdst);
12869 SYNTAX("bnot #%1, %0");
12870 #line 983 "rx-decode.opc"
12871 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
12880 switch (op[2] & 0xf0)
12897 goto op_semantics_113;
12900 goto op_semantics_114;
12906 switch (op[2] & 0xf0)
12923 goto op_semantics_113;
12926 goto op_semantics_114;
12932 switch (op[2] & 0xf0)
12949 goto op_semantics_113;
12952 goto op_semantics_114;
12958 switch (op[2] & 0xf0)
12975 goto op_semantics_113;
12978 goto op_semantics_114;
12984 switch (op[2] & 0xf0)
13001 goto op_semantics_113;
13004 goto op_semantics_114;
13010 switch (op[2] & 0xf0)
13027 goto op_semantics_113;
13030 goto op_semantics_114;
13036 switch (op[2] & 0xf0)
13053 goto op_semantics_113;
13056 goto op_semantics_114;
13062 switch (op[2] & 0xf0)
13079 goto op_semantics_113;
13082 goto op_semantics_114;
13088 switch (op[2] & 0xf0)
13105 goto op_semantics_113;
13108 goto op_semantics_114;
13114 switch (op[2] & 0xf0)
13131 goto op_semantics_113;
13134 goto op_semantics_114;
13140 switch (op[2] & 0xf0)
13157 goto op_semantics_113;
13160 goto op_semantics_114;
13166 switch (op[2] & 0xf0)
13183 goto op_semantics_113;
13186 goto op_semantics_114;
13192 switch (op[2] & 0xf0)
13209 goto op_semantics_113;
13212 goto op_semantics_114;
13218 switch (op[2] & 0xf0)
13235 goto op_semantics_113;
13238 goto op_semantics_114;
13244 switch (op[2] & 0xf0)
13261 goto op_semantics_113;
13264 goto op_semantics_114;
13270 switch (op[2] & 0xf0)
13287 goto op_semantics_113;
13290 goto op_semantics_114;
13296 switch (op[2] & 0xf0)
13313 goto op_semantics_113;
13316 goto op_semantics_114;
13322 switch (op[2] & 0xf0)
13339 goto op_semantics_113;
13342 goto op_semantics_114;
13348 switch (op[2] & 0xf0)
13365 goto op_semantics_113;
13368 goto op_semantics_114;
13374 switch (op[2] & 0xf0)
13391 goto op_semantics_113;
13394 goto op_semantics_114;
13400 switch (op[2] & 0xf0)
13417 goto op_semantics_113;
13420 goto op_semantics_114;
13426 switch (op[2] & 0xf0)
13443 goto op_semantics_113;
13446 goto op_semantics_114;
13452 switch (op[2] & 0xf0)
13469 goto op_semantics_113;
13472 goto op_semantics_114;
13478 switch (op[2] & 0xf0)
13495 goto op_semantics_113;
13498 goto op_semantics_114;
13504 switch (op[2] & 0xf0)
13521 goto op_semantics_113;
13524 goto op_semantics_114;
13530 switch (op[2] & 0xf0)
13547 goto op_semantics_113;
13550 goto op_semantics_114;
13556 switch (op[2] & 0xf0)
13573 goto op_semantics_113;
13576 goto op_semantics_114;
13582 switch (op[2] & 0xf0)
13599 goto op_semantics_113;
13602 goto op_semantics_114;
13608 switch (op[2] & 0xf0)
13625 goto op_semantics_113;
13628 goto op_semantics_114;
13634 switch (op[2] & 0xf0)
13651 goto op_semantics_113;
13654 goto op_semantics_114;
13660 switch (op[2] & 0xf0)
13677 goto op_semantics_113;
13680 goto op_semantics_114;
13684 default: UNSUPPORTED(); break;
13689 switch (op[1] & 0xff)
13693 switch (op[2] & 0x00)
13698 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
13699 #line 342 "rx-decode.opc"
13700 int sz AU = (op[1] >> 4) & 0x03;
13701 #line 342 "rx-decode.opc"
13702 int isrc AU = op[1] & 0x0f;
13703 #line 342 "rx-decode.opc"
13704 int bsrc AU = (op[2] >> 4) & 0x0f;
13705 #line 342 "rx-decode.opc"
13706 int rdst AU = op[2] & 0x0f;
13709 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13710 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
13711 op[0], op[1], op[2]);
13712 printf (" sz = 0x%x,", sz);
13713 printf (" isrc = 0x%x,", isrc);
13714 printf (" bsrc = 0x%x,", bsrc);
13715 printf (" rdst = 0x%x\n", rdst);
13717 SYNTAX("mov%s %0, [%1, %2]");
13718 #line 342 "rx-decode.opc"
13719 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13727 switch (op[2] & 0x00)
13730 goto op_semantics_115;
13736 switch (op[2] & 0x00)
13739 goto op_semantics_115;
13745 switch (op[2] & 0x00)
13748 goto op_semantics_115;
13754 switch (op[2] & 0x00)
13757 goto op_semantics_115;
13763 switch (op[2] & 0x00)
13766 goto op_semantics_115;
13772 switch (op[2] & 0x00)
13775 goto op_semantics_115;
13781 switch (op[2] & 0x00)
13784 goto op_semantics_115;
13790 switch (op[2] & 0x00)
13793 goto op_semantics_115;
13799 switch (op[2] & 0x00)
13802 goto op_semantics_115;
13808 switch (op[2] & 0x00)
13811 goto op_semantics_115;
13817 switch (op[2] & 0x00)
13820 goto op_semantics_115;
13826 switch (op[2] & 0x00)
13829 goto op_semantics_115;
13835 switch (op[2] & 0x00)
13838 goto op_semantics_115;
13844 switch (op[2] & 0x00)
13847 goto op_semantics_115;
13853 switch (op[2] & 0x00)
13856 goto op_semantics_115;
13862 switch (op[2] & 0x00)
13865 goto op_semantics_115;
13871 switch (op[2] & 0x00)
13874 goto op_semantics_115;
13880 switch (op[2] & 0x00)
13883 goto op_semantics_115;
13889 switch (op[2] & 0x00)
13892 goto op_semantics_115;
13898 switch (op[2] & 0x00)
13901 goto op_semantics_115;
13907 switch (op[2] & 0x00)
13910 goto op_semantics_115;
13916 switch (op[2] & 0x00)
13919 goto op_semantics_115;
13925 switch (op[2] & 0x00)
13928 goto op_semantics_115;
13934 switch (op[2] & 0x00)
13937 goto op_semantics_115;
13943 switch (op[2] & 0x00)
13946 goto op_semantics_115;
13952 switch (op[2] & 0x00)
13955 goto op_semantics_115;
13961 switch (op[2] & 0x00)
13964 goto op_semantics_115;
13970 switch (op[2] & 0x00)
13973 goto op_semantics_115;
13979 switch (op[2] & 0x00)
13982 goto op_semantics_115;
13988 switch (op[2] & 0x00)
13991 goto op_semantics_115;
13997 switch (op[2] & 0x00)
14000 goto op_semantics_115;
14006 switch (op[2] & 0x00)
14009 goto op_semantics_115;
14015 switch (op[2] & 0x00)
14018 goto op_semantics_115;
14024 switch (op[2] & 0x00)
14027 goto op_semantics_115;
14033 switch (op[2] & 0x00)
14036 goto op_semantics_115;
14042 switch (op[2] & 0x00)
14045 goto op_semantics_115;
14051 switch (op[2] & 0x00)
14054 goto op_semantics_115;
14060 switch (op[2] & 0x00)
14063 goto op_semantics_115;
14069 switch (op[2] & 0x00)
14072 goto op_semantics_115;
14078 switch (op[2] & 0x00)
14081 goto op_semantics_115;
14087 switch (op[2] & 0x00)
14090 goto op_semantics_115;
14096 switch (op[2] & 0x00)
14099 goto op_semantics_115;
14105 switch (op[2] & 0x00)
14108 goto op_semantics_115;
14114 switch (op[2] & 0x00)
14117 goto op_semantics_115;
14123 switch (op[2] & 0x00)
14126 goto op_semantics_115;
14132 switch (op[2] & 0x00)
14135 goto op_semantics_115;
14141 switch (op[2] & 0x00)
14144 goto op_semantics_115;
14150 switch (op[2] & 0x00)
14155 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
14156 #line 339 "rx-decode.opc"
14157 int sz AU = (op[1] >> 4) & 0x03;
14158 #line 339 "rx-decode.opc"
14159 int isrc AU = op[1] & 0x0f;
14160 #line 339 "rx-decode.opc"
14161 int bsrc AU = (op[2] >> 4) & 0x0f;
14162 #line 339 "rx-decode.opc"
14163 int rdst AU = op[2] & 0x0f;
14166 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14167 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
14168 op[0], op[1], op[2]);
14169 printf (" sz = 0x%x,", sz);
14170 printf (" isrc = 0x%x,", isrc);
14171 printf (" bsrc = 0x%x,", bsrc);
14172 printf (" rdst = 0x%x\n", rdst);
14174 SYNTAX("mov%s [%1, %2], %0");
14175 #line 339 "rx-decode.opc"
14176 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14184 switch (op[2] & 0x00)
14187 goto op_semantics_116;
14193 switch (op[2] & 0x00)
14196 goto op_semantics_116;
14202 switch (op[2] & 0x00)
14205 goto op_semantics_116;
14211 switch (op[2] & 0x00)
14214 goto op_semantics_116;
14220 switch (op[2] & 0x00)
14223 goto op_semantics_116;
14229 switch (op[2] & 0x00)
14232 goto op_semantics_116;
14238 switch (op[2] & 0x00)
14241 goto op_semantics_116;
14247 switch (op[2] & 0x00)
14250 goto op_semantics_116;
14256 switch (op[2] & 0x00)
14259 goto op_semantics_116;
14265 switch (op[2] & 0x00)
14268 goto op_semantics_116;
14274 switch (op[2] & 0x00)
14277 goto op_semantics_116;
14283 switch (op[2] & 0x00)
14286 goto op_semantics_116;
14292 switch (op[2] & 0x00)
14295 goto op_semantics_116;
14301 switch (op[2] & 0x00)
14304 goto op_semantics_116;
14310 switch (op[2] & 0x00)
14313 goto op_semantics_116;
14319 switch (op[2] & 0x00)
14322 goto op_semantics_116;
14328 switch (op[2] & 0x00)
14331 goto op_semantics_116;
14337 switch (op[2] & 0x00)
14340 goto op_semantics_116;
14346 switch (op[2] & 0x00)
14349 goto op_semantics_116;
14355 switch (op[2] & 0x00)
14358 goto op_semantics_116;
14364 switch (op[2] & 0x00)
14367 goto op_semantics_116;
14373 switch (op[2] & 0x00)
14376 goto op_semantics_116;
14382 switch (op[2] & 0x00)
14385 goto op_semantics_116;
14391 switch (op[2] & 0x00)
14394 goto op_semantics_116;
14400 switch (op[2] & 0x00)
14403 goto op_semantics_116;
14409 switch (op[2] & 0x00)
14412 goto op_semantics_116;
14418 switch (op[2] & 0x00)
14421 goto op_semantics_116;
14427 switch (op[2] & 0x00)
14430 goto op_semantics_116;
14436 switch (op[2] & 0x00)
14439 goto op_semantics_116;
14445 switch (op[2] & 0x00)
14448 goto op_semantics_116;
14454 switch (op[2] & 0x00)
14457 goto op_semantics_116;
14463 switch (op[2] & 0x00)
14466 goto op_semantics_116;
14472 switch (op[2] & 0x00)
14475 goto op_semantics_116;
14481 switch (op[2] & 0x00)
14484 goto op_semantics_116;
14490 switch (op[2] & 0x00)
14493 goto op_semantics_116;
14499 switch (op[2] & 0x00)
14502 goto op_semantics_116;
14508 switch (op[2] & 0x00)
14511 goto op_semantics_116;
14517 switch (op[2] & 0x00)
14520 goto op_semantics_116;
14526 switch (op[2] & 0x00)
14529 goto op_semantics_116;
14535 switch (op[2] & 0x00)
14538 goto op_semantics_116;
14544 switch (op[2] & 0x00)
14547 goto op_semantics_116;
14553 switch (op[2] & 0x00)
14556 goto op_semantics_116;
14562 switch (op[2] & 0x00)
14565 goto op_semantics_116;
14571 switch (op[2] & 0x00)
14574 goto op_semantics_116;
14580 switch (op[2] & 0x00)
14583 goto op_semantics_116;
14589 switch (op[2] & 0x00)
14592 goto op_semantics_116;
14598 switch (op[2] & 0x00)
14601 goto op_semantics_116;
14607 switch (op[2] & 0x00)
14612 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
14613 #line 345 "rx-decode.opc"
14614 int sz AU = (op[1] >> 4) & 0x03;
14615 #line 345 "rx-decode.opc"
14616 int isrc AU = op[1] & 0x0f;
14617 #line 345 "rx-decode.opc"
14618 int bsrc AU = (op[2] >> 4) & 0x0f;
14619 #line 345 "rx-decode.opc"
14620 int rdst AU = op[2] & 0x0f;
14623 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14624 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
14625 op[0], op[1], op[2]);
14626 printf (" sz = 0x%x,", sz);
14627 printf (" isrc = 0x%x,", isrc);
14628 printf (" bsrc = 0x%x,", bsrc);
14629 printf (" rdst = 0x%x\n", rdst);
14631 SYNTAX("movu%s [%1, %2], %0");
14632 #line 345 "rx-decode.opc"
14633 ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14641 switch (op[2] & 0x00)
14644 goto op_semantics_117;
14650 switch (op[2] & 0x00)
14653 goto op_semantics_117;
14659 switch (op[2] & 0x00)
14662 goto op_semantics_117;
14668 switch (op[2] & 0x00)
14671 goto op_semantics_117;
14677 switch (op[2] & 0x00)
14680 goto op_semantics_117;
14686 switch (op[2] & 0x00)
14689 goto op_semantics_117;
14695 switch (op[2] & 0x00)
14698 goto op_semantics_117;
14704 switch (op[2] & 0x00)
14707 goto op_semantics_117;
14713 switch (op[2] & 0x00)
14716 goto op_semantics_117;
14722 switch (op[2] & 0x00)
14725 goto op_semantics_117;
14731 switch (op[2] & 0x00)
14734 goto op_semantics_117;
14740 switch (op[2] & 0x00)
14743 goto op_semantics_117;
14749 switch (op[2] & 0x00)
14752 goto op_semantics_117;
14758 switch (op[2] & 0x00)
14761 goto op_semantics_117;
14767 switch (op[2] & 0x00)
14770 goto op_semantics_117;
14776 switch (op[2] & 0x00)
14779 goto op_semantics_117;
14785 switch (op[2] & 0x00)
14788 goto op_semantics_117;
14794 switch (op[2] & 0x00)
14797 goto op_semantics_117;
14803 switch (op[2] & 0x00)
14806 goto op_semantics_117;
14812 switch (op[2] & 0x00)
14815 goto op_semantics_117;
14821 switch (op[2] & 0x00)
14824 goto op_semantics_117;
14830 switch (op[2] & 0x00)
14833 goto op_semantics_117;
14839 switch (op[2] & 0x00)
14842 goto op_semantics_117;
14848 switch (op[2] & 0x00)
14851 goto op_semantics_117;
14857 switch (op[2] & 0x00)
14860 goto op_semantics_117;
14866 switch (op[2] & 0x00)
14869 goto op_semantics_117;
14875 switch (op[2] & 0x00)
14878 goto op_semantics_117;
14884 switch (op[2] & 0x00)
14887 goto op_semantics_117;
14893 switch (op[2] & 0x00)
14896 goto op_semantics_117;
14902 switch (op[2] & 0x00)
14905 goto op_semantics_117;
14911 switch (op[2] & 0x00)
14914 goto op_semantics_117;
14920 switch (op[2] & 0x00)
14923 goto op_semantics_117;
14929 switch (op[2] & 0x00)
14932 goto op_semantics_117;
14938 switch (op[2] & 0x00)
14941 goto op_semantics_117;
14947 switch (op[2] & 0x00)
14950 goto op_semantics_117;
14956 switch (op[2] & 0x00)
14959 goto op_semantics_117;
14965 switch (op[2] & 0x00)
14968 goto op_semantics_117;
14974 switch (op[2] & 0x00)
14977 goto op_semantics_117;
14983 switch (op[2] & 0x00)
14986 goto op_semantics_117;
14992 switch (op[2] & 0x00)
14995 goto op_semantics_117;
15001 switch (op[2] & 0x00)
15004 goto op_semantics_117;
15010 switch (op[2] & 0x00)
15013 goto op_semantics_117;
15019 switch (op[2] & 0x00)
15022 goto op_semantics_117;
15028 switch (op[2] & 0x00)
15031 goto op_semantics_117;
15037 switch (op[2] & 0x00)
15040 goto op_semantics_117;
15046 switch (op[2] & 0x00)
15049 goto op_semantics_117;
15055 switch (op[2] & 0x00)
15058 goto op_semantics_117;
15062 default: UNSUPPORTED(); break;
15067 switch (op[1] & 0xff)
15071 switch (op[2] & 0x00)
15076 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
15077 #line 549 "rx-decode.opc"
15078 int rdst AU = op[1] & 0x0f;
15079 #line 549 "rx-decode.opc"
15080 int srca AU = (op[2] >> 4) & 0x0f;
15081 #line 549 "rx-decode.opc"
15082 int srcb AU = op[2] & 0x0f;
15085 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15086 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
15087 op[0], op[1], op[2]);
15088 printf (" rdst = 0x%x,", rdst);
15089 printf (" srca = 0x%x,", srca);
15090 printf (" srcb = 0x%x\n", srcb);
15092 SYNTAX("sub %2, %1, %0");
15093 #line 549 "rx-decode.opc"
15094 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15096 /*----------------------------------------------------------------------*/
15105 switch (op[2] & 0x00)
15108 goto op_semantics_118;
15114 switch (op[2] & 0x00)
15117 goto op_semantics_118;
15123 switch (op[2] & 0x00)
15126 goto op_semantics_118;
15132 switch (op[2] & 0x00)
15135 goto op_semantics_118;
15141 switch (op[2] & 0x00)
15144 goto op_semantics_118;
15150 switch (op[2] & 0x00)
15153 goto op_semantics_118;
15159 switch (op[2] & 0x00)
15162 goto op_semantics_118;
15168 switch (op[2] & 0x00)
15171 goto op_semantics_118;
15177 switch (op[2] & 0x00)
15180 goto op_semantics_118;
15186 switch (op[2] & 0x00)
15189 goto op_semantics_118;
15195 switch (op[2] & 0x00)
15198 goto op_semantics_118;
15204 switch (op[2] & 0x00)
15207 goto op_semantics_118;
15213 switch (op[2] & 0x00)
15216 goto op_semantics_118;
15222 switch (op[2] & 0x00)
15225 goto op_semantics_118;
15231 switch (op[2] & 0x00)
15234 goto op_semantics_118;
15240 switch (op[2] & 0x00)
15245 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
15246 #line 516 "rx-decode.opc"
15247 int rdst AU = op[1] & 0x0f;
15248 #line 516 "rx-decode.opc"
15249 int srca AU = (op[2] >> 4) & 0x0f;
15250 #line 516 "rx-decode.opc"
15251 int srcb AU = op[2] & 0x0f;
15254 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15255 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
15256 op[0], op[1], op[2]);
15257 printf (" rdst = 0x%x,", rdst);
15258 printf (" srca = 0x%x,", srca);
15259 printf (" srcb = 0x%x\n", srcb);
15261 SYNTAX("add %2, %1, %0");
15262 #line 516 "rx-decode.opc"
15263 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15265 /*----------------------------------------------------------------------*/
15274 switch (op[2] & 0x00)
15277 goto op_semantics_119;
15283 switch (op[2] & 0x00)
15286 goto op_semantics_119;
15292 switch (op[2] & 0x00)
15295 goto op_semantics_119;
15301 switch (op[2] & 0x00)
15304 goto op_semantics_119;
15310 switch (op[2] & 0x00)
15313 goto op_semantics_119;
15319 switch (op[2] & 0x00)
15322 goto op_semantics_119;
15328 switch (op[2] & 0x00)
15331 goto op_semantics_119;
15337 switch (op[2] & 0x00)
15340 goto op_semantics_119;
15346 switch (op[2] & 0x00)
15349 goto op_semantics_119;
15355 switch (op[2] & 0x00)
15358 goto op_semantics_119;
15364 switch (op[2] & 0x00)
15367 goto op_semantics_119;
15373 switch (op[2] & 0x00)
15376 goto op_semantics_119;
15382 switch (op[2] & 0x00)
15385 goto op_semantics_119;
15391 switch (op[2] & 0x00)
15394 goto op_semantics_119;
15400 switch (op[2] & 0x00)
15403 goto op_semantics_119;
15409 switch (op[2] & 0x00)
15414 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
15415 #line 656 "rx-decode.opc"
15416 int rdst AU = op[1] & 0x0f;
15417 #line 656 "rx-decode.opc"
15418 int srca AU = (op[2] >> 4) & 0x0f;
15419 #line 656 "rx-decode.opc"
15420 int srcb AU = op[2] & 0x0f;
15423 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15424 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
15425 op[0], op[1], op[2]);
15426 printf (" rdst = 0x%x,", rdst);
15427 printf (" srca = 0x%x,", srca);
15428 printf (" srcb = 0x%x\n", srcb);
15430 SYNTAX("mul %2, %1, %0");
15431 #line 656 "rx-decode.opc"
15432 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
15434 /*----------------------------------------------------------------------*/
15443 switch (op[2] & 0x00)
15446 goto op_semantics_120;
15452 switch (op[2] & 0x00)
15455 goto op_semantics_120;
15461 switch (op[2] & 0x00)
15464 goto op_semantics_120;
15470 switch (op[2] & 0x00)
15473 goto op_semantics_120;
15479 switch (op[2] & 0x00)
15482 goto op_semantics_120;
15488 switch (op[2] & 0x00)
15491 goto op_semantics_120;
15497 switch (op[2] & 0x00)
15500 goto op_semantics_120;
15506 switch (op[2] & 0x00)
15509 goto op_semantics_120;
15515 switch (op[2] & 0x00)
15518 goto op_semantics_120;
15524 switch (op[2] & 0x00)
15527 goto op_semantics_120;
15533 switch (op[2] & 0x00)
15536 goto op_semantics_120;
15542 switch (op[2] & 0x00)
15545 goto op_semantics_120;
15551 switch (op[2] & 0x00)
15554 goto op_semantics_120;
15560 switch (op[2] & 0x00)
15563 goto op_semantics_120;
15569 switch (op[2] & 0x00)
15572 goto op_semantics_120;
15578 switch (op[2] & 0x00)
15583 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
15584 #line 426 "rx-decode.opc"
15585 int rdst AU = op[1] & 0x0f;
15586 #line 426 "rx-decode.opc"
15587 int srca AU = (op[2] >> 4) & 0x0f;
15588 #line 426 "rx-decode.opc"
15589 int srcb AU = op[2] & 0x0f;
15592 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15593 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
15594 op[0], op[1], op[2]);
15595 printf (" rdst = 0x%x,", rdst);
15596 printf (" srca = 0x%x,", srca);
15597 printf (" srcb = 0x%x\n", srcb);
15599 SYNTAX("and %2, %1, %0");
15600 #line 426 "rx-decode.opc"
15601 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15603 /*----------------------------------------------------------------------*/
15612 switch (op[2] & 0x00)
15615 goto op_semantics_121;
15621 switch (op[2] & 0x00)
15624 goto op_semantics_121;
15630 switch (op[2] & 0x00)
15633 goto op_semantics_121;
15639 switch (op[2] & 0x00)
15642 goto op_semantics_121;
15648 switch (op[2] & 0x00)
15651 goto op_semantics_121;
15657 switch (op[2] & 0x00)
15660 goto op_semantics_121;
15666 switch (op[2] & 0x00)
15669 goto op_semantics_121;
15675 switch (op[2] & 0x00)
15678 goto op_semantics_121;
15684 switch (op[2] & 0x00)
15687 goto op_semantics_121;
15693 switch (op[2] & 0x00)
15696 goto op_semantics_121;
15702 switch (op[2] & 0x00)
15705 goto op_semantics_121;
15711 switch (op[2] & 0x00)
15714 goto op_semantics_121;
15720 switch (op[2] & 0x00)
15723 goto op_semantics_121;
15729 switch (op[2] & 0x00)
15732 goto op_semantics_121;
15738 switch (op[2] & 0x00)
15741 goto op_semantics_121;
15747 switch (op[2] & 0x00)
15752 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
15753 #line 444 "rx-decode.opc"
15754 int rdst AU = op[1] & 0x0f;
15755 #line 444 "rx-decode.opc"
15756 int srca AU = (op[2] >> 4) & 0x0f;
15757 #line 444 "rx-decode.opc"
15758 int srcb AU = op[2] & 0x0f;
15761 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15762 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
15763 op[0], op[1], op[2]);
15764 printf (" rdst = 0x%x,", rdst);
15765 printf (" srca = 0x%x,", srca);
15766 printf (" srcb = 0x%x\n", srcb);
15768 SYNTAX("or %2, %1, %0");
15769 #line 444 "rx-decode.opc"
15770 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15772 /*----------------------------------------------------------------------*/
15781 switch (op[2] & 0x00)
15784 goto op_semantics_122;
15790 switch (op[2] & 0x00)
15793 goto op_semantics_122;
15799 switch (op[2] & 0x00)
15802 goto op_semantics_122;
15808 switch (op[2] & 0x00)
15811 goto op_semantics_122;
15817 switch (op[2] & 0x00)
15820 goto op_semantics_122;
15826 switch (op[2] & 0x00)
15829 goto op_semantics_122;
15835 switch (op[2] & 0x00)
15838 goto op_semantics_122;
15844 switch (op[2] & 0x00)
15847 goto op_semantics_122;
15853 switch (op[2] & 0x00)
15856 goto op_semantics_122;
15862 switch (op[2] & 0x00)
15865 goto op_semantics_122;
15871 switch (op[2] & 0x00)
15874 goto op_semantics_122;
15880 switch (op[2] & 0x00)
15883 goto op_semantics_122;
15889 switch (op[2] & 0x00)
15892 goto op_semantics_122;
15898 switch (op[2] & 0x00)
15901 goto op_semantics_122;
15907 switch (op[2] & 0x00)
15910 goto op_semantics_122;
15916 switch (op[2] & 0x00)
15921 /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
15922 #line 1104 "rx-decode.opc"
15923 int rdst AU = op[1] & 0x0f;
15924 #line 1104 "rx-decode.opc"
15925 int srca AU = (op[2] >> 4) & 0x0f;
15926 #line 1104 "rx-decode.opc"
15927 int srcb AU = op[2] & 0x0f;
15930 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15931 "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
15932 op[0], op[1], op[2]);
15933 printf (" rdst = 0x%x,", rdst);
15934 printf (" srca = 0x%x,", srca);
15935 printf (" srcb = 0x%x\n", srcb);
15937 SYNTAX("fsub %2, %1, %0");
15938 #line 1104 "rx-decode.opc"
15939 ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15947 switch (op[2] & 0x00)
15950 goto op_semantics_123;
15956 switch (op[2] & 0x00)
15959 goto op_semantics_123;
15965 switch (op[2] & 0x00)
15968 goto op_semantics_123;
15974 switch (op[2] & 0x00)
15977 goto op_semantics_123;
15983 switch (op[2] & 0x00)
15986 goto op_semantics_123;
15992 switch (op[2] & 0x00)
15995 goto op_semantics_123;
16001 switch (op[2] & 0x00)
16004 goto op_semantics_123;
16010 switch (op[2] & 0x00)
16013 goto op_semantics_123;
16019 switch (op[2] & 0x00)
16022 goto op_semantics_123;
16028 switch (op[2] & 0x00)
16031 goto op_semantics_123;
16037 switch (op[2] & 0x00)
16040 goto op_semantics_123;
16046 switch (op[2] & 0x00)
16049 goto op_semantics_123;
16055 switch (op[2] & 0x00)
16058 goto op_semantics_123;
16064 switch (op[2] & 0x00)
16067 goto op_semantics_123;
16073 switch (op[2] & 0x00)
16076 goto op_semantics_123;
16082 switch (op[2] & 0x00)
16087 /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
16088 #line 1101 "rx-decode.opc"
16089 int rdst AU = op[1] & 0x0f;
16090 #line 1101 "rx-decode.opc"
16091 int srca AU = (op[2] >> 4) & 0x0f;
16092 #line 1101 "rx-decode.opc"
16093 int srcb AU = op[2] & 0x0f;
16096 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16097 "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
16098 op[0], op[1], op[2]);
16099 printf (" rdst = 0x%x,", rdst);
16100 printf (" srca = 0x%x,", srca);
16101 printf (" srcb = 0x%x\n", srcb);
16103 SYNTAX("fadd %2, %1, %0");
16104 #line 1101 "rx-decode.opc"
16105 ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16113 switch (op[2] & 0x00)
16116 goto op_semantics_124;
16122 switch (op[2] & 0x00)
16125 goto op_semantics_124;
16131 switch (op[2] & 0x00)
16134 goto op_semantics_124;
16140 switch (op[2] & 0x00)
16143 goto op_semantics_124;
16149 switch (op[2] & 0x00)
16152 goto op_semantics_124;
16158 switch (op[2] & 0x00)
16161 goto op_semantics_124;
16167 switch (op[2] & 0x00)
16170 goto op_semantics_124;
16176 switch (op[2] & 0x00)
16179 goto op_semantics_124;
16185 switch (op[2] & 0x00)
16188 goto op_semantics_124;
16194 switch (op[2] & 0x00)
16197 goto op_semantics_124;
16203 switch (op[2] & 0x00)
16206 goto op_semantics_124;
16212 switch (op[2] & 0x00)
16215 goto op_semantics_124;
16221 switch (op[2] & 0x00)
16224 goto op_semantics_124;
16230 switch (op[2] & 0x00)
16233 goto op_semantics_124;
16239 switch (op[2] & 0x00)
16242 goto op_semantics_124;
16248 switch (op[2] & 0x00)
16253 /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
16254 #line 1107 "rx-decode.opc"
16255 int rdst AU = op[1] & 0x0f;
16256 #line 1107 "rx-decode.opc"
16257 int srca AU = (op[2] >> 4) & 0x0f;
16258 #line 1107 "rx-decode.opc"
16259 int srcb AU = op[2] & 0x0f;
16262 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16263 "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
16264 op[0], op[1], op[2]);
16265 printf (" rdst = 0x%x,", rdst);
16266 printf (" srca = 0x%x,", srca);
16267 printf (" srcb = 0x%x\n", srcb);
16269 SYNTAX("fmul %2, %1, %0");
16270 #line 1107 "rx-decode.opc"
16271 ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16279 switch (op[2] & 0x00)
16282 goto op_semantics_125;
16288 switch (op[2] & 0x00)
16291 goto op_semantics_125;
16297 switch (op[2] & 0x00)
16300 goto op_semantics_125;
16306 switch (op[2] & 0x00)
16309 goto op_semantics_125;
16315 switch (op[2] & 0x00)
16318 goto op_semantics_125;
16324 switch (op[2] & 0x00)
16327 goto op_semantics_125;
16333 switch (op[2] & 0x00)
16336 goto op_semantics_125;
16342 switch (op[2] & 0x00)
16345 goto op_semantics_125;
16351 switch (op[2] & 0x00)
16354 goto op_semantics_125;
16360 switch (op[2] & 0x00)
16363 goto op_semantics_125;
16369 switch (op[2] & 0x00)
16372 goto op_semantics_125;
16378 switch (op[2] & 0x00)
16381 goto op_semantics_125;
16387 switch (op[2] & 0x00)
16390 goto op_semantics_125;
16396 switch (op[2] & 0x00)
16399 goto op_semantics_125;
16405 switch (op[2] & 0x00)
16408 goto op_semantics_125;
16412 default: UNSUPPORTED(); break;
16415 default: UNSUPPORTED(); break;
16417 #line 1122 "rx-decode.opc"
16419 return rx->n_bytes;