1/* Opcode table for m68000/m68020 and m68881. 2 Copyright (C) 1989, Free Software Foundation. 3 4This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. 5 6Both GDB and GAS are free software; you can redistribute and/or modify 7it under the terms of the GNU General Public License as published by 8the Free Software Foundation; either version 1, or (at your option) 9any later version. 10 11GDB and GAS are distributed in the hope that it will be useful, 12but WITHOUT ANY WARRANTY; without even the implied warranty of 13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14GNU General Public License for more details. 15 16You should have received a copy of the GNU General Public License 17along with GDB or GAS; see the file COPYING. If not, write to 18the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ 19 20#include <stdint.h> 21 22struct m68k_opcode 23{ 24 char *name; 25 uint32_t opcode; 26 uint32_t match; 27 char *args; 28 char *cpus; 29}; 30 31/* We store four bytes of opcode for all opcodes because that 32 is the most any of them need. The actual length of an instruction 33 is always at least 2 bytes, and is as much longer as necessary to 34 hold the operands it has. 35 36 The match component is a mask saying which bits must match 37 particular opcode in order for an instruction to be an instance 38 of that opcode. 39 40 The args component is a string containing two characters 41 for each operand of the instruction. The first specifies 42 the kind of operand; the second, the place it is stored. */ 43 44/* Kinds of operands: 45 D data register only. Stored as 3 bits. 46 A address register only. Stored as 3 bits. 47 R either kind of register. Stored as 4 bits. 48 F floating point coprocessor register only. Stored as 3 bits. 49 O an offset (or width): immediate data 0-31 or data register. 50 Stored as 6 bits in special format for BF... insns. 51 + autoincrement only. Stored as 3 bits (number of the address register). 52 - autodecrement only. Stored as 3 bits (number of the address register). 53 Q quick immediate data. Stored as 3 bits. 54 This matches an immediate operand only when value is in range 1 .. 8. 55 M moveq immediate data. Stored as 8 bits. 56 This matches an immediate operand only when value is in range -128..127 57 T trap vector immediate data. Stored as 4 bits. 58 59 k K-factor for fmove.p instruction. Stored as a 7-bit constant or 60 a three bit register offset, depending on the field type. 61 62 # immediate data. Stored in special places (b, w or l) 63 which say how many bits to store. 64 ^ immediate data for floating point instructions. Special places 65 are offset by 2 bytes from '#'... 66 B pc-relative address, converted to an offset 67 that is treated as immediate data. 68 d displacement and register. Stores the register as 3 bits 69 and stores the displacement in the entire second word. 70 71 C the CCR. No need to store it; this is just for filtering validity. 72 S the SR. No need to store, just as with CCR. 73 U the USP. No need to store, just as with CCR. 74 75 I Coprocessor ID. Not printed if 1. The Coprocessor ID is always 76 extracted from the 'd' field of word one, which means that an extended 77 coprocessor opcode can be skipped using the 'i' place, if needed. 78 79 s System Control register for the floating point coprocessor. 80 S List of system control registers for floating point coprocessor. 81 82 J Misc register for movec instruction, stored in 'j' format. 83 Possible values: 84 000 SFC Source Function Code reg 85 001 DFC Data Function Code reg 86 002 CACR Cache Control Register 87 800 USP User Stack Pointer 88 801 VBR Vector Base reg 89 802 CAAR Cache Address Register 90 803 MSP Master Stack Pointer 91 804 ISP Interrupt Stack Pointer 92 93 L Register list of the type d0-d7/a0-a7 etc. 94 (New! Improved! Can also hold fp0-fp7, as well!) 95 The assembler tries to see if the registers match the insn by 96 looking at where the insn wants them stored. 97#ifdef NeXT_MOD 98 REGISTER LIST BUG: 99 The above "New! Improved!" feature has a bug it. The problem 100 with the way it "Can also hold fp0-fp7" is that the instruction 101 "fmovemx d0,a0@" fails unless the opcode table has all L and l kinds 102 after the D kind (which was the way the 1.36 GAS was). This happens 103 because in m68_ip() in m68k.c when matching the operands of the 104 instruction to the table entries it changes a DREG type operand to 105 a REGLIST type operand but after it matches (when it shouldn't have) 106 it figures out it has the wrong type of registers in the register list 107 and fails. So the fix is to put all L and l kinds last in the set 108 for each operand that uses them. 109#endif 110 111 l Register list like L, but with all the bits reversed. 112 Used for going the other way. . . 113 114 0 Address register indirect only 115 116 They are all stored as 6 bits using an address mode and a register number; 117 they differ in which addressing modes they match. 118 119 * all (modes 0-6,7.*) 120 ~ alterable memory (modes 2-6,7.0,7.1)(not 0,1,7.~) 121 % alterable (modes 0-6,7.0,7.1)(not 7.~) 122 ; data (modes 0,2-6,7.*)(not 1) 123 @ data, but not immediate (modes 0,2-6,7.? ? ?)(not 1,7.?) This may really be ;, the 68020 book says it is 124 ! control (modes 2,5,6,7.*-)(not 0,1,3,4,7.4) 125 & alterable control (modes 2,5,6,7.0,7.1)(not 0,1,7.? ? ?) 126 $ alterable data (modes 0,2-6,7.0,7.1)(not 1,7.~) 127 ? alterable control, or data register (modes 0,2,5,6,7.0,7.1)(not 1,3,4,7.~) 128 / control, or data register (modes 0,2,5,6,7.0,7.1,7.2,7.3)(not 1,3,4,7.4) 129*/ 130 131/* JF: for the 68851 */ 132/* 133 I didn't use much imagination in choosing the 134 following codes, so many of them aren't very 135 mnemonic. -rab 136 137 P pmmu register 138 Possible values: 139 000 TC Translation Control reg 140 100 CAL Current Access Level 141 101 VAL Validate Access Level 142 110 SCC Stack Change Control 143 111 AC Access Control 144 145 W wide pmmu registers 146 Possible values: 147 001 DRP Dma Root Pointer 148 010 SRP Supervisor Root Pointer 149 011 CRP Cpu Root Pointer 150 151(f - is also used for the 030 pflush instruction) 152 f function code register 153 0 SFC 154 1 DFC 155 156 V VAL register only 157 158 X BADx, BACx 159 100 BAD Breakpoint Acknowledge Data 160 101 BAC Breakpoint Acknowledge Control 161 162 Y PSR 163 Z PCSR 164 165 | memory (modes 2-6, 7.*) 166 167*/ 168 169/* for the builtin mmus (also see f above): 170 a SRP, CRP or TC registers (used for the 030 only) 171 Possible values: 172 010 SRP supervisor root pointer 173 011 CRP cpu root pointer 174 000 TC translation control register 175 b MMUSR register only (used for the 030 only) 176 d TT0 or TT1 registers (used for the 030 only) 177 Possible values: 178 010 TT0 transparent translation register 0 179 011 TT1 transparent translation register 1 180 181 c Cache selection (IC, DC or BC) (used for the 040 only) 182 Possible values: 183 10 IC instruction cache 184 01 DC data cache 185 11 BC baoth instruction and data caches 186*/ 187 188/* Places to put an operand, for non-general operands: 189 s source, low bits of first word. 190 d dest, shifted 9 in first word 191 1 second word, shifted 12 192 2 second word, shifted 6 193 3 second word, shifted 0 194 4 third word, shifted 12 195 5 third word, shifted 6 196 6 third word, shifted 0 197 7 second word, shifted 7 198 8 second word, shifted 10 199 9 second word, shifted 5 200 D store in both place 1 and place 3; for divul and divsl. 201 b second word, low byte 202 w second word (entire) 203#ifdef NeXT_MOD 204 z second word (entire) (also has long with the same form, the "link" inst) 205#endif 206 l second and third word (entire) 207 g branch offset for bra and similar instructions. 208 The place to store depends on the magnitude of offset. 209 t store in both place 7 and place 8; for floating point operations 210 c branch offset for cpBcc operations. 211 The place to store is word two if bit six of word one is zero, 212 and words two and three if bit six of word one is one. 213 i Increment by two, to skip over coprocessor extended operands. Only 214 works with the 'I' format. 215 k Dynamic K-factor field. Bits 6-4 of word 2, used as a register number. 216 Also used for dynamic fmovem instruction. 217 C floating point coprocessor constant - 7 bits. Also used for static 218 K-factors... 219 j Movec register #, stored in 12 low bits of second word. 220 S Cache indicator value, sorted in the first word shifted 6. 221 222 Places to put operand, for general operands: 223 d destination, shifted 6 bits in first word 224 b source, at low bit of first word, and immediate uses one byte 225 w source, at low bit of first word, and immediate uses two bytes 226 l source, at low bit of first word, and immediate uses four bytes 227 s source, at low bit of first word. 228 Used sometimes in contexts where immediate is not allowed anyway. 229 f single precision float, low bit of 1st word, immediate uses 4 bytes 230 F double precision float, low bit of 1st word, immediate uses 8 bytes 231 x extended precision float, low bit of 1st word, immediate uses 12 bytes 232 p packed float, low bit of 1st word, immediate uses 12 bytes 233*/ 234 235/* The cpus string indicates instructions that only execute on a specific 236 implementaion of the 68k processor family as defined by NeXT. This is used 237 to set the cpusubtype field in the mach_header of the output object file. 238 239 Here are the possible values: 240 2 Instruction is available on the MC68020 (only for callm and rtm) 241 3 Instruction is available on the MC68030 242 4 Instruction is available on the MC68040 243*/ 244 245#define one(x) ((x) << 16) 246#define two(x, y) (((x) << 16) + y) 247 248/* 249 *** DANGER WILL ROBINSON *** 250 251 The assembler requires that all instances of the same mnemonic must be 252 consecutive. If they aren't, the assembler will bomb at runtime 253 */ 254static const struct m68k_opcode m68k_opcodes[] = 255{ 256{"abcd", one(0140400), one(0170770), "DsDd"}, 257{"abcd", one(0140410), one(0170770), "-s-d"}, 258 259 /* Add instructions */ 260{"addal", one(0150700), one(0170700), "*lAd"}, 261{"addaw", one(0150300), one(0170700), "*wAd"}, 262{"addib", one(0003000), one(0177700), "#b$b"}, 263{"addil", one(0003200), one(0177700), "#l$l"}, 264{"addiw", one(0003100), one(0177700), "#w$w"}, 265{"addqb", one(0050000), one(0170700), "Qd$b"}, 266{"addql", one(0050200), one(0170700), "Qd%l"}, 267{"addqw", one(0050100), one(0170700), "Qd%w"}, 268 269{"addb", one(0050000), one(0170700), "Qd$b"}, /* addq written as add */ 270{"addb", one(0003000), one(0177700), "#b$b"}, /* addi written as add */ 271{"addb", one(0150000), one(0170700), ";bDd"}, /* addb <ea>, Dd */ 272{"addb", one(0150400), one(0170700), "Dd~b"}, /* addb Dd, <ea> */ 273 274{"addw", one(0050100), one(0170700), "Qd%w"}, /* addq written as add */ 275{"addw", one(0003100), one(0177700), "#w$w"}, /* addi written as add */ 276{"addw", one(0150300), one(0170700), "*wAd"}, /* adda written as add */ 277{"addw", one(0150100), one(0170700), "*wDd"}, /* addw <ea>, Dd */ 278{"addw", one(0150500), one(0170700), "Dd~w"}, /* addw Dd, <ea> */ 279 280{"addl", one(0050200), one(0170700), "Qd%l"}, /* addq written as add */ 281{"addl", one(0003200), one(0177700), "#l$l"}, /* addi written as add */ 282{"addl", one(0150700), one(0170700), "*lAd"}, /* adda written as add */ 283{"addl", one(0150200), one(0170700), "*lDd"}, /* addl <ea>, Dd */ 284{"addl", one(0150600), one(0170700), "Dd~l"}, /* addl Dd, <ea> */ 285 286{"addxb", one(0150400), one(0170770), "DsDd"}, 287{"addxb", one(0150410), one(0170770), "-s-d"}, 288{"addxl", one(0150600), one(0170770), "DsDd"}, 289{"addxl", one(0150610), one(0170770), "-s-d"}, 290{"addxw", one(0150500), one(0170770), "DsDd"}, 291{"addxw", one(0150510), one(0170770), "-s-d"}, 292 293{"andib", one(0001000), one(0177700), "#b$b"}, 294{"andib", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */ 295{"andiw", one(0001100), one(0177700), "#w$w"}, 296{"andiw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */ 297{"andil", one(0001200), one(0177700), "#l$l"}, 298 299{"andb", one(0001000), one(0177700), "#b$b"}, /* andi written as or */ 300{"andb", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */ 301{"andb", one(0140000), one(0170700), ";bDd"}, /* memory to register */ 302{"andb", one(0140400), one(0170700), "Dd~b"}, /* register to memory */ 303{"andw", one(0001100), one(0177700), "#w$w"}, /* andi written as or */ 304{"andw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */ 305{"andw", one(0140100), one(0170700), ";wDd"}, /* memory to register */ 306{"andw", one(0140500), one(0170700), "Dd~w"}, /* register to memory */ 307{"andl", one(0001200), one(0177700), "#l$l"}, /* andi written as or */ 308{"andl", one(0140200), one(0170700), ";lDd"}, /* memory to register */ 309{"andl", one(0140600), one(0170700), "Dd~l"}, /* register to memory */ 310 311{"aslb", one(0160400), one(0170770), "QdDs"}, 312{"aslb", one(0160440), one(0170770), "DdDs"}, 313{"asll", one(0160600), one(0170770), "QdDs"}, 314{"asll", one(0160640), one(0170770), "DdDs"}, 315{"aslw", one(0160500), one(0170770), "QdDs"}, 316{"aslw", one(0160540), one(0170770), "DdDs"}, 317{"aslw", one(0160700), one(0177700), "~s"}, /* Shift memory */ 318{"asrb", one(0160000), one(0170770), "QdDs"}, 319{"asrb", one(0160040), one(0170770), "DdDs"}, 320{"asrl", one(0160200), one(0170770), "QdDs"}, 321{"asrl", one(0160240), one(0170770), "DdDs"}, 322{"asrw", one(0160100), one(0170770), "QdDs"}, 323{"asrw", one(0160140), one(0170770), "DdDs"}, 324{"asrw", one(0160300), one(0177700), "~s"}, /* Shift memory */ 325 326{"bhi", one(0061000), one(0177400), "Bg"}, 327{"bls", one(0061400), one(0177400), "Bg"}, 328{"bcc", one(0062000), one(0177400), "Bg"}, 329{"bcs", one(0062400), one(0177400), "Bg"}, 330{"bne", one(0063000), one(0177400), "Bg"}, 331{"beq", one(0063400), one(0177400), "Bg"}, 332{"bvc", one(0064000), one(0177400), "Bg"}, 333{"bvs", one(0064400), one(0177400), "Bg"}, 334{"bpl", one(0065000), one(0177400), "Bg"}, 335{"bmi", one(0065400), one(0177400), "Bg"}, 336{"bge", one(0066000), one(0177400), "Bg"}, 337{"blt", one(0066400), one(0177400), "Bg"}, 338{"bgt", one(0067000), one(0177400), "Bg"}, 339{"ble", one(0067400), one(0177400), "Bg"}, 340 341{"bchg", one(0000500), one(0170700), "Dd$s"}, 342{"bchg", one(0004100), one(0177700), "#b$s"}, 343{"bclr", one(0000600), one(0170700), "Dd$s"}, 344{"bclr", one(0004200), one(0177700), "#b$s"}, 345{"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3"}, 346{"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3"}, 347{"bfexts", two(0165700, 0), two(0177700, 0100000), "/sO2O3D1"}, 348{"bfextu", two(0164700, 0), two(0177700, 0100000), "/sO2O3D1"}, 349{"bfffo", two(0166700, 0), two(0177700, 0100000), "/sO2O3D1"}, 350{"bfins", two(0167700, 0), two(0177700, 0100000), "D1?sO2O3"}, 351{"bfset", two(0167300, 0), two(0177700, 0170000), "?sO2O3"}, 352{"bftst", two(0164300, 0), two(0177700, 0170000), "/sO2O3"}, 353{"bset", one(0000700), one(0170700), "Dd$s"}, 354{"bset", one(0004300), one(0177700), "#b$s"}, 355{"btst", one(0000400), one(0170700), "Dd@s"}, 356{"btst", one(0004000), one(0177700), "#b@s"}, 357 358{"bkpt", one(0044110), one(0177770), "Qs"}, 359{"bra", one(0060000), one(0177400), "Bg"}, 360#ifdef NeXT_MOD 361{"bras", one(0060000), one(0177400), "Bg"}, 362#else 363{"bras", one(0060000), one(0177400), "Bw"}, 364#endif 365{"bsr", one(0060400), one(0177400), "Bg"}, 366#ifdef NeXT_MOD 367{"bsrs", one(0060400), one(0177400), "Bg"}, 368#else 369{"bsrs", one(0060400), one(0177400), "Bw"}, 370#endif 371 372{"callm", one(0003300), one(0177700), "#b!s", "2"}, 373{"cas2l", two(0007374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF FOO this is really a 3 word ins */ 374{"cas2w", two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF ditto */ 375{"casb", two(0005300, 0), two(0177700, 0177070), "D3D2~s"}, 376{"casl", two(0007300, 0), two(0177700, 0177070), "D3D2~s"}, 377{"casw", two(0006300, 0), two(0177700, 0177070), "D3D2~s"}, 378 379/* {"chk", one(0040600), one(0170700), ";wDd"}, JF FOO this looks wrong */ 380{"chk2b", two(0000300, 0004000), two(0177700, 07777), "!sR1"}, 381{"chk2l", two(0002300, 0004000), two(0177700, 07777), "!sR1"}, 382{"chk2w", two(0001300, 0004000), two(0177700, 07777), "!sR1"}, 383{"chkl", one(0040400), one(0170700), ";lDd"}, 384{"chkw", one(0040600), one(0170700), ";wDd"}, 385{"clrb", one(0041000), one(0177700), "$s"}, 386{"clrl", one(0041200), one(0177700), "$s"}, 387{"clrw", one(0041100), one(0177700), "$s"}, 388 389{"cmp2b", two(0000300, 0), two(0177700, 07777), "!sR1"}, 390{"cmp2l", two(0002300, 0), two(0177700, 07777), "!sR1"}, 391{"cmp2w", two(0001300, 0), two(0177700, 07777), "!sR1"}, 392{"cmpal", one(0130700), one(0170700), "*lAd"}, 393{"cmpaw", one(0130300), one(0170700), "*wAd"}, 394{"cmpib", one(0006000), one(0177700), "#b;b"}, 395{"cmpil", one(0006200), one(0177700), "#l;l"}, 396{"cmpiw", one(0006100), one(0177700), "#w;w"}, 397{"cmpb", one(0006000), one(0177700), "#b;b"}, /* cmpi written as cmp */ 398{"cmpb", one(0130000), one(0170700), ";bDd"}, 399{"cmpw", one(0006100), one(0177700), "#w;w"}, 400{"cmpw", one(0130100), one(0170700), "*wDd"}, 401{"cmpw", one(0130300), one(0170700), "*wAd"}, /* cmpa written as cmp */ 402{"cmpl", one(0006200), one(0177700), "#l;l"}, 403{"cmpl", one(0130200), one(0170700), "*lDd"}, 404{"cmpl", one(0130700), one(0170700), "*lAd"}, 405{"cmpmb", one(0130410), one(0170770), "+s+d"}, 406{"cmpml", one(0130610), one(0170770), "+s+d"}, 407{"cmpmw", one(0130510), one(0170770), "+s+d"}, 408 409{"dbcc", one(0052310), one(0177770), "DsBw"}, 410{"dbcs", one(0052710), one(0177770), "DsBw"}, 411{"dbeq", one(0053710), one(0177770), "DsBw"}, 412{"dbf", one(0050710), one(0177770), "DsBw"}, 413{"dbge", one(0056310), one(0177770), "DsBw"}, 414{"dbgt", one(0057310), one(0177770), "DsBw"}, 415{"dbhi", one(0051310), one(0177770), "DsBw"}, 416{"dble", one(0057710), one(0177770), "DsBw"}, 417{"dbls", one(0051710), one(0177770), "DsBw"}, 418{"dblt", one(0056710), one(0177770), "DsBw"}, 419{"dbmi", one(0055710), one(0177770), "DsBw"}, 420{"dbne", one(0053310), one(0177770), "DsBw"}, 421{"dbpl", one(0055310), one(0177770), "DsBw"}, 422{"dbra", one(0050710), one(0177770), "DsBw"}, 423{"dbt", one(0050310), one(0177770), "DsBw"}, 424{"dbvc", one(0054310), one(0177770), "DsBw"}, 425{"dbvs", one(0054710), one(0177770), "DsBw"}, 426 427{"divsl", two(0046100, 0006000), two(0177700, 0107770), ";lD3D1"}, 428{"divsl", two(0046100, 0004000), two(0177700, 0107770), ";lDD"}, 429{"divsll", two(0046100, 0004000), two(0177700, 0107770), ";lD3D1"}, 430{"divsw", one(0100700), one(0170700), ";wDd"}, 431{"divs", one(0100700), one(0170700), ";wDd"}, 432{"divul", two(0046100, 0002000), two(0177700, 0107770), ";lD3D1"}, 433{"divul", two(0046100, 0000000), two(0177700, 0107770), ";lDD"}, 434{"divull", two(0046100, 0000000), two(0177700, 0107770), ";lD3D1"}, 435{"divuw", one(0100300), one(0170700), ";wDd"}, 436{"divu", one(0100300), one(0170700), ";wDd"}, 437{"eorb", one(0005000), one(0177700), "#b$s"}, /* eori written as eor */ 438{"eorb", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */ 439{"eorb", one(0130400), one(0170700), "Dd$s"}, /* register to memory */ 440{"eorib", one(0005000), one(0177700), "#b$s"}, 441{"eorib", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */ 442{"eoril", one(0005200), one(0177700), "#l$s"}, 443{"eoriw", one(0005100), one(0177700), "#w$s"}, 444{"eoriw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */ 445{"eorl", one(0005200), one(0177700), "#l$s"}, 446{"eorl", one(0130600), one(0170700), "Dd$s"}, 447{"eorw", one(0005100), one(0177700), "#w$s"}, 448{"eorw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */ 449{"eorw", one(0130500), one(0170700), "Dd$s"}, 450 451{"exg", one(0140500), one(0170770), "DdDs"}, 452{"exg", one(0140510), one(0170770), "AdAs"}, 453{"exg", one(0140610), one(0170770), "DdAs"}, 454{"exg", one(0140610), one(0170770), "AsDd"}, 455 456{"extw", one(0044200), one(0177770), "Ds"}, 457{"extl", one(0044300), one(0177770), "Ds"}, 458{"extbl", one(0044700), one(0177770), "Ds"}, 459{"extb.l", one(0044700), one(0177770), "Ds"}, /* Not sure we should support this one*/ 460 461{"illegal", one(0045374), one(0177777), ""}, 462{"jmp", one(0047300), one(0177700), "!s"}, 463{"jsr", one(0047200), one(0177700), "!s"}, 464{"lea", one(0040700), one(0170700), "!sAd"}, 465{"linkw", one(0047120), one(0177770), "As#w"}, 466{"linkl", one(0044010), one(0177770), "As#l"}, 467#ifdef NeXT_MOD 468{"link", one(0047120), one(0177770), "As#z"}, 469#else 470{"link", one(0047120), one(0177770), "As#w"}, 471#endif 472{"link", one(0044010), one(0177770), "As#l"}, 473 474{"lslb", one(0160410), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ 475{"lslb", one(0160450), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ 476{"lslw", one(0160510), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ 477{"lslw", one(0160550), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ 478{"lslw", one(0161700), one(0177700), "~s"}, /* Shift memory */ 479{"lsll", one(0160610), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ 480{"lsll", one(0160650), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ 481 482{"lsrb", one(0160010), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ 483{"lsrb", one(0160050), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ 484{"lsrl", one(0160210), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ 485{"lsrl", one(0160250), one(0170770), "DdDs"}, /* lsrb #Q, Ds */ 486{"lsrw", one(0160110), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ 487{"lsrw", one(0160150), one(0170770), "DdDs"}, /* lsrb #Q, Ds */ 488{"lsrw", one(0161300), one(0177700), "~s"}, /* Shift memory */ 489 490{"moveal", one(0020100), one(0170700), "*lAd"}, 491{"moveaw", one(0030100), one(0170700), "*wAd"}, 492{"moveb", one(0010000), one(0170000), ";b$d"}, /* move */ 493{"movel", one(0070000), one(0170400), "MsDd"}, /* moveq written as move */ 494{"movel", one(0020000), one(0170000), "*l$d"}, 495{"movel", one(0020100), one(0170700), "*lAd"}, 496{"movel", one(0047140), one(0177770), "AsUd"}, /* move to USP */ 497{"movel", one(0047150), one(0177770), "UdAs"}, /* move from USP */ 498 499{"movec", one(0047173), one(0177777), "R1Jj"}, 500{"movec", one(0047173), one(0177777), "R1#j"}, 501{"movec", one(0047172), one(0177777), "JjR1"}, 502{"movec", one(0047172), one(0177777), "#jR1"}, 503 504/* JF added these next four for the assembler */ 505{"moveml", one(0044300), one(0177700), "Lw&s"}, /* movem reg to mem. */ 506{"moveml", one(0044340), one(0177770), "lw-s"}, /* movem reg to autodecrement. */ 507{"moveml", one(0046300), one(0177700), "!sLw"}, /* movem mem to reg. */ 508{"moveml", one(0046330), one(0177770), "+sLw"}, /* movem autoinc to reg. */ 509 510{"moveml", one(0044300), one(0177700), "#w&s"}, /* movem reg to mem. */ 511{"moveml", one(0044340), one(0177770), "#w-s"}, /* movem reg to autodecrement. */ 512{"moveml", one(0046300), one(0177700), "!s#w"}, /* movem mem to reg. */ 513{"moveml", one(0046330), one(0177770), "+s#w"}, /* movem autoinc to reg. */ 514 515/* JF added these next four for the assembler */ 516{"movemw", one(0044200), one(0177700), "Lw&s"}, /* movem reg to mem. */ 517{"movemw", one(0044240), one(0177770), "lw-s"}, /* movem reg to autodecrement. */ 518{"movemw", one(0046200), one(0177700), "!sLw"}, /* movem mem to reg. */ 519{"movemw", one(0046230), one(0177770), "+sLw"}, /* movem autoinc to reg. */ 520{"movemw", one(0044200), one(0177700), "#w&s"}, /* movem reg to mem. */ 521{"movemw", one(0044240), one(0177770), "#w-s"}, /* movem reg to autodecrement. */ 522{"movemw", one(0046200), one(0177700), "!s#w"}, /* movem mem to reg. */ 523{"movemw", one(0046230), one(0177770), "+s#w"}, /* movem autoinc to reg. */ 524 525{"movepl", one(0000510), one(0170770), "dsDd"}, /* memory to register */ 526{"movepl", one(0000710), one(0170770), "Ddds"}, /* register to memory */ 527{"movepw", one(0000410), one(0170770), "dsDd"}, /* memory to register */ 528{"movepw", one(0000610), one(0170770), "Ddds"}, /* register to memory */ 529{"moveq", one(0070000), one(0170400), "MsDd"}, 530{"movew", one(0030000), one(0170000), "*w$d"}, 531{"movew", one(0030100), one(0170700), "*wAd"}, /* movea, written as move */ 532{"movew", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */ 533{"movew", one(0041300), one(0177700), "Cs$s"}, 534/* Move from ccr */ 535{"movew", one(0042300), one(0177700), ";wCd"}, /* move to ccr */ 536{"movew", one(0043300), one(0177700), ";wSd"}, /* move to sr */ 537 538{"movesb", two(0007000, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ 539{"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ 540{"movesl", two(0007200, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ 541{"movesl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ 542{"movesw", two(0007100, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ 543{"movesw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ 544 545{"move16", one(0173000), one(0177770), "+s#l", "4"}, /* (An)+,xxx.L */ 546{"move16", one(0173010), one(0177770), "#l+s", "4"}, /* xxx.L,(An)+ */ 547{"move16", one(0173020), one(0177770), "0s#l", "4"}, /* (An), xxx.L */ 548{"move16", one(0173030), one(0177770), "#l0s", "4"}, /* xxx.L,(An) */ 549{"move16", two(0173040, 0100000), two(0177770, 0107777), "+s+1", "4"}, /* (Ax)+,(Ay)+ */ 550 551{"mulsl", two(0046000, 004000), two(0177700, 0107770), ";lD1"}, 552{"mulsl", two(0046000, 006000), two(0177700, 0107770), ";lD3D1"}, 553{"mulsw", one(0140700), one(0170700), ";wDd"}, 554{"muls", one(0140700), one(0170700), ";wDd"}, 555{"mulul", two(0046000, 000000), two(0177700, 0107770), ";lD1"}, 556{"mulul", two(0046000, 002000), two(0177700, 0107770), ";lD3D1"}, 557{"muluw", one(0140300), one(0170700), ";wDd"}, 558{"mulu", one(0140300), one(0170700), ";wDd"}, 559{"nbcd", one(0044000), one(0177700), "$s"}, 560{"negb", one(0042000), one(0177700), "$s"}, 561{"negl", one(0042200), one(0177700), "$s"}, 562{"negw", one(0042100), one(0177700), "$s"}, 563{"negxb", one(0040000), one(0177700), "$s"}, 564{"negxl", one(0040200), one(0177700), "$s"}, 565{"negxw", one(0040100), one(0177700), "$s"}, 566{"nop", one(0047161), one(0177777), ""}, 567{"notb", one(0043000), one(0177700), "$s"}, 568{"notl", one(0043200), one(0177700), "$s"}, 569{"notw", one(0043100), one(0177700), "$s"}, 570 571{"orb", one(0000000), one(0177700), "#b$s"}, /* ori written as or */ 572{"orb", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */ 573{"orb", one(0100000), one(0170700), ";bDd"}, /* memory to register */ 574{"orb", one(0100400), one(0170700), "Dd~s"}, /* register to memory */ 575{"orib", one(0000000), one(0177700), "#b$s"}, 576{"orib", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */ 577{"oril", one(0000200), one(0177700), "#l$s"}, 578{"oriw", one(0000100), one(0177700), "#w$s"}, 579{"oriw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */ 580{"orl", one(0000200), one(0177700), "#l$s"}, 581{"orl", one(0100200), one(0170700), ";lDd"}, /* memory to register */ 582{"orl", one(0100600), one(0170700), "Dd~s"}, /* register to memory */ 583{"orw", one(0000100), one(0177700), "#w$s"}, 584{"orw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */ 585{"orw", one(0100100), one(0170700), ";wDd"}, /* memory to register */ 586{"orw", one(0100500), one(0170700), "Dd~s"}, /* register to memory */ 587 588{"pack", one(0100500), one(0170770), "DsDd#w"}, /* pack Ds, Dd, #w */ 589{"pack", one(0100510), one(0170770), "-s-d#w"}, /* pack -(As), -(Ad), #w */ 590{"pea", one(0044100), one(0177700), "!s"}, 591{"reset", one(0047160), one(0177777), ""}, 592 593{"rolb", one(0160430), one(0170770), "QdDs"}, /* rorb #Q, Ds */ 594{"rolb", one(0160470), one(0170770), "DdDs"}, /* rorb Dd, Ds */ 595{"roll", one(0160630), one(0170770), "QdDs"}, /* rorb #Q, Ds */ 596{"roll", one(0160670), one(0170770), "DdDs"}, /* rorb Dd, Ds */ 597{"rolw", one(0160530), one(0170770), "QdDs"}, /* rorb #Q, Ds */ 598{"rolw", one(0160570), one(0170770), "DdDs"}, /* rorb Dd, Ds */ 599{"rolw", one(0163700), one(0177700), "~s"}, /* Rotate memory */ 600{"rorb", one(0160030), one(0170770), "QdDs"}, /* rorb #Q, Ds */ 601{"rorb", one(0160070), one(0170770), "DdDs"}, /* rorb Dd, Ds */ 602{"rorl", one(0160230), one(0170770), "QdDs"}, /* rorb #Q, Ds */ 603{"rorl", one(0160270), one(0170770), "DdDs"}, /* rorb Dd, Ds */ 604{"rorw", one(0160130), one(0170770), "QdDs"}, /* rorb #Q, Ds */ 605{"rorw", one(0160170), one(0170770), "DdDs"}, /* rorb Dd, Ds */ 606{"rorw", one(0163300), one(0177700), "~s"}, /* Rotate memory */ 607 608{"roxlb", one(0160420), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ 609{"roxlb", one(0160460), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ 610{"roxll", one(0160620), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ 611{"roxll", one(0160660), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ 612{"roxlw", one(0160520), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ 613{"roxlw", one(0160560), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ 614{"roxlw", one(0162700), one(0177700), "~s"}, /* Rotate memory */ 615{"roxrb", one(0160020), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ 616{"roxrb", one(0160060), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ 617{"roxrl", one(0160220), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ 618{"roxrl", one(0160260), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ 619{"roxrw", one(0160120), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ 620{"roxrw", one(0160160), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ 621{"roxrw", one(0162300), one(0177700), "~s"}, /* Rotate memory */ 622 623{"rtd", one(0047164), one(0177777), "#w"}, 624{"rte", one(0047163), one(0177777), ""}, 625{"rtm", one(0003300), one(0177760), "Rs", "2"}, 626{"rtr", one(0047167), one(0177777), ""}, 627{"rts", one(0047165), one(0177777), ""}, 628 629{"scc", one(0052300), one(0177700), "$s"}, 630{"scs", one(0052700), one(0177700), "$s"}, 631{"seq", one(0053700), one(0177700), "$s"}, 632{"sf", one(0050700), one(0177700), "$s"}, 633{"sge", one(0056300), one(0177700), "$s"}, 634{"sgt", one(0057300), one(0177700), "$s"}, 635{"shi", one(0051300), one(0177700), "$s"}, 636{"sle", one(0057700), one(0177700), "$s"}, 637{"sls", one(0051700), one(0177700), "$s"}, 638{"slt", one(0056700), one(0177700), "$s"}, 639{"smi", one(0055700), one(0177700), "$s"}, 640{"sne", one(0053300), one(0177700), "$s"}, 641{"spl", one(0055300), one(0177700), "$s"}, 642{"st", one(0050300), one(0177700), "$s"}, 643{"svc", one(0054300), one(0177700), "$s"}, 644{"svs", one(0054700), one(0177700), "$s"}, 645 646{"sbcd", one(0100400), one(0170770), "DsDd"}, 647{"sbcd", one(0100410), one(0170770), "-s-d"}, 648{"stop", one(0047162), one(0177777), "#w"}, 649 650{"subal", one(0110700), one(0170700), "*lAd"}, 651{"subaw", one(0110300), one(0170700), "*wAd"}, 652{"subb", one(0050400), one(0170700), "Qd%s"}, /* subq written as sub */ 653{"subb", one(0002000), one(0177700), "#b$s"}, /* subi written as sub */ 654{"subb", one(0110000), one(0170700), ";bDd"}, /* subb ? ?, Dd */ 655{"subb", one(0110400), one(0170700), "Dd~s"}, /* subb Dd, ? ? */ 656{"subib", one(0002000), one(0177700), "#b$s"}, 657{"subil", one(0002200), one(0177700), "#l$s"}, 658{"subiw", one(0002100), one(0177700), "#w$s"}, 659 660{"subl", one(0050600), one(0170700), "Qd%s"}, 661{"subl", one(0002200), one(0177700), "#l$s"}, 662{"subl", one(0110700), one(0170700), "*lAd"}, 663{"subl", one(0110200), one(0170700), "*lDd"}, 664{"subl", one(0110600), one(0170700), "Dd~s"}, 665 666{"subqb", one(0050400), one(0170700), "Qd%s"}, 667{"subql", one(0050600), one(0170700), "Qd%s"}, 668{"subqw", one(0050500), one(0170700), "Qd%s"}, 669{"subw", one(0050500), one(0170700), "Qd%s"}, 670{"subw", one(0002100), one(0177700), "#w$s"}, 671{"subw", one(0110100), one(0170700), "*wDd"}, 672{"subw", one(0110300), one(0170700), "*wAd"}, /* suba written as sub */ 673{"subw", one(0110500), one(0170700), "Dd~s"}, 674 675{"subxb", one(0110400), one(0170770), "DsDd"}, /* subxb Ds, Dd */ 676{"subxb", one(0110410), one(0170770), "-s-d"}, /* subxb -(As), -(Ad) */ 677{"subxl", one(0110600), one(0170770), "DsDd"}, 678{"subxl", one(0110610), one(0170770), "-s-d"}, 679{"subxw", one(0110500), one(0170770), "DsDd"}, 680{"subxw", one(0110510), one(0170770), "-s-d"}, 681 682{"swap", one(0044100), one(0177770), "Ds"}, 683 684{"tas", one(0045300), one(0177700), "$s"}, 685{"trap", one(0047100), one(0177760), "Ts"}, 686 687{"trapcc", one(0052374), one(0177777), ""}, 688{"trapcs", one(0052774), one(0177777), ""}, 689{"trapeq", one(0053774), one(0177777), ""}, 690{"trapf", one(0050774), one(0177777), ""}, 691{"trapge", one(0056374), one(0177777), ""}, 692{"trapgt", one(0057374), one(0177777), ""}, 693{"traphi", one(0051374), one(0177777), ""}, 694{"traple", one(0057774), one(0177777), ""}, 695{"trapls", one(0051774), one(0177777), ""}, 696{"traplt", one(0056774), one(0177777), ""}, 697{"trapmi", one(0055774), one(0177777), ""}, 698{"trapne", one(0053374), one(0177777), ""}, 699{"trappl", one(0055374), one(0177777), ""}, 700{"trapt", one(0050374), one(0177777), ""}, 701{"trapvc", one(0054374), one(0177777), ""}, 702{"trapvs", one(0054774), one(0177777), ""}, 703 704{"trapcc.w", one(0052372), one(0177777), "#w"}, 705{"trapcs.w", one(0052772), one(0177777), "#w"}, 706{"trapeq.w", one(0053772), one(0177777), "#w"}, 707{"trapf.w", one(0050772), one(0177777), "#w"}, 708{"trapge.w", one(0056372), one(0177777), "#w"}, 709{"trapgt.w", one(0057372), one(0177777), "#w"}, 710{"traphi.w", one(0051372), one(0177777), "#w"}, 711{"traple.w", one(0057772), one(0177777), "#w"}, 712{"trapls.w", one(0051772), one(0177777), "#w"}, 713{"traplt.w", one(0056772), one(0177777), "#w"}, 714{"trapmi.w", one(0055772), one(0177777), "#w"}, 715{"trapne.w", one(0053372), one(0177777), "#w"}, 716{"trappl.w", one(0055372), one(0177777), "#w"}, 717{"trapt.w", one(0050372), one(0177777), "#w"}, 718{"trapvc.w", one(0054372), one(0177777), "#w"}, 719{"trapvs.w", one(0054772), one(0177777), "#w"}, 720 721{"trapcc.l", one(0052373), one(0177777), "#l"}, 722{"trapcs.l", one(0052773), one(0177777), "#l"}, 723{"trapeq.l", one(0053773), one(0177777), "#l"}, 724{"trapf.l", one(0050773), one(0177777), "#l"}, 725{"trapge.l", one(0056373), one(0177777), "#l"}, 726{"trapgt.l", one(0057373), one(0177777), "#l"}, 727{"traphi.l", one(0051373), one(0177777), "#l"}, 728{"traple.l", one(0057773), one(0177777), "#l"}, 729{"trapls.l", one(0051773), one(0177777), "#l"}, 730{"traplt.l", one(0056773), one(0177777), "#l"}, 731{"trapmi.l", one(0055773), one(0177777), "#l"}, 732{"trapne.l", one(0053373), one(0177777), "#l"}, 733{"trappl.l", one(0055373), one(0177777), "#l"}, 734{"trapt.l", one(0050373), one(0177777), "#l"}, 735{"trapvc.l", one(0054373), one(0177777), "#l"}, 736{"trapvs.l", one(0054773), one(0177777), "#l"}, 737 738{"trapv", one(0047166), one(0177777), ""}, 739 740{"tstb", one(0045000), one(0177700), ";b"}, 741{"tstw", one(0045100), one(0177700), "*w"}, 742{"tstl", one(0045200), one(0177700), "*l"}, 743 744{"unlk", one(0047130), one(0177770), "As"}, 745{"unpk", one(0100600), one(0170770), "DsDd#w"}, 746{"unpk", one(0100610), one(0170770), "-s-d#w"}, 747 748 /* JF floating pt stuff moved down here */ 749 750{"fabsb", two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 751{"fabsd", two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 752{"fabsl", two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 753#ifdef PACKED_IMMEDIATE 754{"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 755#else 756{"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 757#endif 758{"fabss", two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 759{"fabsw", two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 760{"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7"}, 761{"fabsx", two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 762{"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt"}, 763 764{"fsabsb", two(0xF000, 0x5858), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 765{"fsabsd", two(0xF000, 0x5458), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 766{"fsabsl", two(0xF000, 0x4058), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 767#ifdef PACKED_IMMEDIATE 768{"fsabsp", two(0xF000, 0x4C58), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 769#else 770{"fsabsp", two(0xF000, 0x4C58), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 771#endif 772{"fsabss", two(0xF000, 0x4458), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 773{"fsabsw", two(0xF000, 0x5058), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 774{"fsabsx", two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 775{"fsabsx", two(0xF000, 0x4858), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 776{"fsabsx", two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiFt", "4"}, 777 778{"fdabsb", two(0xF000, 0x585C), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 779{"fdabsd", two(0xF000, 0x545C), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 780{"fdabsl", two(0xF000, 0x405C), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 781#ifdef PACKED_IMMEDIATE 782{"fdabsp", two(0xF000, 0x4C5C), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 783#else 784{"fdabsp", two(0xF000, 0x4C5C), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 785#endif 786{"fdabss", two(0xF000, 0x445C), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 787{"fdabsw", two(0xF000, 0x505C), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 788{"fdabsx", two(0xF000, 0x005C), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 789{"fdabsx", two(0xF000, 0x485C), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 790{"fdabsx", two(0xF000, 0x005C), two(0xF1C0, 0xE07F), "IiFt", "4"}, 791 792{"facosb", two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 793{"facosd", two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 794{"facosl", two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 795#ifdef PACKED_IMMEDIATE 796{"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 797#else 798{"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 799#endif 800{"facoss", two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 801{"facosw", two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 802{"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7"}, 803{"facosx", two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 804{"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt"}, 805 806{"faddb", two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 807{"faddd", two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 808{"faddl", two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 809#ifdef PACKED_IMMEDIATE 810{"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 811#else 812{"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 813#endif 814{"fadds", two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 815{"faddw", two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 816{"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7"}, 817{"faddx", two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 818#ifdef NeXT_MOD 819{"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt"}, 820#else 821/* {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */ 822#endif 823 824{"fsaddb", two(0xF000, 0x5862), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 825{"fsaddd", two(0xF000, 0x5462), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 826{"fsaddl", two(0xF000, 0x4062), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 827#ifdef PACKED_IMMEDIATE 828{"fsaddp", two(0xF000, 0x4C62), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 829#else 830{"fsaddp", two(0xF000, 0x4C62), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 831#endif 832{"fsadds", two(0xF000, 0x4462), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 833{"fsaddw", two(0xF000, 0x5062), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 834{"fsaddx", two(0xF000, 0x0062), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 835{"fsaddx", two(0xF000, 0x4862), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 836{"fsaddx", two(0xF000, 0x0062), two(0xF1C0, 0xE07F), "IiFt", "4"}, 837 838{"fdaddb", two(0xF000, 0x5866), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 839{"fdaddd", two(0xF000, 0x5466), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 840{"fdaddl", two(0xF000, 0x4066), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 841#ifdef PACKED_IMMEDIATE 842{"fdaddp", two(0xF000, 0x4C66), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 843#else 844{"fdaddp", two(0xF000, 0x4C66), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 845#endif 846{"fdadds", two(0xF000, 0x4466), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 847{"fdaddw", two(0xF000, 0x5066), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 848{"fdaddx", two(0xF000, 0x0066), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 849{"fdaddx", two(0xF000, 0x4866), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 850{"fdaddx", two(0xF000, 0x0066), two(0xF1C0, 0xE07F), "IiFt", "4"}, 851 852{"fasinb", two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 853{"fasind", two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 854{"fasinl", two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 855#ifdef PACKED_IMMEDIATE 856{"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 857#else 858{"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 859#endif 860{"fasins", two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 861{"fasinw", two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 862{"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7"}, 863{"fasinx", two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 864{"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt"}, 865 866{"fatanb", two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 867{"fatand", two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 868{"fatanl", two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 869#ifdef PACKED_IMMEDIATE 870{"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 871#else 872{"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 873#endif 874{"fatans", two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 875{"fatanw", two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 876{"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7"}, 877{"fatanx", two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 878{"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt"}, 879 880{"fatanhb", two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 881{"fatanhd", two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 882{"fatanhl", two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 883#ifdef PACKED_IMMEDIATE 884{"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 885#else 886{"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 887#endif 888{"fatanhs", two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 889{"fatanhw", two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 890{"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7"}, 891{"fatanhx", two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 892{"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt"}, 893 894{"fbeq", one(0xF081), one(0xF1BF), "IdBc"}, 895{"fbf", one(0xF080), one(0xF1BF), "IdBc"}, 896{"fbge", one(0xF093), one(0xF1BF), "IdBc"}, 897{"fbgl", one(0xF096), one(0xF1BF), "IdBc"}, 898{"fbgle", one(0xF097), one(0xF1BF), "IdBc"}, 899{"fbgt", one(0xF092), one(0xF1BF), "IdBc"}, 900{"fble", one(0xF095), one(0xF1BF), "IdBc"}, 901{"fblt", one(0xF094), one(0xF1BF), "IdBc"}, 902{"fbne", one(0xF08E), one(0xF1BF), "IdBc"}, 903{"fbnge", one(0xF09C), one(0xF1BF), "IdBc"}, 904{"fbngl", one(0xF099), one(0xF1BF), "IdBc"}, 905{"fbngle", one(0xF098), one(0xF1BF), "IdBc"}, 906{"fbngt", one(0xF09D), one(0xF1BF), "IdBc"}, 907{"fbnle", one(0xF09A), one(0xF1BF), "IdBc"}, 908{"fbnlt", one(0xF09B), one(0xF1BF), "IdBc"}, 909{"fboge", one(0xF083), one(0xF1BF), "IdBc"}, 910{"fbogl", one(0xF086), one(0xF1BF), "IdBc"}, 911{"fbogt", one(0xF082), one(0xF1BF), "IdBc"}, 912{"fbole", one(0xF085), one(0xF1BF), "IdBc"}, 913{"fbolt", one(0xF084), one(0xF1BF), "IdBc"}, 914{"fbor", one(0xF087), one(0xF1BF), "IdBc"}, 915{"fbseq", one(0xF091), one(0xF1BF), "IdBc"}, 916{"fbsf", one(0xF090), one(0xF1BF), "IdBc"}, 917{"fbsne", one(0xF09E), one(0xF1BF), "IdBc"}, 918{"fbst", one(0xF09F), one(0xF1BF), "IdBc"}, 919{"fbt", one(0xF08F), one(0xF1BF), "IdBc"}, 920{"fbueq", one(0xF089), one(0xF1BF), "IdBc"}, 921{"fbuge", one(0xF08B), one(0xF1BF), "IdBc"}, 922{"fbugt", one(0xF08A), one(0xF1BF), "IdBc"}, 923{"fbule", one(0xF08D), one(0xF1BF), "IdBc"}, 924{"fbult", one(0xF08C), one(0xF1BF), "IdBc"}, 925{"fbun", one(0xF088), one(0xF1BF), "IdBc"}, 926 927{"fcmpb", two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 928{"fcmpd", two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 929{"fcmpl", two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 930#ifdef PACKED_IMMEDIATE 931{"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 932#else 933{"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 934#endif 935{"fcmps", two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 936{"fcmpw", two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 937{"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7"}, 938{"fcmpx", two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 939#ifdef NeXT_MOD 940{"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt"}, 941#else 942/* {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */ 943#endif 944 945{"fcosb", two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 946{"fcosd", two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 947{"fcosl", two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 948#ifdef PACKED_IMMEDIATE 949{"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 950#else 951{"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 952#endif 953{"fcoss", two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 954{"fcosw", two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 955{"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7"}, 956{"fcosx", two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 957{"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt"}, 958 959{"fcoshb", two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 960{"fcoshd", two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 961{"fcoshl", two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 962#ifdef PACKED_IMMEDIATE 963{"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 964#else 965{"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 966#endif 967{"fcoshs", two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 968{"fcoshw", two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 969{"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7"}, 970{"fcoshx", two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 971{"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt"}, 972 973{"fdbeq", two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw"}, 974{"fdbf", two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw"}, 975{"fdbge", two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw"}, 976{"fdbgl", two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw"}, 977{"fdbgle", two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw"}, 978{"fdbgt", two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw"}, 979{"fdble", two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw"}, 980{"fdblt", two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw"}, 981{"fdbne", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw"}, 982{"fdbnge", two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw"}, 983{"fdbngl", two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw"}, 984{"fdbngle", two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw"}, 985{"fdbngt", two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw"}, 986{"fdbnle", two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw"}, 987{"fdbnlt", two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw"}, 988{"fdboge", two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw"}, 989{"fdbogl", two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw"}, 990{"fdbogt", two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw"}, 991{"fdbole", two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw"}, 992{"fdbolt", two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw"}, 993{"fdbor", two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw"}, 994{"fdbseq", two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw"}, 995{"fdbsf", two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw"}, 996{"fdbsne", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw"}, 997{"fdbst", two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw"}, 998{"fdbt", two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw"}, 999{"fdbueq", two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw"}, 1000{"fdbuge", two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw"}, 1001{"fdbugt", two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw"}, 1002{"fdbule", two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw"}, 1003{"fdbult", two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw"}, 1004{"fdbun", two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw"}, 1005 1006{"fdivb", two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1007{"fdivd", two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1008{"fdivl", two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1009#ifdef PACKED_IMMEDIATE 1010{"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1011#else 1012{"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1013#endif 1014{"fdivs", two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1015{"fdivw", two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1016{"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7"}, 1017{"fdivx", two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1018#ifdef NeXT_MOD 1019{"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt"}, 1020#else 1021/* {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt"}, JF */ 1022#endif 1023 1024{"fsdivb", two(0xF000, 0x5860), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1025{"fsdivd", two(0xF000, 0x5460), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1026{"fsdivl", two(0xF000, 0x4060), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1027#ifdef PACKED_IMMEDIATE 1028{"fsdivp", two(0xF000, 0x4C60), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1029#else 1030{"fsdivp", two(0xF000, 0x4C60), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1031#endif 1032{"fsdivs", two(0xF000, 0x4460), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1033{"fsdivw", two(0xF000, 0x5060), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1034{"fsdivx", two(0xF000, 0x0060), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1035{"fsdivx", two(0xF000, 0x4860), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1036{"fsdivx", two(0xF000, 0x0060), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1037 1038{"fddivb", two(0xF000, 0x5864), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1039{"fddivd", two(0xF000, 0x5464), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1040{"fddivl", two(0xF000, 0x4064), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1041#ifdef PACKED_IMMEDIATE 1042{"fddivp", two(0xF000, 0x4C64), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1043#else 1044{"fddivp", two(0xF000, 0x4C64), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1045#endif 1046{"fddivs", two(0xF000, 0x4464), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1047{"fddivw", two(0xF000, 0x5064), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1048{"fddivx", two(0xF000, 0x0064), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1049{"fddivx", two(0xF000, 0x4864), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1050{"fddivx", two(0xF000, 0x0064), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1051 1052{"fetoxb", two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1053{"fetoxd", two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1054{"fetoxl", two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1055#ifdef PACKED_IMMEDIATE 1056{"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1057#else 1058{"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1059#endif 1060{"fetoxs", two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1061{"fetoxw", two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1062{"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7"}, 1063{"fetoxx", two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1064{"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt"}, 1065 1066{"fetoxm1b", two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1067{"fetoxm1d", two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1068{"fetoxm1l", two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1069#ifdef PACKED_IMMEDIATE 1070{"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1071#else 1072{"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1073#endif 1074{"fetoxm1s", two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1075{"fetoxm1w", two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1076{"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7"}, 1077{"fetoxm1x", two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1078{"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt"}, 1079 1080{"fgetexpb", two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1081{"fgetexpd", two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1082{"fgetexpl", two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1083#ifdef PACKED_IMMEDIATE 1084{"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1085#else 1086{"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1087#endif 1088{"fgetexps", two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1089{"fgetexpw", two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1090{"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7"}, 1091{"fgetexpx", two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1092{"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt"}, 1093 1094{"fgetmanb", two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1095{"fgetmand", two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1096{"fgetmanl", two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1097#ifdef PACKED_IMMEDIATE 1098{"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1099#else 1100{"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1101#endif 1102{"fgetmans", two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1103{"fgetmanw", two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1104{"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7"}, 1105{"fgetmanx", two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1106{"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt"}, 1107 1108{"fintb", two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1109{"fintd", two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1110{"fintl", two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1111#ifdef PACKED_IMMEDIATE 1112{"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1113#else 1114{"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1115#endif 1116{"fints", two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1117{"fintw", two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1118{"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7"}, 1119{"fintx", two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1120{"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt"}, 1121 1122{"fintrzb", two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1123{"fintrzd", two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1124{"fintrzl", two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1125#ifdef PACKED_IMMEDIATE 1126{"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1127#else 1128{"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1129#endif 1130{"fintrzs", two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1131{"fintrzw", two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1132{"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7"}, 1133{"fintrzx", two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1134{"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt"}, 1135 1136{"flog10b", two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1137{"flog10d", two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1138{"flog10l", two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1139#ifdef PACKED_IMMEDIATE 1140{"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1141#else 1142{"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1143#endif 1144{"flog10s", two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1145{"flog10w", two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1146{"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7"}, 1147{"flog10x", two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1148{"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt"}, 1149 1150{"flog2b", two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1151{"flog2d", two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1152{"flog2l", two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1153#ifdef PACKED_IMMEDIATE 1154{"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1155#else 1156{"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1157#endif 1158{"flog2s", two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1159{"flog2w", two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1160{"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7"}, 1161{"flog2x", two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1162{"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt"}, 1163 1164{"flognb", two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1165{"flognd", two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1166{"flognl", two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1167#ifdef PACKED_IMMEDIATE 1168{"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1169#else 1170{"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1171#endif 1172{"flogns", two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1173{"flognw", two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1174{"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7"}, 1175{"flognx", two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1176{"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt"}, 1177 1178{"flognp1b", two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1179{"flognp1d", two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1180{"flognp1l", two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1181#ifdef PACKED_IMMEDIATE 1182{"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1183#else 1184{"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1185#endif 1186{"flognp1s", two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1187{"flognp1w", two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1188{"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7"}, 1189{"flognp1x", two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1190{"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt"}, 1191 1192{"fmodb", two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1193{"fmodd", two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1194{"fmodl", two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1195#ifdef PACKED_IMMEDIATE 1196{"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1197#else 1198{"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1199#endif 1200{"fmods", two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1201{"fmodw", two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1202{"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7"}, 1203{"fmodx", two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1204#ifdef NeXT_MOD 1205{"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt"}, 1206#else 1207/* {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt"}, JF */ 1208#endif 1209 1210{"fmoveb", two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7"}, /* fmove from <ea> to fp<n> */ 1211{"fmoveb", two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7@b"}, /* fmove from fp<n> to <ea> */ 1212{"fmoved", two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7"}, /* fmove from <ea> to fp<n> */ 1213{"fmoved", two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7@F"}, /* fmove from fp<n> to <ea> */ 1214{"fmovel", two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7"}, /* fmove from <ea> to fp<n> */ 1215{"fmovel", two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7@l"}, /* fmove from fp<n> to <ea> */ 1216/* Warning: The addressing modes on these are probably not right: 1217 esp, Areg direct is only allowed for FPI */ 1218 /* fmove.l from/to system control registers: */ 1219{"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, 1220{"fmovel", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8"}, 1221 1222/* {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, 1223{"fmovel", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*ss8"}, */ 1224 1225#ifdef PACKED_IMMEDIATE 1226{"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7"}, /* fmove from <ea> to fp<n> */ 1227#else 1228{"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii@pF7"}, /* fmove from <ea> to fp<n> */ 1229#endif 1230{"fmovep", two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7@pkC"}, /* fmove.p with k-factors: */ 1231{"fmovep", two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7@pDk"}, /* fmove.p with k-factors: */ 1232 1233{"fmoves", two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7"}, /* fmove from <ea> to fp<n> */ 1234{"fmoves", two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7@f"}, /* fmove from fp<n> to <ea> */ 1235{"fmovew", two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7"}, /* fmove from <ea> to fp<n> */ 1236{"fmovew", two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7@w"}, /* fmove from fp<n> to <ea> */ 1237{"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7"}, /* fmove from <ea> to fp<n> */ 1238{"fmovex", two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7"}, /* fmove from <ea> to fp<n> */ 1239{"fmovex", two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7@x"}, /* fmove from fp<n> to <ea> */ 1240#ifdef NeXT_MOD 1241{"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt"}, /* fmove from <ea> to fp<n> */ 1242#else 1243/* JF removed {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt"}, / * fmove from <ea> to fp<n> */ 1244#endif 1245 1246{"fsmoveb", two(0xF000, 0x5840), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1247{"fsmoved", two(0xF000, 0x5440), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1248{"fsmovel", two(0xF000, 0x4040), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1249#ifdef PACKED_IMMEDIATE 1250{"fsmovep", two(0xF000, 0x4C40), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1251#else 1252{"fsmovep", two(0xF000, 0x4C40), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1253#endif 1254{"fsmoves", two(0xF000, 0x4440), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1255{"fsmovew", two(0xF000, 0x5040), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1256{"fsmovex", two(0xF000, 0x0040), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1257{"fsmovex", two(0xF000, 0x4840), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1258{"fsmovex", two(0xF000, 0x0040), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1259 1260{"fdmoveb", two(0xF000, 0x5844), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1261{"fdmoved", two(0xF000, 0x5444), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1262{"fdmovel", two(0xF000, 0x4044), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1263#ifdef PACKED_IMMEDIATE 1264{"fdmovep", two(0xF000, 0x4C44), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1265#else 1266{"fdmovep", two(0xF000, 0x4C44), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1267#endif 1268{"fdmoves", two(0xF000, 0x4444), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1269{"fdmovew", two(0xF000, 0x5044), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1270{"fdmovex", two(0xF000, 0x0044), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1271{"fdmovex", two(0xF000, 0x4844), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1272{"fdmovex", two(0xF000, 0x0044), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1273 1274{"fmovecrx", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, /* fmovecr.x #ccc, FPn */ 1275{"fmovecr", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, 1276 1277/* Other fmovemx. */ 1278{"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */ 1279{"fmovemx", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */ 1280 1281{"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */ 1282{"fmovemx", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */ 1283 1284{"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */ 1285{"fmovemx", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */ 1286 1287{"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */ 1288{"fmovemx", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */ 1289 1290#ifdef NeXT_MOD 1291/* These four must be the last fmovemx's. See the comment above with the 1292 header "REGISTER LIST BUG:" */ 1293#endif 1294{"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */ 1295{"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */ 1296{"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */ 1297{"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */ 1298 1299{"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"}, 1300{"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8@s"}, 1301{"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, 1302 1303{"fmoveml", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"}, 1304{"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*s#8"}, 1305{"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"}, 1306 1307 /* Alternate mnemonics for GNU CC */ 1308{"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */ 1309{"fmovem", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */ 1310 1311{"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */ 1312{"fmovem", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */ 1313 1314{"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */ 1315{"fmovem", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */ 1316 1317{"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */ 1318{"fmovem", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */ 1319 1320/* fmoveml a FP-control register */ 1321{"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, 1322{"fmovem", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"}, 1323 1324/* fmoveml a FP-control reglist */ 1325{"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"}, 1326{"fmovem", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"}, 1327 1328#ifdef NeXT_MOD 1329/* These four must be the last fmovem's. See the comment above with the 1330 header "REGISTER LIST BUG:" */ 1331#endif 1332/* fmovemx with register lists */ 1333{"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */ 1334{"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */ 1335{"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */ 1336{"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */ 1337 1338{"fmulb", two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1339{"fmuld", two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1340{"fmull", two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1341#ifdef PACKED_IMMEDIATE 1342{"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1343#else 1344{"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1345#endif 1346{"fmuls", two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1347{"fmulw", two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1348{"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7"}, 1349{"fmulx", two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1350#ifdef NeXT_MOD 1351{"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt"}, 1352#else 1353/* {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt"}, JF */ 1354#endif 1355 1356{"fsmulb", two(0xF000, 0x5863), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1357{"fsmuld", two(0xF000, 0x5463), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1358{"fsmull", two(0xF000, 0x4063), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1359#ifdef PACKED_IMMEDIATE 1360{"fsmulp", two(0xF000, 0x4C63), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1361#else 1362{"fsmulp", two(0xF000, 0x4C63), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1363#endif 1364{"fsmuls", two(0xF000, 0x4463), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1365{"fsmulw", two(0xF000, 0x5063), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1366{"fsmulx", two(0xF000, 0x0063), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1367{"fsmulx", two(0xF000, 0x4863), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1368{"fsmulx", two(0xF000, 0x0063), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1369 1370{"fdmulb", two(0xF000, 0x5867), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1371{"fdmuld", two(0xF000, 0x5467), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1372{"fdmull", two(0xF000, 0x4067), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1373#ifdef PACKED_IMMEDIATE 1374{"fdmulp", two(0xF000, 0x4C67), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1375#else 1376{"fdmulp", two(0xF000, 0x4C67), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1377#endif 1378{"fdmuls", two(0xF000, 0x4467), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1379{"fdmulw", two(0xF000, 0x5067), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1380{"fdmulx", two(0xF000, 0x0067), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1381{"fdmulx", two(0xF000, 0x4867), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1382{"fdmulx", two(0xF000, 0x0067), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1383 1384{"fnegb", two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1385{"fnegd", two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1386{"fnegl", two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1387#ifdef PACKED_IMMEDIATE 1388{"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1389#else 1390{"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1391#endif 1392{"fnegs", two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1393{"fnegw", two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1394{"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7"}, 1395{"fnegx", two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1396{"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt"}, 1397 1398{"fsnegb", two(0xF000, 0x585A), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1399{"fsnegd", two(0xF000, 0x545A), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1400{"fsnegl", two(0xF000, 0x405A), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1401#ifdef PACKED_IMMEDIATE 1402{"fsnegp", two(0xF000, 0x4C5A), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1403#else 1404{"fsnegp", two(0xF000, 0x4C5A), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1405#endif 1406{"fsnegs", two(0xF000, 0x445A), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1407{"fsnegw", two(0xF000, 0x505A), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1408{"fsnegx", two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1409{"fsnegx", two(0xF000, 0x485A), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1410{"fsnegx", two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1411 1412{"fdnegb", two(0xF000, 0x585E), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1413{"fdnegd", two(0xF000, 0x545E), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1414{"fdnegl", two(0xF000, 0x405E), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1415#ifdef PACKED_IMMEDIATE 1416{"fdnegp", two(0xF000, 0x4C5E), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1417#else 1418{"fdnegp", two(0xF000, 0x4C5E), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1419#endif 1420{"fdnegs", two(0xF000, 0x445E), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1421{"fdnegw", two(0xF000, 0x505E), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1422{"fdnegx", two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1423{"fdnegx", two(0xF000, 0x485E), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1424{"fdnegx", two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1425 1426{"fnop", two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii"}, 1427 1428{"fremb", two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1429{"fremd", two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1430{"freml", two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1431#ifdef PACKED_IMMEDIATE 1432{"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1433#else 1434{"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1435#endif 1436{"frems", two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1437{"fremw", two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1438{"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7"}, 1439{"fremx", two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1440#ifdef NeXT_MOD 1441{"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt"}, 1442#else 1443/* {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt"}, JF */ 1444#endif 1445 1446{"frestore", one(0xF140), one(0xF1C0), "Id&s"}, 1447{"frestore", one(0xF158), one(0xF1F8), "Id+s"}, 1448{"fsave", one(0xF100), one(0xF1C0), "Id&s"}, 1449{"fsave", one(0xF120), one(0xF1F8), "Id-s"}, 1450 1451{"fsincosb", two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bFCF7"}, 1452{"fsincosd", two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FFCF7"}, 1453{"fsincosl", two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lFCF7"}, 1454#ifdef PACKED_IMMEDIATE 1455{"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pFCF7"}, 1456#else 1457{"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii@pFCF7"}, 1458#endif 1459{"fsincoss", two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fFCF7"}, 1460{"fsincosw", two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wFCF7"}, 1461{"fsincosx", two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8FCF7"}, 1462{"fsincosx", two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xFCF7"}, 1463 1464{"fscaleb", two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1465{"fscaled", two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1466{"fscalel", two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1467#ifdef PACKED_IMMEDIATE 1468{"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1469#else 1470{"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1471#endif 1472{"fscales", two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1473{"fscalew", two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1474{"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7"}, 1475{"fscalex", two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1476#ifdef NeXT_MOD 1477{"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt"}, 1478#else 1479/* {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt"}, JF */ 1480#endif 1481 1482/* $ is necessary to prevent the assembler from using PC-relative. 1483 If @ were used, "label: fseq label" could produce "ftrapeq", 1484 because "label" became "pc@label". */ 1485{"fseq", two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii$s"}, 1486{"fsf", two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii$s"}, 1487{"fsge", two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii$s"}, 1488{"fsgl", two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii$s"}, 1489{"fsgle", two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii$s"}, 1490{"fsgt", two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii$s"}, 1491{"fsle", two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii$s"}, 1492{"fslt", two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii$s"}, 1493{"fsne", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s"}, 1494{"fsnge", two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii$s"}, 1495{"fsngl", two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii$s"}, 1496{"fsngle", two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii$s"}, 1497{"fsngt", two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii$s"}, 1498{"fsnle", two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii$s"}, 1499{"fsnlt", two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii$s"}, 1500{"fsoge", two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii$s"}, 1501{"fsogl", two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii$s"}, 1502{"fsogt", two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii$s"}, 1503{"fsole", two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii$s"}, 1504{"fsolt", two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii$s"}, 1505{"fsor", two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii$s"}, 1506{"fsseq", two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii$s"}, 1507{"fssf", two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii$s"}, 1508{"fssne", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s"}, 1509{"fsst", two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii$s"}, 1510{"fst", two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii$s"}, 1511{"fsueq", two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii$s"}, 1512{"fsuge", two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii$s"}, 1513{"fsugt", two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii$s"}, 1514{"fsule", two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii$s"}, 1515{"fsult", two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii$s"}, 1516{"fsun", two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii$s"}, 1517 1518{"fsgldivb", two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1519{"fsgldivd", two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1520{"fsgldivl", two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1521#ifdef PACKED_IMMEDIATE 1522{"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1523#else 1524{"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1525#endif 1526{"fsgldivs", two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1527{"fsgldivw", two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1528{"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7"}, 1529{"fsgldivx", two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1530{"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiFt"}, 1531 1532{"fsglmulb", two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1533{"fsglmuld", two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1534{"fsglmull", two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1535#ifdef PACKED_IMMEDIATE 1536{"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1537#else 1538{"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1539#endif 1540{"fsglmuls", two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1541{"fsglmulw", two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1542{"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7"}, 1543{"fsglmulx", two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1544{"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiFt"}, 1545 1546{"fsinb", two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1547{"fsind", two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1548{"fsinl", two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1549#ifdef PACKED_IMMEDIATE 1550{"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1551#else 1552{"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1553#endif 1554{"fsins", two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1555{"fsinw", two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1556{"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7"}, 1557{"fsinx", two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1558{"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt"}, 1559 1560{"fsinhb", two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1561{"fsinhd", two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1562{"fsinhl", two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1563#ifdef PACKED_IMMEDIATE 1564{"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1565#else 1566{"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1567#endif 1568{"fsinhs", two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1569{"fsinhw", two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1570{"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7"}, 1571{"fsinhx", two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1572{"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt"}, 1573 1574{"fsqrtb", two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1575{"fsqrtd", two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1576{"fsqrtl", two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1577#ifdef PACKED_IMMEDIATE 1578{"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1579#else 1580{"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1581#endif 1582{"fsqrts", two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1583{"fsqrtw", two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1584{"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7"}, 1585{"fsqrtx", two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1586{"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt"}, 1587 1588{"fssqrtb", two(0xF000, 0x5841), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1589{"fssqrtd", two(0xF000, 0x5441), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1590{"fssqrtl", two(0xF000, 0x4041), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1591#ifdef PACKED_IMMEDIATE 1592{"fssqrtp", two(0xF000, 0x4C41), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1593#else 1594{"fssqrtp", two(0xF000, 0x4C41), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1595#endif 1596{"fssqrts", two(0xF000, 0x4441), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1597{"fssqrtw", two(0xF000, 0x5041), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1598{"fssqrtx", two(0xF000, 0x4841), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1599{"fssqrt", two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1600{"fssqrt", two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1601 1602{"fdsqrtb", two(0xF000, 0x5845), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1603{"fdsqrtd", two(0xF000, 0x5445), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1604{"fdsqrtl", two(0xF000, 0x4045), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1605#ifdef PACKED_IMMEDIATE 1606{"fdsqrtp", two(0xF000, 0x4C45), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1607#else 1608{"fdsqrtp", two(0xF000, 0x4C45), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1609#endif 1610{"fdsqrts", two(0xF000, 0x4445), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1611{"fdsqrtw", two(0xF000, 0x5045), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1612{"fdsqrtx", two(0xF000, 0x4845), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1613{"fdsqrt", two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1614{"fdsqrt", two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1615 1616{"fsubb", two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1617{"fsubd", two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1618{"fsubl", two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1619#ifdef PACKED_IMMEDIATE 1620{"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1621#else 1622{"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1623#endif 1624{"fsubs", two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1625{"fsubw", two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1626{"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7"}, 1627{"fsubx", two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1628{"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiFt"}, 1629 1630{"fssubb", two(0xF000, 0x5868), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1631{"fssubd", two(0xF000, 0x5468), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1632{"fssubl", two(0xF000, 0x4068), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1633#ifdef PACKED_IMMEDIATE 1634{"fssubp", two(0xF000, 0x4C68), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1635#else 1636{"fssubp", two(0xF000, 0x4C68), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1637#endif 1638{"fssubs", two(0xF000, 0x4468), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1639{"fssubw", two(0xF000, 0x5068), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1640{"fssubx", two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1641{"fssubx", two(0xF000, 0x4868), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1642{"fssubx", two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1643 1644{"fdsubb", two(0xF000, 0x586C), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, 1645{"fdsubd", two(0xF000, 0x546C), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, 1646{"fdsubl", two(0xF000, 0x406C), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, 1647#ifdef PACKED_IMMEDIATE 1648{"fdsubp", two(0xF000, 0x4C6C), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, 1649#else 1650{"fdsubp", two(0xF000, 0x4C6C), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, 1651#endif 1652{"fdsubs", two(0xF000, 0x446C), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, 1653{"fdsubw", two(0xF000, 0x506C), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, 1654{"fdsubx", two(0xF000, 0x006C), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, 1655{"fdsubx", two(0xF000, 0x486C), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, 1656{"fdsubx", two(0xF000, 0x006C), two(0xF1C0, 0xE07F), "IiFt", "4"}, 1657 1658{"ftanb", two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1659{"ftand", two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1660{"ftanl", two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1661#ifdef PACKED_IMMEDIATE 1662{"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1663#else 1664{"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1665#endif 1666{"ftans", two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1667{"ftanw", two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1668{"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7"}, 1669{"ftanx", two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1670{"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt"}, 1671 1672{"ftanhb", two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1673{"ftanhd", two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1674{"ftanhl", two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1675#ifdef PACKED_IMMEDIATE 1676{"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1677#else 1678{"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1679#endif 1680{"ftanhs", two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1681{"ftanhw", two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1682{"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7"}, 1683{"ftanhx", two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1684{"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt"}, 1685 1686{"ftentoxb", two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1687{"ftentoxd", two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1688{"ftentoxl", two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1689#ifdef PACKED_IMMEDIATE 1690{"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1691#else 1692{"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1693#endif 1694{"ftentoxs", two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1695{"ftentoxw", two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1696{"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7"}, 1697{"ftentoxx", two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1698{"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt"}, 1699 1700{"ftrapeq", two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii"}, 1701{"ftrapf", two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii"}, 1702{"ftrapge", two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii"}, 1703{"ftrapgl", two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii"}, 1704{"ftrapgle", two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii"}, 1705{"ftrapgt", two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii"}, 1706{"ftraple", two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii"}, 1707{"ftraplt", two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii"}, 1708{"ftrapne", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii"}, 1709{"ftrapnge", two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii"}, 1710{"ftrapngl", two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii"}, 1711{"ftrapngle", two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii"}, 1712{"ftrapngt", two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii"}, 1713{"ftrapnle", two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii"}, 1714{"ftrapnlt", two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii"}, 1715{"ftrapoge", two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii"}, 1716{"ftrapogl", two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii"}, 1717{"ftrapogt", two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii"}, 1718{"ftrapole", two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii"}, 1719{"ftrapolt", two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii"}, 1720{"ftrapor", two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii"}, 1721{"ftrapseq", two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii"}, 1722{"ftrapsf", two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii"}, 1723{"ftrapsne", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii"}, 1724{"ftrapst", two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii"}, 1725{"ftrapt", two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii"}, 1726{"ftrapueq", two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii"}, 1727{"ftrapuge", two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii"}, 1728{"ftrapugt", two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii"}, 1729{"ftrapule", two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii"}, 1730{"ftrapult", two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii"}, 1731{"ftrapun", two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii"}, 1732 1733{"ftrapeqw", two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w"}, 1734{"ftrapfw", two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w"}, 1735{"ftrapgew", two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w"}, 1736{"ftrapglw", two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w"}, 1737{"ftrapglew", two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w"}, 1738{"ftrapgtw", two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w"}, 1739{"ftraplew", two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w"}, 1740{"ftrapltw", two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w"}, 1741{"ftrapnew", two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w"}, 1742{"ftrapngew", two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w"}, 1743{"ftrapnglw", two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w"}, 1744{"ftrapnglew", two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w"}, 1745{"ftrapngtw", two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w"}, 1746{"ftrapnlew", two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w"}, 1747{"ftrapnltw", two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w"}, 1748{"ftrapogew", two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w"}, 1749{"ftrapoglw", two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w"}, 1750{"ftrapogtw", two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w"}, 1751{"ftrapolew", two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w"}, 1752{"ftrapoltw", two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w"}, 1753{"ftraporw", two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w"}, 1754{"ftrapseqw", two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w"}, 1755{"ftrapsfw", two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w"}, 1756{"ftrapsnew", two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w"}, 1757{"ftrapstw", two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w"}, 1758{"ftraptw", two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w"}, 1759{"ftrapueqw", two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w"}, 1760{"ftrapugew", two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w"}, 1761{"ftrapugtw", two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w"}, 1762{"ftrapulew", two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w"}, 1763{"ftrapultw", two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w"}, 1764{"ftrapunw", two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w"}, 1765 1766{"ftrapeql", two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l"}, 1767{"ftrapfl", two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l"}, 1768{"ftrapgel", two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l"}, 1769{"ftrapgll", two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l"}, 1770{"ftrapglel", two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l"}, 1771{"ftrapgtl", two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l"}, 1772{"ftraplel", two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l"}, 1773{"ftrapltl", two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l"}, 1774{"ftrapnel", two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l"}, 1775{"ftrapngel", two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l"}, 1776{"ftrapngll", two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l"}, 1777{"ftrapnglel", two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l"}, 1778{"ftrapngtl", two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l"}, 1779{"ftrapnlel", two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l"}, 1780{"ftrapnltl", two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l"}, 1781{"ftrapogel", two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l"}, 1782{"ftrapogll", two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l"}, 1783{"ftrapogtl", two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l"}, 1784{"ftrapolel", two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l"}, 1785{"ftrapoltl", two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l"}, 1786{"ftraporl", two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l"}, 1787{"ftrapseql", two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l"}, 1788{"ftrapsfl", two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l"}, 1789{"ftrapsnel", two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l"}, 1790{"ftrapstl", two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l"}, 1791{"ftraptl", two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l"}, 1792{"ftrapueql", two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l"}, 1793{"ftrapugel", two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l"}, 1794{"ftrapugtl", two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l"}, 1795{"ftrapulel", two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l"}, 1796{"ftrapultl", two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l"}, 1797{"ftrapunl", two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l"}, 1798 1799{"ftstb", two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b"}, 1800{"ftstd", two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F"}, 1801{"ftstl", two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l"}, 1802#ifdef PACKED_IMMEDIATE 1803{"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p"}, 1804#else 1805{"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii@p"}, 1806#endif 1807{"ftsts", two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f"}, 1808{"ftstw", two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w"}, 1809{"ftstx", two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8"}, 1810{"ftstx", two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x"}, 1811 1812{"ftwotoxb", two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7"}, 1813{"ftwotoxd", two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7"}, 1814{"ftwotoxl", two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7"}, 1815#ifdef PACKED_IMMEDIATE 1816{"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7"}, 1817#else 1818{"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii@pF7"}, 1819#endif 1820{"ftwotoxs", two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7"}, 1821{"ftwotoxw", two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7"}, 1822{"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7"}, 1823{"ftwotoxx", two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7"}, 1824{"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt"}, 1825 1826 1827{"fjeq", one(0xF081), one(0xF1FF), "IdBc"}, 1828{"fjf", one(0xF080), one(0xF1FF), "IdBc"}, 1829{"fjge", one(0xF093), one(0xF1FF), "IdBc"}, 1830{"fjgl", one(0xF096), one(0xF1FF), "IdBc"}, 1831{"fjgle", one(0xF097), one(0xF1FF), "IdBc"}, 1832{"fjgt", one(0xF092), one(0xF1FF), "IdBc"}, 1833{"fjle", one(0xF095), one(0xF1FF), "IdBc"}, 1834{"fjlt", one(0xF094), one(0xF1FF), "IdBc"}, 1835{"fjne", one(0xF08E), one(0xF1FF), "IdBc"}, 1836{"fjnge", one(0xF09C), one(0xF1FF), "IdBc"}, 1837{"fjngl", one(0xF099), one(0xF1FF), "IdBc"}, 1838{"fjngle", one(0xF098), one(0xF1FF), "IdBc"}, 1839{"fjngt", one(0xF09D), one(0xF1FF), "IdBc"}, 1840{"fjnle", one(0xF09A), one(0xF1FF), "IdBc"}, 1841{"fjnlt", one(0xF09B), one(0xF1FF), "IdBc"}, 1842{"fjoge", one(0xF083), one(0xF1FF), "IdBc"}, 1843{"fjogl", one(0xF086), one(0xF1FF), "IdBc"}, 1844{"fjogt", one(0xF082), one(0xF1FF), "IdBc"}, 1845{"fjole", one(0xF085), one(0xF1FF), "IdBc"}, 1846{"fjolt", one(0xF084), one(0xF1FF), "IdBc"}, 1847{"fjor", one(0xF087), one(0xF1FF), "IdBc"}, 1848{"fjseq", one(0xF091), one(0xF1FF), "IdBc"}, 1849{"fjsf", one(0xF090), one(0xF1FF), "IdBc"}, 1850{"fjsne", one(0xF09E), one(0xF1FF), "IdBc"}, 1851{"fjst", one(0xF09F), one(0xF1FF), "IdBc"}, 1852{"fjt", one(0xF08F), one(0xF1FF), "IdBc"}, 1853{"fjueq", one(0xF089), one(0xF1FF), "IdBc"}, 1854{"fjuge", one(0xF08B), one(0xF1FF), "IdBc"}, 1855{"fjugt", one(0xF08A), one(0xF1FF), "IdBc"}, 1856{"fjule", one(0xF08D), one(0xF1FF), "IdBc"}, 1857{"fjult", one(0xF08C), one(0xF1FF), "IdBc"}, 1858{"fjun", one(0xF088), one(0xF1FF), "IdBc"}, 1859 1860/* The assembler will ignore attempts to force a short offset */ 1861 1862{"bhis", one(0061000), one(0177400), "Bg"}, 1863{"blss", one(0061400), one(0177400), "Bg"}, 1864{"bccs", one(0062000), one(0177400), "Bg"}, 1865{"bcss", one(0062400), one(0177400), "Bg"}, 1866{"bnes", one(0063000), one(0177400), "Bg"}, 1867{"beqs", one(0063400), one(0177400), "Bg"}, 1868{"bvcs", one(0064000), one(0177400), "Bg"}, 1869{"bvss", one(0064400), one(0177400), "Bg"}, 1870{"bpls", one(0065000), one(0177400), "Bg"}, 1871{"bmis", one(0065400), one(0177400), "Bg"}, 1872{"bges", one(0066000), one(0177400), "Bg"}, 1873{"blts", one(0066400), one(0177400), "Bg"}, 1874{"bgts", one(0067000), one(0177400), "Bg"}, 1875{"bles", one(0067400), one(0177400), "Bg"}, 1876 1877/* Alternate mnemonics for SUN */ 1878 1879{"jbsr", one(0060400), one(0177400), "Bg"}, 1880{"jbsr", one(0047200), one(0177700), "!s"}, 1881{"jra", one(0060000), one(0177400), "Bg"}, 1882{"jra", one(0047300), one(0177700), "!s"}, 1883 1884{"jhi", one(0061000), one(0177400), "Bg"}, 1885{"jls", one(0061400), one(0177400), "Bg"}, 1886{"jcc", one(0062000), one(0177400), "Bg"}, 1887{"jcs", one(0062400), one(0177400), "Bg"}, 1888{"jne", one(0063000), one(0177400), "Bg"}, 1889{"jeq", one(0063400), one(0177400), "Bg"}, 1890{"jvc", one(0064000), one(0177400), "Bg"}, 1891{"jvs", one(0064400), one(0177400), "Bg"}, 1892{"jpl", one(0065000), one(0177400), "Bg"}, 1893{"jmi", one(0065400), one(0177400), "Bg"}, 1894{"jge", one(0066000), one(0177400), "Bg"}, 1895{"jlt", one(0066400), one(0177400), "Bg"}, 1896{"jgt", one(0067000), one(0177400), "Bg"}, 1897{"jle", one(0067400), one(0177400), "Bg"}, 1898 1899/* Short offsets are ignored */ 1900 1901{"jbsrs", one(0060400), one(0177400), "Bg"}, 1902{"jras", one(0060000), one(0177400), "Bg"}, 1903{"jhis", one(0061000), one(0177400), "Bg"}, 1904{"jlss", one(0061400), one(0177400), "Bg"}, 1905{"jccs", one(0062000), one(0177400), "Bg"}, 1906{"jcss", one(0062400), one(0177400), "Bg"}, 1907{"jnes", one(0063000), one(0177400), "Bg"}, 1908{"jeqs", one(0063400), one(0177400), "Bg"}, 1909{"jvcs", one(0064000), one(0177400), "Bg"}, 1910{"jvss", one(0064400), one(0177400), "Bg"}, 1911{"jpls", one(0065000), one(0177400), "Bg"}, 1912{"jmis", one(0065400), one(0177400), "Bg"}, 1913{"jges", one(0066000), one(0177400), "Bg"}, 1914{"jlts", one(0066400), one(0177400), "Bg"}, 1915{"jgts", one(0067000), one(0177400), "Bg"}, 1916{"jles", one(0067400), one(0177400), "Bg"}, 1917 1918{"movql", one(0070000), one(0170400), "MsDd"}, 1919{"moveql", one(0070000), one(0170400), "MsDd"}, 1920{"moval", one(0020100), one(0170700), "*lAd"}, 1921{"movaw", one(0030100), one(0170700), "*wAd"}, 1922{"movb", one(0010000), one(0170000), ";b$d"}, /* mov */ 1923{"movl", one(0070000), one(0170400), "MsDd"}, /* movq written as mov */ 1924{"movl", one(0020000), one(0170000), "*l$d"}, 1925{"movl", one(0020100), one(0170700), "*lAd"}, 1926{"movl", one(0047140), one(0177770), "AsUd"}, /* mov to USP */ 1927{"movl", one(0047150), one(0177770), "UdAs"}, /* mov from USP */ 1928{"movc", one(0047173), one(0177777), "R1Jj"}, 1929{"movc", one(0047173), one(0177777), "R1#j"}, 1930{"movc", one(0047172), one(0177777), "JjR1"}, 1931{"movc", one(0047172), one(0177777), "#jR1"}, 1932{"movml", one(0044300), one(0177700), "#w&s"}, /* movm reg to mem. */ 1933{"movml", one(0044340), one(0177770), "#w-s"}, /* movm reg to autodecrement. */ 1934{"movml", one(0046300), one(0177700), "!s#w"}, /* movm mem to reg. */ 1935{"movml", one(0046330), one(0177770), "+s#w"}, /* movm autoinc to reg. */ 1936{"movml", one(0044300), one(0177700), "Lw&s"}, /* movm reg to mem. */ 1937{"movml", one(0044340), one(0177770), "lw-s"}, /* movm reg to autodecrement. */ 1938{"movml", one(0046300), one(0177700), "!sLw"}, /* movm mem to reg. */ 1939{"movml", one(0046330), one(0177770), "+sLw"}, /* movm autoinc to reg. */ 1940{"movmw", one(0044200), one(0177700), "#w&s"}, /* movm reg to mem. */ 1941{"movmw", one(0044240), one(0177770), "#w-s"}, /* movm reg to autodecrement. */ 1942{"movmw", one(0046200), one(0177700), "!s#w"}, /* movm mem to reg. */ 1943{"movmw", one(0046230), one(0177770), "+s#w"}, /* movm autoinc to reg. */ 1944{"movmw", one(0044200), one(0177700), "Lw&s"}, /* movm reg to mem. */ 1945{"movmw", one(0044240), one(0177770), "lw-s"}, /* movm reg to autodecrement. */ 1946{"movmw", one(0046200), one(0177700), "!sLw"}, /* movm mem to reg. */ 1947{"movmw", one(0046230), one(0177770), "+sLw"}, /* movm autoinc to reg. */ 1948{"movpl", one(0000510), one(0170770), "dsDd"}, /* memory to register */ 1949{"movpl", one(0000710), one(0170770), "Ddds"}, /* register to memory */ 1950{"movpw", one(0000410), one(0170770), "dsDd"}, /* memory to register */ 1951{"movpw", one(0000610), one(0170770), "Ddds"}, /* register to memory */ 1952{"movq", one(0070000), one(0170400), "MsDd"}, 1953{"movw", one(0030000), one(0170000), "*w$d"}, 1954{"movw", one(0030100), one(0170700), "*wAd"}, /* mova, written as mov */ 1955{"movw", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */ 1956{"movw", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */ 1957{"movw", one(0042300), one(0177700), ";wCd"}, /* mov to ccr */ 1958{"movw", one(0043300), one(0177700), ";wSd"}, /* mov to sr */ 1959 1960{"movsb", two(0007000, 0), two(0177700, 07777), "~sR1"}, 1961{"movsb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, 1962{"movsl", two(0007200, 0), two(0177700, 07777), "~sR1"}, 1963{"movsl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, 1964{"movsw", two(0007100, 0), two(0177700, 07777), "~sR1"}, 1965{"movsw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, 1966 1967#ifdef BUILTIN_MMUS 1968 /* name */ /* opcode */ /* match */ /* args */ 1969 1970{"pflusha030", two(0xf000, 0x2400), two(0xffff, 0xffff), "", "3" }, 1971{"pflusha040", one(0xf518), one(0xfff8), "", "4" }, 1972 1973{"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "Q3Q9", "3" }, 1974{"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "Q3Q9&s", "3" }, 1975{"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3Q9", "3" }, 1976{"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3Q9&s", "3" }, 1977{"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3Q9", "3" }, 1978{"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3Q9&s", "3" }, 1979 1980{"pflush", one(0xf508), one(0xfff8), "0s", "4" }, 1981{"pflushn", one(0xf500), one(0xfff8), "0s", "4" }, 1982{"pflushan", one(0xf510), one(0xfff8), "", "4" }, 1983 1984{"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "Q3&s", "3" }, 1985{"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s", "3" }, 1986{"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s", "3" }, 1987{"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "Q3&s", "3" }, 1988{"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s", "3" }, 1989{"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s", "3" }, 1990 1991/* TC, CRP, SRP */ 1992{"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "&sa8", "3" }, 1993{"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "a8&s", "3" }, 1994/* MMUSR */ 1995{"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "&sb3", "3" }, 1996{"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "b3&s", "3" }, 1997/* TT0, TT1 */ 1998{"pmove", two(0xf000, 0x0000), two(0xffc0, 0xe3ff), "&se8", "3" }, 1999{"pmove", two(0xf000, 0x0200), two(0xffc0, 0xe3ff), "e8&s", "3" }, 2000 2001/* TC, CRP, SRP */ 2002{"pmovefd", two(0xf000, 0x4100), two(0xffc0, 0xe3ff), "&sa8", "3" }, 2003/* TT0, TT1 */ 2004{"pmovefd", two(0xf000, 0x0100), two(0xffc0, 0xe3ff), "&se8", "3" }, 2005 2006{"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "Q3&sQ8", "3"}, 2007{"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "Q3&sQ8A9","3"}, 2008{"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8", "3"}, 2009{"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9","3"}, 2010{"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8", "3"}, 2011{"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9","3"}, 2012{"ptestr", one(0xf568), one(0xfff8), "0s", "4"}, 2013 2014{"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "Q3&sQ8", "3"}, 2015{"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "Q3&sQ8A9","3"}, 2016{"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8", "3"}, 2017{"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9","3"}, 2018{"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8", "3"}, 2019{"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9","3"}, 2020{"ptestw", one(0xf548), one(0xfff8), "0s", "4"}, 2021 2022{"cinva", one(0xf418), one(0xff38), "cS", "4" }, 2023{"cinvl", one(0xf408), one(0xff38), "cS0s", "4" }, 2024{"cinvp", one(0xf410), one(0xff38), "cS0s", "4" }, 2025 2026{"cpusha", one(0xf438), one(0xff38), "cS", "4" }, 2027{"cpushl", one(0xf428), one(0xff38), "cS0s", "4" }, 2028{"cpushp", one(0xf430), one(0xff38), "cS0s", "4" }, 2029 2030#endif /* BUILTIN_MMUS */ 2031 2032#ifdef m68851 2033 /* name */ /* opcode */ /* match */ /* args */ 2034 2035{"pbac", one(0xf0c7), one(0xffbf), "Bc"}, 2036{"pbacw", one(0xf087), one(0xffbf), "Bc"}, 2037{"pbas", one(0xf0c6), one(0xffbf), "Bc"}, 2038{"pbasw", one(0xf086), one(0xffbf), "Bc"}, 2039{"pbbc", one(0xf0c1), one(0xffbf), "Bc"}, 2040{"pbbcw", one(0xf081), one(0xffbf), "Bc"}, 2041{"pbbs", one(0xf0c0), one(0xffbf), "Bc"}, 2042{"pbbsw", one(0xf080), one(0xffbf), "Bc"}, 2043{"pbcc", one(0xf0cf), one(0xffbf), "Bc"}, 2044{"pbccw", one(0xf08f), one(0xffbf), "Bc"}, 2045{"pbcs", one(0xf0ce), one(0xffbf), "Bc"}, 2046{"pbcsw", one(0xf08e), one(0xffbf), "Bc"}, 2047{"pbgc", one(0xf0cd), one(0xffbf), "Bc"}, 2048{"pbgcw", one(0xf08d), one(0xffbf), "Bc"}, 2049{"pbgs", one(0xf0cc), one(0xffbf), "Bc"}, 2050{"pbgsw", one(0xf08c), one(0xffbf), "Bc"}, 2051{"pbic", one(0xf0cb), one(0xffbf), "Bc"}, 2052{"pbicw", one(0xf08b), one(0xffbf), "Bc"}, 2053{"pbis", one(0xf0ca), one(0xffbf), "Bc"}, 2054{"pbisw", one(0xf08a), one(0xffbf), "Bc"}, 2055{"pblc", one(0xf0c3), one(0xffbf), "Bc"}, 2056{"pblcw", one(0xf083), one(0xffbf), "Bc"}, 2057{"pbls", one(0xf0c2), one(0xffbf), "Bc"}, 2058{"pblsw", one(0xf082), one(0xffbf), "Bc"}, 2059{"pbsc", one(0xf0c5), one(0xffbf), "Bc"}, 2060{"pbscw", one(0xf085), one(0xffbf), "Bc"}, 2061{"pbss", one(0xf0c4), one(0xffbf), "Bc"}, 2062{"pbssw", one(0xf084), one(0xffbf), "Bc"}, 2063{"pbwc", one(0xf0c9), one(0xffbf), "Bc"}, 2064{"pbwcw", one(0xf089), one(0xffbf), "Bc"}, 2065{"pbws", one(0xf0c8), one(0xffbf), "Bc"}, 2066{"pbwsw", one(0xf088), one(0xffbf), "Bc"}, 2067 2068 2069{"pdbac", two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw"}, 2070{"pdbas", two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw"}, 2071{"pdbbc", two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw"}, 2072{"pdbbs", two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw"}, 2073{"pdbcc", two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw"}, 2074{"pdbcs", two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw"}, 2075{"pdbgc", two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw"}, 2076{"pdbgs", two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw"}, 2077{"pdbic", two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw"}, 2078{"pdbis", two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw"}, 2079{"pdblc", two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw"}, 2080{"pdbls", two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw"}, 2081{"pdbsc", two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw"}, 2082{"pdbss", two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw"}, 2083{"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw"}, 2084{"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw"}, 2085 2086{"pflusha", two(0xf000, 0x2400), two(0xffff, 0xffff), "" }, 2087 2088{"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "T3T9" }, 2089{"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "T3T9&s" }, 2090{"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3T9" }, 2091{"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3T9&s" }, 2092{"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3T9" }, 2093{"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3T9&s" }, 2094 2095{"pflushs", two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9" }, 2096{"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe00), "T3T9&s" }, 2097{"pflushs", two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9" }, 2098{"pflushs", two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s" }, 2099{"pflushs", two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9" }, 2100{"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s"}, 2101 2102{"pflushr", two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s" }, 2103 2104{"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "T3&s" }, 2105{"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s" }, 2106{"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s" }, 2107{"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "T3&s" }, 2108{"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s" }, 2109{"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s" }, 2110 2111/* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */ 2112{"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "&sP8" }, 2113{"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "P8%s" }, 2114{"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "|sW8" }, 2115{"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "W8~s" }, 2116 2117/* BADx, BACx */ 2118{"pmove", two(0xf000, 0x6200), two(0xffc0, 0xe3e3), "*sX3" }, 2119{"pmove", two(0xf000, 0x6000), two(0xffc0, 0xe3e3), "X3%s" }, 2120 2121/* PSR, PCSR */ 2122/* {"pmove", two(0xf000, 0x6100), two(oxffc0, oxffff), "*sZ8" }, */ 2123{"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "*sY8" }, 2124{"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "Y8%s" }, 2125{"pmove", two(0xf000, 0x6600), two(0xffc0, 0xffff), "Z8%s" }, 2126 2127{"prestore", one(0xf140), one(0xffc0), "&s"}, 2128{"prestore", one(0xf158), one(0xfff8), "+s"}, 2129{"psave", one(0xf100), one(0xffc0), "&s"}, 2130{"psave", one(0xf100), one(0xffc0), "+s"}, 2131 2132{"psac", two(0xf040, 0x0007), two(0xffc0, 0xffff), "@s"}, 2133{"psas", two(0xf040, 0x0006), two(0xffc0, 0xffff), "@s"}, 2134{"psbc", two(0xf040, 0x0001), two(0xffc0, 0xffff), "@s"}, 2135{"psbs", two(0xf040, 0x0000), two(0xffc0, 0xffff), "@s"}, 2136{"pscc", two(0xf040, 0x000f), two(0xffc0, 0xffff), "@s"}, 2137{"pscs", two(0xf040, 0x000e), two(0xffc0, 0xffff), "@s"}, 2138{"psgc", two(0xf040, 0x000d), two(0xffc0, 0xffff), "@s"}, 2139{"psgs", two(0xf040, 0x000c), two(0xffc0, 0xffff), "@s"}, 2140{"psic", two(0xf040, 0x000b), two(0xffc0, 0xffff), "@s"}, 2141{"psis", two(0xf040, 0x000a), two(0xffc0, 0xffff), "@s"}, 2142{"pslc", two(0xf040, 0x0003), two(0xffc0, 0xffff), "@s"}, 2143{"psls", two(0xf040, 0x0002), two(0xffc0, 0xffff), "@s"}, 2144{"pssc", two(0xf040, 0x0005), two(0xffc0, 0xffff), "@s"}, 2145{"psss", two(0xf040, 0x0004), two(0xffc0, 0xffff), "@s"}, 2146{"pswc", two(0xf040, 0x0009), two(0xffc0, 0xffff), "@s"}, 2147{"psws", two(0xf040, 0x0008), two(0xffc0, 0xffff), "@s"}, 2148 2149{"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "T3&sQ8" }, 2150{"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "T3&sQ8A9" }, 2151{"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8" }, 2152{"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9" }, 2153{"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8" }, 2154{"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9" }, 2155 2156{"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "T3&sQ8" }, 2157{"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "T3&sQ8A9" }, 2158{"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8" }, 2159{"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9" }, 2160{"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8" }, 2161{"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9" }, 2162 2163{"ptrapacw", two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w"}, 2164{"ptrapacl", two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l"}, 2165{"ptrapac", two(0xf07c, 0x0007), two(0xffff, 0xffff), ""}, 2166 2167{"ptrapasw", two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w"}, 2168{"ptrapasl", two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l"}, 2169{"ptrapas", two(0xf07c, 0x0006), two(0xffff, 0xffff), ""}, 2170 2171{"ptrapbcw", two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w"}, 2172{"ptrapbcl", two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l"}, 2173{"ptrapbc", two(0xf07c, 0x0001), two(0xffff, 0xffff), ""}, 2174 2175{"ptrapbsw", two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w"}, 2176{"ptrapbsl", two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l"}, 2177{"ptrapbs", two(0xf07c, 0x0000), two(0xffff, 0xffff), ""}, 2178 2179{"ptrapccw", two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w"}, 2180{"ptrapccl", two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l"}, 2181{"ptrapcc", two(0xf07c, 0x000f), two(0xffff, 0xffff), ""}, 2182 2183{"ptrapcsw", two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w"}, 2184{"ptrapcsl", two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l"}, 2185{"ptrapcs", two(0xf07c, 0x000e), two(0xffff, 0xffff), ""}, 2186 2187{"ptrapgcw", two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w"}, 2188{"ptrapgcl", two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l"}, 2189{"ptrapgc", two(0xf07c, 0x000d), two(0xffff, 0xffff), ""}, 2190 2191{"ptrapgsw", two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w"}, 2192{"ptrapgsl", two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l"}, 2193{"ptrapgs", two(0xf07c, 0x000c), two(0xffff, 0xffff), ""}, 2194 2195{"ptrapicw", two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w"}, 2196{"ptrapicl", two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l"}, 2197{"ptrapic", two(0xf07c, 0x000b), two(0xffff, 0xffff), ""}, 2198 2199{"ptrapisw", two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w"}, 2200{"ptrapisl", two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l"}, 2201{"ptrapis", two(0xf07c, 0x000a), two(0xffff, 0xffff), ""}, 2202 2203{"ptraplcw", two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w"}, 2204{"ptraplcl", two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l"}, 2205{"ptraplc", two(0xf07c, 0x0003), two(0xffff, 0xffff), ""}, 2206 2207{"ptraplsw", two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w"}, 2208{"ptraplsl", two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l"}, 2209{"ptrapls", two(0xf07c, 0x0002), two(0xffff, 0xffff), ""}, 2210 2211{"ptrapscw", two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w"}, 2212{"ptrapscl", two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l"}, 2213{"ptrapsc", two(0xf07c, 0x0005), two(0xffff, 0xffff), ""}, 2214 2215{"ptrapssw", two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w"}, 2216{"ptrapssl", two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l"}, 2217{"ptrapss", two(0xf07c, 0x0004), two(0xffff, 0xffff), ""}, 2218 2219{"ptrapwcw", two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w"}, 2220{"ptrapwcl", two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l"}, 2221{"ptrapwc", two(0xf07c, 0x0009), two(0xffff, 0xffff), ""}, 2222 2223{"ptrapwsw", two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w"}, 2224{"ptrapwsl", two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l"}, 2225{"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), ""}, 2226 2227{"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s"}, 2228{"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" }, 2229 2230#endif /* m68851 */ 2231 2232 2233}; 2234 2235static const struct m68k_opcode *endop = 2236 m68k_opcodes + sizeof(m68k_opcodes) / sizeof(m68k_opcodes[0]); 2237