gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / opcodes / rx-decode.c
index e298bed97c9900c50e368b38e0d491d10475eb71..1e6f545c0d95897d618bebfbb72d80cbc8a47432 100644 (file)
@@ -1,6 +1,7 @@
+/* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
 #line 1 "rx-decode.opc"
 /* -*- c -*- */
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
@@ -27,6 +28,7 @@
 #include <string.h>
 #include "ansidecl.h"
 #include "opcode/rx.h"
+#include "libiberty.h"
 
 #define RX_OPCODE_BIG_ENDIAN 0
 
@@ -43,9 +45,10 @@ static int trace = 0;
 #define BSIZE 0
 #define WSIZE 1
 #define LSIZE 2
+#define DSIZE 3
 
 /* These are for when the upper bits are "don't care" or "undefined".  */
-static int bwl[] =
+static int bwl[4] =
 {
   RX_Byte,
   RX_Word,
@@ -53,7 +56,7 @@ static int bwl[] =
   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
 };
 
-static int sbwl[] =
+static int sbwl[4] =
 {
   RX_SByte,
   RX_SWord,
@@ -61,7 +64,7 @@ static int sbwl[] =
   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
 };
 
-static int ubw[] =
+static int ubw[4] =
 {
   RX_UByte,
   RX_UWord,
@@ -69,7 +72,7 @@ static int ubw[] =
   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
 };
 
-static int memex[] =
+static int memex[4] =
 {
   RX_SByte,
   RX_SWord,
@@ -77,6 +80,12 @@ static int memex[] =
   RX_UWord
 };
 
+static int _ld[2] =
+{
+  RX_Long,
+  RX_Double
+};
+
 #define ID(x) rx->id = RXO_##x
 #define OP(n,t,r,a) (rx->op[n].type = t, \
                     rx->op[n].reg = r,      \
@@ -87,7 +96,10 @@ static int memex[] =
 /* This is for the BWL and BW bitfields.  */
 static int SCALE[] = { 1, 2, 4, 0 };
 /* This is for the prefix size enum.  */
-static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
+static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4, 8 };
+
+#define GET_SCALE(_indx)  ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
+#define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
 
 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
                       16, 17, 0, 0, 0, 0, 0, 0 };
@@ -107,33 +119,47 @@ static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
 #define DC(c)       OP (0, RX_Operand_Immediate, 0, c)
 #define DR(r)       OP (0, RX_Operand_Register,  r, 0)
 #define DI(r,a)     OP (0, RX_Operand_Indirect,  r, a)
-#define DIs(r,a,s)  OP (0, RX_Operand_Indirect,  r, (a) * SCALE[s])
+#define DIs(r,a,s)  OP (0, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
 #define DD(t,r,s)   rx_disp (0, t, r, bwl[s], ld);
 #define DF(r)       OP (0, RX_Operand_Flag,  flagmap[r], 0)
+#define DCR(r)      OP (0, RX_Operand_DoubleCReg, r, 0)
+#define DDR(r)      OP (0, RX_Operand_DoubleReg,  r, 0)
+#define DDRH(r)     OP (0, RX_Operand_DoubleRegH,  r, 0)
+#define DDRL(r)     OP (0, RX_Operand_DoubleRegL,  r, 0)
+#define DCND(r)     OP (0, RX_Operand_DoubleCond, r, 0)
 
 #define SC(i)       OP (1, RX_Operand_Immediate, 0, i)
 #define SR(r)       OP (1, RX_Operand_Register,  r, 0)
 #define SRR(r)      OP (1, RX_Operand_TwoReg,  r, 0)
 #define SI(r,a)     OP (1, RX_Operand_Indirect,  r, a)
-#define SIs(r,a,s)  OP (1, RX_Operand_Indirect,  r, (a) * SCALE[s])
+#define SIs(r,a,s)  OP (1, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
 #define SD(t,r,s)   rx_disp (1, t, r, bwl[s], ld);
 #define SP(t,r)     rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
 #define SPm(t,r,m)  rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
 #define Scc(cc)     OP (1, RX_Operand_Condition,  cc, 0)
+#define SCR(r)      OP (1, RX_Operand_DoubleCReg, r, 0)
+#define SDR(r)      OP (1, RX_Operand_DoubleReg,  r, 0)
+#define SDRH(r)      OP (1, RX_Operand_DoubleRegH,  r, 0)
+#define SDRL(r)      OP (1, RX_Operand_DoubleRegL,  r, 0)
 
 #define S2C(i)      OP (2, RX_Operand_Immediate, 0, i)
 #define S2R(r)      OP (2, RX_Operand_Register,  r, 0)
 #define S2I(r,a)    OP (2, RX_Operand_Indirect,  r, a)
-#define S2Is(r,a,s) OP (2, RX_Operand_Indirect,  r, (a) * SCALE[s])
+#define S2Is(r,a,s) OP (2, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
 #define S2D(t,r,s)  rx_disp (2, t, r, bwl[s], ld);
 #define S2P(t,r)    rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
 #define S2cc(cc)    OP (2, RX_Operand_Condition,  cc, 0)
+#define S2DR(r)     OP (2, RX_Operand_DoubleReg,  r, 0)
+#define S2CR(r)     OP (2, RX_Operand_DoubleCReg, r, 0)
+
+#define SDD(t,r,s)  rx_disp (1, t, r, bwl, ld);
 
 #define BWL(sz)     rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
 #define sBWL(sz)    rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
 #define uBW(sz)     rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
 #define P(t, n)            rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
+#define DL(sz)      rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = _ld[sz]
 
 #define F(f) store_flags(rx, f)
 
@@ -211,7 +237,7 @@ immediate (int sfield, int ex, LocalData * ld)
 }
 
 static void
-rx_disp (int n, int type, int reg, int size, LocalData * ld)
+rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld)
 {
   int disp;
 
@@ -228,7 +254,7 @@ rx_disp (int n, int type, int reg, int size, LocalData * ld)
     case 1:
       ld->rx->op[n].type = RX_Operand_Indirect;
       disp = GETBYTE ();
-      ld->rx->op[n].addend = disp * PSCALE[size];
+      ld->rx->op[n].addend = disp * GET_PSCALE (size);
       break;
     case 2:
       ld->rx->op[n].type = RX_Operand_Indirect;
@@ -238,7 +264,7 @@ rx_disp (int n, int type, int reg, int size, LocalData * ld)
 #else
       disp = disp + GETBYTE () * 256;
 #endif
-      ld->rx->op[n].addend = disp * PSCALE[size];
+      ld->rx->op[n].addend = disp * GET_PSCALE (size);
       break;
     default:
       abort ();
@@ -294,7 +320,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("brk");
-#line 1025 "rx-decode.opc"
+#line 1050 "rx-decode.opc"
           ID(brk);
 
         }
@@ -309,7 +335,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("dbt");
-#line 1028 "rx-decode.opc"
+#line 1053 "rx-decode.opc"
           ID(dbt);
 
         }
@@ -324,7 +350,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("rts");
-#line 806 "rx-decode.opc"
+#line 831 "rx-decode.opc"
           ID(rts);
 
         /*----------------------------------------------------------------------*/
@@ -342,7 +368,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("nop");
-#line 812 "rx-decode.opc"
+#line 837 "rx-decode.opc"
           ID(nop);
 
         /*----------------------------------------------------------------------*/
@@ -360,7 +386,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bra.a        %a0");
-#line 784 "rx-decode.opc"
+#line 809 "rx-decode.opc"
           ID(branch); DC(pc + IMMex(3));
 
         }
@@ -375,7 +401,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bsr.a        %a0");
-#line 800 "rx-decode.opc"
+#line 825 "rx-decode.opc"
           ID(jsr); DC(pc + IMMex(3));
 
         }
@@ -392,13 +418,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_1:
                     {
                       /** 0000 0110 mx00 00ss rsrc rdst                        sub     %2%S2, %1 */
-#line 542 "rx-decode.opc"
+#line 567 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 542 "rx-decode.opc"
+#line 567 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 542 "rx-decode.opc"
+#line 567 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 542 "rx-decode.opc"
+#line 567 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -411,7 +437,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("sub      %2%S2, %1");
-#line 542 "rx-decode.opc"
+#line 567 "rx-decode.opc"
                       ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
 
                     }
@@ -453,13 +479,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_2:
                     {
                       /** 0000 0110 mx00 01ss rsrc rdst                cmp     %2%S2, %1 */
-#line 530 "rx-decode.opc"
+#line 555 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 530 "rx-decode.opc"
+#line 555 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 530 "rx-decode.opc"
+#line 555 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 530 "rx-decode.opc"
+#line 555 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -472,7 +498,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("cmp      %2%S2, %1");
-#line 530 "rx-decode.opc"
+#line 555 "rx-decode.opc"
                       ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
 
                     /*----------------------------------------------------------------------*/
@@ -517,13 +543,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_3:
                     {
                       /** 0000 0110 mx00 10ss rsrc rdst        add     %1%S1, %0 */
-#line 506 "rx-decode.opc"
+#line 531 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 506 "rx-decode.opc"
+#line 531 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 506 "rx-decode.opc"
+#line 531 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 506 "rx-decode.opc"
+#line 531 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -536,7 +562,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("add      %1%S1, %0");
-#line 506 "rx-decode.opc"
+#line 531 "rx-decode.opc"
                       ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
 
                     }
@@ -578,13 +604,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_4:
                     {
                       /** 0000 0110 mx00 11ss rsrc rdst        mul     %1%S1, %0 */
-#line 649 "rx-decode.opc"
+#line 674 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 649 "rx-decode.opc"
+#line 674 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 649 "rx-decode.opc"
+#line 674 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 649 "rx-decode.opc"
+#line 674 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -597,7 +623,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("mul      %1%S1, %0");
-#line 649 "rx-decode.opc"
+#line 674 "rx-decode.opc"
                       ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
 
                     }
@@ -639,13 +665,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_5:
                     {
                       /** 0000 0110 mx01 00ss rsrc rdst        and     %1%S1, %0 */
-#line 419 "rx-decode.opc"
+#line 444 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 419 "rx-decode.opc"
+#line 444 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 419 "rx-decode.opc"
+#line 444 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 419 "rx-decode.opc"
+#line 444 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -658,7 +684,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("and      %1%S1, %0");
-#line 419 "rx-decode.opc"
+#line 444 "rx-decode.opc"
                       ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
 
                     }
@@ -700,13 +726,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_6:
                     {
                       /** 0000 0110 mx01 01ss rsrc rdst                        or      %1%S1, %0 */
-#line 437 "rx-decode.opc"
+#line 462 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 437 "rx-decode.opc"
+#line 462 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 437 "rx-decode.opc"
+#line 462 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 437 "rx-decode.opc"
+#line 462 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -719,7 +745,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("or       %1%S1, %0");
-#line 437 "rx-decode.opc"
+#line 462 "rx-decode.opc"
                       ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
 
                     }
@@ -765,13 +791,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_7:
                           {
                             /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst        sbb     %1%S1, %0 */
-#line 555 "rx-decode.opc"
+#line 580 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 555 "rx-decode.opc"
+#line 580 "rx-decode.opc"
                             int sp AU = op[1] & 0x03;
-#line 555 "rx-decode.opc"
+#line 580 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 555 "rx-decode.opc"
+#line 580 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -784,7 +810,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("sbb        %1%S1, %0");
-#line 555 "rx-decode.opc"
+#line 580 "rx-decode.opc"
                             ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
 
                           /*----------------------------------------------------------------------*/
@@ -802,13 +828,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_8:
                           {
                             /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst        max     %1%S1, %0 */
-#line 594 "rx-decode.opc"
+#line 619 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 594 "rx-decode.opc"
+#line 619 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 594 "rx-decode.opc"
+#line 619 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 594 "rx-decode.opc"
+#line 619 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -821,7 +847,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("max        %1%S1, %0");
-#line 594 "rx-decode.opc"
+#line 619 "rx-decode.opc"
                             ID(max); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -839,13 +865,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_9:
                           {
                             /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst        min     %1%S1, %0 */
-#line 606 "rx-decode.opc"
+#line 631 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 606 "rx-decode.opc"
+#line 631 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 606 "rx-decode.opc"
+#line 631 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 606 "rx-decode.opc"
+#line 631 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -858,7 +884,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("min        %1%S1, %0");
-#line 606 "rx-decode.opc"
+#line 631 "rx-decode.opc"
                             ID(min); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -876,13 +902,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_10:
                           {
                             /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst        emul    %1%S1, %0 */
-#line 664 "rx-decode.opc"
+#line 689 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 664 "rx-decode.opc"
+#line 689 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 664 "rx-decode.opc"
+#line 689 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 664 "rx-decode.opc"
+#line 689 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -895,7 +921,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("emul       %1%S1, %0");
-#line 664 "rx-decode.opc"
+#line 689 "rx-decode.opc"
                             ID(emul); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -913,13 +939,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_11:
                           {
                             /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst        emulu   %1%S1, %0 */
-#line 676 "rx-decode.opc"
+#line 701 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 676 "rx-decode.opc"
+#line 701 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 676 "rx-decode.opc"
+#line 701 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 676 "rx-decode.opc"
+#line 701 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -932,7 +958,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("emulu      %1%S1, %0");
-#line 676 "rx-decode.opc"
+#line 701 "rx-decode.opc"
                             ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -950,13 +976,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_12:
                           {
                             /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst        div     %1%S1, %0 */
-#line 688 "rx-decode.opc"
+#line 713 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 688 "rx-decode.opc"
+#line 713 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 688 "rx-decode.opc"
+#line 713 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 688 "rx-decode.opc"
+#line 713 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -969,7 +995,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("div        %1%S1, %0");
-#line 688 "rx-decode.opc"
+#line 713 "rx-decode.opc"
                             ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
 
                           /*----------------------------------------------------------------------*/
@@ -987,13 +1013,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_13:
                           {
                             /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst        divu    %1%S1, %0 */
-#line 700 "rx-decode.opc"
+#line 725 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 700 "rx-decode.opc"
+#line 725 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 700 "rx-decode.opc"
+#line 725 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 700 "rx-decode.opc"
+#line 725 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1006,7 +1032,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("divu       %1%S1, %0");
-#line 700 "rx-decode.opc"
+#line 725 "rx-decode.opc"
                             ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
 
                           /*----------------------------------------------------------------------*/
@@ -1024,13 +1050,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_14:
                           {
                             /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst        tst     %1%S1, %2 */
-#line 473 "rx-decode.opc"
+#line 498 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 473 "rx-decode.opc"
+#line 498 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 473 "rx-decode.opc"
+#line 498 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 473 "rx-decode.opc"
+#line 498 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1043,7 +1069,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("tst        %1%S1, %2");
-#line 473 "rx-decode.opc"
+#line 498 "rx-decode.opc"
                             ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
 
                           /*----------------------------------------------------------------------*/
@@ -1061,13 +1087,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_15:
                           {
                             /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst        xor     %1%S1, %0 */
-#line 452 "rx-decode.opc"
+#line 477 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 452 "rx-decode.opc"
+#line 477 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 452 "rx-decode.opc"
+#line 477 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 452 "rx-decode.opc"
+#line 477 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1080,7 +1106,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("xor        %1%S1, %0");
-#line 452 "rx-decode.opc"
+#line 477 "rx-decode.opc"
                             ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
 
                           /*----------------------------------------------------------------------*/
@@ -1098,13 +1124,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_16:
                           {
                             /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst        xchg    %1%S1, %0 */
-#line 386 "rx-decode.opc"
+#line 411 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 386 "rx-decode.opc"
+#line 411 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 386 "rx-decode.opc"
+#line 411 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 386 "rx-decode.opc"
+#line 411 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1117,7 +1143,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("xchg       %1%S1, %0");
-#line 386 "rx-decode.opc"
+#line 411 "rx-decode.opc"
                             ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
 
                           /*----------------------------------------------------------------------*/
@@ -1135,13 +1161,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_17:
                           {
                             /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst        itof    %1%S1, %0 */
-#line 929 "rx-decode.opc"
+#line 954 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 929 "rx-decode.opc"
+#line 954 "rx-decode.opc"
                             int sd AU = op[1] & 0x03;
-#line 929 "rx-decode.opc"
+#line 954 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 929 "rx-decode.opc"
+#line 954 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1154,7 +1180,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("itof       %1%S1, %0");
-#line 929 "rx-decode.opc"
+#line 954 "rx-decode.opc"
                             ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
 
                           /*----------------------------------------------------------------------*/
@@ -1172,13 +1198,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_18:
                           {
                             /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst        utof    %1%S1, %0 */
-#line 1115 "rx-decode.opc"
+#line 1140 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 1115 "rx-decode.opc"
+#line 1140 "rx-decode.opc"
                             int sd AU = op[1] & 0x03;
-#line 1115 "rx-decode.opc"
+#line 1140 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 1115 "rx-decode.opc"
+#line 1140 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1191,9 +1217,12 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("utof       %1%S1, %0");
-#line 1115 "rx-decode.opc"
+#line 1140 "rx-decode.opc"
                             ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
 
+                          /*----------------------------------------------------------------------*/
+                          /* RXv3 enhanced                                                     */
+
                           }
                         break;
                     }
@@ -2459,11 +2488,11 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_19:
                           {
                             /** 0000 0110 1010 00ss 0000 0010 rsrc rdst        adc     %1%S1, %0 */
-#line 494 "rx-decode.opc"
+#line 519 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 494 "rx-decode.opc"
+#line 519 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 494 "rx-decode.opc"
+#line 519 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -2475,7 +2504,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("adc        %1%S1, %0");
-#line 494 "rx-decode.opc"
+#line 519 "rx-decode.opc"
                             ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
 
                           /*----------------------------------------------------------------------*/
@@ -3648,7 +3677,7 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x0f:
         {
           /** 0000 1dsp                        bra.s   %a0 */
-#line 775 "rx-decode.opc"
+#line 800 "rx-decode.opc"
           int dsp AU = op[0] & 0x07;
           if (trace)
             {
@@ -3658,7 +3687,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  dsp = 0x%x\n", dsp);
             }
           SYNTAX("bra.s        %a0");
-#line 775 "rx-decode.opc"
+#line 800 "rx-decode.opc"
           ID(branch); DC(pc + dsp3map[dsp]);
 
         }
@@ -3681,9 +3710,9 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x1f:
         {
           /** 0001 n dsp                       b%1.s   %a0 */
-#line 765 "rx-decode.opc"
+#line 790 "rx-decode.opc"
           int n AU = (op[0] >> 3) & 0x01;
-#line 765 "rx-decode.opc"
+#line 790 "rx-decode.opc"
           int dsp AU = op[0] & 0x07;
           if (trace)
             {
@@ -3694,7 +3723,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  dsp = 0x%x\n", dsp);
             }
           SYNTAX("b%1.s        %a0");
-#line 765 "rx-decode.opc"
+#line 790 "rx-decode.opc"
           ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
 
         }
@@ -3716,7 +3745,7 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x2f:
         {
           /** 0010 cond                        b%1.b   %a0 */
-#line 768 "rx-decode.opc"
+#line 793 "rx-decode.opc"
           int cond AU = op[0] & 0x0f;
           if (trace)
             {
@@ -3726,7 +3755,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  cond = 0x%x\n", cond);
             }
           SYNTAX("b%1.b        %a0");
-#line 768 "rx-decode.opc"
+#line 793 "rx-decode.opc"
           ID(branch); Scc(cond); DC(pc + IMMex (1));
 
         }
@@ -3741,7 +3770,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bra.b        %a0");
-#line 778 "rx-decode.opc"
+#line 803 "rx-decode.opc"
           ID(branch); DC(pc + IMMex(1));
 
         }
@@ -3756,7 +3785,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bra.w        %a0");
-#line 781 "rx-decode.opc"
+#line 806 "rx-decode.opc"
           ID(branch); DC(pc + IMMex(2));
 
         }
@@ -3771,7 +3800,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bsr.w        %a0");
-#line 797 "rx-decode.opc"
+#line 822 "rx-decode.opc"
           ID(jsr); DC(pc + IMMex(2));
 
         }
@@ -3780,7 +3809,7 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x3b:
         {
           /** 0011 101c                        b%1.w   %a0 */
-#line 771 "rx-decode.opc"
+#line 796 "rx-decode.opc"
           int c AU = op[0] & 0x01;
           if (trace)
             {
@@ -3790,7 +3819,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  c = 0x%x\n", c);
             }
           SYNTAX("b%1.w        %a0");
-#line 771 "rx-decode.opc"
+#line 796 "rx-decode.opc"
           ID(branch); Scc(c); DC(pc + IMMex (2));
 
 
@@ -3804,13 +3833,13 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_20:
               {
                 /** 0011 11sz d dst sppp               mov%s   #%1, %0 */
-#line 307 "rx-decode.opc"
+#line 332 "rx-decode.opc"
                 int sz AU = op[0] & 0x03;
-#line 307 "rx-decode.opc"
+#line 332 "rx-decode.opc"
                 int d AU = (op[1] >> 7) & 0x01;
-#line 307 "rx-decode.opc"
+#line 332 "rx-decode.opc"
                 int dst AU = (op[1] >> 4) & 0x07;
-#line 307 "rx-decode.opc"
+#line 332 "rx-decode.opc"
                 int sppp AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -3823,7 +3852,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  sppp = 0x%x\n", sppp);
                   }
                 SYNTAX("mov%s  #%1, %0");
-#line 307 "rx-decode.opc"
+#line 332 "rx-decode.opc"
                 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
 
               }
@@ -3855,9 +3884,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0011 1111 rega regb                rtsd    #%1, %2-%0 */
-#line 404 "rx-decode.opc"
+#line 429 "rx-decode.opc"
                 int rega AU = (op[1] >> 4) & 0x0f;
-#line 404 "rx-decode.opc"
+#line 429 "rx-decode.opc"
                 int regb AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -3868,7 +3897,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  regb = 0x%x\n", regb);
                   }
                 SYNTAX("rtsd   #%1, %2-%0");
-#line 404 "rx-decode.opc"
+#line 429 "rx-decode.opc"
                 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
 
               /*----------------------------------------------------------------------*/
@@ -3886,11 +3915,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_21:
               {
                 /** 0100 00ss rsrc rdst                        sub     %2%S2, %1 */
-#line 539 "rx-decode.opc"
+#line 564 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 539 "rx-decode.opc"
+#line 564 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 539 "rx-decode.opc"
+#line 564 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -3902,7 +3931,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("sub    %2%S2, %1");
-#line 539 "rx-decode.opc"
+#line 564 "rx-decode.opc"
                 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
 
               }
@@ -3944,11 +3973,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_22:
               {
                 /** 0100 01ss rsrc rdst                cmp     %2%S2, %1 */
-#line 527 "rx-decode.opc"
+#line 552 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 527 "rx-decode.opc"
+#line 552 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 527 "rx-decode.opc"
+#line 552 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -3960,7 +3989,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("cmp    %2%S2, %1");
-#line 527 "rx-decode.opc"
+#line 552 "rx-decode.opc"
                 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
 
               }
@@ -4002,11 +4031,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_23:
               {
                 /** 0100 10ss rsrc rdst                        add     %1%S1, %0 */
-#line 503 "rx-decode.opc"
+#line 528 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 503 "rx-decode.opc"
+#line 528 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 503 "rx-decode.opc"
+#line 528 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4018,7 +4047,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("add    %1%S1, %0");
-#line 503 "rx-decode.opc"
+#line 528 "rx-decode.opc"
                 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
 
               }
@@ -4060,11 +4089,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_24:
               {
                 /** 0100 11ss rsrc rdst                        mul     %1%S1, %0 */
-#line 646 "rx-decode.opc"
+#line 671 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 646 "rx-decode.opc"
+#line 671 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 646 "rx-decode.opc"
+#line 671 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4076,7 +4105,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mul    %1%S1, %0");
-#line 646 "rx-decode.opc"
+#line 671 "rx-decode.opc"
                 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
 
               }
@@ -4118,11 +4147,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_25:
               {
                 /** 0101 00ss rsrc rdst                        and     %1%S1, %0 */
-#line 416 "rx-decode.opc"
+#line 441 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 416 "rx-decode.opc"
+#line 441 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 416 "rx-decode.opc"
+#line 441 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4134,7 +4163,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("and    %1%S1, %0");
-#line 416 "rx-decode.opc"
+#line 441 "rx-decode.opc"
                 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
 
               }
@@ -4176,11 +4205,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_26:
               {
                 /** 0101 01ss rsrc rdst                        or      %1%S1, %0 */
-#line 434 "rx-decode.opc"
+#line 459 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 434 "rx-decode.opc"
+#line 459 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 434 "rx-decode.opc"
+#line 459 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4192,7 +4221,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("or     %1%S1, %0");
-#line 434 "rx-decode.opc"
+#line 459 "rx-decode.opc"
                 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
 
               }
@@ -4234,13 +4263,13 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_27:
               {
                 /** 0101 1 s ss rsrc rdst      movu%s  %1, %0 */
-#line 355 "rx-decode.opc"
+#line 380 "rx-decode.opc"
                 int s AU = (op[0] >> 2) & 0x01;
-#line 355 "rx-decode.opc"
+#line 380 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 355 "rx-decode.opc"
+#line 380 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 355 "rx-decode.opc"
+#line 380 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4253,7 +4282,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("movu%s %1, %0");
-#line 355 "rx-decode.opc"
+#line 380 "rx-decode.opc"
                 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
 
               }
@@ -4330,9 +4359,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0000 immm rdst                        sub     #%2, %0 */
-#line 536 "rx-decode.opc"
+#line 561 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 536 "rx-decode.opc"
+#line 561 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4343,7 +4372,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("sub    #%2, %0");
-#line 536 "rx-decode.opc"
+#line 561 "rx-decode.opc"
                 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
 
               }
@@ -4357,9 +4386,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0001 immm rdst                        cmp     #%2, %1 */
-#line 518 "rx-decode.opc"
+#line 543 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 518 "rx-decode.opc"
+#line 543 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4370,7 +4399,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("cmp    #%2, %1");
-#line 518 "rx-decode.opc"
+#line 543 "rx-decode.opc"
                 ID(sub); S2C(immm); SR(rdst); F_OSZC;
 
               }
@@ -4384,9 +4413,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0010 immm rdst                        add     #%1, %0 */
-#line 500 "rx-decode.opc"
+#line 525 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 500 "rx-decode.opc"
+#line 525 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4397,7 +4426,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("add    #%1, %0");
-#line 500 "rx-decode.opc"
+#line 525 "rx-decode.opc"
                 ID(add); SC(immm); DR(rdst); F_OSZC;
 
               }
@@ -4411,9 +4440,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0011 immm rdst                        mul     #%1, %0 */
-#line 612 "rx-decode.opc"
+#line 637 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 612 "rx-decode.opc"
+#line 637 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4424,7 +4453,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mul    #%1, %0");
-#line 612 "rx-decode.opc"
+#line 637 "rx-decode.opc"
                 if (immm == 1 && rdst == 0)
                   {
                     ID(nop2);
@@ -4447,9 +4476,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0100 immm rdst                        and     #%1, %0 */
-#line 410 "rx-decode.opc"
+#line 435 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 410 "rx-decode.opc"
+#line 435 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4460,7 +4489,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("and    #%1, %0");
-#line 410 "rx-decode.opc"
+#line 435 "rx-decode.opc"
                 ID(and); SC(immm); DR(rdst); F__SZ_;
 
               }
@@ -4474,9 +4503,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0101 immm rdst                        or      #%1, %0 */
-#line 428 "rx-decode.opc"
+#line 453 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 428 "rx-decode.opc"
+#line 453 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4487,7 +4516,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("or     #%1, %0");
-#line 428 "rx-decode.opc"
+#line 453 "rx-decode.opc"
                 ID(or); SC(immm); DR(rdst); F__SZ_;
 
               }
@@ -4501,9 +4530,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0110 immm rdst                mov%s   #%1, %0 */
-#line 304 "rx-decode.opc"
+#line 329 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 304 "rx-decode.opc"
+#line 329 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4514,7 +4543,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mov%s  #%1, %0");
-#line 304 "rx-decode.opc"
+#line 329 "rx-decode.opc"
                 ID(mov); DR(rdst); SC(immm); F_____;
 
               }
@@ -4531,7 +4560,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("rtsd #%1");
-#line 401 "rx-decode.opc"
+#line 426 "rx-decode.opc"
           ID(rtsd); SC(IMM(1) * 4);
 
         }
@@ -4544,11 +4573,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_28:
               {
                 /** 0110 100i mmmm rdst                        shlr    #%2, %0 */
-#line 726 "rx-decode.opc"
+#line 751 "rx-decode.opc"
                 int i AU = op[0] & 0x01;
-#line 726 "rx-decode.opc"
+#line 751 "rx-decode.opc"
                 int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 726 "rx-decode.opc"
+#line 751 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4560,7 +4589,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("shlr   #%2, %0");
-#line 726 "rx-decode.opc"
+#line 751 "rx-decode.opc"
                 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
 
               }
@@ -4584,11 +4613,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_29:
               {
                 /** 0110 101i mmmm rdst                        shar    #%2, %0 */
-#line 716 "rx-decode.opc"
+#line 741 "rx-decode.opc"
                 int i AU = op[0] & 0x01;
-#line 716 "rx-decode.opc"
+#line 741 "rx-decode.opc"
                 int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 716 "rx-decode.opc"
+#line 741 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4600,7 +4629,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("shar   #%2, %0");
-#line 716 "rx-decode.opc"
+#line 741 "rx-decode.opc"
                 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
 
               }
@@ -4624,11 +4653,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_30:
               {
                 /** 0110 110i mmmm rdst                        shll    #%2, %0 */
-#line 706 "rx-decode.opc"
+#line 731 "rx-decode.opc"
                 int i AU = op[0] & 0x01;
-#line 706 "rx-decode.opc"
+#line 731 "rx-decode.opc"
                 int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 706 "rx-decode.opc"
+#line 731 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4640,7 +4669,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("shll   #%2, %0");
-#line 706 "rx-decode.opc"
+#line 731 "rx-decode.opc"
                 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
 
               }
@@ -4663,9 +4692,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 1110 dsta dstb                pushm   %1-%2 */
-#line 368 "rx-decode.opc"
+#line 393 "rx-decode.opc"
                 int dsta AU = (op[1] >> 4) & 0x0f;
-#line 368 "rx-decode.opc"
+#line 393 "rx-decode.opc"
                 int dstb AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4676,7 +4705,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  dstb = 0x%x\n", dstb);
                   }
                 SYNTAX("pushm  %1-%2");
-#line 368 "rx-decode.opc"
+#line 393 "rx-decode.opc"
                 ID(pushm); SR(dsta); S2R(dstb); F_____;
 
               }
@@ -4690,9 +4719,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 1111 dsta dstb                popm    %1-%2 */
-#line 365 "rx-decode.opc"
+#line 390 "rx-decode.opc"
                 int dsta AU = (op[1] >> 4) & 0x0f;
-#line 365 "rx-decode.opc"
+#line 390 "rx-decode.opc"
                 int dstb AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4703,7 +4732,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  dstb = 0x%x\n", dstb);
                   }
                 SYNTAX("popm   %1-%2");
-#line 365 "rx-decode.opc"
+#line 390 "rx-decode.opc"
                 ID(popm); SR(dsta); S2R(dstb); F_____;
 
               }
@@ -4718,11 +4747,11 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_31:
               {
                 /** 0111 00im rsrc rdst                        add     #%1, %2, %0 */
-#line 509 "rx-decode.opc"
+#line 534 "rx-decode.opc"
                 int im AU = op[0] & 0x03;
-#line 509 "rx-decode.opc"
+#line 534 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 509 "rx-decode.opc"
+#line 534 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4734,7 +4763,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("add    #%1, %2, %0");
-#line 509 "rx-decode.opc"
+#line 534 "rx-decode.opc"
                 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
 
               }
@@ -4776,9 +4805,9 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_32:
               {
                 /** 0111 01im 0000 rsrc                cmp     #%2, %1%S1 */
-#line 521 "rx-decode.opc"
+#line 546 "rx-decode.opc"
                 int im AU = op[0] & 0x03;
-#line 521 "rx-decode.opc"
+#line 546 "rx-decode.opc"
                 int rsrc AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4789,7 +4818,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rsrc = 0x%x\n", rsrc);
                   }
                 SYNTAX("cmp    #%2, %1%S1");
-#line 521 "rx-decode.opc"
+#line 546 "rx-decode.opc"
                 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
 
               }
@@ -4798,9 +4827,9 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_33:
               {
                 /** 0111 01im 0001rdst                 mul     #%1, %0 */
-#line 624 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                 int im AU = op[0] & 0x03;
-#line 624 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4811,7 +4840,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mul    #%1, %0");
-#line 624 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                 int val = IMMex(im);
                 if (val == 1 && rdst == 0)
                   {
@@ -4839,9 +4868,9 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_34:
               {
                 /** 0111 01im 0010 rdst                        and     #%1, %0 */
-#line 413 "rx-decode.opc"
+#line 438 "rx-decode.opc"
                 int im AU = op[0] & 0x03;
-#line 413 "rx-decode.opc"
+#line 438 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4852,7 +4881,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("and    #%1, %0");
-#line 413 "rx-decode.opc"
+#line 438 "rx-decode.opc"
                 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
 
               }
@@ -4861,9 +4890,9 @@ rx_decode_opcode (unsigned long pc AU,
             op_semantics_35:
               {
                 /** 0111 01im 0011 rdst                        or      #%1, %0 */
-#line 431 "rx-decode.opc"
+#line 456 "rx-decode.opc"
                 int im AU = op[0] & 0x03;
-#line 431 "rx-decode.opc"
+#line 456 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4874,7 +4903,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("or     #%1, %0");
-#line 431 "rx-decode.opc"
+#line 456 "rx-decode.opc"
                 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
 
               }
@@ -4976,7 +5005,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x4f:
               {
                 /** 0111 0101 0100 rdst                mov%s   #%1, %0 */
-#line 285 "rx-decode.opc"
+#line 310 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4986,7 +5015,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mov%s  #%1, %0");
-#line 285 "rx-decode.opc"
+#line 310 "rx-decode.opc"
                 ID(mov); DR(rdst); SC(IMM (1)); F_____;
 
               }
@@ -5009,7 +5038,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x5f:
               {
                 /** 0111 0101 0101 rsrc                        cmp     #%2, %1 */
-#line 524 "rx-decode.opc"
+#line 549 "rx-decode.opc"
                 int rsrc AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5019,7 +5048,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rsrc = 0x%x\n", rsrc);
                   }
                 SYNTAX("cmp    #%2, %1");
-#line 524 "rx-decode.opc"
+#line 549 "rx-decode.opc"
                 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
 
               }
@@ -5034,7 +5063,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("int #%1");
-#line 1031 "rx-decode.opc"
+#line 1056 "rx-decode.opc"
                 ID(int); SC(IMM(1));
 
               }
@@ -5046,7 +5075,7 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x00:
                     {
                       /** 0111 0101 0111 0000 0000 immm        mvtipl  #%1 */
-#line 998 "rx-decode.opc"
+#line 1023 "rx-decode.opc"
                       int immm AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -5056,7 +5085,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  immm = 0x%x\n", immm);
                         }
                       SYNTAX("mvtipl   #%1");
-#line 998 "rx-decode.opc"
+#line 1023 "rx-decode.opc"
                       ID(mvtipl); SC(immm);
 
                     }
@@ -5064,6702 +5093,10167 @@ rx_decode_opcode (unsigned long pc AU,
                 default: UNSUPPORTED(); break;
               }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0x76:
-        GETBYTE ();
-        switch (op[1] & 0xf0)
-        {
-          case 0x00:
-            goto op_semantics_32;
+          case 0x90:
+              GETBYTE ();
+              switch (op[2] & 0xff)
+              {
+                case 0x1b:
+                    {
+                      /** 0111 0101 1001 0000 0001 1011        mvfdr */
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 0111 0101 1001 0000 0001 1011    mvfdr */",
+                                 op[0], op[1], op[2]);
+                        }
+                      SYNTAX("mvfdr");
+#line 1229 "rx-decode.opc"
+                      ID(mvfdr); F_____;
+
+                    }
+                  break;
+                default: UNSUPPORTED(); break;
+              }
             break;
-          case 0x10:
-            goto op_semantics_33;
+          case 0xa0:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 0111 0101 1010 0000 rdst rnum        dpushm.l        %1-%2 */
+#line 1223 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1223 "rx-decode.opc"
+                      int rnum AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 0111 0101 1010 0000 rdst rnum    dpushm.l        %1-%2 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rnum = 0x%x\n", rnum);
+                        }
+                      SYNTAX("dpushm.l %1-%2");
+#line 1223 "rx-decode.opc"
+                      ID(dpushm); SCR(rdst); S2CR(rdst + rnum); F_____;
+
+                    }
+                  break;
+              }
             break;
-          case 0x20:
-            goto op_semantics_34;
+          case 0xa8:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 0111 0101 1010 1000 rdst rnum        dpopm.l %1-%2 */
+#line 1217 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1217 "rx-decode.opc"
+                      int rnum AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 0111 0101 1010 1000 rdst rnum    dpopm.l %1-%2 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rnum = 0x%x\n", rnum);
+                        }
+                      SYNTAX("dpopm.l  %1-%2");
+#line 1217 "rx-decode.opc"
+                      ID(dpopm); SCR(rdst); S2CR(rdst + rnum); F_____;
+
+                    }
+                  break;
+              }
             break;
-          case 0x30:
-            goto op_semantics_35;
+          case 0xb0:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 0111 0101 1011 0000 rdst rnum        dpushm.d        %1-%2 */
+#line 1220 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1220 "rx-decode.opc"
+                      int rnum AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 0111 0101 1011 0000 rdst rnum    dpushm.d        %1-%2 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rnum = 0x%x\n", rnum);
+                        }
+                      SYNTAX("dpushm.d %1-%2");
+#line 1220 "rx-decode.opc"
+                      ID(dpushm); SDR(rdst); S2DR(rdst + rnum); F_____;
+
+                    }
+                  break;
+              }
+            break;
+          case 0xb8:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 0111 0101 1011 1000 rdst rnum        dpopm.d %1-%2 */
+#line 1214 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1214 "rx-decode.opc"
+                      int rnum AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 0111 0101 1011 1000 rdst rnum    dpopm.d %1-%2 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rnum = 0x%x\n", rnum);
+                        }
+                      SYNTAX("dpopm.d  %1-%2");
+#line 1214 "rx-decode.opc"
+                      ID(dpopm); SDR(rdst); S2DR(rdst + rnum); F_____;
+
+                    }
+                  break;
+              }
             break;
           default: UNSUPPORTED(); break;
         }
       break;
-    case 0x77:
+    case 0x76:
         GETBYTE ();
-        switch (op[1] & 0xf0)
+        switch (op[1] & 0xff)
         {
           case 0x00:
+          case 0x01:
+          case 0x02:
+          case 0x03:
+          case 0x04:
+          case 0x05:
+          case 0x06:
+          case 0x07:
+          case 0x08:
+          case 0x09:
+          case 0x0a:
+          case 0x0b:
+          case 0x0c:
+          case 0x0d:
+          case 0x0e:
+          case 0x0f:
             goto op_semantics_32;
             break;
           case 0x10:
+          case 0x11:
+          case 0x12:
+          case 0x13:
+          case 0x14:
+          case 0x15:
+          case 0x16:
+          case 0x17:
+          case 0x18:
+          case 0x19:
+          case 0x1a:
+          case 0x1b:
+          case 0x1c:
+          case 0x1d:
+          case 0x1e:
+          case 0x1f:
             goto op_semantics_33;
             break;
           case 0x20:
+          case 0x21:
+          case 0x22:
+          case 0x23:
+          case 0x24:
+          case 0x25:
+          case 0x26:
+          case 0x27:
+          case 0x28:
+          case 0x29:
+          case 0x2a:
+          case 0x2b:
+          case 0x2c:
+          case 0x2d:
+          case 0x2e:
+          case 0x2f:
             goto op_semantics_34;
             break;
           case 0x30:
+          case 0x31:
+          case 0x32:
+          case 0x33:
+          case 0x34:
+          case 0x35:
+          case 0x36:
+          case 0x37:
+          case 0x38:
+          case 0x39:
+          case 0x3a:
+          case 0x3b:
+          case 0x3c:
+          case 0x3d:
+          case 0x3e:
+          case 0x3f:
             goto op_semantics_35;
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0x78:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            op_semantics_36:
+          case 0x90:
+              GETBYTE ();
+              switch (op[2] & 0xff)
               {
-                /** 0111 100b ittt rdst                        bset    #%1, %0 */
-#line 943 "rx-decode.opc"
-                int b AU = op[0] & 0x01;
-#line 943 "rx-decode.opc"
-                int ittt AU = (op[1] >> 4) & 0x0f;
-#line 943 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 100b ittt rdst                    bset    #%1, %0 */",
-                           op[0], op[1]);
-                    printf ("  b = 0x%x,", b);
-                    printf ("  ittt = 0x%x,", ittt);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("bset   #%1, %0");
-#line 943 "rx-decode.opc"
-                ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
-
-
-              }
-            break;
-        }
-      break;
-    case 0x79:
-        GETBYTE ();
+                case 0x00:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        op_semantics_36:
+                          {
+                            /** 0111 0110 1001 0000 srcb 0000 rdst srca        dadd    %1, %2, %0 */
+#line 1238 "rx-decode.opc"
+                            int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1238 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1238 "rx-decode.opc"
+                            int srca AU = op[3] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 srcb 0000 rdst srca    dadd    %1, %2, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  srcb = 0x%x,", srcb);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  srca = 0x%x\n", srca);
+                              }
+                            SYNTAX("dadd       %1, %2, %0");
+#line 1238 "rx-decode.opc"
+                            ID(dadd); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+                          }
+                        break;
+                    }
+                  break;
+                case 0x01:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        op_semantics_37:
+                          {
+                            /** 0111 0110 1001 0000 srcb 0001 rdst srca        dsub    %1, %2, %0 */
+#line 1259 "rx-decode.opc"
+                            int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1259 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1259 "rx-decode.opc"
+                            int srca AU = op[3] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 srcb 0001 rdst srca    dsub    %1, %2, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  srcb = 0x%x,", srcb);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  srca = 0x%x\n", srca);
+                              }
+                            SYNTAX("dsub       %1, %2, %0");
+#line 1259 "rx-decode.opc"
+                            ID(dsub); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+                          }
+                        break;
+                    }
+                  break;
+                case 0x02:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        op_semantics_38:
+                          {
+                            /** 0111 0110 1001 0000 srcb 0010 rdst srca        dmul    %1, %2, %0 */
+#line 1247 "rx-decode.opc"
+                            int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1247 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1247 "rx-decode.opc"
+                            int srca AU = op[3] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 srcb 0010 rdst srca    dmul    %1, %2, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  srcb = 0x%x,", srcb);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  srca = 0x%x\n", srca);
+                              }
+                            SYNTAX("dmul       %1, %2, %0");
+#line 1247 "rx-decode.opc"
+                            ID(dmul); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+                          }
+                        break;
+                    }
+                  break;
+                case 0x05:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        op_semantics_39:
+                          {
+                            /** 0111 0110 1001 0000 srcb 0101 rdst srca        ddiv    %1, %2, %0 */
+#line 1244 "rx-decode.opc"
+                            int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1244 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1244 "rx-decode.opc"
+                            int srca AU = op[3] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 srcb 0101 rdst srca    ddiv    %1, %2, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  srcb = 0x%x,", srcb);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  srca = 0x%x\n", srca);
+                              }
+                            SYNTAX("ddiv       %1, %2, %0");
+#line 1244 "rx-decode.opc"
+                            ID(ddiv); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+                          }
+                        break;
+                    }
+                  break;
+                case 0x08:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        op_semantics_40:
+                          {
+                            /** 0111 0110 1001 0000 srcb 1000 cond srca        dcmp%0  %1, %2 */
+#line 1241 "rx-decode.opc"
+                            int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1241 "rx-decode.opc"
+                            int cond AU = (op[3] >> 4) & 0x0f;
+#line 1241 "rx-decode.opc"
+                            int srca AU = op[3] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 srcb 1000 cond srca    dcmp%0  %1, %2 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  srcb = 0x%x,", srcb);
+                                printf ("  cond = 0x%x,", cond);
+                                printf ("  srca = 0x%x\n", srca);
+                              }
+                            SYNTAX("dcmp%0     %1, %2");
+#line 1241 "rx-decode.opc"
+                            ID(dcmp); DCND(cond); SDR(srca); S2DR(srcb); F_____;
+
+                          }
+                        break;
+                    }
+                  break;
+                case 0x0c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        op_semantics_41:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1100 rdst 0000        dmov.d  %1, %0 */
+#line 1179 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1179 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1100 rdst 0000    dmov.d  %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dmov.d     %1, %0");
+#line 1179 "rx-decode.opc"
+                            ID(dmov); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x01:
+                        op_semantics_42:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1100 rdst 0001        dabs    %1, %0 */
+#line 1235 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1235 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1100 rdst 0001    dabs    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dabs       %1, %0");
+#line 1235 "rx-decode.opc"
+                            ID(dabs); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x02:
+                        op_semantics_43:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1100 rdst 0010        dneg    %1, %0 */
+#line 1250 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1250 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1100 rdst 0010    dneg    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dneg       %1, %0");
+#line 1250 "rx-decode.opc"
+                            ID(dneg); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x0d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        op_semantics_44:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1101 rdst 0000        dsqrt   %1, %0 */
+#line 1256 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1256 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1101 rdst 0000    dsqrt   %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dsqrt      %1, %0");
+#line 1256 "rx-decode.opc"
+                            ID(dsqrt); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x08:
+                        op_semantics_45:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1101 rdst 1000        dtoi    %1, %0 */
+#line 1265 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1265 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1101 rdst 1000    dtoi    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dtoi       %1, %0");
+#line 1265 "rx-decode.opc"
+                            ID(dtoi); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x09:
+                        op_semantics_46:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1101 rdst 1001        dtou    %1, %0 */
+#line 1268 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1268 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1101 rdst 1001    dtou    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dtou       %1, %0");
+#line 1268 "rx-decode.opc"
+                            ID(dtou); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x0c:
+                        op_semantics_47:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1101 rdst 1100        dtof    %1, %0 */
+#line 1262 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1262 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1101 rdst 1100    dtof    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dtof       %1, %0");
+#line 1262 "rx-decode.opc"
+                            ID(dtof); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x0d:
+                        op_semantics_48:
+                          {
+                            /** 0111 0110 1001 0000 rsrc 1101 rdst 1101        dround  %1, %0 */
+#line 1253 "rx-decode.opc"
+                            int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1253 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0111 0110 1001 0000 rsrc 1101 rdst 1101    dround  %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dround     %1, %0");
+#line 1253 "rx-decode.opc"
+                            ID(dround); DDR(rdst); SDR(rsrc); F_____;
+
+                          }
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x10:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x11:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x12:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x18:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x1c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x1d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x20:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x21:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x22:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x25:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x28:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x2c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x2d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x30:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x31:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x32:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x35:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x38:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x3c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x3d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x40:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x41:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x42:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x45:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x48:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x4c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x4d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x50:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x51:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x52:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x55:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x58:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x5c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x5d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x60:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x61:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x62:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x65:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x68:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x6c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x6d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x70:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x71:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x72:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x75:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x78:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x7c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x7d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x80:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x81:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x82:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x85:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x88:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x8c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x8d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x90:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0x91:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0x92:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0x95:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0x98:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0x9c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x9d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xa0:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0xa1:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0xa2:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0xa5:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0xa8:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0xac:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xad:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xb0:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0xb1:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0xb2:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0xb5:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0xb8:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0xbc:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xbd:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xc0:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0xc1:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0xc2:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0xc5:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0xc8:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0xcc:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xcd:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xd0:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0xd1:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0xd2:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0xd5:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0xd8:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0xdc:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xdd:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xe0:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0xe1:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0xe2:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0xe5:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0xe8:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0xec:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xed:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xf0:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_36;
+                        break;
+                    }
+                  break;
+                case 0xf1:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_37;
+                        break;
+                    }
+                  break;
+                case 0xf2:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_38;
+                        break;
+                    }
+                  break;
+                case 0xf5:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_39;
+                        break;
+                    }
+                  break;
+                case 0xf8:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_40;
+                        break;
+                    }
+                  break;
+                case 0xfc:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_41;
+                        break;
+                      case 0x01:
+                        goto op_semantics_42;
+                        break;
+                      case 0x02:
+                        goto op_semantics_43;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xfd:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_44;
+                        break;
+                      case 0x08:
+                        goto op_semantics_45;
+                        break;
+                      case 0x09:
+                        goto op_semantics_46;
+                        break;
+                      case 0x0c:
+                        goto op_semantics_47;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_48;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                default: UNSUPPORTED(); break;
+              }
+            break;
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0x77:
+        GETBYTE ();
+        switch (op[1] & 0xf0)
+        {
+          case 0x00:
+            goto op_semantics_32;
+            break;
+          case 0x10:
+            goto op_semantics_33;
+            break;
+          case 0x20:
+            goto op_semantics_34;
+            break;
+          case 0x30:
+            goto op_semantics_35;
+            break;
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0x78:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            op_semantics_49:
+              {
+                /** 0111 100b ittt rdst                        bset    #%1, %0 */
+#line 968 "rx-decode.opc"
+                int b AU = op[0] & 0x01;
+#line 968 "rx-decode.opc"
+                int ittt AU = (op[1] >> 4) & 0x0f;
+#line 968 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 100b ittt rdst                    bset    #%1, %0 */",
+                           op[0], op[1]);
+                    printf ("  b = 0x%x,", b);
+                    printf ("  ittt = 0x%x,", ittt);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("bset   #%1, %0");
+#line 968 "rx-decode.opc"
+                ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
+
+
+              }
+            break;
+        }
+      break;
+    case 0x79:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_49;
+            break;
+        }
+      break;
+    case 0x7a:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            op_semantics_50:
+              {
+                /** 0111 101b ittt rdst                        bclr    #%1, %0 */
+#line 980 "rx-decode.opc"
+                int b AU = op[0] & 0x01;
+#line 980 "rx-decode.opc"
+                int ittt AU = (op[1] >> 4) & 0x0f;
+#line 980 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 101b ittt rdst                    bclr    #%1, %0 */",
+                           op[0], op[1]);
+                    printf ("  b = 0x%x,", b);
+                    printf ("  ittt = 0x%x,", ittt);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("bclr   #%1, %0");
+#line 980 "rx-decode.opc"
+                ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
+
+
+              }
+            break;
+        }
+      break;
+    case 0x7b:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_50;
+            break;
+        }
+      break;
+    case 0x7c:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            op_semantics_51:
+              {
+                /** 0111 110b ittt rdst                        btst    #%2, %1 */
+#line 992 "rx-decode.opc"
+                int b AU = op[0] & 0x01;
+#line 992 "rx-decode.opc"
+                int ittt AU = (op[1] >> 4) & 0x0f;
+#line 992 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 110b ittt rdst                    btst    #%2, %1 */",
+                           op[0], op[1]);
+                    printf ("  b = 0x%x,", b);
+                    printf ("  ittt = 0x%x,", ittt);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("btst   #%2, %1");
+#line 992 "rx-decode.opc"
+                ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
+
+
+              }
+            break;
+        }
+      break;
+    case 0x7d:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_51;
+            break;
+        }
+      break;
+    case 0x7e:
+        GETBYTE ();
+        switch (op[1] & 0xf0)
+        {
+          case 0x00:
+              {
+                /** 0111 1110 0000 rdst                        not     %0 */
+#line 483 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 0000 rdst                    not     %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("not    %0");
+#line 483 "rx-decode.opc"
+                ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
+
+              }
+            break;
+          case 0x10:
+              {
+                /** 0111 1110 0001 rdst                        neg     %0 */
+#line 504 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 0001 rdst                    neg     %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("neg    %0");
+#line 504 "rx-decode.opc"
+                ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
+
+              }
+            break;
+          case 0x20:
+              {
+                /** 0111 1110 0010 rdst                        abs     %0 */
+#line 586 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 0010 rdst                    abs     %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("abs    %0");
+#line 586 "rx-decode.opc"
+                ID(abs); DR(rdst); SR(rdst); F_OSZ_;
+
+              }
+            break;
+          case 0x30:
+              {
+                /** 0111 1110 0011 rdst                sat     %0 */
+#line 906 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 0011 rdst            sat     %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("sat    %0");
+#line 906 "rx-decode.opc"
+                ID(sat); DR (rdst);
+
+              }
+            break;
+          case 0x40:
+              {
+                /** 0111 1110 0100 rdst                        rorc    %0 */
+#line 766 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 0100 rdst                    rorc    %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("rorc   %0");
+#line 766 "rx-decode.opc"
+                ID(rorc); DR(rdst); F__SZC;
+
+              }
+            break;
+          case 0x50:
+              {
+                /** 0111 1110 0101 rdst                        rolc    %0 */
+#line 763 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 0101 rdst                    rolc    %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("rolc   %0");
+#line 763 "rx-decode.opc"
+                ID(rolc); DR(rdst); F__SZC;
+
+              }
+            break;
+          case 0x80:
+          case 0x90:
+          case 0xa0:
+              {
+                /** 0111 1110 10sz rsrc                push%s  %1 */
+#line 399 "rx-decode.opc"
+                int sz AU = (op[1] >> 4) & 0x03;
+#line 399 "rx-decode.opc"
+                int rsrc AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 10sz rsrc            push%s  %1 */",
+                           op[0], op[1]);
+                    printf ("  sz = 0x%x,", sz);
+                    printf ("  rsrc = 0x%x\n", rsrc);
+                  }
+                SYNTAX("push%s %1");
+#line 399 "rx-decode.opc"
+                ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
+
+              }
+            break;
+          case 0xb0:
+              {
+                /** 0111 1110 1011 rdst                pop     %0 */
+#line 396 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 1011 rdst            pop     %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("pop    %0");
+#line 396 "rx-decode.opc"
+                ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
+
+              }
+            break;
+          case 0xc0:
+          case 0xd0:
+              {
+                /** 0111 1110 110 crsrc                        pushc   %1 */
+#line 1029 "rx-decode.opc"
+                int crsrc AU = op[1] & 0x1f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 110 crsrc                    pushc   %1 */",
+                           op[0], op[1]);
+                    printf ("  crsrc = 0x%x\n", crsrc);
+                  }
+                SYNTAX("pushc  %1");
+#line 1029 "rx-decode.opc"
+                ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
+
+              }
+            break;
+          case 0xe0:
+          case 0xf0:
+              {
+                /** 0111 1110 111 crdst                        popc    %0 */
+#line 1026 "rx-decode.opc"
+                int crdst AU = op[1] & 0x1f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1110 111 crdst                    popc    %0 */",
+                           op[0], op[1]);
+                    printf ("  crdst = 0x%x\n", crdst);
+                  }
+                SYNTAX("popc   %0");
+#line 1026 "rx-decode.opc"
+                ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
+
+              }
+            break;
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0x7f:
+        GETBYTE ();
+        switch (op[1] & 0xff)
+        {
+          case 0x00:
+          case 0x01:
+          case 0x02:
+          case 0x03:
+          case 0x04:
+          case 0x05:
+          case 0x06:
+          case 0x07:
+          case 0x08:
+          case 0x09:
+          case 0x0a:
+          case 0x0b:
+          case 0x0c:
+          case 0x0d:
+          case 0x0e:
+          case 0x0f:
+              {
+                /** 0111 1111 0000 rsrc                jmp     %0 */
+#line 816 "rx-decode.opc"
+                int rsrc AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 0000 rsrc            jmp     %0 */",
+                           op[0], op[1]);
+                    printf ("  rsrc = 0x%x\n", rsrc);
+                  }
+                SYNTAX("jmp    %0");
+#line 816 "rx-decode.opc"
+                ID(branch); DR(rsrc);
+
+              }
+            break;
+          case 0x10:
+          case 0x11:
+          case 0x12:
+          case 0x13:
+          case 0x14:
+          case 0x15:
+          case 0x16:
+          case 0x17:
+          case 0x18:
+          case 0x19:
+          case 0x1a:
+          case 0x1b:
+          case 0x1c:
+          case 0x1d:
+          case 0x1e:
+          case 0x1f:
+              {
+                /** 0111 1111 0001 rsrc                jsr     %0 */
+#line 819 "rx-decode.opc"
+                int rsrc AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 0001 rsrc            jsr     %0 */",
+                           op[0], op[1]);
+                    printf ("  rsrc = 0x%x\n", rsrc);
+                  }
+                SYNTAX("jsr    %0");
+#line 819 "rx-decode.opc"
+                ID(jsr); DR(rsrc);
+
+              }
+            break;
+          case 0x40:
+          case 0x41:
+          case 0x42:
+          case 0x43:
+          case 0x44:
+          case 0x45:
+          case 0x46:
+          case 0x47:
+          case 0x48:
+          case 0x49:
+          case 0x4a:
+          case 0x4b:
+          case 0x4c:
+          case 0x4d:
+          case 0x4e:
+          case 0x4f:
+              {
+                /** 0111 1111 0100 rsrc                bra.l   %0 */
+#line 812 "rx-decode.opc"
+                int rsrc AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 0100 rsrc            bra.l   %0 */",
+                           op[0], op[1]);
+                    printf ("  rsrc = 0x%x\n", rsrc);
+                  }
+                SYNTAX("bra.l  %0");
+#line 812 "rx-decode.opc"
+                ID(branchrel); DR(rsrc);
+
+
+              }
+            break;
+          case 0x50:
+          case 0x51:
+          case 0x52:
+          case 0x53:
+          case 0x54:
+          case 0x55:
+          case 0x56:
+          case 0x57:
+          case 0x58:
+          case 0x59:
+          case 0x5a:
+          case 0x5b:
+          case 0x5c:
+          case 0x5d:
+          case 0x5e:
+          case 0x5f:
+              {
+                /** 0111 1111 0101 rsrc                bsr.l   %0 */
+#line 828 "rx-decode.opc"
+                int rsrc AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 0101 rsrc            bsr.l   %0 */",
+                           op[0], op[1]);
+                    printf ("  rsrc = 0x%x\n", rsrc);
+                  }
+                SYNTAX("bsr.l  %0");
+#line 828 "rx-decode.opc"
+                ID(jsrrel); DR(rsrc);
+
+              }
+            break;
+          case 0x80:
+          case 0x81:
+          case 0x82:
+              {
+                /** 0111 1111 1000 00sz                suntil%s */
+#line 852 "rx-decode.opc"
+                int sz AU = op[1] & 0x03;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 00sz            suntil%s */",
+                           op[0], op[1]);
+                    printf ("  sz = 0x%x\n", sz);
+                  }
+                SYNTAX("suntil%s");
+#line 852 "rx-decode.opc"
+                ID(suntil); BWL(sz); F___ZC;
+
+              }
+            break;
+          case 0x83:
+              {
+                /** 0111 1111 1000 0011                scmpu */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 0011            scmpu */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("scmpu");
+#line 843 "rx-decode.opc"
+                ID(scmpu); F___ZC;
+
+              }
+            break;
+          case 0x84:
+          case 0x85:
+          case 0x86:
+              {
+                /** 0111 1111 1000 01sz                swhile%s */
+#line 855 "rx-decode.opc"
+                int sz AU = op[1] & 0x03;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 01sz            swhile%s */",
+                           op[0], op[1]);
+                    printf ("  sz = 0x%x\n", sz);
+                  }
+                SYNTAX("swhile%s");
+#line 855 "rx-decode.opc"
+                ID(swhile); BWL(sz); F___ZC;
+
+              }
+            break;
+          case 0x87:
+              {
+                /** 0111 1111 1000 0111                smovu */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 0111            smovu */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("smovu");
+#line 846 "rx-decode.opc"
+                ID(smovu);
+
+              }
+            break;
+          case 0x88:
+          case 0x89:
+          case 0x8a:
+              {
+                /** 0111 1111 1000 10sz                sstr%s */
+#line 861 "rx-decode.opc"
+                int sz AU = op[1] & 0x03;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 10sz            sstr%s */",
+                           op[0], op[1]);
+                    printf ("  sz = 0x%x\n", sz);
+                  }
+                SYNTAX("sstr%s");
+#line 861 "rx-decode.opc"
+                ID(sstr); BWL(sz);
+
+              /*----------------------------------------------------------------------*/
+              /* RMPA                                                                  */
+
+              }
+            break;
+          case 0x8b:
+              {
+                /** 0111 1111 1000 1011                smovb */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 1011            smovb */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("smovb");
+#line 849 "rx-decode.opc"
+                ID(smovb);
+
+              }
+            break;
+          case 0x8c:
+          case 0x8d:
+          case 0x8e:
+              {
+                /** 0111 1111 1000 11sz                rmpa%s */
+#line 867 "rx-decode.opc"
+                int sz AU = op[1] & 0x03;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 11sz            rmpa%s */",
+                           op[0], op[1]);
+                    printf ("  sz = 0x%x\n", sz);
+                  }
+                SYNTAX("rmpa%s");
+#line 867 "rx-decode.opc"
+                ID(rmpa); BWL(sz); F_OS__;
+
+              /*----------------------------------------------------------------------*/
+              /* HI/LO stuff                                                           */
+
+              }
+            break;
+          case 0x8f:
+              {
+                /** 0111 1111 1000 1111                smovf */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1000 1111            smovf */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("smovf");
+#line 858 "rx-decode.opc"
+                ID(smovf);
+
+              }
+            break;
+          case 0x93:
+              {
+                /** 0111 1111 1001 0011                satr */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1001 0011            satr */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("satr");
+#line 909 "rx-decode.opc"
+                ID(satr);
+
+              /*----------------------------------------------------------------------*/
+              /* FLOAT                                                         */
+
+              }
+            break;
+          case 0x94:
+              {
+                /** 0111 1111 1001 0100                rtfi */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1001 0100            rtfi */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("rtfi");
+#line 1044 "rx-decode.opc"
+                ID(rtfi);
+
+              }
+            break;
+          case 0x95:
+              {
+                /** 0111 1111 1001 0101                rte */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1001 0101            rte */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("rte");
+#line 1047 "rx-decode.opc"
+                ID(rte);
+
+              }
+            break;
+          case 0x96:
+              {
+                /** 0111 1111 1001 0110                wait */
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1001 0110            wait */",
+                           op[0], op[1]);
+                  }
+                SYNTAX("wait");
+#line 1059 "rx-decode.opc"
+                ID(wait);
+
+              /*----------------------------------------------------------------------*/
+              /* SCcnd                                                         */
+
+              }
+            break;
+          case 0xa0:
+          case 0xa1:
+          case 0xa2:
+          case 0xa3:
+          case 0xa4:
+          case 0xa5:
+          case 0xa6:
+          case 0xa7:
+          case 0xa8:
+          case 0xa9:
+          case 0xaa:
+          case 0xab:
+          case 0xac:
+          case 0xad:
+          case 0xae:
+          case 0xaf:
+              {
+                /** 0111 1111 1010 rdst                        setpsw  %0 */
+#line 1020 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1010 rdst                    setpsw  %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("setpsw %0");
+#line 1020 "rx-decode.opc"
+                ID(setpsw); DF(rdst);
+
+              }
+            break;
+          case 0xb0:
+          case 0xb1:
+          case 0xb2:
+          case 0xb3:
+          case 0xb4:
+          case 0xb5:
+          case 0xb6:
+          case 0xb7:
+          case 0xb8:
+          case 0xb9:
+          case 0xba:
+          case 0xbb:
+          case 0xbc:
+          case 0xbd:
+          case 0xbe:
+          case 0xbf:
+              {
+                /** 0111 1111 1011 rdst                        clrpsw  %0 */
+#line 1017 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 0111 1111 1011 rdst                    clrpsw  %0 */",
+                           op[0], op[1]);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("clrpsw %0");
+#line 1017 "rx-decode.opc"
+                ID(clrpsw); DF(rdst);
+
+              }
+            break;
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0x80:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            op_semantics_52:
+              {
+                /** 10sz 0dsp a dst b src      mov%s   %1, %0 */
+#line 357 "rx-decode.opc"
+                int sz AU = (op[0] >> 4) & 0x03;
+#line 357 "rx-decode.opc"
+                int dsp AU = op[0] & 0x07;
+#line 357 "rx-decode.opc"
+                int a AU = (op[1] >> 7) & 0x01;
+#line 357 "rx-decode.opc"
+                int dst AU = (op[1] >> 4) & 0x07;
+#line 357 "rx-decode.opc"
+                int b AU = (op[1] >> 3) & 0x01;
+#line 357 "rx-decode.opc"
+                int src AU = op[1] & 0x07;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 10sz 0dsp a dst b src  mov%s   %1, %0 */",
+                           op[0], op[1]);
+                    printf ("  sz = 0x%x,", sz);
+                    printf ("  dsp = 0x%x,", dsp);
+                    printf ("  a = 0x%x,", a);
+                    printf ("  dst = 0x%x,", dst);
+                    printf ("  b = 0x%x,", b);
+                    printf ("  src = 0x%x\n", src);
+                  }
+                SYNTAX("mov%s  %1, %0");
+#line 357 "rx-decode.opc"
+                ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
+
+              }
+            break;
+        }
+      break;
+    case 0x81:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x82:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x83:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x84:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x85:
+        GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_36;
+            goto op_semantics_52;
             break;
         }
       break;
-    case 0x7a:
+    case 0x86:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_37:
-              {
-                /** 0111 101b ittt rdst                        bclr    #%1, %0 */
-#line 955 "rx-decode.opc"
-                int b AU = op[0] & 0x01;
-#line 955 "rx-decode.opc"
-                int ittt AU = (op[1] >> 4) & 0x0f;
-#line 955 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 101b ittt rdst                    bclr    #%1, %0 */",
-                           op[0], op[1]);
-                    printf ("  b = 0x%x,", b);
-                    printf ("  ittt = 0x%x,", ittt);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("bclr   #%1, %0");
-#line 955 "rx-decode.opc"
-                ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
-
-
-              }
+            goto op_semantics_52;
             break;
         }
       break;
-    case 0x7b:
+    case 0x87:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_37;
+            goto op_semantics_52;
             break;
         }
       break;
-    case 0x7c:
+    case 0x88:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_38:
+            op_semantics_53:
               {
-                /** 0111 110b ittt rdst                        btst    #%2, %1 */
-#line 967 "rx-decode.opc"
-                int b AU = op[0] & 0x01;
-#line 967 "rx-decode.opc"
-                int ittt AU = (op[1] >> 4) & 0x0f;
-#line 967 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
+                /** 10sz 1dsp a src b dst      mov%s   %1, %0 */
+#line 354 "rx-decode.opc"
+                int sz AU = (op[0] >> 4) & 0x03;
+#line 354 "rx-decode.opc"
+                int dsp AU = op[0] & 0x07;
+#line 354 "rx-decode.opc"
+                int a AU = (op[1] >> 7) & 0x01;
+#line 354 "rx-decode.opc"
+                int src AU = (op[1] >> 4) & 0x07;
+#line 354 "rx-decode.opc"
+                int b AU = (op[1] >> 3) & 0x01;
+#line 354 "rx-decode.opc"
+                int dst AU = op[1] & 0x07;
                 if (trace)
                   {
                     printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 110b ittt rdst                    btst    #%2, %1 */",
+                           "/** 10sz 1dsp a src b dst  mov%s   %1, %0 */",
                            op[0], op[1]);
+                    printf ("  sz = 0x%x,", sz);
+                    printf ("  dsp = 0x%x,", dsp);
+                    printf ("  a = 0x%x,", a);
+                    printf ("  src = 0x%x,", src);
                     printf ("  b = 0x%x,", b);
-                    printf ("  ittt = 0x%x,", ittt);
-                    printf ("  rdst = 0x%x\n", rdst);
+                    printf ("  dst = 0x%x\n", dst);
                   }
-                SYNTAX("btst   #%2, %1");
-#line 967 "rx-decode.opc"
-                ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
-
+                SYNTAX("mov%s  %1, %0");
+#line 354 "rx-decode.opc"
+                ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
 
               }
             break;
         }
       break;
-    case 0x7d:
+    case 0x89:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_53;
             break;
         }
       break;
-    case 0x7e:
+    case 0x8a:
         GETBYTE ();
-        switch (op[1] & 0xf0)
+        switch (op[1] & 0x00)
         {
           case 0x00:
-              {
-                /** 0111 1110 0000 rdst                        not     %0 */
-#line 458 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 0000 rdst                    not     %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("not    %0");
-#line 458 "rx-decode.opc"
-                ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
-
-              }
+            goto op_semantics_53;
             break;
-          case 0x10:
-              {
-                /** 0111 1110 0001 rdst                        neg     %0 */
-#line 479 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 0001 rdst                    neg     %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("neg    %0");
-#line 479 "rx-decode.opc"
-                ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
-
-              }
+        }
+      break;
+    case 0x8b:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x20:
-              {
-                /** 0111 1110 0010 rdst                        abs     %0 */
-#line 561 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 0010 rdst                    abs     %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("abs    %0");
-#line 561 "rx-decode.opc"
-                ID(abs); DR(rdst); SR(rdst); F_OSZ_;
-
-              }
+        }
+      break;
+    case 0x8c:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x30:
-              {
-                /** 0111 1110 0011 rdst                sat     %0 */
-#line 881 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 0011 rdst            sat     %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("sat    %0");
-#line 881 "rx-decode.opc"
-                ID(sat); DR (rdst);
-
-              }
+        }
+      break;
+    case 0x8d:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x40:
-              {
-                /** 0111 1110 0100 rdst                        rorc    %0 */
-#line 741 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 0100 rdst                    rorc    %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("rorc   %0");
-#line 741 "rx-decode.opc"
-                ID(rorc); DR(rdst); F__SZC;
-
-              }
+        }
+      break;
+    case 0x8e:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x50:
-              {
-                /** 0111 1110 0101 rdst                        rolc    %0 */
-#line 738 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 0101 rdst                    rolc    %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("rolc   %0");
-#line 738 "rx-decode.opc"
-                ID(rolc); DR(rdst); F__SZC;
-
-              }
+        }
+      break;
+    case 0x8f:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x80:
-          case 0x90:
-          case 0xa0:
-              {
-                /** 0111 1110 10sz rsrc                push%s  %1 */
-#line 374 "rx-decode.opc"
-                int sz AU = (op[1] >> 4) & 0x03;
-#line 374 "rx-decode.opc"
-                int rsrc AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 10sz rsrc            push%s  %1 */",
-                           op[0], op[1]);
-                    printf ("  sz = 0x%x,", sz);
-                    printf ("  rsrc = 0x%x\n", rsrc);
-                  }
-                SYNTAX("push%s %1");
-#line 374 "rx-decode.opc"
-                ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
-
-              }
+        }
+      break;
+    case 0x90:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x91:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x92:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x93:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x94:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
+            break;
+        }
+      break;
+    case 0x95:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0xb0:
-              {
-                /** 0111 1110 1011 rdst                pop     %0 */
-#line 371 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 1011 rdst            pop     %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("pop    %0");
-#line 371 "rx-decode.opc"
-                ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
-
-              }
+        }
+      break;
+    case 0x96:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0xc0:
-          case 0xd0:
-              {
-                /** 0111 1110 110 crsrc                        pushc   %1 */
-#line 1004 "rx-decode.opc"
-                int crsrc AU = op[1] & 0x1f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 110 crsrc                    pushc   %1 */",
-                           op[0], op[1]);
-                    printf ("  crsrc = 0x%x\n", crsrc);
-                  }
-                SYNTAX("pushc  %1");
-#line 1004 "rx-decode.opc"
-                ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
-
-              }
+        }
+      break;
+    case 0x97:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0xe0:
-          case 0xf0:
-              {
-                /** 0111 1110 111 crdst                        popc    %0 */
-#line 1001 "rx-decode.opc"
-                int crdst AU = op[1] & 0x1f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1110 111 crdst                    popc    %0 */",
-                           op[0], op[1]);
-                    printf ("  crdst = 0x%x\n", crdst);
-                  }
-                SYNTAX("popc   %0");
-#line 1001 "rx-decode.opc"
-                ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
-
-              }
+        }
+      break;
+    case 0x98:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          default: UNSUPPORTED(); break;
         }
       break;
-    case 0x7f:
+    case 0x99:
         GETBYTE ();
-        switch (op[1] & 0xff)
+        switch (op[1] & 0x00)
         {
           case 0x00:
-          case 0x01:
-          case 0x02:
-          case 0x03:
-          case 0x04:
-          case 0x05:
-          case 0x06:
-          case 0x07:
-          case 0x08:
-          case 0x09:
-          case 0x0a:
-          case 0x0b:
-          case 0x0c:
-          case 0x0d:
-          case 0x0e:
-          case 0x0f:
-              {
-                /** 0111 1111 0000 rsrc                jmp     %0 */
-#line 791 "rx-decode.opc"
-                int rsrc AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 0000 rsrc            jmp     %0 */",
-                           op[0], op[1]);
-                    printf ("  rsrc = 0x%x\n", rsrc);
-                  }
-                SYNTAX("jmp    %0");
-#line 791 "rx-decode.opc"
-                ID(branch); DR(rsrc);
-
-              }
+            goto op_semantics_53;
             break;
-          case 0x10:
-          case 0x11:
-          case 0x12:
-          case 0x13:
-          case 0x14:
-          case 0x15:
-          case 0x16:
-          case 0x17:
-          case 0x18:
-          case 0x19:
-          case 0x1a:
-          case 0x1b:
-          case 0x1c:
-          case 0x1d:
-          case 0x1e:
-          case 0x1f:
-              {
-                /** 0111 1111 0001 rsrc                jsr     %0 */
-#line 794 "rx-decode.opc"
-                int rsrc AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 0001 rsrc            jsr     %0 */",
-                           op[0], op[1]);
-                    printf ("  rsrc = 0x%x\n", rsrc);
-                  }
-                SYNTAX("jsr    %0");
-#line 794 "rx-decode.opc"
-                ID(jsr); DR(rsrc);
-
-              }
+        }
+      break;
+    case 0x9a:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x40:
-          case 0x41:
-          case 0x42:
-          case 0x43:
-          case 0x44:
-          case 0x45:
-          case 0x46:
-          case 0x47:
-          case 0x48:
-          case 0x49:
-          case 0x4a:
-          case 0x4b:
-          case 0x4c:
-          case 0x4d:
-          case 0x4e:
-          case 0x4f:
-              {
-                /** 0111 1111 0100 rsrc                bra.l   %0 */
-#line 787 "rx-decode.opc"
-                int rsrc AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 0100 rsrc            bra.l   %0 */",
-                           op[0], op[1]);
-                    printf ("  rsrc = 0x%x\n", rsrc);
-                  }
-                SYNTAX("bra.l  %0");
-#line 787 "rx-decode.opc"
-                ID(branchrel); DR(rsrc);
-
-
-              }
+        }
+      break;
+    case 0x9b:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x50:
-          case 0x51:
-          case 0x52:
-          case 0x53:
-          case 0x54:
-          case 0x55:
-          case 0x56:
-          case 0x57:
-          case 0x58:
-          case 0x59:
-          case 0x5a:
-          case 0x5b:
-          case 0x5c:
-          case 0x5d:
-          case 0x5e:
-          case 0x5f:
-              {
-                /** 0111 1111 0101 rsrc                bsr.l   %0 */
-#line 803 "rx-decode.opc"
-                int rsrc AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 0101 rsrc            bsr.l   %0 */",
-                           op[0], op[1]);
-                    printf ("  rsrc = 0x%x\n", rsrc);
-                  }
-                SYNTAX("bsr.l  %0");
-#line 803 "rx-decode.opc"
-                ID(jsrrel); DR(rsrc);
-
-              }
+        }
+      break;
+    case 0x9c:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x80:
-          case 0x81:
-          case 0x82:
-              {
-                /** 0111 1111 1000 00sz                suntil%s */
-#line 827 "rx-decode.opc"
-                int sz AU = op[1] & 0x03;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 00sz            suntil%s */",
-                           op[0], op[1]);
-                    printf ("  sz = 0x%x\n", sz);
-                  }
-                SYNTAX("suntil%s");
-#line 827 "rx-decode.opc"
-                ID(suntil); BWL(sz); F___ZC;
-
-              }
+        }
+      break;
+    case 0x9d:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
+            break;
+        }
+      break;
+    case 0x9e:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
+            break;
+        }
+      break;
+    case 0x9f:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x83:
-              {
-                /** 0111 1111 1000 0011                scmpu */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 0011            scmpu */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("scmpu");
-#line 818 "rx-decode.opc"
-                ID(scmpu); F___ZC;
-
-              }
+        }
+      break;
+    case 0xa0:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x84:
-          case 0x85:
-          case 0x86:
-              {
-                /** 0111 1111 1000 01sz                swhile%s */
-#line 830 "rx-decode.opc"
-                int sz AU = op[1] & 0x03;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 01sz            swhile%s */",
-                           op[0], op[1]);
-                    printf ("  sz = 0x%x\n", sz);
-                  }
-                SYNTAX("swhile%s");
-#line 830 "rx-decode.opc"
-                ID(swhile); BWL(sz); F___ZC;
-
-              }
+        }
+      break;
+    case 0xa1:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x87:
-              {
-                /** 0111 1111 1000 0111                smovu */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 0111            smovu */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("smovu");
-#line 821 "rx-decode.opc"
-                ID(smovu);
-
-              }
+        }
+      break;
+    case 0xa2:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x88:
-          case 0x89:
-          case 0x8a:
-              {
-                /** 0111 1111 1000 10sz                sstr%s */
-#line 836 "rx-decode.opc"
-                int sz AU = op[1] & 0x03;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 10sz            sstr%s */",
-                           op[0], op[1]);
-                    printf ("  sz = 0x%x\n", sz);
-                  }
-                SYNTAX("sstr%s");
-#line 836 "rx-decode.opc"
-                ID(sstr); BWL(sz);
-
-              /*----------------------------------------------------------------------*/
-              /* RMPA                                                                  */
-
-              }
+        }
+      break;
+    case 0xa3:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x8b:
-              {
-                /** 0111 1111 1000 1011                smovb */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 1011            smovb */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("smovb");
-#line 824 "rx-decode.opc"
-                ID(smovb);
-
-              }
+        }
+      break;
+    case 0xa4:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x8c:
-          case 0x8d:
-          case 0x8e:
-              {
-                /** 0111 1111 1000 11sz                rmpa%s */
-#line 842 "rx-decode.opc"
-                int sz AU = op[1] & 0x03;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 11sz            rmpa%s */",
-                           op[0], op[1]);
-                    printf ("  sz = 0x%x\n", sz);
-                  }
-                SYNTAX("rmpa%s");
-#line 842 "rx-decode.opc"
-                ID(rmpa); BWL(sz); F_OS__;
-
-              /*----------------------------------------------------------------------*/
-              /* HI/LO stuff                                                           */
-
-              }
+        }
+      break;
+    case 0xa5:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x8f:
-              {
-                /** 0111 1111 1000 1111                smovf */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1000 1111            smovf */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("smovf");
-#line 833 "rx-decode.opc"
-                ID(smovf);
-
-              }
+        }
+      break;
+    case 0xa6:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x93:
-              {
-                /** 0111 1111 1001 0011                satr */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1001 0011            satr */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("satr");
-#line 884 "rx-decode.opc"
-                ID(satr);
-
-              /*----------------------------------------------------------------------*/
-              /* FLOAT                                                         */
-
-              }
+        }
+      break;
+    case 0xa7:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_52;
             break;
-          case 0x94:
-              {
-                /** 0111 1111 1001 0100                rtfi */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1001 0100            rtfi */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("rtfi");
-#line 1019 "rx-decode.opc"
-                ID(rtfi);
-
-              }
+        }
+      break;
+    case 0xa8:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x95:
-              {
-                /** 0111 1111 1001 0101                rte */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1001 0101            rte */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("rte");
-#line 1022 "rx-decode.opc"
-                ID(rte);
-
-              }
+        }
+      break;
+    case 0xa9:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0x96:
-              {
-                /** 0111 1111 1001 0110                wait */
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1001 0110            wait */",
-                           op[0], op[1]);
-                  }
-                SYNTAX("wait");
-#line 1034 "rx-decode.opc"
-                ID(wait);
-
-              /*----------------------------------------------------------------------*/
-              /* SCcnd                                                         */
-
-              }
+        }
+      break;
+    case 0xaa:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
+            break;
+        }
+      break;
+    case 0xab:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
+            break;
+        }
+      break;
+    case 0xac:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0xa0:
-          case 0xa1:
-          case 0xa2:
-          case 0xa3:
-          case 0xa4:
-          case 0xa5:
-          case 0xa6:
-          case 0xa7:
-          case 0xa8:
-          case 0xa9:
-          case 0xaa:
-          case 0xab:
-          case 0xac:
-          case 0xad:
-          case 0xae:
-          case 0xaf:
-              {
-                /** 0111 1111 1010 rdst                        setpsw  %0 */
-#line 995 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1010 rdst                    setpsw  %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("setpsw %0");
-#line 995 "rx-decode.opc"
-                ID(setpsw); DF(rdst);
-
-              }
+        }
+      break;
+    case 0xad:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          case 0xb0:
-          case 0xb1:
-          case 0xb2:
-          case 0xb3:
-          case 0xb4:
-          case 0xb5:
-          case 0xb6:
-          case 0xb7:
-          case 0xb8:
-          case 0xb9:
-          case 0xba:
-          case 0xbb:
-          case 0xbc:
-          case 0xbd:
-          case 0xbe:
-          case 0xbf:
-              {
-                /** 0111 1111 1011 rdst                        clrpsw  %0 */
-#line 992 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 0111 1111 1011 rdst                    clrpsw  %0 */",
-                           op[0], op[1]);
-                    printf ("  rdst = 0x%x\n", rdst);
-                  }
-                SYNTAX("clrpsw %0");
-#line 992 "rx-decode.opc"
-                ID(clrpsw); DF(rdst);
-
-              }
+        }
+      break;
+    case 0xae:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
             break;
-          default: UNSUPPORTED(); break;
         }
       break;
-    case 0x80:
+    case 0xaf:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_53;
+            break;
+        }
+      break;
+    case 0xb0:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_39:
+            op_semantics_54:
               {
-                /** 10sz 0dsp a dst b src      mov%s   %1, %0 */
-#line 332 "rx-decode.opc"
-                int sz AU = (op[0] >> 4) & 0x03;
-#line 332 "rx-decode.opc"
+                /** 1011 w dsp a src b dst     movu%s  %1, %0 */
+#line 377 "rx-decode.opc"
+                int w AU = (op[0] >> 3) & 0x01;
+#line 377 "rx-decode.opc"
                 int dsp AU = op[0] & 0x07;
-#line 332 "rx-decode.opc"
+#line 377 "rx-decode.opc"
                 int a AU = (op[1] >> 7) & 0x01;
-#line 332 "rx-decode.opc"
-                int dst AU = (op[1] >> 4) & 0x07;
-#line 332 "rx-decode.opc"
+#line 377 "rx-decode.opc"
+                int src AU = (op[1] >> 4) & 0x07;
+#line 377 "rx-decode.opc"
                 int b AU = (op[1] >> 3) & 0x01;
-#line 332 "rx-decode.opc"
-                int src AU = op[1] & 0x07;
+#line 377 "rx-decode.opc"
+                int dst AU = op[1] & 0x07;
                 if (trace)
                   {
                     printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 10sz 0dsp a dst b src  mov%s   %1, %0 */",
+                           "/** 1011 w dsp a src b dst movu%s  %1, %0 */",
                            op[0], op[1]);
-                    printf ("  sz = 0x%x,", sz);
+                    printf ("  w = 0x%x,", w);
                     printf ("  dsp = 0x%x,", dsp);
                     printf ("  a = 0x%x,", a);
-                    printf ("  dst = 0x%x,", dst);
+                    printf ("  src = 0x%x,", src);
                     printf ("  b = 0x%x,", b);
-                    printf ("  src = 0x%x\n", src);
+                    printf ("  dst = 0x%x\n", dst);
                   }
-                SYNTAX("mov%s  %1, %0");
-#line 332 "rx-decode.opc"
-                ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
+                SYNTAX("movu%s %1, %0");
+#line 377 "rx-decode.opc"
+                ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
 
               }
             break;
         }
       break;
-    case 0x81:
+    case 0xb1:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x82:
+    case 0xb2:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x83:
+    case 0xb3:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x84:
+    case 0xb4:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x85:
+    case 0xb5:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x86:
+    case 0xb6:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x87:
+    case 0xb7:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_54;
             break;
         }
       break;
-    case 0x88:
+    case 0xb8:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xb9:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xba:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xbb:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xbc:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xbd:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xbe:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_40:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xbf:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            goto op_semantics_54;
+            break;
+        }
+      break;
+    case 0xc0:
+        GETBYTE ();
+        switch (op[1] & 0x00)
+        {
+          case 0x00:
+            op_semantics_55:
               {
-                /** 10sz 1dsp a src b dst      mov%s   %1, %0 */
-#line 329 "rx-decode.opc"
+                /** 11sz sd ss rsrc rdst       mov%s   %1, %0 */
+#line 335 "rx-decode.opc"
                 int sz AU = (op[0] >> 4) & 0x03;
-#line 329 "rx-decode.opc"
-                int dsp AU = op[0] & 0x07;
-#line 329 "rx-decode.opc"
-                int a AU = (op[1] >> 7) & 0x01;
-#line 329 "rx-decode.opc"
-                int src AU = (op[1] >> 4) & 0x07;
-#line 329 "rx-decode.opc"
-                int b AU = (op[1] >> 3) & 0x01;
-#line 329 "rx-decode.opc"
-                int dst AU = op[1] & 0x07;
+#line 335 "rx-decode.opc"
+                int sd AU = (op[0] >> 2) & 0x03;
+#line 335 "rx-decode.opc"
+                int ss AU = op[0] & 0x03;
+#line 335 "rx-decode.opc"
+                int rsrc AU = (op[1] >> 4) & 0x0f;
+#line 335 "rx-decode.opc"
+                int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
                     printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 10sz 1dsp a src b dst  mov%s   %1, %0 */",
+                           "/** 11sz sd ss rsrc rdst   mov%s   %1, %0 */",
                            op[0], op[1]);
                     printf ("  sz = 0x%x,", sz);
-                    printf ("  dsp = 0x%x,", dsp);
-                    printf ("  a = 0x%x,", a);
-                    printf ("  src = 0x%x,", src);
-                    printf ("  b = 0x%x,", b);
-                    printf ("  dst = 0x%x\n", dst);
+                    printf ("  sd = 0x%x,", sd);
+                    printf ("  ss = 0x%x,", ss);
+                    printf ("  rsrc = 0x%x,", rsrc);
+                    printf ("  rdst = 0x%x\n", rdst);
+                  }
+                SYNTAX("mov%s  %1, %0");
+#line 335 "rx-decode.opc"
+                if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
+                  {
+                    ID(nop2);
+                    SYNTAX ("nop\t; mov.l\tr0, r0");
+                  }
+                else
+                  {
+                    ID(mov); sBWL(sz); F_____;
+                    if ((ss == 3) && (sd != 3))
+               {
+                 SD(ss, rdst, sz); DD(sd, rsrc, sz);
+               }
+                    else
+               {
+                 SD(ss, rsrc, sz); DD(sd, rdst, sz);
+               }
                   }
-                SYNTAX("mov%s  %1, %0");
-#line 329 "rx-decode.opc"
-                ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
 
               }
             break;
         }
       break;
-    case 0x89:
+    case 0xc1:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x8a:
+    case 0xc2:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x8b:
+    case 0xc3:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x8c:
+    case 0xc4:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x8d:
+    case 0xc5:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x8e:
+    case 0xc6:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x8f:
+    case 0xc7:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x90:
+    case 0xc8:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x91:
+    case 0xc9:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x92:
+    case 0xca:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x93:
+    case 0xcb:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x94:
+    case 0xcc:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x95:
+    case 0xcd:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x96:
+    case 0xce:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x97:
+    case 0xcf:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x98:
+    case 0xd0:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x99:
+    case 0xd1:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x9a:
+    case 0xd2:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x9b:
+    case 0xd3:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x9c:
+    case 0xd4:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x9d:
+    case 0xd5:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x9e:
+    case 0xd6:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0x9f:
+    case 0xd7:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa0:
+    case 0xd8:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa1:
+    case 0xd9:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa2:
+    case 0xda:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa3:
+    case 0xdb:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa4:
+    case 0xdc:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa5:
+    case 0xdd:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa6:
+    case 0xde:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa7:
+    case 0xdf:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa8:
+    case 0xe0:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xa9:
+    case 0xe1:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xaa:
+    case 0xe2:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xab:
+    case 0xe3:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xac:
+    case 0xe4:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xad:
+    case 0xe5:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xae:
+    case 0xe6:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xaf:
+    case 0xe7:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb0:
+    case 0xe8:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_41:
-              {
-                /** 1011 w dsp a src b dst     movu%s  %1, %0 */
-#line 352 "rx-decode.opc"
-                int w AU = (op[0] >> 3) & 0x01;
-#line 352 "rx-decode.opc"
-                int dsp AU = op[0] & 0x07;
-#line 352 "rx-decode.opc"
-                int a AU = (op[1] >> 7) & 0x01;
-#line 352 "rx-decode.opc"
-                int src AU = (op[1] >> 4) & 0x07;
-#line 352 "rx-decode.opc"
-                int b AU = (op[1] >> 3) & 0x01;
-#line 352 "rx-decode.opc"
-                int dst AU = op[1] & 0x07;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 1011 w dsp a src b dst movu%s  %1, %0 */",
-                           op[0], op[1]);
-                    printf ("  w = 0x%x,", w);
-                    printf ("  dsp = 0x%x,", dsp);
-                    printf ("  a = 0x%x,", a);
-                    printf ("  src = 0x%x,", src);
-                    printf ("  b = 0x%x,", b);
-                    printf ("  dst = 0x%x\n", dst);
-                  }
-                SYNTAX("movu%s %1, %0");
-#line 352 "rx-decode.opc"
-                ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
-
-              }
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb1:
+    case 0xe9:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb2:
+    case 0xea:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb3:
+    case 0xeb:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb4:
+    case 0xec:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb5:
+    case 0xed:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb6:
+    case 0xee:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb7:
+    case 0xef:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_55;
             break;
         }
       break;
-    case 0xb8:
+    case 0xf0:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_41;
+            op_semantics_56:
+              {
+                /** 1111 00sd rdst 0bit                        bset    #%1, %0%S0 */
+#line 960 "rx-decode.opc"
+                int sd AU = op[0] & 0x03;
+#line 960 "rx-decode.opc"
+                int rdst AU = (op[1] >> 4) & 0x0f;
+#line 960 "rx-decode.opc"
+                int bit AU = op[1] & 0x07;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 1111 00sd rdst 0bit                    bset    #%1, %0%S0 */",
+                           op[0], op[1]);
+                    printf ("  sd = 0x%x,", sd);
+                    printf ("  rdst = 0x%x,", rdst);
+                    printf ("  bit = 0x%x\n", bit);
+                  }
+                SYNTAX("bset   #%1, %0%S0");
+#line 960 "rx-decode.opc"
+                ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
+
+              }
+            break;
+          case 0x08:
+            op_semantics_57:
+              {
+                /** 1111 00sd rdst 1bit                        bclr    #%1, %0%S0 */
+#line 972 "rx-decode.opc"
+                int sd AU = op[0] & 0x03;
+#line 972 "rx-decode.opc"
+                int rdst AU = (op[1] >> 4) & 0x0f;
+#line 972 "rx-decode.opc"
+                int bit AU = op[1] & 0x07;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 1111 00sd rdst 1bit                    bclr    #%1, %0%S0 */",
+                           op[0], op[1]);
+                    printf ("  sd = 0x%x,", sd);
+                    printf ("  rdst = 0x%x,", rdst);
+                    printf ("  bit = 0x%x\n", bit);
+                  }
+                SYNTAX("bclr   #%1, %0%S0");
+#line 972 "rx-decode.opc"
+                ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
+
+              }
             break;
         }
       break;
-    case 0xb9:
+    case 0xf1:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_56;
+            break;
+          case 0x08:
+            goto op_semantics_57;
             break;
         }
       break;
-    case 0xba:
+    case 0xf2:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_56;
+            break;
+          case 0x08:
+            goto op_semantics_57;
             break;
         }
       break;
-    case 0xbb:
+    case 0xf3:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_56;
+            break;
+          case 0x08:
+            goto op_semantics_57;
             break;
         }
       break;
-    case 0xbc:
+    case 0xf4:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x0c)
         {
           case 0x00:
-            goto op_semantics_41;
+          case 0x04:
+            op_semantics_58:
+              {
+                /** 1111 01sd rdst 0bit                        btst    #%2, %1%S1 */
+#line 984 "rx-decode.opc"
+                int sd AU = op[0] & 0x03;
+#line 984 "rx-decode.opc"
+                int rdst AU = (op[1] >> 4) & 0x0f;
+#line 984 "rx-decode.opc"
+                int bit AU = op[1] & 0x07;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 1111 01sd rdst 0bit                    btst    #%2, %1%S1 */",
+                           op[0], op[1]);
+                    printf ("  sd = 0x%x,", sd);
+                    printf ("  rdst = 0x%x,", rdst);
+                    printf ("  bit = 0x%x\n", bit);
+                  }
+                SYNTAX("btst   #%2, %1%S1");
+#line 984 "rx-decode.opc"
+                ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
+
+              }
+            break;
+          case 0x08:
+            op_semantics_59:
+              {
+                /** 1111 01ss rsrc 10sz                push%s  %1 */
+#line 402 "rx-decode.opc"
+                int ss AU = op[0] & 0x03;
+#line 402 "rx-decode.opc"
+                int rsrc AU = (op[1] >> 4) & 0x0f;
+#line 402 "rx-decode.opc"
+                int sz AU = op[1] & 0x03;
+                if (trace)
+                  {
+                    printf ("\033[33m%s\033[0m  %02x %02x\n",
+                           "/** 1111 01ss rsrc 10sz            push%s  %1 */",
+                           op[0], op[1]);
+                    printf ("  ss = 0x%x,", ss);
+                    printf ("  rsrc = 0x%x,", rsrc);
+                    printf ("  sz = 0x%x\n", sz);
+                  }
+                SYNTAX("push%s %1");
+#line 402 "rx-decode.opc"
+                ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
+
+              /*----------------------------------------------------------------------*/
+              /* XCHG                                                                  */
+
+              }
             break;
+          default: UNSUPPORTED(); break;
         }
       break;
-    case 0xbd:
+    case 0xf5:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x0c)
         {
           case 0x00:
-            goto op_semantics_41;
+          case 0x04:
+            goto op_semantics_58;
+            break;
+          case 0x08:
+            goto op_semantics_59;
             break;
+          default: UNSUPPORTED(); break;
         }
       break;
-    case 0xbe:
+    case 0xf6:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x0c)
         {
           case 0x00:
-            goto op_semantics_41;
+          case 0x04:
+            goto op_semantics_58;
+            break;
+          case 0x08:
+            goto op_semantics_59;
             break;
+          default: UNSUPPORTED(); break;
         }
       break;
-    case 0xbf:
+    case 0xf7:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0x0c)
         {
           case 0x00:
-            goto op_semantics_41;
+          case 0x04:
+            goto op_semantics_58;
+            break;
+          case 0x08:
+            goto op_semantics_59;
             break;
+          default: UNSUPPORTED(); break;
         }
       break;
-    case 0xc0:
+    case 0xf8:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_42:
+            op_semantics_60:
               {
-                /** 11sz sd ss rsrc rdst       mov%s   %1, %0 */
-#line 310 "rx-decode.opc"
-                int sz AU = (op[0] >> 4) & 0x03;
-#line 310 "rx-decode.opc"
-                int sd AU = (op[0] >> 2) & 0x03;
-#line 310 "rx-decode.opc"
-                int ss AU = op[0] & 0x03;
-#line 310 "rx-decode.opc"
-                int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 310 "rx-decode.opc"
-                int rdst AU = op[1] & 0x0f;
+                /** 1111 10sd rdst im sz       mov%s   #%1, %0 */
+#line 313 "rx-decode.opc"
+                int sd AU = op[0] & 0x03;
+#line 313 "rx-decode.opc"
+                int rdst AU = (op[1] >> 4) & 0x0f;
+#line 313 "rx-decode.opc"
+                int im AU = (op[1] >> 2) & 0x03;
+#line 313 "rx-decode.opc"
+                int sz AU = op[1] & 0x03;
                 if (trace)
                   {
                     printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 11sz sd ss rsrc rdst   mov%s   %1, %0 */",
+                           "/** 1111 10sd rdst im sz   mov%s   #%1, %0 */",
                            op[0], op[1]);
-                    printf ("  sz = 0x%x,", sz);
                     printf ("  sd = 0x%x,", sd);
-                    printf ("  ss = 0x%x,", ss);
-                    printf ("  rsrc = 0x%x,", rsrc);
-                    printf ("  rdst = 0x%x\n", rdst);
+                    printf ("  rdst = 0x%x,", rdst);
+                    printf ("  im = 0x%x,", im);
+                    printf ("  sz = 0x%x\n", sz);
                   }
-                SYNTAX("mov%s  %1, %0");
-#line 310 "rx-decode.opc"
-                if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
+                SYNTAX("mov%s  #%1, %0");
+#line 313 "rx-decode.opc"
+                ID(mov); DD(sd, rdst, sz);
+                if ((im == 1 && sz == 0)
+                    || (im == 2 && sz == 1)
+                    || (im == 0 && sz == 2))
                   {
-                    ID(nop2);
-                    SYNTAX ("nop\t; mov.l\tr0, r0");
+                    BWL (sz);
+                    SC(IMM(im));
                   }
                 else
                   {
-                    ID(mov); sBWL(sz); F_____;
-                    if ((ss == 3) && (sd != 3))
-               {
-                 SD(ss, rdst, sz); DD(sd, rsrc, sz);
-               }
-                    else
-               {
-                 SD(ss, rsrc, sz); DD(sd, rdst, sz);
-               }
+                    sBWL (sz);
+                    SC(IMMex(im));
                   }
+                 F_____;
+
+              }
+            break;
+        }
+      break;
+    case 0xf9:
+        GETBYTE ();
+        switch (op[1] & 0xff)
+        {
+          case 0x00:
+          case 0x01:
+          case 0x02:
+          case 0x04:
+          case 0x05:
+          case 0x06:
+          case 0x08:
+          case 0x09:
+          case 0x0a:
+          case 0x0c:
+          case 0x0d:
+          case 0x0e:
+          case 0x10:
+          case 0x11:
+          case 0x12:
+          case 0x14:
+          case 0x15:
+          case 0x16:
+          case 0x18:
+          case 0x19:
+          case 0x1a:
+          case 0x1c:
+          case 0x1d:
+          case 0x1e:
+          case 0x20:
+          case 0x21:
+          case 0x22:
+          case 0x24:
+          case 0x25:
+          case 0x26:
+          case 0x28:
+          case 0x29:
+          case 0x2a:
+          case 0x2c:
+          case 0x2d:
+          case 0x2e:
+          case 0x30:
+          case 0x31:
+          case 0x32:
+          case 0x34:
+          case 0x35:
+          case 0x36:
+          case 0x38:
+          case 0x39:
+          case 0x3a:
+          case 0x3c:
+          case 0x3d:
+          case 0x3e:
+          case 0x40:
+          case 0x41:
+          case 0x42:
+          case 0x44:
+          case 0x45:
+          case 0x46:
+          case 0x48:
+          case 0x49:
+          case 0x4a:
+          case 0x4c:
+          case 0x4d:
+          case 0x4e:
+          case 0x50:
+          case 0x51:
+          case 0x52:
+          case 0x54:
+          case 0x55:
+          case 0x56:
+          case 0x58:
+          case 0x59:
+          case 0x5a:
+          case 0x5c:
+          case 0x5d:
+          case 0x5e:
+          case 0x60:
+          case 0x61:
+          case 0x62:
+          case 0x64:
+          case 0x65:
+          case 0x66:
+          case 0x68:
+          case 0x69:
+          case 0x6a:
+          case 0x6c:
+          case 0x6d:
+          case 0x6e:
+          case 0x70:
+          case 0x71:
+          case 0x72:
+          case 0x74:
+          case 0x75:
+          case 0x76:
+          case 0x78:
+          case 0x79:
+          case 0x7a:
+          case 0x7c:
+          case 0x7d:
+          case 0x7e:
+          case 0x80:
+          case 0x81:
+          case 0x82:
+          case 0x84:
+          case 0x85:
+          case 0x86:
+          case 0x88:
+          case 0x89:
+          case 0x8a:
+          case 0x8c:
+          case 0x8d:
+          case 0x8e:
+          case 0x90:
+          case 0x91:
+          case 0x92:
+          case 0x94:
+          case 0x95:
+          case 0x96:
+          case 0x98:
+          case 0x99:
+          case 0x9a:
+          case 0x9c:
+          case 0x9d:
+          case 0x9e:
+          case 0xa0:
+          case 0xa1:
+          case 0xa2:
+          case 0xa4:
+          case 0xa5:
+          case 0xa6:
+          case 0xa8:
+          case 0xa9:
+          case 0xaa:
+          case 0xac:
+          case 0xad:
+          case 0xae:
+          case 0xb0:
+          case 0xb1:
+          case 0xb2:
+          case 0xb4:
+          case 0xb5:
+          case 0xb6:
+          case 0xb8:
+          case 0xb9:
+          case 0xba:
+          case 0xbc:
+          case 0xbd:
+          case 0xbe:
+          case 0xc0:
+          case 0xc1:
+          case 0xc2:
+          case 0xc4:
+          case 0xc5:
+          case 0xc6:
+          case 0xc8:
+          case 0xc9:
+          case 0xca:
+          case 0xcc:
+          case 0xcd:
+          case 0xce:
+          case 0xd0:
+          case 0xd1:
+          case 0xd2:
+          case 0xd4:
+          case 0xd5:
+          case 0xd6:
+          case 0xd8:
+          case 0xd9:
+          case 0xda:
+          case 0xdc:
+          case 0xdd:
+          case 0xde:
+          case 0xe0:
+          case 0xe1:
+          case 0xe2:
+          case 0xe4:
+          case 0xe5:
+          case 0xe6:
+          case 0xe8:
+          case 0xe9:
+          case 0xea:
+          case 0xec:
+          case 0xed:
+          case 0xee:
+          case 0xf0:
+          case 0xf1:
+          case 0xf2:
+          case 0xf4:
+          case 0xf5:
+          case 0xf6:
+          case 0xf8:
+          case 0xf9:
+          case 0xfa:
+          case 0xfc:
+          case 0xfd:
+          case 0xfe:
+            goto op_semantics_60;
+            break;
+          case 0x03:
+              GETBYTE ();
+              switch (op[2] & 0x0f)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1001 0000 0011 rdst 0000        dmov.l  #%1, %0 */
+#line 1211 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1001 0000 0011 rdst 0000    dmov.l  #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("dmov.l   #%1, %0");
+#line 1211 "rx-decode.opc"
+                      ID(dmov); DDRL(rdst); SC(IMMex(0)); F_____;
+
+                    }
+                  break;
+                case 0x02:
+                case 0x03:
+                    {
+                      /** 1111 1001 0000 0011 rdst 001s        dmov%s  #%1, %0 */
+#line 1208 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1208 "rx-decode.opc"
+                      int s AU = op[2] & 0x01;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1001 0000 0011 rdst 001s    dmov%s  #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  s = 0x%x\n", s);
+                        }
+                      SYNTAX("dmov%s   #%1, %0");
+#line 1208 "rx-decode.opc"
+                      ID(dmov); DDRH(rdst); DL(s); SC(IMMex(0)); F_____;
 
+                    }
+                  break;
+                default: UNSUPPORTED(); break;
               }
             break;
+          default: UNSUPPORTED(); break;
         }
       break;
-    case 0xc1:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc2:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc3:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc4:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc5:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc6:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc7:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc8:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xc9:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xca:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xcb:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xcc:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xcd:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xce:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xcf:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xd0:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xd1:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xd2:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
-            break;
-        }
-      break;
-    case 0xd3:
+    case 0xfa:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_42;
+            goto op_semantics_60;
             break;
         }
       break;
-    case 0xd4:
+    case 0xfb:
         GETBYTE ();
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_42;
+            goto op_semantics_60;
             break;
         }
       break;
-    case 0xd5:
+    case 0xfc:
         GETBYTE ();
-        switch (op[1] & 0x00)
+        switch (op[1] & 0xff)
         {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x03:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1100 0000 0011 rsrc rdst        sbb     %1, %0 */
+#line 576 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 576 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0000 0011 rsrc rdst    sbb     %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("sbb      %1, %0");
+#line 576 "rx-decode.opc"
+                      ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
+
+                      /* FIXME: only supports .L */
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xd6:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x07:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1100 0000 0111 rsrc rdst        neg     %2, %0 */
+#line 507 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 507 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0000 0111 rsrc rdst    neg     %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("neg      %2, %0");
+#line 507 "rx-decode.opc"
+                      ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
+
+                    /*----------------------------------------------------------------------*/
+                    /* ADC                                                                     */
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xd7:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x0b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1100 0000 1011 rsrc rdst        adc     %1, %0 */
+#line 516 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 516 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0000 1011 rsrc rdst    adc     %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("adc      %1, %0");
+#line 516 "rx-decode.opc"
+                      ID(adc); SR(rsrc); DR(rdst); F_OSZC;
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xd8:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x0f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1100 0000 1111 rsrc rdst        abs     %1, %0 */
+#line 589 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 589 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0000 1111 rsrc rdst    abs     %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("abs      %1, %0");
+#line 589 "rx-decode.opc"
+                      ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
+
+                    /*----------------------------------------------------------------------*/
+                    /* MAX                                                                     */
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xd9:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x10:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_61:
+                    {
+                      /** 1111 1100 0001 00ss rsrc rdst        max     %1%S1, %0 */
+#line 608 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 608 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 608 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0001 00ss rsrc rdst    max     %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("max      %1%S1, %0");
+#line 608 "rx-decode.opc"
+                      if (ss == 3 && rsrc == 0 && rdst == 0)
+                        {
+                          ID(nop3);
+                          SYNTAX("nop\t; max\tr0, r0");
+                        }
+                      else
+                        {
+                          ID(max); SP(ss, rsrc); DR(rdst);
+                        }
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xda:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x11:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_61;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xdb:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x12:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_61;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xdc:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x13:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_61;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xdd:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x14:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_62:
+                    {
+                      /** 1111 1100 0001 01ss rsrc rdst        min     %1%S1, %0 */
+#line 628 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 628 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 628 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0001 01ss rsrc rdst    min     %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("min      %1%S1, %0");
+#line 628 "rx-decode.opc"
+                      ID(min); SP(ss, rsrc); DR(rdst);
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xde:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x15:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_62;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xdf:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x16:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_62;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe0:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x17:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_62;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe1:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x18:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_63:
+                    {
+                      /** 1111 1100 0001 10ss rsrc rdst        emul    %1%S1, %0 */
+#line 686 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 686 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 686 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0001 10ss rsrc rdst    emul    %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("emul     %1%S1, %0");
+#line 686 "rx-decode.opc"
+                      ID(emul); SP(ss, rsrc); DR(rdst);
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe2:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x19:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_63;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe3:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x1a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_63;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe4:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x1b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_63;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe5:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x1c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_64:
+                    {
+                      /** 1111 1100 0001 11ss rsrc rdst        emulu   %1%S1, %0 */
+#line 698 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 698 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 698 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0001 11ss rsrc rdst    emulu   %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("emulu    %1%S1, %0");
+#line 698 "rx-decode.opc"
+                      ID(emulu); SP(ss, rsrc); DR(rdst);
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe6:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x1d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_64;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe7:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x1e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_64;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe8:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x1f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_64;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xe9:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x20:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_65:
+                    {
+                      /** 1111 1100 0010 00ss rsrc rdst        div     %1%S1, %0 */
+#line 710 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 710 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 710 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0010 00ss rsrc rdst    div     %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("div      %1%S1, %0");
+#line 710 "rx-decode.opc"
+                      ID(div); SP(ss, rsrc); DR(rdst); F_O___;
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xea:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x21:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_65;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xeb:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x22:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_65;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xec:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x23:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_65;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xed:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x24:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_66:
+                    {
+                      /** 1111 1100 0010 01ss rsrc rdst        divu    %1%S1, %0 */
+#line 722 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 722 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 722 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0010 01ss rsrc rdst    divu    %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("divu     %1%S1, %0");
+#line 722 "rx-decode.opc"
+                      ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xee:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x25:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_66;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xef:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_42;
+          case 0x26:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_66;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xf0:
-        GETBYTE ();
-        switch (op[1] & 0x08)
-        {
-          case 0x00:
-            op_semantics_43:
+          case 0x27:
+              GETBYTE ();
+              switch (op[2] & 0x00)
               {
-                /** 1111 00sd rdst 0bit                        bset    #%1, %0%S0 */
-#line 935 "rx-decode.opc"
-                int sd AU = op[0] & 0x03;
-#line 935 "rx-decode.opc"
-                int rdst AU = (op[1] >> 4) & 0x0f;
-#line 935 "rx-decode.opc"
-                int bit AU = op[1] & 0x07;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 1111 00sd rdst 0bit                    bset    #%1, %0%S0 */",
-                           op[0], op[1]);
-                    printf ("  sd = 0x%x,", sd);
-                    printf ("  rdst = 0x%x,", rdst);
-                    printf ("  bit = 0x%x\n", bit);
-                  }
-                SYNTAX("bset   #%1, %0%S0");
-#line 935 "rx-decode.opc"
-                ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
-
+                case 0x00:
+                  goto op_semantics_66;
+                  break;
               }
             break;
-          case 0x08:
-            op_semantics_44:
+          case 0x30:
+              GETBYTE ();
+              switch (op[2] & 0x00)
               {
-                /** 1111 00sd rdst 1bit                        bclr    #%1, %0%S0 */
-#line 947 "rx-decode.opc"
-                int sd AU = op[0] & 0x03;
-#line 947 "rx-decode.opc"
-                int rdst AU = (op[1] >> 4) & 0x0f;
-#line 947 "rx-decode.opc"
-                int bit AU = op[1] & 0x07;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 1111 00sd rdst 1bit                    bclr    #%1, %0%S0 */",
-                           op[0], op[1]);
-                    printf ("  sd = 0x%x,", sd);
-                    printf ("  rdst = 0x%x,", rdst);
-                    printf ("  bit = 0x%x\n", bit);
-                  }
-                SYNTAX("bclr   #%1, %0%S0");
-#line 947 "rx-decode.opc"
-                ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
+                case 0x00:
+                  op_semantics_67:
+                    {
+                      /** 1111 1100 0011 00ss rsrc rdst        tst     %1%S1, %2 */
+#line 495 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 495 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 495 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0011 00ss rsrc rdst    tst     %1%S1, %2 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("tst      %1%S1, %2");
+#line 495 "rx-decode.opc"
+                      ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
 
+                    }
+                  break;
               }
             break;
-        }
-      break;
-    case 0xf1:
-        GETBYTE ();
-        switch (op[1] & 0x08)
-        {
-          case 0x00:
-            goto op_semantics_43;
+          case 0x31:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_67;
+                  break;
+              }
             break;
-          case 0x08:
-            goto op_semantics_44;
+          case 0x32:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_67;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xf2:
-        GETBYTE ();
-        switch (op[1] & 0x08)
-        {
-          case 0x00:
-            goto op_semantics_43;
+          case 0x33:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_67;
+                  break;
+              }
             break;
-          case 0x08:
-            goto op_semantics_44;
+          case 0x34:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_68:
+                    {
+                      /** 1111 1100 0011 01ss rsrc rdst        xor     %1%S1, %0 */
+#line 474 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 474 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 474 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0011 01ss rsrc rdst    xor     %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("xor      %1%S1, %0");
+#line 474 "rx-decode.opc"
+                      ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
+
+                    }
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xf3:
-        GETBYTE ();
-        switch (op[1] & 0x08)
-        {
-          case 0x00:
-            goto op_semantics_43;
+          case 0x35:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_68;
+                  break;
+              }
             break;
-          case 0x08:
-            goto op_semantics_44;
+          case 0x36:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_68;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xf4:
-        GETBYTE ();
-        switch (op[1] & 0x0c)
-        {
-          case 0x00:
-          case 0x04:
-            op_semantics_45:
+          case 0x37:
+              GETBYTE ();
+              switch (op[2] & 0x00)
               {
-                /** 1111 01sd rdst 0bit                        btst    #%2, %1%S1 */
-#line 959 "rx-decode.opc"
-                int sd AU = op[0] & 0x03;
-#line 959 "rx-decode.opc"
-                int rdst AU = (op[1] >> 4) & 0x0f;
-#line 959 "rx-decode.opc"
-                int bit AU = op[1] & 0x07;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 1111 01sd rdst 0bit                    btst    #%2, %1%S1 */",
-                           op[0], op[1]);
-                    printf ("  sd = 0x%x,", sd);
-                    printf ("  rdst = 0x%x,", rdst);
-                    printf ("  bit = 0x%x\n", bit);
-                  }
-                SYNTAX("btst   #%2, %1%S1");
-#line 959 "rx-decode.opc"
-                ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
-
+                case 0x00:
+                  goto op_semantics_68;
+                  break;
               }
             break;
-          case 0x08:
-            op_semantics_46:
+          case 0x3b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
               {
-                /** 1111 01ss rsrc 10sz                push%s  %1 */
-#line 377 "rx-decode.opc"
-                int ss AU = op[0] & 0x03;
-#line 377 "rx-decode.opc"
-                int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 377 "rx-decode.opc"
-                int sz AU = op[1] & 0x03;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 1111 01ss rsrc 10sz            push%s  %1 */",
-                           op[0], op[1]);
-                    printf ("  ss = 0x%x,", ss);
-                    printf ("  rsrc = 0x%x,", rsrc);
-                    printf ("  sz = 0x%x\n", sz);
-                  }
-                SYNTAX("push%s %1");
-#line 377 "rx-decode.opc"
-                ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
+                case 0x00:
+                    {
+                      /** 1111 1100 0011 1011 rsrc rdst        not     %1, %0 */
+#line 486 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 486 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0011 1011 rsrc rdst    not     %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("not      %1, %0");
+#line 486 "rx-decode.opc"
+                      ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
 
-              /*----------------------------------------------------------------------*/
-              /* XCHG                                                                  */
+                    /*----------------------------------------------------------------------*/
+                    /* TST                                                                     */
 
+                    }
+                  break;
               }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xf5:
-        GETBYTE ();
-        switch (op[1] & 0x0c)
-        {
-          case 0x00:
-          case 0x04:
-            goto op_semantics_45;
-            break;
-          case 0x08:
-            goto op_semantics_46;
-            break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xf6:
-        GETBYTE ();
-        switch (op[1] & 0x0c)
-        {
-          case 0x00:
-          case 0x04:
-            goto op_semantics_45;
+          case 0x40:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_69:
+                    {
+                      /** 1111 1100 0100 00ss rsrc rdst        xchg    %1%S1, %0 */
+#line 408 "rx-decode.opc"
+                      int ss AU = op[1] & 0x03;
+#line 408 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 408 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0100 00ss rsrc rdst    xchg    %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  ss = 0x%x,", ss);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("xchg     %1%S1, %0");
+#line 408 "rx-decode.opc"
+                      ID(xchg); DR(rdst); SP(ss, rsrc);
+
+                    }
+                  break;
+              }
             break;
-          case 0x08:
-            goto op_semantics_46;
+          case 0x41:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_69;
+                  break;
+              }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xf7:
-        GETBYTE ();
-        switch (op[1] & 0x0c)
-        {
-          case 0x00:
-          case 0x04:
-            goto op_semantics_45;
+          case 0x42:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_69;
+                  break;
+              }
             break;
-          case 0x08:
-            goto op_semantics_46;
+          case 0x43:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_69;
+                  break;
+              }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xf8:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            op_semantics_47:
+          case 0x44:
+              GETBYTE ();
+              switch (op[2] & 0x00)
               {
-                /** 1111 10sd rdst im sz       mov%s   #%1, %0 */
-#line 288 "rx-decode.opc"
-                int sd AU = op[0] & 0x03;
-#line 288 "rx-decode.opc"
-                int rdst AU = (op[1] >> 4) & 0x0f;
-#line 288 "rx-decode.opc"
-                int im AU = (op[1] >> 2) & 0x03;
-#line 288 "rx-decode.opc"
-                int sz AU = op[1] & 0x03;
-                if (trace)
-                  {
-                    printf ("\033[33m%s\033[0m  %02x %02x\n",
-                           "/** 1111 10sd rdst im sz   mov%s   #%1, %0 */",
-                           op[0], op[1]);
-                    printf ("  sd = 0x%x,", sd);
-                    printf ("  rdst = 0x%x,", rdst);
-                    printf ("  im = 0x%x,", im);
-                    printf ("  sz = 0x%x\n", sz);
-                  }
-                SYNTAX("mov%s  #%1, %0");
-#line 288 "rx-decode.opc"
-                ID(mov); DD(sd, rdst, sz);
-                if ((im == 1 && sz == 0)
-                    || (im == 2 && sz == 1)
-                    || (im == 0 && sz == 2))
-                  {
-                    BWL (sz);
-                    SC(IMM(im));
-                  }
-                else
-                  {
-                    sBWL (sz);
-                    SC(IMMex(im));
-                  }
-                 F_____;
+                case 0x00:
+                  op_semantics_70:
+                    {
+                      /** 1111 1100 0100 01sd rsrc rdst        itof    %1%S1, %0 */
+#line 951 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 951 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 951 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0100 01sd rsrc rdst    itof    %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("itof     %1%S1, %0");
+#line 951 "rx-decode.opc"
+                      ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
 
+                    }
+                  break;
               }
             break;
-        }
-      break;
-    case 0xf9:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_47;
+          case 0x45:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_70;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xfa:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_47;
+          case 0x46:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_70;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xfb:
-        GETBYTE ();
-        switch (op[1] & 0x00)
-        {
-          case 0x00:
-            goto op_semantics_47;
+          case 0x47:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_70;
+                  break;
+              }
             break;
-        }
-      break;
-    case 0xfc:
-        GETBYTE ();
-        switch (op[1] & 0xff)
-        {
-          case 0x03:
+          case 0x4b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
                     {
-                      /** 1111 1100 0000 0011 rsrc rdst        sbb     %1, %0 */
-#line 551 "rx-decode.opc"
+                      /** 1111 1100 0100 1011 rsrc rdst        stz     %1, %0 */
+#line 1077 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 551 "rx-decode.opc"
+#line 1077 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0000 0011 rsrc rdst    sbb     %1, %0 */",
+                                 "/** 1111 1100 0100 1011 rsrc rdst    stz     %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("sbb      %1, %0");
-#line 551 "rx-decode.opc"
-                      ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
+                      SYNTAX("stz      %1, %0");
+#line 1077 "rx-decode.opc"
+                      ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
 
-                      /* FIXME: only supports .L */
                     }
                   break;
               }
             break;
-          case 0x07:
+          case 0x4f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
                     {
-                      /** 1111 1100 0000 0111 rsrc rdst        neg     %2, %0 */
-#line 482 "rx-decode.opc"
+                      /** 1111 1100 0100 1111 rsrc rdst        stnz    %1, %0 */
+#line 1080 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 482 "rx-decode.opc"
+#line 1080 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0000 0111 rsrc rdst    neg     %2, %0 */",
+                                 "/** 1111 1100 0100 1111 rsrc rdst    stnz    %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("neg      %2, %0");
-#line 482 "rx-decode.opc"
-                      ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
-
-                    /*----------------------------------------------------------------------*/
-                    /* ADC                                                                     */
+                      SYNTAX("stnz     %1, %0");
+#line 1080 "rx-decode.opc"
+                      ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz);
 
                     }
                   break;
               }
             break;
-          case 0x0b:
+          case 0x54:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_71:
                     {
-                      /** 1111 1100 0000 1011 rsrc rdst        adc     %1, %0 */
-#line 491 "rx-decode.opc"
+                      /** 1111 1100 0101 01sd rsrc rdst        utof    %1%S1, %0 */
+#line 1137 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 1137 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 491 "rx-decode.opc"
+#line 1137 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0000 1011 rsrc rdst    adc     %1, %0 */",
+                                 "/** 1111 1100 0101 01sd rsrc rdst    utof    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("adc      %1, %0");
-#line 491 "rx-decode.opc"
-                      ID(adc); SR(rsrc); DR(rdst); F_OSZC;
+                      SYNTAX("utof     %1%S1, %0");
+#line 1137 "rx-decode.opc"
+                      ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x0f:
+          case 0x55:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_71;
+                  break;
+              }
+            break;
+          case 0x56:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_71;
+                  break;
+              }
+            break;
+          case 0x57:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_71;
+                  break;
+              }
+            break;
+          case 0x5a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
                     {
-                      /** 1111 1100 0000 1111 rsrc rdst        abs     %1, %0 */
-#line 564 "rx-decode.opc"
+                      /** 1111 1100 0101 1010 rsrc rdst        bfmovz  %bf */
+#line 1152 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 564 "rx-decode.opc"
+#line 1152 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0000 1111 rsrc rdst    abs     %1, %0 */",
+                                 "/** 1111 1100 0101 1010 rsrc rdst    bfmovz  %bf */",
                                  op[0], op[1], op[2]);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("abs      %1, %0");
-#line 564 "rx-decode.opc"
-                      ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
+                      SYNTAX("bfmovz   %bf");
+#line 1152 "rx-decode.opc"
+                      ID(bfmovz); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____;
 
-                    /*----------------------------------------------------------------------*/
-                    /* MAX                                                                     */
+                    }
+                  break;
+              }
+            break;
+          case 0x5e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1100 0101 1110 rsrc rdst        bfmov   %bf */
+#line 1149 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1149 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0101 1110 rsrc rdst    bfmov   %bf */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("bfmov    %bf");
+#line 1149 "rx-decode.opc"
+                      ID(bfmov); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x10:
+          case 0x60:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_48:
+                  op_semantics_72:
                     {
-                      /** 1111 1100 0001 00ss rsrc rdst        max     %1%S1, %0 */
-#line 583 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 583 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 583 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1100 0110 00sd rdst rsrc        bset    %1, %0%S0 */
+#line 963 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 963 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 963 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0001 00ss rsrc rdst    max     %1%S1, %0 */",
+                                 "/** 1111 1100 0110 00sd rdst rsrc    bset    %1, %0%S0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("max      %1%S1, %0");
-#line 583 "rx-decode.opc"
-                      if (ss == 3 && rsrc == 0 && rdst == 0)
-                        {
-                          ID(nop3);
-                          SYNTAX("nop\t; max\tr0, r0");
-                        }
-                      else
-                        {
-                          ID(max); SP(ss, rsrc); DR(rdst);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
                         }
+                      SYNTAX("bset     %1, %0%S0");
+#line 963 "rx-decode.opc"
+                      ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
+                      if (sd == 3) /* bset reg,reg */
+                        BWL(LSIZE);
 
                     }
                   break;
               }
             break;
-          case 0x11:
+          case 0x61:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_48;
+                  goto op_semantics_72;
                   break;
               }
             break;
-          case 0x12:
+          case 0x62:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_48;
+                  goto op_semantics_72;
                   break;
               }
             break;
-          case 0x13:
+          case 0x63:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_48;
+                  goto op_semantics_72;
                   break;
               }
             break;
-          case 0x14:
+          case 0x64:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_49:
+                  op_semantics_73:
                     {
-                      /** 1111 1100 0001 01ss rsrc rdst        min     %1%S1, %0 */
-#line 603 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 603 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 603 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1100 0110 01sd rdst rsrc        bclr    %1, %0%S0 */
+#line 975 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 975 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 975 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0001 01ss rsrc rdst    min     %1%S1, %0 */",
+                                 "/** 1111 1100 0110 01sd rdst rsrc    bclr    %1, %0%S0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
                         }
-                      SYNTAX("min      %1%S1, %0");
-#line 603 "rx-decode.opc"
-                      ID(min); SP(ss, rsrc); DR(rdst);
+                      SYNTAX("bclr     %1, %0%S0");
+#line 975 "rx-decode.opc"
+                      ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
+                      if (sd == 3) /* bset reg,reg */
+                        BWL(LSIZE);
 
                     }
                   break;
               }
             break;
-          case 0x15:
+          case 0x65:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_49;
+                  goto op_semantics_73;
                   break;
               }
             break;
-          case 0x16:
+          case 0x66:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_49;
+                  goto op_semantics_73;
                   break;
               }
             break;
-          case 0x17:
+          case 0x67:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_49;
+                  goto op_semantics_73;
                   break;
               }
             break;
-          case 0x18:
+          case 0x68:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_50:
+                  op_semantics_74:
                     {
-                      /** 1111 1100 0001 10ss rsrc rdst        emul    %1%S1, %0 */
-#line 661 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 661 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 661 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1100 0110 10sd rdst rsrc        btst    %2, %1%S1 */
+#line 987 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 987 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 987 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0001 10ss rsrc rdst    emul    %1%S1, %0 */",
+                                 "/** 1111 1100 0110 10sd rdst rsrc    btst    %2, %1%S1 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
                         }
-                      SYNTAX("emul     %1%S1, %0");
-#line 661 "rx-decode.opc"
-                      ID(emul); SP(ss, rsrc); DR(rdst);
+                      SYNTAX("btst     %2, %1%S1");
+#line 987 "rx-decode.opc"
+                      ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
+                      if (sd == 3) /* bset reg,reg */
+                        BWL(LSIZE);
 
                     }
                   break;
               }
             break;
-          case 0x19:
+          case 0x69:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_50;
+                  goto op_semantics_74;
                   break;
               }
             break;
-          case 0x1a:
+          case 0x6a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_50;
+                  goto op_semantics_74;
                   break;
               }
             break;
-          case 0x1b:
+          case 0x6b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_50;
+                  goto op_semantics_74;
                   break;
               }
             break;
-          case 0x1c:
+          case 0x6c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_51:
+                  op_semantics_75:
                     {
-                      /** 1111 1100 0001 11ss rsrc rdst        emulu   %1%S1, %0 */
-#line 673 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 673 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 673 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1100 0110 11sd rdst rsrc        bnot    %1, %0%S0 */
+#line 999 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 999 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 999 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0001 11ss rsrc rdst    emulu   %1%S1, %0 */",
+                                 "/** 1111 1100 0110 11sd rdst rsrc    bnot    %1, %0%S0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
                         }
-                      SYNTAX("emulu    %1%S1, %0");
-#line 673 "rx-decode.opc"
-                      ID(emulu); SP(ss, rsrc); DR(rdst);
+                      SYNTAX("bnot     %1, %0%S0");
+#line 999 "rx-decode.opc"
+                      ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
+                      if (sd == 3) /* bset reg,reg */
+                        BWL(LSIZE);
 
                     }
                   break;
               }
             break;
-          case 0x1d:
+          case 0x6d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_51;
+                  goto op_semantics_75;
                   break;
               }
             break;
-          case 0x1e:
+          case 0x6e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_51;
+                  goto op_semantics_75;
                   break;
               }
             break;
-          case 0x1f:
+          case 0x6f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_51;
+                  goto op_semantics_75;
                   break;
               }
             break;
-          case 0x20:
+          case 0x78:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
-                case 0x00:
-                  op_semantics_52:
+                case 0x08:
+                  op_semantics_76:
                     {
-                      /** 1111 1100 0010 00ss rsrc rdst        div     %1%S1, %0 */
-#line 685 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 685 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 685 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1100 0111 10sz rdst 1000        dmov.d  %1, %0 */
+#line 1185 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 1185 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0010 00ss rsrc rdst    div     %1%S1, %0 */",
+                                 "/** 1111 1100 0111 10sz rdst 1000    dmov.d  %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
-                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  sz = 0x%x,", sz);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("div      %1%S1, %0");
-#line 685 "rx-decode.opc"
-                      ID(div); SP(ss, rsrc); DR(rdst); F_O___;
+                      SYNTAX("dmov.d   %1, %0");
+#line 1185 "rx-decode.opc"
+                      int rsrc;
+                      rx_disp(0, sz, rdst, RX_Double, ld);
+                      rsrc = GETBYTE();
+                      if (rsrc & 0x0f)
+                        UNSUPPORTED();
+                      else {
+                        ID(dmov); SDR(rsrc >> 4); F_____;
+                      }
 
                     }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x21:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_52;
-                  break;
-              }
-            break;
-          case 0x22:
+          case 0x79:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
-                case 0x00:
-                  goto op_semantics_52;
+                case 0x08:
+                  goto op_semantics_76;
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x23:
+          case 0x7a:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
-                case 0x00:
-                  goto op_semantics_52;
+                case 0x08:
+                  goto op_semantics_76;
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x24:
+          case 0x80:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_53:
+                  op_semantics_77:
                     {
-                      /** 1111 1100 0010 01ss rsrc rdst        divu    %1%S1, %0 */
-#line 697 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 697 "rx-decode.opc"
+                      /** 1111 1100 1000 00sd rsrc rdst        fsub    %1%S1, %0 */
+#line 930 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 930 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 697 "rx-decode.opc"
+#line 930 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0010 01ss rsrc rdst    divu    %1%S1, %0 */",
+                                 "/** 1111 1100 1000 00sd rsrc rdst    fsub    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
+                          printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("divu     %1%S1, %0");
-#line 697 "rx-decode.opc"
-                      ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
+                      SYNTAX("fsub     %1%S1, %0");
+#line 930 "rx-decode.opc"
+                      ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x25:
+          case 0x81:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_53;
+                  goto op_semantics_77;
                   break;
               }
             break;
-          case 0x26:
+          case 0x82:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_53;
+                  goto op_semantics_77;
                   break;
               }
             break;
-          case 0x27:
+          case 0x83:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_53;
+                  goto op_semantics_77;
                   break;
               }
             break;
-          case 0x30:
+          case 0x84:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_54:
+                  op_semantics_78:
                     {
-                      /** 1111 1100 0011 00ss rsrc rdst        tst     %1%S1, %2 */
-#line 470 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 470 "rx-decode.opc"
+                      /** 1111 1100 1000 01sd rsrc rdst        fcmp    %1%S1, %0 */
+#line 924 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 924 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 470 "rx-decode.opc"
+#line 924 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0011 00ss rsrc rdst    tst     %1%S1, %2 */",
+                                 "/** 1111 1100 1000 01sd rsrc rdst    fcmp    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
+                          printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("tst      %1%S1, %2");
-#line 470 "rx-decode.opc"
-                      ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
+                      SYNTAX("fcmp     %1%S1, %0");
+#line 924 "rx-decode.opc"
+                      ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
 
                     }
                   break;
               }
             break;
-          case 0x31:
+          case 0x85:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_54;
+                  goto op_semantics_78;
                   break;
               }
             break;
-          case 0x32:
+          case 0x86:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_54;
+                  goto op_semantics_78;
                   break;
               }
             break;
-          case 0x33:
+          case 0x87:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_54;
+                  goto op_semantics_78;
                   break;
               }
             break;
-          case 0x34:
+          case 0x88:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_55:
+                  op_semantics_79:
                     {
-                      /** 1111 1100 0011 01ss rsrc rdst        xor     %1%S1, %0 */
-#line 449 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 449 "rx-decode.opc"
+                      /** 1111 1100 1000 10sd rsrc rdst        fadd    %1%S1, %0 */
+#line 918 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 918 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 449 "rx-decode.opc"
+#line 918 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0011 01ss rsrc rdst    xor     %1%S1, %0 */",
+                                 "/** 1111 1100 1000 10sd rsrc rdst    fadd    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
+                          printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("xor      %1%S1, %0");
-#line 449 "rx-decode.opc"
-                      ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
-
-                    }
-                  break;
-              }
-            break;
-          case 0x35:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_55;
+                      SYNTAX("fadd     %1%S1, %0");
+#line 918 "rx-decode.opc"
+                      ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+
+                    }
                   break;
               }
             break;
-          case 0x36:
+          case 0x89:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_55;
+                  goto op_semantics_79;
                   break;
               }
             break;
-          case 0x37:
+          case 0x8a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_55;
+                  goto op_semantics_79;
                   break;
               }
             break;
-          case 0x3b:
+          case 0x8b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                    {
-                      /** 1111 1100 0011 1011 rsrc rdst        not     %1, %0 */
-#line 461 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 461 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0011 1011 rsrc rdst    not     %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("not      %1, %0");
-#line 461 "rx-decode.opc"
-                      ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
-
-                    /*----------------------------------------------------------------------*/
-                    /* TST                                                                     */
-
-                    }
+                  goto op_semantics_79;
                   break;
               }
             break;
-          case 0x40:
+          case 0x8c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_56:
+                  op_semantics_80:
                     {
-                      /** 1111 1100 0100 00ss rsrc rdst        xchg    %1%S1, %0 */
-#line 383 "rx-decode.opc"
-                      int ss AU = op[1] & 0x03;
-#line 383 "rx-decode.opc"
+                      /** 1111 1100 1000 11sd rsrc rdst        fmul    %1%S1, %0 */
+#line 939 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 939 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 383 "rx-decode.opc"
+#line 939 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0100 00ss rsrc rdst    xchg    %1%S1, %0 */",
+                                 "/** 1111 1100 1000 11sd rsrc rdst    fmul    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  ss = 0x%x,", ss);
+                          printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("xchg     %1%S1, %0");
-#line 383 "rx-decode.opc"
-                      ID(xchg); DR(rdst); SP(ss, rsrc);
+                      SYNTAX("fmul     %1%S1, %0");
+#line 939 "rx-decode.opc"
+                      ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x41:
+          case 0x8d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_56;
+                  goto op_semantics_80;
                   break;
               }
             break;
-          case 0x42:
+          case 0x8e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_56;
+                  goto op_semantics_80;
                   break;
               }
             break;
-          case 0x43:
+          case 0x8f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_56;
+                  goto op_semantics_80;
                   break;
               }
             break;
-          case 0x44:
+          case 0x90:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_57:
+                  op_semantics_81:
                     {
-                      /** 1111 1100 0100 01sd rsrc rdst        itof    %1%S1, %0 */
-#line 926 "rx-decode.opc"
+                      /** 1111 1100 1001 00sd rsrc rdst        fdiv    %1%S1, %0 */
+#line 945 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 926 "rx-decode.opc"
+#line 945 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 926 "rx-decode.opc"
+#line 945 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0100 01sd rsrc rdst    itof    %1%S1, %0 */",
+                                 "/** 1111 1100 1001 00sd rsrc rdst    fdiv    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("itof     %1%S1, %0");
-#line 926 "rx-decode.opc"
-                      ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
+                      SYNTAX("fdiv     %1%S1, %0");
+#line 945 "rx-decode.opc"
+                      ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x45:
+          case 0x91:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_57;
+                  goto op_semantics_81;
                   break;
               }
             break;
-          case 0x46:
+          case 0x92:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_57;
+                  goto op_semantics_81;
                   break;
               }
             break;
-          case 0x47:
+          case 0x93:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_57;
+                  goto op_semantics_81;
                   break;
               }
             break;
-          case 0x4b:
+          case 0x94:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_82:
                     {
-                      /** 1111 1100 0100 1011 rsrc rdst        stz     %1, %0 */
-#line 1052 "rx-decode.opc"
+                      /** 1111 1100 1001 01sd rsrc rdst        ftoi    %1%S1, %0 */
+#line 933 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 933 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1052 "rx-decode.opc"
+#line 933 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0100 1011 rsrc rdst    stz     %1, %0 */",
+                                 "/** 1111 1100 1001 01sd rsrc rdst    ftoi    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("stz      %1, %0");
-#line 1052 "rx-decode.opc"
-                      ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
+                      SYNTAX("ftoi     %1%S1, %0");
+#line 933 "rx-decode.opc"
+                      ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x4f:
+          case 0x95:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                    {
-                      /** 1111 1100 0100 1111 rsrc rdst        stnz    %1, %0 */
-#line 1055 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1055 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0100 1111 rsrc rdst    stnz    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("stnz     %1, %0");
-#line 1055 "rx-decode.opc"
-                      ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
-
-                    }
+                  goto op_semantics_82;
                   break;
               }
             break;
-          case 0x54:
+          case 0x96:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_82;
+                  break;
+              }
+            break;
+          case 0x97:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_82;
+                  break;
+              }
+            break;
+          case 0x98:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_58:
+                  op_semantics_83:
                     {
-                      /** 1111 1100 0101 01sd rsrc rdst        utof    %1%S1, %0 */
-#line 1112 "rx-decode.opc"
+                      /** 1111 1100 1001 10sd rsrc rdst        round   %1%S1, %0 */
+#line 948 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 1112 "rx-decode.opc"
+#line 948 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1112 "rx-decode.opc"
+#line 948 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0101 01sd rsrc rdst    utof    %1%S1, %0 */",
+                                 "/** 1111 1100 1001 10sd rsrc rdst    round   %1%S1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sd = 0x%x,", sd);
                           printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("utof     %1%S1, %0");
-#line 1112 "rx-decode.opc"
-                      ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
+                      SYNTAX("round    %1%S1, %0");
+#line 948 "rx-decode.opc"
+                      ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x55:
+          case 0x99:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_58;
+                  goto op_semantics_83;
                   break;
               }
             break;
-          case 0x56:
+          case 0x9a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_58;
+                  goto op_semantics_83;
                   break;
               }
             break;
-          case 0x57:
+          case 0x9b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_58;
+                  goto op_semantics_83;
                   break;
               }
             break;
-          case 0x60:
+          case 0xa0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_59:
+                  op_semantics_84:
                     {
-                      /** 1111 1100 0110 00sd rdst rsrc        bset    %1, %0%S0 */
-#line 938 "rx-decode.opc"
+                      /** 1111 1100 1010 00sd rsrc rdst        fsqrt   %1%S1, %0 */
+#line 1131 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 938 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 938 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+#line 1131 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1131 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 00sd rdst rsrc    bset    %1, %0%S0 */",
+                                 "/** 1111 1100 1010 00sd rsrc rdst    fsqrt   %1%S1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("bset     %1, %0%S0");
-#line 938 "rx-decode.opc"
-                      ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
-                      if (sd == 3) /* bset reg,reg */
-                        BWL(LSIZE);
+                      SYNTAX("fsqrt    %1%S1, %0");
+#line 1131 "rx-decode.opc"
+                      ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x61:
+          case 0xa1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_59;
+                  goto op_semantics_84;
                   break;
               }
             break;
-          case 0x62:
+          case 0xa2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_59;
+                  goto op_semantics_84;
                   break;
               }
             break;
-          case 0x63:
+          case 0xa3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_59;
+                  goto op_semantics_84;
                   break;
               }
             break;
-          case 0x64:
+          case 0xa4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_60:
+                  op_semantics_85:
                     {
-                      /** 1111 1100 0110 01sd rdst rsrc        bclr    %1, %0%S0 */
-#line 950 "rx-decode.opc"
+                      /** 1111 1100 1010 01sd rsrc rdst        ftou    %1%S1, %0 */
+#line 1134 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 950 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 950 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+#line 1134 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1134 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 01sd rdst rsrc    bclr    %1, %0%S0 */",
+                                 "/** 1111 1100 1010 01sd rsrc rdst    ftou    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("bclr     %1, %0%S0");
-#line 950 "rx-decode.opc"
-                      ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
-                      if (sd == 3) /* bset reg,reg */
-                        BWL(LSIZE);
+                      SYNTAX("ftou     %1%S1, %0");
+#line 1134 "rx-decode.opc"
+                      ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x65:
+          case 0xa5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_60;
+                  goto op_semantics_85;
                   break;
               }
             break;
-          case 0x66:
+          case 0xa6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_60;
+                  goto op_semantics_85;
                   break;
               }
             break;
-          case 0x67:
+          case 0xa7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_60;
+                  goto op_semantics_85;
                   break;
               }
             break;
-          case 0x68:
+          case 0xc8:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
-                case 0x00:
-                  op_semantics_61:
+                case 0x08:
+                  op_semantics_86:
                     {
-                      /** 1111 1100 0110 10sd rdst rsrc        btst    %2, %1%S1 */
-#line 962 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 962 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 962 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+                      /** 1111 1100 1100 10sz rsrc 1000        dmov.d  %1, %0 */
+#line 1198 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 1198 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 10sd rdst rsrc    btst    %2, %1%S1 */",
+                                 "/** 1111 1100 1100 10sz rsrc 1000    dmov.d  %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  sz = 0x%x,", sz);
                           printf ("  rsrc = 0x%x\n", rsrc);
                         }
-                      SYNTAX("btst     %2, %1%S1");
-#line 962 "rx-decode.opc"
-                      ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
-                      if (sd == 3) /* bset reg,reg */
-                        BWL(LSIZE);
+                      SYNTAX("dmov.d   %1, %0");
+#line 1198 "rx-decode.opc"
+                      int rdst;
+                      rx_disp(1, sz, rsrc, RX_Double, ld);
+                      rdst = GETBYTE();
+                      if (rdst & 0x0f)
+                        UNSUPPORTED();
+                      else {
+                        ID(dmov); DDR(rdst >> 4); F_____;
+                      }
 
                     }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x69:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_61;
-                  break;
-              }
-            break;
-          case 0x6a:
+          case 0xc9:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
-                case 0x00:
-                  goto op_semantics_61;
+                case 0x08:
+                  goto op_semantics_86;
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x6b:
+          case 0xca:
               GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_61;
+              switch (op[2] & 0x0f)
+              {
+                case 0x08:
+                  goto op_semantics_86;
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x6c:
+          case 0xd0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_62:
+                  op_semantics_87:
                     {
-                      /** 1111 1100 0110 11sd rdst rsrc        bnot    %1, %0%S0 */
-#line 974 "rx-decode.opc"
+                      /** 1111 1100 1101 sz sd rdst cond       sc%1%s  %0 */
+#line 1065 "rx-decode.opc"
+                      int sz AU = (op[1] >> 2) & 0x03;
+#line 1065 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 974 "rx-decode.opc"
+#line 1065 "rx-decode.opc"
                       int rdst AU = (op[2] >> 4) & 0x0f;
-#line 974 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+#line 1065 "rx-decode.opc"
+                      int cond AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 11sd rdst rsrc    bnot    %1, %0%S0 */",
+                                 "/** 1111 1100 1101 sz sd rdst cond   sc%1%s  %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  sz = 0x%x,", sz);
                           printf ("  sd = 0x%x,", sd);
                           printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  cond = 0x%x\n", cond);
                         }
-                      SYNTAX("bnot     %1, %0%S0");
-#line 974 "rx-decode.opc"
-                      ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
-                      if (sd == 3) /* bset reg,reg */
-                        BWL(LSIZE);
+                      SYNTAX("sc%1%s   %0");
+#line 1065 "rx-decode.opc"
+                      ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
+
+                    /*----------------------------------------------------------------------*/
+                    /* RXv2 enhanced                                                   */
 
                     }
                   break;
               }
             break;
-          case 0x6d:
+          case 0xd1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_62;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6e:
+          case 0xd2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_62;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6f:
+          case 0xd3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_62;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x80:
+          case 0xd4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_63:
-                    {
-                      /** 1111 1100 1000 00sd rsrc rdst        fsub    %1%S1, %0 */
-#line 905 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 905 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 905 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1000 00sd rsrc rdst    fsub    %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fsub     %1%S1, %0");
-#line 905 "rx-decode.opc"
-                      ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x81:
+          case 0xd5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_63;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x82:
+          case 0xd6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_63;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x83:
+          case 0xd7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_63;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x84:
+          case 0xd8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_64:
-                    {
-                      /** 1111 1100 1000 01sd rsrc rdst        fcmp    %1%S1, %0 */
-#line 899 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 899 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 899 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1000 01sd rsrc rdst    fcmp    %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fcmp     %1%S1, %0");
-#line 899 "rx-decode.opc"
-                      ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
-
-                    }
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x85:
+          case 0xd9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_64;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x86:
+          case 0xda:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_64;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x87:
+          case 0xdb:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_64;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x88:
+          case 0xe0:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_65:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  op_semantics_88:
                     {
-                      /** 1111 1100 1000 10sd rsrc rdst        fadd    %1%S1, %0 */
-#line 893 "rx-decode.opc"
+                      /** 1111 1100 111bit sd rdst cond        bm%2    #%1, %0%S0 */
+#line 1008 "rx-decode.opc"
+                      int bit AU = (op[1] >> 2) & 0x07;
+#line 1008 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 893 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 893 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+#line 1008 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1008 "rx-decode.opc"
+                      int cond AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1000 10sd rsrc rdst    fadd    %1%S1, %0 */",
+                                 "/** 1111 1100 111bit sd rdst cond    bm%2    #%1, %0%S0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  bit = 0x%x,", bit);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  cond = 0x%x\n", cond);
+                        }
+                      SYNTAX("bm%2     #%1, %0%S0");
+#line 1008 "rx-decode.opc"
+                      ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
+
+                    }
+                  break;
+                case 0x0f:
+                  op_semantics_89:
+                    {
+                      /** 1111 1100 111bit sd rdst 1111        bnot    #%1, %0%S0 */
+#line 996 "rx-decode.opc"
+                      int bit AU = (op[1] >> 2) & 0x07;
+#line 996 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 996 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 111bit sd rdst 1111    bnot    #%1, %0%S0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  bit = 0x%x,", bit);
                           printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("fadd     %1%S1, %0");
-#line 893 "rx-decode.opc"
-                      ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+                      SYNTAX("bnot     #%1, %0%S0");
+#line 996 "rx-decode.opc"
+                      ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
 
                     }
                   break;
               }
             break;
-          case 0x89:
+          case 0xe1:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_65;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
                   break;
-              }
-            break;
-          case 0x8a:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_65;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x8b:
+          case 0xe2:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_65;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x8c:
+          case 0xe3:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_66:
-                    {
-                      /** 1111 1100 1000 11sd rsrc rdst        fmul    %1%S1, %0 */
-#line 914 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 914 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 914 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1000 11sd rsrc rdst    fmul    %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fmul     %1%S1, %0");
-#line 914 "rx-decode.opc"
-                      ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x8d:
+          case 0xe4:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_66;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
                   break;
-              }
-            break;
-          case 0x8e:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_66;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x8f:
+          case 0xe5:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_66;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
                   break;
-              }
-            break;
-          case 0x90:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_67:
-                    {
-                      /** 1111 1100 1001 00sd rsrc rdst        fdiv    %1%S1, %0 */
-#line 920 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 920 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 920 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1001 00sd rsrc rdst    fdiv    %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fdiv     %1%S1, %0");
-#line 920 "rx-decode.opc"
-                      ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x91:
+          case 0xe6:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_67;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x92:
+          case 0xe7:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_67;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x93:
+          case 0xe8:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_67;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x94:
+          case 0xe9:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_68:
-                    {
-                      /** 1111 1100 1001 01sd rsrc rdst        ftoi    %1%S1, %0 */
-#line 908 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 908 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 908 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1001 01sd rsrc rdst    ftoi    %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("ftoi     %1%S1, %0");
-#line 908 "rx-decode.opc"
-                      ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x95:
+          case 0xea:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x96:
+          case 0xeb:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x97:
+          case 0xec:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x98:
+          case 0xed:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_69:
-                    {
-                      /** 1111 1100 1001 10sd rsrc rdst        round   %1%S1, %0 */
-#line 923 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 923 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 923 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1001 10sd rsrc rdst    round   %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("round    %1%S1, %0");
-#line 923 "rx-decode.opc"
-                      ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x99:
+          case 0xee:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_69;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x9a:
+          case 0xef:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_69;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0x9b:
+          case 0xf0:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_69;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa0:
+          case 0xf1:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_70:
-                    {
-                      /** 1111 1100 1010 00sd rsrc rdst        fsqrt   %1%S1, %0 */
-#line 1106 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 1106 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1106 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1010 00sd rsrc rdst    fsqrt   %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fsqrt    %1%S1, %0");
-#line 1106 "rx-decode.opc"
-                      ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa1:
+          case 0xf2:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_70;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa2:
+          case 0xf3:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_70;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa3:
+          case 0xf4:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_70;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa4:
+          case 0xf5:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_71:
-                    {
-                      /** 1111 1100 1010 01sd rsrc rdst        ftou    %1%S1, %0 */
-#line 1109 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 1109 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1109 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1010 01sd rsrc rdst    ftou    %1%S1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("ftou     %1%S1, %0");
-#line 1109 "rx-decode.opc"
-                      ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
-
-                    }
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa5:
+          case 0xf6:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa6:
+          case 0xf7:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xa7:
+          case 0xf8:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd0:
+          case 0xf9:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  op_semantics_72:
-                    {
-                      /** 1111 1100 1101 sz sd rdst cond       sc%1%s  %0 */
-#line 1040 "rx-decode.opc"
-                      int sz AU = (op[1] >> 2) & 0x03;
-#line 1040 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 1040 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 1040 "rx-decode.opc"
-                      int cond AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1101 sz sd rdst cond   sc%1%s  %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  cond = 0x%x\n", cond);
-                        }
-                      SYNTAX("sc%1%s   %0");
-#line 1040 "rx-decode.opc"
-                      ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
-
-                    /*----------------------------------------------------------------------*/
-                    /* RXv2 enhanced                                                           */
-
-                    }
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd1:
+          case 0xfa:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd2:
+          case 0xfb:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd3:
+          case 0xfc:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd4:
+          case 0xfd:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd5:
+          case 0xfe:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd6:
+          case 0xff:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x0f)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                  goto op_semantics_88;
+                  break;
+                case 0x0f:
+                  goto op_semantics_89;
                   break;
               }
             break;
-          case 0xd7:
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0xfd:
+        GETBYTE ();
+        switch (op[1] & 0xff)
+        {
+          case 0x00:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  op_semantics_90:
+                    {
+                      /** 1111 1101 0000 a000 srca srcb        mulhi   %1, %2, %0 */
+#line 873 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 873 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 873 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0000 a000 srca srcb    mulhi   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("mulhi    %1, %2, %0");
+#line 873 "rx-decode.opc"
+                      ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xd8:
+          case 0x01:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  op_semantics_91:
+                    {
+                      /** 1111 1101 0000 a001 srca srcb        mullo   %1, %2, %0 */
+#line 876 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 876 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 876 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0000 a001 srca srcb    mullo   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("mullo    %1, %2, %0");
+#line 876 "rx-decode.opc"
+                      ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xd9:
+          case 0x02:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  op_semantics_92:
+                    {
+                      /** 1111 1101 0000 a010 srca srcb        mullh   %1, %2, %0 */
+#line 1104 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1104 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1104 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0000 a010 srca srcb    mullh   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("mullh    %1, %2, %0");
+#line 1104 "rx-decode.opc"
+                      ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xda:
+          case 0x03:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  op_semantics_93:
+                    {
+                      /** 1111 1101 0000 a011 srca srcb        emula   %1, %2, %0 */
+#line 1089 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1089 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1089 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0000 a011 srca srcb    emula   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("emula    %1, %2, %0");
+#line 1089 "rx-decode.opc"
+                      ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xdb:
+          case 0x04:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  op_semantics_94:
+                    {
+                      /** 1111 1101 0000 a100 srca srcb        machi   %1, %2, %0 */
+#line 879 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 879 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 879 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0000 a100 srca srcb    machi   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("machi    %1, %2, %0");
+#line 879 "rx-decode.opc"
+                      ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xe0:
+          case 0x05:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  op_semantics_73:
+                  op_semantics_95:
                     {
-                      /** 1111 1100 111bit sd rdst cond        bm%2    #%1, %0%S0 */
-#line 983 "rx-decode.opc"
-                      int bit AU = (op[1] >> 2) & 0x07;
-#line 983 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 983 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 983 "rx-decode.opc"
-                      int cond AU = op[2] & 0x0f;
+                      /** 1111 1101 0000 a101 srca srcb        maclo   %1, %2, %0 */
+#line 882 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 882 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 882 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 111bit sd rdst cond    bm%2    #%1, %0%S0 */",
+                                 "/** 1111 1101 0000 a101 srca srcb    maclo   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  bit = 0x%x,", bit);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  cond = 0x%x\n", cond);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("bm%2     #%1, %0%S0");
-#line 983 "rx-decode.opc"
-                      ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
+                      SYNTAX("maclo    %1, %2, %0");
+#line 882 "rx-decode.opc"
+                      ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                case 0x0f:
-                  op_semantics_74:
+              }
+            break;
+          case 0x06:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_96:
                     {
-                      /** 1111 1100 111bit sd rdst 1111        bnot    #%1, %0%S0 */
-#line 971 "rx-decode.opc"
-                      int bit AU = (op[1] >> 2) & 0x07;
-#line 971 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 971 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
+                      /** 1111 1101 0000 a110 srca srcb        maclh   %1, %2, %0 */
+#line 1092 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1092 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1092 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 111bit sd rdst 1111    bnot    #%1, %0%S0 */",
+                                 "/** 1111 1101 0000 a110 srca srcb    maclh   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  bit = 0x%x,", bit);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("bnot     #%1, %0%S0");
-#line 971 "rx-decode.opc"
-                      ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
+                      SYNTAX("maclh    %1, %2, %0");
+#line 1092 "rx-decode.opc"
+                      ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0xe1:
+          case 0x07:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  op_semantics_97:
+                    {
+                      /** 1111 1101 0000 a111 srca srcb        emaca   %1, %2, %0 */
+#line 1083 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1083 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1083 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0000 a111 srca srcb    emaca   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("emaca    %1, %2, %0");
+#line 1083 "rx-decode.opc"
+                      ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xe2:
+          case 0x08:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
-                case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                case 0x00:
+                  goto op_semantics_90;
                   break;
               }
             break;
-          case 0xe3:
+          case 0x09:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_91;
                   break;
               }
             break;
-          case 0xe4:
+          case 0x0a:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_92;
                   break;
               }
             break;
-          case 0xe5:
+          case 0x0b:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_93;
                   break;
               }
             break;
-          case 0xe6:
+          case 0x0c:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_94;
                   break;
               }
             break;
-          case 0xe7:
+          case 0x0d:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_95;
                   break;
               }
             break;
-          case 0xe8:
+          case 0x0e:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                  goto op_semantics_96;
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+              }
+            break;
+          case 0x0f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_97;
                   break;
               }
             break;
-          case 0xe9:
+          case 0x17:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x70)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                    {
+                      /** 1111 1101 0001 0111 a000 rsrc        mvtachi %1, %0 */
+#line 885 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 885 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 0111 a000 rsrc    mvtachi %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("mvtachi  %1, %0");
+#line 885 "rx-decode.opc"
+                      ID(mvtachi); DR(a+32); SR(rsrc); F_____;
+
+                    }
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+                case 0x10:
+                    {
+                      /** 1111 1101 0001 0111 a001 rsrc        mvtaclo %1, %0 */
+#line 888 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 888 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 0111 a001 rsrc    mvtaclo %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("mvtaclo  %1, %0");
+#line 888 "rx-decode.opc"
+                      ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
+
+                    }
+                  break;
+                case 0x30:
+                    {
+                      /** 1111 1101 0001 0111 a011 rdst        mvtacgu %0, %1 */
+#line 1110 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1110 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 0111 a011 rdst    mvtacgu %0, %1 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvtacgu  %0, %1");
+#line 1110 "rx-decode.opc"
+                      ID(mvtacgu); DR(a+32); SR(rdst); F_____;
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0xea:
+          case 0x18:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x6f)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                    {
+                      /** 1111 1101 0001 1000 a00i 0000        racw    #%1, %0 */
+#line 900 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 900 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 1000 a00i 0000    racw    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
+                        }
+                      SYNTAX("racw     #%1, %0");
+#line 900 "rx-decode.opc"
+                      ID(racw); SC(i+1); DR(a+32); F_____;
+
+                    /*----------------------------------------------------------------------*/
+                    /* SAT                                                                     */
+
+                    }
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+                case 0x40:
+                    {
+                      /** 1111 1101 0001 1000 a10i 0000        rdacw   #%1, %0 */
+#line 1119 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1119 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 1000 a10i 0000    rdacw   #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
+                        }
+                      SYNTAX("rdacw    #%1, %0");
+#line 1119 "rx-decode.opc"
+                      ID(rdacw); SC(i+1); DR(a+32); F_____;
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0xeb:
+          case 0x19:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x6f)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                    {
+                      /** 1111 1101 0001 1001 a00i 0000        racl    #%1, %0 */
+#line 1113 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1113 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 1001 a00i 0000    racl    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
+                        }
+                      SYNTAX("racl     #%1, %0");
+#line 1113 "rx-decode.opc"
+                      ID(racl); SC(i+1); DR(a+32); F_____;
+
+                    }
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+                case 0x40:
+                    {
+                      /** 1111 1101 0001 1001 a10i 0000        rdacl   #%1, %0 */
+#line 1116 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1116 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 1001 a10i 0000    rdacl   #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
+                        }
+                      SYNTAX("rdacl    #%1, %0");
+#line 1116 "rx-decode.opc"
+                      ID(rdacl); SC(i+1); DR(a+32); F_____;
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0xec:
+          case 0x1e:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x30)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                  op_semantics_98:
+                    {
+                      /** 1111 1101 0001 111i a m00 rdst       mvfachi #%2, %1, %0 */
+#line 891 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 891 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 891 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 891 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 111i a m00 rdst   mvfachi #%2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvfachi  #%2, %1, %0");
+#line 891 "rx-decode.opc"
+                      ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+
+                    }
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+                case 0x10:
+                  op_semantics_99:
+                    {
+                      /** 1111 1101 0001 111i a m01 rdst       mvfaclo #%2, %1, %0 */
+#line 897 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 897 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 897 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 897 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 111i a m01 rdst   mvfaclo #%2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvfaclo  #%2, %1, %0");
+#line 897 "rx-decode.opc"
+                      ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+
+                    }
+                  break;
+                case 0x20:
+                  op_semantics_100:
+                    {
+                      /** 1111 1101 0001 111i a m10 rdst       mvfacmi #%2, %1, %0 */
+#line 894 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 894 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 894 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 894 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 111i a m10 rdst   mvfacmi #%2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvfacmi  #%2, %1, %0");
+#line 894 "rx-decode.opc"
+                      ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+
+                    }
+                  break;
+                case 0x30:
+                  op_semantics_101:
+                    {
+                      /** 1111 1101 0001 111i a m11 rdst       mvfacgu #%2, %1, %0 */
+#line 1107 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 1107 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1107 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 1107 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 111i a m11 rdst   mvfacgu #%2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvfacgu  #%2, %1, %0");
+#line 1107 "rx-decode.opc"
+                      ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xed:
+          case 0x1f:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x30)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                  goto op_semantics_98;
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+                case 0x10:
+                  goto op_semantics_99;
+                  break;
+                case 0x20:
+                  goto op_semantics_100;
+                  break;
+                case 0x30:
+                  goto op_semantics_101;
                   break;
               }
             break;
-          case 0xee:
+          case 0x20:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  op_semantics_102:
+                    {
+                      /** 1111 1101 0010 0p sz rdst rsrc       mov%s   %1, %0 */
+#line 369 "rx-decode.opc"
+                      int p AU = (op[1] >> 2) & 0x01;
+#line 369 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 369 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 369 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0010 0p sz rdst rsrc   mov%s   %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  p = 0x%x,", p);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("mov%s    %1, %0");
+#line 369 "rx-decode.opc"
+                      ID(mov); sBWL (sz); SR(rsrc); F_____;
+                      OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
+
+                    }
                   break;
               }
             break;
-          case 0xef:
+          case 0x21:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_102;
                   break;
               }
             break;
-          case 0xf0:
+          case 0x22:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_102;
                   break;
               }
             break;
-          case 0xf1:
+          case 0x24:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_102;
                   break;
               }
             break;
-          case 0xf2:
+          case 0x25:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_102;
                   break;
               }
             break;
-          case 0xf3:
+          case 0x26:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_102;
                   break;
               }
             break;
-          case 0xf4:
+          case 0x27:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                    {
+                      /** 1111 1101 0010 0111 rdst rsrc        movco   %1, [%0] */
+#line 1071 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1071 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0010 0111 rdst rsrc    movco   %1, [%0] */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("movco    %1, [%0]");
+#line 1071 "rx-decode.opc"
+                       ID(movco); SR(rsrc); DR(rdst); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xf5:
+          case 0x28:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  op_semantics_103:
+                    {
+                      /** 1111 1101 0010 1p sz rsrc rdst       mov%s   %1, %0 */
+#line 373 "rx-decode.opc"
+                      int p AU = (op[1] >> 2) & 0x01;
+#line 373 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 373 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 373 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0010 1p sz rsrc rdst   mov%s   %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  p = 0x%x,", p);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mov%s    %1, %0");
+#line 373 "rx-decode.opc"
+                      ID(mov); sBWL (sz); DR(rdst); F_____;
+                      OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
+
+                    }
                   break;
               }
             break;
-          case 0xf6:
+          case 0x29:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                  goto op_semantics_103;
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+              }
+            break;
+          case 0x2a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_103;
                   break;
               }
             break;
-          case 0xf7:
+          case 0x2c:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                  goto op_semantics_103;
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+              }
+            break;
+          case 0x2d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_103;
                   break;
               }
             break;
-          case 0xf8:
+          case 0x2e:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_103;
                   break;
               }
             break;
-          case 0xf9:
+          case 0x2f:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                    {
+                      /** 1111 1101 0010 1111 rsrc rdst        movli   [%1], %0 */
+#line 1074 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1074 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0010 1111 rsrc rdst    movli   [%1], %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("movli    [%1], %0");
+#line 1074 "rx-decode.opc"
+                       ID(movli); SR(rsrc); DR(rdst); F_____;
+
+                    }
                   break;
               }
             break;
-          case 0xfa:
+          case 0x38:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  op_semantics_104:
+                    {
+                      /** 1111 1101 0011 1p sz rsrc rdst       movu%s  %1, %0 */
+#line 383 "rx-decode.opc"
+                      int p AU = (op[1] >> 2) & 0x01;
+#line 383 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 383 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 383 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0011 1p sz rsrc rdst   movu%s  %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  p = 0x%x,", p);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("movu%s   %1, %0");
+#line 383 "rx-decode.opc"
+                      ID(mov); uBW (sz); DR(rdst); F_____;
+                       OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
+
+                    /*----------------------------------------------------------------------*/
+                    /* PUSH/POP                                                                */
+
+                    }
                   break;
               }
             break;
-          case 0xfb:
+          case 0x39:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_104;
                   break;
               }
             break;
-          case 0xfc:
+          case 0x3a:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_104;
                   break;
               }
             break;
-          case 0xfd:
+          case 0x3c:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_104;
                   break;
               }
             break;
-          case 0xfe:
+          case 0x3d:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
-                  break;
-                case 0x0f:
-                  goto op_semantics_74;
+                  goto op_semantics_104;
                   break;
               }
             break;
-          case 0xff:
+          case 0x3e:
               GETBYTE ();
-              switch (op[2] & 0x0f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x01:
-                case 0x02:
-                case 0x03:
-                case 0x04:
-                case 0x05:
-                case 0x06:
-                case 0x07:
-                case 0x08:
-                case 0x09:
-                case 0x0a:
-                case 0x0b:
-                case 0x0c:
-                case 0x0d:
-                case 0x0e:
-                  goto op_semantics_73;
+                  goto op_semantics_104;
                   break;
-                case 0x0f:
-                  goto op_semantics_74;
+              }
+            break;
+          case 0x44:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_105:
+                    {
+                      /** 1111 1101 0100 a100 srca srcb        msbhi   %1, %2, %0 */
+#line 1095 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1095 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1095 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0100 a100 srca srcb    msbhi   %1, %2, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("msbhi    %1, %2, %0");
+#line 1095 "rx-decode.opc"
+                      ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+                    }
                   break;
               }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xfd:
-        GETBYTE ();
-        switch (op[1] & 0xff)
-        {
-          case 0x00:
+          case 0x45:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_75:
+                  op_semantics_106:
                     {
-                      /** 1111 1101 0000 a000 srca srcb        mulhi   %1, %2, %0 */
-#line 848 "rx-decode.opc"
+                      /** 1111 1101 0100 a101 srca srcb        msblo   %1, %2, %0 */
+#line 1101 "rx-decode.opc"
                       int a AU = (op[1] >> 3) & 0x01;
-#line 848 "rx-decode.opc"
+#line 1101 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 848 "rx-decode.opc"
+#line 1101 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a000 srca srcb    mulhi   %1, %2, %0 */",
+                                 "/** 1111 1101 0100 a101 srca srcb    msblo   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mulhi    %1, %2, %0");
-#line 848 "rx-decode.opc"
-                      ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("msblo    %1, %2, %0");
+#line 1101 "rx-decode.opc"
+                      ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x01:
+          case 0x46:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_76:
+                  op_semantics_107:
                     {
-                      /** 1111 1101 0000 a001 srca srcb        mullo   %1, %2, %0 */
-#line 851 "rx-decode.opc"
+                      /** 1111 1101 0100 a110 srca srcb        msblh   %1, %2, %0 */
+#line 1098 "rx-decode.opc"
                       int a AU = (op[1] >> 3) & 0x01;
-#line 851 "rx-decode.opc"
+#line 1098 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 851 "rx-decode.opc"
+#line 1098 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a001 srca srcb    mullo   %1, %2, %0 */",
+                                 "/** 1111 1101 0100 a110 srca srcb    msblh   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mullo    %1, %2, %0");
-#line 851 "rx-decode.opc"
-                      ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("msblh    %1, %2, %0");
+#line 1098 "rx-decode.opc"
+                      ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x02:
+          case 0x47:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_77:
+                  op_semantics_108:
                     {
-                      /** 1111 1101 0000 a010 srca srcb        mullh   %1, %2, %0 */
-#line 1079 "rx-decode.opc"
+                      /** 1111 1101 0100 a111 srca srcb        emsba   %1, %2, %0 */
+#line 1086 "rx-decode.opc"
                       int a AU = (op[1] >> 3) & 0x01;
-#line 1079 "rx-decode.opc"
+#line 1086 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 1079 "rx-decode.opc"
+#line 1086 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a010 srca srcb    mullh   %1, %2, %0 */",
+                                 "/** 1111 1101 0100 a111 srca srcb    emsba   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mullh    %1, %2, %0");
-#line 1079 "rx-decode.opc"
-                      ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("emsba    %1, %2, %0");
+#line 1086 "rx-decode.opc"
+                      ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x03:
+          case 0x4c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_105;
+                  break;
+              }
+            break;
+          case 0x4d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_106;
+                  break;
+              }
+            break;
+          case 0x4e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_107;
+                  break;
+              }
+            break;
+          case 0x4f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_108;
+                  break;
+              }
+            break;
+          case 0x60:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_78:
                     {
-                      /** 1111 1101 0000 a011 srca srcb        emula   %1, %2, %0 */
-#line 1064 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1064 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1064 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
+                      /** 1111 1101 0110 0000 rsrc rdst        shlr    %2, %0 */
+#line 754 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 754 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a011 srca srcb    emula   %1, %2, %0 */",
+                                 "/** 1111 1101 0110 0000 rsrc rdst    shlr    %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("emula    %1, %2, %0");
-#line 1064 "rx-decode.opc"
-                      ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("shlr     %2, %0");
+#line 754 "rx-decode.opc"
+                      ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
 
                     }
                   break;
               }
             break;
-          case 0x04:
+          case 0x61:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_79:
                     {
-                      /** 1111 1101 0000 a100 srca srcb        machi   %1, %2, %0 */
-#line 854 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 854 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 854 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
+                      /** 1111 1101 0110 0001 rsrc rdst        shar    %2, %0 */
+#line 744 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 744 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a100 srca srcb    machi   %1, %2, %0 */",
+                                 "/** 1111 1101 0110 0001 rsrc rdst    shar    %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("machi    %1, %2, %0");
-#line 854 "rx-decode.opc"
-                      ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("shar     %2, %0");
+#line 744 "rx-decode.opc"
+                      ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
 
                     }
                   break;
               }
             break;
-          case 0x05:
+          case 0x62:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_80:
                     {
-                      /** 1111 1101 0000 a101 srca srcb        maclo   %1, %2, %0 */
-#line 857 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 857 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 857 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
+                      /** 1111 1101 0110 0010 rsrc rdst        shll    %2, %0 */
+#line 734 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 734 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a101 srca srcb    maclo   %1, %2, %0 */",
+                                 "/** 1111 1101 0110 0010 rsrc rdst    shll    %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("maclo    %1, %2, %0");
-#line 857 "rx-decode.opc"
-                      ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("shll     %2, %0");
+#line 734 "rx-decode.opc"
+                      ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
 
                     }
                   break;
               }
             break;
-          case 0x06:
+          case 0x64:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_81:
                     {
-                      /** 1111 1101 0000 a110 srca srcb        maclh   %1, %2, %0 */
-#line 1067 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1067 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1067 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
+                      /** 1111 1101 0110 0100 rsrc rdst        rotr    %1, %0 */
+#line 778 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 778 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a110 srca srcb    maclh   %1, %2, %0 */",
+                                 "/** 1111 1101 0110 0100 rsrc rdst    rotr    %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("maclh    %1, %2, %0");
-#line 1067 "rx-decode.opc"
-                      ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("rotr     %1, %0");
+#line 778 "rx-decode.opc"
+                      ID(rotr); SR(rsrc); DR(rdst); F__SZC;
 
                     }
                   break;
               }
             break;
-          case 0x07:
+          case 0x65:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_82:
                     {
-                      /** 1111 1101 0000 a111 srca srcb        emaca   %1, %2, %0 */
-#line 1058 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1058 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1058 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
+                      /** 1111 1101 0110 0101 rsrc rdst        revw    %1, %0 */
+#line 781 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 781 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 a111 srca srcb    emaca   %1, %2, %0 */",
+                                 "/** 1111 1101 0110 0101 rsrc rdst    revw    %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("emaca    %1, %2, %0");
-#line 1058 "rx-decode.opc"
-                      ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("revw     %1, %0");
+#line 781 "rx-decode.opc"
+                      ID(revw); SR(rsrc); DR(rdst);
 
                     }
                   break;
               }
             break;
-          case 0x08:
+          case 0x66:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_75;
+                    {
+                      /** 1111 1101 0110 0110 rsrc rdst        rotl    %1, %0 */
+#line 772 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 772 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 0110 rsrc rdst    rotl    %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("rotl     %1, %0");
+#line 772 "rx-decode.opc"
+                      ID(rotl); SR(rsrc); DR(rdst); F__SZC;
+
+                    }
                   break;
               }
             break;
-          case 0x09:
+          case 0x67:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_76;
+                    {
+                      /** 1111 1101 0110 0111 rsrc rdst        revl    %1, %0 */
+#line 784 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 784 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 0111 rsrc rdst    revl    %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("revl     %1, %0");
+#line 784 "rx-decode.opc"
+                      ID(revl); SR(rsrc); DR(rdst);
+
+                    /*----------------------------------------------------------------------*/
+                    /* BRANCH                                                          */
+
+                    }
                   break;
               }
             break;
-          case 0x0a:
+          case 0x68:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_77;
+                  op_semantics_109:
+                    {
+                      /** 1111 1101 0110 100c rsrc rdst        mvtc    %1, %0 */
+#line 1035 "rx-decode.opc"
+                      int c AU = op[1] & 0x01;
+#line 1035 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1035 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 100c rsrc rdst    mvtc    %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  c = 0x%x,", c);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvtc     %1, %0");
+#line 1035 "rx-decode.opc"
+                      ID(mov); SR(rsrc); DR(c*16+rdst + 16);
+
+                    }
                   break;
               }
             break;
-          case 0x0b:
+          case 0x69:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_78;
+                  goto op_semantics_109;
                   break;
               }
             break;
-          case 0x0c:
+          case 0x6a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_79;
+                  op_semantics_110:
+                    {
+                      /** 1111 1101 0110 101s rsrc rdst        mvfc    %1, %0 */
+#line 1038 "rx-decode.opc"
+                      int s AU = op[1] & 0x01;
+#line 1038 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1038 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 101s rsrc rdst    mvfc    %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  s = 0x%x,", s);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvfc     %1, %0");
+#line 1038 "rx-decode.opc"
+                      ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
+
+                    /*----------------------------------------------------------------------*/
+                    /* INTERRUPTS                                                              */
+
+                    }
                   break;
               }
             break;
-          case 0x0d:
+          case 0x6b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_80;
+                  goto op_semantics_110;
                   break;
               }
             break;
-          case 0x0e:
+          case 0x6c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_81;
+                  op_semantics_111:
+                    {
+                      /** 1111 1101 0110 110i mmmm rdst        rotr    #%1, %0 */
+#line 775 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 775 "rx-decode.opc"
+                      int mmmm AU = (op[2] >> 4) & 0x0f;
+#line 775 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 110i mmmm rdst    rotr    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  mmmm = 0x%x,", mmmm);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("rotr     #%1, %0");
+#line 775 "rx-decode.opc"
+                      ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
+
+                    }
                   break;
               }
             break;
-          case 0x0f:
+          case 0x6d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_82;
+                  goto op_semantics_111;
                   break;
               }
             break;
-          case 0x17:
+          case 0x6e:
               GETBYTE ();
-              switch (op[2] & 0x70)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_112:
                     {
-                      /** 1111 1101 0001 0111 a000 rsrc        mvtachi %1, %0 */
-#line 860 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 860 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 0111 a000 rsrc    mvtachi %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  rsrc = 0x%x\n", rsrc);
-                        }
-                      SYNTAX("mvtachi  %1, %0");
-#line 860 "rx-decode.opc"
-                      ID(mvtachi); DR(a+32); SR(rsrc); F_____;
-
-                    }
-                  break;
-                case 0x10:
-                    {
-                      /** 1111 1101 0001 0111 a001 rsrc        mvtaclo %1, %0 */
-#line 863 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 863 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 0111 a001 rsrc    mvtaclo %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  rsrc = 0x%x\n", rsrc);
-                        }
-                      SYNTAX("mvtaclo  %1, %0");
-#line 863 "rx-decode.opc"
-                      ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
-
-                    }
-                  break;
-                case 0x30:
-                    {
-                      /** 1111 1101 0001 0111 a011 rdst        mvtacgu %0, %1 */
-#line 1085 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 1085 "rx-decode.opc"
+                      /** 1111 1101 0110 111i mmmm rdst        rotl    #%1, %0 */
+#line 769 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 769 "rx-decode.opc"
+                      int mmmm AU = (op[2] >> 4) & 0x0f;
+#line 769 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 0111 a011 rdst    mvtacgu %0, %1 */",
+                                 "/** 1111 1101 0110 111i mmmm rdst    rotl    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  mmmm = 0x%x,", mmmm);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mvtacgu  %0, %1");
-#line 1085 "rx-decode.opc"
-                      ID(mvtacgu); SR(a+32); DR(rdst); F_____;
+                      SYNTAX("rotl     #%1, %0");
+#line 769 "rx-decode.opc"
+                      ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x18:
+          case 0x6f:
               GETBYTE ();
-              switch (op[2] & 0x6f)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0x70:
+              GETBYTE ();
+              switch (op[2] & 0xf0)
+              {
+                case 0x20:
+                  op_semantics_113:
                     {
-                      /** 1111 1101 0001 1000 a00i 0000        racw    #%1, %0 */
-#line 875 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 875 "rx-decode.opc"
-                      int i AU = (op[2] >> 4) & 0x01;
+                      /** 1111 1101 0111 im00 0010rdst adc     #%1, %0 */
+#line 513 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 513 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1000 a00i 0000    racw    #%1, %0 */",
+                                 "/** 1111 1101 0111 im00 0010rdst     adc     #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  i = 0x%x\n", i);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("racw     #%1, %0");
-#line 875 "rx-decode.opc"
-                      ID(racw); SC(i+1); DR(a+32); F_____;
-
-                    /*----------------------------------------------------------------------*/
-                    /* SAT                                                                     */
+                      SYNTAX("adc      #%1, %0");
+#line 513 "rx-decode.opc"
+                      ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
 
                     }
                   break;
                 case 0x40:
+                  op_semantics_114:
                     {
-                      /** 1111 1101 0001 1000 a10i 0000        rdacw   #%1, %0 */
-#line 1094 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 1094 "rx-decode.opc"
-                      int i AU = (op[2] >> 4) & 0x01;
+                      /** 1111 1101 0111 im00 0100rdst max     #%1, %0 */
+#line 595 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 595 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1000 a10i 0000    rdacw   #%1, %0 */",
+                                 "/** 1111 1101 0111 im00 0100rdst     max     #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  i = 0x%x\n", i);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("rdacw    #%1, %0");
-#line 1094 "rx-decode.opc"
-                      ID(rdacw); SC(i+1); DR(a+32); F_____;
+                      SYNTAX("max      #%1, %0");
+#line 595 "rx-decode.opc"
+                      int val = IMMex (im);
+                      if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
+                        {
+                          ID (nop7);
+                          SYNTAX("nop\t; max\t#0x80000000, r0");
+                        }
+                      else
+                        {
+                          ID(max);
+                        }
+                      DR(rdst); SC(val);
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
-              }
-            break;
-          case 0x19:
-              GETBYTE ();
-              switch (op[2] & 0x6f)
-              {
-                case 0x00:
+                case 0x50:
+                  op_semantics_115:
                     {
-                      /** 1111 1101 0001 1001 a00i 0000        racl    #%1, %0 */
-#line 1088 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 1088 "rx-decode.opc"
-                      int i AU = (op[2] >> 4) & 0x01;
+                      /** 1111 1101 0111 im00 0101rdst min     #%1, %0 */
+#line 625 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 625 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1001 a00i 0000    racl    #%1, %0 */",
+                                 "/** 1111 1101 0111 im00 0101rdst     min     #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  i = 0x%x\n", i);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("racl     #%1, %0");
-#line 1088 "rx-decode.opc"
-                      ID(racl); SC(i+1); DR(a+32); F_____;
+                      SYNTAX("min      #%1, %0");
+#line 625 "rx-decode.opc"
+                      ID(min); DR(rdst); SC(IMMex(im));
 
                     }
                   break;
-                case 0x40:
+                case 0x60:
+                  op_semantics_116:
                     {
-                      /** 1111 1101 0001 1001 a10i 0000        rdacl   #%1, %0 */
-#line 1091 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 1091 "rx-decode.opc"
-                      int i AU = (op[2] >> 4) & 0x01;
+                      /** 1111 1101 0111 im00 0110rdst emul    #%1, %0 */
+#line 683 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 683 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1001 a10i 0000    rdacl   #%1, %0 */",
+                                 "/** 1111 1101 0111 im00 0110rdst     emul    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  i = 0x%x\n", i);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("rdacl    #%1, %0");
-#line 1091 "rx-decode.opc"
-                      ID(rdacl); SC(i+1); DR(a+32); F_____;
+                      SYNTAX("emul     #%1, %0");
+#line 683 "rx-decode.opc"
+                      ID(emul); DR(rdst); SC(IMMex(im));
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
-              }
-            break;
-          case 0x1e:
-              GETBYTE ();
-              switch (op[2] & 0x30)
-              {
-                case 0x00:
-                  op_semantics_83:
+                case 0x70:
+                  op_semantics_117:
                     {
-                      /** 1111 1101 0001 111i a m00 rdst       mvfachi #%2, %1, %0 */
-#line 866 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 866 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 866 "rx-decode.opc"
-                      int m AU = (op[2] >> 6) & 0x01;
-#line 866 "rx-decode.opc"
+                      /** 1111 1101 0111 im00 0111rdst emulu   #%1, %0 */
+#line 695 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 695 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 111i a m00 rdst   mvfachi #%2, %1, %0 */",
+                                 "/** 1111 1101 0111 im00 0111rdst     emulu   #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  m = 0x%x,", m);
+                          printf ("  im = 0x%x,", im);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mvfachi  #%2, %1, %0");
-#line 866 "rx-decode.opc"
-                      ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+                      SYNTAX("emulu    #%1, %0");
+#line 695 "rx-decode.opc"
+                      ID(emulu); DR(rdst); SC(IMMex(im));
 
                     }
-                  break;
-                case 0x10:
-                  op_semantics_84:
+                  break;
+                case 0x80:
+                  op_semantics_118:
                     {
-                      /** 1111 1101 0001 111i a m01 rdst       mvfaclo #%2, %1, %0 */
-#line 872 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 872 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 872 "rx-decode.opc"
-                      int m AU = (op[2] >> 6) & 0x01;
-#line 872 "rx-decode.opc"
+                      /** 1111 1101 0111 im00 1000rdst div     #%1, %0 */
+#line 707 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 707 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 111i a m01 rdst   mvfaclo #%2, %1, %0 */",
+                                 "/** 1111 1101 0111 im00 1000rdst     div     #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  m = 0x%x,", m);
+                          printf ("  im = 0x%x,", im);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mvfaclo  #%2, %1, %0");
-#line 872 "rx-decode.opc"
-                      ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+                      SYNTAX("div      #%1, %0");
+#line 707 "rx-decode.opc"
+                      ID(div); DR(rdst); SC(IMMex(im)); F_O___;
 
                     }
                   break;
-                case 0x20:
-                  op_semantics_85:
+                case 0x90:
+                  op_semantics_119:
                     {
-                      /** 1111 1101 0001 111i a m10 rdst       mvfacmi #%2, %1, %0 */
-#line 869 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 869 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 869 "rx-decode.opc"
-                      int m AU = (op[2] >> 6) & 0x01;
-#line 869 "rx-decode.opc"
+                      /** 1111 1101 0111 im00 1001rdst divu    #%1, %0 */
+#line 719 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 719 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 111i a m10 rdst   mvfacmi #%2, %1, %0 */",
+                                 "/** 1111 1101 0111 im00 1001rdst     divu    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  m = 0x%x,", m);
+                          printf ("  im = 0x%x,", im);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mvfacmi  #%2, %1, %0");
-#line 869 "rx-decode.opc"
-                      ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+                      SYNTAX("divu     #%1, %0");
+#line 719 "rx-decode.opc"
+                      ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
 
                     }
                   break;
-                case 0x30:
-                  op_semantics_86:
+                case 0xc0:
+                  op_semantics_120:
                     {
-                      /** 1111 1101 0001 111i a m11 rdst       mvfacgu #%2, %1, %0 */
-#line 1082 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 1082 "rx-decode.opc"
-                      int a AU = (op[2] >> 7) & 0x01;
-#line 1082 "rx-decode.opc"
-                      int m AU = (op[2] >> 6) & 0x01;
-#line 1082 "rx-decode.opc"
+                      /** 1111 1101 0111 im00 1100rdst tst     #%1, %2 */
+#line 492 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 492 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 111i a m11 rdst   mvfacgu #%2, %1, %0 */",
+                                 "/** 1111 1101 0111 im00 1100rdst     tst     #%1, %2 */",
                                  op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  m = 0x%x,", m);
+                          printf ("  im = 0x%x,", im);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mvfacgu  #%2, %1, %0");
-#line 1082 "rx-decode.opc"
-                      ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+                      SYNTAX("tst      #%1, %2");
+#line 492 "rx-decode.opc"
+                      ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
 
                     }
                   break;
-              }
-            break;
-          case 0x1f:
-              GETBYTE ();
-              switch (op[2] & 0x30)
-              {
-                case 0x00:
-                  goto op_semantics_83;
-                  break;
-                case 0x10:
-                  goto op_semantics_84;
-                  break;
-                case 0x20:
-                  goto op_semantics_85;
-                  break;
-                case 0x30:
-                  goto op_semantics_86;
-                  break;
-              }
-            break;
-          case 0x20:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_87:
+                case 0xd0:
+                  op_semantics_121:
                     {
-                      /** 1111 1101 0010 0p sz rdst rsrc       mov%s   %1, %0 */
-#line 344 "rx-decode.opc"
-                      int p AU = (op[1] >> 2) & 0x01;
-#line 344 "rx-decode.opc"
-                      int sz AU = op[1] & 0x03;
-#line 344 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 344 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+                      /** 1111 1101 0111 im00 1101rdst xor     #%1, %0 */
+#line 471 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 471 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0010 0p sz rdst rsrc   mov%s   %1, %0 */",
+                                 "/** 1111 1101 0111 im00 1101rdst     xor     #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  p = 0x%x,", p);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mov%s    %1, %0");
-#line 344 "rx-decode.opc"
-                      ID(mov); sBWL (sz); SR(rsrc); F_____;
-                      OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
+                      SYNTAX("xor      #%1, %0");
+#line 471 "rx-decode.opc"
+                      ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
 
                     }
                   break;
-              }
-            break;
-          case 0x21:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_87;
-                  break;
-              }
-            break;
-          case 0x22:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_87;
-                  break;
-              }
-            break;
-          case 0x24:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_87;
-                  break;
-              }
-            break;
-          case 0x25:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_87;
-                  break;
-              }
-            break;
-          case 0x26:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_87;
-                  break;
-              }
-            break;
-          case 0x27:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xe0:
+                  op_semantics_122:
                     {
-                      /** 1111 1101 0010 0111 rdst rsrc        movco   %1, [%0] */
-#line 1046 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 1046 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+                      /** 1111 1101 0111 im00 1110rdst stz     #%1, %0 */
+#line 417 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 417 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0010 0111 rdst rsrc    movco   %1, [%0] */",
+                                 "/** 1111 1101 0111 im00 1110rdst     stz     #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("movco    %1, [%0]");
-#line 1046 "rx-decode.opc"
-                       ID(mov); SR(rsrc); DR(rdst); F_____;
+                      SYNTAX("stz      #%1, %0");
+#line 417 "rx-decode.opc"
+                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
 
                     }
                   break;
-              }
-            break;
-          case 0x28:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_88:
+                case 0xf0:
+                  op_semantics_123:
                     {
-                      /** 1111 1101 0010 1p sz rsrc rdst       mov%s   %1, %0 */
-#line 348 "rx-decode.opc"
-                      int p AU = (op[1] >> 2) & 0x01;
-#line 348 "rx-decode.opc"
-                      int sz AU = op[1] & 0x03;
-#line 348 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 348 "rx-decode.opc"
+                      /** 1111 1101 0111 im00 1111rdst stnz    #%1, %0 */
+#line 420 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 420 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0010 1p sz rsrc rdst   mov%s   %1, %0 */",
+                                 "/** 1111 1101 0111 im00 1111rdst     stnz    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  p = 0x%x,", p);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  im = 0x%x,", im);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mov%s    %1, %0");
-#line 348 "rx-decode.opc"
-                      ID(mov); sBWL (sz); DR(rdst); F_____;
-                      OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
+                      SYNTAX("stnz     #%1, %0");
+#line 420 "rx-decode.opc"
+                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
+
+                    /*----------------------------------------------------------------------*/
+                    /* RTSD                                                                    */
 
                     }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x29:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_88;
-                  break;
-              }
-            break;
-          case 0x2a:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_88;
-                  break;
-              }
-            break;
-          case 0x2c:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_88;
-                  break;
-              }
-            break;
-          case 0x2d:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_88;
-                  break;
-              }
-            break;
-          case 0x2e:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_88;
-                  break;
-              }
-            break;
-          case 0x2f:
+          case 0x72:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
                     {
-                      /** 1111 1101 0010 1111 rsrc rdst        movli   [%1], %0 */
-#line 1049 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1049 "rx-decode.opc"
+                      /** 1111 1101 0111 0010 0000 rdst        fsub    #%1, %0 */
+#line 927 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0010 1111 rsrc rdst    movli   [%1], %0 */",
+                                 "/** 1111 1101 0111 0010 0000 rdst    fsub    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("movli    [%1], %0");
-#line 1049 "rx-decode.opc"
-                       ID(mov); SR(rsrc); DR(rdst); F_____;
+                      SYNTAX("fsub     #%1, %0");
+#line 927 "rx-decode.opc"
+                      ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
 
                     }
                   break;
-              }
-            break;
-          case 0x38:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_89:
+                case 0x10:
                     {
-                      /** 1111 1101 0011 1p sz rsrc rdst       movu%s  %1, %0 */
-#line 358 "rx-decode.opc"
-                      int p AU = (op[1] >> 2) & 0x01;
-#line 358 "rx-decode.opc"
-                      int sz AU = op[1] & 0x03;
-#line 358 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 358 "rx-decode.opc"
+                      /** 1111 1101 0111 0010 0001 rdst        fcmp    #%1, %0 */
+#line 921 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0011 1p sz rsrc rdst   movu%s  %1, %0 */",
+                                 "/** 1111 1101 0111 0010 0001 rdst    fcmp    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  p = 0x%x,", p);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("movu%s   %1, %0");
-#line 358 "rx-decode.opc"
-                      ID(mov); uBW (sz); DR(rdst); F_____;
-                       OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
+                      SYNTAX("fcmp     #%1, %0");
+#line 921 "rx-decode.opc"
+                      ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
 
-                    /*----------------------------------------------------------------------*/
-                    /* PUSH/POP                                                                */
+                    }
+                  break;
+                case 0x20:
+                    {
+                      /** 1111 1101 0111 0010 0010 rdst        fadd    #%1, %0 */
+#line 915 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 0010 0010 rdst    fadd    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("fadd     #%1, %0");
+#line 915 "rx-decode.opc"
+                      ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
 
                     }
                   break;
-              }
-            break;
-          case 0x39:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_89;
+                case 0x30:
+                    {
+                      /** 1111 1101 0111 0010 0011 rdst        fmul    #%1, %0 */
+#line 936 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 0010 0011 rdst    fmul    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("fmul     #%1, %0");
+#line 936 "rx-decode.opc"
+                      ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
+
+                    }
                   break;
-              }
-            break;
-          case 0x3a:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_89;
+                case 0x40:
+                    {
+                      /** 1111 1101 0111 0010 0100 rdst        fdiv    #%1, %0 */
+#line 942 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 0010 0100 rdst    fdiv    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("fdiv     #%1, %0");
+#line 942 "rx-decode.opc"
+                      ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x3c:
+          case 0x73:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  goto op_semantics_89;
+                  op_semantics_124:
+                    {
+                      /** 1111 1101 0111 im11 000crdst mvtc    #%1, %0 */
+#line 1032 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 1032 "rx-decode.opc"
+                      int crdst AU = op[2] & 0x1f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im11 000crdst     mvtc    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  crdst = 0x%x\n", crdst);
+                        }
+                      SYNTAX("mvtc     #%1, %0");
+#line 1032 "rx-decode.opc"
+                      ID(mov); SC(IMMex(im)); DR(crdst + 16);
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x3d:
+          case 0x74:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
-                case 0x00:
-                  goto op_semantics_89;
+                case 0x20:
+                  goto op_semantics_113;
+                  break;
+                case 0x40:
+                  goto op_semantics_114;
+                  break;
+                case 0x50:
+                  goto op_semantics_115;
+                  break;
+                case 0x60:
+                  goto op_semantics_116;
+                  break;
+                case 0x70:
+                  goto op_semantics_117;
+                  break;
+                case 0x80:
+                  goto op_semantics_118;
+                  break;
+                case 0x90:
+                  goto op_semantics_119;
+                  break;
+                case 0xc0:
+                  goto op_semantics_120;
+                  break;
+                case 0xd0:
+                  goto op_semantics_121;
+                  break;
+                case 0xe0:
+                  goto op_semantics_122;
+                  break;
+                case 0xf0:
+                  goto op_semantics_123;
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x3e:
+          case 0x75:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xff)
               {
-                case 0x00:
-                  goto op_semantics_89;
+                case 0x80:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        op_semantics_125:
+                          {
+                            /** 1111 1101 0111 0101 1000 rdst rsrc 0000        dmov.l  %1, %0 */
+#line 1176 "rx-decode.opc"
+                            int rdst AU = op[2] & 0x0f;
+#line 1176 "rx-decode.opc"
+                            int rsrc AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0101 1000 rdst rsrc 0000    dmov.l  %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  rsrc = 0x%x\n", rsrc);
+                              }
+                            SYNTAX("dmov.l     %1, %0");
+#line 1176 "rx-decode.opc"
+                            ID(dmov); DR(rdst); SDRL(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x02:
+                        op_semantics_126:
+                          {
+                            /** 1111 1101 0111 0101 1000 rdst rsrc 0010        dmov.l  %1, %0 */
+#line 1173 "rx-decode.opc"
+                            int rdst AU = op[2] & 0x0f;
+#line 1173 "rx-decode.opc"
+                            int rsrc AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0101 1000 rdst rsrc 0010    dmov.l  %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  rsrc = 0x%x\n", rsrc);
+                              }
+                            SYNTAX("dmov.l     %1, %0");
+#line 1173 "rx-decode.opc"
+                            ID(dmov); DR(rdst); SDRH(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x04:
+                        op_semantics_127:
+                          {
+                            /** 1111 1101 0111 0101 1000 rdst rsrc 0100        mvfdc   %1, %0 */
+#line 1226 "rx-decode.opc"
+                            int rdst AU = op[2] & 0x0f;
+#line 1226 "rx-decode.opc"
+                            int rsrc AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0101 1000 rdst rsrc 0100    mvfdc   %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  rsrc = 0x%x\n", rsrc);
+                              }
+                            SYNTAX("mvfdc      %1, %0");
+#line 1226 "rx-decode.opc"
+                            ID(mvfdc); DR(rdst); SCR(rsrc); F_____;
+
+                          }
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x81:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x82:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x83:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x84:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x85:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x86:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x87:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x44:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_90:
+                case 0x88:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0100 a100 srca srcb        msbhi   %1, %2, %0 */
-#line 1070 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1070 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1070 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0100 a100 srca srcb    msbhi   %1, %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
-                        }
-                      SYNTAX("msbhi    %1, %2, %0");
-#line 1070 "rx-decode.opc"
-                      ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
-
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x45:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_91:
+                case 0x89:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0100 a101 srca srcb        msblo   %1, %2, %0 */
-#line 1076 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1076 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1076 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0100 a101 srca srcb    msblo   %1, %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
-                        }
-                      SYNTAX("msblo    %1, %2, %0");
-#line 1076 "rx-decode.opc"
-                      ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
-
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x46:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_92:
+                case 0x8a:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0100 a110 srca srcb        msblh   %1, %2, %0 */
-#line 1073 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1073 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1073 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0100 a110 srca srcb    msblh   %1, %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
-                        }
-                      SYNTAX("msblh    %1, %2, %0");
-#line 1073 "rx-decode.opc"
-                      ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
-
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x47:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_93:
+                case 0x8b:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0100 a111 srca srcb        emsba   %1, %2, %0 */
-#line 1061 "rx-decode.opc"
-                      int a AU = (op[1] >> 3) & 0x01;
-#line 1061 "rx-decode.opc"
-                      int srca AU = (op[2] >> 4) & 0x0f;
-#line 1061 "rx-decode.opc"
-                      int srcb AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0100 a111 srca srcb    emsba   %1, %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  a = 0x%x,", a);
-                          printf ("  srca = 0x%x,", srca);
-                          printf ("  srcb = 0x%x\n", srcb);
-                        }
-                      SYNTAX("emsba    %1, %2, %0");
-#line 1061 "rx-decode.opc"
-                      ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
-
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x4c:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_90;
+                case 0x8c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x4d:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_91;
+                case 0x8d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x4e:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_92;
+                case 0x8e:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x4f:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_93;
+                case 0x8f:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_125;
+                        break;
+                      case 0x02:
+                        goto op_semantics_126;
+                        break;
+                      case 0x04:
+                        goto op_semantics_127;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x60:
+          case 0x76:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xff)
               {
-                case 0x00:
+                case 0xc0:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0000 rsrc rdst        shlr    %2, %0 */
-#line 729 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 729 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0000 rsrc rdst    shlr    %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("shlr     %2, %0");
-#line 729 "rx-decode.opc"
-                      ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
+                      case 0x00:
+                        op_semantics_128:
+                          {
+                            /** 1111 1101 0111 0110 1100 rsrc 0000 0000        save    %1 */
+#line 1161 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0110 1100 rsrc 0000 0000    save    %1 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x\n", rsrc);
+                              }
+                            SYNTAX("save       %1");
+#line 1161 "rx-decode.opc"
+                            ID(save); SR(rsrc); F_____;
 
+                          }
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x61:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xc1:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0001 rsrc rdst        shar    %2, %0 */
-#line 719 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 719 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0001 rsrc rdst    shar    %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("shar     %2, %0");
-#line 719 "rx-decode.opc"
-                      ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xc2:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xc3:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xc4:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xc5:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x62:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xc6:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0010 rsrc rdst        shll    %2, %0 */
-#line 709 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 709 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0010 rsrc rdst    shll    %2, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("shll     %2, %0");
-#line 709 "rx-decode.opc"
-                      ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x64:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xc7:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0100 rsrc rdst        rotr    %1, %0 */
-#line 753 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 753 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0100 rsrc rdst    rotr    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("rotr     %1, %0");
-#line 753 "rx-decode.opc"
-                      ID(rotr); SR(rsrc); DR(rdst); F__SZC;
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x65:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xc8:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0101 rsrc rdst        revw    %1, %0 */
-#line 756 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 756 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0101 rsrc rdst    revw    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("revw     %1, %0");
-#line 756 "rx-decode.opc"
-                      ID(revw); SR(rsrc); DR(rdst);
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x66:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xc9:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0110 rsrc rdst        rotl    %1, %0 */
-#line 747 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 747 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0110 rsrc rdst    rotl    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("rotl     %1, %0");
-#line 747 "rx-decode.opc"
-                      ID(rotl); SR(rsrc); DR(rdst); F__SZC;
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x67:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0xca:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 0111 rsrc rdst        revl    %1, %0 */
-#line 759 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 759 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0111 rsrc rdst    revl    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("revl     %1, %0");
-#line 759 "rx-decode.opc"
-                      ID(revl); SR(rsrc); DR(rdst);
-
-                    /*----------------------------------------------------------------------*/
-                    /* BRANCH                                                          */
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x68:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_94:
+                case 0xcb:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 100c rsrc rdst        mvtc    %1, %0 */
-#line 1010 "rx-decode.opc"
-                      int c AU = op[1] & 0x01;
-#line 1010 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1010 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 100c rsrc rdst    mvtc    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  c = 0x%x,", c);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("mvtc     %1, %0");
-#line 1010 "rx-decode.opc"
-                      ID(mov); SR(rsrc); DR(c*16+rdst + 16);
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x69:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_94;
+                case 0xcc:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x6a:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_95:
+                case 0xcd:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 101s rsrc rdst        mvfc    %1, %0 */
-#line 1013 "rx-decode.opc"
-                      int s AU = op[1] & 0x01;
-#line 1013 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 1013 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 101s rsrc rdst    mvfc    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  s = 0x%x,", s);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("mvfc     %1, %0");
-#line 1013 "rx-decode.opc"
-                      ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
-
-                    /*----------------------------------------------------------------------*/
-                    /* INTERRUPTS                                                              */
-
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x6b:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_95;
+                case 0xce:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x6c:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_96:
+                case 0xcf:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 110i mmmm rdst        rotr    #%1, %0 */
-#line 750 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 750 "rx-decode.opc"
-                      int mmmm AU = (op[2] >> 4) & 0x0f;
-#line 750 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 110i mmmm rdst    rotr    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  mmmm = 0x%x,", mmmm);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("rotr     #%1, %0");
-#line 750 "rx-decode.opc"
-                      ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
+                      case 0x00:
+                        goto op_semantics_128;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xd0:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        op_semantics_129:
+                          {
+                            /** 1111 1101 0111 0110 1101 rsrc 0000 0000        rstr    %1 */
+#line 1155 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0110 1101 rsrc 0000 0000    rstr    %1 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x\n", rsrc);
+                              }
+                            SYNTAX("rstr       %1");
+#line 1155 "rx-decode.opc"
+                            ID(rstr); SR(rsrc); F_____;
 
+                          }
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xd1:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x6d:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_96;
+                case 0xd2:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x6e:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  op_semantics_97:
+                case 0xd3:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0110 111i mmmm rdst        rotl    #%1, %0 */
-#line 744 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 744 "rx-decode.opc"
-                      int mmmm AU = (op[2] >> 4) & 0x0f;
-#line 744 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 111i mmmm rdst    rotl    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  mmmm = 0x%x,", mmmm);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("rotl     #%1, %0");
-#line 744 "rx-decode.opc"
-                      ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-              }
-            break;
-          case 0x6f:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_97;
+                case 0xd4:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-              }
-            break;
-          case 0x70:
-              GETBYTE ();
-              switch (op[2] & 0xf0)
-              {
-                case 0x20:
-                  op_semantics_98:
+                case 0xd5:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 0010rdst adc     #%1, %0 */
-#line 488 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 488 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0010rdst     adc     #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("adc      #%1, %0");
-#line 488 "rx-decode.opc"
-                      ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x40:
-                  op_semantics_99:
+                case 0xd6:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 0100rdst max     #%1, %0 */
-#line 570 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 570 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0100rdst     max     #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("max      #%1, %0");
-#line 570 "rx-decode.opc"
-                      int val = IMMex (im);
-                      if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
-                        {
-                          ID (nop7);
-                          SYNTAX("nop\t; max\t#0x80000000, r0");
-                        }
-                      else
-                        {
-                          ID(max);
-                        }
-                      DR(rdst); SC(val);
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x50:
-                  op_semantics_100:
+                case 0xd7:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 0101rdst min     #%1, %0 */
-#line 600 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 600 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0101rdst     min     #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("min      #%1, %0");
-#line 600 "rx-decode.opc"
-                      ID(min); DR(rdst); SC(IMMex(im));
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x60:
-                  op_semantics_101:
+                case 0xd8:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 0110rdst emul    #%1, %0 */
-#line 658 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 658 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0110rdst     emul    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("emul     #%1, %0");
-#line 658 "rx-decode.opc"
-                      ID(emul); DR(rdst); SC(IMMex(im));
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x70:
-                  op_semantics_102:
+                case 0xd9:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 0111rdst emulu   #%1, %0 */
-#line 670 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 670 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0111rdst     emulu   #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("emulu    #%1, %0");
-#line 670 "rx-decode.opc"
-                      ID(emulu); DR(rdst); SC(IMMex(im));
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x80:
-                  op_semantics_103:
+                case 0xda:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 1000rdst div     #%1, %0 */
-#line 682 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 682 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1000rdst     div     #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("div      #%1, %0");
-#line 682 "rx-decode.opc"
-                      ID(div); DR(rdst); SC(IMMex(im)); F_O___;
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x90:
-                  op_semantics_104:
+                case 0xdb:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 1001rdst divu    #%1, %0 */
-#line 694 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 694 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1001rdst     divu    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("divu     #%1, %0");
-#line 694 "rx-decode.opc"
-                      ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0xc0:
-                  op_semantics_105:
+                case 0xdc:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 1100rdst tst     #%1, %2 */
-#line 467 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 467 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1100rdst     tst     #%1, %2 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("tst      #%1, %2");
-#line 467 "rx-decode.opc"
-                      ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0xd0:
-                  op_semantics_106:
+                case 0xdd:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
                     {
-                      /** 1111 1101 0111 im00 1101rdst xor     #%1, %0 */
-#line 446 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 446 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1101rdst     xor     #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("xor      #%1, %0");
-#line 446 "rx-decode.opc"
-                      ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
-
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xde:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0xdf:
+                    GETBYTE ();
+                    switch (op[3] & 0xff)
+                    {
+                      case 0x00:
+                        goto op_semantics_129;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
                 case 0xe0:
-                  op_semantics_107:
                     {
-                      /** 1111 1101 0111 im00 1110rdst stz     #%1, %0 */
-#line 392 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 392 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0111 0110 1110 0000        save    #%1 */
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1110rdst     stz     #%1, %0 */",
+                                 "/** 1111 1101 0111 0110 1110 0000    save    #%1 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("stz      #%1, %0");
-#line 392 "rx-decode.opc"
-                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
+                      SYNTAX("save     #%1");
+#line 1164 "rx-decode.opc"
+                      ID(save); SC(IMM(1)); F_____;
 
                     }
                   break;
                 case 0xf0:
-                  op_semantics_108:
                     {
-                      /** 1111 1101 0111 im00 1111rdst stnz    #%1, %0 */
-#line 395 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 395 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0111 0110 1111 0000        rstr    #%1 */
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1111rdst     stnz    #%1, %0 */",
+                                 "/** 1111 1101 0111 0110 1111 0000    rstr    #%1 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("stnz     #%1, %0");
-#line 395 "rx-decode.opc"
-                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
-
-                    /*----------------------------------------------------------------------*/
-                    /* RTSD                                                                    */
+                      SYNTAX("rstr     #%1");
+#line 1158 "rx-decode.opc"
+                      ID(rstr); SC(IMM(1)); F_____;
 
                     }
                   break;
                 default: UNSUPPORTED(); break;
               }
             break;
-          case 0x72:
+          case 0x77:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0xff)
               {
                 case 0x00:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0a:
+                case 0x0b:
+                case 0x0c:
+                case 0x0d:
+                case 0x0e:
+                case 0x0f:
+                case 0x10:
+                case 0x11:
+                case 0x12:
+                case 0x13:
+                case 0x14:
+                case 0x15:
+                case 0x16:
+                case 0x17:
+                case 0x18:
+                case 0x19:
+                case 0x1a:
+                case 0x1b:
+                case 0x1c:
+                case 0x1d:
+                case 0x1e:
+                case 0x1f:
+                  goto op_semantics_124;
+                  break;
+                case 0x80:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0111 0010 0000 rdst        fsub    #%1, %0 */
-#line 902 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0000 rdst    fsub    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fsub     #%1, %0");
-#line 902 "rx-decode.opc"
-                      ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
+                      case 0x00:
+                        op_semantics_130:
+                          {
+                            /** 1111 1101 0111 0111 1000 rsrc rdst 0000        dmov.l  %1, %0 */
+#line 1170 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+#line 1170 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0111 1000 rsrc rdst 0000    dmov.l  %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("dmov.l     %1, %0");
+#line 1170 "rx-decode.opc"
+                            ID(dmov); DDRL(rdst); SR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        op_semantics_131:
+                          {
+                            /** 1111 1101 0111 0111 1000 rsrc rdst 001s        dmov%s  %1, %0 */
+#line 1167 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+#line 1167 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1167 "rx-decode.opc"
+                            int s AU = op[3] & 0x01;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0111 1000 rsrc rdst 001s    dmov%s  %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  s = 0x%x\n", s);
+                              }
+                            SYNTAX("dmov%s     %1, %0");
+#line 1167 "rx-decode.opc"
+                            ID(dmov); DDRH(rdst); SR(rsrc); DL(s); F_____;
+
+                          }
+                        break;
+                      case 0x04:
+                        op_semantics_132:
+                          {
+                            /** 1111 1101 0111 0111 1000 rdst rsrc 0100        mvtdc   %1, %0 */
+#line 1232 "rx-decode.opc"
+                            int rdst AU = op[2] & 0x0f;
+#line 1232 "rx-decode.opc"
+                            int rsrc AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0111 1000 rdst rsrc 0100    mvtdc   %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rdst = 0x%x,", rdst);
+                                printf ("  rsrc = 0x%x\n", rsrc);
+                              }
+                            SYNTAX("mvtdc      %1, %0");
+#line 1232 "rx-decode.opc"
+                            ID(mvtdc); DCR(rdst); SR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x09:
+                        op_semantics_133:
+                          {
+                            /** 1111 1101 0111 0111 1000 rsrc rdst 1001        itod    %1, %0 */
+#line 1274 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+#line 1274 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0111 1000 rsrc rdst 1001    itod    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("itod       %1, %0");
+#line 1274 "rx-decode.opc"
+                            ID(itod); DDR(rdst); SR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x0a:
+                        op_semantics_134:
+                          {
+                            /** 1111 1101 0111 0111 1000 rsrc rdst 1010        ftod    %1, %0 */
+#line 1271 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+#line 1271 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0111 1000 rsrc rdst 1010    ftod    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("ftod       %1, %0");
+#line 1271 "rx-decode.opc"
+                            ID(ftod); DDR(rdst); SR(rsrc); F_____;
+
+                          }
+                        break;
+                      case 0x0d:
+                        op_semantics_135:
+                          {
+                            /** 1111 1101 0111 0111 1000 rsrc rdst 1101        utod    %1, %0 */
+#line 1277 "rx-decode.opc"
+                            int rsrc AU = op[2] & 0x0f;
+#line 1277 "rx-decode.opc"
+                            int rdst AU = (op[3] >> 4) & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 1111 1101 0111 0111 1000 rsrc rdst 1101    utod    %1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("utod       %1, %0");
+#line 1277 "rx-decode.opc"
+                            ID(dsqrt); DDR(rdst); SR(rsrc); F_____;
 
+                          }
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x10:
+                case 0x81:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0111 0010 0001 rdst        fcmp    #%1, %0 */
-#line 896 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0001 rdst    fcmp    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fcmp     #%1, %0");
-#line 896 "rx-decode.opc"
-                      ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
-
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x20:
+                case 0x82:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0111 0010 0010 rdst        fadd    #%1, %0 */
-#line 890 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0010 rdst    fadd    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fadd     #%1, %0");
-#line 890 "rx-decode.opc"
-                      ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
-
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x83:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x84:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x85:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x86:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x87:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x88:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x89:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
+                  break;
+                case 0x8a:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x30:
+                case 0x8b:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0111 0010 0011 rdst        fmul    #%1, %0 */
-#line 911 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0011 rdst    fmul    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fmul     #%1, %0");
-#line 911 "rx-decode.opc"
-                      ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
-
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                case 0x40:
+                case 0x8c:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0111 0010 0100 rdst        fdiv    #%1, %0 */
-#line 917 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0100 rdst    fdiv    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("fdiv     #%1, %0");
-#line 917 "rx-decode.opc"
-                      ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
-
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                default: UNSUPPORTED(); break;
-              }
-            break;
-          case 0x73:
-              GETBYTE ();
-              switch (op[2] & 0xe0)
-              {
-                case 0x00:
-                  op_semantics_109:
+                case 0x8d:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
                     {
-                      /** 1111 1101 0111 im11 000crdst mvtc    #%1, %0 */
-#line 1007 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 1007 "rx-decode.opc"
-                      int crdst AU = op[2] & 0x1f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im11 000crdst     mvtc    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  crdst = 0x%x\n", crdst);
-                        }
-                      SYNTAX("mvtc     #%1, %0");
-#line 1007 "rx-decode.opc"
-                      ID(mov); SC(IMMex(im)); DR(crdst + 16);
-
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
                     }
                   break;
-                default: UNSUPPORTED(); break;
-              }
-            break;
-          case 0x74:
-              GETBYTE ();
-              switch (op[2] & 0xf0)
-              {
-                case 0x20:
-                  goto op_semantics_98;
-                  break;
-                case 0x40:
-                  goto op_semantics_99;
-                  break;
-                case 0x50:
-                  goto op_semantics_100;
-                  break;
-                case 0x60:
-                  goto op_semantics_101;
-                  break;
-                case 0x70:
-                  goto op_semantics_102;
-                  break;
-                case 0x80:
-                  goto op_semantics_103;
-                  break;
-                case 0x90:
-                  goto op_semantics_104;
-                  break;
-                case 0xc0:
-                  goto op_semantics_105;
-                  break;
-                case 0xd0:
-                  goto op_semantics_106;
-                  break;
-                case 0xe0:
-                  goto op_semantics_107;
-                  break;
-                case 0xf0:
-                  goto op_semantics_108;
+                case 0x8e:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
-                default: UNSUPPORTED(); break;
-              }
-            break;
-          case 0x77:
-              GETBYTE ();
-              switch (op[2] & 0xe0)
-              {
-                case 0x00:
-                  goto op_semantics_109;
+                case 0x8f:
+                    GETBYTE ();
+                    switch (op[3] & 0x0f)
+                    {
+                      case 0x00:
+                        goto op_semantics_130;
+                        break;
+                      case 0x02:
+                      case 0x03:
+                        goto op_semantics_131;
+                        break;
+                      case 0x04:
+                        goto op_semantics_132;
+                        break;
+                      case 0x09:
+                        goto op_semantics_133;
+                        break;
+                      case 0x0a:
+                        goto op_semantics_134;
+                        break;
+                      case 0x0d:
+                        goto op_semantics_135;
+                        break;
+                      default: UNSUPPORTED(); break;
+                    }
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -11769,37 +15263,37 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xf0)
               {
                 case 0x20:
-                  goto op_semantics_98;
+                  goto op_semantics_113;
                   break;
                 case 0x40:
-                  goto op_semantics_99;
+                  goto op_semantics_114;
                   break;
                 case 0x50:
-                  goto op_semantics_100;
+                  goto op_semantics_115;
                   break;
                 case 0x60:
-                  goto op_semantics_101;
+                  goto op_semantics_116;
                   break;
                 case 0x70:
-                  goto op_semantics_102;
+                  goto op_semantics_117;
                   break;
                 case 0x80:
-                  goto op_semantics_103;
+                  goto op_semantics_118;
                   break;
                 case 0x90:
-                  goto op_semantics_104;
+                  goto op_semantics_119;
                   break;
                 case 0xc0:
-                  goto op_semantics_105;
+                  goto op_semantics_120;
                   break;
                 case 0xd0:
-                  goto op_semantics_106;
+                  goto op_semantics_121;
                   break;
                 case 0xe0:
-                  goto op_semantics_107;
+                  goto op_semantics_122;
                   break;
                 case 0xf0:
-                  goto op_semantics_108;
+                  goto op_semantics_123;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -11809,7 +15303,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  goto op_semantics_109;
+                  goto op_semantics_124;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -11819,37 +15313,37 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xf0)
               {
                 case 0x20:
-                  goto op_semantics_98;
+                  goto op_semantics_113;
                   break;
                 case 0x40:
-                  goto op_semantics_99;
+                  goto op_semantics_114;
                   break;
                 case 0x50:
-                  goto op_semantics_100;
+                  goto op_semantics_115;
                   break;
                 case 0x60:
-                  goto op_semantics_101;
+                  goto op_semantics_116;
                   break;
                 case 0x70:
-                  goto op_semantics_102;
+                  goto op_semantics_117;
                   break;
                 case 0x80:
-                  goto op_semantics_103;
+                  goto op_semantics_118;
                   break;
                 case 0x90:
-                  goto op_semantics_104;
+                  goto op_semantics_119;
                   break;
                 case 0xc0:
-                  goto op_semantics_105;
+                  goto op_semantics_120;
                   break;
                 case 0xd0:
-                  goto op_semantics_106;
+                  goto op_semantics_121;
                   break;
                 case 0xe0:
-                  goto op_semantics_107;
+                  goto op_semantics_122;
                   break;
                 case 0xf0:
-                  goto op_semantics_108;
+                  goto op_semantics_123;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -11859,7 +15353,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  goto op_semantics_109;
+                  goto op_semantics_124;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -11869,14 +15363,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_110:
+                  op_semantics_136:
                     {
                       /** 1111 1101 100immmm rsrc rdst shlr    #%2, %1, %0 */
-#line 732 "rx-decode.opc"
+#line 757 "rx-decode.opc"
                       int immmm AU = op[1] & 0x1f;
-#line 732 "rx-decode.opc"
+#line 757 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 732 "rx-decode.opc"
+#line 757 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -11888,7 +15382,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("shlr     #%2, %1, %0");
-#line 732 "rx-decode.opc"
+#line 757 "rx-decode.opc"
                       ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
 
                     /*----------------------------------------------------------------------*/
@@ -11903,7 +15397,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11912,7 +15406,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11921,7 +15415,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11930,7 +15424,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11939,7 +15433,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11948,7 +15442,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11957,7 +15451,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11966,7 +15460,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11975,7 +15469,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11984,7 +15478,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -11993,7 +15487,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12002,7 +15496,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12011,7 +15505,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12020,7 +15514,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12029,7 +15523,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12038,7 +15532,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12047,7 +15541,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12056,7 +15550,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12065,7 +15559,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12074,7 +15568,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12083,7 +15577,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12092,7 +15586,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12101,7 +15595,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12110,7 +15604,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12119,7 +15613,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12128,7 +15622,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12137,7 +15631,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12146,7 +15640,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12155,7 +15649,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12164,7 +15658,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12173,7 +15667,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_110;
+                  goto op_semantics_136;
                   break;
               }
             break;
@@ -12182,14 +15676,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_111:
+                  op_semantics_137:
                     {
                       /** 1111 1101 101immmm rsrc rdst shar    #%2, %1, %0 */
-#line 722 "rx-decode.opc"
+#line 747 "rx-decode.opc"
                       int immmm AU = op[1] & 0x1f;
-#line 722 "rx-decode.opc"
+#line 747 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 722 "rx-decode.opc"
+#line 747 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -12201,7 +15695,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("shar     #%2, %1, %0");
-#line 722 "rx-decode.opc"
+#line 747 "rx-decode.opc"
                       ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
 
 
@@ -12214,7 +15708,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12223,7 +15717,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12232,7 +15726,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12241,7 +15735,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12250,7 +15744,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12259,7 +15753,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12268,7 +15762,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12277,7 +15771,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12286,7 +15780,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12295,7 +15789,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12304,7 +15798,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12313,7 +15807,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12322,7 +15816,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12331,7 +15825,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12340,7 +15834,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12349,7 +15843,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12358,7 +15852,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12367,7 +15861,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12376,7 +15870,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12385,7 +15879,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12394,7 +15888,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12403,7 +15897,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12412,7 +15906,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12421,7 +15915,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12430,7 +15924,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12439,7 +15933,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12448,7 +15942,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12457,7 +15951,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12466,7 +15960,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12475,7 +15969,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12484,7 +15978,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_111;
+                  goto op_semantics_137;
                   break;
               }
             break;
@@ -12493,14 +15987,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_112:
+                  op_semantics_138:
                     {
                       /** 1111 1101 110immmm rsrc rdst shll    #%2, %1, %0 */
-#line 712 "rx-decode.opc"
+#line 737 "rx-decode.opc"
                       int immmm AU = op[1] & 0x1f;
-#line 712 "rx-decode.opc"
+#line 737 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 712 "rx-decode.opc"
+#line 737 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -12512,7 +16006,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("shll     #%2, %1, %0");
-#line 712 "rx-decode.opc"
+#line 737 "rx-decode.opc"
                       ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
 
 
@@ -12525,7 +16019,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12534,7 +16028,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12543,7 +16037,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12552,7 +16046,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12561,7 +16055,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12570,7 +16064,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12579,7 +16073,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12588,7 +16082,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12597,7 +16091,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12606,7 +16100,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12615,7 +16109,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12624,7 +16118,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12633,7 +16127,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12642,7 +16136,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12651,7 +16145,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12660,7 +16154,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12669,7 +16163,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12678,7 +16172,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12687,7 +16181,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12696,7 +16190,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12705,7 +16199,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12714,7 +16208,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12723,7 +16217,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12732,7 +16226,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12741,7 +16235,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12750,7 +16244,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12759,7 +16253,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12768,7 +16262,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12777,7 +16271,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12786,7 +16280,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12795,7 +16289,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_112;
+                  goto op_semantics_138;
                   break;
               }
             break;
@@ -12818,14 +16312,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  op_semantics_113:
+                  op_semantics_139:
                     {
                       /** 1111 1101 111 bittt cond rdst        bm%2    #%1, %0%S0 */
-#line 986 "rx-decode.opc"
+#line 1011 "rx-decode.opc"
                       int bittt AU = op[1] & 0x1f;
-#line 986 "rx-decode.opc"
+#line 1011 "rx-decode.opc"
                       int cond AU = (op[2] >> 4) & 0x0f;
-#line 986 "rx-decode.opc"
+#line 1011 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -12837,7 +16331,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("bm%2     #%1, %0%S0");
-#line 986 "rx-decode.opc"
+#line 1011 "rx-decode.opc"
                       ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
 
                     /*----------------------------------------------------------------------*/
@@ -12846,12 +16340,12 @@ rx_decode_opcode (unsigned long pc AU,
                     }
                   break;
                 case 0xf0:
-                  op_semantics_114:
+                  op_semantics_140:
                     {
                       /** 1111 1101 111bittt 1111 rdst bnot    #%1, %0 */
-#line 979 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
                       int bittt AU = op[1] & 0x1f;
-#line 979 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -12862,7 +16356,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("bnot     #%1, %0");
-#line 979 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
                       ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
 
 
@@ -12889,10 +16383,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -12915,10 +16409,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -12941,10 +16435,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -12967,10 +16461,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -12993,10 +16487,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13019,10 +16513,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13045,10 +16539,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13071,10 +16565,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13097,10 +16591,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13123,10 +16617,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13149,10 +16643,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13175,10 +16669,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13201,10 +16695,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13227,10 +16721,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13253,10 +16747,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13279,10 +16773,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13305,10 +16799,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13331,10 +16825,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13357,10 +16851,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13383,10 +16877,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13409,10 +16903,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13435,10 +16929,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13461,10 +16955,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13487,10 +16981,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13513,10 +17007,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13539,10 +17033,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13565,10 +17059,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13591,10 +17085,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13617,10 +17111,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13643,10 +17137,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13669,10 +17163,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_113;
+                  goto op_semantics_139;
                   break;
                 case 0xf0:
-                  goto op_semantics_114;
+                  goto op_semantics_140;
                   break;
               }
             break;
@@ -13688,16 +17182,16 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_115:
+                  op_semantics_141:
                     {
                       /** 1111 1110 00sz isrc bsrc rdst        mov%s   %0, [%1, %2] */
-#line 338 "rx-decode.opc"
+#line 363 "rx-decode.opc"
                       int sz AU = (op[1] >> 4) & 0x03;
-#line 338 "rx-decode.opc"
+#line 363 "rx-decode.opc"
                       int isrc AU = op[1] & 0x0f;
-#line 338 "rx-decode.opc"
+#line 363 "rx-decode.opc"
                       int bsrc AU = (op[2] >> 4) & 0x0f;
-#line 338 "rx-decode.opc"
+#line 363 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -13710,7 +17204,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("mov%s    %0, [%1, %2]");
-#line 338 "rx-decode.opc"
+#line 363 "rx-decode.opc"
                       ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
 
                     }
@@ -13722,7 +17216,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13731,7 +17225,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13740,7 +17234,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13749,7 +17243,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13758,7 +17252,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13767,7 +17261,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13776,7 +17270,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13785,7 +17279,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13794,7 +17288,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13803,7 +17297,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13812,7 +17306,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13821,7 +17315,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13830,7 +17324,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13839,7 +17333,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13848,7 +17342,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13857,7 +17351,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13866,7 +17360,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13875,7 +17369,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13884,7 +17378,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13893,7 +17387,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13902,7 +17396,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13911,7 +17405,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13920,7 +17414,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13929,7 +17423,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13938,7 +17432,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13947,7 +17441,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13956,7 +17450,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13965,7 +17459,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13974,7 +17468,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13983,7 +17477,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -13992,7 +17486,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14001,7 +17495,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14010,7 +17504,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14019,7 +17513,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14028,7 +17522,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14037,7 +17531,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14046,7 +17540,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14055,7 +17549,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14064,7 +17558,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14073,7 +17567,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14082,7 +17576,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14091,7 +17585,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14100,7 +17594,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14109,7 +17603,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14118,7 +17612,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14127,7 +17621,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14136,7 +17630,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_115;
+                  goto op_semantics_141;
                   break;
               }
             break;
@@ -14145,16 +17639,16 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_116:
+                  op_semantics_142:
                     {
                       /** 1111 1110 01sz isrc bsrc rdst        mov%s   [%1, %2], %0 */
-#line 335 "rx-decode.opc"
+#line 360 "rx-decode.opc"
                       int sz AU = (op[1] >> 4) & 0x03;
-#line 335 "rx-decode.opc"
+#line 360 "rx-decode.opc"
                       int isrc AU = op[1] & 0x0f;
-#line 335 "rx-decode.opc"
+#line 360 "rx-decode.opc"
                       int bsrc AU = (op[2] >> 4) & 0x0f;
-#line 335 "rx-decode.opc"
+#line 360 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -14167,7 +17661,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("mov%s    [%1, %2], %0");
-#line 335 "rx-decode.opc"
+#line 360 "rx-decode.opc"
                       ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
 
                     }
@@ -14179,7 +17673,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14188,7 +17682,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14197,7 +17691,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14206,7 +17700,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14215,7 +17709,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14224,7 +17718,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14233,7 +17727,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14242,7 +17736,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14251,7 +17745,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14260,7 +17754,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14269,7 +17763,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14278,7 +17772,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14287,7 +17781,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14296,7 +17790,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14305,7 +17799,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14314,7 +17808,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14323,7 +17817,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14332,7 +17826,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14341,7 +17835,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14350,7 +17844,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14359,7 +17853,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14368,7 +17862,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14377,7 +17871,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14386,7 +17880,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14395,7 +17889,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14404,7 +17898,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14413,7 +17907,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14422,7 +17916,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14431,7 +17925,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14440,7 +17934,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14449,7 +17943,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14458,7 +17952,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14467,7 +17961,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14476,7 +17970,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14485,7 +17979,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14494,7 +17988,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14503,7 +17997,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14512,7 +18006,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14521,7 +18015,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14530,7 +18024,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14539,7 +18033,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14548,7 +18042,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14557,7 +18051,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14566,7 +18060,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14575,7 +18069,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14584,7 +18078,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14593,7 +18087,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_116;
+                  goto op_semantics_142;
                   break;
               }
             break;
@@ -14602,16 +18096,16 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_117:
+                  op_semantics_143:
                     {
                       /** 1111 1110 11sz isrc bsrc rdst        movu%s  [%1, %2], %0 */
-#line 341 "rx-decode.opc"
+#line 366 "rx-decode.opc"
                       int sz AU = (op[1] >> 4) & 0x03;
-#line 341 "rx-decode.opc"
+#line 366 "rx-decode.opc"
                       int isrc AU = op[1] & 0x0f;
-#line 341 "rx-decode.opc"
+#line 366 "rx-decode.opc"
                       int bsrc AU = (op[2] >> 4) & 0x0f;
-#line 341 "rx-decode.opc"
+#line 366 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -14624,7 +18118,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("movu%s   [%1, %2], %0");
-#line 341 "rx-decode.opc"
+#line 366 "rx-decode.opc"
                       ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
 
                     }
@@ -14636,7 +18130,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14645,7 +18139,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14654,7 +18148,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14663,7 +18157,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14672,7 +18166,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14681,7 +18175,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14690,7 +18184,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14699,7 +18193,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14708,7 +18202,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14717,7 +18211,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14726,7 +18220,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14735,7 +18229,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14744,7 +18238,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14753,7 +18247,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14762,7 +18256,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14771,7 +18265,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14780,7 +18274,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14789,7 +18283,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14798,7 +18292,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14807,7 +18301,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14816,7 +18310,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14825,7 +18319,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14834,7 +18328,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14843,7 +18337,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14852,7 +18346,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14861,7 +18355,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14870,7 +18364,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14879,7 +18373,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14888,7 +18382,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14897,7 +18391,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14906,7 +18400,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14915,7 +18409,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14924,7 +18418,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14933,7 +18427,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14942,7 +18436,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14951,7 +18445,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14960,7 +18454,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14969,7 +18463,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14978,7 +18472,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14987,7 +18481,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -14996,7 +18490,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15005,7 +18499,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15014,7 +18508,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15023,7 +18517,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15032,7 +18526,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15041,7 +18535,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15050,7 +18544,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_117;
+                  goto op_semantics_143;
                   break;
               }
             break;
@@ -15066,14 +18560,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_118:
+                  op_semantics_144:
                     {
                       /** 1111 1111 0000 rdst srca srcb        sub     %2, %1, %0 */
-#line 545 "rx-decode.opc"
+#line 570 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 545 "rx-decode.opc"
+#line 570 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 545 "rx-decode.opc"
+#line 570 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -15085,7 +18579,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("sub      %2, %1, %0");
-#line 545 "rx-decode.opc"
+#line 570 "rx-decode.opc"
                       ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
 
                     /*----------------------------------------------------------------------*/
@@ -15100,7 +18594,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15109,7 +18603,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15118,7 +18612,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15127,7 +18621,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15136,7 +18630,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15145,7 +18639,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15154,7 +18648,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15163,7 +18657,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15172,7 +18666,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15181,7 +18675,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15190,7 +18684,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15199,7 +18693,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15208,7 +18702,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15217,7 +18711,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15226,7 +18720,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_118;
+                  goto op_semantics_144;
                   break;
               }
             break;
@@ -15235,14 +18729,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_119:
+                  op_semantics_145:
                     {
                       /** 1111 1111 0010 rdst srca srcb        add     %2, %1, %0 */
-#line 512 "rx-decode.opc"
+#line 537 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 512 "rx-decode.opc"
+#line 537 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 512 "rx-decode.opc"
+#line 537 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -15254,7 +18748,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("add      %2, %1, %0");
-#line 512 "rx-decode.opc"
+#line 537 "rx-decode.opc"
                       ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
 
                     /*----------------------------------------------------------------------*/
@@ -15269,7 +18763,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15278,7 +18772,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15287,7 +18781,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15296,7 +18790,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15305,7 +18799,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15314,7 +18808,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15323,7 +18817,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15332,7 +18826,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15341,7 +18835,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15350,7 +18844,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15359,7 +18853,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15368,7 +18862,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15377,7 +18871,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15386,7 +18880,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15395,7 +18889,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_119;
+                  goto op_semantics_145;
                   break;
               }
             break;
@@ -15404,14 +18898,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_120:
+                  op_semantics_146:
                     {
                       /** 1111 1111 0011 rdst srca srcb        mul     %2, %1, %0 */
-#line 652 "rx-decode.opc"
+#line 677 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 652 "rx-decode.opc"
+#line 677 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 652 "rx-decode.opc"
+#line 677 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -15423,7 +18917,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("mul      %2, %1, %0");
-#line 652 "rx-decode.opc"
+#line 677 "rx-decode.opc"
                       ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
 
                     /*----------------------------------------------------------------------*/
@@ -15438,7 +18932,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15447,7 +18941,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15456,7 +18950,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15465,7 +18959,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15474,7 +18968,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15483,7 +18977,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15492,7 +18986,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15501,7 +18995,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15510,7 +19004,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15519,7 +19013,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15528,7 +19022,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15537,7 +19031,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15546,7 +19040,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15555,7 +19049,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15564,7 +19058,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_120;
+                  goto op_semantics_146;
                   break;
               }
             break;
@@ -15573,14 +19067,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_121:
+                  op_semantics_147:
                     {
                       /** 1111 1111 0100 rdst srca srcb        and     %2, %1, %0 */
-#line 422 "rx-decode.opc"
+#line 447 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 422 "rx-decode.opc"
+#line 447 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 422 "rx-decode.opc"
+#line 447 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -15592,7 +19086,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("and      %2, %1, %0");
-#line 422 "rx-decode.opc"
+#line 447 "rx-decode.opc"
                       ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     /*----------------------------------------------------------------------*/
@@ -15607,7 +19101,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15616,7 +19110,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15625,7 +19119,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15634,7 +19128,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15643,7 +19137,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15652,7 +19146,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15661,7 +19155,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15670,7 +19164,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15679,7 +19173,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15688,7 +19182,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15697,7 +19191,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15706,7 +19200,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15715,7 +19209,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15724,7 +19218,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15733,7 +19227,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_121;
+                  goto op_semantics_147;
                   break;
               }
             break;
@@ -15742,14 +19236,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_122:
+                  op_semantics_148:
                     {
                       /** 1111 1111 0101 rdst srca srcb        or      %2, %1, %0 */
-#line 440 "rx-decode.opc"
+#line 465 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 440 "rx-decode.opc"
+#line 465 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 440 "rx-decode.opc"
+#line 465 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -15761,7 +19255,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("or       %2, %1, %0");
-#line 440 "rx-decode.opc"
+#line 465 "rx-decode.opc"
                       ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     /*----------------------------------------------------------------------*/
@@ -15776,7 +19270,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15785,7 +19279,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15794,7 +19288,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15803,7 +19297,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15812,7 +19306,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15821,7 +19315,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15830,7 +19324,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15839,7 +19333,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15848,7 +19342,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15857,7 +19351,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15866,7 +19360,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15875,7 +19369,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15884,7 +19378,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15893,7 +19387,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
                   break;
               }
             break;
@@ -15902,7 +19396,173 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_122;
+                  goto op_semantics_148;
+                  break;
+              }
+            break;
+          case 0x60:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_149:
+                    {
+                      /** 1111 1111 0110 rdst srca srcb        xor     %2, %1, %0 */
+#line 1146 "rx-decode.opc"
+                      int rdst AU = op[1] & 0x0f;
+#line 1146 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1146 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1111 0110 rdst srca srcb    xor     %2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("xor      %2, %1, %0");
+#line 1146 "rx-decode.opc"
+                      ID(xor); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+                    }
+                  break;
+              }
+            break;
+          case 0x61:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x62:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x63:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x64:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x65:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x66:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x67:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x68:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x69:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x6a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x6b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x6c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x6d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x6e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
+                  break;
+              }
+            break;
+          case 0x6f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_149;
                   break;
               }
             break;
@@ -15911,14 +19571,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_123:
+                  op_semantics_150:
                     {
                       /** 1111 1111 1000 rdst srca srcb        fsub    %2, %1, %0 */
-#line 1100 "rx-decode.opc"
+#line 1125 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 1100 "rx-decode.opc"
+#line 1125 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 1100 "rx-decode.opc"
+#line 1125 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -15930,7 +19590,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("fsub     %2, %1, %0");
-#line 1100 "rx-decode.opc"
+#line 1125 "rx-decode.opc"
                       ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     }
@@ -15942,7 +19602,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -15951,7 +19611,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -15960,7 +19620,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -15969,7 +19629,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -15978,7 +19638,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -15987,7 +19647,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -15996,7 +19656,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16005,7 +19665,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16014,7 +19674,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16023,7 +19683,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16032,7 +19692,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16041,7 +19701,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16050,7 +19710,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16059,7 +19719,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16068,7 +19728,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_123;
+                  goto op_semantics_150;
                   break;
               }
             break;
@@ -16077,14 +19737,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_124:
+                  op_semantics_151:
                     {
                       /** 1111 1111 1010 rdst srca srcb        fadd    %2, %1, %0 */
-#line 1097 "rx-decode.opc"
+#line 1122 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 1097 "rx-decode.opc"
+#line 1122 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 1097 "rx-decode.opc"
+#line 1122 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -16096,7 +19756,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("fadd     %2, %1, %0");
-#line 1097 "rx-decode.opc"
+#line 1122 "rx-decode.opc"
                       ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     }
@@ -16108,7 +19768,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16117,7 +19777,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16126,7 +19786,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16135,7 +19795,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16144,7 +19804,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16153,7 +19813,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16162,7 +19822,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16171,7 +19831,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16180,7 +19840,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16189,7 +19849,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16198,7 +19858,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16207,7 +19867,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16216,7 +19876,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16225,7 +19885,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16234,7 +19894,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_124;
+                  goto op_semantics_151;
                   break;
               }
             break;
@@ -16243,14 +19903,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_125:
+                  op_semantics_152:
                     {
                       /** 1111 1111 1011 rdst srca srcb        fmul    %2, %1, %0 */
-#line 1103 "rx-decode.opc"
+#line 1128 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 1103 "rx-decode.opc"
+#line 1128 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 1103 "rx-decode.opc"
+#line 1128 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -16262,7 +19922,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  srcb = 0x%x\n", srcb);
                         }
                       SYNTAX("fmul     %2, %1, %0");
-#line 1103 "rx-decode.opc"
+#line 1128 "rx-decode.opc"
                       ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     }
@@ -16274,7 +19934,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16283,7 +19943,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16292,7 +19952,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16301,7 +19961,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16310,7 +19970,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16319,7 +19979,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16328,7 +19988,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16337,7 +19997,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16346,7 +20006,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16355,7 +20015,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16364,7 +20024,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16373,7 +20033,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16382,7 +20042,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16391,7 +20051,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16400,7 +20060,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_125;
+                  goto op_semantics_152;
                   break;
               }
             break;
@@ -16409,7 +20069,7 @@ rx_decode_opcode (unsigned long pc AU,
       break;
     default: UNSUPPORTED(); break;
   }
-#line 1118 "rx-decode.opc"
+#line 1280 "rx-decode.opc"
 
   return rx->n_bytes;
 }
This page took 0.338093 seconds and 4 git commands to generate.