+/*----------------------------------------------------------------------*/
+/* RXv3 enhanced */
+
+/** 1111 1111 0110 rdst srca srcb xor %2, %1, %0 */
+ ID(xor); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+/** 1111 1100 0101 1110 rsrc rdst bfmov %bf */
+ ID(bfmov); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____;
+
+/** 1111 1100 0101 1010 rsrc rdst bfmovz %bf */
+ ID(bfmovz); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____;
+
+/** 1111 1101 0111 0110 1101 rsrc 0000 0000 rstr %1 */
+ ID(rstr); SR(rsrc); F_____;
+
+/** 1111 1101 0111 0110 1111 0000 rstr #%1 */
+ ID(rstr); SC(IMM(1)); F_____;
+
+/** 1111 1101 0111 0110 1100 rsrc 0000 0000 save %1 */
+ ID(save); SR(rsrc); F_____;
+
+/** 1111 1101 0111 0110 1110 0000 save #%1 */
+ ID(save); SC(IMM(1)); F_____;
+
+/** 1111 1101 0111 0111 1000 rsrc rdst 001s dmov%s %1, %0 */
+ ID(dmov); DDRH(rdst); SR(rsrc); DL(s); F_____;
+
+/** 1111 1101 0111 0111 1000 rsrc rdst 0000 dmov.l %1, %0 */
+ ID(dmov); DDRL(rdst); SR(rsrc); F_____;
+
+/** 1111 1101 0111 0101 1000 rdst rsrc 0010 dmov.l %1, %0 */
+ ID(dmov); DR(rdst); SDRH(rsrc); F_____;
+
+/** 1111 1101 0111 0101 1000 rdst rsrc 0000 dmov.l %1, %0 */
+ ID(dmov); DR(rdst); SDRL(rsrc); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */
+ ID(dmov); DDR(rdst); SDR(rsrc); F_____;
+
+/** 1111 1100 0111 1000 rdst 1000 rsrc 0000 dmov.d %1, %0 */
+ ID(dmov); DD(0, rdst, 0); SDR(rsrc); F_____;
+
+/** 1111 1100 0111 10sz rdst 1000 dmov.d %1, %0 */
+ int rsrc;
+ rx_disp(0, sz, rdst, RX_Double, ld);
+ rsrc = GETBYTE();
+ if (rsrc & 0x0f)
+ UNSUPPORTED();
+ else {
+ ID(dmov); SDR(rsrc >> 4); F_____;
+ }
+
+/** 1111 1100 1100 1000 rsrc 1000 rdst 0000 dmov.d %1, %0 */
+ ID(dmov); SD(sd, rsrc, 0) ; DDR(rdst); F_____;
+
+/** 1111 1100 1100 10sz rsrc 1000 dmov.d %1, %0 */
+ int rdst;
+ rx_disp(1, sz, rsrc, RX_Double, ld);
+ rdst = GETBYTE();
+ if (rdst & 0x0f)
+ UNSUPPORTED();
+ else {
+ ID(dmov); DDR(rdst >> 4); F_____;
+ }
+
+/** 1111 1001 0000 0011 rdst 001s dmov%s #%1, %0 */
+ ID(dmov); DDRH(rdst); DL(s); SC(IMMex(0)); F_____;
+
+/** 1111 1001 0000 0011 rdst 0000 dmov.l #%1, %0 */
+ ID(dmov); DDRL(rdst); SC(IMMex(0)); F_____;
+
+/** 0111 0101 1011 1000 rdst rnum dpopm.d %1-%2 */
+ ID(dpopm); SDR(rdst); S2DR(rdst + rnum); F_____;
+
+/** 0111 0101 1010 1000 rdst rnum dpopm.l %1-%2 */
+ ID(dpopm); SCR(rdst); S2CR(rdst + rnum); F_____;
+
+/** 0111 0101 1011 0000 rdst rnum dpushm.d %1-%2 */
+ ID(dpushm); SDR(rdst); S2DR(rdst + rnum); F_____;
+
+/** 0111 0101 1010 0000 rdst rnum dpushm.l %1-%2 */
+ ID(dpushm); SCR(rdst); S2CR(rdst + rnum); F_____;
+
+/** 1111 1101 0111 0101 1000 rdst rsrc 0100 mvfdc %1, %0 */
+ ID(mvfdc); DR(rdst); SCR(rsrc); F_____;
+
+/** 0111 0101 1001 0000 0001 1011 mvfdr */
+ ID(mvfdr); F_____;
+
+/** 1111 1101 0111 0111 1000 rdst rsrc 0100 mvtdc %1, %0 */
+ ID(mvtdc); DCR(rdst); SR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */
+ ID(dabs); DDR(rdst); SDR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */
+ ID(dadd); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+/** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */
+ ID(dcmp); DCND(cond); SDR(srca); S2DR(srcb); F_____;
+
+/** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */
+ ID(ddiv); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+/** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */
+ ID(dmul); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */
+ ID(dneg); DDR(rdst); SDR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */
+ ID(dround); DDR(rdst); SDR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */
+ ID(dsqrt); DDR(rdst); SDR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */
+ ID(dsub); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */
+ ID(dtof); DDR(rdst); SDR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */
+ ID(dtoi); DDR(rdst); SDR(rsrc); F_____;
+
+/** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */
+ ID(dtou); DDR(rdst); SDR(rsrc); F_____;
+
+/** 1111 1101 0111 0111 1000 rsrc rdst 1010 ftod %1, %0 */
+ ID(ftod); DDR(rdst); SR(rsrc); F_____;
+
+/** 1111 1101 0111 0111 1000 rsrc rdst 1001 itod %1, %0 */
+ ID(itod); DDR(rdst); SR(rsrc); F_____;
+
+/** 1111 1101 0111 0111 1000 rsrc rdst 1101 utod %1, %0 */
+ ID(dsqrt); DDR(rdst); SR(rsrc); F_____;
+