Currently CYGNUS local
[deliverable/binutils-gdb.git] / opcodes / m68k-opc.c
index 87ca0cd4a5285ce387aa020fab22a7f891ef869d..15e1b8dd6260e601b262984345d49cd6fcb44a77 100644 (file)
@@ -1,5 +1,6 @@
 /* Opcode table for m680[012346]0/m6888[12]/m68851/mcf5200.
-   Copyright 1989, 91, 92, 93, 94, 95, 96, 1997 Free Software Foundation.
+   Copyright 1989, 91, 92, 93, 94, 95, 96, 97, 98, 1999
+   Free Software Foundation.
 
 This file is part of GDB, GAS, and the GNU binutils.
 
@@ -209,7 +210,7 @@ const struct m68k_opcode m68k_opcodes[] =
 {"bsrl",       one(0060777),   one(0177777), "BL", m68020up | cpu32 },
 {"bsrs",       one(0060400),   one(0177400), "BB", m68000up | mcf5200 },
 
-{"btst",       one(0000400),   one(0170700), "Dd@s", m68000up | mcf5200 },
+{"btst",       one(0000400),   one(0170700), "Dd;b", m68000up | mcf5200 },
 {"btst",       one(0004000),   one(0177700), "#b@s", m68000up },
 {"btst",       one(0004000),   one(0177700), "#bqs", mcf5200 },
 
@@ -259,9 +260,9 @@ const struct m68k_opcode m68k_opcodes[] =
 {"cmpaw",      one(0130300),   one(0170700), "*wAd", m68000up },
 {"cmpal",      one(0130700),   one(0170700), "*lAd", m68000up | mcf5200 },
 
-{"cmpib",      one(0006000),   one(0177700), "#b;s", m68000up },
-{"cmpiw",      one(0006100),   one(0177700), "#w;s", m68000up },
-{"cmpil",      one(0006200),   one(0177700), "#l;s", m68000up },
+{"cmpib",      one(0006000),   one(0177700), "#b@s", m68000up },
+{"cmpiw",      one(0006100),   one(0177700), "#w@s", m68000up },
+{"cmpil",      one(0006200),   one(0177700), "#l@s", m68000up },
 {"cmpil",      one(0006200),   one(0177700), "#lDs", mcf5200 },
 
 {"cmpmb",      one(0130410),   one(0170770), "+s+d", m68000up },
@@ -269,15 +270,15 @@ const struct m68k_opcode m68k_opcodes[] =
 {"cmpml",      one(0130610),   one(0170770), "+s+d", m68000up },
 
 /* The cmp opcode can generate the cmpa, cmpm, and cmpi instructions.  */
-{"cmpb",       one(0006000),   one(0177700), "#b;s", m68000up },
+{"cmpb",       one(0006000),   one(0177700), "#b@s", m68000up },
 {"cmpb",       one(0130410),   one(0170770), "+s+d", m68000up },
 {"cmpb",       one(0130000),   one(0170700), ";bDd", m68000up },
 {"cmpw",       one(0130300),   one(0170700), "*wAd", m68000up },
-{"cmpw",       one(0006100),   one(0177700), "#w;s", m68000up },
+{"cmpw",       one(0006100),   one(0177700), "#w@s", m68000up },
 {"cmpw",       one(0130510),   one(0170770), "+s+d", m68000up },
 {"cmpw",       one(0130100),   one(0170700), "*wDd", m68000up },
 {"cmpl",       one(0130700),   one(0170700), "*lAd", m68000up | mcf5200 },
-{"cmpl",       one(0006200),   one(0177700), "#l;s", m68000up },
+{"cmpl",       one(0006200),   one(0177700), "#l@s", m68000up },
 {"cmpl",       one(0006200),   one(0177700), "#lDs", mcf5200 },
 {"cmpl",       one(0130610),   one(0170770), "+s+d", m68000up },
 {"cmpl",       one(0130200),   one(0170700), "*lDd", m68000up | mcf5200 },
@@ -300,37 +301,17 @@ const struct m68k_opcode m68k_opcodes[] =
 {"dbvs",       one(0054710),   one(0177770), "DsBw", m68000up },
 
 {"divsw",      one(0100700),           one(0170700), ";wDd", m68000up },
-/* start-sanitize-coldfire */
-{"divsw",      one(0100700),           one(0170700), ";wDd", m68000up|mcfdiv },
-/* end-sanitize-coldfire */
 
 {"divsl", two(0046100,0006000),two(0177700,0107770),";lD3D1", m68020up|cpu32 },
 {"divsl", two(0046100,0004000),two(0177700,0107770),";lDD",   m68020up|cpu32 },
-/* start-sanitize-coldfire */
-{"divsl", two(0046100,0004000),two(0177700,0107770),"DsDD",   mcfdiv },
-{"divsl", two(0046100,0004000),two(0177700,0107770),"asDD",   mcfdiv },
-{"divsl", two(0046100,0004000),two(0177700,0107770),"+sDD",   mcfdiv },
-{"divsl", two(0046100,0004000),two(0177700,0107770),"-sDD",   mcfdiv },
-{"divsl", two(0046100,0004000),two(0177700,0107770),"dsDD",   mcfdiv },
-/* end-sanitize-coldfire */
 
 {"divsll", two(0046100,0004000),two(0177700,0107770),";lD3D1",m68020up|cpu32 },
 {"divsll", two(0046100,0004000),two(0177700,0107770),";lDD",  m68020up|cpu32 },
 
 {"divuw",      one(0100300),           one(0170700), ";wDd", m68000up },
-/* start-sanitize-coldfire */
-{"divuw",      one(0100300),           one(0170700), ";wDd", m68000up|mcfdiv },
-/* end-sanitize-coldfire */
 
 {"divul", two(0046100,0002000),two(0177700,0107770),";lD3D1", m68020up|cpu32 },
 {"divul", two(0046100,0000000),two(0177700,0107770),";lDD",   m68020up|cpu32 },
-/* start-sanitize-coldfire */
-{"divul", two(0046100,0000000),two(0177700,0107770),"DsDD",   mcfdiv },
-{"divul", two(0046100,0000000),two(0177700,0107770),"asDD",   mcfdiv },
-{"divul", two(0046100,0000000),two(0177700,0107770),"+sDD",   mcfdiv },
-{"divul", two(0046100,0000000),two(0177700,0107770),"-sDD",   mcfdiv },
-{"divul", two(0046100,0000000),two(0177700,0107770),"dsDD",   mcfdiv },
-/* end-sanitize-coldfire */
 
 {"divull", two(0046100,0000000),two(0177700,0107770),";lD3D1",m68020up|cpu32 },
 {"divull", two(0046100,0000000),two(0177700,0107770),";lDD",  m68020up|cpu32 },
@@ -1217,7 +1198,7 @@ const struct m68k_opcode m68k_opcodes[] =
 {"ftwotoxx",   two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
 {"ftwotoxx",   two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
 
-{"halt",       one(0045310),   one(0177777), "",     mcf5200 },
+{"halt",       one(0045310),   one(0177777), "",     m68060 | mcf5200 },
 
 {"illegal",    one(0045374),   one(0177777), "",     m68000up },
 
@@ -1233,7 +1214,7 @@ const struct m68k_opcode m68k_opcodes[] =
 
 {"lea",                one(0040700),   one(0170700), "!sAd", m68000up | mcf5200 },
 
-{"lpstop",     two(0174000,0000700), two(0177777,0177777), "", cpu32|m68060 },
+{"lpstop",     two(0174000,0000700),two(0177777,0177777),"#w", cpu32|m68060 },
 
 {"linkw",      one(0047120),   one(0177770), "As#w", m68000up | mcf5200 },
 {"linkl",      one(0044010),   one(0177770), "As#l", m68020up | cpu32 },
@@ -1325,10 +1306,10 @@ const struct m68k_opcode m68k_opcodes[] =
 {"movew",      one(0041300),   one(0177770), "CsDs", mcf5200 },
 {"movew",      one(0042300),   one(0177700), ";wCd", m68000up },
 {"movew",      one(0042300),   one(0177700), "DsCd", mcf5200 },
-{"movew",      one(0042374),   one(0177700), "#wCd", mcf5200 },
+{"movew",      one(0042374),   one(0177777), "#wCd", mcf5200 },
 {"movew",      one(0043300),   one(0177700), ";wSd", m68000up },
 {"movew",      one(0043300),   one(0177700), "DsSd", mcf5200 },
-{"movew",      one(0043374),   one(0177700), "#wSd", mcf5200 },
+{"movew",      one(0043374),   one(0177777), "#wSd", mcf5200 },
 
 {"movel",      one(0070000),   one(0170400), "MsDd", m68000up | mcf5200 },
 {"movel",      one(0020000),   one(0170000), "*l%d", m68000up },
@@ -1348,10 +1329,10 @@ const struct m68k_opcode m68k_opcodes[] =
 {"move",       one(0041300),   one(0177770), "CsDs", mcf5200 },
 {"move",       one(0042300),   one(0177700), ";wCd", m68000up },
 {"move",       one(0042300),   one(0177700), "DsCd", mcf5200 },
-{"move",       one(0042300),   one(0177700), "#wCd", mcf5200 },
+{"move",       one(0042374),   one(0177777), "#wCd", mcf5200 },
 {"move",       one(0043300),   one(0177700), ";wSd", m68000up },
 {"move",       one(0043300),   one(0177700), "DsSd", mcf5200 },
-{"move",       one(0043300),   one(0177700), "#wSd", mcf5200 },
+{"move",       one(0043374),   one(0177777), "#wSd", mcf5200 },
 
 {"move",       one(0047140),   one(0177770), "AsUd", m68000up },
 {"move",       one(0047150),   one(0177770), "UdAs", m68000up },
@@ -1371,20 +1352,12 @@ const struct m68k_opcode m68k_opcodes[] =
 
 {"mulsw",      one(0140700),           one(0170700), ";wDd", m68000up|mcf5200 },
 {"mulsl",      two(0046000,004000), two(0177700,0107770), ";lD1", m68020up|cpu32 },
-{"mulsl",      two(0046000,004000), two(0177700,0107770), "DsD1", mcf5200 },
-{"mulsl",      two(0046000,004000), two(0177700,0107770), "asD1", mcf5200 },
-{"mulsl",      two(0046000,004000), two(0177700,0107770), "+sD1", mcf5200 },
-{"mulsl",      two(0046000,004000), two(0177700,0107770), "-sD1", mcf5200 },
-{"mulsl",      two(0046000,004000), two(0177700,0107770), "dsD1", mcf5200 },
+{"mulsl",      two(0046000,004000), two(0177700,0107770), "qsD1", mcf5200 },
 {"mulsl",      two(0046000,006000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 },
 
 {"muluw",      one(0140300),           one(0170700), ";wDd", m68000up|mcf5200 },
 {"mulul",      two(0046000,000000), two(0177700,0107770), ";lD1", m68020up|cpu32 },
-{"mulul",      two(0046000,000000), two(0177700,0107770), "DsD1", mcf5200 },
-{"mulul",      two(0046000,000000), two(0177700,0107770), "asD1", mcf5200 },
-{"mulul",      two(0046000,000000), two(0177700,0107770), "+sD1", mcf5200 },
-{"mulul",      two(0046000,000000), two(0177700,0107770), "-sD1", mcf5200 },
-{"mulul",      two(0046000,000000), two(0177700,0107770), "dsD1", mcf5200 },
+{"mulul",      two(0046000,000000), two(0177700,0107770), "qsD1", mcf5200 },
 {"mulul",      two(0046000,002000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 },
 
 {"nbcd",       one(0044000),   one(0177700), "$s", m68000up },
@@ -1646,24 +1619,11 @@ const struct m68k_opcode m68k_opcodes[] =
 {"ptrapwsl",   two(0xf07b, 0x0008),    two(0xffff, 0xffff), "#l", m68851 },
 {"ptrapws",    two(0xf07c, 0x0008),    two(0xffff, 0xffff), "",   m68851 },
 
-{"pulse",      one(0045314),           one(0177777), "", mcf5200 },
+{"pulse",      one(0045314),           one(0177777), "", m68060 | mcf5200 },
 
 {"pvalid",     two(0xf000, 0x2800),    two(0xffc0, 0xffff), "Vs&s", m68851 },
 {"pvalid",     two(0xf000, 0x2c00),    two(0xffc0, 0xfff8), "A3&s", m68851 },
 
-/* start-sanitize-coldfire */
-{"remsl", two(0046100,0006000),two(0177700,0107770),"DsD3D1", mcfdiv },
-{"remsl", two(0046100,0006000),two(0177700,0107770),"asD3D1", mcfdiv },
-{"remsl", two(0046100,0006000),two(0177700,0107770),"+sD3D1", mcfdiv },
-{"remsl", two(0046100,0006000),two(0177700,0107770),"-sD3D1", mcfdiv },
-{"remsl", two(0046100,0006000),two(0177700,0107770),"dsD3D1", mcfdiv },
-
-{"remul", two(0046100,0002000),two(0177700,0107770),"DsD3D1", mcfdiv },
-{"remul", two(0046100,0002000),two(0177700,0107770),"asD3D1", mcfdiv },
-{"remul", two(0046100,0002000),two(0177700,0107770),"+sD3D1", mcfdiv },
-{"remul", two(0046100,0002000),two(0177700,0107770),"-sD3D1", mcfdiv },
-{"remul", two(0046100,0002000),two(0177700,0107770),"dsD3D1", mcfdiv },
-/* end-sanitize-coldfire */
 
 {"reset",      one(0047160),           one(0177777), "", m68000up },
 
@@ -1799,7 +1759,7 @@ const struct m68k_opcode m68k_opcodes[] =
 
 #define TBL1(name,signed,round,size)                                   \
   {name, two(0174000, (signed<<11)|(!round<<10)|(size<<6)|0000400),    \
-     two(0177700,0107777), "`sD1", cpu32 },                            \
+     two(0177700,0107777), "!sD1", cpu32 },                            \
   {name, two(0174000, (signed<<11)|(!round<<10)|(size<<6)),            \
      two(0177770,0107770), "DsD3D1", cpu32 }
 #define TBL(name1, name2, name3, s, r) \
@@ -1865,11 +1825,11 @@ TBL("tblunb", "tblunw", "tblunl", 0, 0),
 {"trapv",      one(0047166),   one(0177777), "", m68000up },
 
 {"tstb",       one(0045000),   one(0177700), ";b", m68020up|cpu32|mcf5200 },
-{"tstb",       one(0045000),   one(0177700), "@b", m68000up },
+{"tstb",       one(0045000),   one(0177700), "$b", m68000up },
 {"tstw",       one(0045100),   one(0177700), "*w", m68020up|cpu32|mcf5200 },
-{"tstw",       one(0045100),   one(0177700), "@w", m68000up },
+{"tstw",       one(0045100),   one(0177700), "$w", m68000up },
 {"tstl",       one(0045200),   one(0177700), "*l", m68020up|cpu32|mcf5200 },
-{"tstl",       one(0045200),   one(0177700), "@l", m68000up },
+{"tstl",       one(0045200),   one(0177700), "$l", m68000up },
 
 {"unlk",       one(0047130),   one(0177770), "As", m68000up | mcf5200 },
 
This page took 0.028587 seconds and 4 git commands to generate.