* m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
authorSteve Chamberlain <sac@cygnus>
Wed, 12 Aug 1992 23:39:34 +0000 (23:39 +0000)
committerSteve Chamberlain <sac@cygnus>
Wed, 12 Aug 1992 23:39:34 +0000 (23:39 +0000)
all missing .s

include/opcode/ChangeLog
include/opcode/m68kmri.h

index dda0abf92d7bd166bd45edcfc53e70fa3f8cdbdf..dd9674a028953c391d36b8cd3b81a93e977d9e7d 100644 (file)
@@ -1,3 +1,8 @@
+Wed Aug 12 16:38:15 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+       * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
+       all missing .s
+
 Mon Aug 10 23:22:33 1992  Ken Raeburn  (raeburn@cygnus.com)
 
        * sparc.h: Moved tables to BFD library.
index 7c39073c3eb225c6672e9e1bd768539f02989493..c26c9a542007961a1f5fb504223e37bddf0b65f3 100644 (file)
@@ -257,86 +257,106 @@ struct m68k_opcode m68k_opcodes[] =
 {"abcd",       one(0140410),           one(0170770), "-s-d", m68000up },
 
                /* Add instructions */
-{"addal",      one(0150700),           one(0170700), "*lAd", m68000up },
-{"addaw",      one(0150300),           one(0170700), "*wAd", m68000up },
-{"addib",      one(0003000),           one(0177700), "#b$b", m68000up },
+{"adda.l",     one(0150700),           one(0170700), "*lAd", m68000up },
+{"adda.w",     one(0150300),           one(0170700), "*wAd", m68000up },
+{"addi.b",     one(0003000),           one(0177700), "#b$b", m68000up },
+
 
-#ifdef MRI
 {"addi",       one(0050200),           one(0170700), "Qd%l", m68000up },
 {"addi",       one(0003200),           one(0177700), "#l$l", m68000up },       /* addi written as add */
 {"addq",       one(0050100),           one(0170700), "Qd%w", m68000up },
-#endif
 
-{"addil",      one(0003200),           one(0177700), "#l$l", m68000up },
-{"addiw",      one(0003100),           one(0177700), "#w$w", m68000up },
-{"addqb",      one(0050000),           one(0170700), "Qd$b", m68000up },
-{"addql",      one(0050200),           one(0170700), "Qd%l", m68000up },
-{"addqw",      one(0050100),           one(0170700), "Qd%w", m68000up },
-
-{"addb",       one(0050000),           one(0170700), "Qd$b", m68000up },       /* addq written as add */
-{"addb",       one(0003000),           one(0177700), "#b$b", m68000up },       /* addi written as add */
-{"addb",       one(0150000),           one(0170700), ";bDd", m68000up },       /* addb <ea>,   Dd */
-{"addb",       one(0150400),           one(0170700), "Dd~b", m68000up },       /* addb Dd,     <ea> */
-
-{"addw",       one(0150300),           one(0170700), "*wAd", m68000up },       /* adda written as add */
-{"addw",       one(0050100),           one(0170700), "Qd%w", m68000up },       /* addq written as add */
-{"addw",       one(0003100),           one(0177700), "#w$w", m68000up },       /* addi written as add */
-{"addw",       one(0150100),           one(0170700), "*wDd", m68000up },       /* addw <ea>,   Dd */
-{"addw",       one(0150500),           one(0170700), "Dd~w", m68000up },       /* addw Dd,     <ea> */
-
-{"addl",       one(0050200),           one(0170700), "Qd%l", m68000up },       /* addq written as add */
-{"addl",       one(0003200),           one(0177700), "#l$l", m68000up },       /* addi written as add */
-{"addl",       one(0150700),           one(0170700), "*lAd", m68000up },       /* adda written as add */
-{"addl",       one(0150200),           one(0170700), "*lDd", m68000up },       /* addl <ea>,   Dd */
-{"addl",       one(0150600),           one(0170700), "Dd~l", m68000up },       /* addl Dd,     <ea> */
-
-{"addxb",      one(0150400),           one(0170770), "DsDd", m68000up },
-{"addxb",      one(0150410),           one(0170770), "-s-d", m68000up },
-{"addxl",      one(0150600),           one(0170770), "DsDd", m68000up },
-{"addxl",      one(0150610),           one(0170770), "-s-d", m68000up },
-{"addxw",      one(0150500),           one(0170770), "DsDd", m68000up },
-{"addxw",      one(0150510),           one(0170770), "-s-d", m68000up },
-
-#ifdef MRI
+
+{"addi.l",     one(0003200),           one(0177700), "#l$l", m68000up },
+{"addi.w",     one(0003100),           one(0177700), "#w$w", m68000up },
+{"addq.b",     one(0050000),           one(0170700), "Qd$b", m68000up },
+{"addq.b",     one(0003000),           one(0177700), "#b$b", m68000up }, /* FIXNIEL: addi instead of addq because to many frags */
+{"addq.l",     one(0050200),           one(0170700), "Qd%l", m68000up },
+{"addq.l",     one(0003200),           one(0177700), "#l$l", m68000up }, /* FIXNIEL: addi instead of addq because to many frags */
+{"addq.w",     one(0050100),           one(0170700), "Qd%w", m68000up },
+{"addq.w",     one(0003100),           one(0177700), "#w$w", m68000up }, /* FIXNIEL: addi instead of addq because to many frags */
+
+{"add.b",      one(0050000),           one(0170700), "Qd$b", m68000up },       /* addq written as add */
+{"add.b",      one(0003000),           one(0177700), "#b$b", m68000up },       /* addi written as add */
+{"add.b",      one(0150000),           one(0170700), ";bDd", m68000up },       /* addb <ea>,   Dd */
+{"add.b",      one(0150400),           one(0170700), "Dd~b", m68000up },       /* add.b Dd,    <ea> */
+
+{"add.w",      one(0150300),           one(0170700), "*wAd", m68000up },       /* adda written as add */
+{"add.w",      one(0050100),           one(0170700), "Qd%w", m68000up },       /* addq written as add */
+{"add.w",      one(0003100),           one(0177700), "#w$w", m68000up },       /* addi written as add */
+{"add.w",      one(0150100),           one(0170700), "*wDd", m68000up },       /* addw <ea>,   Dd */
+{"add.w",      one(0150500),           one(0170700), "Dd~w", m68000up },       /* addw Dd,     <ea> */
+
+{"add.l",      one(0050200),           one(0170700), "Qd%l", m68000up },       /* addq written as add */
+{"add.l",      one(0003200),           one(0177700), "#l$l", m68000up },       /* addi written as add */
+{"add.l",      one(0150700),           one(0170700), "*lAd", m68000up },       /* adda written as add */
+{"add.l",      one(0150200),           one(0170700), "*lDd", m68000up },       /* addl <ea>,   Dd */
+{"add.l",      one(0150600),           one(0170700), "Dd~l", m68000up },       /* addl Dd,     <ea> */
+
+{"addx.b",     one(0150400),           one(0170770), "DsDd", m68000up },
+{"addx.b",     one(0150410),           one(0170770), "-s-d", m68000up },
+{"addx.l",     one(0150600),           one(0170770), "DsDd", m68000up },
+{"addx.l",     one(0150610),           one(0170770), "-s-d", m68000up },
+{"addx.w",     one(0150500),           one(0170770), "DsDd", m68000up },
+{"addx.w",     one(0150510),           one(0170770), "-s-d", m68000up },
 {"andi",       one(0001200),           one(0177700), "#l$l", m68000up },
 {"andi",       one(0001174),           one(0177777), "#wSw", m68000up },       /* andi to sr */
 {"andi",       one(0001074),           one(0177777), "#bCb", m68000up },       /* andi to ccr */
-#endif
-{"andib",      one(0001000),           one(0177700), "#b$b", m68000up },
-{"andib",      one(0001074),           one(0177777), "#bCb", m68000up },       /* andi to ccr */
-{"andiw",      one(0001100),           one(0177700), "#w$w", m68000up },
-{"andiw",      one(0001174),           one(0177777), "#wSw", m68000up },       /* andi to sr */
-{"andil",      one(0001200),           one(0177700), "#l$l", m68000up },
-
-{"andb",       one(0001000),           one(0177700), "#b$b", m68000up },       /* andi written as or */
-{"andb",       one(0001074),           one(0177777), "#bCb", m68000up },       /* andi to ccr */
-{"andb",       one(0140000),           one(0170700), ";bDd", m68000up },       /* memory to register */
-{"andb",       one(0140400),           one(0170700), "Dd~b", m68000up },       /* register to memory */
-{"andw",       one(0001100),           one(0177700), "#w$w", m68000up },       /* andi written as or */
-{"andw",       one(0001174),           one(0177777), "#wSw", m68000up },       /* andi to sr */
-{"andw",       one(0140100),           one(0170700), ";wDd", m68000up },       /* memory to register */
-{"andw",       one(0140500),           one(0170700), "Dd~w", m68000up },       /* register to memory */
-{"andl",       one(0001200),           one(0177700), "#l$l", m68000up },       /* andi written as or */
-{"andl",       one(0140200),           one(0170700), ";lDd", m68000up },       /* memory to register */
-{"andl",       one(0140600),           one(0170700), "Dd~l", m68000up },       /* register to memory */
-
-{"aslb",       one(0160400),           one(0170770), "QdDs", m68000up },
-{"aslb",       one(0160440),           one(0170770), "DdDs", m68000up },
-{"asll",       one(0160600),           one(0170770), "QdDs", m68000up },
-{"asll",       one(0160640),           one(0170770), "DdDs", m68000up },
-{"aslw",       one(0160500),           one(0170770), "QdDs", m68000up },
-{"aslw",       one(0160540),           one(0170770), "DdDs", m68000up },
-{"aslw",       one(0160700),           one(0177700), "~s",   m68000up },       /* Shift memory */
-{"asrb",       one(0160000),           one(0170770), "QdDs", m68000up },
-{"asrb",       one(0160040),           one(0170770), "DdDs", m68000up },
-{"asrl",       one(0160200),           one(0170770), "QdDs", m68000up },
-{"asrl",       one(0160240),           one(0170770), "DdDs", m68000up },
-{"asrw",       one(0160100),           one(0170770), "QdDs", m68000up },
-{"asrw",       one(0160140),           one(0170770), "DdDs", m68000up },
-{"asrw",       one(0160300),           one(0177700), "~s",   m68000up },       /* Shift memory */
-
+{"andi.b",     one(0001000),           one(0177700), "#b$b", m68000up },
+{"andi.b",     one(0001074),           one(0177777), "#bCb", m68000up },       /* andi to ccr */
+{"andi.w",     one(0001100),           one(0177700), "#w$w", m68000up },
+{"andi.w",     one(0001174),           one(0177777), "#wSw", m68000up },       /* andi to sr */
+{"andi.l",     one(0001200),           one(0177700), "#l$l", m68000up },
+{"and.b",      one(0001000),           one(0177700), "#b$b", m68000up },       /* andi written as or */
+{"and.b",      one(0001074),           one(0177777), "#bCb", m68000up },       /* andi to ccr */
+{"and.b",      one(0140000),           one(0170700), ";bDd", m68000up },       /* memory to register */
+{"and.b",      one(0140400),           one(0170700), "Dd~b", m68000up },       /* register to memory */
+{"and.w",      one(0001100),           one(0177700), "#w$w", m68000up },       /* andi written as or */
+{"and.w",      one(0001174),           one(0177777), "#wSw", m68000up },       /* andi to sr */
+{"and.w",      one(0140100),           one(0170700), ";wDd", m68000up },       /* memory to register */
+{"and.w",      one(0140500),           one(0170700), "Dd~w", m68000up },       /* register to memory */
+{"and.l",      one(0001200),           one(0177700), "#l$l", m68000up },       /* andi written as or */
+{"and.l",      one(0140200),           one(0170700), ";lDd", m68000up },       /* memory to register */
+{"and.l",      one(0140600),           one(0170700), "Dd~l", m68000up },       /* register to memory */
+
+{"asl.b",      one(0160400),           one(0170770), "QdDs", m68000up },
+{"asl.b",      one(0160440),           one(0170770), "DdDs", m68000up },
+{"asl.l",      one(0160600),           one(0170770), "QdDs", m68000up },
+{"asl.l",      one(0160640),           one(0170770), "DdDs", m68000up },
+{"asl.w",      one(0160500),           one(0170770), "QdDs", m68000up },
+{"asl.w",      one(0160540),           one(0170770), "DdDs", m68000up },
+{"asl.w",      one(0160700),           one(0177700), "~s",   m68000up },       /* Shift memory */
+{"asr.b",      one(0160000),           one(0170770), "QdDs", m68000up },
+{"asr.b",      one(0160040),           one(0170770), "DdDs", m68000up },
+{"asr.l",      one(0160200),           one(0170770), "QdDs", m68000up },
+{"asr.l",      one(0160240),           one(0170770), "DdDs", m68000up },
+{"asr.w",      one(0160100),           one(0170770), "QdDs", m68000up },
+{"asr.w",      one(0160140),           one(0170770), "DdDs", m68000up },
+{"asr.w",      one(0160300),           one(0177700), "~s",   m68000up },       /* Shift memory */
+
+/* Customers want bhi and friends to be variable sized - stolen from jhi */
+{"bhi",                one(0061000),           one(0177400),           "Bg", m68000up },
+{"bls",                one(0061400),           one(0177400),           "Bg", m68000up },
+{"bcc",                one(0062000),           one(0177400),           "Bg", m68000up },
+{"bcs",                one(0062400),           one(0177400),           "Bg", m68000up },
+{"bne",                one(0063000),           one(0177400),           "Bg", m68000up },
+{"beq",                one(0063400),           one(0177400),           "Bg", m68000up },
+{"bvc",                one(0064000),           one(0177400),           "Bg", m68000up },
+{"bvs",                one(0064400),           one(0177400),           "Bg", m68000up },
+{"bpl",                one(0065000),           one(0177400),           "Bg", m68000up },
+{"bmi",                one(0065400),           one(0177400),           "Bg", m68000up },
+{"bge",                one(0066000),           one(0177400),           "Bg", m68000up },
+{"blt",                one(0066400),           one(0177400),           "Bg", m68000up },
+{"bgt",                one(0067000),           one(0177400),           "Bg", m68000up },
+{"ble",                one(0067400),           one(0177400),           "Bg", m68000up },
+
+{"bsr",        one(0060400),           one(0177400),           "Bg", m68000up },
+{"bsr",        one(0047200),           one(0177700),           "!s", m68000up },
+{"bra",                one(0060000),           one(0177400),           "Bg", m68000up },
+{"bra",                one(0047300),           one(0177700),           "!s", m68000up },
+
+#if 0
 /* Fixed-size branches with 16-bit offsets */
-
 {"bhi",                one(0061000),           one(0177777), "BW", m68000up },
 {"bls",                one(0061400),           one(0177777), "BW", m68000up },
 {"bcc",                one(0062000),           one(0177777), "BW", m68000up },
@@ -355,7 +375,7 @@ struct m68k_opcode m68k_opcodes[] =
 {"jfngt",      one(0067400),           one(0177777), "BW", m68000up }, /* apparently a sun alias */
 {"bra",                one(0060000),           one(0177777), "BW", m68000up },
 {"bsr",                one(0060400),           one(0177777), "BW", m68000up },
-
+#endif
 /* Fixed-size branches with short (byte) offsets */
 
 {"bhi.s",      one(0061000),           one(0177400), "BB", m68000up },
@@ -375,40 +395,54 @@ struct m68k_opcode m68k_opcodes[] =
 {"ble.s",      one(0067400),           one(0177400), "BB", m68000up },
 {"bra.s",      one(0060000),           one(0177400), "BB", m68000up },
 {"bsr.s",      one(0060400),           one(0177400), "BB", m68000up },
-
+{"bhi.s",      one(0061000),           one(0177400), "BB", m68000up },
+{"bls.s",      one(0061400),           one(0177400), "BB", m68000up },
+{"bcc.s",      one(0062000),           one(0177400), "BB", m68000up },
+{"bcs.s",      one(0062400),           one(0177400), "BB", m68000up },
+{"bne.s",      one(0063000),           one(0177400), "BB", m68000up },
+{"beq.s",      one(0063400),           one(0177400), "BB", m68000up },
+{"bvc.s",      one(0064000),           one(0177400), "BB", m68000up },
+{"bvs.s",      one(0064400),           one(0177400), "BB", m68000up },
+{"bpl.s",      one(0065000),           one(0177400), "BB", m68000up },
+{"bmi.s",      one(0065400),           one(0177400), "BB", m68000up },
+{"bge.s",      one(0066000),           one(0177400), "BB", m68000up },
+{"blt.s",      one(0066400),           one(0177400), "BB", m68000up },
+{"bgt.s",      one(0067000),           one(0177400), "BB", m68000up },
+{"ble.s",      one(0067400),           one(0177400), "BB", m68000up },
+{"bra.s",      one(0060000),           one(0177400), "BB", m68000up },
+{"bsr.s",      one(0060400),           one(0177400), "BB", m68000up },
 /* Fixed-size branches with long (32-bit) offsets */
 
-{"bhil",       one(0061377),           one(0177777), "BL", m68020up },
-{"blsl",       one(0061777),           one(0177777), "BL", m68020up },
-{"bccl",       one(0062377),           one(0177777), "BL", m68020up },
-{"bcsl",       one(0062777),           one(0177777), "BL", m68020up },
-{"bnel",       one(0063377),           one(0177777), "BL", m68020up },
-{"beql",       one(0063777),           one(0177777), "BL", m68020up },
-{"bvcl",       one(0064377),           one(0177777), "BL", m68020up },
-{"bvsl",       one(0064777),           one(0177777), "BL", m68020up },
-{"bpll",       one(0065377),           one(0177777), "BL", m68020up },
-{"bmil",       one(0065777),           one(0177777), "BL", m68020up },
-{"bgel",       one(0066377),           one(0177777), "BL", m68020up },
-{"bltl",       one(0066777),           one(0177777), "BL", m68020up },
-{"bgtl",       one(0067377),           one(0177777), "BL", m68020up },
-{"blel",       one(0067777),           one(0177777), "BL", m68020up },
-{"bral",       one(0060377),           one(0177777), "BL", m68020up },
-{"bsrl",       one(0060777),           one(0177777), "BL", m68020up },
+{"bhi.l",      one(0061377),           one(0177777), "BL", m68020up },
+{"bls.l",      one(0061777),           one(0177777), "BL", m68020up },
+{"bcc.l",      one(0062377),           one(0177777), "BL", m68020up },
+{"bcs.l",      one(0062777),           one(0177777), "BL", m68020up },
+{"bne.l",      one(0063377),           one(0177777), "BL", m68020up },
+{"beq.l",      one(0063777),           one(0177777), "BL", m68020up },
+{"bvc.l",      one(0064377),           one(0177777), "BL", m68020up },
+{"bvs.l",      one(0064777),           one(0177777), "BL", m68020up },
+{"bpl.l",      one(0065377),           one(0177777), "BL", m68020up },
+{"bmi.l",      one(0065777),           one(0177777), "BL", m68020up },
+{"bge.l",      one(0066377),           one(0177777), "BL", m68020up },
+{"blt.l",      one(0066777),           one(0177777), "BL", m68020up },
+{"bgt.l",      one(0067377),           one(0177777), "BL", m68020up },
+{"ble.l",      one(0067777),           one(0177777), "BL", m68020up },
+{"bra.l",      one(0060377),           one(0177777), "BL", m68020up },
+{"bsr.l",      one(0060777),           one(0177777), "BL", m68020up },
 
 /* We now return you to our regularly scheduled instruction set */
-#ifdef MRI
 
-{"bchgb",      one(0000500),           one(0170700),           "Dd$s", m68000up },
-{"bchgb",      one(0004100),           one(0177700),           "#b$s", m68000up },
-{"bclrb",      one(0000600),           one(0170700),           "Dd$s", m68000up },
-{"bclrb",      one(0004200),           one(0177700),           "#b$s", m68000up },
+{"bchg.b",     one(0000500),           one(0170700),           "Dd$s", m68000up },
+{"bchg.b",     one(0004100),           one(0177700),           "#b$s", m68000up },
+{"bclr.b",     one(0000600),           one(0170700),           "Dd$s", m68000up },
+{"bclr.b",     one(0004200),           one(0177700),           "#b$s", m68000up },
+
+{"bchg.l",     one(0000500),           one(0170700),           "Dd$s", m68000up },
+{"bchg.l",     one(0004100),           one(0177700),           "#b$s", m68000up },
+{"bclr.l",     one(0000600),           one(0170700),           "Dd$s", m68000up },
+{"bclr.l",     one(0004200),           one(0177700),           "#b$s", m68000up },
 
-{"bchgl",      one(0000500),           one(0170700),           "Dd$s", m68000up },
-{"bchgl",      one(0004100),           one(0177700),           "#b$s", m68000up },
-{"bclrl",      one(0000600),           one(0170700),           "Dd$s", m68000up },
-{"bclrl",      one(0004200),           one(0177700),           "#b$s", m68000up },
 
-#endif
 
 {"bchg",       one(0000500),           one(0170700),           "Dd$s", m68000up },
 {"bchg",       one(0004100),           one(0177700),           "#b$s", m68000up },
@@ -425,20 +459,16 @@ struct m68k_opcode m68k_opcodes[] =
 {"bftst",      two(0164300, 0),        two(0177700, 0170000),  "/sO2O3",   m68020up },
 {"bkpt",       one(0044110),           one(0177770),           "Qs",       m68020up },
 
-#ifdef MRI
 
-{"bsetb",      one(0000700),           one(0170700),           "Dd$s", m68000up },
-{"bsetb",      one(0004300),           one(0177700),           "#b$s", m68000up },
-{"btstb",      one(0000400),           one(0170700),           "Dd@s", m68000up },
-{"btstb",      one(0004000),           one(0177700),           "#b@s", m68000up },
+{"bset.b",     one(0000700),           one(0170700),           "Dd$s", m68000up },
+{"bset.b",     one(0004300),           one(0177700),           "#b$s", m68000up },
+{"btst.b",     one(0000400),           one(0170700),           "Dd@s", m68000up },
+{"btst.b",     one(0004000),           one(0177700),           "#b@s", m68000up },
 
-{"bsetl",      one(0000700),           one(0170700),           "Dd$s", m68000up },
-{"bsetl",      one(0004300),           one(0177700),           "#b$s", m68000up },
-{"btstl",      one(0000400),           one(0170700),           "Dd@s", m68000up },
-{"btstl",      one(0004000),           one(0177700),           "#b@s", m68000up },
-
-
-#endif
+{"bset.l",     one(0000700),           one(0170700),           "Dd$s", m68000up },
+{"bset.l",     one(0004300),           one(0177700),           "#b$s", m68000up },
+{"btst.l",     one(0000400),           one(0170700),           "Dd@s", m68000up },
+{"btst.l",     one(0004000),           one(0177700),           "#b@s", m68000up },
 
 {"bset",       one(0000700),           one(0170700),           "Dd$s", m68000up },
 {"bset",       one(0004300),           one(0177700),           "#b$s", m68000up },
@@ -448,38 +478,35 @@ struct m68k_opcode m68k_opcodes[] =
 
 {"callm",      one(0003300),           one(0177700),           "#b!s", m68020 },
 
-#ifdef MRI
+
 {"casw",       two(0006300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
 {"cas",                two(0006300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
 {"cas2",       two(0006374, 0),        two(0177777, 0107070),  "D3D6D2D5R1R4", m68020up }, /* JF ditto */
-#endif
 
-{"cas2l",      two(0007374, 0),        two(0177777, 0107070),  "D3D6D2D5R1R4", m68020up }, /* JF FOO really a 3 word ins */
-{"cas2w",      two(0006374, 0),        two(0177777, 0107070),  "D3D6D2D5R1R4", m68020up }, /* JF ditto */
-{"casb",       two(0005300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
-{"casl",       two(0007300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
-{"casw",       two(0006300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
 
-#ifdef MRI
+{"cas2.l",     two(0007374, 0),        two(0177777, 0107070),  "D3D6D2D5R1R4", m68020up }, /* JF FOO really a 3 word ins */
+{"cas2.w",     two(0006374, 0),        two(0177777, 0107070),  "D3D6D2D5R1R4", m68020up }, /* JF ditto */
+{"cas.b",      two(0005300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
+{"cas.l",      two(0007300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
+{"cas.w",      two(0006300, 0),        two(0177700, 0177070),  "D3D2~s", m68020up },
+
 {"chk",        one(0040600),           one(0170700),           ";wDd", m68000up },
 {"chk",                one(0040400),           one(0170700),           ";lDd", m68000up },
 
-#endif
 /*  {"chk",    one(0040600),           one(0170700),           ";wDd"}, JF FOO this looks wrong */
 
-#ifdef MRI
+
 {"chk2",       two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
-#endif
-{"chk2b",      two(0000300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
-{"chk2l",      two(0002300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
-{"chk2w",      two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
 
-#ifdef MRI
-{"chkw",       two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
-#endif
-{"chkl",       one(0040400),           one(0170700),           ";lDd", m68000up },
-{"chk2w",      two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
- {"chkw",      one(0040600),           one(0170700),           ";wDd", m68000up },
+{"chk2.b",     two(0000300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
+{"chk2.l",     two(0002300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
+{"chk2.w",     two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
+
+{"chk.w",      two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
+
+{"chk.l",      one(0040400),           one(0170700),           ";lDd", m68000up },
+{"chk2.w",     two(0001300, 0004000),  two(0177700, 07777),    "!sR1", m68020up },
+ {"chk.w",     one(0040600),           one(0170700),           ";wDd", m68000up },
 
 #define SCOPE_LINE (0x1 << 3)
 #define SCOPE_PAGE (0x2 << 3)
@@ -496,50 +523,49 @@ struct m68k_opcode m68k_opcodes[] =
 #undef SCOPE_LINE
 #undef SCOPE_PAGE
 #undef SCOPE_ALL
-{"clrb",       one(0041000),           one(0177700),           "$s", m68000up },
-{"clrl",       one(0041200),           one(0177700),           "$s", m68000up },
-{"clrw",       one(0041100),           one(0177700),           "$s", m68000up },
+{"clr.b",      one(0041000),           one(0177700),           "$s", m68000up },
+{"clr.l",      one(0041200),           one(0177700),           "$s", m68000up },
+{"clr.w",      one(0041100),           one(0177700),           "$s", m68000up },
+
 
-#ifdef MRI
 {"cmp",                one(0006200),           one(0177700),           "#l;l", m68000up },
 {"cmp",                one(0130200),           one(0170700),           "*lDd", m68000up },
 {"cmp",                one(0130700),           one(0170700),           "*lAd", m68000up },
-{"cmp",                one(0130510),           one(0170770),           "+s+d", m68000up },
+{"cmp",                one(0130510),           one(0170770),           "+s+d", m68000up },     /* cmpm written as cmp */
 
 {"cmpi",       one(0006200),           one(0177700),           "#l;l", m68000up },
 
-#endif
 
-#ifdef MRI
+
+
 {"cmp2",       two(0001300, 0),        two(0177700, 07777),    "!sR1", m68020up },
-#endif
-{"cmp2b",      two(0000300, 0),        two(0177700, 07777),    "!sR1", m68020up },
-{"cmp2l",      two(0002300, 0),        two(0177700, 07777),    "!sR1", m68020up },
-{"cmp2w",      two(0001300, 0),        two(0177700, 07777),    "!sR1", m68020up },
-{"cmpal",      one(0130700),           one(0170700),           "*lAd", m68000up },
-{"cmpaw",      one(0130300),           one(0170700),           "*wAd", m68000up },
-
-{"cmpib",      one(0006000),           one(0177700),           "#b;b", m68000up },
-{"cmpil",      one(0006200),           one(0177700),           "#l;l", m68000up },
-{"cmpiw",      one(0006100),           one(0177700),           "#w;w", m68000up },
-{"cmpb",       one(0006000),           one(0177700),           "#b;b", m68000up },     /* cmpi written as cmp */
-{"cmpb",       one(0130000),           one(0170700),           ";bDd", m68000up },
-#ifdef MRI
-{"cmpb",       one(0130410),           one(0170770),           "+s+d", m68000up },
-{"cmpw",       one(0130510),           one(0170770),           "+s+d", m68000up },
-#endif
-{"cmpw",       one(0006100),           one(0177700),           "#w;w", m68000up },
-{"cmpw",       one(0130100),           one(0170700),           "*wDd", m68000up },
-{"cmpw",       one(0130300),           one(0170700),           "*wAd", m68000up },     /* cmpa written as cmp */
-{"cmpl",       one(0006200),           one(0177700),           "#l;l", m68000up },
-{"cmpl",       one(0130200),           one(0170700),           "*lDd", m68000up },
-{"cmpl",       one(0130700),           one(0170700),           "*lAd", m68000up },
-#ifdef MRI
+
+{"cmp2.b",     two(0000300, 0),        two(0177700, 07777),    "!sR1", m68020up },
+{"cmp2.l",     two(0002300, 0),        two(0177700, 07777),    "!sR1", m68020up },
+{"cmp2.w",     two(0001300, 0),        two(0177700, 07777),    "!sR1", m68020up },
+{"cmpa.l",     one(0130700),           one(0170700),           "*lAd", m68000up },
+{"cmpa.w",     one(0130300),           one(0170700),           "*wAd", m68000up },
+
+{"cmpi.b",     one(0006000),           one(0177700),           "#b;b", m68000up },
+{"cmpi.l",     one(0006200),           one(0177700),           "#l;l", m68000up },
+{"cmpi.w",     one(0006100),           one(0177700),           "#w;w", m68000up },
+{"cmp.b",      one(0006000),           one(0177700),           "#b;b", m68000up },     /* cmpi written as cmp */
+{"cmp.b",      one(0130000),           one(0170700),           ";bDd", m68000up },
+{"cmp.b",      one(0130410),           one(0170770),           "+s+d", m68000up },     /* cmpm written as cmp */
+{"cmp.w",      one(0006100),           one(0177700),           "#w;w", m68000up },
+{"cmp.w",      one(0130100),           one(0170700),           "*wDd", m68000up },
+{"cmp.w",      one(0130300),           one(0170700),           "*wAd", m68000up },     /* cmpa written as cmp */
+{"cmp.w",      one(0130510),           one(0170770),           "+s+d", m68000up },     /* cmpm written as cmp */
+{"cmp.l",      one(0006200),           one(0177700),           "#l;l", m68000up },
+{"cmp.l",      one(0130200),           one(0170700),           "*lDd", m68000up },
+{"cmp.l",      one(0130700),           one(0170700),           "*lAd", m68000up },
+{"cmpl",       one(0130610),           one(0170770),           "+s+d", m68000up },     /* cmpm written as cmp */
+
 {"cmpm",       one(0130510),           one(0170770),           "+s+d", m68000up },
-#endif
-{"cmpmb",      one(0130410),           one(0170770),           "+s+d", m68000up },
-{"cmpml",      one(0130610),           one(0170770),           "+s+d", m68000up },
-{"cmpmw",      one(0130510),           one(0170770),           "+s+d", m68000up },
+
+{"cmpm.b",     one(0130410),           one(0170770),           "+s+d", m68000up },
+{"cmpm.l",     one(0130610),           one(0170770),           "+s+d", m68000up },
+{"cmpm.w",     one(0130510),           one(0170770),           "+s+d", m68000up },
 
 {"dbcc",       one(0052310),           one(0177770),           "DsBw", m68000up },
 {"dbcs",       one(0052710),           one(0177770),           "DsBw", m68000up },
@@ -558,67 +584,66 @@ struct m68k_opcode m68k_opcodes[] =
 {"dbt",                one(0050310),           one(0177770),           "DsBw", m68000up },
 {"dbvc",       one(0054310),           one(0177770),           "DsBw", m68000up },
 {"dbvs",       one(0054710),           one(0177770),           "DsBw", m68000up },
-#ifdef MRI
-{"tdivsl",     two(0046100, 0006000),  two(0177700, 0107770),  ";lD3D1", m68020up },
-{"tdivsl",     two(0046100, 0004000),  two(0177700, 0107770),  ";lDD", m68020up },
 
-#endif
-{"divsl",      two(0046100, 0006000),  two(0177700, 0107770),  ";lD3D1", m68020up },
-{"divsl",      two(0046100, 0004000),  two(0177700, 0107770),  ";lDD", m68020up },
-{"divsll",     two(0046100, 0004000),  two(0177700, 0107770),  ";lD3D1", m68020up },
-{"divsw",      one(0100700),           one(0170700),           ";wDd", m68000up },
+{"tdivs.l",    two(0046100, 0006000),  two(0177700, 0107770),  ";lD3D1", m68020up },
+{"tdivs.l",    two(0046100, 0004000),  two(0177700, 0107770),  ";lDD", m68020up },
+
+
+{"divs.l",     two(0046100, 0006000),  two(0177700, 0107770),  ";lD3D1", m68020up },
+{"divs.l",     two(0046100, 0004000),  two(0177700, 0107770),  ";lDD", m68020up },
+{"divs.ll",    two(0046100, 0004000),  two(0177700, 0107770),  ";lD3D1", m68020up },
+{"divs.w",     one(0100700),           one(0170700),           ";wDd", m68000up },
 {"divs",       one(0100700),           one(0170700),           ";wDd", m68000up },
-{"divul",      two(0046100, 0002000),  two(0177700, 0107770),  ";lD3D1", m68020up },
-{"divul",      two(0046100, 0000000),  two(0177700, 0107770),  ";lDD", m68020up },
-{"divull",     two(0046100, 0000000),  two(0177700, 0107770),  ";lD3D1", m68020up },
-{"divuw",      one(0100300),           one(0170700),           ";wDd", m68000up },
+{"divu.l",     two(0046100, 0002000),  two(0177700, 0107770),  ";lD3D1", m68020up },
+{"divu.l",     two(0046100, 0000000),  two(0177700, 0107770),  ";lDD", m68020up },
+{"divu.ll",    two(0046100, 0000000),  two(0177700, 0107770),  ";lD3D1", m68020up },
+{"divu.w",     one(0100300),           one(0170700),           ";wDd", m68000up },
 {"divu",       one(0100300),           one(0170700),           ";wDd", m68000up },
-#ifdef MRI
+
 {"eor",                one(0005074),           one(0177777),           "#bCs", m68000up },     /* eori to ccr */
 {"eor",                one(0005174),           one(0177777),           "#wSs", m68000up },     /* eori to sr */
 {"eori",       one(0005074),           one(0177777),           "#bCs", m68000up },     /* eori to ccr */
 {"eori",       one(0005174),           one(0177777),           "#wSs", m68000up },     /* eori to sr */
-#endif
 
-{"eorb",       one(0005000),           one(0177700),           "#b$s", m68000up },     /* eori written as or */
-{"eorb",       one(0005074),           one(0177777),           "#bCs", m68000up },     /* eori to ccr */
-{"eorb",       one(0130400),           one(0170700),           "Dd$s", m68000up },     /* register to memory */
-{"eorib",      one(0005000),           one(0177700),           "#b$s", m68000up },
-{"eorib",      one(0005074),           one(0177777),           "#bCs", m68000up },     /* eori to ccr */
-{"eoril",      one(0005200),           one(0177700),           "#l$s", m68000up },
-{"eoriw",      one(0005100),           one(0177700),           "#w$s", m68000up },
-{"eoriw",      one(0005174),           one(0177777),           "#wSs", m68000up },     /* eori to sr */
-{"eorl",       one(0005200),           one(0177700),           "#l$s", m68000up },
-{"eorl",       one(0130600),           one(0170700),           "Dd$s", m68000up },
-{"eorw",       one(0005100),           one(0177700),           "#w$s", m68000up },
-{"eorw",       one(0005174),           one(0177777),           "#wSs", m68000up },     /* eori to sr */
-{"eorw",       one(0130500),           one(0170700),           "Dd$s", m68000up },
+
+{"eor.b",      one(0005000),           one(0177700),           "#b$s", m68000up },     /* eori written as or */
+{"eor.b",      one(0005074),           one(0177777),           "#bCs", m68000up },     /* eori to ccr */
+{"eor.b",      one(0130400),           one(0170700),           "Dd$s", m68000up },     /* register to memory */
+{"eori.b",     one(0005000),           one(0177700),           "#b$s", m68000up },
+{"eori.b",     one(0005074),           one(0177777),           "#bCs", m68000up },     /* eori to ccr */
+{"eori.l",     one(0005200),           one(0177700),           "#l$s", m68000up },
+{"eori.w",     one(0005100),           one(0177700),           "#w$s", m68000up },
+{"eori.w",     one(0005174),           one(0177777),           "#wSs", m68000up },     /* eori to sr */
+{"eor.l",      one(0005200),           one(0177700),           "#l$s", m68000up },
+{"eor.l",      one(0130600),           one(0170700),           "Dd$s", m68000up },
+{"eor.w",      one(0005100),           one(0177700),           "#w$s", m68000up },
+{"eor.w",      one(0005174),           one(0177777),           "#wSs", m68000up },     /* eori to sr */
+{"eor.w",      one(0130500),           one(0170700),           "Dd$s", m68000up },
 
 {"exg",                one(0140500),           one(0170770),           "DdDs", m68000up },
 {"exg",                one(0140510),           one(0170770),           "AdAs", m68000up },
 {"exg",                one(0140610),           one(0170770),           "DdAs", m68000up },
 {"exg",                one(0140610),           one(0170770),           "AsDd", m68000up },
-#ifdef MRI
+
 {"ext",        one(0044200),           one(0177770),           "Ds", m68000up },
-{"extwl",      one(0044200),           one(0177770),           "Ds", m68000up },
-{"extbw",      one(0044200),           one(0177770),           "Ds", m68000up },
-#endif
-{"extw",       one(0044200),           one(0177770),           "Ds", m68000up },
-{"extl",       one(0044300),           one(0177770),           "Ds", m68000up },
-{"extbl",      one(0044700),           one(0177770),           "Ds", m68020up },
-{"extb.l",     one(0044700),           one(0177770),           "Ds", m68020up }, /* Not sure we should support this one */
+{"ext.wl",     one(0044200),           one(0177770),           "Ds", m68000up },
+{"ext.bw",     one(0044200),           one(0177770),           "Ds", m68000up },
+{"ext.w",      one(0044200),           one(0177770),           "Ds", m68000up },
+{"ext.l",      one(0044300),           one(0177770),           "Ds", m68000up },
+{"ext.bl",     one(0044700),           one(0177770),           "Ds", m68020up },
+{"ext.bl",     one(0044700),           one(0177770),           "Ds", m68020up }, /* Not sure we should support this one */
 
 /* float stuff starts here */
 
-{"fabsb",      two(0xF000, 0x5818),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fabsd",      two(0xF000, 0x5418),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fabsl",      two(0xF000, 0x4018),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fabsp",      two(0xF000, 0x4C18),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fabss",      two(0xF000, 0x4418),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fabsw",      two(0xF000, 0x5018),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fabsx",      two(0xF000, 0x0018),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fabsx",      two(0xF000, 0x4818),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fabsx",      two(0xF000, 0x0018),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+{"fabs.b",     two(0xF000, 0x5818),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fabs.d",     two(0xF000, 0x5418),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fabs.l",     two(0xF000, 0x4018),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fabs.p",     two(0xF000, 0x4C18),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fabs.s",     two(0xF000, 0x4418),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fabs.w",     two(0xF000, 0x5018),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fabs.x",     two(0xF000, 0x0018),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fabs.x",     two(0xF000, 0x4818),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fabs.x",     two(0xF000, 0x0018),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
 
 /* FIXME-NOW: The '040 book that I have claims that these should be
    coded exactly like fadd.  In fact, the table of opmodes calls them
@@ -652,75 +677,75 @@ struct m68k_opcode m68k_opcodes[] =
 {"fdabsx",     two(0xF000, 0x003c),    two(0xF1C0, 0xE07F),    "IiFt",   m68040},
 #endif /* comment */
 
-{"facosb",     two(0xF000, 0x581C),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"facosd",     two(0xF000, 0x541C),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"facosl",     two(0xF000, 0x401C),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"facosp",     two(0xF000, 0x4C1C),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"facoss",     two(0xF000, 0x441C),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"facosw",     two(0xF000, 0x501C),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"facosx",     two(0xF000, 0x001C),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"facosx",     two(0xF000, 0x481C),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"facosx",     two(0xF000, 0x001C),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"faddb",      two(0xF000, 0x5822),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"faddd",      two(0xF000, 0x5422),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"faddl",      two(0xF000, 0x4022),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"faddp",      two(0xF000, 0x4C22),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fadds",      two(0xF000, 0x4422),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"faddw",      two(0xF000, 0x5022),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"faddx",      two(0xF000, 0x0022),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"faddx",      two(0xF000, 0x4822),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"facos.b",    two(0xF000, 0x581C),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"facos.d",    two(0xF000, 0x541C),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"facos.l",    two(0xF000, 0x401C),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"facos.p",    two(0xF000, 0x4C1C),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"facos.s",    two(0xF000, 0x441C),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"facos.w",    two(0xF000, 0x501C),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"facos.x",    two(0xF000, 0x001C),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"facos.x",    two(0xF000, 0x481C),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"facos.x",    two(0xF000, 0x001C),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fadd.b",     two(0xF000, 0x5822),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fadd.d",     two(0xF000, 0x5422),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fadd.l",     two(0xF000, 0x4022),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fadd.p",     two(0xF000, 0x4C22),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fadd.s",     two(0xF000, 0x4422),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fadd.w",     two(0xF000, 0x5022),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fadd.x",     two(0xF000, 0x0022),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fadd.x",     two(0xF000, 0x4822),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
 /* {"faddx",   two(0xF000, 0x0022),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF removed */
 
-{"fsaddb",     two(0xF000, 0x5832),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fsaddd",     two(0xF000, 0x5432),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fsaddl",     two(0xF000, 0x4032),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fsaddp",     two(0xF000, 0x4C32),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fsadds",     two(0xF000, 0x4432),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fsaddw",     two(0xF000, 0x5032),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fsaddx",     two(0xF000, 0x0032),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fsaddx",     two(0xF000, 0x4832),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fsadd.b",    two(0xF000, 0x5832),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fsadd.d",    two(0xF000, 0x5432),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fsadd.l",    two(0xF000, 0x4032),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fsadd.p",    two(0xF000, 0x4C32),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fsadd.s",    two(0xF000, 0x4432),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fsadd.w",    two(0xF000, 0x5032),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fsadd.x",    two(0xF000, 0x0032),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fsadd.x",    two(0xF000, 0x4832),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
 /* {"fsaddx",  two(0xF000, 0x0032),    two(0xF1C0, 0xE07F),    "IiFt", m68040 }, JF removed */
 
-{"fdaddb",     two(0xF000, 0x5836),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fdaddd",     two(0xF000, 0x5436),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fdaddl",     two(0xF000, 0x4036),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fdaddp",     two(0xF000, 0x4C36),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fdadds",     two(0xF000, 0x4436),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fdaddw",     two(0xF000, 0x5036),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fdaddx",     two(0xF000, 0x0036),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fdaddx",     two(0xF000, 0x4836),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fdadd.b",    two(0xF000, 0x5836),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fdadd.d",    two(0xF000, 0x5436),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fdadd.l",    two(0xF000, 0x4036),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fdadd.p",    two(0xF000, 0x4C36),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fdadd.s",    two(0xF000, 0x4436),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fdadd.w",    two(0xF000, 0x5036),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fdadd.x",    two(0xF000, 0x0036),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fdadd.x",    two(0xF000, 0x4836),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
 /* {"faddx",   two(0xF000, 0x0036),    two(0xF1C0, 0xE07F),    "IiFt", m68040 }, JF removed */
 
-{"fasinb",     two(0xF000, 0x580C),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fasind",     two(0xF000, 0x540C),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fasinl",     two(0xF000, 0x400C),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fasinp",     two(0xF000, 0x4C0C),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fasins",     two(0xF000, 0x440C),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fasinw",     two(0xF000, 0x500C),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fasinx",     two(0xF000, 0x000C),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fasinx",     two(0xF000, 0x480C),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fasinx",     two(0xF000, 0x000C),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fatanb",     two(0xF000, 0x580A),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fatand",     two(0xF000, 0x540A),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fatanl",     two(0xF000, 0x400A),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fatanp",     two(0xF000, 0x4C0A),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fatans",     two(0xF000, 0x440A),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fatanw",     two(0xF000, 0x500A),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fatanx",     two(0xF000, 0x000A),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fatanx",     two(0xF000, 0x480A),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fatanx",     two(0xF000, 0x000A),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fatanhb",    two(0xF000, 0x580D),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fatanhd",    two(0xF000, 0x540D),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fatanhl",    two(0xF000, 0x400D),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fatanhp",    two(0xF000, 0x4C0D),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fatanhs",    two(0xF000, 0x440D),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fatanhw",    two(0xF000, 0x500D),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fatanhx",    two(0xF000, 0x000D),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fatanhx",    two(0xF000, 0x480D),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fatanhx",    two(0xF000, 0x000D),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+{"fasin.b",    two(0xF000, 0x580C),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fasin.d",    two(0xF000, 0x540C),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fasin.l",    two(0xF000, 0x400C),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fasin.p",    two(0xF000, 0x4C0C),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fasin.s",    two(0xF000, 0x440C),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fasin.w",    two(0xF000, 0x500C),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fasin.x",    two(0xF000, 0x000C),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fasin.x",    two(0xF000, 0x480C),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fasin.x",    two(0xF000, 0x000C),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fatan.b",    two(0xF000, 0x580A),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fatan.d",    two(0xF000, 0x540A),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fatan.l",    two(0xF000, 0x400A),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fatan.p",    two(0xF000, 0x4C0A),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fatan.s",    two(0xF000, 0x440A),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fatan.w",    two(0xF000, 0x500A),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fatan.x",    two(0xF000, 0x000A),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fatan.x",    two(0xF000, 0x480A),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fatan.x",    two(0xF000, 0x000A),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fatanh.b",   two(0xF000, 0x580D),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fatanh.d",   two(0xF000, 0x540D),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fatanh.l",   two(0xF000, 0x400D),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fatanh.p",   two(0xF000, 0x4C0D),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fatanh.s",   two(0xF000, 0x440D),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fatanh.w",   two(0xF000, 0x500D),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fatanh.x",   two(0xF000, 0x000D),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fatanh.x",   two(0xF000, 0x480D),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fatanh.x",   two(0xF000, 0x000D),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
 
 /* Fixed-size Float branches */
 
@@ -792,35 +817,35 @@ struct m68k_opcode m68k_opcodes[] =
 {"fbultl",     one(0xF08C),            one(0xF1BF),            "IdBC", mfloat },
 {"fbunl",      one(0xF088),            one(0xF1BF),            "IdBC", mfloat },
 
-{"fcmpb",      two(0xF000, 0x5838),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fcmpd",      two(0xF000, 0x5438),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fcmpl",      two(0xF000, 0x4038),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fcmpp",      two(0xF000, 0x4C38),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fcmps",      two(0xF000, 0x4438),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fcmpw",      two(0xF000, 0x5038),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fcmpx",      two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fcmpx",      two(0xF000, 0x4838),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fcmp.b",     two(0xF000, 0x5838),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fcmp.d",     two(0xF000, 0x5438),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fcmp.l",     two(0xF000, 0x4038),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fcmp.p",     two(0xF000, 0x4C38),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fcmp.s",     two(0xF000, 0x4438),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fcmp.w",     two(0xF000, 0x5038),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fcmp.x",     two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fcmp.x",     two(0xF000, 0x4838),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
 /* {"fcmpx",   two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF removed */
 
-{"fcosb",      two(0xF000, 0x581D),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fcosd",      two(0xF000, 0x541D),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fcosl",      two(0xF000, 0x401D),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fcosp",      two(0xF000, 0x4C1D),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fcoss",      two(0xF000, 0x441D),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fcosw",      two(0xF000, 0x501D),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fcosx",      two(0xF000, 0x001D),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fcosx",      two(0xF000, 0x481D),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fcosx",      two(0xF000, 0x001D),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fcoshb",     two(0xF000, 0x5819),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fcoshd",     two(0xF000, 0x5419),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fcoshl",     two(0xF000, 0x4019),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fcoshp",     two(0xF000, 0x4C19),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fcoshs",     two(0xF000, 0x4419),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fcoshw",     two(0xF000, 0x5019),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fcoshx",     two(0xF000, 0x0019),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fcoshx",     two(0xF000, 0x4819),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fcoshx",     two(0xF000, 0x0019),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+{"fcos.b",     two(0xF000, 0x581D),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fcos.d",     two(0xF000, 0x541D),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fcos.l",     two(0xF000, 0x401D),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fcos.p",     two(0xF000, 0x4C1D),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fcos.s",     two(0xF000, 0x441D),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fcos.w",     two(0xF000, 0x501D),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fcos.x",     two(0xF000, 0x001D),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fcos.x",     two(0xF000, 0x481D),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fcos.x",     two(0xF000, 0x001D),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fcosh.b",    two(0xF000, 0x5819),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fcosh.d",    two(0xF000, 0x5419),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fcosh.l",    two(0xF000, 0x4019),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fcosh.p",    two(0xF000, 0x4C19),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fcosh.s",    two(0xF000, 0x4419),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fcosh.w",    two(0xF000, 0x5019),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fcosh.x",    two(0xF000, 0x0019),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fcosh.x",    two(0xF000, 0x4819),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fcosh.x",    two(0xF000, 0x0019),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
 
 {"fdbeq",      two(0xF048, 0x0001),    two(0xF1F8, 0xFFFF),    "IiDsBw", mfloat },
 {"fdbf",       two(0xF048, 0x0000),    two(0xF1F8, 0xFFFF),    "IiDsBw", mfloat },
@@ -855,220 +880,220 @@ struct m68k_opcode m68k_opcodes[] =
 {"fdbult",     two(0xF048, 0x000C),    two(0xF1F8, 0xFFFF),    "IiDsBw", mfloat },
 {"fdbun",      two(0xF048, 0x0008),    two(0xF1F8, 0xFFFF),    "IiDsBw", mfloat },
 
-{"fdivb",      two(0xF000, 0x5820),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fdivd",      two(0xF000, 0x5420),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fdivl",      two(0xF000, 0x4020),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fdivp",      two(0xF000, 0x4C20),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fdivs",      two(0xF000, 0x4420),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fdivw",      two(0xF000, 0x5020),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fdivx",      two(0xF000, 0x0020),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fdivx",      two(0xF000, 0x4820),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fdiv.b",     two(0xF000, 0x5820),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fdiv.d",     two(0xF000, 0x5420),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fdiv.l",     two(0xF000, 0x4020),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fdiv.p",     two(0xF000, 0x4C20),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fdiv.s",     two(0xF000, 0x4420),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fdiv.w",     two(0xF000, 0x5020),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fdiv.x",     two(0xF000, 0x0020),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fdiv.x",     two(0xF000, 0x4820),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
 /* {"fdivx",   two(0xF000, 0x0020),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF */
 
-{"fsdivb",     two(0xF000, 0x5830),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fsdivd",     two(0xF000, 0x5430),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fsdivl",     two(0xF000, 0x4030),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fsdivp",     two(0xF000, 0x4C30),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fsdivs",     two(0xF000, 0x4430),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fsdivw",     two(0xF000, 0x5030),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fsdivx",     two(0xF000, 0x0030),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fsdivx",     two(0xF000, 0x4830),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fsdiv.b",    two(0xF000, 0x5830),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fsdiv.d",    two(0xF000, 0x5430),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fsdiv.l",    two(0xF000, 0x4030),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fsdiv.p",    two(0xF000, 0x4C30),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fsdiv.s",    two(0xF000, 0x4430),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fsdiv.w",    two(0xF000, 0x5030),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fsdiv.x",    two(0xF000, 0x0030),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fsdiv.x",    two(0xF000, 0x4830),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
 /* {"fsdivx",  two(0xF000, 0x0030),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 }, JF */
 
-{"fddivb",     two(0xF000, 0x5834),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fddivd",     two(0xF000, 0x5434),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fddivl",     two(0xF000, 0x4034),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fddivp",     two(0xF000, 0x4C34),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fddivs",     two(0xF000, 0x4434),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fddivw",     two(0xF000, 0x5034),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fddivx",     two(0xF000, 0x0034),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fddivx",     two(0xF000, 0x4834),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fddiv.b",    two(0xF000, 0x5834),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fddiv.d",    two(0xF000, 0x5434),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fddiv.l",    two(0xF000, 0x4034),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fddiv.p",    two(0xF000, 0x4C34),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fddiv.s",    two(0xF000, 0x4434),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fddiv.w",    two(0xF000, 0x5034),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fddiv.x",    two(0xF000, 0x0034),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fddiv.x",    two(0xF000, 0x4834),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
 /* {"fddivx",  two(0xF000, 0x0034),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 }, JF */
 
-{"fetoxb",     two(0xF000, 0x5810),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fetoxd",     two(0xF000, 0x5410),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fetoxl",     two(0xF000, 0x4010),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fetoxp",     two(0xF000, 0x4C10),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fetoxs",     two(0xF000, 0x4410),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fetoxw",     two(0xF000, 0x5010),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fetoxx",     two(0xF000, 0x0010),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fetoxx",     two(0xF000, 0x4810),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fetoxx",     two(0xF000, 0x0010),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fetoxm1b",   two(0xF000, 0x5808),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fetoxm1d",   two(0xF000, 0x5408),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fetoxm1l",   two(0xF000, 0x4008),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fetoxm1p",   two(0xF000, 0x4C08),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fetoxm1s",   two(0xF000, 0x4408),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fetoxm1w",   two(0xF000, 0x5008),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fetoxm1x",   two(0xF000, 0x0008),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fetoxm1x",   two(0xF000, 0x4808),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fetoxm1x",   two(0xF000, 0x0008),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fgetexpb",   two(0xF000, 0x581E),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fgetexpd",   two(0xF000, 0x541E),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fgetexpl",   two(0xF000, 0x401E),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fgetexpp",   two(0xF000, 0x4C1E),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fgetexps",   two(0xF000, 0x441E),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fgetexpw",   two(0xF000, 0x501E),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fgetexpx",   two(0xF000, 0x001E),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fgetexpx",   two(0xF000, 0x481E),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fgetexpx",   two(0xF000, 0x001E),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fgetmanb",   two(0xF000, 0x581F),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fgetmand",   two(0xF000, 0x541F),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fgetmanl",   two(0xF000, 0x401F),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fgetmanp",   two(0xF000, 0x4C1F),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fgetmans",   two(0xF000, 0x441F),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fgetmanw",   two(0xF000, 0x501F),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fgetmanx",   two(0xF000, 0x001F),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fgetmanx",   two(0xF000, 0x481F),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fgetmanx",   two(0xF000, 0x001F),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fintb",      two(0xF000, 0x5801),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fintd",      two(0xF000, 0x5401),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fintl",      two(0xF000, 0x4001),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fintp",      two(0xF000, 0x4C01),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fints",      two(0xF000, 0x4401),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fintw",      two(0xF000, 0x5001),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fintx",      two(0xF000, 0x0001),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fintx",      two(0xF000, 0x4801),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fintx",      two(0xF000, 0x0001),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fintrzb",    two(0xF000, 0x5803),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fintrzd",    two(0xF000, 0x5403),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fintrzl",    two(0xF000, 0x4003),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fintrzp",    two(0xF000, 0x4C03),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fintrzs",    two(0xF000, 0x4403),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fintrzw",    two(0xF000, 0x5003),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fintrzx",    two(0xF000, 0x0003),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fintrzx",    two(0xF000, 0x4803),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fintrzx",    two(0xF000, 0x0003),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"flog10b",    two(0xF000, 0x5815),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"flog10d",    two(0xF000, 0x5415),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"flog10l",    two(0xF000, 0x4015),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"flog10p",    two(0xF000, 0x4C15),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"flog10s",    two(0xF000, 0x4415),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"flog10w",    two(0xF000, 0x5015),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"flog10x",    two(0xF000, 0x0015),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"flog10x",    two(0xF000, 0x4815),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"flog10x",    two(0xF000, 0x0015),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"flog2b",     two(0xF000, 0x5816),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"flog2d",     two(0xF000, 0x5416),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"flog2l",     two(0xF000, 0x4016),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"flog2p",     two(0xF000, 0x4C16),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"flog2s",     two(0xF000, 0x4416),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"flog2w",     two(0xF000, 0x5016),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"flog2x",     two(0xF000, 0x0016),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"flog2x",     two(0xF000, 0x4816),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"flog2x",     two(0xF000, 0x0016),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"flognb",     two(0xF000, 0x5814),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"flognd",     two(0xF000, 0x5414),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"flognl",     two(0xF000, 0x4014),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"flognp",     two(0xF000, 0x4C14),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"flogns",     two(0xF000, 0x4414),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"flognw",     two(0xF000, 0x5014),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"flognx",     two(0xF000, 0x0014),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"flognx",     two(0xF000, 0x4814),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"flognx",     two(0xF000, 0x0014),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"flognp1b",   two(0xF000, 0x5806),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"flognp1d",   two(0xF000, 0x5406),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"flognp1l",   two(0xF000, 0x4006),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"flognp1p",   two(0xF000, 0x4C06),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"flognp1s",   two(0xF000, 0x4406),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"flognp1w",   two(0xF000, 0x5006),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"flognp1x",   two(0xF000, 0x0006),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"flognp1x",   two(0xF000, 0x4806),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"flognp1x",   two(0xF000, 0x0006),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fmodb",      two(0xF000, 0x5821),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fmodd",      two(0xF000, 0x5421),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fmodl",      two(0xF000, 0x4021),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fmodp",      two(0xF000, 0x4C21),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fmods",      two(0xF000, 0x4421),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fmodw",      two(0xF000, 0x5021),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fmodx",      two(0xF000, 0x0021),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fmodx",      two(0xF000, 0x4821),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-/* {"fmodx",   two(0xF000, 0x0021),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF */
-
-{"fmoveb",     two(0xF000, 0x5800),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmoveb",     two(0xF000, 0x7800),    two(0xF1C0, 0xFC7F),    "IiF7@b", mfloat },             /* fmove from fp<n> to <ea> */
-{"fmoved",     two(0xF000, 0x5400),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmoved",     two(0xF000, 0x7400),    two(0xF1C0, 0xFC7F),    "IiF7@F", mfloat },             /* fmove from fp<n> to <ea> */
-{"fmovel",     two(0xF000, 0x4000),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmovel",     two(0xF000, 0x6000),    two(0xF1C0, 0xFC7F),    "IiF7@l", mfloat },             /* fmove from fp<n> to <ea> */
+{"fetox.b",    two(0xF000, 0x5810),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fetox.d",    two(0xF000, 0x5410),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fetox.l",    two(0xF000, 0x4010),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fetox.p",    two(0xF000, 0x4C10),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fetox.s",    two(0xF000, 0x4410),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fetox.w",    two(0xF000, 0x5010),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fetox.x",    two(0xF000, 0x0010),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fetox.x",    two(0xF000, 0x4810),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fetox.x",    two(0xF000, 0x0010),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fetoxm1.b",  two(0xF000, 0x5808),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fetoxm1.d",  two(0xF000, 0x5408),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fetoxm1.l",  two(0xF000, 0x4008),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fetoxm1.p",  two(0xF000, 0x4C08),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fetoxm1.s",  two(0xF000, 0x4408),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fetoxm1.w",  two(0xF000, 0x5008),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fetoxm1.x",  two(0xF000, 0x0008),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fetoxm1.x",  two(0xF000, 0x4808),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fetoxm1.x",  two(0xF000, 0x0008),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fgetexp.b",  two(0xF000, 0x581E),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fgetexp.d",  two(0xF000, 0x541E),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fgetexp.l",  two(0xF000, 0x401E),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fgetexp.p",  two(0xF000, 0x4C1E),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fgetexp.s",  two(0xF000, 0x441E),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fgetexp.w",  two(0xF000, 0x501E),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fgetexp.x",  two(0xF000, 0x001E),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fgetexp.x",  two(0xF000, 0x481E),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fgetexp.x",  two(0xF000, 0x001E),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fgetman.b",  two(0xF000, 0x581F),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fgetman.d",  two(0xF000, 0x541F),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fgetman.l",  two(0xF000, 0x401F),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fgetman.p",  two(0xF000, 0x4C1F),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fgetman.s",  two(0xF000, 0x441F),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fgetman.w",  two(0xF000, 0x501F),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fgetman.x",  two(0xF000, 0x001F),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fgetman.x",  two(0xF000, 0x481F),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fgetman.x",  two(0xF000, 0x001F),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fint.b",     two(0xF000, 0x5801),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fint.d",     two(0xF000, 0x5401),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fint.l",     two(0xF000, 0x4001),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fint.p",     two(0xF000, 0x4C01),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fint.s",     two(0xF000, 0x4401),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fint.w",     two(0xF000, 0x5001),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fint.x",     two(0xF000, 0x0001),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fint.x",     two(0xF000, 0x4801),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fint.x",     two(0xF000, 0x0001),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fintrz.b",   two(0xF000, 0x5803),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fintrz.d",   two(0xF000, 0x5403),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fintrz.l",   two(0xF000, 0x4003),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fintrz.p",   two(0xF000, 0x4C03),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fintrz.s",   two(0xF000, 0x4403),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fintrz.w",   two(0xF000, 0x5003),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fintrz.x",   two(0xF000, 0x0003),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fintrz.x",   two(0xF000, 0x4803),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fintrz.x",   two(0xF000, 0x0003),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"flog10.b",   two(0xF000, 0x5815),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"flog10.d",   two(0xF000, 0x5415),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"flog10.l",   two(0xF000, 0x4015),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"flog10.p",   two(0xF000, 0x4C15),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"flog10.s",   two(0xF000, 0x4415),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"flog10.w",   two(0xF000, 0x5015),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"flog10.x",   two(0xF000, 0x0015),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"flog10.x",   two(0xF000, 0x4815),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"flog10.x",   two(0xF000, 0x0015),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"flog2.b",    two(0xF000, 0x5816),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"flog2.d",    two(0xF000, 0x5416),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"flog2.l",    two(0xF000, 0x4016),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"flog2.p",    two(0xF000, 0x4C16),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"flog2.s",    two(0xF000, 0x4416),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"flog2.w",    two(0xF000, 0x5016),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"flog2.x",    two(0xF000, 0x0016),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"flog2.x",    two(0xF000, 0x4816),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"flog2.x",    two(0xF000, 0x0016),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"flogn.b",    two(0xF000, 0x5814),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"flogn.d",    two(0xF000, 0x5414),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"flogn.l",    two(0xF000, 0x4014),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"flogn.p",    two(0xF000, 0x4C14),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"flogn.s",    two(0xF000, 0x4414),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"flogn.w",    two(0xF000, 0x5014),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"flogn.x",    two(0xF000, 0x0014),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"flogn.x",    two(0xF000, 0x4814),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"flogn.x",    two(0xF000, 0x0014),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"flognp1.b",  two(0xF000, 0x5806),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"flognp1.d",  two(0xF000, 0x5406),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"flognp1.l",  two(0xF000, 0x4006),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"flognp1.p",  two(0xF000, 0x4C06),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"flognp1.s",  two(0xF000, 0x4406),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"flognp1.w",  two(0xF000, 0x5006),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"flognp1.x",  two(0xF000, 0x0006),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"flognp1.x",  two(0xF000, 0x4806),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"flognp1.x",  two(0xF000, 0x0006),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fmod.b",     two(0xF000, 0x5821),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fmod.d",     two(0xF000, 0x5421),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fmod.l",     two(0xF000, 0x4021),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fmod.p",     two(0xF000, 0x4C21),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fmod.s",     two(0xF000, 0x4421),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fmod.w",     two(0xF000, 0x5021),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fmod.x",     two(0xF000, 0x0021),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fmod.x",     two(0xF000, 0x4821),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+/* {"fmod.x",  two(0xF000, 0x0021),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF */
+
+{"fmove.b",    two(0xF000, 0x5800),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.b",    two(0xF000, 0x7800),    two(0xF1C0, 0xFC7F),    "IiF7@b", mfloat },             /* fmove from fp<n> to <ea> */
+{"fmove.d",    two(0xF000, 0x5400),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.d",    two(0xF000, 0x7400),    two(0xF1C0, 0xFC7F),    "IiF7@F", mfloat },             /* fmove from fp<n> to <ea> */
+{"fmove.l",    two(0xF000, 0x4000),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.l",    two(0xF000, 0x6000),    two(0xF1C0, 0xFC7F),    "IiF7@l", mfloat },             /* fmove from fp<n> to <ea> */
 /* Warning:  The addressing modes on these are probably not right:
    esp, Areg direct is only allowed for FPI */
                /* fmove.l from/to system control registers: */
-{"fmovel",     two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Iis8@s", mfloat },
-{"fmovel",     two(0xF000, 0x8000),    two(0xF1C0, 0xE3FF),    "Ii*ls8", mfloat },
-
-/* {"fmovel",  two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Iis8@s", mfloat },
-{"fmovel",     two(0xF000, 0x8000),    two(0xF2C0, 0xE3FF),    "Ii*ss8", mfloat }, */
-
-{"fmovep",     two(0xF000, 0x4C00),    two(0xF1C0, 0xFC7F),    "Ii;pF7",   mfloat },           /* fmove from <ea> to fp<n> */
-{"fmovep",     two(0xF000, 0x6C00),    two(0xF1C0, 0xFC00),    "IiF7@pkC", mfloat },           /* fmove.p with k-factors: */
-{"fmovep",     two(0xF000, 0x7C00),    two(0xF1C0, 0xFC0F),    "IiF7@pDk", mfloat },           /* fmove.p with k-factors: */
-
-{"fmoves",     two(0xF000, 0x4400),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmoves",     two(0xF000, 0x6400),    two(0xF1C0, 0xFC7F),    "IiF7@f", mfloat },             /* fmove from fp<n> to <ea> */
-{"fmovew",     two(0xF000, 0x5000),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmovew",     two(0xF000, 0x7000),    two(0xF1C0, 0xFC7F),    "IiF7@w", mfloat },             /* fmove from fp<n> to <ea> */
-{"fmovex",     two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmovex",     two(0xF000, 0x4800),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },             /* fmove from <ea> to fp<n> */
-{"fmovex",     two(0xF000, 0x6800),    two(0xF1C0, 0xFC7F),    "IiF7@x", mfloat },             /* fmove from fp<n> to <ea> */
+{"fmove.l",    two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Iis8@s", mfloat },
+{"fmove.l",    two(0xF000, 0x8000),    two(0xF1C0, 0xE3FF),    "Ii*ls8", mfloat },
+
+/* {"fmove.l", two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Iis8@s", mfloat },
+{"fmove.l",    two(0xF000, 0x8000),    two(0xF2C0, 0xE3FF),    "Ii*ss8", mfloat }, */
+
+{"fmove.p",    two(0xF000, 0x4C00),    two(0xF1C0, 0xFC7F),    "Ii;pF7",   mfloat },           /* fmove from <ea> to fp<n> */
+{"fmove.p",    two(0xF000, 0x6C00),    two(0xF1C0, 0xFC00),    "IiF7@pkC", mfloat },           /* fmove.p with k-factors: */
+{"fmove.p",    two(0xF000, 0x7C00),    two(0xF1C0, 0xFC0F),    "IiF7@pDk", mfloat },           /* fmove.p with k-factors: */
+
+{"fmove.s",    two(0xF000, 0x4400),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.s",    two(0xF000, 0x6400),    two(0xF1C0, 0xFC7F),    "IiF7@f", mfloat },             /* fmove from fp<n> to <ea> */
+{"fmove.w",    two(0xF000, 0x5000),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.w",    two(0xF000, 0x7000),    two(0xF1C0, 0xFC7F),    "IiF7@w", mfloat },             /* fmove from fp<n> to <ea> */
+{"fmove.x",    two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.x",    two(0xF000, 0x4800),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },             /* fmove from <ea> to fp<n> */
+{"fmove.x",    two(0xF000, 0x6800),    two(0xF1C0, 0xFC7F),    "IiF7@x", mfloat },             /* fmove from fp<n> to <ea> */
 /* JF removed {"fmovex",       two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiFt", mfloat }, / * fmove from <ea> to fp<n> */
 
-{"fsmoveb",    two(0xF000, 0x5800),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fsmoved",    two(0xF000, 0x5400),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fsmovel",    two(0xF000, 0x4000),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fsmoves",    two(0xF000, 0x4400),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fsmovew",    two(0xF000, 0x5000),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fsmovex",    two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fsmovex",    two(0xF000, 0x4800),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.b",   two(0xF000, 0x5800),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.d",   two(0xF000, 0x5400),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.l",   two(0xF000, 0x4000),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.s",   two(0xF000, 0x4400),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.w",   two(0xF000, 0x5000),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.x",   two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fsmove.x",   two(0xF000, 0x4800),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 }, /* fmove from <ea> to fp<n> */
 /* JF removed {"fsmovex",      two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiFt", m68040 }, / * fmove from <ea> to fp<n> */
 
-{"fdmoveb",    two(0xF000, 0x5800),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fdmoved",    two(0xF000, 0x5400),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fdmovel",    two(0xF000, 0x4000),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fdmoves",    two(0xF000, 0x4400),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fdmovew",    two(0xF000, 0x5000),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fdmovex",    two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 }, /* fmove from <ea> to fp<n> */
-{"fdmovex",    two(0xF000, 0x4800),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.b",   two(0xF000, 0x5800),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.d",   two(0xF000, 0x5400),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.l",   two(0xF000, 0x4000),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.s",   two(0xF000, 0x4400),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.w",   two(0xF000, 0x5000),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.x",   two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 }, /* fmove from <ea> to fp<n> */
+{"fdmove.x",   two(0xF000, 0x4800),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 }, /* fmove from <ea> to fp<n> */
 /* JF removed {"fdmovex",      two(0xF000, 0x0000),    two(0xF1C0, 0xE07F),    "IiFt", m68040 }, / * fmove from <ea> to fp<n> */
 
-{"fmovecrx",   two(0xF000, 0x5C00),    two(0xF1FF, 0xFC00),    "Ii#CF7", mfloat },             /* fmovecr.x #ccc, FPn */
+{"fmovecr.x",  two(0xF000, 0x5C00),    two(0xF1FF, 0xFC00),    "Ii#CF7", mfloat },             /* fmovecr.x #ccc, FPn */
 {"fmovecr",    two(0xF000, 0x5C00),    two(0xF1FF, 0xFC00),    "Ii#CF7", mfloat },
 
 /* Other fmovemx.  */
-{"fmovemx", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s", mfloat }, /* reg to control,   static and dynamic: */
-{"fmovemx", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk", mfloat }, /* from control to reg, static and dynamic: */
+{"fmovem.x", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s", mfloat }, /* reg to control,  static and dynamic: */
+{"fmovem.x", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk", mfloat }, /* from control to reg, static and dynamic: */
 
-{"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat }, /* to control, static and dynamic: */
-{"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s", mfloat }, /* to control, static and dynamic: */
+{"fmovem.x", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat }, /* to control, static and dynamic: */
+{"fmovem.x", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s", mfloat }, /* to control, static and dynamic: */
 
-{"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3", mfloat }, /* from control, static and dynamic: */
-{"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3", mfloat }, /* from control, static and dynamic: */
+{"fmovem.x", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3", mfloat }, /* from control, static and dynamic: */
+{"fmovem.x", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3", mfloat }, /* from control, static and dynamic: */
 
-{"fmovemx", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s", mfloat }, /* reg to autodecrement, static and dynamic */
-{"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat }, /* to autodecrement, static and dynamic */
-{"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s", mfloat }, /* to autodecrement, static and dynamic */
+{"fmovem.x", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s", mfloat }, /* reg to autodecrement, static and dynamic */
+{"fmovem.x", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat }, /* to autodecrement, static and dynamic */
+{"fmovem.x", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s", mfloat }, /* to autodecrement, static and dynamic */
 
-{"fmovemx", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk", mfloat }, /* from autoinc to reg, static and dynamic: */
-{"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat }, /* from autoincrement, static and dynamic: */
-{"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat }, /* from autoincrement, static and dynamic: */
+{"fmovem.x", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk", mfloat }, /* from autoinc to reg, static and dynamic: */
+{"fmovem.x", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat }, /* from autoincrement, static and dynamic: */
+{"fmovem.x", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat }, /* from autoincrement, static and dynamic: */
 
-{"fmoveml",    two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "IiL8@s", mfloat },
-{"fmoveml",    two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Ii#8@s", mfloat },
-{"fmoveml",    two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Iis8@s", mfloat },
+{"fmovem.l",   two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "IiL8@s", mfloat },
+{"fmovem.l",   two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Ii#8@s", mfloat },
+{"fmovem.l",   two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "Iis8@s", mfloat },
 
-{"fmoveml",    two(0xF000, 0x8000),    two(0xF2C0, 0xE3FF),    "Ii*sL8", mfloat },
-{"fmoveml",    two(0xF000, 0x8000),    two(0xF1C0, 0xE3FF),    "Ii*s#8", mfloat },
-{"fmoveml",    two(0xF000, 0x8000),    two(0xF1C0, 0xE3FF),    "Ii*ss8", mfloat },
+{"fmovem.l",   two(0xF000, 0x8000),    two(0xF2C0, 0xE3FF),    "Ii*sL8", mfloat },
+{"fmovem.l",   two(0xF000, 0x8000),    two(0xF1C0, 0xE3FF),    "Ii*s#8", mfloat },
+{"fmovem.l",   two(0xF000, 0x8000),    two(0xF1C0, 0xE3FF),    "Ii*ss8", mfloat },
 
 /* fmovemx with register lists */
 {"fmovem",     two(0xF020, 0xE000),    two(0xF1F8, 0xFF00),    "IdL3-s", mfloat }, /* to autodec, static & dynamic */
@@ -1097,76 +1122,76 @@ struct m68k_opcode m68k_opcodes[] =
 {"fmovem",     two(0xF000, 0xA000),    two(0xF1C0, 0xE3FF),    "IiL8@s", mfloat },
 {"fmovem",     two(0xF000, 0x8000),    two(0xF2C0, 0xE3FF),    "Ii*sL8", mfloat },
 
-{"fmulb",      two(0xF000, 0x5823),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fmuld",      two(0xF000, 0x5423),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fmull",      two(0xF000, 0x4023),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fmulp",      two(0xF000, 0x4C23),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fmuls",      two(0xF000, 0x4423),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fmulw",      two(0xF000, 0x5023),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fmulx",      two(0xF000, 0x0023),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fmulx",      two(0xF000, 0x4823),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fmul.b",     two(0xF000, 0x5823),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fmul.d",     two(0xF000, 0x5423),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fmul.l",     two(0xF000, 0x4023),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fmul.p",     two(0xF000, 0x4C23),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fmul.s",     two(0xF000, 0x4423),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fmul.w",     two(0xF000, 0x5023),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fmul.x",     two(0xF000, 0x0023),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fmul.x",     two(0xF000, 0x4823),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
 /* {"fmulx",   two(0xF000, 0x0023),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF */
 
-{"fsmulb",     two(0xF000, 0x5833),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fsmuld",     two(0xF000, 0x5433),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fsmull",     two(0xF000, 0x4033),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fsmulp",     two(0xF000, 0x4C33),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fsmuls",     two(0xF000, 0x4433),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fsmulw",     two(0xF000, 0x5033),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fsmulx",     two(0xF000, 0x0033),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fsmulx",     two(0xF000, 0x4833),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fsmul.b",    two(0xF000, 0x5833),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fsmul.d",    two(0xF000, 0x5433),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fsmul.l",    two(0xF000, 0x4033),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fsmul.p",    two(0xF000, 0x4C33),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fsmul.s",    two(0xF000, 0x4433),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fsmul.w",    two(0xF000, 0x5033),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fsmul.x",    two(0xF000, 0x0033),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fsmul.x",    two(0xF000, 0x4833),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
 /* {"fsmulx",  two(0xF000, 0x0033),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 }, JF */
 
-{"fdmulb",     two(0xF000, 0x5837),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fdmuld",     two(0xF000, 0x5437),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fdmull",     two(0xF000, 0x4037),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fdmulp",     two(0xF000, 0x4C37),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fdmuls",     two(0xF000, 0x4437),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fdmulw",     two(0xF000, 0x5037),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fdmulx",     two(0xF000, 0x0037),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fdmulx",     two(0xF000, 0x4837),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fdmul.b",    two(0xF000, 0x5837),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fdmul.d",    two(0xF000, 0x5437),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fdmul.l",    two(0xF000, 0x4037),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fdmul.p",    two(0xF000, 0x4C37),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fdmul.s",    two(0xF000, 0x4437),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fdmul.w",    two(0xF000, 0x5037),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fdmul.x",    two(0xF000, 0x0037),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fdmul.x",    two(0xF000, 0x4837),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
 /* {"dfmulx",  two(0xF000, 0x0037),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 }, JF */
 
-{"fnegb",      two(0xF000, 0x581A),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fnegd",      two(0xF000, 0x541A),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fnegl",      two(0xF000, 0x401A),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fnegp",      two(0xF000, 0x4C1A),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fnegs",      two(0xF000, 0x441A),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fnegw",      two(0xF000, 0x501A),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fnegx",      two(0xF000, 0x001A),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fnegx",      two(0xF000, 0x481A),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fnegx",      two(0xF000, 0x001A),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fsnegb",     two(0xF000, 0x585A),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fsnegd",     two(0xF000, 0x545A),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fsnegl",     two(0xF000, 0x405A),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fsnegp",     two(0xF000, 0x4C5A),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fsnegs",     two(0xF000, 0x445A),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fsnegw",     two(0xF000, 0x505A),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fsnegx",     two(0xF000, 0x005A),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fsnegx",     two(0xF000, 0x485A),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
-{"fsnegx",     two(0xF000, 0x005A),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
-
-{"fdnegb",     two(0xF000, 0x585E),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fdnegd",     two(0xF000, 0x545E),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fdnegl",     two(0xF000, 0x405E),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fdnegp",     two(0xF000, 0x4C5E),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fdnegs",     two(0xF000, 0x445E),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fdnegw",     two(0xF000, 0x505E),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fdnegx",     two(0xF000, 0x005E),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fdnegx",     two(0xF000, 0x485E),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
-{"fdnegx",     two(0xF000, 0x005E),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
+{"fneg.b",     two(0xF000, 0x581A),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fneg.d",     two(0xF000, 0x541A),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fneg.l",     two(0xF000, 0x401A),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fneg.p",     two(0xF000, 0x4C1A),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fneg.s",     two(0xF000, 0x441A),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fneg.w",     two(0xF000, 0x501A),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fneg.x",     two(0xF000, 0x001A),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fneg.x",     two(0xF000, 0x481A),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fneg.x",     two(0xF000, 0x001A),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fsneg.b",    two(0xF000, 0x585A),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fsneg.d",    two(0xF000, 0x545A),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fsneg.l",    two(0xF000, 0x405A),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fsneg.p",    two(0xF000, 0x4C5A),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fsneg.s",    two(0xF000, 0x445A),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fsneg.w",    two(0xF000, 0x505A),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fsneg.x",    two(0xF000, 0x005A),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fsneg.x",    two(0xF000, 0x485A),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fsneg.x",    two(0xF000, 0x005A),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
+
+{"fdneg.b",    two(0xF000, 0x585E),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fdneg.d",    two(0xF000, 0x545E),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fdneg.l",    two(0xF000, 0x405E),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fdneg.p",    two(0xF000, 0x4C5E),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fdneg.s",    two(0xF000, 0x445E),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fdneg.w",    two(0xF000, 0x505E),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fdneg.x",    two(0xF000, 0x005E),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fdneg.x",    two(0xF000, 0x485E),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fdneg.x",    two(0xF000, 0x005E),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
 
 {"fnop",       two(0xF280, 0x0000),    two(0xFFFF, 0xFFFF),    "Ii", mfloat },
 
-{"fremb",      two(0xF000, 0x5825),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fremd",      two(0xF000, 0x5425),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"freml",      two(0xF000, 0x4025),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fremp",      two(0xF000, 0x4C25),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"frems",      two(0xF000, 0x4425),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fremw",      two(0xF000, 0x5025),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fremx",      two(0xF000, 0x0025),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fremx",      two(0xF000, 0x4825),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"frem.b",     two(0xF000, 0x5825),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"frem.d",     two(0xF000, 0x5425),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"frem.l",     two(0xF000, 0x4025),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"frem.p",     two(0xF000, 0x4C25),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"frem.s",     two(0xF000, 0x4425),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"frem.w",     two(0xF000, 0x5025),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"frem.x",     two(0xF000, 0x0025),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"frem.x",     two(0xF000, 0x4825),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
 /* {"fremx",   two(0xF000, 0x0025),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF */
 
 {"frestore",   one(0xF140),            one(0xF1C0),            "Id&s", mfloat },
@@ -1174,14 +1199,14 @@ struct m68k_opcode m68k_opcodes[] =
 {"fsave",      one(0xF100),            one(0xF1C0),            "Id&s", mfloat },
 {"fsave",      one(0xF120),            one(0xF1F8),            "Id-s", mfloat },
 
-{"fscaleb",    two(0xF000, 0x5826),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fscaled",    two(0xF000, 0x5426),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fscalel",    two(0xF000, 0x4026),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fscalep",    two(0xF000, 0x4C26),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fscales",    two(0xF000, 0x4426),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fscalew",    two(0xF000, 0x5026),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fscalex",    two(0xF000, 0x0026),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fscalex",    two(0xF000, 0x4826),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fscale.b",   two(0xF000, 0x5826),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fscale.d",   two(0xF000, 0x5426),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fscale.l",   two(0xF000, 0x4026),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fscale.p",   two(0xF000, 0x4C26),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fscale.s",   two(0xF000, 0x4426),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fscale.w",   two(0xF000, 0x5026),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fscale.x",   two(0xF000, 0x0026),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fscale.x",   two(0xF000, 0x4826),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
 /* {"fscalex", two(0xF000, 0x0026),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat }, JF */
 
 /* $ is necessary to prevent the assembler from using PC-relative.
@@ -1220,144 +1245,144 @@ struct m68k_opcode m68k_opcodes[] =
 {"fsult",      two(0xF040, 0x000C),    two(0xF1C0, 0xFFFF),    "Ii$s", mfloat },
 {"fsun",       two(0xF040, 0x0008),    two(0xF1C0, 0xFFFF),    "Ii$s", mfloat },
 
-{"fsgldivb",   two(0xF000, 0x5824),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fsgldivd",   two(0xF000, 0x5424),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fsgldivl",   two(0xF000, 0x4024),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fsgldivp",   two(0xF000, 0x4C24),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fsgldivs",   two(0xF000, 0x4424),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fsgldivw",   two(0xF000, 0x5024),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fsgldivx",   two(0xF000, 0x0024),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fsgldivx",   two(0xF000, 0x4824),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fsgldivx",   two(0xF000, 0x0024),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fsglmulb",   two(0xF000, 0x5827),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fsglmuld",   two(0xF000, 0x5427),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fsglmull",   two(0xF000, 0x4027),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fsglmulp",   two(0xF000, 0x4C27),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fsglmuls",   two(0xF000, 0x4427),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fsglmulw",   two(0xF000, 0x5027),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fsglmulx",   two(0xF000, 0x0027),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fsglmulx",   two(0xF000, 0x4827),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fsglmulx",   two(0xF000, 0x0027),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fsinb",      two(0xF000, 0x580E),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fsind",      two(0xF000, 0x540E),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fsinl",      two(0xF000, 0x400E),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fsinp",      two(0xF000, 0x4C0E),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fsins",      two(0xF000, 0x440E),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fsinw",      two(0xF000, 0x500E),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fsinx",      two(0xF000, 0x000E),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fsinx",      two(0xF000, 0x480E),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fsinx",      two(0xF000, 0x000E),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fsinhb",     two(0xF000, 0x5802),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fsinhd",     two(0xF000, 0x5402),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fsinhl",     two(0xF000, 0x4002),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fsinhp",     two(0xF000, 0x4C02),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fsinhs",     two(0xF000, 0x4402),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fsinhw",     two(0xF000, 0x5002),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fsinhx",     two(0xF000, 0x0002),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fsinhx",     two(0xF000, 0x4802),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fsinhx",     two(0xF000, 0x0002),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fsincosb",   two(0xF000, 0x5830),    two(0xF1C0, 0xFC78),    "Ii;bF3F7", mfloat },
-{"fsincosd",   two(0xF000, 0x5430),    two(0xF1C0, 0xFC78),    "Ii;FF3F7", mfloat },
-{"fsincosl",   two(0xF000, 0x4030),    two(0xF1C0, 0xFC78),    "Ii;lF3F7", mfloat },
-{"fsincosp",   two(0xF000, 0x4C30),    two(0xF1C0, 0xFC78),    "Ii;pF3F7", mfloat },
-{"fsincoss",   two(0xF000, 0x4430),    two(0xF1C0, 0xFC78),    "Ii;fF3F7", mfloat },
-{"fsincosw",   two(0xF000, 0x5030),    two(0xF1C0, 0xFC78),    "Ii;wF3F7", mfloat },
-{"fsincosx",   two(0xF000, 0x0030),    two(0xF1C0, 0xE078),    "IiF8F3F7", mfloat },
-{"fsincosx",   two(0xF000, 0x4830),    two(0xF1C0, 0xFC78),    "Ii;xF3F7", mfloat },
-
-{"fsqrtb",     two(0xF000, 0x5804),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fsqrtd",     two(0xF000, 0x5404),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fsqrtl",     two(0xF000, 0x4004),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fsqrtp",     two(0xF000, 0x4C04),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fsqrts",     two(0xF000, 0x4404),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fsqrtw",     two(0xF000, 0x5004),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fsqrtx",     two(0xF000, 0x0004),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fsqrtx",     two(0xF000, 0x4804),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fsqrtx",     two(0xF000, 0x0004),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fssqrtb",    two(0xF000, 0x5841),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fssqrtd",    two(0xF000, 0x5441),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fssqrtl",    two(0xF000, 0x4041),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fssqrtp",    two(0xF000, 0x4C41),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fssqrts",    two(0xF000, 0x4441),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fssqrtw",    two(0xF000, 0x5041),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fssqrtx",    two(0xF000, 0x0041),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fssqrtx",    two(0xF000, 0x4841),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
-{"fssqrtx",    two(0xF000, 0x0041),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
-
-{"fdsqrtb",    two(0xF000, 0x5845),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fdsqrtd",    two(0xF000, 0x5445),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fdsqrtl",    two(0xF000, 0x4045),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fdsqrtp",    two(0xF000, 0x4C45),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fdsqrts",    two(0xF000, 0x4445),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fdsqrtw",    two(0xF000, 0x5045),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fdsqrtx",    two(0xF000, 0x0045),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fdsqrtx",    two(0xF000, 0x4845),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
-{"fdsqrtx",    two(0xF000, 0x0045),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
-
-{"fsubb",      two(0xF000, 0x5828),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"fsubd",      two(0xF000, 0x5428),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"fsubl",      two(0xF000, 0x4028),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"fsubp",      two(0xF000, 0x4C28),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"fsubs",      two(0xF000, 0x4428),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"fsubw",      two(0xF000, 0x5028),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"fsubx",      two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"fsubx",      two(0xF000, 0x4828),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"fsubx",      two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"fssubb",     two(0xF000, 0x5838),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fssubd",     two(0xF000, 0x5438),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fssubl",     two(0xF000, 0x4038),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fssubp",     two(0xF000, 0x4C38),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fssubs",     two(0xF000, 0x4438),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fssubw",     two(0xF000, 0x5038),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fssubx",     two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fssubx",     two(0xF000, 0x4838),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
-{"fssubx",     two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
-
-{"fdsubb",     two(0xF000, 0x583c),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
-{"fdsubd",     two(0xF000, 0x543c),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
-{"fdsubl",     two(0xF000, 0x403c),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
-{"fdsubp",     two(0xF000, 0x4C3c),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
-{"fdsubs",     two(0xF000, 0x443c),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
-{"fdsubw",     two(0xF000, 0x503c),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
-{"fdsubx",     two(0xF000, 0x003c),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
-{"fdsubx",     two(0xF000, 0x483c),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
-{"fdsubx",     two(0xF000, 0x003c),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
-
-{"ftanb",      two(0xF000, 0x580F),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"ftand",      two(0xF000, 0x540F),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"ftanl",      two(0xF000, 0x400F),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"ftanp",      two(0xF000, 0x4C0F),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"ftans",      two(0xF000, 0x440F),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"ftanw",      two(0xF000, 0x500F),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"ftanx",      two(0xF000, 0x000F),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"ftanx",      two(0xF000, 0x480F),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"ftanx",      two(0xF000, 0x000F),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"ftanhb",     two(0xF000, 0x5809),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"ftanhd",     two(0xF000, 0x5409),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"ftanhl",     two(0xF000, 0x4009),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"ftanhp",     two(0xF000, 0x4C09),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"ftanhs",     two(0xF000, 0x4409),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"ftanhw",     two(0xF000, 0x5009),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"ftanhx",     two(0xF000, 0x0009),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"ftanhx",     two(0xF000, 0x4809),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"ftanhx",     two(0xF000, 0x0009),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
-
-{"ftentoxb",   two(0xF000, 0x5812),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"ftentoxd",   two(0xF000, 0x5412),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"ftentoxl",   two(0xF000, 0x4012),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"ftentoxp",   two(0xF000, 0x4C12),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"ftentoxs",   two(0xF000, 0x4412),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"ftentoxw",   two(0xF000, 0x5012),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"ftentoxx",   two(0xF000, 0x0012),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"ftentoxx",   two(0xF000, 0x4812),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"ftentoxx",   two(0xF000, 0x0012),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+{"fsgldiv.b",  two(0xF000, 0x5824),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fsgldiv.d",  two(0xF000, 0x5424),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fsgldiv.l",  two(0xF000, 0x4024),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fsgldiv.p",  two(0xF000, 0x4C24),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fsgldiv.s",  two(0xF000, 0x4424),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fsgldiv.w",  two(0xF000, 0x5024),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fsgldiv.x",  two(0xF000, 0x0024),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fsgldiv.x",  two(0xF000, 0x4824),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fsgldiv.x",  two(0xF000, 0x0024),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fsglmul.b",  two(0xF000, 0x5827),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fsglmul.d",  two(0xF000, 0x5427),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fsglmul.l",  two(0xF000, 0x4027),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fsglmul.p",  two(0xF000, 0x4C27),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fsglmul.s",  two(0xF000, 0x4427),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fsglmul.w",  two(0xF000, 0x5027),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fsglmul.x",  two(0xF000, 0x0027),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fsglmul.x",  two(0xF000, 0x4827),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fsglmul.x",  two(0xF000, 0x0027),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fsin.b",     two(0xF000, 0x580E),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fsin.d",     two(0xF000, 0x540E),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fsin.l",     two(0xF000, 0x400E),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fsin.p",     two(0xF000, 0x4C0E),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fsin.s",     two(0xF000, 0x440E),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fsin.w",     two(0xF000, 0x500E),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fsin.x",     two(0xF000, 0x000E),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fsin.x",     two(0xF000, 0x480E),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fsin.x",     two(0xF000, 0x000E),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fsinh.b",    two(0xF000, 0x5802),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fsinh.d",    two(0xF000, 0x5402),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fsinh.l",    two(0xF000, 0x4002),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fsinh.p",    two(0xF000, 0x4C02),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fsinh.s",    two(0xF000, 0x4402),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fsinh.w",    two(0xF000, 0x5002),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fsinh.x",    two(0xF000, 0x0002),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fsinh.x",    two(0xF000, 0x4802),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fsinh.x",    two(0xF000, 0x0002),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fsincos.b",  two(0xF000, 0x5830),    two(0xF1C0, 0xFC78),    "Ii;bF3F7", mfloat },
+{"fsincos.d",  two(0xF000, 0x5430),    two(0xF1C0, 0xFC78),    "Ii;FF3F7", mfloat },
+{"fsincos.l",  two(0xF000, 0x4030),    two(0xF1C0, 0xFC78),    "Ii;lF3F7", mfloat },
+{"fsincos.p",  two(0xF000, 0x4C30),    two(0xF1C0, 0xFC78),    "Ii;pF3F7", mfloat },
+{"fsincos.s",  two(0xF000, 0x4430),    two(0xF1C0, 0xFC78),    "Ii;fF3F7", mfloat },
+{"fsincos.w",  two(0xF000, 0x5030),    two(0xF1C0, 0xFC78),    "Ii;wF3F7", mfloat },
+{"fsincos.x",  two(0xF000, 0x0030),    two(0xF1C0, 0xE078),    "IiF8F3F7", mfloat },
+{"fsincos.x",  two(0xF000, 0x4830),    two(0xF1C0, 0xFC78),    "Ii;xF3F7", mfloat },
+
+{"fsqrt.b",    two(0xF000, 0x5804),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fsqrt.d",    two(0xF000, 0x5404),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fsqrt.l",    two(0xF000, 0x4004),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fsqrt.p",    two(0xF000, 0x4C04),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fsqrt.s",    two(0xF000, 0x4404),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fsqrt.w",    two(0xF000, 0x5004),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fsqrt.x",    two(0xF000, 0x0004),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fsqrt.x",    two(0xF000, 0x4804),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fsqrt.x",    two(0xF000, 0x0004),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fssqrt.b",   two(0xF000, 0x5841),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fssqrt.d",   two(0xF000, 0x5441),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fssqrt.l",   two(0xF000, 0x4041),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fssqrt.p",   two(0xF000, 0x4C41),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fssqrt.s",   two(0xF000, 0x4441),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fssqrt.w",   two(0xF000, 0x5041),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fssqrt.x",   two(0xF000, 0x0041),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fssqrt.x",   two(0xF000, 0x4841),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fssqrt.x",   two(0xF000, 0x0041),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
+
+{"fdsqrt.b",   two(0xF000, 0x5845),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fdsqrt.d",   two(0xF000, 0x5445),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fdsqrt.l",   two(0xF000, 0x4045),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fdsqrt.p",   two(0xF000, 0x4C45),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fdsqrt.s",   two(0xF000, 0x4445),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fdsqrt.w",   two(0xF000, 0x5045),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fdsqrt.x",   two(0xF000, 0x0045),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fdsqrt.x",   two(0xF000, 0x4845),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fdsqrt.x",   two(0xF000, 0x0045),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
+
+{"fsub.b",     two(0xF000, 0x5828),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"fsub.d",     two(0xF000, 0x5428),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"fsub.l",     two(0xF000, 0x4028),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"fsub.p",     two(0xF000, 0x4C28),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"fsub.s",     two(0xF000, 0x4428),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"fsub.w",     two(0xF000, 0x5028),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"fsub.x",     two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"fsub.x",     two(0xF000, 0x4828),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"fsub.x",     two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"fssub.b",    two(0xF000, 0x5838),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fssub.d",    two(0xF000, 0x5438),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fssub.l",    two(0xF000, 0x4038),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fssub.p",    two(0xF000, 0x4C38),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fssub.s",    two(0xF000, 0x4438),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fssub.w",    two(0xF000, 0x5038),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fssub.x",    two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fssub.x",    two(0xF000, 0x4838),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fssub.x",    two(0xF000, 0x0038),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
+
+{"fdsub.b",    two(0xF000, 0x583c),    two(0xF1C0, 0xFC7F),    "Ii;bF7", m68040 },
+{"fdsub.d",    two(0xF000, 0x543c),    two(0xF1C0, 0xFC7F),    "Ii;FF7", m68040 },
+{"fdsub.l",    two(0xF000, 0x403c),    two(0xF1C0, 0xFC7F),    "Ii;lF7", m68040 },
+{"fdsub.p",    two(0xF000, 0x4C3c),    two(0xF1C0, 0xFC7F),    "Ii;pF7", m68040 },
+{"fdsub.s",    two(0xF000, 0x443c),    two(0xF1C0, 0xFC7F),    "Ii;fF7", m68040 },
+{"fdsub.w",    two(0xF000, 0x503c),    two(0xF1C0, 0xFC7F),    "Ii;wF7", m68040 },
+{"fdsub.x",    two(0xF000, 0x003c),    two(0xF1C0, 0xE07F),    "IiF8F7", m68040 },
+{"fdsub.x",    two(0xF000, 0x483c),    two(0xF1C0, 0xFC7F),    "Ii;xF7", m68040 },
+{"fdsub.x",    two(0xF000, 0x003c),    two(0xF1C0, 0xE07F),    "IiFt",   m68040 },
+
+{"ftan.b",     two(0xF000, 0x580F),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"ftan.d",     two(0xF000, 0x540F),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"ftan.l",     two(0xF000, 0x400F),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"ftan.p",     two(0xF000, 0x4C0F),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"ftan.s",     two(0xF000, 0x440F),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"ftan.w",     two(0xF000, 0x500F),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"ftan.x",     two(0xF000, 0x000F),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"ftan.x",     two(0xF000, 0x480F),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"ftan.x",     two(0xF000, 0x000F),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"ftanh.b",    two(0xF000, 0x5809),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"ftanh.d",    two(0xF000, 0x5409),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"ftanh.l",    two(0xF000, 0x4009),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"ftanh.p",    two(0xF000, 0x4C09),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"ftanh.s",    two(0xF000, 0x4409),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"ftanh.w",    two(0xF000, 0x5009),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"ftanh.x",    two(0xF000, 0x0009),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"ftanh.x",    two(0xF000, 0x4809),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"ftanh.x",    two(0xF000, 0x0009),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+
+{"ftentox.b",  two(0xF000, 0x5812),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"ftentox.d",  two(0xF000, 0x5412),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"ftentox.l",  two(0xF000, 0x4012),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"ftentox.p",  two(0xF000, 0x4C12),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"ftentox.s",  two(0xF000, 0x4412),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"ftentox.w",  two(0xF000, 0x5012),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"ftentox.x",  two(0xF000, 0x0012),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"ftentox.x",  two(0xF000, 0x4812),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"ftentox.x",  two(0xF000, 0x0012),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
 
 {"ftrapeq",    two(0xF07C, 0x0001),    two(0xF1FF, 0xFFFF),    "Ii", mfloat },
 {"ftrapf",     two(0xF07C, 0x0000),    two(0xF1FF, 0xFFFF),    "Ii", mfloat },
@@ -1392,90 +1417,90 @@ struct m68k_opcode m68k_opcodes[] =
 {"ftrapult",   two(0xF07C, 0x000C),    two(0xF1FF, 0xFFFF),    "Ii", mfloat },
 {"ftrapun",    two(0xF07C, 0x0008),    two(0xF1FF, 0xFFFF),    "Ii", mfloat },
         
-{"ftrapeqw",   two(0xF07A, 0x0001),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapfw",    two(0xF07A, 0x0000),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapgew",   two(0xF07A, 0x0013),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapglw",   two(0xF07A, 0x0016),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapglew",  two(0xF07A, 0x0017),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapgtw",   two(0xF07A, 0x0012),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftraplew",   two(0xF07A, 0x0015),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapltw",   two(0xF07A, 0x0014),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapnew",   two(0xF07A, 0x000E),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapngew",  two(0xF07A, 0x001C),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapnglw",  two(0xF07A, 0x0019),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapnglew", two(0xF07A, 0x0018),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapngtw",  two(0xF07A, 0x001D),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapnlew",  two(0xF07A, 0x001A),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapnltw",  two(0xF07A, 0x001B),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapogew",  two(0xF07A, 0x0003),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapoglw",  two(0xF07A, 0x0006),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapogtw",  two(0xF07A, 0x0002),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapolew",  two(0xF07A, 0x0005),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapoltw",  two(0xF07A, 0x0004),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftraporw",   two(0xF07A, 0x0007),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapseqw",  two(0xF07A, 0x0011),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapsfw",   two(0xF07A, 0x0010),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapsnew",  two(0xF07A, 0x001E),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapstw",   two(0xF07A, 0x001F),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftraptw",    two(0xF07A, 0x000F),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapueqw",  two(0xF07A, 0x0009),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapugew",  two(0xF07A, 0x000B),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapugtw",  two(0xF07A, 0x000A),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapulew",  two(0xF07A, 0x000D),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapultw",  two(0xF07A, 0x000C),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-{"ftrapunw",   two(0xF07A, 0x0008),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
-
-{"ftrapeql",   two(0xF07B, 0x0001),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapfl",    two(0xF07B, 0x0000),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapgel",   two(0xF07B, 0x0013),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapgll",   two(0xF07B, 0x0016),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapglel",  two(0xF07B, 0x0017),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapgtl",   two(0xF07B, 0x0012),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftraplel",   two(0xF07B, 0x0015),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapltl",   two(0xF07B, 0x0014),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapnel",   two(0xF07B, 0x000E),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapngel",  two(0xF07B, 0x001C),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapngll",  two(0xF07B, 0x0019),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapnglel", two(0xF07B, 0x0018),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapngtl",  two(0xF07B, 0x001D),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapnlel",  two(0xF07B, 0x001A),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapnltl",  two(0xF07B, 0x001B),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapogel",  two(0xF07B, 0x0003),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapogll",  two(0xF07B, 0x0006),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapogtl",  two(0xF07B, 0x0002),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapolel",  two(0xF07B, 0x0005),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapoltl",  two(0xF07B, 0x0004),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftraporl",   two(0xF07B, 0x0007),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapseql",  two(0xF07B, 0x0011),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapsfl",   two(0xF07B, 0x0010),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapsnel",  two(0xF07B, 0x001E),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapstl",   two(0xF07B, 0x001F),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftraptl",    two(0xF07B, 0x000F),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapueql",  two(0xF07B, 0x0009),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapugel",  two(0xF07B, 0x000B),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapugtl",  two(0xF07B, 0x000A),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapulel",  two(0xF07B, 0x000D),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapultl",  two(0xF07B, 0x000C),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-{"ftrapunl",   two(0xF07B, 0x0008),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
-
-{"ftstb",      two(0xF000, 0x583A),    two(0xF1C0, 0xFC7F),    "Ii;b", mfloat },
-{"ftstd",      two(0xF000, 0x543A),    two(0xF1C0, 0xFC7F),    "Ii;F", mfloat },
-{"ftstl",      two(0xF000, 0x403A),    two(0xF1C0, 0xFC7F),    "Ii;l", mfloat },
-{"ftstp",      two(0xF000, 0x4C3A),    two(0xF1C0, 0xFC7F),    "Ii;p", mfloat },
-{"ftsts",      two(0xF000, 0x443A),    two(0xF1C0, 0xFC7F),    "Ii;f", mfloat },
-{"ftstw",      two(0xF000, 0x503A),    two(0xF1C0, 0xFC7F),    "Ii;w", mfloat },
-{"ftstx",      two(0xF000, 0x003A),    two(0xF1C0, 0xE07F),    "IiF8", mfloat },
-{"ftstx",      two(0xF000, 0x483A),    two(0xF1C0, 0xFC7F),    "Ii;x", mfloat },
-
-{"ftwotoxb",   two(0xF000, 0x5811),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
-{"ftwotoxd",   two(0xF000, 0x5411),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
-{"ftwotoxl",   two(0xF000, 0x4011),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
-{"ftwotoxp",   two(0xF000, 0x4C11),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
-{"ftwotoxs",   two(0xF000, 0x4411),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
-{"ftwotoxw",   two(0xF000, 0x5011),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
-{"ftwotoxx",   two(0xF000, 0x0011),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
-{"ftwotoxx",   two(0xF000, 0x4811),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
-{"ftwotoxx",   two(0xF000, 0x0011),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
+{"ftrapeq.w",  two(0xF07A, 0x0001),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapf.w",   two(0xF07A, 0x0000),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapge.w",  two(0xF07A, 0x0013),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapgl.w",  two(0xF07A, 0x0016),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapgle.w", two(0xF07A, 0x0017),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapgt.w",  two(0xF07A, 0x0012),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftraple.w",  two(0xF07A, 0x0015),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftraplt.w",  two(0xF07A, 0x0014),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapne.w",  two(0xF07A, 0x000E),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapnge.w", two(0xF07A, 0x001C),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapngl.w", two(0xF07A, 0x0019),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapngle.w",        two(0xF07A, 0x0018),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapngt.w", two(0xF07A, 0x001D),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapnle.w", two(0xF07A, 0x001A),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapnlt.w", two(0xF07A, 0x001B),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapoge.w", two(0xF07A, 0x0003),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapogl.w", two(0xF07A, 0x0006),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapogt.w", two(0xF07A, 0x0002),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapole.w", two(0xF07A, 0x0005),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapolt.w", two(0xF07A, 0x0004),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapor.w",  two(0xF07A, 0x0007),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapseq.w", two(0xF07A, 0x0011),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapsf.w",  two(0xF07A, 0x0010),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapsne.w", two(0xF07A, 0x001E),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapst.w",  two(0xF07A, 0x001F),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapt.w",   two(0xF07A, 0x000F),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapueq.w", two(0xF07A, 0x0009),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapuge.w", two(0xF07A, 0x000B),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapugt.w", two(0xF07A, 0x000A),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapule.w", two(0xF07A, 0x000D),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapult.w", two(0xF07A, 0x000C),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+{"ftrapun.w",  two(0xF07A, 0x0008),    two(0xF1FF, 0xFFFF),    "Ii^w", mfloat },
+
+{"ftrapeq.l",  two(0xF07B, 0x0001),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapf.l",   two(0xF07B, 0x0000),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapge.l",  two(0xF07B, 0x0013),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapgl.l",  two(0xF07B, 0x0016),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapgle.l", two(0xF07B, 0x0017),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapgt.l",  two(0xF07B, 0x0012),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftraple.l",  two(0xF07B, 0x0015),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftraplt.l",  two(0xF07B, 0x0014),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapne.l",  two(0xF07B, 0x000E),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapnge.l", two(0xF07B, 0x001C),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapngl.l", two(0xF07B, 0x0019),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapngle.l",        two(0xF07B, 0x0018),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapngt.l", two(0xF07B, 0x001D),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapnle.l", two(0xF07B, 0x001A),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapnlt.l", two(0xF07B, 0x001B),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapoge.l", two(0xF07B, 0x0003),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapogl.l", two(0xF07B, 0x0006),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapogt.l", two(0xF07B, 0x0002),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapole.l", two(0xF07B, 0x0005),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapolt.l", two(0xF07B, 0x0004),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapor.l",  two(0xF07B, 0x0007),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapseq.l", two(0xF07B, 0x0011),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapsf.l",  two(0xF07B, 0x0010),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapsne.l", two(0xF07B, 0x001E),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapst.l",  two(0xF07B, 0x001F),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapt.l",   two(0xF07B, 0x000F),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapueq.l", two(0xF07B, 0x0009),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapuge.l", two(0xF07B, 0x000B),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapugt.l", two(0xF07B, 0x000A),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapule.l", two(0xF07B, 0x000D),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapult.l", two(0xF07B, 0x000C),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+{"ftrapun.l",  two(0xF07B, 0x0008),    two(0xF1FF, 0xFFFF),    "Ii^l", mfloat },
+
+{"ftst.b",     two(0xF000, 0x583A),    two(0xF1C0, 0xFC7F),    "Ii;b", mfloat },
+{"ftst.d",     two(0xF000, 0x543A),    two(0xF1C0, 0xFC7F),    "Ii;F", mfloat },
+{"ftst.l",     two(0xF000, 0x403A),    two(0xF1C0, 0xFC7F),    "Ii;l", mfloat },
+{"ftst.p",     two(0xF000, 0x4C3A),    two(0xF1C0, 0xFC7F),    "Ii;p", mfloat },
+{"ftst.s",     two(0xF000, 0x443A),    two(0xF1C0, 0xFC7F),    "Ii;f", mfloat },
+{"ftst.w",     two(0xF000, 0x503A),    two(0xF1C0, 0xFC7F),    "Ii;w", mfloat },
+{"ftst.x",     two(0xF000, 0x003A),    two(0xF1C0, 0xE07F),    "IiF8", mfloat },
+{"ftst.x",     two(0xF000, 0x483A),    two(0xF1C0, 0xFC7F),    "Ii;x", mfloat },
+
+{"ftwotox.b",  two(0xF000, 0x5811),    two(0xF1C0, 0xFC7F),    "Ii;bF7", mfloat },
+{"ftwotox.d",  two(0xF000, 0x5411),    two(0xF1C0, 0xFC7F),    "Ii;FF7", mfloat },
+{"ftwotox.l",  two(0xF000, 0x4011),    two(0xF1C0, 0xFC7F),    "Ii;lF7", mfloat },
+{"ftwotox.p",  two(0xF000, 0x4C11),    two(0xF1C0, 0xFC7F),    "Ii;pF7", mfloat },
+{"ftwotox.s",  two(0xF000, 0x4411),    two(0xF1C0, 0xFC7F),    "Ii;fF7", mfloat },
+{"ftwotox.w",  two(0xF000, 0x5011),    two(0xF1C0, 0xFC7F),    "Ii;wF7", mfloat },
+{"ftwotox.x",  two(0xF000, 0x0011),    two(0xF1C0, 0xE07F),    "IiF8F7", mfloat },
+{"ftwotox.x",  two(0xF000, 0x4811),    two(0xF1C0, 0xFC7F),    "Ii;xF7", mfloat },
+{"ftwotox.x",  two(0xF000, 0x0011),    two(0xF1C0, 0xE07F),    "IiFt",   mfloat },
 
 /* Variable-sized float branches */
 
@@ -1514,51 +1539,52 @@ struct m68k_opcode m68k_opcodes[] =
 /* float stuff ends here */
 {"illegal",    one(0045374),           one(0177777),           "",     m68000up },
 
-#ifdef MRI
-{"jmps",               one(0047300),           one(0177700),           "!s",   m68000up },
-{"jmpl",               one(0047300),           one(0177700),           "!s",   m68000up },
 
-#endif
+{"jmp.s",              one(0047300),           one(0177700),           "!s",   m68000up },
+{"jmp.l",              one(0047300),           one(0177700),           "!s",   m68000up },
+
+
 {"jmp",                one(0047300),           one(0177700),           "!s",   m68000up },
 {"jsr",                one(0047200),           one(0177700),           "!s",   m68000up },
 {"lea",                one(0040700),           one(0170700),           "!sAd", m68000up },
-{"leal",       one(0040700),           one(0170700),           "!sAd", m68000up },
-{"linkw",      one(0047120),           one(0177770),           "As#w", m68000up },
-{"linkl",      one(0044010),           one(0177770),           "As#l", m68020up },
+{"lea.l",      one(0040700),           one(0170700),           "!sAd", m68000up },     /* allow lea as leal */
+
+{"link.w",     one(0047120),           one(0177770),           "As#w", m68000up },
+{"link.l",     one(0044010),           one(0177770),           "As#l", m68020up },
 {"link",       one(0047120),           one(0177770),           "As#w", m68000up },
 {"link",       one(0044010),           one(0177770),           "As#l", m68020up },
 
-{"lslb",       one(0160410),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lslb",       one(0160450),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
-{"lslw",       one(0160510),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lslw",       one(0160550),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
-{"lslw",       one(0161700),           one(0177700),           "~s",   m68000up },     /* Shift memory */
-{"lsll",       one(0160610),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lsll",       one(0160650),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
-
-{"lsrb",       one(0160010),           one(0170770),           "QdDs", m68000up }, /* lsrb #Q, Ds */
-{"lsrb",       one(0160050),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
-{"lsrl",       one(0160210),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lsrl",       one(0160250),           one(0170770),           "DdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lsrw",       one(0160110),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lsrw",       one(0160150),           one(0170770),           "DdDs", m68000up },     /* lsrb #Q,     Ds */
-{"lsrw",       one(0161300),           one(0177700),           "~s",   m68000up },     /* Shift memory */
-
-{"moveal",     one(0020100),           one(0170700),           "*lAd", m68000up },
-{"moveaw",     one(0030100),           one(0170700),           "*wAd", m68000up },
-{"moveb",      one(0010000),           one(0170000),           ";b$d", m68000up },     /* move */
-{"movel",      one(0070000),           one(0170400),           "MsDd", m68000up },     /* moveq written as move */
-{"movel",      one(0020000),           one(0170000),           "*l$d", m68000up },
-{"movel",      one(0020100),           one(0170700),           "*lAd", m68000up },
-{"movel",      one(0047140),           one(0177770),           "AsUd", m68000up },     /* move to USP */
-{"movel",      one(0047150),           one(0177770),           "UdAs", m68000up },     /* move from USP */
+{"lsl.b",      one(0160410),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsl.b",      one(0160450),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
+{"lsl.w",      one(0160510),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsl.w",      one(0160550),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
+{"lsl.w",      one(0161700),           one(0177700),           "~s",   m68000up },     /* Shift memory */
+{"lsl.l",      one(0160610),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsl.l",      one(0160650),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
+
+{"lsr.b",      one(0160010),           one(0170770),           "QdDs", m68000up }, /* lsrb #Q, Ds */
+{"lsr.b",      one(0160050),           one(0170770),           "DdDs", m68000up },     /* lsrb Dd,     Ds */
+{"lsr.l",      one(0160210),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsr.l",      one(0160250),           one(0170770),           "DdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsr.w",      one(0160110),           one(0170770),           "QdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsr.w",      one(0160150),           one(0170770),           "DdDs", m68000up },     /* lsrb #Q,     Ds */
+{"lsr.w",      one(0161300),           one(0177700),           "~s",   m68000up },     /* Shift memory */
+
+{"movea.l",    one(0020100),           one(0170700),           "*lAd", m68000up },
+{"movea.w",    one(0030100),           one(0170700),           "*wAd", m68000up },
+{"move.b",     one(0010000),           one(0170000),           ";b$d", m68000up },     /* move */
+{"move.l",     one(0070000),           one(0170400),           "MsDd", m68000up },     /* moveq written as move */
+{"move.l",     one(0020000),           one(0170000),           "*l$d", m68000up },
+{"move.l",     one(0020100),           one(0170700),           "*lAd", m68000up },
+{"move.l",     one(0047140),           one(0177770),           "AsUd", m68000up },     /* move to USP */
+{"move.l",     one(0047150),           one(0177770),           "UdAs", m68000up },     /* move from USP */
 
 {"movec",      one(0047173),           one(0177777),           "R1Jj", m68010up },
 {"movec",      one(0047173),           one(0177777),           "R1#j", m68010up },
 {"movec",      one(0047172),           one(0177777),           "JjR1", m68010up },
 {"movec",      one(0047172),           one(0177777),           "#jR1", m68010up },
 
-#ifdef MRI
+
 
 {"movem",      one(0044200),           one(0177700),           "Lw&s", m68000up },     /* movem reg to mem. */
 {"movem",      one(0044240),           one(0177770),           "lw-s", m68000up },     /* movem reg to autodecrement. */
@@ -1571,52 +1597,52 @@ struct m68k_opcode m68k_opcodes[] =
 {"movem",      one(0046230),           one(0177770),           "+s#w", m68000up },     /* movem autoinc to reg. */
 
 
-#endif
+
 /* JF added these next four for the assembler */
-{"moveml",     one(0044300),           one(0177700),           "Lw&s", m68000up },     /* movem reg to mem. */
-{"moveml",     one(0044340),           one(0177770),           "lw-s", m68000up },     /* movem reg to autodecrement. */
-{"moveml",     one(0046300),           one(0177700),           "!sLw", m68000up },     /* movem mem to reg. */
-{"moveml",     one(0046330),           one(0177770),           "+sLw", m68000up },     /* movem autoinc to reg. */
+{"movem.l",    one(0044300),           one(0177700),           "Lw&s", m68000up },     /* movem reg to mem. */
+{"movem.l",    one(0044340),           one(0177770),           "lw-s", m68000up },     /* movem reg to autodecrement. */
+{"movem.l",    one(0046300),           one(0177700),           "!sLw", m68000up },     /* movem mem to reg. */
+{"movem.l",    one(0046330),           one(0177770),           "+sLw", m68000up },     /* movem autoinc to reg. */
 
-{"moveml",     one(0044300),           one(0177700),           "#w&s", m68000up },     /* movem reg to mem. */
-{"moveml",     one(0044340),           one(0177770),           "#w-s", m68000up },     /* movem reg to autodecrement. */
-{"moveml",     one(0046300),           one(0177700),           "!s#w", m68000up },     /* movem mem to reg. */
-{"moveml",     one(0046330),           one(0177770),           "+s#w", m68000up },     /* movem autoinc to reg. */
+{"movem.l",    one(0044300),           one(0177700),           "#w&s", m68000up },     /* movem reg to mem. */
+{"movem.l",    one(0044340),           one(0177770),           "#w-s", m68000up },     /* movem reg to autodecrement. */
+{"movem.l",    one(0046300),           one(0177700),           "!s#w", m68000up },     /* movem mem to reg. */
+{"movem.l",    one(0046330),           one(0177770),           "+s#w", m68000up },     /* movem autoinc to reg. */
 
 /* JF added these next four for the assembler */
-{"movemw",     one(0044200),           one(0177700),           "Lw&s", m68000up },     /* movem reg to mem. */
-{"movemw",     one(0044240),           one(0177770),           "lw-s", m68000up },     /* movem reg to autodecrement. */
-{"movemw",     one(0046200),           one(0177700),           "!sLw", m68000up },     /* movem mem to reg. */
-{"movemw",     one(0046230),           one(0177770),           "+sLw", m68000up },     /* movem autoinc to reg. */
+{"movem.w",    one(0044200),           one(0177700),           "Lw&s", m68000up },     /* movem reg to mem. */
+{"movem.w",    one(0044240),           one(0177770),           "lw-s", m68000up },     /* movem reg to autodecrement. */
+{"movem.w",    one(0046200),           one(0177700),           "!sLw", m68000up },     /* movem mem to reg. */
+{"movem.w",    one(0046230),           one(0177770),           "+sLw", m68000up },     /* movem autoinc to reg. */
+
+{"movem.w",    one(0044200),           one(0177700),           "#w&s", m68000up },     /* movem reg to mem. */
+{"movem.w",    one(0044240),           one(0177770),           "#w-s", m68000up },     /* movem reg to autodecrement. */
+{"movem.w",    one(0046200),           one(0177700),           "!s#w", m68000up },     /* movem mem to reg. */
+{"movem.w",    one(0046230),           one(0177770),           "+s#w", m68000up },     /* movem autoinc to reg. */
 
-{"movemw",     one(0044200),           one(0177700),           "#w&s", m68000up },     /* movem reg to mem. */
-{"movemw",     one(0044240),           one(0177770),           "#w-s", m68000up },     /* movem reg to autodecrement. */
-{"movemw",     one(0046200),           one(0177700),           "!s#w", m68000up },     /* movem mem to reg. */
-{"movemw",     one(0046230),           one(0177770),           "+s#w", m68000up },     /* movem autoinc to reg. */
 
-#ifdef MRI
 {"movep",      one(0000410),           one(0170770),           "dsDd", m68000up },     /* memory to register */
 {"movep",      one(0000610),           one(0170770),           "Ddds", m68000up },     /* register to memory */
-#endif
-{"movepl",     one(0000510),           one(0170770),           "dsDd", m68000up },     /* memory to register */
-{"movepl",     one(0000710),           one(0170770),           "Ddds", m68000up },     /* register to memory */
-{"movepw",     one(0000410),           one(0170770),           "dsDd", m68000up },     /* memory to register */
-{"movepw",     one(0000610),           one(0170770),           "Ddds", m68000up },     /* register to memory */
-{"moveq",      one(0070000),           one(0170400),           "MsDd", m68000up },
-{"movew",      one(0030000),           one(0170000),           "*w$d", m68000up },
-{"movew",      one(0030100),           one(0170700),           "*wAd", m68000up },     /* movea,       written as move */
-{"movew",      one(0040300),           one(0177700),           "Ss$s", m68000up },     /* Move from sr */
-{"movew",      one(0041300),           one(0177700),           "Cs$s", m68010up },     /* Move from ccr */
-{"movew",      one(0042300),           one(0177700),           ";wCd", m68000up },     /* move to ccr */
-{"movew",      one(0043300),           one(0177700),           ";wSd", m68000up },     /* move to sr */
 
-
-{"movesb",     two(0007000, 0),        two(0177700, 07777),    "~sR1", m68010up },      /* moves from memory */
-{"movesb",     two(0007000, 04000),    two(0177700, 07777),    "R1~s", m68010up },      /* moves to memory */
-{"movesl",     two(0007200, 0),        two(0177700, 07777),    "~sR1", m68010up },      /* moves from memory */
-{"movesl",     two(0007200, 04000),    two(0177700, 07777),    "R1~s", m68010up },      /* moves to memory */
-{"movesw",     two(0007100, 0),        two(0177700, 07777),    "~sR1", m68010up },      /* moves from memory */
-{"movesw",     two(0007100, 04000),    two(0177700, 07777),    "R1~s", m68010up },      /* moves to memory */
+{"movep.l",    one(0000510),           one(0170770),           "dsDd", m68000up },     /* memory to register */
+{"movep.l",    one(0000710),           one(0170770),           "Ddds", m68000up },     /* register to memory */
+{"movep.w",    one(0000410),           one(0170770),           "dsDd", m68000up },     /* memory to register */
+{"movep.w",    one(0000610),           one(0170770),           "Ddds", m68000up },     /* register to memory */
+{"move.q",     one(0070000),           one(0170400),           "MsDd", m68000up },
+{"move.w",     one(0030000),           one(0170000),           "*w$d", m68000up },
+{"move.w",     one(0030100),           one(0170700),           "*wAd", m68000up },     /* movea,       written as move */
+{"move.w",     one(0040300),           one(0177700),           "Ss$s", m68000up },     /* Move from sr */
+{"move.w",     one(0041300),           one(0177700),           "Cs$s", m68010up },     /* Move from ccr */
+{"move.w",     one(0042300),           one(0177700),           ";wCd", m68000up },     /* move to ccr */
+{"move.w",     one(0043300),           one(0177700),           ";wSd", m68000up },     /* move to sr */
+
+
+{"moves.b",    two(0007000, 0),        two(0177700, 07777),    "~sR1", m68010up },      /* moves from memory */
+{"moves.b",    two(0007000, 04000),    two(0177700, 07777),    "R1~s", m68010up },      /* moves to memory */
+{"moves.l",    two(0007200, 0),        two(0177700, 07777),    "~sR1", m68010up },      /* moves from memory */
+{"moves.l",    two(0007200, 04000),    two(0177700, 07777),    "R1~s", m68010up },      /* moves to memory */
+{"moves.w",    two(0007100, 0),        two(0177700, 07777),    "~sR1", m68010up },      /* moves from memory */
+{"moves.w",    two(0007100, 04000),    two(0177700, 07777),    "R1~s", m68010up },      /* moves to memory */
 
 {"move16",     two(0xf620, 0x8000),    two(0xfff8, 0x8fff),    "+s+1", m68040 },
 {"move16",     one(0xf600),    one(0xfff8),    "+s_L", m68040 },
@@ -1624,35 +1650,35 @@ struct m68k_opcode m68k_opcodes[] =
 {"move16",     one(0xf610),    one(0xfff8),    "as_L", m68040 },
 {"move16",     one(0xf618),    one(0xfff8),    "_Las", m68040 },
 
-{"mulsl",      two(0046000, 004000),   two(0177700, 0107770),  ";lD1", m68020up },
-{"mulsl",      two(0046000, 006000),   two(0177700, 0107770),  ";lD3D1", m68020up },
-{"mulsw",      one(0140700),           one(0170700),           ";wDd", m68000up },
+{"muls.l",     two(0046000, 004000),   two(0177700, 0107770),  ";lD1", m68020up },
+{"muls.l",     two(0046000, 006000),   two(0177700, 0107770),  ";lD3D1", m68020up },
+{"muls.w",     one(0140700),           one(0170700),           ";wDd", m68000up },
 {"muls",       one(0140700),           one(0170700),           ";wDd", m68000up },
-{"mulul",      two(0046000, 000000),   two(0177700, 0107770),  ";lD1", m68020up },
-{"mulul",      two(0046000, 002000),   two(0177700, 0107770),  ";lD3D1", m68020up },
-{"muluw",      one(0140300),           one(0170700),           ";wDd", m68000up },
+{"mulu.l",     two(0046000, 000000),   two(0177700, 0107770),  ";lD1", m68020up },
+{"mulu.l",     two(0046000, 002000),   two(0177700, 0107770),  ";lD3D1", m68020up },
+{"mulu.w",     one(0140300),           one(0170700),           ";wDd", m68000up },
 {"mulu",       one(0140300),           one(0170700),           ";wDd", m68000up },
 {"nbcd",       one(0044000),           one(0177700),           "$s", m68000up },
-#ifdef MRI
+
 {"neg",                one(0042200),           one(0177700),           "$s", m68000up },
-#endif
-{"negb",       one(0042000),           one(0177700),           "$s", m68000up },
-{"negl",       one(0042200),           one(0177700),           "$s", m68000up },
-{"negw",       one(0042100),           one(0177700),           "$s", m68000up },
-#ifdef MRI
-{"negx",       one(0040200),           one(0177700),           "$s", m68000up },
-#endif
-{"negxb",      one(0040000),           one(0177700),           "$s", m68000up },
-{"negxl",      one(0040200),           one(0177700),           "$s", m68000up },
-{"negxw",      one(0040100),           one(0177700),           "$s", m68000up },
+
+{"neg.b",      one(0042000),           one(0177700),           "$s", m68000up },
+{"neg.l",      one(0042200),           one(0177700),           "$s", m68000up },
+{"neg.w",      one(0042100),           one(0177700),           "$s", m68000up },
+
+{"neg.x",      one(0040200),           one(0177700),           "$s", m68000up },
+
+{"negx.b",     one(0040000),           one(0177700),           "$s", m68000up },
+{"negx.l",     one(0040200),           one(0177700),           "$s", m68000up },
+{"negx.w",     one(0040100),           one(0177700),           "$s", m68000up },
 {"nop",                one(0047161),           one(0177777),           "", m68000up },
-#ifdef MRI
+
 {"not",                one(0043200),           one(0177700),           "$s", m68000up },
-#endif
-{"notb",       one(0043000),           one(0177700),           "$s", m68000up },
-{"notl",       one(0043200),           one(0177700),           "$s", m68000up },
-{"notw",       one(0043100),           one(0177700),           "$s", m68000up },
-#ifdef MRI
+
+{"not.b",      one(0043000),           one(0177700),           "$s", m68000up },
+{"not.l",      one(0043200),           one(0177700),           "$s", m68000up },
+{"not.w",      one(0043100),           one(0177700),           "$s", m68000up },
+
 {"ori",                one(0000174),           one(0177777),           "#wSs", m68000up },     /* ori to sr */
 
 {"or",         one(0000100),           one(0177700),           "#w$s", m68000up },
@@ -1660,60 +1686,60 @@ struct m68k_opcode m68k_opcodes[] =
 {"or",         one(0100100),           one(0170700),           ";wDd", m68000up },     /* memory to register */
 {"or",         one(0100500),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
 
-#endif
-{"orb",                one(0000000),           one(0177700),           "#b$s", m68000up },     /* ori written as or */
-{"orb",                one(0000074),           one(0177777),           "#bCs", m68000up },     /* ori to ccr */
-{"orb",                one(0100000),           one(0170700),           ";bDd", m68000up },     /* memory to register */
-{"orb",                one(0100400),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
-{"orib",       one(0000000),           one(0177700),           "#b$s", m68000up },
-{"orib",       one(0000074),           one(0177777),           "#bCs", m68000up },     /* ori to ccr */
-{"oril",       one(0000200),           one(0177700),           "#l$s", m68000up },
-{"oriw",       one(0000100),           one(0177700),           "#w$s", m68000up },
-{"oriw",       one(0000174),           one(0177777),           "#wSs", m68000up },     /* ori to sr */
-{"orl",                one(0000200),           one(0177700),           "#l$s", m68000up },
-{"orl",                one(0100200),           one(0170700),           ";lDd", m68000up },     /* memory to register */
-{"orl",                one(0100600),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
-{"orw",                one(0000100),           one(0177700),           "#w$s", m68000up },
-{"orw",                one(0000174),           one(0177777),           "#wSs", m68000up },     /* ori to sr */
-{"orw",                one(0100100),           one(0170700),           ";wDd", m68000up },     /* memory to register */
-{"orw",                one(0100500),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
+
+{"or.b",               one(0000000),           one(0177700),           "#b$s", m68000up },     /* ori written as or */
+{"or.b",               one(0000074),           one(0177777),           "#bCs", m68000up },     /* ori to ccr */
+{"or.b",               one(0100000),           one(0170700),           ";bDd", m68000up },     /* memory to register */
+{"or.b",               one(0100400),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
+{"ori.b",      one(0000000),           one(0177700),           "#b$s", m68000up },
+{"ori.b",      one(0000074),           one(0177777),           "#bCs", m68000up },     /* ori to ccr */
+{"ori.l",      one(0000200),           one(0177700),           "#l$s", m68000up },
+{"ori.w",      one(0000100),           one(0177700),           "#w$s", m68000up },
+{"ori.w",      one(0000174),           one(0177777),           "#wSs", m68000up },     /* ori to sr */
+{"or.l",               one(0000200),           one(0177700),           "#l$s", m68000up },
+{"or.l",               one(0100200),           one(0170700),           ";lDd", m68000up },     /* memory to register */
+{"or.l",               one(0100600),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
+{"or.w",               one(0000100),           one(0177700),           "#w$s", m68000up },
+{"or.w",               one(0000174),           one(0177777),           "#wSs", m68000up },     /* ori to sr */
+{"or.w",               one(0100100),           one(0170700),           ";wDd", m68000up },     /* memory to register */
+{"or.w",               one(0100500),           one(0170700),           "Dd~s", m68000up },     /* register to memory */
 
 {"pack",       one(0100500),           one(0170770),           "DsDd#w", m68020up },   /* pack Ds,     Dd,     #w */
 {"pack",       one(0100510),           one(0170770),           "-s-d#w", m68020up },   /* pack -(As),  -(Ad),  #w */
 
 #ifndef NO_68851
 {"pbac",       one(0xf0c7),            one(0xffbf),            "Bc", m68851 },
-{"pbacw",      one(0xf087),            one(0xffbf),            "Bc", m68851 },
+{"pbac.w",     one(0xf087),            one(0xffbf),            "Bc", m68851 },
 {"pbas",       one(0xf0c6),            one(0xffbf),            "Bc", m68851 },
-{"pbasw",      one(0xf086),            one(0xffbf),            "Bc", m68851 },
+{"pbas.w",     one(0xf086),            one(0xffbf),            "Bc", m68851 },
 {"pbbc",       one(0xf0c1),            one(0xffbf),            "Bc", m68851 },
-{"pbbcw",      one(0xf081),            one(0xffbf),            "Bc", m68851 },
+{"pbbc.w",     one(0xf081),            one(0xffbf),            "Bc", m68851 },
 {"pbbs",       one(0xf0c0),            one(0xffbf),            "Bc", m68851 },
-{"pbbsw",      one(0xf080),            one(0xffbf),            "Bc", m68851 },
+{"pbbs.w",     one(0xf080),            one(0xffbf),            "Bc", m68851 },
 {"pbcc",       one(0xf0cf),            one(0xffbf),            "Bc", m68851 },
-{"pbccw",      one(0xf08f),            one(0xffbf),            "Bc", m68851 },
+{"pbcc.w",     one(0xf08f),            one(0xffbf),            "Bc", m68851 },
 {"pbcs",       one(0xf0ce),            one(0xffbf),            "Bc", m68851 },
-{"pbcsw",      one(0xf08e),            one(0xffbf),            "Bc", m68851 },
+{"pbcs.w",     one(0xf08e),            one(0xffbf),            "Bc", m68851 },
 {"pbgc",       one(0xf0cd),            one(0xffbf),            "Bc", m68851 },
-{"pbgcw",      one(0xf08d),            one(0xffbf),            "Bc", m68851 },
+{"pbgc.w",     one(0xf08d),            one(0xffbf),            "Bc", m68851 },
 {"pbgs",       one(0xf0cc),            one(0xffbf),            "Bc", m68851 },
-{"pbgsw",      one(0xf08c),            one(0xffbf),            "Bc", m68851 },
+{"pbgs.w",     one(0xf08c),            one(0xffbf),            "Bc", m68851 },
 {"pbic",       one(0xf0cb),            one(0xffbf),            "Bc", m68851 },
-{"pbicw",      one(0xf08b),            one(0xffbf),            "Bc", m68851 },
+{"pbic.w",     one(0xf08b),            one(0xffbf),            "Bc", m68851 },
 {"pbis",       one(0xf0ca),            one(0xffbf),            "Bc", m68851 },
-{"pbisw",      one(0xf08a),            one(0xffbf),            "Bc", m68851 },
+{"pbis.w",     one(0xf08a),            one(0xffbf),            "Bc", m68851 },
 {"pblc",       one(0xf0c3),            one(0xffbf),            "Bc", m68851 },
-{"pblcw",      one(0xf083),            one(0xffbf),            "Bc", m68851 },
+{"pblc.w",     one(0xf083),            one(0xffbf),            "Bc", m68851 },
 {"pbls",       one(0xf0c2),            one(0xffbf),            "Bc", m68851 },
-{"pblsw",      one(0xf082),            one(0xffbf),            "Bc", m68851 },
+{"pbls.w",     one(0xf082),            one(0xffbf),            "Bc", m68851 },
 {"pbsc",       one(0xf0c5),            one(0xffbf),            "Bc", m68851 },
-{"pbscw",      one(0xf085),            one(0xffbf),            "Bc", m68851 },
+{"pbsc.w",     one(0xf085),            one(0xffbf),            "Bc", m68851 },
 {"pbss",       one(0xf0c4),            one(0xffbf),            "Bc", m68851 },
-{"pbssw",      one(0xf084),            one(0xffbf),            "Bc", m68851 },
+{"pbss.w",     one(0xf084),            one(0xffbf),            "Bc", m68851 },
 {"pbwc",       one(0xf0c9),            one(0xffbf),            "Bc", m68851 },
-{"pbwcw",      one(0xf089),            one(0xffbf),            "Bc", m68851 },
+{"pbwc.w",     one(0xf089),            one(0xffbf),            "Bc", m68851 },
 {"pbws",       one(0xf0c8),            one(0xffbf),            "Bc", m68851 },
-{"pbwsw",      one(0xf088),            one(0xffbf),            "Bc", m68851 },
+{"pbws.w",     one(0xf088),            one(0xffbf),            "Bc", m68851 },
 
 {"pdbac",      two(0xf048, 0x0007),    two(0xfff8, 0xffff),    "DsBw", m68851 },
 {"pdbas",      two(0xf048, 0x0006),    two(0xfff8, 0xffff),    "DsBw", m68851 },
@@ -1734,7 +1760,6 @@ struct m68k_opcode m68k_opcodes[] =
 #endif /* NO_68851 */
 
 {"pea",                one(0044100),           one(0177700),           "!s", m68000up },
-{"peal",       one(0044100),           one(0177700),           "!s", m68000up },
 
 #ifndef NO_68851
 {"pflusha",    two(0xf000, 0x2400),    two(0xffff, 0xffff),    "",             m68030 | m68851 },
@@ -1771,7 +1796,7 @@ struct m68k_opcode m68k_opcodes[] =
 {"pmove",      two(0xf000, 0x4000),    two(0xffc0, 0xe3ff),    "*sP8", m68030 | m68851 },
 {"pmove",      two(0xf000, 0x4200),    two(0xffc0, 0xe3ff),    "P8%s", m68030 | m68851 },
 {"pmove",      two(0xf000, 0x4000),    two(0xffc0, 0xe3ff),    "|sW8", m68030 | m68851 },
-{"pmove",      two(0xf000, 0x4200),    two(0xffc0, 0xe3ff),    "W8*s", m68030 | m68851 },
+{"pmove",      two(0xf000, 0x4200),    two(0xffc0, 0xe3ff),    "W8~s", m68030 | m68851 },
 
 /* BADx, BACx */
 {"pmove",      two(0xf000, 0x6200),    two(0xffc0, 0xe3e3),    "*sX3", m68030 | m68851 },
@@ -1785,8 +1810,6 @@ struct m68k_opcode m68k_opcodes[] =
 
 {"prestore",   one(0xf140),            one(0xffc0),            "&s", m68851 },
 {"prestore",   one(0xf158),            one(0xfff8),            "+s", m68851 },
-{"psave",      one(0xf100),            one(0xffc0),            "&s", m68851 },
-{"psave",      one(0xf100),            one(0xffc0),            "+s", m68851 },
 
 {"psac",       two(0xf040, 0x0007),    two(0xffc0, 0xffff),    "@s", m68851 },
 {"psas",       two(0xf040, 0x0006),    two(0xffc0, 0xffff),    "@s", m68851 },
@@ -1823,68 +1846,68 @@ struct m68k_opcode m68k_opcodes[] =
 
 {"ptestw",     one(0xf548),            one(0xfff8),            "As",           m68040 },
 
-{"ptrapacw",   two(0xf07a, 0x0007),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapacl",   two(0xf07b, 0x0007),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapac.w",  two(0xf07a, 0x0007),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapac.l",  two(0xf07b, 0x0007),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapac",    two(0xf07c, 0x0007),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapasw",   two(0xf07a, 0x0006),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapasl",   two(0xf07b, 0x0006),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapas.w",  two(0xf07a, 0x0006),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapas.l",  two(0xf07b, 0x0006),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapas",    two(0xf07c, 0x0006),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapbcw",   two(0xf07a, 0x0001),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapbcl",   two(0xf07b, 0x0001),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapbc.w",  two(0xf07a, 0x0001),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapbc.l",  two(0xf07b, 0x0001),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapbc",    two(0xf07c, 0x0001),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapbsw",   two(0xf07a, 0x0000),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapbsl",   two(0xf07b, 0x0000),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapbs.w",  two(0xf07a, 0x0000),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapbs.l",  two(0xf07b, 0x0000),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapbs",    two(0xf07c, 0x0000),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapccw",   two(0xf07a, 0x000f),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapccl",   two(0xf07b, 0x000f),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapcc.w",  two(0xf07a, 0x000f),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapcc.l",  two(0xf07b, 0x000f),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapcc",    two(0xf07c, 0x000f),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapcsw",   two(0xf07a, 0x000e),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapcsl",   two(0xf07b, 0x000e),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapcs.w",  two(0xf07a, 0x000e),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapcs.l",  two(0xf07b, 0x000e),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapcs",    two(0xf07c, 0x000e),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapgcw",   two(0xf07a, 0x000d),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapgcl",   two(0xf07b, 0x000d),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapgc.w",  two(0xf07a, 0x000d),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapgc.l",  two(0xf07b, 0x000d),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapgc",    two(0xf07c, 0x000d),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapgsw",   two(0xf07a, 0x000c),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapgsl",   two(0xf07b, 0x000c),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapgs.w",  two(0xf07a, 0x000c),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapgs.l",  two(0xf07b, 0x000c),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapgs",    two(0xf07c, 0x000c),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapicw",   two(0xf07a, 0x000b),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapicl",   two(0xf07b, 0x000b),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapic.w",  two(0xf07a, 0x000b),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapic.l",  two(0xf07b, 0x000b),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapic",    two(0xf07c, 0x000b),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapisw",   two(0xf07a, 0x000a),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapisl",   two(0xf07b, 0x000a),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapis.w",  two(0xf07a, 0x000a),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapis.l",  two(0xf07b, 0x000a),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapis",    two(0xf07c, 0x000a),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptraplcw",   two(0xf07a, 0x0003),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptraplcl",   two(0xf07b, 0x0003),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptraplc.w",  two(0xf07a, 0x0003),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptraplc.l",  two(0xf07b, 0x0003),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptraplc",    two(0xf07c, 0x0003),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptraplsw",   two(0xf07a, 0x0002),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptraplsl",   two(0xf07b, 0x0002),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapls.w",  two(0xf07a, 0x0002),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapls.l",  two(0xf07b, 0x0002),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapls",    two(0xf07c, 0x0002),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapscw",   two(0xf07a, 0x0005),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapscl",   two(0xf07b, 0x0005),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapsc.w",  two(0xf07a, 0x0005),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapsc.l",  two(0xf07b, 0x0005),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapsc",    two(0xf07c, 0x0005),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapssw",   two(0xf07a, 0x0004),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapssl",   two(0xf07b, 0x0004),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapss.w",  two(0xf07a, 0x0004),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapss.l",  two(0xf07b, 0x0004),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapss",    two(0xf07c, 0x0004),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapwcw",   two(0xf07a, 0x0009),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapwcl",   two(0xf07b, 0x0009),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapwc.w",  two(0xf07a, 0x0009),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapwc.l",  two(0xf07b, 0x0009),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapwc",    two(0xf07c, 0x0009),    two(0xffff, 0xffff),    "",   m68851 },
 
-{"ptrapwsw",   two(0xf07a, 0x0008),    two(0xffff, 0xffff),    "#w", m68851 },
-{"ptrapwsl",   two(0xf07b, 0x0008),    two(0xffff, 0xffff),    "#l", m68851 },
+{"ptrapws.w",  two(0xf07a, 0x0008),    two(0xffff, 0xffff),    "#w", m68851 },
+{"ptrapws.l",  two(0xf07b, 0x0008),    two(0xffff, 0xffff),    "#l", m68851 },
 {"ptrapws",    two(0xf07c, 0x0008),    two(0xffff, 0xffff),    "",   m68851 },
 
 {"pvalid",     two(0xf000, 0x2800),    two(0xffc0, 0xffff),    "Vs&s", m68851 },
@@ -1894,40 +1917,39 @@ struct m68k_opcode m68k_opcodes[] =
 
 {"reset",      one(0047160),           one(0177777),           "", m68000up },
 
-{"rolb",       one(0160430),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
-{"rolb",       one(0160470),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
-{"roll",       one(0160630),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
-{"roll",       one(0160670),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
-{"rolw",       one(0160530),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
-{"rolw",       one(0160570),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
-{"rolw",       one(0163700),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
-{"rorb",       one(0160030),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
-{"rorb",       one(0160070),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
-{"rorl",       one(0160230),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
-{"rorl",       one(0160270),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
-{"rorw",       one(0160130),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
-{"rorw",       one(0160170),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
-{"rorw",       one(0163300),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
-
-{"roxlb",      one(0160420),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
-{"roxlb",      one(0160460),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
-{"roxll",      one(0160620),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
-{"roxll",      one(0160660),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
-{"roxlw",      one(0160520),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
-{"roxlw",      one(0160560),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
-{"roxlw",      one(0162700),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
-{"roxrb",      one(0160020),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
-{"roxrb",      one(0160060),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
-{"roxrl",      one(0160220),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
-{"roxrl",      one(0160260),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
-{"roxrw",      one(0160120),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
-{"roxrw",      one(0160160),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
-{"roxrw",      one(0162300),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
+{"rol.b",      one(0160430),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
+{"rol.b",      one(0160470),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
+{"rol.l",      one(0160630),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
+{"rol.l",      one(0160670),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
+{"rol.w",      one(0160530),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
+{"rol.w",      one(0160570),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
+{"rol.w",      one(0163700),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
+{"ror.b",      one(0160030),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
+{"ror.b",      one(0160070),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
+{"ror.l",      one(0160230),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
+{"ror.l",      one(0160270),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
+{"ror.w",      one(0160130),           one(0170770),           "QdDs", m68000up },     /* rorb #Q,     Ds */
+{"ror.w",      one(0160170),           one(0170770),           "DdDs", m68000up },     /* rorb Dd,     Ds */
+{"ror.w",      one(0163300),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
+
+{"roxl.b",     one(0160420),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
+{"roxl.b",     one(0160460),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
+{"roxl.l",     one(0160620),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
+{"roxl.l",     one(0160660),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
+{"roxl.w",     one(0160520),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
+{"roxl.w",     one(0160560),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
+{"roxl.w",     one(0162700),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
+{"roxr.b",     one(0160020),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
+{"roxr.b",     one(0160060),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
+{"roxr.l",     one(0160220),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
+{"roxr.l",     one(0160260),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
+{"roxr.w",     one(0160120),           one(0170770),           "QdDs", m68000up },     /* roxrb #Q,    Ds */
+{"roxr.w",     one(0160160),           one(0170770),           "DdDs", m68000up },     /* roxrb Dd,    Ds */
+{"roxr.w",     one(0162300),           one(0177700),           "~s",   m68000up },     /* Rotate memory */
 
 {"rtd",                one(0047164),           one(0177777),           "#w", m68010up },
 {"rte",                one(0047163),           one(0177777),           "",   m68000up },
 {"rtm",                one(0003300),           one(0177760),           "Rs", m68020 },
-{"rtr",                one(0047167),           one(0177777),           "",   m68000up },
 {"rts",                one(0047165),           one(0177777),           "",   m68000up },
 
 {"sbcd",       one(0100400),           one(0170770),           "DsDd", m68000up },
@@ -1957,13 +1979,13 @@ struct m68k_opcode m68k_opcodes[] =
 
 {"stop",       one(0047162),           one(0177777),           "#w", m68000up },
 
-{"subal",      one(0110700),           one(0170700),           "*lAd", m68000up },
-{"subaw",      one(0110300),           one(0170700),           "*wAd", m68000up },
-{"subb",       one(0050400),           one(0170700),           "Qd%s", m68000up },     /* subq written as sub */
-{"subb",       one(0002000),           one(0177700),           "#b$s", m68000up },     /* subi written as sub */
-{"subb",       one(0110000),           one(0170700),           ";bDd", m68000up },     /* subb ? ?,    Dd */
-{"subb",       one(0110400),           one(0170700),           "Dd~s", m68000up },     /* subb Dd,     ? ? */
-#ifdef MRI
+{"suba.l",     one(0110700),           one(0170700),           "*lAd", m68000up },
+{"suba.w",     one(0110300),           one(0170700),           "*wAd", m68000up },
+{"sub.b",      one(0050400),           one(0170700),           "Qd%s", m68000up },     /* subq written as sub */
+{"sub.b",      one(0002000),           one(0177700),           "#b$s", m68000up },     /* subi written as sub */
+{"sub.b",      one(0110000),           one(0170700),           ";bDd", m68000up },     /* subb ? ?,    Dd */
+{"sub.b",      one(0110400),           one(0170700),           "Dd~s", m68000up },     /* subb Dd,     ? ? */
+
 {"subi",       one(0002200),           one(0177700),           "#l$s", m68000up },
 
 {"sub",        one(0050500),           one(0170700),           "Qd%s", m68000up },
@@ -1972,48 +1994,50 @@ struct m68k_opcode m68k_opcodes[] =
 {"sub",        one(0110300),           one(0170700),           "*wAd", m68000up },     /* suba written as sub */
 {"sub",        one(0110500),           one(0170700),           "Dd~s", m68000up },
 
-#endif
 
-{"subib",      one(0002000),           one(0177700),           "#b$s", m68000up },
-{"subil",      one(0002200),           one(0177700),           "#l$s", m68000up },
-{"subiw",      one(0002100),           one(0177700),           "#w$s", m68000up },
-{"subl",       one(0050600),           one(0170700),           "Qd%s", m68000up },
+{"subi.b",     one(0002000),           one(0177700),           "#b$s", m68000up },
+{"subi.l",     one(0002200),           one(0177700),           "#l$s", m68000up },
+{"subi.w",     one(0002100),           one(0177700),           "#w$s", m68000up },
+{"sub.l",      one(0050600),           one(0170700),           "Qd%s", m68000up },
 {"suba",       one(0110700),           one(0170700),           "*lAd", m68000up },
-{"subl",       one(0002200),           one(0177700),           "#l$s", m68000up },
-{"subl",       one(0110700),           one(0170700),           "*lAd", m68000up },
-{"subl",       one(0110200),           one(0170700),           "*lDd", m68000up },
-{"subl",       one(0110600),           one(0170700),           "Dd~s", m68000up },
-{"subqb",      one(0050400),           one(0170700),           "Qd%s", m68000up },
-{"subql",      one(0050600),           one(0170700),           "Qd%s", m68000up },
-{"subqw",      one(0050500),           one(0170700),           "Qd%s", m68000up },
-{"subw",       one(0050500),           one(0170700),           "Qd%s", m68000up },
-{"subw",       one(0002100),           one(0177700),           "#w$s", m68000up },
-{"subw",       one(0110100),           one(0170700),           "*wDd", m68000up },
-{"subw",       one(0110300),           one(0170700),           "*wAd", m68000up },     /* suba written as sub */
-{"subw",       one(0110500),           one(0170700),           "Dd~s", m68000up },
-#ifdef MRI
+{"sub.l",      one(0002200),           one(0177700),           "#l$s", m68000up },
+{"sub.l",      one(0110700),           one(0170700),           "*lAd", m68000up },
+{"sub.l",      one(0110200),           one(0170700),           "*lDd", m68000up },
+{"sub.l",      one(0110600),           one(0170700),           "Dd~s", m68000up },
+{"subq.b",     one(0050400),           one(0170700),           "Qd%s", m68000up },
+{"subq.b",     one(0002000),           one(0177700),           "#b$s", m68000up }, /* FIXNIEL: sub instead of subq because too many frags */
+{"subq.l",     one(0050600),           one(0170700),           "Qd%s", m68000up },
+{"subq.l",     one(0002200),           one(0177700),           "#l$s", m68000up }, /* FIXNIEL: sub instead of subq because too many frags */
+{"subq.w",     one(0050500),           one(0170700),           "Qd%s", m68000up },
+{"subq.w",     one(0002100),           one(0177700),           "#w$s", m68000up }, /* FIXNIEL: sub instead of subq because too many frags */
+{"sub.w",      one(0050500),           one(0170700),           "Qd%s", m68000up },
+{"sub.w",      one(0002100),           one(0177700),           "#w$s", m68000up },
+{"sub.w",      one(0110100),           one(0170700),           "*wDd", m68000up },
+{"sub.w",      one(0110300),           one(0170700),           "*wAd", m68000up },     /* suba written as sub */
+{"sub.w",      one(0110500),           one(0170700),           "Dd~s", m68000up },
+
 {"subx",       one(0110500),           one(0170770),           "DsDd", m68000up },
 {"subx",       one(0110510),           one(0170770),           "-s-d", m68000up },
-#endif
 
-{"subxb",      one(0110400),           one(0170770),           "DsDd", m68000up },     /* subxb Ds,    Dd */
-{"subxb",      one(0110410),           one(0170770),           "-s-d", m68000up },     /* subxb -(As), -(Ad) */
-{"subxl",      one(0110600),           one(0170770),           "DsDd", m68000up },
-{"subxl",      one(0110610),           one(0170770),           "-s-d", m68000up },
-{"subxw",      one(0110500),           one(0170770),           "DsDd", m68000up },
-{"subxw",      one(0110510),           one(0170770),           "-s-d", m68000up },
+{"subx.b",     one(0110400),           one(0170770),           "DsDd", m68000up },     /* subxb Ds,    Dd */
+{"subx.b",     one(0110410),           one(0170770),           "-s-d", m68000up },     /* subxb -(As), -(Ad) */
+{"subx.l",     one(0110600),           one(0170770),           "DsDd", m68000up },
+{"subx.l",     one(0110610),           one(0170770),           "-s-d", m68000up },
+{"subx.w",     one(0110500),           one(0170770),           "DsDd", m68000up },
+{"subx.w",     one(0110510),           one(0170770),           "-s-d", m68000up },
 
 {"swap",       one(0044100),           one(0177770),           "Ds", m68000up },
+{"swap.w",     one(0044100),           one(0177770),           "Ds", m68000up },
        
 {"tas",                one(0045300),           one(0177700),           "$s", m68000up },
-#ifdef MRI
+
 {"tpcc",       one(0047100),           one(0177760),           "Ts", m68000up },
-#endif
+
 {"trap",       one(0047100),           one(0177760),           "Ts", m68000up },
 
-#ifdef MRI
+
 {"tcc",                one(0052374),           one(0177777),           "", m68020up },
-#endif
+
 {"trapcc",     one(0052374),           one(0177777),           "", m68020up },
 {"trapcs",     one(0052774),           one(0177777),           "", m68020up },
 {"trapeq",     one(0053774),           one(0177777),           "", m68020up },
@@ -2031,48 +2055,48 @@ struct m68k_opcode m68k_opcodes[] =
 {"trapvc",     one(0054374),           one(0177777),           "", m68020up },
 {"trapvs",     one(0054774),           one(0177777),           "", m68020up },
 
-{"trapccw",    one(0052372),           one(0177777),           "#w", m68020up },
-{"trapcsw",    one(0052772),           one(0177777),           "#w", m68020up },
-{"trapeqw",    one(0053772),           one(0177777),           "#w", m68020up },
-{"trapfw",     one(0050772),           one(0177777),           "#w", m68020up },
-{"trapgew",    one(0056372),           one(0177777),           "#w", m68020up },
-{"trapgtw",    one(0057372),           one(0177777),           "#w", m68020up },
-{"traphiw",    one(0051372),           one(0177777),           "#w", m68020up },
-{"traplew",    one(0057772),           one(0177777),           "#w", m68020up },
-{"traplsw",    one(0051772),           one(0177777),           "#w", m68020up },
-{"trapltw",    one(0056772),           one(0177777),           "#w", m68020up },
-{"trapmiw",    one(0055772),           one(0177777),           "#w", m68020up },
-{"trapnew",    one(0053372),           one(0177777),           "#w", m68020up },
-{"trapplw",    one(0055372),           one(0177777),           "#w", m68020up },
-{"traptw",     one(0050372),           one(0177777),           "#w", m68020up },
-{"trapvcw",    one(0054372),           one(0177777),           "#w", m68020up },
-{"trapvsw",    one(0054772),           one(0177777),           "#w", m68020up },
-
-{"trapccl",    one(0052373),           one(0177777),           "#l", m68020up },
-{"trapcsl",    one(0052773),           one(0177777),           "#l", m68020up },
-{"trapeql",    one(0053773),           one(0177777),           "#l", m68020up },
-{"trapfl",     one(0050773),           one(0177777),           "#l", m68020up },
-{"trapgel",    one(0056373),           one(0177777),           "#l", m68020up },
-{"trapgtl",    one(0057373),           one(0177777),           "#l", m68020up },
-{"traphil",    one(0051373),           one(0177777),           "#l", m68020up },
-{"traplel",    one(0057773),           one(0177777),           "#l", m68020up },
-{"traplsl",    one(0051773),           one(0177777),           "#l", m68020up },
-{"trapltl",    one(0056773),           one(0177777),           "#l", m68020up },
-{"trapmil",    one(0055773),           one(0177777),           "#l", m68020up },
-{"trapnel",    one(0053373),           one(0177777),           "#l", m68020up },
-{"trappll",    one(0055373),           one(0177777),           "#l", m68020up },
-{"traptl",     one(0050373),           one(0177777),           "#l", m68020up },
-{"trapvcl",    one(0054373),           one(0177777),           "#l", m68020up },
-{"trapvsl",    one(0054773),           one(0177777),           "#l", m68020up },
+{"trapcc.w",   one(0052372),           one(0177777),           "#w", m68020up },
+{"trapcs.w",   one(0052772),           one(0177777),           "#w", m68020up },
+{"trapeq.w",   one(0053772),           one(0177777),           "#w", m68020up },
+{"trapf.w",    one(0050772),           one(0177777),           "#w", m68020up },
+{"trapge.w",   one(0056372),           one(0177777),           "#w", m68020up },
+{"trapgt.w",   one(0057372),           one(0177777),           "#w", m68020up },
+{"traphi.w",   one(0051372),           one(0177777),           "#w", m68020up },
+{"traple.w",   one(0057772),           one(0177777),           "#w", m68020up },
+{"trapls.w",   one(0051772),           one(0177777),           "#w", m68020up },
+{"traplt.w",   one(0056772),           one(0177777),           "#w", m68020up },
+{"trapmi.w",   one(0055772),           one(0177777),           "#w", m68020up },
+{"trapne.w",   one(0053372),           one(0177777),           "#w", m68020up },
+{"trappl.w",   one(0055372),           one(0177777),           "#w", m68020up },
+{"trapt.w",    one(0050372),           one(0177777),           "#w", m68020up },
+{"trapvc.w",   one(0054372),           one(0177777),           "#w", m68020up },
+{"trapvs.w",   one(0054772),           one(0177777),           "#w", m68020up },
+
+{"trapcc.l",   one(0052373),           one(0177777),           "#l", m68020up },
+{"trapcs.l",   one(0052773),           one(0177777),           "#l", m68020up },
+{"trapeq.l",   one(0053773),           one(0177777),           "#l", m68020up },
+{"trapf.l",    one(0050773),           one(0177777),           "#l", m68020up },
+{"trapge.l",   one(0056373),           one(0177777),           "#l", m68020up },
+{"trapgt.l",   one(0057373),           one(0177777),           "#l", m68020up },
+{"traphi.l",   one(0051373),           one(0177777),           "#l", m68020up },
+{"traple.l",   one(0057773),           one(0177777),           "#l", m68020up },
+{"trapls.l",   one(0051773),           one(0177777),           "#l", m68020up },
+{"traplt.l",   one(0056773),           one(0177777),           "#l", m68020up },
+{"trapmi.l",   one(0055773),           one(0177777),           "#l", m68020up },
+{"trapne.l",   one(0053373),           one(0177777),           "#l", m68020up },
+{"trappl.l",   one(0055373),           one(0177777),           "#l", m68020up },
+{"trapt.l",    one(0050373),           one(0177777),           "#l", m68020up },
+{"trapvc.l",   one(0054373),           one(0177777),           "#l", m68020up },
+{"trapvs.l",   one(0054773),           one(0177777),           "#l", m68020up },
 
 {"trapv",      one(0047166),           one(0177777),           "", m68000up },
 
-#ifdef MRI
+
 {"tst",                one(0045200),           one(0177700),           "*l", m68000up },
-#endif
-{"tstb",       one(0045000),           one(0177700),           ";b", m68000up },
-{"tstw",       one(0045100),           one(0177700),           "*w", m68000up },
-{"tstl",       one(0045200),           one(0177700),           "*l", m68000up },
+
+{"tst.b",      one(0045000),           one(0177700),           ";b", m68000up },
+{"tst.w",      one(0045100),           one(0177700),           "*w", m68000up },
+{"tst.l",      one(0045200),           one(0177700),           "*l", m68000up },
 
 {"unlk",       one(0047130),           one(0177770),           "As", m68000up },
 {"unpk",       one(0100600),           one(0170770),           "DsDd#w", m68020up },
@@ -2084,10 +2108,10 @@ struct m68k_opcode m68k_opcodes[] =
 {"jbsr",       one(0047200),           one(0177700),           "!s", m68000up },
 {"jra",                one(0060000),           one(0177400),           "Bg", m68000up },
 {"jra",                one(0047300),           one(0177700),           "!s", m68000up },
-#ifdef MRI
+
 {"jbra",       one(0060000),           one(0177400),           "Bg", m68000up },
 {"jbra",       one(0047300),           one(0177700),           "!s", m68000up },
-#endif
+
 {"jhi",                one(0061000),           one(0177400),           "Bg", m68000up },
 {"jls",                one(0061400),           one(0177400),           "Bg", m68000up },
 {"jcc",                one(0062000),           one(0177400),           "Bg", m68000up },
@@ -2103,7 +2127,7 @@ struct m68k_opcode m68k_opcodes[] =
 {"jgt",                one(0067000),           one(0177400),           "Bg", m68000up },
 {"jle",                one(0067400),           one(0177400),           "Bg", m68000up },
 
-#ifdef MRI
+
 
 {"jbhi",               one(0061000),           one(0177400),           "Bg", m68000up },
 {"jbls",               one(0061400),           one(0177400),           "Bg", m68000up },
@@ -2119,9 +2143,9 @@ struct m68k_opcode m68k_opcodes[] =
 {"jblt",               one(0066400),           one(0177400),           "Bg", m68000up },
 {"jbgt",               one(0067000),           one(0177400),           "Bg", m68000up },
 {"jble",               one(0067400),           one(0177400),           "Bg", m68000up },
-#endif
+
 /* aliases */
-#ifdef MRI
+
 
 {"move",       one(0030000),           one(0170000),           "*w$d", m68000up },
 {"move",       one(0030100),           one(0170700),           "*wAd", m68000up },     /* mova,        written as mov */
@@ -2137,85 +2161,101 @@ struct m68k_opcode m68k_opcodes[] =
 {"move",       one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
 {"move",       one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
 
-#endif
-{"movql",      one(0070000),           one(0170400),           "MsDd", m68000up },
-{"moveql",     one(0070000),           one(0170400),           "MsDd", m68000up },
-{"moval",      one(0020100),           one(0170700),           "*lAd", m68000up },
-{"movaw",      one(0030100),           one(0170700),           "*wAd", m68000up },
-{"movb",       one(0010000),           one(0170000),           ";b$d", m68000up },     /* mov */
-{"movl",       one(0070000),           one(0170400),           "MsDd", m68000up },     /* movq written as mov */
-{"movl",       one(0020000),           one(0170000),           "*l$d", m68000up },
-{"movl",       one(0020100),           one(0170700),           "*lAd", m68000up },
-{"movl",       one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
-{"movl",       one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
-{"movl",       one(0070000),           one(0170400),           "MsDd", m68000up },     /* movq written as mov */
-{"movl",       one(0020000),           one(0170000),           "*l$d", m68000up },
-{"movl",       one(0020100),           one(0170700),           "*lAd", m68000up },
-{"movl",       one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
-{"movl",       one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
+
+{"movq.l",     one(0070000),           one(0170400),           "MsDd", m68000up },
+{"movq.l",     one(0020000),           one(0170000),           "*l$d", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"movq.l",     one(0020100),           one(0170700),           "*lAd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"movq.l",     one(0047140),           one(0177770),           "AsUd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"movq.l",     one(0047150),           one(0177770),           "UdAs", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq.l",    one(0070000),           one(0170400),           "MsDd", m68000up },
+{"moveq.l",    one(0020000),           one(0170000),           "*l$d", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq.l",    one(0020100),           one(0170700),           "*lAd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq.l",    one(0047140),           one(0177770),           "AsUd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq.l",    one(0047150),           one(0177770),           "UdAs", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"mova.l",     one(0020100),           one(0170700),           "*lAd", m68000up },
+{"mova.w",     one(0030100),           one(0170700),           "*wAd", m68000up },
+{"mov.b",      one(0010000),           one(0170000),           ";b$d", m68000up },     /* mov */
+{"mov.l",      one(0070000),           one(0170400),           "MsDd", m68000up },     /* movq written as mov */
+{"mov.l",      one(0020000),           one(0170000),           "*l$d", m68000up },
+{"mov.l",      one(0020100),           one(0170700),           "*lAd", m68000up },
+{"mov.l",      one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
+{"mov.l",      one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
+{"mov.l",      one(0070000),           one(0170400),           "MsDd", m68000up },     /* movq written as mov */
+{"mov.l",      one(0020000),           one(0170000),           "*l$d", m68000up },
+{"mov.l",      one(0020100),           one(0170700),           "*lAd", m68000up },
+{"mov.l",      one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
+{"mov.l",      one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
 {"movc",       one(0047173),           one(0177777),           "R1Jj", m68010up },
 {"movc",       one(0047173),           one(0177777),           "R1#j", m68010up },
 {"movc",       one(0047172),           one(0177777),           "JjR1", m68010up },
 {"movc",       one(0047172),           one(0177777),           "#jR1", m68010up },
-{"movml",      one(0044300),           one(0177700),           "#w&s", m68000up },     /* movm reg to mem. */
-{"movml",      one(0044340),           one(0177770),           "#w-s", m68000up },     /* movm reg to autodecrement. */
+{"movm.l",     one(0044300),           one(0177700),           "#w&s", m68000up },     /* movm reg to mem. */
+{"movm.l",     one(0044340),           one(0177770),           "#w-s", m68000up },     /* movm reg to autodecrement. */
 {"movml",      one(0046300),           one(0177700),           "!s#w", m68000up },     /* movm mem to reg. */
 {"movml",      one(0046330),           one(0177770),           "+s#w", m68000up },     /* movm autoinc to reg. */
 {"movml",      one(0044300),           one(0177700),           "Lw&s", m68000up },     /* movm reg to mem. */
 {"movml",      one(0044340),           one(0177770),           "lw-s", m68000up },     /* movm reg to autodecrement. */
 {"movml",      one(0046300),           one(0177700),           "!sLw", m68000up },     /* movm mem to reg. */
 {"movml",      one(0046330),           one(0177770),           "+sLw", m68000up },     /* movm autoinc to reg. */
-{"movmw",      one(0044200),           one(0177700),           "#w&s", m68000up },     /* movm reg to mem. */
-{"movmw",      one(0044240),           one(0177770),           "#w-s", m68000up },     /* movm reg to autodecrement. */
-{"movmw",      one(0046200),           one(0177700),           "!s#w", m68000up },     /* movm mem to reg. */
-{"movmw",      one(0046230),           one(0177770),           "+s#w", m68000up },     /* movm autoinc to reg. */
-{"movmw",      one(0044200),           one(0177700),           "Lw&s", m68000up },     /* movm reg to mem. */
-{"movmw",      one(0044240),           one(0177770),           "lw-s", m68000up },     /* movm reg to autodecrement. */
-{"movmw",      one(0046200),           one(0177700),           "!sLw", m68000up },     /* movm mem to reg. */
-{"movmw",      one(0046230),           one(0177770),           "+sLw", m68000up },     /* movm autoinc to reg. */
-{"movpl",      one(0000510),           one(0170770),           "dsDd", m68000up },     /* memory to register */
-{"movpl",      one(0000710),           one(0170770),           "Ddds", m68000up },     /* register to memory */
-{"movpw",      one(0000410),           one(0170770),           "dsDd", m68000up },     /* memory to register */
-{"movpw",      one(0000610),           one(0170770),           "Ddds", m68000up },     /* register to memory */
+{"movm.w",     one(0044200),           one(0177700),           "#w&s", m68000up },     /* movm reg to mem. */
+{"movm.w",     one(0044240),           one(0177770),           "#w-s", m68000up },     /* movm reg to autodecrement. */
+{"movm.w",     one(0046200),           one(0177700),           "!s#w", m68000up },     /* movm mem to reg. */
+{"movm.w",     one(0046230),           one(0177770),           "+s#w", m68000up },     /* movm autoinc to reg. */
+{"movm.w",     one(0044200),           one(0177700),           "Lw&s", m68000up },     /* movm reg to mem. */
+{"movm.w",     one(0044240),           one(0177770),           "lw-s", m68000up },     /* movm reg to autodecrement. */
+{"movm.w",     one(0046200),           one(0177700),           "!sLw", m68000up },     /* movm mem to reg. */
+{"movm.w",     one(0046230),           one(0177770),           "+sLw", m68000up },     /* movm autoinc to reg. */
+{"movp.l",     one(0000510),           one(0170770),           "dsDd", m68000up },     /* memory to register */
+{"movp.l",     one(0000710),           one(0170770),           "Ddds", m68000up },     /* register to memory */
+{"movp.w",     one(0000410),           one(0170770),           "dsDd", m68000up },     /* memory to register */
+{"movp.w",     one(0000610),           one(0170770),           "Ddds", m68000up },     /* register to memory */
 {"movq",       one(0070000),           one(0170400),           "MsDd", m68000up },
-{"movw",       one(0030000),           one(0170000),           "*w$d", m68000up },
-{"movw",       one(0030100),           one(0170700),           "*wAd", m68000up },     /* mova,        written as mov */
-{"movw",       one(0040300),           one(0177700),           "Ss$s", m68000up },     /* Move from sr */
-{"movw",       one(0041300),           one(0177700),           "Cs$s", m68010up },     /* Move from ccr */
-{"movw",       one(0042300),           one(0177700),           ";wCd", m68000up },     /* mov to ccr */
-{"movw",       one(0043300),           one(0177700),           ";wSd", m68000up },     /* mov to sr */
-{"movsb",      two(0007000, 0),        two(0177700, 07777),    "~sR1", m68010up },
-{"movsb",      two(0007000, 04000),    two(0177700, 07777),    "R1~s", m68010up },
-{"movsl",      two(0007200, 0),        two(0177700, 07777),    "~sR1", m68010up },
-{"movsl",      two(0007200, 04000),    two(0177700, 07777),    "R1~s", m68010up },
-{"movsw",      two(0007100, 0),        two(0177700, 07777),    "~sR1", m68010up },
-{"movsw",      two(0007100, 04000),    two(0177700, 07777),    "R1~s", m68010up },
-#ifdef MRI
-{"moveql",     one(0070000),           one(0170400),           "MsDd", m68000up },
-{"moveql",     one(0070000),           one(0170400),           "MsDd", m68000up },
-{"moveal",     one(0020100),           one(0170700),           "*lAd", m68000up },
-{"moveaw",     one(0030100),           one(0170700),           "*wAd", m68000up },
-{"moveb",      one(0010000),           one(0170000),           ";b$d", m68000up },     /* mov */
-{"movel",      one(0070000),           one(0170400),           "MsDd", m68000up },     /* movq written as mov */
-{"movel",      one(0020000),           one(0170000),           "*l$d", m68000up },
-{"movel",      one(0020100),           one(0170700),           "*lAd", m68000up },
-{"movel",      one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
-{"movel",      one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
+{"movq",       one(0020000),           one(0170000),           "*l$d", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"movq",       one(0020100),           one(0170700),           "*lAd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"movq",       one(0047140),           one(0177770),           "AsUd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"movq",       one(0047150),           one(0177770),           "UdAs", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"mov.w",      one(0030000),           one(0170000),           "*w$d", m68000up },
+{"mov.w",      one(0030100),           one(0170700),           "*wAd", m68000up },     /* mova,        written as mov */
+{"mov.w",      one(0040300),           one(0177700),           "Ss$s", m68000up },     /* Move from sr */
+{"mov.w",      one(0041300),           one(0177700),           "Cs$s", m68010up },     /* Move from ccr */
+{"mov.w",      one(0042300),           one(0177700),           ";wCd", m68000up },     /* mov to ccr */
+{"mov.w",      one(0043300),           one(0177700),           ";wSd", m68000up },     /* mov to sr */
+{"movs.b",     two(0007000, 0),        two(0177700, 07777),    "~sR1", m68010up },
+{"movs.b",     two(0007000, 04000),    two(0177700, 07777),    "R1~s", m68010up },
+{"movs.l",     two(0007200, 0),        two(0177700, 07777),    "~sR1", m68010up },
+{"movs.l",     two(0007200, 04000),    two(0177700, 07777),    "R1~s", m68010up },
+{"movs.w",     two(0007100, 0),        two(0177700, 07777),    "~sR1", m68010up },
+{"movs.w",     two(0007100, 04000),    two(0177700, 07777),    "R1~s", m68010up },
+
+{"moveq.l",    one(0070000),           one(0170400),           "MsDd", m68000up },
+{"moveq.l",    one(0070000),           one(0170400),           "MsDd", m68000up },
+{"movea.l",    one(0020100),           one(0170700),           "*lAd", m68000up },
+{"movea.w",    one(0030100),           one(0170700),           "*wAd", m68000up },
+{"move.b",     one(0010000),           one(0170000),           ";b$d", m68000up },     /* mov */
+{"move.l",     one(0070000),           one(0170400),           "MsDd", m68000up },     /* movq written as mov */
+{"move.l",     one(0020000),           one(0170000),           "*l$d", m68000up },
+{"move.l",     one(0020100),           one(0170700),           "*lAd", m68000up },
+{"move.l",     one(0047140),           one(0177770),           "AsUd", m68000up },     /* mov to USP */
+{"move.l",     one(0047150),           one(0177770),           "UdAs", m68000up },     /* mov from USP */
 {"movec",      one(0047173),           one(0177777),           "R1Jj", m68010up },
 {"movec",      one(0047173),           one(0177777),           "R1#j", m68010up },
 {"movec",      one(0047172),           one(0177777),           "JjR1", m68010up },
 {"movec",      one(0047172),           one(0177777),           "#jR1", m68010up },
-{"movecl",     one(0047173),           one(0177777),           "R1Jj", m68010up },
-{"movecl",     one(0047173),           one(0177777),           "R1#j", m68010up },
-{"movecl",     one(0047172),           one(0177777),           "JjR1", m68010up },
-{"movecl",     one(0047172),           one(0177777),           "#jR1", m68010up },
+{"movec.l",    one(0047173),           one(0177777),           "R1Jj", m68010up },
+{"movec.l",    one(0047173),           one(0177777),           "R1#j", m68010up },
+{"movec.l",    one(0047172),           one(0177777),           "JjR1", m68010up },
+{"movec.l",    one(0047172),           one(0177777),           "#jR1", m68010up },
 
 {"moveq",      one(0070000),           one(0170400),           "MsDd", m68000up },
+{"moveq",      one(0020000),           one(0170000),           "*l$d", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq",      one(0020100),           one(0170700),           "*lAd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq",      one(0047140),           one(0177770),           "AsUd", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
+{"moveq",      one(0047150),           one(0177770),           "UdAs", m68000up }, /* FIXNIEL: move instead of movw because too many frags */
 
 
 
  
-#endif  
+
 };
 
 int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
@@ -2228,4 +2268,5 @@ struct m68k_opcode *endop = m68k_opcodes+sizeof(m68k_opcodes)/sizeof(m68k_opcode
  * End:
  */
 
+
 /* end of m68k-opcode.h */