Back to index

cell-binutils  2.17cvs20070401
m68k-opc.c
Go to the documentation of this file.
00001 /* Opcode table for m680[012346]0/m6888[12]/m68851/mcf5200.
00002    Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
00003    2000, 2001, 2003, 2004, 2005, 2006
00004    Free Software Foundation, Inc.
00005 
00006    This file is part of GDB, GAS, and the GNU binutils.
00007 
00008    GDB, GAS, and the GNU binutils are free software; you can redistribute
00009    them and/or modify them under the terms of the GNU General Public
00010    License as published by the Free Software Foundation; either version
00011    1, or (at your option) any later version.
00012 
00013    GDB, GAS, and the GNU binutils are distributed in the hope that they
00014    will be useful, but WITHOUT ANY WARRANTY; without even the implied
00015    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
00016    the GNU General Public License for more details.
00017 
00018    You should have received a copy of the GNU General Public License
00019    along with this file; see the file COPYING.  If not, write to the Free
00020    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
00021    02110-1301, USA.  */
00022 
00023 #include "sysdep.h"
00024 #include "opcode/m68k.h"
00025 
00026 #define one(x) ((unsigned int) (x) << 16)
00027 #define two(x, y) (((unsigned int) (x) << 16) + (y))
00028 
00029 /* The assembler requires that all instances of the same mnemonic must
00030    be consecutive.  If they aren't, the assembler will bomb at
00031    runtime.  */
00032 
00033 const struct m68k_opcode m68k_opcodes[] =
00034 {
00035 {"abcd", 2,   one(0140400), one(0170770), "DsDd", m68000up },
00036 {"abcd", 2,   one(0140410), one(0170770), "-s-d", m68000up },
00037 
00038 {"addaw", 2,  one(0150300), one(0170700), "*wAd", m68000up },
00039 {"addal", 2,  one(0150700), one(0170700), "*lAd", m68000up | mcfisa_a },
00040 
00041 {"addib", 4,  one(0003000), one(0177700), "#b$s", m68000up },
00042 {"addiw", 4,  one(0003100), one(0177700), "#w$s", m68000up },
00043 {"addil", 6,  one(0003200), one(0177700), "#l$s", m68000up },
00044 {"addil", 6,  one(0003200), one(0177700), "#lDs", mcfisa_a },
00045 
00046 {"addqb", 2,  one(0050000), one(0170700), "Qd$b", m68000up },
00047 {"addqw", 2,  one(0050100), one(0170700), "Qd%w", m68000up },
00048 {"addql", 2,  one(0050200), one(0170700), "Qd%l", m68000up | mcfisa_a },
00049 
00050 /* The add opcode can generate the adda, addi, and addq instructions.  */
00051 {"addb", 2,   one(0050000), one(0170700), "Qd$b", m68000up },
00052 {"addb", 4,   one(0003000), one(0177700), "#b$s", m68000up },
00053 {"addb", 2,   one(0150000), one(0170700), ";bDd", m68000up },
00054 {"addb", 2,   one(0150400), one(0170700), "Dd~b", m68000up },
00055 {"addw", 2,   one(0050100), one(0170700), "Qd%w", m68000up },
00056 {"addw", 2,   one(0150300), one(0170700), "*wAd", m68000up },
00057 {"addw", 4,   one(0003100), one(0177700), "#w$s", m68000up },
00058 {"addw", 2,   one(0150100), one(0170700), "*wDd", m68000up },
00059 {"addw", 2,   one(0150500), one(0170700), "Dd~w", m68000up },
00060 {"addl", 2,   one(0050200), one(0170700), "Qd%l", m68000up | mcfisa_a },
00061 {"addl", 6,   one(0003200), one(0177700), "#l$s", m68000up },
00062 {"addl", 6,   one(0003200), one(0177700), "#lDs", mcfisa_a },
00063 {"addl", 2,   one(0150700), one(0170700), "*lAd", m68000up | mcfisa_a },
00064 {"addl", 2,   one(0150200), one(0170700), "*lDd", m68000up | mcfisa_a },
00065 {"addl", 2,   one(0150600), one(0170700), "Dd~l", m68000up | mcfisa_a },
00066 
00067 {"addxb", 2,  one(0150400), one(0170770), "DsDd", m68000up },
00068 {"addxb", 2,  one(0150410), one(0170770), "-s-d", m68000up },
00069 {"addxw", 2,  one(0150500), one(0170770), "DsDd", m68000up },
00070 {"addxw", 2,  one(0150510), one(0170770), "-s-d", m68000up },
00071 {"addxl", 2,  one(0150600), one(0170770), "DsDd", m68000up | mcfisa_a },
00072 {"addxl", 2,  one(0150610), one(0170770), "-s-d", m68000up },
00073 
00074 {"andib", 4,  one(0001000), one(0177700), "#b$s", m68000up },
00075 {"andib", 4,  one(0001074), one(0177777), "#bCs", m68000up },
00076 {"andiw", 4,  one(0001100), one(0177700), "#w$s", m68000up },
00077 {"andiw", 4,  one(0001174), one(0177777), "#wSs", m68000up },
00078 {"andil", 6,  one(0001200), one(0177700), "#l$s", m68000up },
00079 {"andil", 6,  one(0001200), one(0177700), "#lDs", mcfisa_a },
00080 {"andi", 4,   one(0001100), one(0177700), "#w$s", m68000up },
00081 {"andi", 4,   one(0001074), one(0177777), "#bCs", m68000up },
00082 {"andi", 4,   one(0001174), one(0177777), "#wSs", m68000up },
00083 
00084 /* The and opcode can generate the andi instruction.  */
00085 {"andb", 4,   one(0001000), one(0177700), "#b$s", m68000up },
00086 {"andb", 4,   one(0001074), one(0177777), "#bCs", m68000up },
00087 {"andb", 2,   one(0140000), one(0170700), ";bDd", m68000up },
00088 {"andb", 2,   one(0140400), one(0170700), "Dd~b", m68000up },
00089 {"andw", 4,   one(0001100), one(0177700), "#w$s", m68000up },
00090 {"andw", 4,   one(0001174), one(0177777), "#wSs", m68000up },
00091 {"andw", 2,   one(0140100), one(0170700), ";wDd", m68000up },
00092 {"andw", 2,   one(0140500), one(0170700), "Dd~w", m68000up },
00093 {"andl", 6,   one(0001200), one(0177700), "#l$s", m68000up },
00094 {"andl", 6,   one(0001200), one(0177700), "#lDs", mcfisa_a },
00095 {"andl", 2,   one(0140200), one(0170700), ";lDd", m68000up | mcfisa_a },
00096 {"andl", 2,   one(0140600), one(0170700), "Dd~l", m68000up | mcfisa_a },
00097 {"and", 4,    one(0001100), one(0177700), "#w$w", m68000up },
00098 {"and", 4,    one(0001074), one(0177777), "#bCs", m68000up },
00099 {"and", 4,    one(0001174), one(0177777), "#wSs", m68000up },
00100 {"and", 2,    one(0140100), one(0170700), ";wDd", m68000up },
00101 {"and", 2,    one(0140500), one(0170700), "Dd~w", m68000up },
00102 
00103 {"aslb", 2,   one(0160400), one(0170770), "QdDs", m68000up },
00104 {"aslb", 2,   one(0160440), one(0170770), "DdDs", m68000up },
00105 {"aslw", 2,   one(0160500), one(0170770), "QdDs", m68000up },
00106 {"aslw", 2,   one(0160540), one(0170770), "DdDs", m68000up },
00107 {"aslw", 2,   one(0160700), one(0177700), "~s",   m68000up },
00108 {"asll", 2,   one(0160600), one(0170770), "QdDs", m68000up | mcfisa_a },
00109 {"asll", 2,   one(0160640), one(0170770), "DdDs", m68000up | mcfisa_a },
00110 
00111 {"asrb", 2,   one(0160000), one(0170770), "QdDs", m68000up },
00112 {"asrb", 2,   one(0160040), one(0170770), "DdDs", m68000up },
00113 {"asrw", 2,   one(0160100), one(0170770), "QdDs", m68000up },
00114 {"asrw", 2,   one(0160140), one(0170770), "DdDs", m68000up },
00115 {"asrw", 2,   one(0160300), one(0177700), "~s",   m68000up },
00116 {"asrl", 2,   one(0160200), one(0170770), "QdDs", m68000up | mcfisa_a },
00117 {"asrl", 2,   one(0160240), one(0170770), "DdDs", m68000up | mcfisa_a },
00118 
00119 {"bhiw", 2,   one(0061000), one(0177777), "BW", m68000up | mcfisa_a },
00120 {"blsw", 2,   one(0061400), one(0177777), "BW", m68000up | mcfisa_a },
00121 {"bccw", 2,   one(0062000), one(0177777), "BW", m68000up | mcfisa_a },
00122 {"bcsw", 2,   one(0062400), one(0177777), "BW", m68000up | mcfisa_a },
00123 {"bnew", 2,   one(0063000), one(0177777), "BW", m68000up | mcfisa_a },
00124 {"beqw", 2,   one(0063400), one(0177777), "BW", m68000up | mcfisa_a },
00125 {"bvcw", 2,   one(0064000), one(0177777), "BW", m68000up | mcfisa_a },
00126 {"bvsw", 2,   one(0064400), one(0177777), "BW", m68000up | mcfisa_a },
00127 {"bplw", 2,   one(0065000), one(0177777), "BW", m68000up | mcfisa_a },
00128 {"bmiw", 2,   one(0065400), one(0177777), "BW", m68000up | mcfisa_a },
00129 {"bgew", 2,   one(0066000), one(0177777), "BW", m68000up | mcfisa_a },
00130 {"bltw", 2,   one(0066400), one(0177777), "BW", m68000up | mcfisa_a },
00131 {"bgtw", 2,   one(0067000), one(0177777), "BW", m68000up | mcfisa_a },
00132 {"blew", 2,   one(0067400), one(0177777), "BW", m68000up | mcfisa_a },
00133 
00134 {"bhil", 2,   one(0061377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00135 {"blsl", 2,   one(0061777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00136 {"bccl", 2,   one(0062377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00137 {"bcsl", 2,   one(0062777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00138 {"bnel", 2,   one(0063377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00139 {"beql", 2,   one(0063777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00140 {"bvcl", 2,   one(0064377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00141 {"bvsl", 2,   one(0064777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00142 {"bpll", 2,   one(0065377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00143 {"bmil", 2,   one(0065777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00144 {"bgel", 2,   one(0066377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00145 {"bltl", 2,   one(0066777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00146 {"bgtl", 2,   one(0067377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00147 {"blel", 2,   one(0067777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00148 
00149 {"bhis", 2,   one(0061000), one(0177400), "BB", m68000up | mcfisa_a },
00150 {"blss", 2,   one(0061400), one(0177400), "BB", m68000up | mcfisa_a },
00151 {"bccs", 2,   one(0062000), one(0177400), "BB", m68000up | mcfisa_a },
00152 {"bcss", 2,   one(0062400), one(0177400), "BB", m68000up | mcfisa_a },
00153 {"bnes", 2,   one(0063000), one(0177400), "BB", m68000up | mcfisa_a },
00154 {"beqs", 2,   one(0063400), one(0177400), "BB", m68000up | mcfisa_a },
00155 {"bvcs", 2,   one(0064000), one(0177400), "BB", m68000up | mcfisa_a },
00156 {"bvss", 2,   one(0064400), one(0177400), "BB", m68000up | mcfisa_a },
00157 {"bpls", 2,   one(0065000), one(0177400), "BB", m68000up | mcfisa_a },
00158 {"bmis", 2,   one(0065400), one(0177400), "BB", m68000up | mcfisa_a },
00159 {"bges", 2,   one(0066000), one(0177400), "BB", m68000up | mcfisa_a },
00160 {"blts", 2,   one(0066400), one(0177400), "BB", m68000up | mcfisa_a },
00161 {"bgts", 2,   one(0067000), one(0177400), "BB", m68000up | mcfisa_a },
00162 {"bles", 2,   one(0067400), one(0177400), "BB", m68000up | mcfisa_a },
00163 
00164 {"jhi", 2,    one(0061000), one(0177400), "Bg", m68000up | mcfisa_a },
00165 {"jls", 2,    one(0061400), one(0177400), "Bg", m68000up | mcfisa_a },
00166 {"jcc", 2,    one(0062000), one(0177400), "Bg", m68000up | mcfisa_a },
00167 {"jcs", 2,    one(0062400), one(0177400), "Bg", m68000up | mcfisa_a },
00168 {"jne", 2,    one(0063000), one(0177400), "Bg", m68000up | mcfisa_a },
00169 {"jeq", 2,    one(0063400), one(0177400), "Bg", m68000up | mcfisa_a },
00170 {"jvc", 2,    one(0064000), one(0177400), "Bg", m68000up | mcfisa_a },
00171 {"jvs", 2,    one(0064400), one(0177400), "Bg", m68000up | mcfisa_a },
00172 {"jpl", 2,    one(0065000), one(0177400), "Bg", m68000up | mcfisa_a },
00173 {"jmi", 2,    one(0065400), one(0177400), "Bg", m68000up | mcfisa_a },
00174 {"jge", 2,    one(0066000), one(0177400), "Bg", m68000up | mcfisa_a },
00175 {"jlt", 2,    one(0066400), one(0177400), "Bg", m68000up | mcfisa_a },
00176 {"jgt", 2,    one(0067000), one(0177400), "Bg", m68000up | mcfisa_a },
00177 {"jle", 2,    one(0067400), one(0177400), "Bg", m68000up | mcfisa_a },
00178 
00179 {"bchg", 2,   one(0000500), one(0170700), "Dd$s", m68000up | mcfisa_a },
00180 {"bchg", 4,   one(0004100), one(0177700), "#b$s", m68000up },
00181 {"bchg", 4,   one(0004100), one(0177700), "#bqs", mcfisa_a },
00182 
00183 {"bclr", 2,   one(0000600), one(0170700), "Dd$s", m68000up | mcfisa_a },
00184 {"bclr", 4,   one(0004200), one(0177700), "#b$s", m68000up },
00185 {"bclr", 4,   one(0004200), one(0177700), "#bqs", mcfisa_a },
00186 
00187 {"bfchg", 4,  two(0165300, 0), two(0177700, 0170000),   "?sO2O3",   m68020up },
00188 {"bfclr", 4,  two(0166300, 0), two(0177700, 0170000),   "?sO2O3",   m68020up },
00189 {"bfexts", 4, two(0165700, 0), two(0177700, 0100000),   "/sO2O3D1", m68020up },
00190 {"bfextu", 4, two(0164700, 0), two(0177700, 0100000),   "/sO2O3D1", m68020up },
00191 {"bfffo", 4,  two(0166700, 0), two(0177700, 0100000),   "/sO2O3D1", m68020up },
00192 {"bfins", 4,  two(0167700, 0), two(0177700, 0100000),   "D1?sO2O3", m68020up },
00193 {"bfset", 4,  two(0167300, 0), two(0177700, 0170000),   "?sO2O3",   m68020up },
00194 {"bftst", 4,  two(0164300, 0), two(0177700, 0170000),   "/sO2O3",   m68020up },
00195 
00196 {"bgnd", 2,   one(0045372), one(0177777), "", cpu32 | fido_a },
00197 
00198 {"bitrev", 2, one(0000300), one(0177770), "Ds", mcfisa_aa},
00199 
00200 {"bkpt", 2,   one(0044110), one(0177770), "ts", m68010up },
00201 
00202 {"braw", 2,   one(0060000), one(0177777), "BW", m68000up | mcfisa_a },
00203 {"bral", 2,   one(0060377), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00204 {"bras", 2,   one(0060000), one(0177400), "BB", m68000up | mcfisa_a },
00205 
00206 {"bset", 2,   one(0000700), one(0170700), "Dd$s", m68000up | mcfisa_a },
00207 {"bset", 2,   one(0000700), one(0170700), "Ddvs", mcfisa_a },
00208 {"bset", 4,   one(0004300), one(0177700), "#b$s", m68000up },
00209 {"bset", 4,   one(0004300), one(0177700), "#bqs", mcfisa_a },
00210 
00211 {"bsrw", 2,   one(0060400), one(0177777), "BW", m68000up | mcfisa_a },
00212 {"bsrl", 2,   one(0060777), one(0177777), "BL", m68020up | cpu32 | fido_a | mcfisa_b},
00213 {"bsrs", 2,   one(0060400), one(0177400), "BB", m68000up | mcfisa_a },
00214 
00215 {"btst", 2,   one(0000400), one(0170700), "Dd;b", m68000up | mcfisa_a },
00216 {"btst", 4,   one(0004000), one(0177700), "#b@s", m68000up },
00217 {"btst", 4,   one(0004000), one(0177700), "#bqs", mcfisa_a },
00218 
00219 {"byterev", 2,       one(0001300), one(0177770), "Ds", mcfisa_aa},
00220 
00221 {"callm", 4,  one(0003300), one(0177700), "#b!s", m68020 },
00222 
00223 {"cas2w", 6,    two(0006374,0), two(0177777,0007070), "D3D6D2D5r1r4", m68020up },
00224 {"cas2w", 6,    two(0006374,0), two(0177777,0007070), "D3D6D2D5R1R4", m68020up },
00225 {"cas2l", 6,    two(0007374,0), two(0177777,0007070), "D3D6D2D5r1r4", m68020up },
00226 {"cas2l", 6,    two(0007374,0), two(0177777,0007070), "D3D6D2D5R1R4", m68020up },
00227 
00228 {"casb", 4,   two(0005300, 0), two(0177700, 0177070),   "D3D2~s", m68020up },
00229 {"casw", 4,   two(0006300, 0), two(0177700, 0177070),   "D3D2~s", m68020up },
00230 {"casl", 4,   two(0007300, 0), two(0177700, 0177070),   "D3D2~s", m68020up },
00231 
00232 {"chk2b", 4,  two(0000300,0004000), two(0177700,07777), "!sR1", m68020up | cpu32 | fido_a },
00233 {"chk2w", 4,  two(0001300,0004000),       two(0177700,07777), "!sR1", m68020up | cpu32 | fido_a },
00234 {"chk2l", 4,  two(0002300,0004000),       two(0177700,07777), "!sR1", m68020up | cpu32 | fido_a },
00235 
00236 {"chkl", 2,   one(0040400),        one(0170700), ";lDd", m68000up },
00237 {"chkw", 2,   one(0040600),        one(0170700), ";wDd", m68000up },
00238 
00239 #define SCOPE_LINE (0x1 << 3)
00240 #define SCOPE_PAGE (0x2 << 3)
00241 #define SCOPE_ALL  (0x3 << 3)
00242 
00243 {"cinva", 2,  one(0xf400|SCOPE_ALL),  one(0xff38), "ce",   m68040up },
00244 {"cinvl", 2,  one(0xf400|SCOPE_LINE), one(0xff38), "ceas", m68040up },
00245 {"cinvp", 2,  one(0xf400|SCOPE_PAGE), one(0xff38), "ceas", m68040up },
00246 
00247 {"cpusha", 2, one(0xf420|SCOPE_ALL),  one(0xff38), "ce",   m68040up },
00248 {"cpushl", 2, one(0xf420|SCOPE_LINE), one(0xff38), "ceas", m68040up | mcfisa_a },
00249 {"cpushp", 2, one(0xf420|SCOPE_PAGE), one(0xff38), "ceas", m68040up },
00250 
00251 #undef SCOPE_LINE
00252 #undef SCOPE_PAGE
00253 #undef SCOPE_ALL
00254 
00255 {"clrb", 2,   one(0041000), one(0177700), "$s", m68000up | mcfisa_a },
00256 {"clrw", 2,   one(0041100), one(0177700), "$s", m68000up | mcfisa_a },
00257 {"clrl", 2,   one(0041200), one(0177700), "$s", m68000up | mcfisa_a },
00258 
00259 {"cmp2b", 4,  two(0000300,0), two(0177700,07777), "!sR1", m68020up | cpu32 | fido_a },
00260 {"cmp2w", 4,  two(0001300,0),      two(0177700,07777), "!sR1", m68020up | cpu32 | fido_a },
00261 {"cmp2l", 4,  two(0002300,0),      two(0177700,07777), "!sR1", m68020up | cpu32 | fido_a },
00262 
00263 {"cmpaw", 2,  one(0130300), one(0170700), "*wAd", m68000up },
00264 {"cmpal", 2,  one(0130700), one(0170700), "*lAd", m68000up | mcfisa_a },
00265 
00266 {"cmpib", 4,  one(0006000), one(0177700), "#b@s", m68000up },
00267 {"cmpib", 4,  one(0006000), one(0177700), "#bDs", mcfisa_b },
00268 {"cmpiw", 4,  one(0006100), one(0177700), "#w@s", m68000up },
00269 {"cmpiw", 4,  one(0006100), one(0177700), "#wDs", mcfisa_b },
00270 {"cmpil", 6,  one(0006200), one(0177700), "#l@s", m68000up },
00271 {"cmpil", 6,  one(0006200), one(0177700), "#lDs", mcfisa_a },
00272 
00273 {"cmpmb", 2,  one(0130410), one(0170770), "+s+d", m68000up },
00274 {"cmpmw", 2,  one(0130510), one(0170770), "+s+d", m68000up },
00275 {"cmpml", 2,  one(0130610), one(0170770), "+s+d", m68000up },
00276 
00277 /* The cmp opcode can generate the cmpa, cmpm, and cmpi instructions.  */
00278 {"cmpb", 4,   one(0006000), one(0177700), "#b@s", m68000up },
00279 {"cmpb", 4,   one(0006000), one(0177700), "#bDs", mcfisa_b },
00280 {"cmpb", 2,   one(0130410), one(0170770), "+s+d", m68000up },
00281 {"cmpb", 2,   one(0130000), one(0170700), ";bDd", m68000up },
00282 {"cmpb", 2,   one(0130000), one(0170700), "*bDd", mcfisa_b },
00283 {"cmpw", 2,   one(0130300), one(0170700), "*wAd", m68000up },
00284 {"cmpw", 4,   one(0006100), one(0177700), "#w@s", m68000up },
00285 {"cmpw", 4,   one(0006100), one(0177700), "#wDs", mcfisa_b },
00286 {"cmpw", 2,   one(0130510), one(0170770), "+s+d", m68000up },
00287 {"cmpw", 2,   one(0130100), one(0170700), "*wDd", m68000up | mcfisa_b },
00288 {"cmpl", 2,   one(0130700), one(0170700), "*lAd", m68000up | mcfisa_a },
00289 {"cmpl", 6,   one(0006200), one(0177700), "#l@s", m68000up },
00290 {"cmpl", 6,   one(0006200), one(0177700), "#lDs", mcfisa_a },
00291 {"cmpl", 2,   one(0130610), one(0170770), "+s+d", m68000up },
00292 {"cmpl", 2,   one(0130200), one(0170700), "*lDd", m68000up | mcfisa_a },
00293 
00294 {"dbcc", 2,   one(0052310), one(0177770), "DsBw", m68000up },
00295 {"dbcs", 2,   one(0052710), one(0177770), "DsBw", m68000up },
00296 {"dbeq", 2,   one(0053710), one(0177770), "DsBw", m68000up },
00297 {"dbf", 2,    one(0050710), one(0177770), "DsBw", m68000up },
00298 {"dbge", 2,   one(0056310), one(0177770), "DsBw", m68000up },
00299 {"dbgt", 2,   one(0057310), one(0177770), "DsBw", m68000up },
00300 {"dbhi", 2,   one(0051310), one(0177770), "DsBw", m68000up },
00301 {"dble", 2,   one(0057710), one(0177770), "DsBw", m68000up },
00302 {"dbls", 2,   one(0051710), one(0177770), "DsBw", m68000up },
00303 {"dblt", 2,   one(0056710), one(0177770), "DsBw", m68000up },
00304 {"dbmi", 2,   one(0055710), one(0177770), "DsBw", m68000up },
00305 {"dbne", 2,   one(0053310), one(0177770), "DsBw", m68000up },
00306 {"dbpl", 2,   one(0055310), one(0177770), "DsBw", m68000up },
00307 {"dbt", 2,    one(0050310), one(0177770), "DsBw", m68000up },
00308 {"dbvc", 2,   one(0054310), one(0177770), "DsBw", m68000up },
00309 {"dbvs", 2,   one(0054710), one(0177770), "DsBw", m68000up },
00310 
00311 {"divsw", 2,  one(0100700), one(0170700), ";wDd", m68000up | mcfhwdiv },
00312 
00313 {"divsl", 4,  two(0046100,0006000),two(0177700,0107770),";lD3D1", m68020up | cpu32 | fido_a },
00314 {"divsl", 4,  two(0046100,0004000),two(0177700,0107770),";lDD",   m68020up | cpu32 | fido_a },
00315 {"divsl", 4,  two(0046100,0004000),two(0177700,0107770),"qsDD",   mcfhwdiv },
00316 
00317 {"divsll", 4,        two(0046100,0004000),two(0177700,0107770),";lD3D1",m68020up | cpu32 | fido_a },
00318 {"divsll", 4,        two(0046100,0004000),two(0177700,0107770),";lDD",  m68020up | cpu32 | fido_a },
00319 
00320 {"divuw", 2,  one(0100300),        one(0170700), ";wDd", m68000up | mcfhwdiv },
00321 
00322 {"divul", 4,  two(0046100,0002000),two(0177700,0107770),";lD3D1", m68020up | cpu32 | fido_a },
00323 {"divul", 4,  two(0046100,0000000),two(0177700,0107770),";lDD",   m68020up | cpu32 | fido_a },
00324 {"divul", 4,  two(0046100,0000000),two(0177700,0107770),"qsDD",   mcfhwdiv },
00325 
00326 {"divull", 4, two(0046100,0000000),two(0177700,0107770),";lD3D1",m68020up | cpu32 | fido_a },
00327 {"divull", 4, two(0046100,0000000),two(0177700,0107770),";lDD",  m68020up | cpu32 | fido_a },
00328 
00329 {"eorib", 4,  one(0005000), one(0177700), "#b$s", m68000up },
00330 {"eorib", 4,  one(0005074), one(0177777), "#bCs", m68000up },
00331 {"eoriw", 4,  one(0005100), one(0177700), "#w$s", m68000up },
00332 {"eoriw", 4,  one(0005174), one(0177777), "#wSs", m68000up },
00333 {"eoril", 6,  one(0005200), one(0177700), "#l$s", m68000up },
00334 {"eoril", 6,  one(0005200), one(0177700), "#lDs", mcfisa_a },
00335 {"eori", 4,   one(0005074), one(0177777), "#bCs", m68000up },
00336 {"eori", 4,   one(0005174), one(0177777), "#wSs", m68000up },
00337 {"eori", 4,   one(0005100), one(0177700), "#w$s", m68000up },
00338 
00339 /* The eor opcode can generate the eori instruction.  */
00340 {"eorb", 4,   one(0005000), one(0177700), "#b$s", m68000up },
00341 {"eorb", 4,   one(0005074), one(0177777), "#bCs", m68000up },
00342 {"eorb", 2,   one(0130400), one(0170700), "Dd$s", m68000up },
00343 {"eorw", 4,   one(0005100), one(0177700), "#w$s", m68000up },
00344 {"eorw", 4,   one(0005174), one(0177777), "#wSs", m68000up },
00345 {"eorw", 2,   one(0130500), one(0170700), "Dd$s", m68000up },
00346 {"eorl", 6,   one(0005200), one(0177700), "#l$s", m68000up },
00347 {"eorl", 6,   one(0005200), one(0177700), "#lDs", mcfisa_a },
00348 {"eorl", 2,   one(0130600), one(0170700), "Dd$s", m68000up | mcfisa_a },
00349 {"eor", 4,    one(0005074), one(0177777), "#bCs", m68000up },
00350 {"eor", 4,    one(0005174), one(0177777), "#wSs", m68000up },
00351 {"eor", 4,    one(0005100), one(0177700), "#w$s", m68000up },
00352 {"eor", 2,    one(0130500), one(0170700), "Dd$s", m68000up },
00353               
00354 {"exg", 2,    one(0140500), one(0170770), "DdDs", m68000up },
00355 {"exg", 2,    one(0140510), one(0170770), "AdAs", m68000up },
00356 {"exg", 2,    one(0140610), one(0170770), "DdAs", m68000up },
00357 {"exg", 2,    one(0140610), one(0170770), "AsDd", m68000up },
00358 
00359 {"extw", 2,   one(0044200), one(0177770), "Ds", m68000up|mcfisa_a },
00360 {"extl", 2,   one(0044300), one(0177770), "Ds", m68000up|mcfisa_a },
00361 {"extbl", 2,  one(0044700), one(0177770), "Ds", m68020up | cpu32 | fido_a | mcfisa_a },
00362 
00363 {"ff1", 2,    one(0002300), one(0177770), "Ds", mcfisa_aa},
00364 
00365 /* float stuff starts here */
00366 
00367 {"fabsb", 4,  two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00368 {"fabsb", 4,  two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00369 {"fabsd", 4,  two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00370 {"fabsd", 4,  two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt", cfloat },
00371 {"fabsd", 4,  two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00372 {"fabsd", 4,  two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00373 {"fabsl", 4,  two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00374 {"fabsl", 4,  two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00375 {"fabsp", 4,  two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00376 {"fabss", 4,  two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7", cfloat },
00377 {"fabss", 4,  two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00378 {"fabsw", 4,  two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00379 {"fabsw", 4,  two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00380 {"fabsx", 4,  two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00381 {"fabsx", 4,  two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00382 {"fabsx", 4,  two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00383 
00384 {"fsabsb", 4, two(0xF000, 0x5858), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00385 {"fsabsb", 4, two(0xF000, 0x5858), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00386 {"fsabsd", 4, two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00387 {"fsabsd", 4, two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiFt", cfloat },
00388 {"fsabsd", 4, two(0xF000, 0x5458), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00389 {"fsabsd", 4, two(0xF000, 0x5458), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00390 {"fsabsl", 4, two(0xF000, 0x4058), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00391 {"fsabsl", 4, two(0xF000, 0x4058), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00392 {"fsabsp", 4, two(0xF000, 0x4C58), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00393 {"fsabss", 4, two(0xF000, 0x4458), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00394 {"fsabss", 4, two(0xF000, 0x4458), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00395 {"fsabsw", 4, two(0xF000, 0x5058), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00396 {"fsabsw", 4, two(0xF000, 0x5058), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00397 {"fsabsx", 4, two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00398 {"fsabsx", 4, two(0xF000, 0x4858), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00399 {"fsabsx", 4, two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
00400 
00401 {"fdabsb", 4, two(0xF000, 0x585C), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00402 {"fdabsb", 4, two(0xF000, 0x585c), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up},
00403 {"fdabsd", 4, two(0xF000, 0x005C), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00404 {"fdabsd", 4, two(0xF000, 0x005C), two(0xF1C0, 0xE07F), "IiFt", cfloat },
00405 {"fdabsd", 4, two(0xF000, 0x545C), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00406 {"fdabsd", 4, two(0xF000, 0x545c), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up},
00407 {"fdabsl", 4, two(0xF000, 0x405C), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00408 {"fdabsl", 4, two(0xF000, 0x405c), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up},
00409 {"fdabsp", 4, two(0xF000, 0x4C5c), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up},
00410 {"fdabss", 4, two(0xF000, 0x445C), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00411 {"fdabss", 4, two(0xF000, 0x445c), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up},
00412 {"fdabsw", 4, two(0xF000, 0x505C), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00413 {"fdabsw", 4, two(0xF000, 0x505c), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up},
00414 {"fdabsx", 4, two(0xF000, 0x005c), two(0xF1C0, 0xE07F), "IiF8F7", m68040up},
00415 {"fdabsx", 4, two(0xF000, 0x485c), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up},
00416 {"fdabsx", 4, two(0xF000, 0x005c), two(0xF1C0, 0xE07F), "IiFt",   m68040up},
00417 
00418 {"facosb", 4, two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00419 {"facosd", 4, two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00420 {"facosl", 4, two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00421 {"facosp", 4, two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00422 {"facoss", 4, two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00423 {"facosw", 4, two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00424 {"facosx", 4, two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00425 {"facosx", 4, two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00426 {"facosx", 4, two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00427 
00428 {"faddb", 4,  two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00429 {"faddb", 4,  two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00430 {"faddd", 4,  two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00431 {"faddd", 4,  two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00432 {"faddd", 4,  two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00433 {"faddd", 4,  two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00434 {"faddl", 4,  two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00435 {"faddl", 4,  two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00436 {"faddp", 4,  two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00437 {"fadds", 4,  two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00438 {"fadds", 4,  two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00439 {"faddw", 4,  two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00440 {"faddw", 4,  two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00441 {"faddx", 4,  two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00442 {"faddx", 4,  two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00443 
00444 {"fsaddb", 4, two(0xF000, 0x5862), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00445 {"fsaddb", 4, two(0xF000, 0x5862), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00446 {"fsaddd", 4, two(0xF000, 0x0062), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00447 {"fsaddd", 4, two(0xF000, 0x5462), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00448 {"fsaddd", 4, two(0xF000, 0x5462), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00449 {"fsaddl", 4, two(0xF000, 0x4062), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00450 {"fsaddl", 4, two(0xF000, 0x4062), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00451 {"fsaddp", 4, two(0xF000, 0x4C62), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00452 {"fsadds", 4, two(0xF000, 0x4462), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00453 {"fsadds", 4, two(0xF000, 0x4462), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00454 {"fsaddw", 4, two(0xF000, 0x5062), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00455 {"fsaddw", 4, two(0xF000, 0x5062), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00456 {"fsaddx", 4, two(0xF000, 0x0062), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00457 {"fsaddx", 4, two(0xF000, 0x4862), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00458 
00459 {"fdaddb", 4, two(0xF000, 0x5866), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00460 {"fdaddb", 4, two(0xF000, 0x5866), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00461 {"fdaddd", 4, two(0xF000, 0x0066), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00462 {"fdaddd", 4, two(0xF000, 0x5466), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00463 {"fdaddd", 4, two(0xF000, 0x5466), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00464 {"fdaddl", 4, two(0xF000, 0x4066), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00465 {"fdaddl", 4, two(0xF000, 0x4066), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00466 {"fdaddp", 4, two(0xF000, 0x4C66), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00467 {"fdadds", 4, two(0xF000, 0x4466), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00468 {"fdadds", 4, two(0xF000, 0x4466), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00469 {"fdaddw", 4, two(0xF000, 0x5066), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00470 {"fdaddw", 4, two(0xF000, 0x5066), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00471 {"fdaddx", 4, two(0xF000, 0x0066), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00472 {"fdaddx", 4, two(0xF000, 0x4866), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00473 
00474 {"fasinb", 4, two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00475 {"fasind", 4, two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00476 {"fasinl", 4, two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00477 {"fasinp", 4, two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00478 {"fasins", 4, two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00479 {"fasinw", 4, two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00480 {"fasinx", 4, two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00481 {"fasinx", 4, two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00482 {"fasinx", 4, two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00483 
00484 {"fatanb", 4, two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00485 {"fatand", 4, two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00486 {"fatanl", 4, two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00487 {"fatanp", 4, two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00488 {"fatans", 4, two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00489 {"fatanw", 4, two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00490 {"fatanx", 4, two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00491 {"fatanx", 4, two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00492 {"fatanx", 4, two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00493 
00494 {"fatanhb", 4,       two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00495 {"fatanhd", 4,       two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00496 {"fatanhl", 4,       two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00497 {"fatanhp", 4,       two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00498 {"fatanhs", 4,       two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00499 {"fatanhw", 4,       two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00500 {"fatanhx", 4,       two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00501 {"fatanhx", 4,       two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00502 {"fatanhx", 4,       two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00503 
00504 {"fbeq", 2,   one(0xF081),         one(0xF1FF), "IdBW", mfloat | cfloat },
00505 {"fbf", 2,    one(0xF080),         one(0xF1FF), "IdBW", mfloat | cfloat },
00506 {"fbge", 2,   one(0xF093),         one(0xF1FF), "IdBW", mfloat | cfloat },
00507 {"fbgl", 2,   one(0xF096),         one(0xF1FF), "IdBW", mfloat | cfloat },
00508 {"fbgle", 2,  one(0xF097),         one(0xF1FF), "IdBW", mfloat | cfloat },
00509 {"fbgt", 2,   one(0xF092),         one(0xF1FF), "IdBW", mfloat | cfloat },
00510 {"fble", 2,   one(0xF095),         one(0xF1FF), "IdBW", mfloat | cfloat },
00511 {"fblt", 2,   one(0xF094),         one(0xF1FF), "IdBW", mfloat | cfloat },
00512 {"fbne", 2,   one(0xF08E),         one(0xF1FF), "IdBW", mfloat | cfloat },
00513 {"fbnge", 2,  one(0xF09C),         one(0xF1FF), "IdBW", mfloat | cfloat },
00514 {"fbngl", 2,  one(0xF099),         one(0xF1FF), "IdBW", mfloat | cfloat },
00515 {"fbngle", 2, one(0xF098),         one(0xF1FF), "IdBW", mfloat | cfloat },
00516 {"fbngt", 2,  one(0xF09D),         one(0xF1FF), "IdBW", mfloat | cfloat },
00517 {"fbnle", 2,  one(0xF09A),         one(0xF1FF), "IdBW", mfloat | cfloat },
00518 {"fbnlt", 2,  one(0xF09B),         one(0xF1FF), "IdBW", mfloat | cfloat },
00519 {"fboge", 2,  one(0xF083),         one(0xF1FF), "IdBW", mfloat | cfloat },
00520 {"fbogl", 2,  one(0xF086),         one(0xF1FF), "IdBW", mfloat | cfloat },
00521 {"fbogt", 2,  one(0xF082),         one(0xF1FF), "IdBW", mfloat | cfloat },
00522 {"fbole", 2,  one(0xF085),         one(0xF1FF), "IdBW", mfloat | cfloat },
00523 {"fbolt", 2,  one(0xF084),         one(0xF1FF), "IdBW", mfloat | cfloat },
00524 {"fbor", 2,   one(0xF087),         one(0xF1FF), "IdBW", mfloat | cfloat },
00525 {"fbseq", 2,  one(0xF091),         one(0xF1FF), "IdBW", mfloat | cfloat },
00526 {"fbsf", 2,   one(0xF090),         one(0xF1FF), "IdBW", mfloat | cfloat },
00527 {"fbsne", 2,  one(0xF09E),         one(0xF1FF), "IdBW", mfloat | cfloat },
00528 {"fbst", 2,   one(0xF09F),         one(0xF1FF), "IdBW", mfloat | cfloat },
00529 {"fbt", 2,    one(0xF08F),         one(0xF1FF), "IdBW", mfloat | cfloat },
00530 {"fbueq", 2,  one(0xF089),         one(0xF1FF), "IdBW", mfloat | cfloat },
00531 {"fbuge", 2,  one(0xF08B),         one(0xF1FF), "IdBW", mfloat | cfloat },
00532 {"fbugt", 2,  one(0xF08A),         one(0xF1FF), "IdBW", mfloat | cfloat },
00533 {"fbule", 2,  one(0xF08D),         one(0xF1FF), "IdBW", mfloat | cfloat },
00534 {"fbult", 2,  one(0xF08C),         one(0xF1FF), "IdBW", mfloat | cfloat },
00535 {"fbun", 2,   one(0xF088),         one(0xF1FF), "IdBW", mfloat | cfloat },
00536 
00537 {"fbeql", 2,  one(0xF0C1),         one(0xF1FF), "IdBC", mfloat | cfloat },
00538 {"fbfl", 2,   one(0xF0C0),         one(0xF1FF), "IdBC", mfloat | cfloat },
00539 {"fbgel", 2,  one(0xF0D3),         one(0xF1FF), "IdBC", mfloat | cfloat },
00540 {"fbgll", 2,  one(0xF0D6),         one(0xF1FF), "IdBC", mfloat | cfloat },
00541 {"fbglel", 2, one(0xF0D7),         one(0xF1FF), "IdBC", mfloat | cfloat },
00542 {"fbgtl", 2,  one(0xF0D2),         one(0xF1FF), "IdBC", mfloat | cfloat },
00543 {"fblel", 2,  one(0xF0D5),         one(0xF1FF), "IdBC", mfloat | cfloat },
00544 {"fbltl", 2,  one(0xF0D4),         one(0xF1FF), "IdBC", mfloat | cfloat },
00545 {"fbnel", 2,  one(0xF0CE),         one(0xF1FF), "IdBC", mfloat | cfloat },
00546 {"fbngel", 2, one(0xF0DC),         one(0xF1FF), "IdBC", mfloat | cfloat },
00547 {"fbngll", 2, one(0xF0D9),         one(0xF1FF), "IdBC", mfloat | cfloat },
00548 {"fbnglel", 2,       one(0xF0D8),         one(0xF1FF), "IdBC", mfloat | cfloat },
00549 {"fbngtl", 2, one(0xF0DD),         one(0xF1FF), "IdBC", mfloat | cfloat },
00550 {"fbnlel", 2, one(0xF0DA),         one(0xF1FF), "IdBC", mfloat | cfloat },
00551 {"fbnltl", 2, one(0xF0DB),         one(0xF1FF), "IdBC", mfloat | cfloat },
00552 {"fbogel", 2, one(0xF0C3),         one(0xF1FF), "IdBC", mfloat | cfloat },
00553 {"fbogll", 2, one(0xF0C6),         one(0xF1FF), "IdBC", mfloat | cfloat },
00554 {"fbogtl", 2, one(0xF0C2),         one(0xF1FF), "IdBC", mfloat | cfloat },
00555 {"fbolel", 2, one(0xF0C5),         one(0xF1FF), "IdBC", mfloat | cfloat },
00556 {"fboltl", 2, one(0xF0C4),         one(0xF1FF), "IdBC", mfloat | cfloat },
00557 {"fborl", 2,  one(0xF0C7),         one(0xF1FF), "IdBC", mfloat | cfloat },
00558 {"fbseql", 2, one(0xF0D1),         one(0xF1FF), "IdBC", mfloat | cfloat },
00559 {"fbsfl", 2,  one(0xF0D0),         one(0xF1FF), "IdBC", mfloat | cfloat },
00560 {"fbsnel", 2, one(0xF0DE),         one(0xF1FF), "IdBC", mfloat | cfloat },
00561 {"fbstl", 2,  one(0xF0DF),         one(0xF1FF), "IdBC", mfloat | cfloat },
00562 {"fbtl", 2,   one(0xF0CF),         one(0xF1FF), "IdBC", mfloat | cfloat },
00563 {"fbueql", 2, one(0xF0C9),         one(0xF1FF), "IdBC", mfloat | cfloat },
00564 {"fbugel", 2, one(0xF0CB),         one(0xF1FF), "IdBC", mfloat | cfloat },
00565 {"fbugtl", 2, one(0xF0CA),         one(0xF1FF), "IdBC", mfloat | cfloat },
00566 {"fbulel", 2, one(0xF0CD),         one(0xF1FF), "IdBC", mfloat | cfloat },
00567 {"fbultl", 2, one(0xF0CC),         one(0xF1FF), "IdBC", mfloat | cfloat },
00568 {"fbunl", 2,  one(0xF0C8),         one(0xF1FF), "IdBC", mfloat | cfloat },
00569 
00570 {"fjeq", 2,   one(0xF081),         one(0xF1BF), "IdBc", mfloat | cfloat },
00571 {"fjf", 2,    one(0xF080),         one(0xF1BF), "IdBc", mfloat | cfloat },
00572 {"fjge", 2,   one(0xF093),         one(0xF1BF), "IdBc", mfloat | cfloat },
00573 {"fjgl", 2,   one(0xF096),         one(0xF1BF), "IdBc", mfloat | cfloat },
00574 {"fjgle", 2,  one(0xF097),         one(0xF1BF), "IdBc", mfloat | cfloat },
00575 {"fjgt", 2,   one(0xF092),         one(0xF1BF), "IdBc", mfloat | cfloat },
00576 {"fjle", 2,   one(0xF095),         one(0xF1BF), "IdBc", mfloat | cfloat },
00577 {"fjlt", 2,   one(0xF094),         one(0xF1BF), "IdBc", mfloat | cfloat },
00578 {"fjne", 2,   one(0xF08E),         one(0xF1BF), "IdBc", mfloat | cfloat },
00579 {"fjnge", 2,  one(0xF09C),         one(0xF1BF), "IdBc", mfloat | cfloat },
00580 {"fjngl", 2,  one(0xF099),         one(0xF1BF), "IdBc", mfloat | cfloat },
00581 {"fjngle", 2, one(0xF098),         one(0xF1BF), "IdBc", mfloat | cfloat },
00582 {"fjngt", 2,  one(0xF09D),         one(0xF1BF), "IdBc", mfloat | cfloat },
00583 {"fjnle", 2,  one(0xF09A),         one(0xF1BF), "IdBc", mfloat | cfloat },
00584 {"fjnlt", 2,  one(0xF09B),         one(0xF1BF), "IdBc", mfloat | cfloat },
00585 {"fjoge", 2,  one(0xF083),         one(0xF1BF), "IdBc", mfloat | cfloat },
00586 {"fjogl", 2,  one(0xF086),         one(0xF1BF), "IdBc", mfloat | cfloat },
00587 {"fjogt", 2,  one(0xF082),         one(0xF1BF), "IdBc", mfloat | cfloat },
00588 {"fjole", 2,  one(0xF085),         one(0xF1BF), "IdBc", mfloat | cfloat },
00589 {"fjolt", 2,  one(0xF084),         one(0xF1BF), "IdBc", mfloat | cfloat },
00590 {"fjor", 2,   one(0xF087),         one(0xF1BF), "IdBc", mfloat | cfloat },
00591 {"fjseq", 2,  one(0xF091),         one(0xF1BF), "IdBc", mfloat | cfloat },
00592 {"fjsf", 2,   one(0xF090),         one(0xF1BF), "IdBc", mfloat | cfloat },
00593 {"fjsne", 2,  one(0xF09E),         one(0xF1BF), "IdBc", mfloat | cfloat },
00594 {"fjst", 2,   one(0xF09F),         one(0xF1BF), "IdBc", mfloat | cfloat },
00595 {"fjt", 2,    one(0xF08F),         one(0xF1BF), "IdBc", mfloat | cfloat },
00596 {"fjueq", 2,  one(0xF089),         one(0xF1BF), "IdBc", mfloat | cfloat },
00597 {"fjuge", 2,  one(0xF08B),         one(0xF1BF), "IdBc", mfloat | cfloat },
00598 {"fjugt", 2,  one(0xF08A),         one(0xF1BF), "IdBc", mfloat | cfloat },
00599 {"fjule", 2,  one(0xF08D),         one(0xF1BF), "IdBc", mfloat | cfloat },
00600 {"fjult", 2,  one(0xF08C),         one(0xF1BF), "IdBc", mfloat | cfloat },
00601 {"fjun", 2,   one(0xF088),         one(0xF1BF), "IdBc", mfloat | cfloat },
00602 
00603 {"fcmpb", 4,  two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00604 {"fcmpb", 4,  two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00605 {"fcmpd", 4,  two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00606 {"fcmpd", 4,  two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00607 {"fcmpd", 4,  two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00608 {"fcmpl", 4,  two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00609 {"fcmpl", 4,  two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00610 {"fcmpp", 4,  two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00611 {"fcmps", 4,  two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00612 {"fcmps", 4,  two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00613 {"fcmpw", 4,  two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00614 {"fcmpw", 4,  two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00615 {"fcmpx", 4,  two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00616 {"fcmpx", 4,  two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00617 
00618 {"fcosb", 4,  two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00619 {"fcosd", 4,  two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00620 {"fcosl", 4,  two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00621 {"fcosp", 4,  two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00622 {"fcoss", 4,  two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00623 {"fcosw", 4,  two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00624 {"fcosx", 4,  two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00625 {"fcosx", 4,  two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00626 {"fcosx", 4,  two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00627 
00628 {"fcoshb", 4, two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00629 {"fcoshd", 4, two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00630 {"fcoshl", 4, two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00631 {"fcoshp", 4, two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00632 {"fcoshs", 4, two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00633 {"fcoshw", 4, two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00634 {"fcoshx", 4, two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00635 {"fcoshx", 4, two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00636 {"fcoshx", 4, two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00637 
00638 {"fdbeq", 4,  two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00639 {"fdbf", 4,   two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00640 {"fdbge", 4,  two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00641 {"fdbgl", 4,  two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00642 {"fdbgle", 4, two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00643 {"fdbgt", 4,  two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00644 {"fdble", 4,  two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00645 {"fdblt", 4,  two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00646 {"fdbne", 4,  two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00647 {"fdbnge", 4, two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00648 {"fdbngl", 4, two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00649 {"fdbngle", 4,       two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00650 {"fdbngt", 4, two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00651 {"fdbnle", 4, two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00652 {"fdbnlt", 4, two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00653 {"fdboge", 4, two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00654 {"fdbogl", 4, two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00655 {"fdbogt", 4, two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00656 {"fdbole", 4, two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00657 {"fdbolt", 4, two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00658 {"fdbor", 4,  two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00659 {"fdbseq", 4, two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00660 {"fdbsf", 4,  two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00661 {"fdbsne", 4, two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00662 {"fdbst", 4,  two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00663 {"fdbt", 4,   two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00664 {"fdbueq", 4, two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00665 {"fdbuge", 4, two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00666 {"fdbugt", 4, two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00667 {"fdbule", 4, two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00668 {"fdbult", 4, two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00669 {"fdbun", 4,  two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat },
00670 
00671 {"fdivb", 4,  two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00672 {"fdivb", 4,  two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00673 {"fdivd", 4,  two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00674 {"fdivd", 4,  two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00675 {"fdivd", 4,  two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00676 {"fdivl", 4,  two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00677 {"fdivl", 4,  two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00678 {"fdivp", 4,  two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00679 {"fdivs", 4,  two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00680 {"fdivs", 4,  two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00681 {"fdivw", 4,  two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00682 {"fdivw", 4,  two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00683 {"fdivx", 4,  two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00684 {"fdivx", 4,  two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00685 
00686 {"fsdivb", 4, two(0xF000, 0x5860), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00687 {"fsdivb", 4, two(0xF000, 0x5860), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00688 {"fsdivd", 4, two(0xF000, 0x0060), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00689 {"fsdivd", 4, two(0xF000, 0x5460), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00690 {"fsdivd", 4, two(0xF000, 0x5460), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00691 {"fsdivl", 4, two(0xF000, 0x4060), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00692 {"fsdivl", 4, two(0xF000, 0x4060), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00693 {"fsdivp", 4, two(0xF000, 0x4C60), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00694 {"fsdivs", 4, two(0xF000, 0x4460), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00695 {"fsdivs", 4, two(0xF000, 0x4460), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00696 {"fsdivw", 4, two(0xF000, 0x5060), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00697 {"fsdivw", 4, two(0xF000, 0x5060), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00698 {"fsdivx", 4, two(0xF000, 0x0060), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00699 {"fsdivx", 4, two(0xF000, 0x4860), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00700 
00701 {"fddivb", 4, two(0xF000, 0x5864), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00702 {"fddivb", 4, two(0xF000, 0x5864), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00703 {"fddivd", 4, two(0xF000, 0x0064), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00704 {"fddivd", 4, two(0xF000, 0x5464), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00705 {"fddivd", 4, two(0xF000, 0x5464), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00706 {"fddivl", 4, two(0xF000, 0x4064), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00707 {"fddivl", 4, two(0xF000, 0x4064), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00708 {"fddivp", 4, two(0xF000, 0x4C64), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00709 {"fddivs", 4, two(0xF000, 0x4464), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00710 {"fddivs", 4, two(0xF000, 0x4464), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00711 {"fddivw", 4, two(0xF000, 0x5064), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00712 {"fddivw", 4, two(0xF000, 0x5064), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00713 {"fddivx", 4, two(0xF000, 0x0064), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00714 {"fddivx", 4, two(0xF000, 0x4864), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00715 
00716 {"fetoxb", 4, two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00717 {"fetoxd", 4, two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00718 {"fetoxl", 4, two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00719 {"fetoxp", 4, two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00720 {"fetoxs", 4, two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00721 {"fetoxw", 4, two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00722 {"fetoxx", 4, two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00723 {"fetoxx", 4, two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00724 {"fetoxx", 4, two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00725 
00726 {"fetoxm1b", 4,      two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00727 {"fetoxm1d", 4,      two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00728 {"fetoxm1l", 4,      two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00729 {"fetoxm1p", 4,      two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00730 {"fetoxm1s", 4,      two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00731 {"fetoxm1w", 4,      two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00732 {"fetoxm1x", 4,      two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00733 {"fetoxm1x", 4,      two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00734 {"fetoxm1x", 4,      two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00735 
00736 {"fgetexpb", 4,      two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00737 {"fgetexpd", 4,      two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00738 {"fgetexpl", 4,      two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00739 {"fgetexpp", 4,      two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00740 {"fgetexps", 4,      two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00741 {"fgetexpw", 4,      two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00742 {"fgetexpx", 4,      two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00743 {"fgetexpx", 4,      two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00744 {"fgetexpx", 4,      two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00745 
00746 {"fgetmanb", 4,      two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00747 {"fgetmand", 4,      two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00748 {"fgetmanl", 4,      two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00749 {"fgetmanp", 4,      two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00750 {"fgetmans", 4,      two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00751 {"fgetmanw", 4,      two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00752 {"fgetmanx", 4,      two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00753 {"fgetmanx", 4,      two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00754 {"fgetmanx", 4,      two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00755 
00756 {"fintb", 4,  two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00757 {"fintb", 4,  two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00758 {"fintd", 4,  two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00759 {"fintd", 4,  two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt", cfloat },
00760 {"fintd", 4,  two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00761 {"fintd", 4,  two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00762 {"fintl", 4,  two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00763 {"fintl", 4,  two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00764 {"fintp", 4,  two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00765 {"fints", 4,  two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00766 {"fints", 4,  two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00767 {"fintw", 4,  two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00768 {"fintw", 4,  two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00769 {"fintx", 4,  two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00770 {"fintx", 4,  two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00771 {"fintx", 4,  two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00772 
00773 {"fintrzb", 4,       two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00774 {"fintrzb", 4,       two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00775 {"fintrzd", 4,       two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00776 {"fintrzd", 4,       two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
00777 {"fintrzd", 4,       two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00778 {"fintrzd", 4,       two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00779 {"fintrzl", 4,       two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00780 {"fintrzl", 4,       two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00781 {"fintrzp", 4,       two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00782 {"fintrzs", 4,       two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00783 {"fintrzs", 4,       two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00784 {"fintrzw", 4,       two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00785 {"fintrzw", 4,       two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00786 {"fintrzx", 4,       two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00787 {"fintrzx", 4,       two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00788 {"fintrzx", 4,       two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00789 
00790 {"flog10b", 4,       two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00791 {"flog10d", 4,       two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00792 {"flog10l", 4,       two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00793 {"flog10p", 4,       two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00794 {"flog10s", 4,       two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00795 {"flog10w", 4,       two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00796 {"flog10x", 4,       two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00797 {"flog10x", 4,       two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00798 {"flog10x", 4,       two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00799 
00800 {"flog2b", 4, two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00801 {"flog2d", 4, two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00802 {"flog2l", 4, two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00803 {"flog2p", 4, two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00804 {"flog2s", 4, two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00805 {"flog2w", 4, two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00806 {"flog2x", 4, two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00807 {"flog2x", 4, two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00808 {"flog2x", 4, two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00809 
00810 {"flognb", 4, two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00811 {"flognd", 4, two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00812 {"flognl", 4, two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00813 {"flognp", 4, two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00814 {"flogns", 4, two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00815 {"flognw", 4, two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00816 {"flognx", 4, two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00817 {"flognx", 4, two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00818 {"flognx", 4, two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00819 
00820 {"flognp1b", 4,      two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00821 {"flognp1d", 4,      two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00822 {"flognp1l", 4,      two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00823 {"flognp1p", 4,      two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00824 {"flognp1s", 4,      two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00825 {"flognp1w", 4,      two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00826 {"flognp1x", 4,      two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00827 {"flognp1x", 4,      two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00828 {"flognp1x", 4,      two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
00829 
00830 {"fmodb", 4,  two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00831 {"fmodd", 4,  two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00832 {"fmodl", 4,  two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00833 {"fmodp", 4,  two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00834 {"fmods", 4,  two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00835 {"fmodw", 4,  two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00836 {"fmodx", 4,  two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00837 {"fmodx", 4,  two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00838 
00839 {"fmoveb", 4, two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00840 {"fmoveb", 4, two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7bs", cfloat },
00841 {"fmoveb", 4, two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00842 {"fmoveb", 4, two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7$b", mfloat },
00843 {"fmoved", 4, two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00844 {"fmoved", 4, two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7~F", mfloat },
00845 {"fmoved", 4, two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00846 {"fmoved", 4, two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00847 {"fmoved", 4, two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7ws", cfloat },
00848 {"fmovel", 4, two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00849 {"fmovel", 4, two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7$l", mfloat },
00850 /* FIXME: the next two variants should not permit moving an address
00851    register to anything but the floating point instruction register.  */
00852 {"fmovel", 4, two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8%s", mfloat },
00853 {"fmovel", 4, two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8", mfloat },
00854 {"fmovel", 4, two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00855 {"fmovel", 4, two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7bs", cfloat },
00856   /* Move the FP control registers.  */
00857 {"fmovel", 4, two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8ps", cfloat },
00858 {"fmovel", 4, two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Iibss8", cfloat },
00859 {"fmovep", 4, two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00860 {"fmovep", 4, two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7~pkC", mfloat },
00861 {"fmovep", 4, two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7~pDk", mfloat },
00862 {"fmoves", 4, two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00863 {"fmoves", 4, two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7$f", mfloat },
00864 {"fmoves", 4, two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00865 {"fmoves", 4, two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00866 {"fmovew", 4, two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00867 {"fmovew", 4, two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7$w", mfloat },
00868 {"fmovew", 4, two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00869 {"fmovew", 4, two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00870 {"fmovex", 4, two(0xF000, 0x0000), two(0xF1FF, 0xE07F), "IiF8F7", mfloat },
00871 {"fmovex", 4, two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00872 {"fmovex", 4, two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7~x", mfloat },
00873 
00874 {"fsmoveb", 4,       two(0xF000, 0x5840), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00875 {"fsmoveb", 4,       two(0xF000, 0x5840), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00876 {"fsmoveb", 4,       two(0xF000, 0x7840), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00877 {"fsmoved", 4,       two(0xF000, 0x0040), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00878 {"fsmoved", 4,       two(0xF000, 0x5440), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00879 {"fsmoved", 4,       two(0xF000, 0x5440), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00880 {"fsmoved", 4,       two(0xF000, 0x7440), two(0xF1C0, 0xFC7F), "IiF7ws", cfloat },
00881 {"fsmovel", 4,       two(0xF000, 0x4040), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00882 {"fsmovel", 4,       two(0xF000, 0x4040), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00883 {"fsmovel", 4,       two(0xF000, 0x6040), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00884 {"fsmoves", 4,       two(0xF000, 0x4440), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00885 {"fsmoves", 4,       two(0xF000, 0x4440), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00886 {"fsmoves", 4,       two(0xF000, 0x6440), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00887 {"fsmovew", 4,       two(0xF000, 0x5040), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00888 {"fsmovew", 4,       two(0xF000, 0x5040), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00889 {"fsmovew", 4,       two(0xF000, 0x7040), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00890 {"fsmovex", 4,       two(0xF000, 0x0040), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00891 {"fsmovex", 4,       two(0xF000, 0x4840), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00892 {"fsmovep", 4,       two(0xF000, 0x4C40), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00893 
00894 {"fdmoveb", 4,       two(0xF000, 0x5844), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00895 {"fdmoveb", 4,       two(0xF000, 0x5844), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00896 {"fdmoveb", 4,       two(0xF000, 0x7844), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00897 {"fdmoved", 4,       two(0xF000, 0x0044), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00898 {"fdmoved", 4,       two(0xF000, 0x5444), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00899 {"fdmoved", 4,       two(0xF000, 0x5444), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00900 {"fdmoved", 4,       two(0xF000, 0x7444), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00901 {"fdmovel", 4,       two(0xF000, 0x4044), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00902 {"fdmovel", 4,       two(0xF000, 0x4044), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00903 {"fdmovel", 4,       two(0xF000, 0x6044), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00904 {"fdmoves", 4,       two(0xF000, 0x4444), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00905 {"fdmoves", 4,       two(0xF000, 0x4444), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00906 {"fdmoves", 4,       two(0xF000, 0x6444), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00907 {"fdmovew", 4,       two(0xF000, 0x5044), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00908 {"fdmovew", 4,       two(0xF000, 0x5044), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00909 {"fdmovew", 4,       two(0xF000, 0x7044), two(0xF1C0, 0xFC7F), "IiF7qs", cfloat },
00910 {"fdmovex", 4,       two(0xF000, 0x0044), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00911 {"fdmovex", 4,       two(0xF000, 0x4844), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00912 {"fdmovep", 4,       two(0xF000, 0x4C44), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00913 
00914 {"fmovecrx", 4,      two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7", mfloat },
00915 
00916 {"fmovemd", 4,       two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Iizsl3", cfloat },
00917 {"fmovemd", 4,       two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Iizs#3", cfloat },
00918 {"fmovemd", 4,       two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Iil3ys", cfloat },
00919 {"fmovemd", 4,       two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Ii#3ys", cfloat },
00920 
00921 {"fmovemx", 4,       two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s", mfloat },
00922 {"fmovemx", 4,       two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s", mfloat },
00923 {"fmovemx", 4,       two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk", mfloat },
00924 {"fmovemx", 4,       two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk", mfloat },
00925 {"fmovemx", 4,       two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat },
00926 {"fmovemx", 4,       two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s", mfloat },
00927 {"fmovemx", 4,       two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3", mfloat },
00928 {"fmovemx", 4,       two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3", mfloat },
00929 {"fmovemx", 4,       two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat },
00930 {"fmovemx", 4,       two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s", mfloat },
00931 {"fmovemx", 4,       two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat },
00932 {"fmovemx", 4,       two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat },
00933 
00934 {"fmoveml", 4,       two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8%s", mfloat },
00935 {"fmoveml", 4,       two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8~s", mfloat },
00936 /* FIXME: In the next instruction, we should only permit %dn if the
00937    target is a single register.  We should only permit %an if the
00938    target is a single %fpiar.  */
00939 {"fmoveml", 4,       two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*lL8", mfloat },
00940 
00941 {"fmovem", 4, two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Iizsl3", cfloat },
00942 {"fmovem", 4, two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Iizs#3", cfloat },
00943 {"fmovem", 4, two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Iil3ys", cfloat },
00944 {"fmovem", 4, two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Ii#3ys", cfloat },
00945 
00946 {"fmovem", 4, two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat },
00947 {"fmovem", 4, two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat },
00948 {"fmovem", 4, two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat },
00949 {"fmovem", 4, two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3", mfloat },
00950 {"fmovem", 4, two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s", mfloat },
00951 {"fmovem", 4, two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s", mfloat },
00952 {"fmovem", 4, two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s", mfloat },
00953 {"fmovem", 4, two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s", mfloat },
00954 {"fmovem", 4, two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat },
00955 {"fmovem", 4, two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk", mfloat },
00956 {"fmovem", 4, two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3", mfloat },
00957 {"fmovem", 4, two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk", mfloat },
00958 {"fmovem", 4, two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8%s", mfloat },
00959 {"fmovem", 4, two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8", mfloat },
00960 {"fmovem", 4, two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8~s", mfloat },
00961 {"fmovem", 4, two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8", mfloat },
00962 
00963 {"fmulb", 4,  two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
00964 {"fmulb", 4,  two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00965 {"fmuld", 4,  two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00966 {"fmuld", 4,  two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
00967 {"fmuld", 4,  two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00968 {"fmull", 4,  two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
00969 {"fmull", 4,  two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00970 {"fmulp", 4,  two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
00971 {"fmuls", 4,  two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
00972 {"fmuls", 4,  two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00973 {"fmulw", 4,  two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
00974 {"fmulw", 4,  two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00975 {"fmulx", 4,  two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
00976 {"fmulx", 4,  two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
00977 
00978 {"fsmulb", 4, two(0xF000, 0x5863), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00979 {"fsmulb", 4, two(0xF000, 0x5863), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00980 {"fsmuld", 4, two(0xF000, 0x0063), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00981 {"fsmuld", 4, two(0xF000, 0x5463), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00982 {"fsmuld", 4, two(0xF000, 0x5463), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00983 {"fsmull", 4, two(0xF000, 0x4063), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00984 {"fsmull", 4, two(0xF000, 0x4063), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00985 {"fsmulp", 4, two(0xF000, 0x4C63), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
00986 {"fsmuls", 4, two(0xF000, 0x4463), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
00987 {"fsmuls", 4, two(0xF000, 0x4463), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00988 {"fsmulw", 4, two(0xF000, 0x5063), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
00989 {"fsmulw", 4, two(0xF000, 0x5063), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00990 {"fsmulx", 4, two(0xF000, 0x0063), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
00991 {"fsmulx", 4, two(0xF000, 0x4863), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
00992 
00993 {"fdmulb", 4, two(0xF000, 0x5867), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
00994 {"fdmulb", 4, two(0xF000, 0x5867), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
00995 {"fdmuld", 4, two(0xF000, 0x0067), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
00996 {"fdmuld", 4, two(0xF000, 0x5467), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
00997 {"fdmuld", 4, two(0xF000, 0x5467), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
00998 {"fdmull", 4, two(0xF000, 0x4067), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
00999 {"fdmull", 4, two(0xF000, 0x4067), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01000 {"fdmulp", 4, two(0xF000, 0x4C67), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01001 {"fdmuls", 4, two(0xF000, 0x4467), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01002 {"fdmuls", 4, two(0xF000, 0x4467), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01003 {"fdmulw", 4, two(0xF000, 0x5067), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01004 {"fdmulw", 4, two(0xF000, 0x5067), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01005 {"fdmulx", 4, two(0xF000, 0x0067), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01006 {"fdmulx", 4, two(0xF000, 0x4867), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01007 
01008 {"fnegb", 4,  two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01009 {"fnegb", 4,  two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01010 {"fnegd", 4,  two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01011 {"fnegd", 4,  two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
01012 {"fnegd", 4,  two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01013 {"fnegd", 4,  two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01014 {"fnegl", 4,  two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01015 {"fnegl", 4,  two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01016 {"fnegp", 4,  two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01017 {"fnegs", 4,  two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01018 {"fnegs", 4,  two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01019 {"fnegw", 4,  two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01020 {"fnegw", 4,  two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01021 {"fnegx", 4,  two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01022 {"fnegx", 4,  two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01023 {"fnegx", 4,  two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01024 
01025 {"fsnegb", 4, two(0xF000, 0x585A), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
01026 {"fsnegb", 4, two(0xF000, 0x585A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01027 {"fsnegd", 4, two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01028 {"fsnegd", 4, two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
01029 {"fsnegd", 4, two(0xF000, 0x545A), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
01030 {"fsnegd", 4, two(0xF000, 0x545A), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01031 {"fsnegl", 4, two(0xF000, 0x405A), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
01032 {"fsnegl", 4, two(0xF000, 0x405A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01033 {"fsnegp", 4, two(0xF000, 0x4C5A), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01034 {"fsnegs", 4, two(0xF000, 0x445A), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01035 {"fsnegs", 4, two(0xF000, 0x445A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01036 {"fsnegw", 4, two(0xF000, 0x505A), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01037 {"fsnegw", 4, two(0xF000, 0x505A), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01038 {"fsnegx", 4, two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01039 {"fsnegx", 4, two(0xF000, 0x485A), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01040 {"fsnegx", 4, two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
01041 
01042 {"fdnegb", 4, two(0xF000, 0x585E), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
01043 {"fdnegb", 4, two(0xF000, 0x585E), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01044 {"fdnegd", 4, two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01045 {"fdnegd", 4, two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
01046 {"fdnegd", 4, two(0xF000, 0x545E), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
01047 {"fdnegd", 4, two(0xF000, 0x545E), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01048 {"fdnegl", 4, two(0xF000, 0x405E), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
01049 {"fdnegl", 4, two(0xF000, 0x405E), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01050 {"fdnegp", 4, two(0xF000, 0x4C5E), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01051 {"fdnegs", 4, two(0xF000, 0x445E), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01052 {"fdnegs", 4, two(0xF000, 0x445E), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01053 {"fdnegw", 4, two(0xF000, 0x505E), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01054 {"fdnegw", 4, two(0xF000, 0x505E), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01055 {"fdnegx", 4, two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01056 {"fdnegx", 4, two(0xF000, 0x485E), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01057 {"fdnegx", 4, two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
01058 
01059 {"fnop", 4,   two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii", mfloat | cfloat },
01060 
01061 {"fremb", 4,  two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01062 {"fremd", 4,  two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01063 {"freml", 4,  two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01064 {"fremp", 4,  two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01065 {"frems", 4,  two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01066 {"fremw", 4,  two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01067 {"fremx", 4,  two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01068 {"fremx", 4,  two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01069 
01070 {"frestore", 2,      one(0xF140),         one(0xF1C0), "Id<s", mfloat },
01071 {"frestore", 2,      one(0xF140),         one(0xF1C0), "Idys", cfloat },
01072 
01073 {"fsave", 2,  one(0xF100),         one(0xF1C0), "Id>s", mfloat },
01074 {"fsave", 2,  one(0xF100),         one(0xF1C0), "Idzs", cfloat },
01075 
01076 {"fscaleb", 4,       two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01077 {"fscaled", 4,       two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01078 {"fscalel", 4,       two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01079 {"fscalep", 4,       two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01080 {"fscales", 4,       two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01081 {"fscalew", 4,       two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01082 {"fscalex", 4,       two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01083 {"fscalex", 4,       two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01084 
01085 /* $ is necessary to prevent the assembler from using PC-relative.
01086    If @ were used, "label: fseq label" could produce "ftrapeq", 2,
01087    because "label" became "pc@label".  */
01088 {"fseq", 4,   two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01089 {"fsf", 4,    two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01090 {"fsge", 4,   two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01091 {"fsgl", 4,   two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01092 {"fsgle", 4,  two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01093 {"fsgt", 4,   two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01094 {"fsle", 4,   two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01095 {"fslt", 4,   two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01096 {"fsne", 4,   two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01097 {"fsnge", 4,  two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01098 {"fsngl", 4,  two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01099 {"fsngle", 4, two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01100 {"fsngt", 4,  two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01101 {"fsnle", 4,  two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01102 {"fsnlt", 4,  two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01103 {"fsoge", 4,  two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01104 {"fsogl", 4,  two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01105 {"fsogt", 4,  two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01106 {"fsole", 4,  two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01107 {"fsolt", 4,  two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01108 {"fsor", 4,   two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01109 {"fsseq", 4,  two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01110 {"fssf", 4,   two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01111 {"fssne", 4,  two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01112 {"fsst", 4,   two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01113 {"fst", 4,    two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01114 {"fsueq", 4,  two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01115 {"fsuge", 4,  two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01116 {"fsugt", 4,  two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01117 {"fsule", 4,  two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01118 {"fsult", 4,  two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01119 {"fsun", 4,   two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii$s", mfloat },
01120 
01121 {"fsgldivb", 4,      two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01122 {"fsgldivd", 4,      two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01123 {"fsgldivl", 4,      two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01124 {"fsgldivp", 4,      two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01125 {"fsgldivs", 4,      two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01126 {"fsgldivw", 4,      two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01127 {"fsgldivx", 4,      two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01128 {"fsgldivx", 4,      two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01129 {"fsgldivx", 4,      two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01130 
01131 {"fsglmulb", 4,      two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01132 {"fsglmuld", 4,      two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01133 {"fsglmull", 4,      two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01134 {"fsglmulp", 4,      two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01135 {"fsglmuls", 4,      two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01136 {"fsglmulw", 4,      two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01137 {"fsglmulx", 4,      two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01138 {"fsglmulx", 4,      two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01139 {"fsglmulx", 4,      two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01140 
01141 {"fsinb", 4,  two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01142 {"fsind", 4,  two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01143 {"fsinl", 4,  two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01144 {"fsinp", 4,  two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01145 {"fsins", 4,  two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01146 {"fsinw", 4,  two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01147 {"fsinx", 4,  two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01148 {"fsinx", 4,  two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01149 {"fsinx", 4,  two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01150 
01151 {"fsincosb", 4,      two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bF3F7", mfloat },
01152 {"fsincosd", 4,      two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FF3F7", mfloat },
01153 {"fsincosl", 4,      two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lF3F7", mfloat },
01154 {"fsincosp", 4,      two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pF3F7", mfloat },
01155 {"fsincoss", 4,      two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fF3F7", mfloat },
01156 {"fsincosw", 4,      two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wF3F7", mfloat },
01157 {"fsincosx", 4,      two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8F3F7", mfloat },
01158 {"fsincosx", 4,      two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xF3F7", mfloat },
01159 
01160 {"fsinhb", 4, two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01161 {"fsinhd", 4, two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01162 {"fsinhl", 4, two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01163 {"fsinhp", 4, two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01164 {"fsinhs", 4, two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01165 {"fsinhw", 4, two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01166 {"fsinhx", 4, two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01167 {"fsinhx", 4, two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01168 {"fsinhx", 4, two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01169 
01170 {"fsqrtb", 4, two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01171 {"fsqrtb", 4, two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01172 {"fsqrtd", 4, two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01173 {"fsqrtd", 4, two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
01174 {"fsqrtd", 4, two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01175 {"fsqrtd", 4, two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01176 {"fsqrtl", 4, two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01177 {"fsqrtl", 4, two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01178 {"fsqrtp", 4, two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01179 {"fsqrts", 4, two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01180 {"fsqrts", 4, two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01181 {"fsqrtw", 4, two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01182 {"fsqrtw", 4, two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01183 {"fsqrtx", 4, two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01184 {"fsqrtx", 4, two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01185 {"fsqrtx", 4, two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01186 
01187 {"fssqrtb", 4,       two(0xF000, 0x5841), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
01188 {"fssqrtb", 4,       two(0xF000, 0x5841), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01189 {"fssqrtd", 4,       two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01190 {"fssqrtd", 4,       two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
01191 {"fssqrtd", 4,       two(0xF000, 0x5441), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
01192 {"fssqrtd", 4,       two(0xF000, 0x5441), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01193 {"fssqrtl", 4,       two(0xF000, 0x4041), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
01194 {"fssqrtl", 4,       two(0xF000, 0x4041), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01195 {"fssqrtp", 4,       two(0xF000, 0x4C41), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01196 {"fssqrts", 4,       two(0xF000, 0x4441), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01197 {"fssqrts", 4,       two(0xF000, 0x4441), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01198 {"fssqrtw", 4,       two(0xF000, 0x5041), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01199 {"fssqrtw", 4,       two(0xF000, 0x5041), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01200 {"fssqrtx", 4,       two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01201 {"fssqrtx", 4,       two(0xF000, 0x4841), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01202 {"fssqrtx", 4,       two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
01203 
01204 {"fdsqrtb", 4,       two(0xF000, 0x5845), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
01205 {"fdsqrtb", 4,       two(0xF000, 0x5845), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01206 {"fdsqrtd", 4,       two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01207 {"fdsqrtd", 4,       two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiFt",   cfloat },
01208 {"fdsqrtd", 4,       two(0xF000, 0x5445), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
01209 {"fdsqrtd", 4,       two(0xF000, 0x5445), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01210 {"fdsqrtl", 4,       two(0xF000, 0x4045), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
01211 {"fdsqrtl", 4,       two(0xF000, 0x4045), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01212 {"fdsqrtp", 4,       two(0xF000, 0x4C45), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01213 {"fdsqrts", 4,       two(0xF000, 0x4445), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01214 {"fdsqrts", 4,       two(0xF000, 0x4445), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01215 {"fdsqrtw", 4,       two(0xF000, 0x5045), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01216 {"fdsqrtw", 4,       two(0xF000, 0x5045), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01217 {"fdsqrtx", 4,       two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01218 {"fdsqrtx", 4,       two(0xF000, 0x4845), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01219 {"fdsqrtx", 4,       two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
01220 
01221 {"fsubb", 4,  two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01222 {"fsubb", 4,  two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01223 {"fsubd", 4,  two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01224 {"fsubd", 4,  two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01225 {"fsubd", 4,  two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01226 {"fsubl", 4,  two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01227 {"fsubl", 4,  two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01228 {"fsubp", 4,  two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01229 {"fsubs", 4,  two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01230 {"fsubs", 4,  two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01231 {"fsubw", 4,  two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01232 {"fsubw", 4,  two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01233 {"fsubx", 4,  two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01234 {"fsubx", 4,  two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01235 {"fsubx", 4,  two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01236 
01237 {"fssubb", 4, two(0xF000, 0x5868), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01238 {"fssubb", 4, two(0xF000, 0x5868), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
01239 {"fssubd", 4, two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01240 {"fssubd", 4, two(0xF000, 0x5468), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
01241 {"fssubd", 4, two(0xF000, 0x5468), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01242 {"fssubl", 4, two(0xF000, 0x4068), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
01243 {"fssubl", 4, two(0xF000, 0x4068), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01244 {"fssubp", 4, two(0xF000, 0x4C68), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01245 {"fssubs", 4, two(0xF000, 0x4468), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01246 {"fssubs", 4, two(0xF000, 0x4468), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01247 {"fssubw", 4, two(0xF000, 0x5068), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01248 {"fssubw", 4, two(0xF000, 0x5068), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01249 {"fssubx", 4, two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01250 {"fssubx", 4, two(0xF000, 0x4868), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01251 {"fssubx", 4, two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
01252 
01253 {"fdsubb", 4, two(0xF000, 0x586c), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01254 {"fdsubb", 4, two(0xF000, 0x586c), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040up },
01255 {"fdsubd", 4, two(0xF000, 0x006c), two(0xF1C0, 0xE07F), "IiF8F7", cfloat },
01256 {"fdsubd", 4, two(0xF000, 0x546c), two(0xF1C0, 0xFC7F), "IiwsF7", cfloat },
01257 {"fdsubd", 4, two(0xF000, 0x546c), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040up },
01258 {"fdsubl", 4, two(0xF000, 0x406c), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01259 {"fdsubl", 4, two(0xF000, 0x406c), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040up },
01260 {"fdsubp", 4, two(0xF000, 0x4C6c), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040up },
01261 {"fdsubs", 4, two(0xF000, 0x446c), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01262 {"fdsubs", 4, two(0xF000, 0x446c), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040up },
01263 {"fdsubw", 4, two(0xF000, 0x506c), two(0xF1C0, 0xFC7F), "IibsF7", cfloat },
01264 {"fdsubw", 4, two(0xF000, 0x506c), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040up },
01265 {"fdsubx", 4, two(0xF000, 0x006c), two(0xF1C0, 0xE07F), "IiF8F7", m68040up },
01266 {"fdsubx", 4, two(0xF000, 0x486c), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
01267 {"fdsubx", 4, two(0xF000, 0x006c), two(0xF1C0, 0xE07F), "IiFt",   m68040up },
01268 
01269 {"ftanb", 4,  two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01270 {"ftand", 4,  two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01271 {"ftanl", 4,  two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01272 {"ftanp", 4,  two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01273 {"ftans", 4,  two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01274 {"ftanw", 4,  two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01275 {"ftanx", 4,  two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01276 {"ftanx", 4,  two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01277 {"ftanx", 4,  two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01278 
01279 {"ftanhb", 4, two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01280 {"ftanhd", 4, two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01281 {"ftanhl", 4, two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01282 {"ftanhp", 4, two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01283 {"ftanhs", 4, two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01284 {"ftanhw", 4, two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01285 {"ftanhx", 4, two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01286 {"ftanhx", 4, two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01287 {"ftanhx", 4, two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01288 
01289 {"ftentoxb", 4,      two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01290 {"ftentoxd", 4,      two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01291 {"ftentoxl", 4,      two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01292 {"ftentoxp", 4,      two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01293 {"ftentoxs", 4,      two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01294 {"ftentoxw", 4,      two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01295 {"ftentoxx", 4,      two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01296 {"ftentoxx", 4,      two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01297 {"ftentoxx", 4,      two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01298 
01299 {"ftrapeq", 4,       two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01300 {"ftrapf", 4, two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01301 {"ftrapge", 4,       two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01302 {"ftrapgl", 4,       two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01303 {"ftrapgle", 4,      two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01304 {"ftrapgt", 4,       two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01305 {"ftraple", 4,       two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01306 {"ftraplt", 4,       two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01307 {"ftrapne", 4,       two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01308 {"ftrapnge", 4,      two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01309 {"ftrapngl", 4,      two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01310 {"ftrapngle", 4,two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01311 {"ftrapngt", 4,      two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01312 {"ftrapnle", 4,      two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01313 {"ftrapnlt", 4,      two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01314 {"ftrapoge", 4,      two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01315 {"ftrapogl", 4,      two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01316 {"ftrapogt", 4,      two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01317 {"ftrapole", 4,      two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01318 {"ftrapolt", 4,      two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01319 {"ftrapor", 4,       two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01320 {"ftrapseq", 4,      two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01321 {"ftrapsf", 4,       two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01322 {"ftrapsne", 4,      two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01323 {"ftrapst", 4,       two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01324 {"ftrapt", 4, two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01325 {"ftrapueq", 4,      two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01326 {"ftrapuge", 4,      two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01327 {"ftrapugt", 4,      two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01328 {"ftrapule", 4,      two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01329 {"ftrapult", 4,      two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01330 {"ftrapun", 4,       two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii", mfloat },
01331 
01332 {"ftrapeqw", 4,      two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01333 {"ftrapfw", 4,       two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01334 {"ftrapgew", 4,      two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01335 {"ftrapglw", 4,      two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01336 {"ftrapglew", 4,two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01337 {"ftrapgtw", 4,      two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01338 {"ftraplew", 4,      two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01339 {"ftrapltw", 4,      two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01340 {"ftrapnew", 4,      two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01341 {"ftrapngew", 4,two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01342 {"ftrapnglw", 4,two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01343 {"ftrapnglew", 4,two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01344 {"ftrapngtw", 4,two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01345 {"ftrapnlew", 4,two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01346 {"ftrapnltw", 4,two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01347 {"ftrapogew", 4,two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01348 {"ftrapoglw", 4,two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01349 {"ftrapogtw", 4,two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01350 {"ftrapolew", 4,two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01351 {"ftrapoltw", 4,two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01352 {"ftraporw", 4,      two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01353 {"ftrapseqw", 4,two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01354 {"ftrapsfw", 4,      two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01355 {"ftrapsnew", 4,two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01356 {"ftrapstw", 4,      two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01357 {"ftraptw", 4,       two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01358 {"ftrapueqw", 4,two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01359 {"ftrapugew", 4,two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01360 {"ftrapugtw", 4,two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01361 {"ftrapulew", 4,two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01362 {"ftrapultw", 4,two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01363 {"ftrapunw", 4,      two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w", mfloat },
01364 
01365 {"ftrapeql", 4,      two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01366 {"ftrapfl", 4,       two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01367 {"ftrapgel", 4,      two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01368 {"ftrapgll", 4,      two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01369 {"ftrapglel", 4,two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01370 {"ftrapgtl", 4,      two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01371 {"ftraplel", 4,      two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01372 {"ftrapltl", 4,      two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01373 {"ftrapnel", 4,      two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01374 {"ftrapngel", 4,two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01375 {"ftrapngll", 4,two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01376 {"ftrapnglel", 4,two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01377 {"ftrapngtl", 4,two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01378 {"ftrapnlel", 4,two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01379 {"ftrapnltl", 4,two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01380 {"ftrapogel", 4,two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01381 {"ftrapogll", 4,two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01382 {"ftrapogtl", 4,two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01383 {"ftrapolel", 4,two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01384 {"ftrapoltl", 4,two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01385 {"ftraporl", 4,      two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01386 {"ftrapseql", 4,two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01387 {"ftrapsfl", 4,      two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01388 {"ftrapsnel", 4,two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01389 {"ftrapstl", 4,      two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01390 {"ftraptl", 4,       two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01391 {"ftrapueql", 4,two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01392 {"ftrapugel", 4,two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01393 {"ftrapugtl", 4,two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01394 {"ftrapulel", 4,two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01395 {"ftrapultl", 4,two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01396 {"ftrapunl", 4,      two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l", mfloat },
01397 
01398 {"ftstb", 4,  two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b", mfloat },
01399 {"ftstb", 4,  two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Iibs", cfloat },
01400 {"ftstd", 4,  two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8", cfloat },
01401 {"ftstd", 4,  two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F", mfloat },
01402 {"ftstd", 4,  two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Iibs", cfloat },
01403 {"ftstl", 4,  two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l", mfloat },
01404 {"ftstl", 4,  two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Iibs", cfloat },
01405 {"ftstp", 4,  two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p", mfloat },
01406 {"ftsts", 4,  two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f", mfloat },
01407 {"ftsts", 4,  two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Iibs", cfloat },
01408 {"ftstw", 4,  two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w", mfloat },
01409 {"ftstw", 4,  two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Iibs", cfloat },
01410 {"ftstx", 4,  two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8", mfloat },
01411 {"ftstx", 4,  two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x", mfloat },
01412 
01413 {"ftwotoxb", 4,      two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
01414 {"ftwotoxd", 4,      two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
01415 {"ftwotoxl", 4,      two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },
01416 {"ftwotoxp", 4,      two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat },
01417 {"ftwotoxs", 4,      two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat },
01418 {"ftwotoxw", 4,      two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat },
01419 {"ftwotoxx", 4,      two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7", mfloat },
01420 {"ftwotoxx", 4,      two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
01421 {"ftwotoxx", 4,      two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt",   mfloat },
01422 
01423 {"halt", 2,   one(0045310), one(0177777), "",     m68060 | mcfisa_a },
01424 
01425 {"illegal", 2,       one(0045374), one(0177777), "",     m68000up | mcfisa_a },
01426 {"intouch", 2,       one(0xf428),  one(0xfff8), "As",    mcfisa_b },
01427 
01428 {"jmp", 2,    one(0047300), one(0177700), "!s", m68000up | mcfisa_a },
01429 
01430 {"jra", 2,    one(0060000), one(0177400), "Bg", m68000up | mcfisa_a },
01431 {"jra", 2,    one(0047300), one(0177700), "!s", m68000up | mcfisa_a },
01432 
01433 {"jsr", 2,    one(0047200), one(0177700), "!s", m68000up | mcfisa_a },
01434 
01435 {"jbsr", 2,   one(0060400), one(0177400), "Bg", m68000up | mcfisa_a },
01436 {"jbsr", 2,   one(0047200), one(0177700), "!s", m68000up | mcfisa_a },
01437 
01438 {"lea", 2,    one(0040700), one(0170700), "!sAd", m68000up | mcfisa_a },
01439 
01440 {"lpstop", 6, two(0174000,0000700),two(0177777,0177777),"#w", cpu32 | fido_a | m68060 },
01441 
01442 {"linkw", 4,  one(0047120), one(0177770), "As#w", m68000up | mcfisa_a },
01443 {"linkl", 6,  one(0044010), one(0177770), "As#l", m68020up | cpu32 | fido_a },
01444 {"link", 4,   one(0047120), one(0177770), "As#W", m68000up | mcfisa_a },
01445 {"link", 6,   one(0044010), one(0177770), "As#l", m68020up | cpu32 | fido_a },
01446 
01447 {"lslb", 2,   one(0160410), one(0170770), "QdDs", m68000up },
01448 {"lslb", 2,   one(0160450), one(0170770), "DdDs", m68000up },
01449 {"lslw", 2,   one(0160510), one(0170770), "QdDs", m68000up },
01450 {"lslw", 2,   one(0160550), one(0170770), "DdDs", m68000up },
01451 {"lslw", 2,   one(0161700), one(0177700), "~s",   m68000up },
01452 {"lsll", 2,   one(0160610), one(0170770), "QdDs", m68000up | mcfisa_a },
01453 {"lsll", 2,   one(0160650), one(0170770), "DdDs", m68000up | mcfisa_a },
01454 
01455 {"lsrb", 2,   one(0160010), one(0170770), "QdDs", m68000up },
01456 {"lsrb", 2,   one(0160050), one(0170770), "DdDs", m68000up },
01457 {"lsrw", 2,   one(0160110), one(0170770), "QdDs", m68000up },
01458 {"lsrw", 2,   one(0160150), one(0170770), "DdDs", m68000up },
01459 {"lsrw", 2,   one(0161300), one(0177700), "~s",   m68000up },
01460 {"lsrl", 2,   one(0160210), one(0170770), "QdDs", m68000up | mcfisa_a },
01461 {"lsrl", 2,   one(0160250), one(0170770), "DdDs", m68000up | mcfisa_a },
01462 
01463 {"macw", 4,   two(0xa080, 0x0000), two(0xf180, 0x0910), "uNuoiI4/Rn", mcfmac },
01464 {"macw", 4,   two(0xa080, 0x0200), two(0xf180, 0x0910), "uNuoMh4/Rn", mcfmac },
01465 {"macw", 4,   two(0xa080, 0x0000), two(0xf180, 0x0f10), "uNuo4/Rn", mcfmac },
01466 {"macw", 4,   two(0xa000, 0x0000), two(0xf1b0, 0x0900), "uMumiI", mcfmac },
01467 {"macw", 4,   two(0xa000, 0x0200), two(0xf1b0, 0x0900), "uMumMh", mcfmac },
01468 {"macw", 4,   two(0xa000, 0x0000), two(0xf1b0, 0x0f00), "uMum", mcfmac },
01469 
01470 {"macw", 4,   two(0xa000, 0x0000), two(0xf100, 0x0900), "uNuoiI4/RneG", mcfemac },/* Ry,Rx,SF,<ea>,accX.  */
01471 {"macw", 4,   two(0xa000, 0x0200), two(0xf100, 0x0900), "uNuoMh4/RneG", mcfemac },/* Ry,Rx,+1/-1,<ea>,accX.  */
01472 {"macw", 4,   two(0xa000, 0x0000), two(0xf100, 0x0f00), "uNuo4/RneG", mcfemac },/* Ry,Rx,<ea>,accX.  */
01473 {"macw", 4,   two(0xa000, 0x0000), two(0xf130, 0x0900), "uMumiIeH", mcfemac },/* Ry,Rx,SF,accX.  */
01474 {"macw", 4,   two(0xa000, 0x0200), two(0xf130, 0x0900), "uMumMheH", mcfemac },/* Ry,Rx,+1/-1,accX.  */
01475 {"macw", 4,   two(0xa000, 0x0000), two(0xf130, 0x0f00), "uMumeH", mcfemac }, /* Ry,Rx,accX.  */
01476 
01477 {"macl", 4,   two(0xa080, 0x0800), two(0xf180, 0x0910), "RNRoiI4/Rn", mcfmac },
01478 {"macl", 4,   two(0xa080, 0x0a00), two(0xf180, 0x0910), "RNRoMh4/Rn", mcfmac },
01479 {"macl", 4,   two(0xa080, 0x0800), two(0xf180, 0x0f10), "RNRo4/Rn", mcfmac },
01480 {"macl", 4,   two(0xa000, 0x0800), two(0xf1b0, 0x0b00), "RMRmiI", mcfmac },
01481 {"macl", 4,   two(0xa000, 0x0a00), two(0xf1b0, 0x0b00), "RMRmMh", mcfmac },
01482 {"macl", 4,   two(0xa000, 0x0800), two(0xf1b0, 0x0800), "RMRm", mcfmac },
01483 
01484 {"macl", 4,   two(0xa000, 0x0800), two(0xf100, 0x0900), "R3R1iI4/RneG", mcfemac },
01485 {"macl", 4,   two(0xa000, 0x0a00), two(0xf100, 0x0900), "R3R1Mh4/RneG", mcfemac },
01486 {"macl", 4,   two(0xa000, 0x0800), two(0xf100, 0x0f00), "R3R14/RneG", mcfemac },
01487 {"macl", 4,   two(0xa000, 0x0800), two(0xf130, 0x0900), "RMRmiIeH", mcfemac },
01488 {"macl", 4,   two(0xa000, 0x0a00), two(0xf130, 0x0900), "RMRmMheH", mcfemac },
01489 {"macl", 4,   two(0xa000, 0x0800), two(0xf130, 0x0f00), "RMRmeH", mcfemac },
01490 
01491 /* NOTE: The mcf5200 family programmer's reference manual does not
01492    indicate the byte form of the movea instruction is invalid (as it
01493    is on 68000 family cpus).  However, experiments on the 5202 yeild
01494    unexpected results.  The value is copied, but it is not sign extended
01495    (as is done with movea.w) and the top three bytes in the address
01496    register are not disturbed.  I don't know if this is the intended
01497    behavior --- it could be a hole in instruction decoding (Motorola
01498    decided not to trap all invalid instructions for performance reasons)
01499    --- but I suspect that it is not.
01500 
01501    I reported this to Motorola ISD Technical Communications Support,
01502    which replied that other coldfire assemblers reject movea.b.  For
01503    this reason I've decided to not allow moveab.
01504 
01505        jtc@cygnus.com - 97/01/24.  */
01506 
01507 {"moveal", 2, one(0020100), one(0170700), "*lAd", m68000up | mcfisa_a },
01508 {"moveaw", 2, one(0030100), one(0170700), "*wAd", m68000up | mcfisa_a },
01509 
01510 {"movclrl", 2,       one(0xA1C0),  one(0xf9f0), "eFRs", mcfemac },
01511 
01512 {"movec", 4,  one(0047173), one(0177777), "R1Jj", m68010up | mcfisa_a },
01513 {"movec", 4,  one(0047173), one(0177777), "R1#j", m68010up | mcfisa_a },
01514 {"movec", 4,  one(0047172), one(0177777), "JjR1", m68010up },
01515 {"movec", 4,  one(0047172), one(0177777), "#jR1", m68010up },
01516 
01517 {"movemw", 4, one(0044200), one(0177700), "Lw&s", m68000up },
01518 {"movemw", 4, one(0044240), one(0177770), "lw-s", m68000up },
01519 {"movemw", 4, one(0044200), one(0177700), "#w>s", m68000up },
01520 {"movemw", 4, one(0046200), one(0177700), "<sLw", m68000up },
01521 {"movemw", 4, one(0046200), one(0177700), "<s#w", m68000up },
01522 {"moveml", 4, one(0044300), one(0177700), "Lw&s", m68000up },
01523 {"moveml", 4, one(0044340), one(0177770), "lw-s", m68000up },
01524 {"moveml", 4, one(0044300), one(0177700), "#w>s", m68000up },
01525 {"moveml", 4, one(0046300), one(0177700), "<sLw", m68000up },
01526 {"moveml", 4, one(0046300), one(0177700), "<s#w", m68000up },
01527 /* FIXME: need specifier for mode 2 and 5 to simplify below insn patterns.  */
01528 {"moveml", 4, one(0044320), one(0177770), "Lwas", mcfisa_a },
01529 {"moveml", 4, one(0044320), one(0177770), "#was", mcfisa_a },
01530 {"moveml", 4, one(0044350), one(0177770), "Lwds", mcfisa_a },
01531 {"moveml", 4, one(0044350), one(0177770), "#wds", mcfisa_a },
01532 {"moveml", 4, one(0046320), one(0177770), "asLw", mcfisa_a },
01533 {"moveml", 4, one(0046320), one(0177770), "as#w", mcfisa_a },
01534 {"moveml", 4, one(0046350), one(0177770), "dsLw", mcfisa_a },
01535 {"moveml", 4, one(0046350), one(0177770), "ds#w", mcfisa_a },
01536 
01537 {"movepw", 2, one(0000410), one(0170770), "dsDd", m68000up },
01538 {"movepw", 2, one(0000610), one(0170770), "Ddds", m68000up },
01539 {"movepl", 2, one(0000510), one(0170770), "dsDd", m68000up },
01540 {"movepl", 2, one(0000710), one(0170770), "Ddds", m68000up },
01541 
01542 {"moveq", 2,  one(0070000), one(0170400), "MsDd", m68000up | mcfisa_a },
01543 {"moveq", 2,  one(0070000), one(0170400), "#BDd", m68000up | mcfisa_a },
01544 
01545 /* The move opcode can generate the movea and moveq instructions.  */
01546 {"moveb", 2,  one(0010000), one(0170000), ";b$d", m68000up },
01547 {"moveb", 2,  one(0010000), one(0170070), "Ds$d", mcfisa_a },
01548 {"moveb", 2,  one(0010020), one(0170070), "as$d", mcfisa_a },
01549 {"moveb", 2,  one(0010030), one(0170070), "+s$d", mcfisa_a },
01550 {"moveb", 2,  one(0010040), one(0170070), "-s$d", mcfisa_a },
01551 {"moveb", 2,  one(0010000), one(0170000), "nsqd", mcfisa_a },
01552 {"moveb", 2,  one(0010000), one(0170700), "obDd", mcfisa_a },
01553 {"moveb", 2,  one(0010200), one(0170700), "obad", mcfisa_a },
01554 {"moveb", 2,  one(0010300), one(0170700), "ob+d", mcfisa_a },
01555 {"moveb", 2,  one(0010400), one(0170700), "ob-d", mcfisa_a },
01556 {"moveb", 2,  one(0010000), one(0170000), "obnd", mcfisa_b },
01557 
01558 {"movew", 2,  one(0030000), one(0170000), "*w%d", m68000up },
01559 {"movew", 2,  one(0030000), one(0170000), "ms%d", mcfisa_a },
01560 {"movew", 2,  one(0030000), one(0170000), "nspd", mcfisa_a },
01561 {"movew", 2,  one(0030000), one(0170000), "owmd", mcfisa_a },
01562 {"movew", 2,  one(0030000), one(0170000), "ownd", mcfisa_b },
01563 {"movew", 2,  one(0040300), one(0177700), "Ss$s", m68000up },
01564 {"movew", 2,  one(0040300), one(0177770), "SsDs", mcfisa_a },
01565 {"movew", 2,  one(0041300), one(0177700), "Cs$s", m68010up },
01566 {"movew", 2,  one(0041300), one(0177770), "CsDs", mcfisa_a },
01567 {"movew", 2,  one(0042300), one(0177700), ";wCd", m68000up },
01568 {"movew", 2,  one(0042300), one(0177700), "DsCd", mcfisa_a },
01569 {"movew", 4,  one(0042374), one(0177777), "#wCd", mcfisa_a },
01570 {"movew", 2,  one(0043300), one(0177700), ";wSd", m68000up },
01571 {"movew", 2,  one(0043300), one(0177700), "DsSd", mcfisa_a },
01572 {"movew", 4,  one(0043374), one(0177777), "#wSd", mcfisa_a },
01573 
01574 {"movel", 2,  one(0070000), one(0170400), "MsDd", m68000up | mcfisa_a },
01575 {"movel", 2,  one(0020000), one(0170000), "*l%d", m68000up },
01576 {"movel", 2,  one(0020000), one(0170000), "ms%d", mcfisa_a },
01577 {"movel", 2,  one(0020000), one(0170000), "nspd", mcfisa_a },
01578 {"movel", 2,  one(0020000), one(0170000), "olmd", mcfisa_a },
01579 {"movel", 2,  one(0020000), one(0170000), "olnd", mcfisa_b },
01580 {"movel", 2,  one(0047140), one(0177770), "AsUd", m68000up | mcfusp },
01581 {"movel", 2,  one(0047150), one(0177770), "UdAs", m68000up | mcfusp },
01582 {"movel", 2,  one(0120600), one(0177760), "EsRs", mcfmac },
01583 {"movel", 2,  one(0120400), one(0177760), "RsEs", mcfmac },
01584 {"movel", 6,  one(0120474), one(0177777), "#lEs", mcfmac },
01585 {"movel", 2,  one(0124600), one(0177760), "GsRs", mcfmac },
01586 {"movel", 2,  one(0124400), one(0177760), "RsGs", mcfmac },
01587 {"movel", 6,  one(0124474), one(0177777), "#lGs", mcfmac },
01588 {"movel", 2,  one(0126600), one(0177760), "HsRs", mcfmac },
01589 {"movel", 2,  one(0126400), one(0177760), "RsHs", mcfmac },
01590 {"movel", 6,  one(0126474), one(0177777), "#lHs", mcfmac },
01591 {"movel", 2,  one(0124700), one(0177777), "GsCs", mcfmac },
01592 
01593 {"movel", 2,  one(0xa180),  one(0xf9f0), "eFRs", mcfemac }, /* ACCx,Rx.  */
01594 {"movel", 2,  one(0xab80),  one(0xfbf0), "g]Rs", mcfemac }, /* ACCEXTx,Rx.  */
01595 {"movel", 2,  one(0xa980),  one(0xfff0), "G-Rs", mcfemac }, /* macsr,Rx.  */
01596 {"movel", 2,  one(0xad80),  one(0xfff0), "H-Rs", mcfemac }, /* mask,Rx.  */
01597 {"movel", 2,  one(0xa110),  one(0xf9fc), "efeF", mcfemac }, /* ACCy,ACCx.  */
01598 {"movel", 2,  one(0xa9c0),  one(0xffff), "G-C-", mcfemac }, /* macsr,ccr.  */
01599 {"movel", 2,  one(0xa100),  one(0xf9f0), "RseF", mcfemac }, /* Rx,ACCx.  */
01600 {"movel", 6,  one(0xa13c),  one(0xf9ff), "#leF", mcfemac }, /* #,ACCx.  */
01601 {"movel", 2,  one(0xab00),  one(0xfbc0), "Rsg]", mcfemac }, /* Rx,ACCEXTx.  */
01602 {"movel", 6,  one(0xab3c),  one(0xfbff), "#lg]", mcfemac }, /* #,ACCEXTx.  */
01603 {"movel", 2,  one(0xa900),  one(0xffc0), "RsG-", mcfemac }, /* Rx,macsr.  */
01604 {"movel", 6,  one(0xa93c),  one(0xffff), "#lG-", mcfemac }, /* #,macsr.  */
01605 {"movel", 2,  one(0xad00),  one(0xffc0), "RsH-", mcfemac }, /* Rx,mask.  */
01606 {"movel", 6,  one(0xad3c),  one(0xffff), "#lH-", mcfemac }, /* #,mask.  */
01607 
01608 {"move", 2,   one(0030000), one(0170000), "*w%d", m68000up },
01609 {"move", 2,   one(0030000), one(0170000), "ms%d", mcfisa_a },
01610 {"move", 2,   one(0030000), one(0170000), "nspd", mcfisa_a },
01611 {"move", 2,   one(0030000), one(0170000), "owmd", mcfisa_a },
01612 {"move", 2,   one(0030000), one(0170000), "ownd", mcfisa_b },
01613 {"move", 2,   one(0040300), one(0177700), "Ss$s", m68000up },
01614 {"move", 2,   one(0040300), one(0177770), "SsDs", mcfisa_a },
01615 {"move", 2,   one(0041300), one(0177700), "Cs$s", m68010up },
01616 {"move", 2,   one(0041300), one(0177770), "CsDs", mcfisa_a },
01617 {"move", 2,   one(0042300), one(0177700), ";wCd", m68000up },
01618 {"move", 2,   one(0042300), one(0177700), "DsCd", mcfisa_a },
01619 {"move", 4,   one(0042374), one(0177777), "#wCd", mcfisa_a },
01620 {"move", 2,   one(0043300), one(0177700), ";wSd", m68000up },
01621 {"move", 2,   one(0043300), one(0177700), "DsSd", mcfisa_a },
01622 {"move", 4,   one(0043374), one(0177777), "#wSd", mcfisa_a },
01623 
01624 {"move", 2,   one(0047140), one(0177770), "AsUd", m68000up },
01625 {"move", 2,   one(0047150), one(0177770), "UdAs", m68000up },
01626 
01627 {"mov3ql", 2, one(0120500), one(0170700), "xd%s", mcfisa_b },
01628 {"mvsb", 2,   one(0070400), one(0170700), "*bDd", mcfisa_b },
01629 {"mvsw", 2,   one(0070500), one(0170700), "*wDd", mcfisa_b },
01630 {"mvzb", 2,   one(0070600), one(0170700), "*bDd", mcfisa_b },
01631 {"mvzw", 2,   one(0070700), one(0170700), "*wDd", mcfisa_b },
01632 
01633 {"movesb", 4, two(0007000, 0),     two(0177700, 07777), "~sR1", m68010up },
01634 {"movesb", 4, two(0007000, 04000), two(0177700, 07777), "R1~s", m68010up },
01635 {"movesw", 4, two(0007100, 0),     two(0177700, 07777), "~sR1", m68010up },
01636 {"movesw", 4, two(0007100, 04000), two(0177700, 07777), "R1~s", m68010up },
01637 {"movesl", 4, two(0007200, 0),     two(0177700, 07777), "~sR1", m68010up },
01638 {"movesl", 4, two(0007200, 04000), two(0177700, 07777), "R1~s", m68010up },
01639 
01640 {"move16", 4, two(0xf620, 0x8000), two(0xfff8, 0x8fff), "+s+1", m68040up },
01641 {"move16", 2, one(0xf600),         one(0xfff8), "+s_L", m68040up },
01642 {"move16", 2, one(0xf608),         one(0xfff8), "_L+s", m68040up },
01643 {"move16", 2, one(0xf610),         one(0xfff8), "as_L", m68040up },
01644 {"move16", 2, one(0xf618),         one(0xfff8), "_Las", m68040up },
01645 
01646 {"msacw", 4,         two(0xa080, 0x0100), two(0xf180, 0x0910), "uNuoiI4/Rn", mcfmac },
01647 {"msacw", 4,         two(0xa080, 0x0300), two(0xf180, 0x0910), "uNuoMh4/Rn", mcfmac },
01648 {"msacw", 4,         two(0xa080, 0x0100), two(0xf180, 0x0f10), "uNuo4/Rn", mcfmac },
01649 {"msacw", 4,         two(0xa000, 0x0100), two(0xf1b0, 0x0900), "uMumiI", mcfmac },
01650 {"msacw", 4,         two(0xa000, 0x0300), two(0xf1b0, 0x0900), "uMumMh", mcfmac },
01651 {"msacw", 4,         two(0xa000, 0x0100), two(0xf1b0, 0x0f00), "uMum", mcfmac },
01652 
01653 {"msacw", 4,         two(0xa000, 0x0100), two(0xf100, 0x0900), "uMumiI4/RneG", mcfemac },/* Ry,Rx,SF,<ea>,accX.  */
01654 {"msacw", 4,         two(0xa000, 0x0300), two(0xf100, 0x0900), "uMumMh4/RneG", mcfemac },/* Ry,Rx,+1/-1,<ea>,accX.  */
01655 {"msacw", 4,         two(0xa000, 0x0100), two(0xf100, 0x0f00), "uMum4/RneG", mcfemac },/* Ry,Rx,<ea>,accX.  */
01656 {"msacw", 4,         two(0xa000, 0x0100), two(0xf130, 0x0900), "uMumiIeH", mcfemac },/* Ry,Rx,SF,accX.  */
01657 {"msacw", 4,         two(0xa000, 0x0300), two(0xf130, 0x0900), "uMumMheH", mcfemac },/* Ry,Rx,+1/-1,accX.  */
01658 {"msacw", 4,         two(0xa000, 0x0100), two(0xf130, 0x0f00), "uMumeH", mcfemac }, /* Ry,Rx,accX.  */
01659 
01660 {"msacl", 4,         two(0xa080, 0x0900), two(0xf180, 0x0910), "RNRoiI4/Rn", mcfmac },
01661 {"msacl", 4,         two(0xa080, 0x0b00), two(0xf180, 0x0910), "RNRoMh4/Rn", mcfmac },
01662 {"msacl", 4,         two(0xa080, 0x0900), two(0xf180, 0x0f10), "RNRo4/Rn", mcfmac },
01663 {"msacl", 4,         two(0xa000, 0x0900), two(0xf1b0, 0x0b00), "RMRmiI", mcfmac },
01664 {"msacl", 4,         two(0xa000, 0x0b00), two(0xf1b0, 0x0b00), "RMRmMh", mcfmac },
01665 {"msacl", 4,         two(0xa000, 0x0900), two(0xf1b0, 0x0800), "RMRm", mcfmac },
01666 
01667 {"msacl", 4,         two(0xa000, 0x0900), two(0xf100, 0x0900), "R3R1iI4/RneG", mcfemac },
01668 {"msacl", 4,         two(0xa000, 0x0b00), two(0xf100, 0x0900), "R3R1Mh4/RneG", mcfemac },
01669 {"msacl", 4,         two(0xa000, 0x0900), two(0xf100, 0x0f00), "R3R14/RneG", mcfemac },
01670 {"msacl", 4,         two(0xa000, 0x0900), two(0xf130, 0x0900), "RMRmiIeH", mcfemac },
01671 {"msacl", 4,         two(0xa000, 0x0b00), two(0xf130, 0x0900), "RMRmMheH", mcfemac },
01672 {"msacl", 4,         two(0xa000, 0x0900), two(0xf130, 0x0f00), "RMRmeH", mcfemac },
01673 
01674 {"mulsw", 2,  one(0140700),        one(0170700), ";wDd", m68000up|mcfisa_a },
01675 {"mulsl", 4,  two(0046000,004000), two(0177700,0107770), ";lD1", m68020up | cpu32 | fido_a },
01676 {"mulsl", 4,  two(0046000,004000), two(0177700,0107770), "qsD1", mcfisa_a },
01677 {"mulsl", 4,  two(0046000,006000), two(0177700,0107770), ";lD3D1",m68020up | cpu32 | fido_a },
01678 
01679 {"muluw", 2,  one(0140300),        one(0170700), ";wDd", m68000up|mcfisa_a },
01680 {"mulul", 4,  two(0046000,000000), two(0177700,0107770), ";lD1", m68020up | cpu32 | fido_a },
01681 {"mulul", 4,  two(0046000,000000), two(0177700,0107770), "qsD1", mcfisa_a },
01682 {"mulul", 4,  two(0046000,002000), two(0177700,0107770), ";lD3D1",m68020up | cpu32 | fido_a },
01683 
01684 {"nbcd", 2,   one(0044000), one(0177700), "$s", m68000up },
01685 
01686 {"negb", 2,   one(0042000), one(0177700), "$s", m68000up },
01687 {"negw", 2,   one(0042100), one(0177700), "$s", m68000up },
01688 {"negl", 2,   one(0042200), one(0177700), "$s", m68000up },
01689 {"negl", 2,   one(0042200), one(0177700), "Ds", mcfisa_a},
01690 
01691 {"negxb", 2,  one(0040000), one(0177700), "$s", m68000up },
01692 {"negxw", 2,  one(0040100), one(0177700), "$s", m68000up },
01693 {"negxl", 2,  one(0040200), one(0177700), "$s", m68000up },
01694 {"negxl", 2,  one(0040200), one(0177700), "Ds", mcfisa_a},
01695 
01696 {"nop", 2,    one(0047161), one(0177777), "", m68000up | mcfisa_a},
01697 
01698 {"notb", 2,   one(0043000), one(0177700), "$s", m68000up },
01699 {"notw", 2,   one(0043100), one(0177700), "$s", m68000up },
01700 {"notl", 2,   one(0043200), one(0177700), "$s", m68000up },
01701 {"notl", 2,   one(0043200), one(0177700), "Ds", mcfisa_a},
01702 
01703 {"orib", 4,   one(0000000), one(0177700), "#b$s", m68000up },
01704 {"orib", 4,   one(0000074), one(0177777), "#bCs", m68000up },
01705 {"oriw", 4,   one(0000100), one(0177700), "#w$s", m68000up },
01706 {"oriw", 4,   one(0000174), one(0177777), "#wSs", m68000up },
01707 {"oril", 6,   one(0000200), one(0177700), "#l$s", m68000up },
01708 {"oril", 6,   one(0000200), one(0177700), "#lDs", mcfisa_a },
01709 {"ori", 4,    one(0000074), one(0177777), "#bCs", m68000up },
01710 {"ori", 4,    one(0000100), one(0177700), "#w$s", m68000up },
01711 {"ori", 4,    one(0000174), one(0177777), "#wSs", m68000up },
01712 
01713 /* The or opcode can generate the ori instruction.  */
01714 {"orb", 4,    one(0000000), one(0177700), "#b$s", m68000up },
01715 {"orb", 4,    one(0000074), one(0177777), "#bCs", m68000up },
01716 {"orb", 2,    one(0100000), one(0170700), ";bDd", m68000up },
01717 {"orb", 2,    one(0100400), one(0170700), "Dd~s", m68000up },
01718 {"orw", 4,    one(0000100), one(0177700), "#w$s", m68000up },
01719 {"orw", 4,    one(0000174), one(0177777), "#wSs", m68000up },
01720 {"orw", 2,    one(0100100), one(0170700), ";wDd", m68000up },
01721 {"orw", 2,    one(0100500), one(0170700), "Dd~s", m68000up },
01722 {"orl", 6,    one(0000200), one(0177700), "#l$s", m68000up },
01723 {"orl", 6,    one(0000200), one(0177700), "#lDs", mcfisa_a },
01724 {"orl", 2,    one(0100200), one(0170700), ";lDd", m68000up | mcfisa_a },
01725 {"orl", 2,    one(0100600), one(0170700), "Dd~s", m68000up | mcfisa_a },
01726 {"or", 4,     one(0000074), one(0177777), "#bCs", m68000up },
01727 {"or", 4,     one(0000100), one(0177700), "#w$s", m68000up },
01728 {"or", 4,     one(0000174), one(0177777), "#wSs", m68000up },
01729 {"or", 2,     one(0100100), one(0170700), ";wDd", m68000up },
01730 {"or", 2,     one(0100500), one(0170700), "Dd~s", m68000up },
01731 
01732 {"pack", 4,   one(0100500), one(0170770), "DsDd#w", m68020up },
01733 {"pack", 4,   one(0100510), one(0170770), "-s-d#w", m68020up },
01734 
01735 {"pbac", 2,   one(0xf087),  one(0xffbf), "Bc", m68851 },
01736 {"pbacw", 2,  one(0xf087),  one(0xffff), "BW", m68851 },
01737 {"pbas", 2,   one(0xf086),  one(0xffbf), "Bc", m68851 },
01738 {"pbasw", 2,  one(0xf086),  one(0xffff), "BW", m68851 },
01739 {"pbbc", 2,   one(0xf081),  one(0xffbf), "Bc", m68851 },
01740 {"pbbcw", 2,  one(0xf081),  one(0xffff), "BW", m68851 },
01741 {"pbbs", 2,   one(0xf080),  one(0xffbf), "Bc", m68851 },
01742 {"pbbsw", 2,  one(0xf080),  one(0xffff), "BW", m68851 },
01743 {"pbcc", 2,   one(0xf08f),  one(0xffbf), "Bc", m68851 },
01744 {"pbccw", 2,  one(0xf08f),  one(0xffff), "BW", m68851 },
01745 {"pbcs", 2,   one(0xf08e),  one(0xffbf), "Bc", m68851 },
01746 {"pbcsw", 2,  one(0xf08e),  one(0xffff), "BW", m68851 },
01747 {"pbgc", 2,   one(0xf08d),  one(0xffbf), "Bc", m68851 },
01748 {"pbgcw", 2,  one(0xf08d),  one(0xffff), "BW", m68851 },
01749 {"pbgs", 2,   one(0xf08c),  one(0xffbf), "Bc", m68851 },
01750 {"pbgsw", 2,  one(0xf08c),  one(0xffff), "BW", m68851 },
01751 {"pbic", 2,   one(0xf08b),  one(0xffbf), "Bc", m68851 },
01752 {"pbicw", 2,  one(0xf08b),  one(0xffff), "BW", m68851 },
01753 {"pbis", 2,   one(0xf08a),  one(0xffbf), "Bc", m68851 },
01754 {"pbisw", 2,  one(0xf08a),  one(0xffff), "BW", m68851 },
01755 {"pblc", 2,   one(0xf083),  one(0xffbf), "Bc", m68851 },
01756 {"pblcw", 2,  one(0xf083),  one(0xffff), "BW", m68851 },
01757 {"pbls", 2,   one(0xf082),  one(0xffbf), "Bc", m68851 },
01758 {"pblsw", 2,  one(0xf082),  one(0xffff), "BW", m68851 },
01759 {"pbsc", 2,   one(0xf085),  one(0xffbf), "Bc", m68851 },
01760 {"pbscw", 2,  one(0xf085),  one(0xffff), "BW", m68851 },
01761 {"pbss", 2,   one(0xf084),  one(0xffbf), "Bc", m68851 },
01762 {"pbssw", 2,  one(0xf084),  one(0xffff), "BW", m68851 },
01763 {"pbwc", 2,   one(0xf089),  one(0xffbf), "Bc", m68851 },
01764 {"pbwcw", 2,  one(0xf089),  one(0xffff), "BW", m68851 },
01765 {"pbws", 2,   one(0xf088),  one(0xffbf), "Bc", m68851 },
01766 {"pbwsw", 2,  one(0xf088),  one(0xffff), "BW", m68851 },
01767 
01768 {"pdbac", 4,  two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw", m68851 },
01769 {"pdbas", 4,  two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw", m68851 },
01770 {"pdbbc", 4,  two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw", m68851 },
01771 {"pdbbs", 4,  two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw", m68851 },
01772 {"pdbcc", 4,  two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw", m68851 },
01773 {"pdbcs", 4,  two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw", m68851 },
01774 {"pdbgc", 4,  two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw", m68851 },
01775 {"pdbgs", 4,  two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw", m68851 },
01776 {"pdbic", 4,  two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw", m68851 },
01777 {"pdbis", 4,  two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw", m68851 },
01778 {"pdblc", 4,  two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw", m68851 },
01779 {"pdbls", 4,  two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw", m68851 },
01780 {"pdbsc", 4,  two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw", m68851 },
01781 {"pdbss", 4,  two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw", m68851 },
01782 {"pdbwc", 4,  two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw", m68851 },
01783 {"pdbws", 4,  two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw", m68851 },
01784 
01785 {"pea", 2,    one(0044100),        one(0177700), "!s", m68000up|mcfisa_a },
01786 
01787 {"pflusha", 2,       one(0xf518),         one(0xfff8), "", m68040up },
01788 {"pflusha", 4,       two(0xf000,0x2400), two(0xffff,0xffff), "", m68030 | m68851 },
01789 
01790 {"pflush", 4,   two(0xf000,0x3010), two(0xffc0,0xfe10), "T3T9", m68030|m68851 },
01791 {"pflush", 4,   two(0xf000,0x3810), two(0xffc0,0xfe10), "T3T9&s", m68030|m68851 },
01792 {"pflush", 4,   two(0xf000,0x3008), two(0xffc0,0xfe18), "D3T9", m68030|m68851 },
01793 {"pflush", 4,   two(0xf000,0x3808), two(0xffc0,0xfe18), "D3T9&s", m68030|m68851 },
01794 {"pflush", 4,   two(0xf000,0x3000), two(0xffc0,0xfe1e), "f3T9", m68030|m68851 },
01795 {"pflush", 4,   two(0xf000,0x3800), two(0xffc0,0xfe1e), "f3T9&s", m68030|m68851 },
01796 {"pflush", 2, one(0xf508),         one(0xfff8), "as", m68040up },
01797 {"pflush", 2, one(0xf508),         one(0xfff8), "As", m68040up },
01798 
01799 {"pflushan", 2,      one(0xf510),         one(0xfff8), "", m68040up },
01800 {"pflushn", 2,       one(0xf500),         one(0xfff8), "as", m68040up },
01801 {"pflushn", 2,       one(0xf500),         one(0xfff8), "As", m68040up },
01802 
01803 {"pflushr", 4,       two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s", m68851 },
01804 
01805 {"pflushs", 4,       two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9", m68851 },
01806 {"pflushs", 4,       two(0xf000, 0x3c10), two(0xfff8, 0xfe10), "T3T9&s", m68851 },
01807 {"pflushs", 4,       two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9", m68851 },
01808 {"pflushs", 4,       two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s", m68851 },
01809 {"pflushs", 4,       two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9", m68851 },
01810 {"pflushs", 4,       two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s", m68851 },
01811 
01812 {"ploadr", 4,   two(0xf000,0x2210), two(0xffc0,0xfff0), "T3&s", m68030|m68851 },
01813 {"ploadr", 4,   two(0xf000,0x2208), two(0xffc0,0xfff8), "D3&s", m68030|m68851 },
01814 {"ploadr", 4,   two(0xf000,0x2200), two(0xffc0,0xfffe), "f3&s", m68030|m68851 },
01815 {"ploadw", 4,   two(0xf000,0x2010), two(0xffc0,0xfff0), "T3&s", m68030|m68851 },
01816 {"ploadw", 4,   two(0xf000,0x2008), two(0xffc0,0xfff8), "D3&s", m68030|m68851 },
01817 {"ploadw", 4,   two(0xf000,0x2000), two(0xffc0,0xfffe), "f3&s", m68030|m68851 },
01818 
01819 {"plpar", 2,  one(0xf5c8),         one(0xfff8), "as", m68060 },
01820 {"plpaw", 2,  one(0xf588),         one(0xfff8), "as", m68060 },
01821 
01822 {"pmove", 4,    two(0xf000,0x4000), two(0xffc0,0xffff), "*l08", m68030|m68851 },
01823 {"pmove", 4,    two(0xf000,0x5c00), two(0xffc0,0xffff), "*w18", m68851 },
01824 {"pmove", 4,    two(0xf000,0x4000), two(0xffc0,0xe3ff), "*b28", m68851 },
01825 {"pmove", 4,    two(0xf000,0x4200), two(0xffc0,0xffff), "08%s", m68030|m68851 },
01826 {"pmove", 4,    two(0xf000,0x5e00), two(0xffc0,0xffff), "18%s", m68851 },
01827 {"pmove", 4,    two(0xf000,0x4200), two(0xffc0,0xe3ff), "28%s", m68851 },
01828 {"pmove", 4,    two(0xf000,0x4000), two(0xffc0,0xe3ff), "|sW8", m68030|m68851 },
01829 {"pmove", 4,    two(0xf000,0x4200), two(0xffc0,0xe3ff), "W8~s", m68030|m68851 },
01830 {"pmove", 4,    two(0xf000,0x6200), two(0xffc0,0xe3e3), "*wX3", m68851 },
01831 {"pmove", 4,    two(0xf000,0x6000), two(0xffc0,0xe3e3), "X3%s", m68851 },
01832 {"pmove", 4,    two(0xf000,0x6000), two(0xffc0,0xffff), "*wY8", m68030|m68851 },
01833 {"pmove", 4,    two(0xf000,0x6200), two(0xffc0,0xffff), "Y8%s", m68030|m68851 },
01834 {"pmove", 4,    two(0xf000,0x6600), two(0xffc0,0xffff), "Z8%s", m68851 },
01835 {"pmove", 4,    two(0xf000,0x0800), two(0xffc0,0xfbff), "*l38", m68030 },
01836 {"pmove", 4,    two(0xf000,0x0a00), two(0xffc0,0xfbff), "38%s", m68030 },
01837 
01838 {"pmovefd", 4,       two(0xf000, 0x4100), two(0xffc0, 0xe3ff), "*l08", m68030 },
01839 {"pmovefd", 4,       two(0xf000, 0x4100), two(0xffc0, 0xe3ff), "|sW8", m68030 },
01840 {"pmovefd", 4,       two(0xf000, 0x0900), two(0xffc0, 0xfbff), "*l38", m68030 },
01841 
01842 {"prestore", 2,      one(0xf140),         one(0xffc0), "<s", m68851 },
01843 
01844 {"psave", 2,  one(0xf100),         one(0xffc0), ">s", m68851 },
01845 
01846 {"psac", 4,   two(0xf040, 0x0007), two(0xffc0, 0xffff), "$s", m68851 },
01847 {"psas", 4,   two(0xf040, 0x0006), two(0xffc0, 0xffff), "$s", m68851 },
01848 {"psbc", 4,   two(0xf040, 0x0001), two(0xffc0, 0xffff), "$s", m68851 },
01849 {"psbs", 4,   two(0xf040, 0x0000), two(0xffc0, 0xffff), "$s", m68851 },
01850 {"pscc", 4,   two(0xf040, 0x000f), two(0xffc0, 0xffff), "$s", m68851 },
01851 {"pscs", 4,   two(0xf040, 0x000e), two(0xffc0, 0xffff), "$s", m68851 },
01852 {"psgc", 4,   two(0xf040, 0x000d), two(0xffc0, 0xffff), "$s", m68851 },
01853 {"psgs", 4,   two(0xf040, 0x000c), two(0xffc0, 0xffff), "$s", m68851 },
01854 {"psic", 4,   two(0xf040, 0x000b), two(0xffc0, 0xffff), "$s", m68851 },
01855 {"psis", 4,   two(0xf040, 0x000a), two(0xffc0, 0xffff), "$s", m68851 },
01856 {"pslc", 4,   two(0xf040, 0x0003), two(0xffc0, 0xffff), "$s", m68851 },
01857 {"psls", 4,   two(0xf040, 0x0002), two(0xffc0, 0xffff), "$s", m68851 },
01858 {"pssc", 4,   two(0xf040, 0x0005), two(0xffc0, 0xffff), "$s", m68851 },
01859 {"psss", 4,   two(0xf040, 0x0004), two(0xffc0, 0xffff), "$s", m68851 },
01860 {"pswc", 4,   two(0xf040, 0x0009), two(0xffc0, 0xffff), "$s", m68851 },
01861 {"psws", 4,   two(0xf040, 0x0008), two(0xffc0, 0xffff), "$s", m68851 },
01862 
01863 {"ptestr", 4,        two(0xf000,0x8210), two(0xffc0, 0xe3f0), "T3&st8", m68030|m68851 },
01864 {"ptestr", 4,        two(0xf000,0x8310), two(0xffc0,0xe310), "T3&st8A9", m68030|m68851 },
01865 {"ptestr", 4,        two(0xf000,0x8208), two(0xffc0,0xe3f8), "D3&st8", m68030|m68851 },
01866 {"ptestr", 4,        two(0xf000,0x8308), two(0xffc0,0xe318), "D3&st8A9", m68030|m68851 },
01867 {"ptestr", 4,        two(0xf000,0x8200), two(0xffc0,0xe3fe), "f3&st8", m68030|m68851 },
01868 {"ptestr", 4,        two(0xf000,0x8300), two(0xffc0,0xe31e), "f3&st8A9", m68030|m68851 },
01869 {"ptestr", 2, one(0xf568),         one(0xfff8), "as", m68040 },
01870 
01871 {"ptestw", 4,        two(0xf000,0x8010), two(0xffc0,0xe3f0), "T3&st8", m68030|m68851 },
01872 {"ptestw", 4,        two(0xf000,0x8110), two(0xffc0,0xe310), "T3&st8A9", m68030|m68851 },
01873 {"ptestw", 4,        two(0xf000,0x8008), two(0xffc0,0xe3f8), "D3&st8", m68030|m68851 },
01874 {"ptestw", 4,        two(0xf000,0x8108), two(0xffc0,0xe318), "D3&st8A9", m68030|m68851 },
01875 {"ptestw", 4,        two(0xf000,0x8000), two(0xffc0,0xe3fe), "f3&st8", m68030|m68851 },
01876 {"ptestw", 4,        two(0xf000,0x8100), two(0xffc0,0xe31e), "f3&st8A9", m68030|m68851 },
01877 {"ptestw", 2, one(0xf548),         one(0xfff8), "as", m68040 },
01878 
01879 {"ptrapacw", 6,      two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w", m68851 },
01880 {"ptrapacl", 6,      two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l", m68851 },
01881 {"ptrapac", 4,       two(0xf07c, 0x0007), two(0xffff, 0xffff), "",   m68851 },
01882 
01883 {"ptrapasw", 6,      two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w", m68851 },
01884 {"ptrapasl", 6,      two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l", m68851 },
01885 {"ptrapas", 4,       two(0xf07c, 0x0006), two(0xffff, 0xffff), "",   m68851 },
01886 
01887 {"ptrapbcw", 6,      two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w", m68851 },
01888 {"ptrapbcl", 6,      two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l", m68851 },
01889 {"ptrapbc", 4,       two(0xf07c, 0x0001), two(0xffff, 0xffff), "",   m68851 },
01890 
01891 {"ptrapbsw", 6,      two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w", m68851 },
01892 {"ptrapbsl", 6,      two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l", m68851 },
01893 {"ptrapbs", 4,       two(0xf07c, 0x0000), two(0xffff, 0xffff), "",   m68851 },
01894 
01895 {"ptrapccw", 6,      two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w", m68851 },
01896 {"ptrapccl", 6,      two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l", m68851 },
01897 {"ptrapcc", 4,       two(0xf07c, 0x000f), two(0xffff, 0xffff), "",   m68851 },
01898 
01899 {"ptrapcsw", 6,      two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w", m68851 },
01900 {"ptrapcsl", 6,      two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l", m68851 },
01901 {"ptrapcs", 4,       two(0xf07c, 0x000e), two(0xffff, 0xffff), "",   m68851 },
01902 
01903 {"ptrapgcw", 6,      two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w", m68851 },
01904 {"ptrapgcl", 6,      two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l", m68851 },
01905 {"ptrapgc", 4,       two(0xf07c, 0x000d), two(0xffff, 0xffff), "",   m68851 },
01906 
01907 {"ptrapgsw", 6,      two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w", m68851 },
01908 {"ptrapgsl", 6,      two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l", m68851 },
01909 {"ptrapgs", 4,       two(0xf07c, 0x000c), two(0xffff, 0xffff), "",   m68851 },
01910 
01911 {"ptrapicw", 6,      two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w", m68851 },
01912 {"ptrapicl", 6,      two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l", m68851 },
01913 {"ptrapic", 4,       two(0xf07c, 0x000b), two(0xffff, 0xffff), "",   m68851 },
01914 
01915 {"ptrapisw", 6,      two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w", m68851 },
01916 {"ptrapisl", 6,      two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l", m68851 },
01917 {"ptrapis", 4,       two(0xf07c, 0x000a), two(0xffff, 0xffff), "",   m68851 },
01918 
01919 {"ptraplcw", 6,      two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w", m68851 },
01920 {"ptraplcl", 6,      two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l", m68851 },
01921 {"ptraplc", 4,       two(0xf07c, 0x0003), two(0xffff, 0xffff), "",   m68851 },
01922 
01923 {"ptraplsw", 6,      two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w", m68851 },
01924 {"ptraplsl", 6,      two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l", m68851 },
01925 {"ptrapls", 4,       two(0xf07c, 0x0002), two(0xffff, 0xffff), "",   m68851 },
01926 
01927 {"ptrapscw", 6,      two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w", m68851 },
01928 {"ptrapscl", 6,      two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l", m68851 },
01929 {"ptrapsc", 4,       two(0xf07c, 0x0005), two(0xffff, 0xffff), "",   m68851 },
01930 
01931 {"ptrapssw", 6,      two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w", m68851 },
01932 {"ptrapssl", 6,      two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l", m68851 },
01933 {"ptrapss", 4,       two(0xf07c, 0x0004), two(0xffff, 0xffff), "",   m68851 },
01934 
01935 {"ptrapwcw", 6,      two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w", m68851 },
01936 {"ptrapwcl", 6,      two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l", m68851 },
01937 {"ptrapwc", 4,       two(0xf07c, 0x0009), two(0xffff, 0xffff), "",   m68851 },
01938 
01939 {"ptrapwsw", 6,      two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w", m68851 },
01940 {"ptrapwsl", 6,      two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l", m68851 },
01941 {"ptrapws", 4,       two(0xf07c, 0x0008), two(0xffff, 0xffff), "",   m68851 },
01942 
01943 {"pulse", 2,  one(0045314),        one(0177777), "", m68060 | mcfisa_a },
01944 
01945 {"pvalid", 4, two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s", m68851 },
01946 {"pvalid", 4, two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s", m68851 },
01947 
01948   /* FIXME: don't allow Dw==Dx. */
01949 {"remsl", 4,    two(0x4c40, 0x0800),    two(0xffc0, 0x8ff8), "qsD3D1", mcfhwdiv },
01950 {"remul", 4,    two(0x4c40, 0x0000),    two(0xffc0, 0x8ff8), "qsD3D1", mcfhwdiv },
01951 
01952 {"reset", 2,  one(0047160),        one(0177777), "", m68000up },
01953 
01954 {"rolb", 2,   one(0160430),        one(0170770), "QdDs", m68000up },
01955 {"rolb", 2,   one(0160470),        one(0170770), "DdDs", m68000up },
01956 {"rolw", 2,   one(0160530),        one(0170770), "QdDs", m68000up },
01957 {"rolw", 2,   one(0160570),        one(0170770), "DdDs", m68000up },
01958 {"rolw", 2,   one(0163700),        one(0177700), "~s",   m68000up },
01959 {"roll", 2,   one(0160630),        one(0170770), "QdDs", m68000up },
01960 {"roll", 2,   one(0160670),        one(0170770), "DdDs", m68000up },
01961 
01962 {"rorb", 2,   one(0160030),        one(0170770), "QdDs", m68000up },
01963 {"rorb", 2,   one(0160070),        one(0170770), "DdDs", m68000up },
01964 {"rorw", 2,   one(0160130),        one(0170770), "QdDs", m68000up },
01965 {"rorw", 2,   one(0160170),        one(0170770), "DdDs", m68000up },
01966 {"rorw", 2,   one(0163300),        one(0177700), "~s",   m68000up },
01967 {"rorl", 2,   one(0160230),        one(0170770), "QdDs", m68000up },
01968 {"rorl", 2,   one(0160270),        one(0170770), "DdDs", m68000up },
01969 
01970 {"roxlb", 2,  one(0160420),        one(0170770), "QdDs", m68000up },
01971 {"roxlb", 2,  one(0160460),        one(0170770), "DdDs", m68000up },
01972 {"roxlw", 2,  one(0160520),        one(0170770), "QdDs", m68000up },
01973 {"roxlw", 2,  one(0160560),        one(0170770), "DdDs", m68000up },
01974 {"roxlw", 2,  one(0162700),        one(0177700), "~s",   m68000up },
01975 {"roxll", 2,  one(0160620),        one(0170770), "QdDs", m68000up },
01976 {"roxll", 2,  one(0160660),        one(0170770), "DdDs", m68000up },
01977 
01978 {"roxrb", 2,  one(0160020),        one(0170770), "QdDs", m68000up },
01979 {"roxrb", 2,  one(0160060),        one(0170770), "DdDs", m68000up },
01980 {"roxrw", 2,  one(0160120),        one(0170770), "QdDs", m68000up },
01981 {"roxrw", 2,  one(0160160),        one(0170770), "DdDs", m68000up },
01982 {"roxrw", 2,  one(0162300),        one(0177700), "~s",   m68000up },
01983 {"roxrl", 2,  one(0160220),        one(0170770), "QdDs", m68000up },
01984 {"roxrl", 2,  one(0160260),        one(0170770), "DdDs", m68000up },
01985 
01986 {"rtd", 4,    one(0047164),        one(0177777), "#w", m68010up },
01987               
01988 {"rte", 2,    one(0047163),        one(0177777), "",   m68000up | mcfisa_a },
01989               
01990 {"rtm", 2,    one(0003300),        one(0177760), "Rs", m68020 },
01991               
01992 {"rtr", 2,    one(0047167),        one(0177777), "",   m68000up },
01993               
01994 {"rts", 2,    one(0047165),        one(0177777), "",   m68000up | mcfisa_a },
01995 
01996 {"satsl", 2,  one(0046200),        one(0177770), "Ds", mcfisa_b },
01997 
01998 {"sbcd", 2,   one(0100400),        one(0170770), "DsDd", m68000up },
01999 {"sbcd", 2,   one(0100410),        one(0170770), "-s-d", m68000up },
02000 
02001   /* Traps have to come before conditional sets, as they have a more
02002      specific opcode.  */
02003 {"trapcc", 2, one(0052374), one(0177777), "", m68020up | cpu32 | fido_a },
02004 {"trapcs", 2, one(0052774), one(0177777), "", m68020up | cpu32 | fido_a },
02005 {"trapeq", 2, one(0053774), one(0177777), "", m68020up | cpu32 | fido_a },
02006 {"tpf", 2,    one(0050774), one(0177777), "", mcfisa_a },
02007 {"trapf", 2,  one(0050774), one(0177777), "", m68020up | cpu32 | fido_a | mcfisa_a },
02008 {"trapge", 2, one(0056374), one(0177777), "", m68020up | cpu32 | fido_a },
02009 {"trapgt", 2, one(0057374), one(0177777), "", m68020up | cpu32 | fido_a },
02010 {"traphi", 2, one(0051374), one(0177777), "", m68020up | cpu32 | fido_a },
02011 {"traple", 2, one(0057774), one(0177777), "", m68020up | cpu32 | fido_a },
02012 {"trapls", 2, one(0051774), one(0177777), "", m68020up | cpu32 | fido_a },
02013 {"traplt", 2, one(0056774), one(0177777), "", m68020up | cpu32 | fido_a },
02014 {"trapmi", 2, one(0055774), one(0177777), "", m68020up | cpu32 | fido_a },
02015 {"trapne", 2, one(0053374), one(0177777), "", m68020up | cpu32 | fido_a },
02016 {"trappl", 2, one(0055374), one(0177777), "", m68020up | cpu32 | fido_a },
02017 {"trapt", 2,  one(0050374), one(0177777), "", m68020up | cpu32 | fido_a },
02018 {"trapvc", 2, one(0054374), one(0177777), "", m68020up | cpu32 | fido_a },
02019 {"trapvs", 2, one(0054774), one(0177777), "", m68020up | cpu32 | fido_a },
02020 
02021 {"trapccw", 4,       one(0052372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02022 {"trapcsw", 4,       one(0052772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02023 {"trapeqw", 4,       one(0053772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02024 {"tpfw", 4,   one(0050772), one(0177777), "#w", mcfisa_a},
02025 {"trapfw", 4, one(0050772), one(0177777), "#w", m68020up | cpu32 | fido_a | mcfisa_a},
02026 {"trapgew", 4,       one(0056372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02027 {"trapgtw", 4,       one(0057372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02028 {"traphiw", 4,       one(0051372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02029 {"traplew", 4,       one(0057772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02030 {"traplsw", 4,       one(0051772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02031 {"trapltw", 4,       one(0056772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02032 {"trapmiw", 4,       one(0055772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02033 {"trapnew", 4,       one(0053372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02034 {"trapplw", 4,       one(0055372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02035 {"traptw", 4, one(0050372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02036 {"trapvcw", 4,       one(0054372), one(0177777), "#w", m68020up | cpu32 | fido_a },
02037 {"trapvsw", 4,       one(0054772), one(0177777), "#w", m68020up | cpu32 | fido_a },
02038 
02039 {"trapccl", 6,       one(0052373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02040 {"trapcsl", 6,       one(0052773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02041 {"trapeql", 6,       one(0053773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02042 {"tpfl", 6,   one(0050773), one(0177777), "#l", mcfisa_a},
02043 {"trapfl", 6, one(0050773), one(0177777), "#l", m68020up | cpu32 | fido_a | mcfisa_a},
02044 {"trapgel", 6,       one(0056373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02045 {"trapgtl", 6,       one(0057373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02046 {"traphil", 6,       one(0051373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02047 {"traplel", 6,       one(0057773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02048 {"traplsl", 6,       one(0051773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02049 {"trapltl", 6,       one(0056773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02050 {"trapmil", 6,       one(0055773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02051 {"trapnel", 6,       one(0053373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02052 {"trappll", 6,       one(0055373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02053 {"traptl", 6, one(0050373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02054 {"trapvcl", 6,       one(0054373), one(0177777), "#l", m68020up | cpu32 | fido_a },
02055 {"trapvsl", 6,       one(0054773), one(0177777), "#l", m68020up | cpu32 | fido_a },
02056 
02057 {"trapv", 2,  one(0047166), one(0177777), "", m68000up },
02058 
02059 {"scc", 2,    one(0052300), one(0177700), "$s", m68000up },
02060 {"scc", 2,    one(0052300), one(0177700), "Ds", mcfisa_a },
02061 {"scs", 2,    one(0052700), one(0177700), "$s", m68000up },
02062 {"scs", 2,    one(0052700), one(0177700), "Ds", mcfisa_a },
02063 {"seq", 2,    one(0053700), one(0177700), "$s", m68000up },
02064 {"seq", 2,    one(0053700), one(0177700), "Ds", mcfisa_a },
02065 {"sf", 2,     one(0050700), one(0177700), "$s", m68000up },
02066 {"sf", 2,     one(0050700), one(0177700), "Ds", mcfisa_a },
02067 {"sge", 2,    one(0056300), one(0177700), "$s", m68000up },
02068 {"sge", 2,    one(0056300), one(0177700), "Ds", mcfisa_a },
02069 {"sgt", 2,    one(0057300), one(0177700), "$s", m68000up },
02070 {"sgt", 2,    one(0057300), one(0177700), "Ds", mcfisa_a },
02071 {"shi", 2,    one(0051300), one(0177700), "$s", m68000up },
02072 {"shi", 2,    one(0051300), one(0177700), "Ds", mcfisa_a },
02073 {"sle", 2,    one(0057700), one(0177700), "$s", m68000up },
02074 {"sle", 2,    one(0057700), one(0177700), "Ds", mcfisa_a },
02075 {"sls", 2,    one(0051700), one(0177700), "$s", m68000up },
02076 {"sls", 2,    one(0051700), one(0177700), "Ds", mcfisa_a },
02077 {"slt", 2,    one(0056700), one(0177700), "$s", m68000up },
02078 {"slt", 2,    one(0056700), one(0177700), "Ds", mcfisa_a },
02079 {"smi", 2,    one(0055700), one(0177700), "$s", m68000up },
02080 {"smi", 2,    one(0055700), one(0177700), "Ds", mcfisa_a },
02081 {"sne", 2,    one(0053300), one(0177700), "$s", m68000up },
02082 {"sne", 2,    one(0053300), one(0177770), "Ds", mcfisa_a },
02083 {"spl", 2,    one(0055300), one(0177700), "$s", m68000up },
02084 {"spl", 2,    one(0055300), one(0177770), "Ds", mcfisa_a },
02085 {"st", 2,     one(0050300), one(0177700), "$s", m68000up },
02086 {"st", 2,     one(0050300), one(0177770), "Ds", mcfisa_a },
02087 {"svc", 2,    one(0054300), one(0177700), "$s", m68000up },
02088 {"svc", 2,    one(0054300), one(0177770), "Ds", mcfisa_a },
02089 {"svs", 2,    one(0054700), one(0177700), "$s", m68000up },
02090 {"svs", 2,    one(0054700), one(0177770), "Ds", mcfisa_a },
02091 
02092 {"sleep", 2,  one(0047170), one(0177777), "", fido_a },
02093 
02094 {"stop", 4,   one(0047162), one(0177777), "#w", m68000up | mcfisa_a },
02095 
02096 {"strldsr", 4, two(0040347,0043374), two(0177777,0177777), "#w", mcfisa_aa},
02097 
02098 {"subal", 2,  one(0110700), one(0170700), "*lAd", m68000up | mcfisa_a },
02099 {"subaw", 2,  one(0110300), one(0170700), "*wAd", m68000up },
02100 
02101 {"subib", 4,  one(0002000), one(0177700), "#b$s", m68000up },
02102 {"subiw", 4,  one(0002100), one(0177700), "#w$s", m68000up },
02103 {"subil", 6,  one(0002200), one(0177700), "#l$s", m68000up },
02104 {"subil", 6,  one(0002200), one(0177700), "#lDs", mcfisa_a },
02105 
02106 {"subqb", 2,  one(0050400), one(0170700), "Qd%s", m68000up },
02107 {"subqw", 2,  one(0050500), one(0170700), "Qd%s", m68000up },
02108 {"subql", 2,  one(0050600), one(0170700), "Qd%s", m68000up | mcfisa_a },
02109 
02110 /* The sub opcode can generate the suba, subi, and subq instructions.  */
02111 {"subb", 2,   one(0050400), one(0170700), "Qd%s", m68000up },
02112 {"subb", 4,   one(0002000), one(0177700), "#b$s", m68000up },
02113 {"subb", 2,   one(0110000), one(0170700), ";bDd", m68000up },
02114 {"subb", 2,   one(0110400), one(0170700), "Dd~s", m68000up },
02115 {"subw", 2,   one(0050500), one(0170700), "Qd%s", m68000up },
02116 {"subw", 4,   one(0002100), one(0177700), "#w$s", m68000up },
02117 {"subw", 2,   one(0110300), one(0170700), "*wAd", m68000up },
02118 {"subw", 2,   one(0110100), one(0170700), "*wDd", m68000up },
02119 {"subw", 2,   one(0110500), one(0170700), "Dd~s", m68000up },
02120 {"subl", 2,   one(0050600), one(0170700), "Qd%s", m68000up | mcfisa_a },
02121 {"subl", 6,   one(0002200), one(0177700), "#l$s", m68000up },
02122 {"subl", 6,   one(0002200), one(0177700), "#lDs", mcfisa_a },
02123 {"subl", 2,   one(0110700), one(0170700), "*lAd", m68000up | mcfisa_a },
02124 {"subl", 2,   one(0110200), one(0170700), "*lDd", m68000up | mcfisa_a },
02125 {"subl", 2,   one(0110600), one(0170700), "Dd~s", m68000up | mcfisa_a },
02126 
02127 {"subxb", 2,  one(0110400), one(0170770), "DsDd", m68000up },
02128 {"subxb", 2,  one(0110410), one(0170770), "-s-d", m68000up },
02129 {"subxw", 2,  one(0110500), one(0170770), "DsDd", m68000up },
02130 {"subxw", 2,  one(0110510), one(0170770), "-s-d", m68000up },
02131 {"subxl", 2,  one(0110600), one(0170770), "DsDd", m68000up | mcfisa_a },
02132 {"subxl", 2,  one(0110610), one(0170770), "-s-d", m68000up },
02133 
02134 {"swap", 2,   one(0044100), one(0177770), "Ds", m68000up | mcfisa_a },
02135 
02136 /* swbeg and swbegl are magic constants used on sysV68.  The compiler
02137    generates them before a switch table.  They tell the debugger and
02138    disassembler that a switch table follows.  The parameter is the
02139    number of elements in the table.  swbeg means that the entries in
02140    the table are word (2 byte) sized, and swbegl means that the
02141    entries in the table are longword (4 byte) sized.  */
02142 {"swbeg", 4,  one(0045374), one(0177777), "#w",   m68000up | mcfisa_a },
02143 {"swbegl", 6, one(0045375), one(0177777), "#l",   m68000up | mcfisa_a },
02144 
02145 {"tas", 2,    one(0045300), one(0177700), "$s", m68000up | mcfisa_b},
02146 
02147 #define TBL1(name,insn_size,signed,round,size)                               \
02148   {name, insn_size, two(0174000, (signed<<11)|(!round<<10)|(size<<6)|0000400),      \
02149      two(0177700,0107777), "!sD1", cpu32 },                           \
02150   {name, insn_size, two(0174000, (signed<<11)|(!round<<10)|(size<<6)),              \
02151      two(0177770,0107770), "DsD3D1", cpu32 }
02152 #define TBL(name1, name2, name3, s, r) \
02153   TBL1(name1, 4, s, r, 0), TBL1(name2, 4, s, r, 1), TBL1(name3, 4, s, r, 2)
02154 TBL("tblsb", "tblsw", "tblsl", 1, 1),
02155 TBL("tblsnb", "tblsnw", "tblsnl", 1, 0),
02156 TBL("tblub", "tbluw", "tblul", 0, 1),
02157 TBL("tblunb", "tblunw", "tblunl", 0, 0),
02158 
02159 {"trap", 2,   one(0047100), one(0177760), "Ts", m68000up | mcfisa_a },
02160 
02161 {"trapx", 2,  one(0047060), one(0177760), "Ts", fido_a },
02162 
02163 {"tstb", 2,   one(0045000), one(0177700), ";b", m68020up | cpu32 | fido_a | mcfisa_a },
02164 {"tstb", 2,   one(0045000), one(0177700), "$b", m68000up },
02165 {"tstw", 2,   one(0045100), one(0177700), "*w", m68020up | cpu32 | fido_a | mcfisa_a },
02166 {"tstw", 2,   one(0045100), one(0177700), "$w", m68000up },
02167 {"tstl", 2,   one(0045200), one(0177700), "*l", m68020up | cpu32 | fido_a | mcfisa_a },
02168 {"tstl", 2,   one(0045200), one(0177700), "$l", m68000up },
02169 
02170 {"unlk", 2,   one(0047130), one(0177770), "As", m68000up | mcfisa_a },
02171 
02172 {"unpk", 4,   one(0100600), one(0170770), "DsDd#w", m68020up },
02173 {"unpk", 4,   one(0100610), one(0170770), "-s-d#w", m68020up },
02174 
02175 {"wddatab", 2,       one(0175400),   one(0177700), "~s", mcfisa_a },
02176 {"wddataw", 2,       one(0175500),   one(0177700), "~s", mcfisa_a },
02177 {"wddatal", 2,       one(0175600),   one(0177700), "~s", mcfisa_a },
02178 
02179 {"wdebug", 4, two(0175720, 03),    two(0177770, 0xffff), "as", mcfisa_a },
02180 {"wdebug", 4, two(0175750, 03),    two(0177770, 0xffff), "ds", mcfisa_a },
02181 };
02182 
02183 const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];
02184 
02185 /* These aliases used to be in the above table, each one duplicating
02186    all of the entries for its primary exactly.  This table was
02187    constructed by mechanical processing of the opcode table, with a
02188    small number of tweaks done by hand.  There are probably a lot more
02189    aliases above that could be moved down here, except for very minor
02190    differences.  */
02191 
02192 const struct m68k_opcode_alias m68k_opcode_aliases[] =
02193 {
02194   { "add",    "addw", },
02195   { "adda",   "addaw", },
02196   { "addi",   "addiw", },
02197   { "addq",   "addqw", },
02198   { "addx",   "addxw", },
02199   { "asl",    "aslw", },
02200   { "asr",    "asrw", },
02201   { "bhi",    "bhiw", },
02202   { "bls",    "blsw", },
02203   { "bcc",    "bccw", },
02204   { "bcs",    "bcsw", },
02205   { "bne",    "bnew", },
02206   { "beq",    "beqw", },
02207   { "bvc",    "bvcw", },
02208   { "bvs",    "bvsw", },
02209   { "bpl",    "bplw", },
02210   { "bmi",    "bmiw", },
02211   { "bge",    "bgew", },
02212   { "blt",    "bltw", },
02213   { "bgt",    "bgtw", },
02214   { "ble",    "blew", },
02215   { "bra",    "braw", },
02216   { "bsr",    "bsrw", },
02217   { "bhib",   "bhis", },
02218   { "blsb",   "blss", },
02219   { "bccb",   "bccs", },
02220   { "bcsb",   "bcss", },
02221   { "bneb",   "bnes", },
02222   { "beqb",   "beqs", },
02223   { "bvcb",   "bvcs", },
02224   { "bvsb",   "bvss", },
02225   { "bplb",   "bpls", },
02226   { "bmib",   "bmis", },
02227   { "bgeb",   "bges", },
02228   { "bltb",   "blts", },
02229   { "bgtb",   "bgts", },
02230   { "bleb",   "bles", },
02231   { "brab",   "bras", },
02232   { "bsrb",   "bsrs", },
02233   { "bhs",    "bccw" },
02234   { "bhss",   "bccs" },
02235   { "bhsb",   "bccs" },
02236   { "bhsw",   "bccw" },
02237   { "bhsl",   "bccl" },
02238   { "blo",    "bcsw" },
02239   { "blos",   "bcss" },
02240   { "blob",   "bcss" },
02241   { "blow",   "bcsw" },
02242   { "blol",   "bcsl" },
02243   { "br",     "braw", },
02244   { "brs",    "bras", },
02245   { "brb",    "bras", },
02246   { "brw",    "braw", },
02247   { "brl",    "bral", },
02248   { "jfnlt",  "bcc", },     /* Apparently a sun alias.  */
02249   { "jfngt",  "ble", },     /* Apparently a sun alias.  */
02250   { "jfeq",   "beqs", },    /* Apparently a sun alias.  */
02251   { "bchgb",  "bchg", },
02252   { "bchgl",  "bchg", },
02253   { "bclrb",  "bclr", },
02254   { "bclrl",  "bclr", },
02255   { "bsetb",  "bset", },
02256   { "bsetl",  "bset", },
02257   { "btstb",  "btst", },
02258   { "btstl",  "btst", },
02259   { "cas2",   "cas2w", },
02260   { "cas",    "casw", },
02261   { "chk2",   "chk2w", },
02262   { "chk",    "chkw", },
02263   { "clr",    "clrw", },
02264   { "cmp2",   "cmp2w", },
02265   { "cmpa",   "cmpaw", },
02266   { "cmpi",   "cmpiw", },
02267   { "cmpm",   "cmpmw", },
02268   { "cmp",    "cmpw", },
02269   { "dbccw",  "dbcc", },
02270   { "dbcsw",  "dbcs", },
02271   { "dbeqw",  "dbeq", },
02272   { "dbfw",   "dbf", },
02273   { "dbgew",  "dbge", },
02274   { "dbgtw",  "dbgt", },
02275   { "dbhiw",  "dbhi", },
02276   { "dblew",  "dble", },
02277   { "dblsw",  "dbls", },
02278   { "dbltw",  "dblt", },
02279   { "dbmiw",  "dbmi", },
02280   { "dbnew",  "dbne", },
02281   { "dbplw",  "dbpl", },
02282   { "dbtw",   "dbt", },
02283   { "dbvcw",  "dbvc", },
02284   { "dbvsw",  "dbvs", },
02285   { "dbhs",   "dbcc", },
02286   { "dbhsw",  "dbcc", },
02287   { "dbra",   "dbf", },
02288   { "dbraw",  "dbf", },
02289   { "tdivsl", "divsl", },
02290   { "divs",   "divsw", },
02291   { "divu",   "divuw", },
02292   { "ext",    "extw", },
02293   { "extbw",  "extw", },
02294   { "extwl",  "extl", },
02295   { "fbneq",  "fbne", },
02296   { "fbsneq", "fbsne", },
02297   { "fdbneq", "fdbne", },
02298   { "fdbsneq",       "fdbsne", },
02299   { "fmovecr",       "fmovecrx", },
02300   { "fmovm",  "fmovem", },
02301   { "fsneq",  "fsne", },
02302   { "fssneq", "fssne", },
02303   { "ftrapneq",      "ftrapne", },
02304   { "ftrapsneq", "ftrapsne", },
02305   { "fjneq",  "fjne", },
02306   { "fjsneq", "fjsne", },
02307   { "jmpl",   "jmp", },
02308   { "jmps",   "jmp", },
02309   { "jsrl",   "jsr", },
02310   { "jsrs",   "jsr", },
02311   { "leal",   "lea", },
02312   { "lsl",    "lslw", },
02313   { "lsr",    "lsrw", },
02314   { "mac",    "macw" },
02315   { "movea",  "moveaw", },
02316   { "movem",  "movemw", },
02317   { "movml",  "moveml", },
02318   { "movmw",  "movemw", },
02319   { "movm",   "movemw", },
02320   { "movep",  "movepw", },
02321   { "movpw",  "movepw", },
02322   { "moves",  "movesw" },
02323   { "muls",   "mulsw", },
02324   { "mulu",   "muluw", },
02325   { "msac",   "msacw" },
02326   { "nbcdb",  "nbcd" },
02327   { "neg",    "negw", },
02328   { "negx",   "negxw", },
02329   { "not",    "notw", },
02330   { "peal",   "pea", },
02331   { "rol",    "rolw", },
02332   { "ror",    "rorw", },
02333   { "roxl",   "roxlw", },
02334   { "roxr",   "roxrw", },
02335   { "sats",   "satsl", },
02336   { "sbcdb",  "sbcd", },
02337   { "sccb",   "scc", },
02338   { "scsb",   "scs", },
02339   { "seqb",   "seq", },
02340   { "sfb",    "sf", },
02341   { "sgeb",   "sge", },
02342   { "sgtb",   "sgt", },
02343   { "shib",   "shi", },
02344   { "sleb",   "sle", },
02345   { "slsb",   "sls", },
02346   { "sltb",   "slt", },
02347   { "smib",   "smi", },
02348   { "sneb",   "sne", },
02349   { "splb",   "spl", },
02350   { "stb",    "st", },
02351   { "svcb",   "svc", },
02352   { "svsb",   "svs", },
02353   { "sfge",   "sge", },
02354   { "sfgt",   "sgt", },
02355   { "sfle",   "sle", },
02356   { "sflt",   "slt", },
02357   { "sfneq",  "sne", },
02358   { "suba",   "subaw", },
02359   { "subi",   "subiw", },
02360   { "subq",   "subqw", },
02361   { "sub",    "subw", },
02362   { "subx",   "subxw", },
02363   { "swapw",  "swap", },
02364   { "tasb",   "tas", },
02365   { "tpcc",   "trapcc", },
02366   { "tcc",    "trapcc", },
02367   { "tst",    "tstw", },
02368   { "jbra",   "jra", },
02369   { "jbhi",   "jhi", },
02370   { "jbls",   "jls", },
02371   { "jbcc",   "jcc", },
02372   { "jbcs",   "jcs", },
02373   { "jbne",   "jne", },
02374   { "jbeq",   "jeq", },
02375   { "jbvc",   "jvc", },
02376   { "jbvs",   "jvs", },
02377   { "jbpl",   "jpl", },
02378   { "jbmi",   "jmi", },
02379   { "jbge",   "jge", },
02380   { "jblt",   "jlt", },
02381   { "jbgt",   "jgt", },
02382   { "jble",   "jle", },
02383   { "movql",  "moveq", },
02384   { "moveql", "moveq", },
02385   { "movl",   "movel", },
02386   { "movq",   "moveq", },
02387   { "moval",  "moveal", },
02388   { "movaw",  "moveaw", },
02389   { "movb",   "moveb", },
02390   { "movc",   "movec", },
02391   { "movecl", "movec", },
02392   { "movpl",  "movepl", },
02393   { "movw",   "movew", },
02394   { "movsb",  "movesb", },
02395   { "movsl",  "movesl", },
02396   { "movsw",  "movesw", },
02397   { "mov3q",  "mov3ql", },
02398 
02399   { "tdivul", "divul", },   /* For m68k-svr4.  */
02400   { "fmovb",  "fmoveb", },
02401   { "fsmovb", "fsmoveb", },
02402   { "fdmovb", "fdmoveb", },
02403   { "fmovd",  "fmoved", },
02404   { "fsmovd", "fsmoved", },
02405   { "fmovl",  "fmovel", },
02406   { "fsmovl", "fsmovel", },
02407   { "fdmovl", "fdmovel", },
02408   { "fmovp",  "fmovep", },
02409   { "fsmovp", "fsmovep", },
02410   { "fdmovp", "fdmovep", },
02411   { "fmovs",  "fmoves", },
02412   { "fsmovs", "fsmoves", },
02413   { "fdmovs", "fdmoves", },
02414   { "fmovw",  "fmovew", },
02415   { "fsmovw", "fsmovew", },
02416   { "fdmovw", "fdmovew", },
02417   { "fmovx",  "fmovex", },
02418   { "fsmovx", "fsmovex", },
02419   { "fdmovx", "fdmovex", },
02420   { "fmovcr", "fmovecr", },
02421   { "fmovcrx",       "fmovecrx", },
02422   { "ftestb", "ftstb", },
02423   { "ftestd", "ftstd", },
02424   { "ftestl", "ftstl", },
02425   { "ftestp", "ftstp", },
02426   { "ftests", "ftsts", },
02427   { "ftestw", "ftstw", },
02428   { "ftestx", "ftstx", },
02429 
02430   { "bitrevl",  "bitrev", },
02431   { "byterevl", "byterev", },
02432   { "ff1l",     "ff1", },
02433 
02434 };
02435 
02436 const int m68k_numaliases =
02437   sizeof m68k_opcode_aliases / sizeof m68k_opcode_aliases[0];