a032dbe2cf191396e8e4e9ca4faa37b19b2363bc
1 /* Opcode table for m680[01234]0/m6888[12]/m68851.
2 Copyright (C) 1989, 1991 Free Software Foundation.
4 This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler.
6 Both GDB and GAS are free software; you can redistribute and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 1, or (at your option)
11 GDB and GAS are distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GDB or GAS; see the file COPYING. If not, write to
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20 /* These are used as bit flags for arch below. */
22 enum m68k_architecture
{ a
,b
};
26 #define m68008 m68000 /* synonym for -m68000. otherwise unused. */
32 #define m68882 m68881 /* synonym for -m68881. otherwise unused. */
36 #define m68040up m68040
37 #define m68030up (m68030 | m68040up)
38 #define m68020up (m68020 | m68030up)
39 #define m68010up (m68010 | m68020up)
40 #define m68000up (m68000 | m68010up)
42 #define mfloat (m68881 | m68882 | m68040)
43 #define mmmu (m68851 | m68030 | m68040)
46 /* note that differences in addressing modes that aren't distinguished
47 in the following table are handled explicitly by gas. */
57 #ifdef MOTOROLA_SYNTAX
58 #define V(MIT_VARIANT,MOTOROLA_VARIANT) MOTOROLA_VARIANT
60 #define OP2(name,ext) #name "." #ext
62 #define OP2(name,ext) "name.ext"
64 #else /* MIT/Unix syntax */
65 #define V(MIT_VARIANT,MOTOROLA_VARIANT) MIT_VARIANT
67 #define OP2(name,ext) #name #ext
69 #define OP2(name,ext) "name\
75 /* We store four bytes of opcode for all opcodes because that
76 is the most any of them need. The actual length of an instruction
77 is always at least 2 bytes, and is as much longer as necessary to
78 hold the operands it has.
80 The match component is a mask saying which bits must match
81 particular opcode in order for an instruction to be an instance
84 The args component is a string containing two characters
85 for each operand of the instruction. The first specifies
86 the kind of operand; the second, the place it is stored. */
89 D data register only. Stored as 3 bits.
90 A address register only. Stored as 3 bits.
91 a address register indirect only. Stored as 3 bits.
92 R either kind of register. Stored as 4 bits.
93 F floating point coprocessor register only. Stored as 3 bits.
94 O an offset (or width): immediate data 0-31 or data register.
95 Stored as 6 bits in special format for BF... insns.
96 + autoincrement only. Stored as 3 bits (number of the address register).
97 - autodecrement only. Stored as 3 bits (number of the address register).
98 Q quick immediate data. Stored as 3 bits.
99 This matches an immediate operand only when value is in range 1 .. 8.
100 M moveq immediate data. Stored as 8 bits.
101 This matches an immediate operand only when value is in range -128..127
102 T trap vector immediate data. Stored as 4 bits.
104 k K-factor for fmove.p instruction. Stored as a 7-bit constant or
105 a three bit register offset, depending on the field type.
107 # immediate data. Stored in special places (b, w or l)
108 which say how many bits to store.
109 ^ immediate data for floating point instructions. Special places
110 are offset by 2 bytes from '#'...
111 B pc-relative address, converted to an offset
112 that is treated as immediate data.
113 d displacement and register. Stores the register as 3 bits
114 and stores the displacement in the entire second word.
116 C the CCR. No need to store it; this is just for filtering validity.
117 S the SR. No need to store, just as with CCR.
118 U the USP. No need to store, just as with CCR.
120 I Coprocessor ID. Not printed if 1. The Coprocessor ID is always
121 extracted from the 'd' field of word one, which means that an extended
122 coprocessor opcode can be skipped using the 'i' place, if needed.
124 s System Control register for the floating point coprocessor.
125 S List of system control registers for floating point coprocessor.
127 J Misc register for movec instruction, stored in 'j' format.
129 0x000 SFC Source Function Code reg [40, 30, 20, 10]
130 0x001 DFC Data Function Code reg [40, 30, 20, 10]
131 0x002 CACR Cache Control Register [40, 30, 20]
132 0x800 USP User Stack Pointer [40, 30, 20, 10]
133 0x801 VBR Vector Base reg [40, 30, 20, 10]
134 0x802 CAAR Cache Address Register [ 30, 20]
135 0x803 MSP Master Stack Pointer [40, 30, 20]
136 0x804 ISP Interrupt Stack Pointer [40, 30, 20]
137 0x003 TC MMU Translation Control [40]
138 0x004 ITT0 Instruction Transparent
139 Translation reg 0 [40]
140 0x005 ITT1 Instruction Transparent
141 Translation reg 1 [40]
142 0x006 DTT0 Data Transparent
143 Translation reg 0 [40]
144 0x007 DTT1 Data Transparent
145 Translation reg 1 [40]
146 0x805 MMUSR MMU Status reg [40]
147 0x806 URP User Root Pointer [40]
148 0x807 SRP Supervisor Root Pointer [40]
150 L Register list of the type d0-d7/a0-a7 etc.
151 (New! Improved! Can also hold fp0-fp7, as well!)
152 The assembler tries to see if the registers match the insn by
153 looking at where the insn wants them stored.
155 l Register list like L, but with all the bits reversed.
156 Used for going the other way. . .
158 c cache identifier which may be "nc" for no cache, "ic"
159 for instruction cache, "dc" for data cache, or "bc"
160 for both caches. Used in cinv and cpush. Always
161 stored in position "d".
163 They are all stored as 6 bits using an address mode and a register number;
164 they differ in which addressing modes they match.
166 * all (modes 0-6,7.*)
167 ~ alterable memory (modes 2-6,7.0,7.1)(not 0,1,7.~)
168 % alterable (modes 0-6,7.0,7.1)(not 7.~)
169 ; data (modes 0,2-6,7.*)(not 1)
170 @ data, but not immediate (modes 0,2-6,7.? ? ?)(not 1,7.?) This may really be ;, the 68020 book says it is
171 ! control (modes 2,5,6,7.*-)(not 0,1,3,4,7.4)
172 & alterable control (modes 2,5,6,7.0,7.1)(not 0,1,7.? ? ?)
173 $ alterable data (modes 0,2-6,7.0,7.1)(not 1,7.~)
174 ? alterable control, or data register (modes 0,2,5,6,7.0,7.1)(not 1,3,4,7.~)
175 / control, or data register (modes 0,2,5,6,7.0,7.1,7.2,7.3)(not 1,3,4,7.4)
178 /* JF: for the 68851 */
180 I didn't use much imagination in choosing the
181 following codes, so many of them aren't very
186 000 TC Translation Control reg
187 100 CAL Current Access Level
188 101 VAL Validate Access Level
189 110 SCC Stack Change Control
190 111 AC Access Control
192 W wide pmmu registers
194 001 DRP Dma Root Pointer
195 010 SRP Supervisor Root Pointer
196 011 CRP Cpu Root Pointer
198 f function code register
205 100 BAD Breakpoint Acknowledge Data
206 101 BAC Breakpoint Acknowledge Control
211 | memory (modes 2-6, 7.*)
215 /* Places to put an operand, for non-general operands:
216 s source, low bits of first word.
217 d dest, shifted 9 in first word
218 1 second word, shifted 12
219 2 second word, shifted 6
220 3 second word, shifted 0
221 4 third word, shifted 12
222 5 third word, shifted 6
223 6 third word, shifted 0
224 7 second word, shifted 7
225 8 second word, shifted 10
226 D store in both place 1 and place 3; for divul and divsl.
227 B first word, low byte, for branch displacements
228 W second word (entire), for branch displacements
229 L second and third words (entire), for branch displacements (also overloaded for move16)
230 b second word, low byte
231 w second word (entire) [variable word/long branch offset for dbra]
232 l second and third word (entire)
233 g variable branch offset for bra and similar instructions.
234 The place to store depends on the magnitude of offset.
235 t store in both place 7 and place 8; for floating point operations
236 c branch offset for cpBcc operations.
237 The place to store is word two if bit six of word one is zero,
238 and words two and three if bit six of word one is one.
239 i Increment by two, to skip over coprocessor extended operands. Only
240 works with the 'I' format.
241 k Dynamic K-factor field. Bits 6-4 of word 2, used as a register number.
242 Also used for dynamic fmovem instruction.
243 C floating point coprocessor constant - 7 bits. Also used for static
245 j Movec register #, stored in 12 low bits of second word.
247 Places to put operand, for general operands:
248 d destination, shifted 6 bits in first word
249 b source, at low bit of first word, and immediate uses one byte
250 w source, at low bit of first word, and immediate uses two bytes
251 l source, at low bit of first word, and immediate uses four bytes
252 s source, at low bit of first word.
253 Used sometimes in contexts where immediate is not allowed anyway.
254 f single precision float, low bit of 1st word, immediate uses 4 bytes
255 F double precision float, low bit of 1st word, immediate uses 8 bytes
256 x extended precision float, low bit of 1st word, immediate uses 12 bytes
257 p packed float, low bit of 1st word, immediate uses 12 bytes
260 #define one(x) ((unsigned int) (x) << 16)
261 #define two(x, y) (((unsigned int) (x) << 16) + y)
264 *** DANGER WILL ROBINSON ***
266 The assembler requires that all instances of the same mnemonic must be
267 consecutive. If they aren't, the assembler will bomb at runtime
269 #ifdef DONT_DEFINE_TABLE
270 extern struct m68k_opcode m68k_opcodes
[];
272 struct m68k_opcode m68k_opcodes
[] =
274 {"abcd", one(0140400), one(0170770), "DsDd", m68000up
},
275 {"abcd", one(0140410), one(0170770), "-s-d", m68000up
},
277 /* Add instructions */
278 {OP2(adda
,l
), one(0150700), one(0170700), "*lAd", m68000up
},
279 {OP2(adda
,w
), one(0150300), one(0170700), "*wAd", m68000up
},
280 {OP2(addi
,b
), one(0003000), one(0177700), "#b$b", m68000up
},
282 {OP2(addi
,l
), one(0003200), one(0177700), "#l$l", m68000up
},
283 {OP2(addi
,w
), one(0003100), one(0177700), "#w$w", m68000up
},
284 {OP2(addq
,b
), one(0050000), one(0170700), "Qd$b", m68000up
},
285 #ifdef MOTOROLA_SYNTAX
286 {OP2(addq
,b
), one(0003000), one(0177700), "#b$b", m68000up
}, /* FIXNIEL: addi instead of addq because to many frags */
288 {OP2(addq
,l
), one(0050200), one(0170700), "Qd%l", m68000up
},
289 #ifdef MOTOROLA_SYNTAX
290 {OP2(addq
,l
), one(0003200), one(0177700), "#l$l", m68000up
}, /* FIXNIEL: addi instead of addq because to many frags */
292 {OP2(addq
,w
), one(0050100), one(0170700), "Qd%w", m68000up
},
293 #ifdef MOTOROLA_SYNTAX
294 {OP2(addq
,w
), one(0003100), one(0177700), "#w$w", m68000up
}, /* FIXNIEL: addi instead of addq because to many frags */
297 {OP2(add
,b
), one(0050000), one(0170700), "Qd$b", m68000up
}, /* addq written as add */
298 {OP2(add
,b
), one(0003000), one(0177700), "#b$b", m68000up
}, /* addi written as add */
299 {OP2(add
,b
), one(0150000), one(0170700), ";bDd", m68000up
}, /* addb <ea>, Dd */
300 {OP2(add
,b
), one(0150400), one(0170700), "Dd~b", m68000up
}, /* add.b Dd, <ea> */
302 {OP2(add
,w
), one(0150300), one(0170700), "*wAd", m68000up
}, /* adda written as add */
303 {OP2(add
,w
), one(0050100), one(0170700), "Qd%w", m68000up
}, /* addq written as add */
304 {OP2(add
,w
), one(0003100), one(0177700), "#w$w", m68000up
}, /* addi written as add */
305 {OP2(add
,w
), one(0150100), one(0170700), "*wDd", m68000up
}, /* addw <ea>, Dd */
306 {OP2(add
,w
), one(0150500), one(0170700), "Dd~w", m68000up
}, /* addw Dd, <ea> */
308 {OP2(add
,l
), one(0050200), one(0170700), "Qd%l", m68000up
}, /* addq written as add */
309 {OP2(add
,l
), one(0003200), one(0177700), "#l$l", m68000up
}, /* addi written as add */
310 {OP2(add
,l
), one(0150700), one(0170700), "*lAd", m68000up
}, /* adda written as add */
311 {OP2(add
,l
), one(0150200), one(0170700), "*lDd", m68000up
}, /* addl <ea>, Dd */
312 {OP2(add
,l
), one(0150600), one(0170700), "Dd~l", m68000up
}, /* addl Dd, <ea> */
314 #ifdef MOTOROLA_SYNTAX
315 {"addi", one(0050200), one(0170700), "Qd%l", m68000up
},
316 {"addi", one(0003200), one(0177700), "#l$l", m68000up
}, /* addi written as add */
317 {"addq", one(0050100), one(0170700), "Qd%w", m68000up
},
320 {OP2(addx
,b
), one(0150400), one(0170770), "DsDd", m68000up
},
321 {OP2(addx
,b
), one(0150410), one(0170770), "-s-d", m68000up
},
322 {OP2(addx
,l
), one(0150600), one(0170770), "DsDd", m68000up
},
323 {OP2(addx
,l
), one(0150610), one(0170770), "-s-d", m68000up
},
324 {OP2(addx
,w
), one(0150500), one(0170770), "DsDd", m68000up
},
325 {OP2(addx
,w
), one(0150510), one(0170770), "-s-d", m68000up
},
327 {OP2(andi
,b
), one(0001000), one(0177700), "#b$b", m68000up
},
328 {OP2(andi
,b
), one(0001074), one(0177777), "#bCb", m68000up
}, /* andi to ccr */
329 {OP2(andi
,w
), one(0001100), one(0177700), "#w$w", m68000up
},
330 {OP2(andi
,w
), one(0001174), one(0177777), "#wSw", m68000up
}, /* andi to sr */
331 {OP2(andi
,l
), one(0001200), one(0177700), "#l$l", m68000up
},
332 {OP2(and,b
), one(0001000), one(0177700), "#b$b", m68000up
}, /* andi written as or */
333 {OP2(and,b
), one(0001074), one(0177777), "#bCb", m68000up
}, /* andi to ccr */
334 {OP2(and,b
), one(0140000), one(0170700), ";bDd", m68000up
}, /* memory to register */
335 {OP2(and,b
), one(0140400), one(0170700), "Dd~b", m68000up
}, /* register to memory */
336 {OP2(and,w
), one(0001100), one(0177700), "#w$w", m68000up
}, /* andi written as or */
337 {OP2(and,w
), one(0001174), one(0177777), "#wSw", m68000up
}, /* andi to sr */
338 {OP2(and,w
), one(0140100), one(0170700), ";wDd", m68000up
}, /* memory to register */
339 {OP2(and,w
), one(0140500), one(0170700), "Dd~w", m68000up
}, /* register to memory */
340 {OP2(and,l
), one(0001200), one(0177700), "#l$l", m68000up
}, /* andi written as or */
341 {OP2(and,l
), one(0140200), one(0170700), ";lDd", m68000up
}, /* memory to register */
342 {OP2(and,l
), one(0140600), one(0170700), "Dd~l", m68000up
}, /* register to memory */
344 #ifdef MOTOROLA_SYNTAX
345 {"andi", one(0001200), one(0177700), "#l$l", m68000up
},
346 {"andi", one(0001174), one(0177777), "#wSw", m68000up
}, /* andi to sr */
347 {"andi", one(0001074), one(0177777), "#bCb", m68000up
}, /* andi to ccr */
350 {OP2(asl
,b
), one(0160400), one(0170770), "QdDs", m68000up
},
351 {OP2(asl
,b
), one(0160440), one(0170770), "DdDs", m68000up
},
352 {OP2(asl
,l
), one(0160600), one(0170770), "QdDs", m68000up
},
353 {OP2(asl
,l
), one(0160640), one(0170770), "DdDs", m68000up
},
354 {OP2(asl
,w
), one(0160500), one(0170770), "QdDs", m68000up
},
355 {OP2(asl
,w
), one(0160540), one(0170770), "DdDs", m68000up
},
356 {OP2(asl
,w
), one(0160700), one(0177700), "~s", m68000up
}, /* Shift memory */
357 {OP2(asr
,b
), one(0160000), one(0170770), "QdDs", m68000up
},
358 {OP2(asr
,b
), one(0160040), one(0170770), "DdDs", m68000up
},
359 {OP2(asr
,l
), one(0160200), one(0170770), "QdDs", m68000up
},
360 {OP2(asr
,l
), one(0160240), one(0170770), "DdDs", m68000up
},
361 {OP2(asr
,w
), one(0160100), one(0170770), "QdDs", m68000up
},
362 {OP2(asr
,w
), one(0160140), one(0170770), "DdDs", m68000up
},
363 {OP2(asr
,w
), one(0160300), one(0177700), "~s", m68000up
}, /* Shift memory */
365 #ifdef BRANCH_IS_VARIABLE_SIZED
367 #define BRANCH_MASK one(0xFF00)
369 /* Fixed-size branches with 16-bit offsets */
371 #define BRANCH_MASK one(0xFFFF) /* 8-bit displacement must be 0 */
374 {"bhi", one(0061000), BRANCH_MASK
, BRANCH
, m68000up
},
375 {"bls", one(0061400), BRANCH_MASK
, BRANCH
, m68000up
},
376 {"bcc", one(0062000), BRANCH_MASK
, BRANCH
, m68000up
},
377 #ifndef MOTOROLA_SYNTAX
378 {"jfnlt", one(0062000), one(0177777), "BW", m68000up
}, /* apparently a sun alias */
380 {"bcs", one(0062400), BRANCH_MASK
, BRANCH
, m68000up
},
381 {"bne", one(0063000), BRANCH_MASK
, BRANCH
, m68000up
},
382 {"beq", one(0063400), BRANCH_MASK
, BRANCH
, m68000up
},
383 {"bvc", one(0064000), BRANCH_MASK
, BRANCH
, m68000up
},
384 {"bvs", one(0064400), BRANCH_MASK
, BRANCH
, m68000up
},
385 {"bpl", one(0065000), BRANCH_MASK
, BRANCH
, m68000up
},
386 {"bmi", one(0065400), BRANCH_MASK
, BRANCH
, m68000up
},
387 {"bge", one(0066000), BRANCH_MASK
, BRANCH
, m68000up
},
388 {"blt", one(0066400), BRANCH_MASK
, BRANCH
, m68000up
},
389 {"bgt", one(0067000), BRANCH_MASK
, BRANCH
, m68000up
},
390 {"ble", one(0067400), BRANCH_MASK
, BRANCH
, m68000up
},
391 #ifndef MOTOROLA_SYNTAX
392 {"jfngt", one(0067400), one(0177777), "BW", m68000up
}, /* apparently a sun alias */
395 #ifdef MOTOROLA_SYNTAX
396 {"bsr", one(0060400), one(0177400), "Bg", m68000up
},
397 {"bsr", one(0047200), one(0177700), "!s", m68000up
},
398 {"bra", one(0060000), one(0177400), "Bg", m68000up
},
399 {"bra", one(0047300), one(0177700), "!s", m68000up
},
401 {"bra", one(0060000), one(0177777), "BW", m68000up
},
402 {"bsr", one(0060400), one(0177777), "BW", m68000up
},
405 /* Fixed-size branches with short (byte) offsets */
407 {OP2(bhi
,s
), one(0061000), one(0177400), "BB", m68000up
},
408 {OP2(bls
,s
), one(0061400), one(0177400), "BB", m68000up
},
409 {OP2(bcc
,s
), one(0062000), one(0177400), "BB", m68000up
},
410 {OP2(bcs
,s
), one(0062400), one(0177400), "BB", m68000up
},
411 {OP2(bne
,s
), one(0063000), one(0177400), "BB", m68000up
},
412 {OP2(beq
,s
), one(0063400), one(0177400), "BB", m68000up
},
413 {"jfeq", one(0063400), one(0177400), "BB", m68000up
}, /* apparently a sun alias */
414 {OP2(bvc
,s
), one(0064000), one(0177400), "BB", m68000up
},
415 {OP2(bvs
,s
), one(0064400), one(0177400), "BB", m68000up
},
416 {OP2(bpl
,s
), one(0065000), one(0177400), "BB", m68000up
},
417 {OP2(bmi
,s
), one(0065400), one(0177400), "BB", m68000up
},
418 {OP2(bge
,s
), one(0066000), one(0177400), "BB", m68000up
},
419 {OP2(blt
,s
), one(0066400), one(0177400), "BB", m68000up
},
420 {OP2(bgt
,s
), one(0067000), one(0177400), "BB", m68000up
},
421 {OP2(ble
,s
), one(0067400), one(0177400), "BB", m68000up
},
422 {OP2(bra
,s
), one(0060000), one(0177400), "BB", m68000up
},
423 {OP2(bsr
,s
), one(0060400), one(0177400), "BB", m68000up
},
425 /* Fixed-size branches with long (32-bit) offsets */
427 {OP2(bhi
,l
), one(0061377), one(0177777), "BL", m68020up
},
428 {OP2(bls
,l
), one(0061777), one(0177777), "BL", m68020up
},
429 {OP2(bcc
,l
), one(0062377), one(0177777), "BL", m68020up
},
430 {OP2(bcs
,l
), one(0062777), one(0177777), "BL", m68020up
},
431 {OP2(bne
,l
), one(0063377), one(0177777), "BL", m68020up
},
432 {OP2(beq
,l
), one(0063777), one(0177777), "BL", m68020up
},
433 {OP2(bvc
,l
), one(0064377), one(0177777), "BL", m68020up
},
434 {OP2(bvs
,l
), one(0064777), one(0177777), "BL", m68020up
},
435 {OP2(bpl
,l
), one(0065377), one(0177777), "BL", m68020up
},
436 {OP2(bmi
,l
), one(0065777), one(0177777), "BL", m68020up
},
437 {OP2(bge
,l
), one(0066377), one(0177777), "BL", m68020up
},
438 {OP2(blt
,l
), one(0066777), one(0177777), "BL", m68020up
},
439 {OP2(bgt
,l
), one(0067377), one(0177777), "BL", m68020up
},
440 {OP2(ble
,l
), one(0067777), one(0177777), "BL", m68020up
},
441 {OP2(bra
,l
), one(0060377), one(0177777), "BL", m68020up
},
442 {OP2(bsr
,l
), one(0060777), one(0177777), "BL", m68020up
},
444 /* We now return you to our regularly scheduled instruction set */
446 {"bchg", one(0000500), one(0170700), "Dd$s", m68000up
},
447 {"bchg", one(0004100), one(0177700), "#b$s", m68000up
},
448 {"bclr", one(0000600), one(0170700), "Dd$s", m68000up
},
449 {"bclr", one(0004200), one(0177700), "#b$s", m68000up
},
451 #ifdef MOTOROLA_SYNTAX
452 {OP2(bchg
,b
), one(0000500), one(0170700), "Dd$s", m68000up
},
453 {OP2(bchg
,b
), one(0004100), one(0177700), "#b$s", m68000up
},
454 {OP2(bclr
,b
), one(0000600), one(0170700), "Dd$s", m68000up
},
455 {OP2(bclr
,b
), one(0004200), one(0177700), "#b$s", m68000up
},
457 {OP2(bchg
,l
), one(0000500), one(0170700), "Dd$s", m68000up
},
458 {OP2(bchg
,l
), one(0004100), one(0177700), "#b$s", m68000up
},
459 {OP2(bclr
,l
), one(0000600), one(0170700), "Dd$s", m68000up
},
460 {OP2(bclr
,l
), one(0004200), one(0177700), "#b$s", m68000up
},
463 {"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3", m68020up
},
464 {"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3", m68020up
},
465 {"bfexts", two(0165700, 0), two(0177700, 0100000), "/sO2O3D1", m68020up
},
466 {"bfextu", two(0164700, 0), two(0177700, 0100000), "/sO2O3D1", m68020up
},
467 {"bfffo", two(0166700, 0), two(0177700, 0100000), "/sO2O3D1", m68020up
},
468 {"bfins", two(0167700, 0), two(0177700, 0100000), "D1?sO2O3", m68020up
},
469 {"bfset", two(0167300, 0), two(0177700, 0170000), "?sO2O3", m68020up
},
470 {"bftst", two(0164300, 0), two(0177700, 0170000), "/sO2O3", m68020up
},
471 {"bkpt", one(0044110), one(0177770), "Qs", m68020up
},
473 {"bset", one(0000700), one(0170700), "Dd$s", m68000up
},
474 {"bset", one(0004300), one(0177700), "#b$s", m68000up
},
475 {"btst", one(0000400), one(0170700), "Dd@s", m68000up
},
476 {"btst", one(0004000), one(0177700), "#b@s", m68000up
},
477 #ifdef MOTOROLA_SYNTAX
478 {OP2(bset
,b
), one(0000700), one(0170700), "Dd$s", m68000up
},
479 {OP2(bset
,b
), one(0004300), one(0177700), "#b$s", m68000up
},
480 {OP2(btst
,b
), one(0000400), one(0170700), "Dd@s", m68000up
},
481 {OP2(btst
,b
), one(0004000), one(0177700), "#b@s", m68000up
},
483 {OP2(bset
,l
), one(0000700), one(0170700), "Dd$s", m68000up
},
484 {OP2(bset
,l
), one(0004300), one(0177700), "#b$s", m68000up
},
485 {OP2(btst
,l
), one(0000400), one(0170700), "Dd@s", m68000up
},
486 {OP2(btst
,l
), one(0004000), one(0177700), "#b@s", m68000up
},
489 {"callm", one(0003300), one(0177700), "#b!s", m68020
},
491 {OP2(cas2
,l
), two(0007374, 0), two(0177777, 0107070), "D3D6D2D5R1R4", m68020up
}, /* JF FOO really a 3 word ins */
492 {OP2(cas2
,w
), two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4", m68020up
}, /* JF ditto */
493 {OP2(cas
,b
), two(0005300, 0), two(0177700, 0177070), "D3D2~s", m68020up
},
494 {OP2(cas
,l
), two(0007300, 0), two(0177700, 0177070), "D3D2~s", m68020up
},
495 {OP2(cas
,w
), two(0006300, 0), two(0177700, 0177070), "D3D2~s", m68020up
},
497 #ifdef ALLOW_DEFAULT_SIZES
498 {"casw", two(0006300, 0), two(0177700, 0177070), "D3D2~s", m68020up
},
499 {"cas", two(0006300, 0), two(0177700, 0177070), "D3D2~s", m68020up
},
500 {"cas2", two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4", m68020up
}, /* JF ditto */
503 {OP2(chk2
,b
), two(0000300, 0004000), two(0177700, 07777), "!sR1", m68020up
},
504 {OP2(chk2
,l
), two(0002300, 0004000), two(0177700, 07777), "!sR1", m68020up
},
505 {OP2(chk2
,w
), two(0001300, 0004000), two(0177700, 07777), "!sR1", m68020up
},
506 #ifdef MOTOROLA_SYNTAX
507 {OP2(chk2
,w
), two(0001300, 0004000), two(0177700, 07777), "!sR1", m68020up
},
510 #ifdef ALLOW_DEFAULT_SIZES
511 {"chk", one(0040600), one(0170700), ";wDd", m68000up
},
512 {"chk", one(0040400), one(0170700), ";lDd", m68000up
},
514 /* {"chk", one(0040600), one(0170700), ";wDd"}, JF FOO this looks wrong */
516 {"chk2", two(0001300, 0004000), two(0177700, 07777), "!sR1", m68020up
},
519 {OP2(chk
,l
), one(0040400), one(0170700), ";lDd", m68000up
},
520 #ifdef MOTOROLA_SYNTAX
521 {OP2(chk
,w
), two(0001300, 0004000), two(0177700, 07777), "!sR1", m68020up
},
523 {OP2(chk
,w
), one(0040600), one(0170700), ";wDd", m68000up
},
525 #define SCOPE_LINE (0x1 << 3)
526 #define SCOPE_PAGE (0x2 << 3)
527 #define SCOPE_ALL (0x3 << 3)
529 {"cinva", one(0xf400|SCOPE_ALL
), one(0xff20), "ce", m68040
},
530 {"cinvl", one(0xf400|SCOPE_LINE
), one(0xff20), "ceas", m68040
},
531 {"cinvp", one(0xf400|SCOPE_PAGE
), one(0xff20), "ceas", m68040
},
533 {"cpusha", one(0xf420|SCOPE_ALL
), one(0xff20), "ce", m68040
},
534 {"cpushl", one(0xf420|SCOPE_LINE
), one(0xff20), "ceas", m68040
},
535 {"cpushp", one(0xf420|SCOPE_PAGE
), one(0xff20), "ceas", m68040
},
540 {OP2(clr
,b
), one(0041000), one(0177700), "$s", m68000up
},
541 {OP2(clr
,l
), one(0041200), one(0177700), "$s", m68000up
},
542 {OP2(clr
,w
), one(0041100), one(0177700), "$s", m68000up
},
545 {OP2(cmp2
,b
), two(0000300, 0), two(0177700, 07777), "!sR1", m68020up
},
546 {OP2(cmp2
,l
), two(0002300, 0), two(0177700, 07777), "!sR1", m68020up
},
547 {OP2(cmp2
,w
), two(0001300, 0), two(0177700, 07777), "!sR1", m68020up
},
548 {OP2(cmpa
,l
), one(0130700), one(0170700), "*lAd", m68000up
},
549 {OP2(cmpa
,w
), one(0130300), one(0170700), "*wAd", m68000up
},
551 {OP2(cmpi
,b
), one(0006000), one(0177700), "#b;b", m68000up
},
552 {OP2(cmpi
,l
), one(0006200), one(0177700), "#l;l", m68000up
},
553 {OP2(cmpi
,w
), one(0006100), one(0177700), "#w;w", m68000up
},
554 {OP2(cmp
,b
), one(0006000), one(0177700), "#b;b", m68000up
}, /* cmpi written as cmp */
555 {OP2(cmp
,b
), one(0130000), one(0170700), ";bDd", m68000up
},
556 #ifdef MOTOROLA_SYNTAX
557 {OP2(cmp
,b
), one(0130410), one(0170770), "+s+d", m68000up
}, /* cmpm written as cmp */
559 {OP2(cmp
,w
), one(0006100), one(0177700), "#w;w", m68000up
},
560 {OP2(cmp
,w
), one(0130100), one(0170700), "*wDd", m68000up
},
561 {OP2(cmp
,w
), one(0130300), one(0170700), "*wAd", m68000up
}, /* cmpa written as cmp */
562 #ifdef MOTOROLA_SYNTAX
563 {OP2(cmp
,w
), one(0130510), one(0170770), "+s+d", m68000up
}, /* cmpm written as cmp */
565 {OP2(cmp
,l
), one(0006200), one(0177700), "#l;l", m68000up
},
566 {OP2(cmp
,l
), one(0130200), one(0170700), "*lDd", m68000up
},
567 {OP2(cmp
,l
), one(0130700), one(0170700), "*lAd", m68000up
},
568 #ifdef MOTOROLA_SYNTAX
569 {"cmpl", one(0130610), one(0170770), "+s+d", m68000up
}, /* cmpm written as cmp */
572 {OP2(cmpm
,b
), one(0130410), one(0170770), "+s+d", m68000up
},
573 {OP2(cmpm
,l
), one(0130610), one(0170770), "+s+d", m68000up
},
574 {OP2(cmpm
,w
), one(0130510), one(0170770), "+s+d", m68000up
},
575 #ifdef ALLOW_DEFAULT_SIZES
576 {"cmp", one(0006200), one(0177700), "#l;l", m68000up
},
577 {"cmp", one(0130200), one(0170700), "*lDd", m68000up
},
578 {"cmp", one(0130700), one(0170700), "*lAd", m68000up
},
579 {"cmp", one(0130510), one(0170770), "+s+d", m68000up
}, /* cmpm written as cmp */
581 {"cmpi", one(0006200), one(0177700), "#l;l", m68000up
},
583 {"cmp2", two(0001300, 0), two(0177700, 07777), "!sR1", m68020up
},
584 {"cmpm", one(0130510), one(0170770), "+s+d", m68000up
},
587 {"dbcc", one(0052310), one(0177770), "DsBw", m68000up
},
588 {"dbcs", one(0052710), one(0177770), "DsBw", m68000up
},
589 {"dbeq", one(0053710), one(0177770), "DsBw", m68000up
},
590 {"dbf", one(0050710), one(0177770), "DsBw", m68000up
},
591 {"dbge", one(0056310), one(0177770), "DsBw", m68000up
},
592 {"dbgt", one(0057310), one(0177770), "DsBw", m68000up
},
593 {"dbhi", one(0051310), one(0177770), "DsBw", m68000up
},
594 {"dble", one(0057710), one(0177770), "DsBw", m68000up
},
595 {"dbls", one(0051710), one(0177770), "DsBw", m68000up
},
596 {"dblt", one(0056710), one(0177770), "DsBw", m68000up
},
597 {"dbmi", one(0055710), one(0177770), "DsBw", m68000up
},
598 {"dbne", one(0053310), one(0177770), "DsBw", m68000up
},
599 {"dbpl", one(0055310), one(0177770), "DsBw", m68000up
},
600 {"dbra", one(0050710), one(0177770), "DsBw", m68000up
},
601 {"dbt", one(0050310), one(0177770), "DsBw", m68000up
},
602 {"dbvc", one(0054310), one(0177770), "DsBw", m68000up
},
603 {"dbvs", one(0054710), one(0177770), "DsBw", m68000up
},
605 #ifdef MOTOROLA_SYNTAX
606 {OP2(tdivs
,l
), two(0046100, 0006000), two(0177700, 0107770), ";lD3D1", m68020up
},
607 {OP2(tdivs
,l
), two(0046100, 0004000), two(0177700, 0107770), ";lDD", m68020up
},
610 {OP2(divs
,l
), two(0046100, 0006000), two(0177700, 0107770), ";lD3D1", m68020up
},
611 {OP2(divs
,l
), two(0046100, 0004000), two(0177700, 0107770), ";lDD", m68020up
},
612 {OP2(divs
,ll
), two(0046100, 0004000), two(0177700, 0107770), ";lD3D1", m68020up
},
613 {OP2(divs
,w
), one(0100700), one(0170700), ";wDd", m68000up
},
614 {"divs", one(0100700), one(0170700), ";wDd", m68000up
},
615 {OP2(divu
,l
), two(0046100, 0002000), two(0177700, 0107770), ";lD3D1", m68020up
},
616 {OP2(divu
,l
), two(0046100, 0000000), two(0177700, 0107770), ";lDD", m68020up
},
617 {OP2(divu
,ll
), two(0046100, 0000000), two(0177700, 0107770), ";lD3D1", m68020up
},
618 {OP2(divu
,w
), one(0100300), one(0170700), ";wDd", m68000up
},
619 {"divu", one(0100300), one(0170700), ";wDd", m68000up
},
621 {OP2(eor
,b
), one(0005000), one(0177700), "#b$s", m68000up
}, /* eori written as or */
622 {OP2(eor
,b
), one(0005074), one(0177777), "#bCs", m68000up
}, /* eori to ccr */
623 {OP2(eor
,b
), one(0130400), one(0170700), "Dd$s", m68000up
}, /* register to memory */
624 {OP2(eori
,b
), one(0005000), one(0177700), "#b$s", m68000up
},
625 {OP2(eori
,b
), one(0005074), one(0177777), "#bCs", m68000up
}, /* eori to ccr */
626 {OP2(eori
,l
), one(0005200), one(0177700), "#l$s", m68000up
},
627 {OP2(eori
,w
), one(0005100), one(0177700), "#w$s", m68000up
},
628 {OP2(eori
,w
), one(0005174), one(0177777), "#wSs", m68000up
}, /* eori to sr */
629 {OP2(eor
,l
), one(0005200), one(0177700), "#l$s", m68000up
},
630 {OP2(eor
,l
), one(0130600), one(0170700), "Dd$s", m68000up
},
631 {OP2(eor
,w
), one(0005100), one(0177700), "#w$s", m68000up
},
632 {OP2(eor
,w
), one(0005174), one(0177777), "#wSs", m68000up
}, /* eori to sr */
633 {OP2(eor
,w
), one(0130500), one(0170700), "Dd$s", m68000up
},
634 #ifdef ALLOW_DEFAULT_SIZES
635 {"eor", one(0005074), one(0177777), "#bCs", m68000up
}, /* eorb to ccr */
636 {"eor", one(0005174), one(0177777), "#wSs", m68000up
}, /* eori to sr */
637 {"eori", one(0005074), one(0177777), "#bCs", m68000up
}, /* eori to ccr */
638 {"eori", one(0005174), one(0177777), "#wSs", m68000up
}, /* eoriw to sr */
641 {"exg", one(0140500), one(0170770), "DdDs", m68000up
},
642 {"exg", one(0140510), one(0170770), "AdAs", m68000up
},
643 {"exg", one(0140610), one(0170770), "DdAs", m68000up
},
644 {"exg", one(0140610), one(0170770), "AsDd", m68000up
},
646 {OP2(ext
,w
), one(0044200), one(0177770), "Ds", m68000up
},
647 {OP2(ext
,l
), one(0044300), one(0177770), "Ds", m68000up
},
648 {OP2(extb
,l
), one(0044700), one(0177770), "Ds", m68020up
},
649 #ifdef MOTOROLA_SYNTAX
650 {"ext", one(0044200), one(0177770), "Ds", m68000up
},
651 {"ext.wl", one(0044200), one(0177770), "Ds", m68000up
},
652 {"ext.bw", one(0044200), one(0177770), "Ds", m68000up
},
655 /* float stuff starts here */
657 {OP2(fabs
,b
), two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
658 {OP2(fabs
,d
), two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
659 {OP2(fabs
,l
), two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
660 {OP2(fabs
,p
), two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
661 {OP2(fabs
,s
), two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
662 {OP2(fabs
,w
), two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
663 {OP2(fabs
,x
), two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
664 {OP2(fabs
,x
), two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
665 {OP2(fabs
,x
), two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
667 /* FIXME-NOW: The '040 book that I have claims that these should be
668 coded exactly like fadd. In fact, the table of opmodes calls them
669 fadd, fsadd, fdadd. That can't be right. If someone can give me the
670 right encoding, I'll fix it. By induction, I *think* the right
671 encoding is 38 & 3c, but I'm not sure.
673 in the mean time, if you know the encoding for the opmode field, you
674 can replace all of the "38),"'s and "3c),"'s below with the corrected
675 values and these guys should then just work. xoxorich. 31Aug91 */
678 {"fsabsb", two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
679 {"fsabsd", two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
680 {"fsabsl", two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
681 {"fsabsp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
682 {"fsabss", two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
683 {"fsabsw", two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
684 {"fsabsx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
685 {"fsabsx", two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
686 {"fsabsx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt", m68040
},
688 {"fdabsb", two(0xF000, 0x583c), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
689 {"fdabsd", two(0xF000, 0x543c), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
690 {"fdabsl", two(0xF000, 0x403c), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
691 {"fdabsp", two(0xF000, 0x4C3c), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
692 {"fdabss", two(0xF000, 0x443c), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
693 {"fdabsw", two(0xF000, 0x503c), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
694 {"fdabsx", two(0xF000, 0x003c), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
695 {"fdabsx", two(0xF000, 0x483c), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
696 {"fdabsx", two(0xF000, 0x003c), two(0xF1C0, 0xE07F), "IiFt", m68040
},
699 {OP2(facos
,b
), two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
700 {OP2(facos
,d
), two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
701 {OP2(facos
,l
), two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
702 {OP2(facos
,p
), two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
703 {OP2(facos
,s
), two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
704 {OP2(facos
,w
), two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
705 {OP2(facos
,x
), two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
706 {OP2(facos
,x
), two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
707 {OP2(facos
,x
), two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
709 {OP2(fadd
,b
), two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
710 {OP2(fadd
,d
), two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
711 {OP2(fadd
,l
), two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
712 {OP2(fadd
,p
), two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
713 {OP2(fadd
,s
), two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
714 {OP2(fadd
,w
), two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
715 {OP2(fadd
,x
), two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
716 {OP2(fadd
,x
), two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
717 /* {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF removed */
719 {OP2(fsadd
,b
), two(0xF000, 0x5832), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
720 {OP2(fsadd
,d
), two(0xF000, 0x5432), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
721 {OP2(fsadd
,l
), two(0xF000, 0x4032), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
722 {OP2(fsadd
,p
), two(0xF000, 0x4C32), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
723 {OP2(fsadd
,s
), two(0xF000, 0x4432), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
724 {OP2(fsadd
,w
), two(0xF000, 0x5032), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
725 {OP2(fsadd
,x
), two(0xF000, 0x0032), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
726 {OP2(fsadd
,x
), two(0xF000, 0x4832), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
727 /* {"fsaddx", two(0xF000, 0x0032), two(0xF1C0, 0xE07F), "IiFt", m68040 }, JF removed */
729 {OP2(fdadd
,b
), two(0xF000, 0x5836), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
730 {OP2(fdadd
,d
), two(0xF000, 0x5436), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
731 {OP2(fdadd
,l
), two(0xF000, 0x4036), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
732 {OP2(fdadd
,p
), two(0xF000, 0x4C36), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
733 {OP2(fdadd
,s
), two(0xF000, 0x4436), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
734 {OP2(fdadd
,w
), two(0xF000, 0x5036), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
735 {OP2(fdadd
,x
), two(0xF000, 0x0036), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
736 {OP2(fdadd
,x
), two(0xF000, 0x4836), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
737 /* {"faddx", two(0xF000, 0x0036), two(0xF1C0, 0xE07F), "IiFt", m68040 }, JF removed */
739 {OP2(fasin
,b
), two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
740 {OP2(fasin
,d
), two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
741 {OP2(fasin
,l
), two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
742 {OP2(fasin
,p
), two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
743 {OP2(fasin
,s
), two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
744 {OP2(fasin
,w
), two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
745 {OP2(fasin
,x
), two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
746 {OP2(fasin
,x
), two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
747 {OP2(fasin
,x
), two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
749 {OP2(fatan
,b
), two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
750 {OP2(fatan
,d
), two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
751 {OP2(fatan
,l
), two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
752 {OP2(fatan
,p
), two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
753 {OP2(fatan
,s
), two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
754 {OP2(fatan
,w
), two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
755 {OP2(fatan
,x
), two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
756 {OP2(fatan
,x
), two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
757 {OP2(fatan
,x
), two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
759 {OP2(fatanh
,b
), two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
760 {OP2(fatanh
,d
), two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
761 {OP2(fatanh
,l
), two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
762 {OP2(fatanh
,p
), two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
763 {OP2(fatanh
,s
), two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
764 {OP2(fatanh
,w
), two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
765 {OP2(fatanh
,x
), two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
766 {OP2(fatanh
,x
), two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
767 {OP2(fatanh
,x
), two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
769 /* Fixed-size Float branches */
771 {"fbeq", one(0xF081), one(0xF1BF), "IdBW", mfloat
},
772 {"fbf", one(0xF080), one(0xF1BF), "IdBW", mfloat
},
773 {"fbge", one(0xF093), one(0xF1BF), "IdBW", mfloat
},
774 {"fbgl", one(0xF096), one(0xF1BF), "IdBW", mfloat
},
775 {"fbgle", one(0xF097), one(0xF1BF), "IdBW", mfloat
},
776 {"fbgt", one(0xF092), one(0xF1BF), "IdBW", mfloat
},
777 {"fble", one(0xF095), one(0xF1BF), "IdBW", mfloat
},
778 {"fblt", one(0xF094), one(0xF1BF), "IdBW", mfloat
},
779 {"fbne", one(0xF08E), one(0xF1BF), "IdBW", mfloat
},
780 #ifndef MOTOROLA_SYNTAX
781 {"fbneq", one(0xF08E), one(0xF1BF), "IdBW", mfloat
},
783 {"fbnge", one(0xF09C), one(0xF1BF), "IdBW", mfloat
},
784 {"fbngl", one(0xF099), one(0xF1BF), "IdBW", mfloat
},
785 {"fbngle", one(0xF098), one(0xF1BF), "IdBW", mfloat
},
786 {"fbngt", one(0xF09D), one(0xF1BF), "IdBW", mfloat
},
787 {"fbnle", one(0xF09A), one(0xF1BF), "IdBW", mfloat
},
788 {"fbnlt", one(0xF09B), one(0xF1BF), "IdBW", mfloat
},
789 {"fboge", one(0xF083), one(0xF1BF), "IdBW", mfloat
},
790 {"fbogl", one(0xF086), one(0xF1BF), "IdBW", mfloat
},
791 {"fbogt", one(0xF082), one(0xF1BF), "IdBW", mfloat
},
792 {"fbole", one(0xF085), one(0xF1BF), "IdBW", mfloat
},
793 {"fbolt", one(0xF084), one(0xF1BF), "IdBW", mfloat
},
794 {"fbor", one(0xF087), one(0xF1BF), "IdBW", mfloat
},
795 {"fbseq", one(0xF091), one(0xF1BF), "IdBW", mfloat
},
796 {"fbsf", one(0xF090), one(0xF1BF), "IdBW", mfloat
},
797 {"fbsne", one(0xF09E), one(0xF1BF), "IdBW", mfloat
},
798 #ifndef MOTOROLA_SYNTAX
799 {"fbsneq", one(0xF09E), one(0xF1BF), "IdBW", mfloat
},
801 {"fbst", one(0xF09F), one(0xF1BF), "IdBW", mfloat
},
802 {"fbt", one(0xF08F), one(0xF1BF), "IdBW", mfloat
},
803 {"fbueq", one(0xF089), one(0xF1BF), "IdBW", mfloat
},
804 {"fbuge", one(0xF08B), one(0xF1BF), "IdBW", mfloat
},
805 {"fbugt", one(0xF08A), one(0xF1BF), "IdBW", mfloat
},
806 {"fbule", one(0xF08D), one(0xF1BF), "IdBW", mfloat
},
807 {"fbult", one(0xF08C), one(0xF1BF), "IdBW", mfloat
},
808 {"fbun", one(0xF088), one(0xF1BF), "IdBW", mfloat
},
810 /* Float branches -- long (32-bit) displacements */
812 {"fbeql", one(0xF081), one(0xF1BF), "IdBC", mfloat
},
813 {"fbfl", one(0xF080), one(0xF1BF), "IdBC", mfloat
},
814 {"fbgel", one(0xF093), one(0xF1BF), "IdBC", mfloat
},
815 {"fbgll", one(0xF096), one(0xF1BF), "IdBC", mfloat
},
816 {"fbglel", one(0xF097), one(0xF1BF), "IdBC", mfloat
},
817 {"fbgtl", one(0xF092), one(0xF1BF), "IdBC", mfloat
},
818 {"fblel", one(0xF095), one(0xF1BF), "IdBC", mfloat
},
819 {"fbltl", one(0xF094), one(0xF1BF), "IdBC", mfloat
},
820 {"fbnel", one(0xF08E), one(0xF1BF), "IdBC", mfloat
},
821 {"fbngel", one(0xF09C), one(0xF1BF), "IdBC", mfloat
},
822 {"fbngll", one(0xF099), one(0xF1BF), "IdBC", mfloat
},
823 {"fbnglel", one(0xF098), one(0xF1BF), "IdBC", mfloat
},
824 {"fbngtl", one(0xF09D), one(0xF1BF), "IdBC", mfloat
},
825 {"fbnlel", one(0xF09A), one(0xF1BF), "IdBC", mfloat
},
826 {"fbnltl", one(0xF09B), one(0xF1BF), "IdBC", mfloat
},
827 {"fbogel", one(0xF083), one(0xF1BF), "IdBC", mfloat
},
828 {"fbogll", one(0xF086), one(0xF1BF), "IdBC", mfloat
},
829 {"fbogtl", one(0xF082), one(0xF1BF), "IdBC", mfloat
},
830 {"fbolel", one(0xF085), one(0xF1BF), "IdBC", mfloat
},
831 {"fboltl", one(0xF084), one(0xF1BF), "IdBC", mfloat
},
832 {"fborl", one(0xF087), one(0xF1BF), "IdBC", mfloat
},
833 {"fbseql", one(0xF091), one(0xF1BF), "IdBC", mfloat
},
834 {"fbsfl", one(0xF090), one(0xF1BF), "IdBC", mfloat
},
835 {"fbsnel", one(0xF09E), one(0xF1BF), "IdBC", mfloat
},
836 {"fbstl", one(0xF09F), one(0xF1BF), "IdBC", mfloat
},
837 {"fbtl", one(0xF08F), one(0xF1BF), "IdBC", mfloat
},
838 {"fbueql", one(0xF089), one(0xF1BF), "IdBC", mfloat
},
839 {"fbugel", one(0xF08B), one(0xF1BF), "IdBC", mfloat
},
840 {"fbugtl", one(0xF08A), one(0xF1BF), "IdBC", mfloat
},
841 {"fbulel", one(0xF08D), one(0xF1BF), "IdBC", mfloat
},
842 {"fbultl", one(0xF08C), one(0xF1BF), "IdBC", mfloat
},
843 {"fbunl", one(0xF088), one(0xF1BF), "IdBC", mfloat
},
845 {OP2(fcmp
,b
), two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
846 {OP2(fcmp
,d
), two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
847 {OP2(fcmp
,l
), two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
848 {OP2(fcmp
,p
), two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
849 {OP2(fcmp
,s
), two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
850 {OP2(fcmp
,w
), two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
851 {OP2(fcmp
,x
), two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
852 {OP2(fcmp
,x
), two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
853 /* {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF removed */
855 {OP2(fcos
,b
), two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
856 {OP2(fcos
,d
), two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
857 {OP2(fcos
,l
), two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
858 {OP2(fcos
,p
), two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
859 {OP2(fcos
,s
), two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
860 {OP2(fcos
,w
), two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
861 {OP2(fcos
,x
), two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
862 {OP2(fcos
,x
), two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
863 {OP2(fcos
,x
), two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
865 {OP2(fcosh
,b
), two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
866 {OP2(fcosh
,d
), two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
867 {OP2(fcosh
,l
), two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
868 {OP2(fcosh
,p
), two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
869 {OP2(fcosh
,s
), two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
870 {OP2(fcosh
,w
), two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
871 {OP2(fcosh
,x
), two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
872 {OP2(fcosh
,x
), two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
873 {OP2(fcosh
,x
), two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
875 {"fdbeq", two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
876 {"fdbf", two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
877 {"fdbge", two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
878 {"fdbgl", two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
879 {"fdbgle", two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
880 {"fdbgt", two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
881 {"fdble", two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
882 {"fdblt", two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
883 {"fdbne", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
884 #ifndef MOTOROLA_SYNTAX
885 {"fdbneq", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
887 {"fdbnge", two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
888 {"fdbngl", two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
889 {"fdbngle", two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
890 {"fdbngt", two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
891 {"fdbnle", two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
892 {"fdbnlt", two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
893 {"fdboge", two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
894 {"fdbogl", two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
895 {"fdbogt", two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
896 {"fdbole", two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
897 {"fdbolt", two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
898 {"fdbor", two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
899 {"fdbseq", two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
900 {"fdbsf", two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
901 {"fdbsne", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
902 #ifndef MOTOROLA_SYNTAX
903 {"fdbsneq", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
905 {"fdbst", two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
906 {"fdbt", two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
907 {"fdbueq", two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
908 {"fdbuge", two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
909 {"fdbugt", two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
910 {"fdbule", two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
911 {"fdbult", two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
912 {"fdbun", two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw", mfloat
},
914 {OP2(fdiv
,b
), two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
915 {OP2(fdiv
,d
), two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
916 {OP2(fdiv
,l
), two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
917 {OP2(fdiv
,p
), two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
918 {OP2(fdiv
,s
), two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
919 {OP2(fdiv
,w
), two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
920 {OP2(fdiv
,x
), two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
921 {OP2(fdiv
,x
), two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
922 /* {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF */
924 {OP2(fsdiv
,b
), two(0xF000, 0x5830), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
925 {OP2(fsdiv
,d
), two(0xF000, 0x5430), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
926 {OP2(fsdiv
,l
), two(0xF000, 0x4030), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
927 {OP2(fsdiv
,p
), two(0xF000, 0x4C30), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
928 {OP2(fsdiv
,s
), two(0xF000, 0x4430), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
929 {OP2(fsdiv
,w
), two(0xF000, 0x5030), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
930 {OP2(fsdiv
,x
), two(0xF000, 0x0030), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
931 {OP2(fsdiv
,x
), two(0xF000, 0x4830), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
932 /* {"fsdivx", two(0xF000, 0x0030), two(0xF1C0, 0xE07F), "IiFt", m68040 }, JF */
934 {OP2(fddiv
,b
), two(0xF000, 0x5834), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
935 {OP2(fddiv
,d
), two(0xF000, 0x5434), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
936 {OP2(fddiv
,l
), two(0xF000, 0x4034), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
937 {OP2(fddiv
,p
), two(0xF000, 0x4C34), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
938 {OP2(fddiv
,s
), two(0xF000, 0x4434), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
939 {OP2(fddiv
,w
), two(0xF000, 0x5034), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
940 {OP2(fddiv
,x
), two(0xF000, 0x0034), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
941 {OP2(fddiv
,x
), two(0xF000, 0x4834), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
942 /* {"fddivx", two(0xF000, 0x0034), two(0xF1C0, 0xE07F), "IiFt", m68040 }, JF */
944 {OP2(fetox
,b
), two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
945 {OP2(fetox
,d
), two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
946 {OP2(fetox
,l
), two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
947 {OP2(fetox
,p
), two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
948 {OP2(fetox
,s
), two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
949 {OP2(fetox
,w
), two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
950 {OP2(fetox
,x
), two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
951 {OP2(fetox
,x
), two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
952 {OP2(fetox
,x
), two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
954 {OP2(fetoxm1
,b
), two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
955 {OP2(fetoxm1
,d
), two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
956 {OP2(fetoxm1
,l
), two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
957 {OP2(fetoxm1
,p
), two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
958 {OP2(fetoxm1
,s
), two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
959 {OP2(fetoxm1
,w
), two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
960 {OP2(fetoxm1
,x
), two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
961 {OP2(fetoxm1
,x
), two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
962 {OP2(fetoxm1
,x
), two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
964 {OP2(fgetexp
,b
), two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
965 {OP2(fgetexp
,d
), two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
966 {OP2(fgetexp
,l
), two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
967 {OP2(fgetexp
,p
), two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
968 {OP2(fgetexp
,s
), two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
969 {OP2(fgetexp
,w
), two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
970 {OP2(fgetexp
,x
), two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
971 {OP2(fgetexp
,x
), two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
972 {OP2(fgetexp
,x
), two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
974 {OP2(fgetman
,b
), two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
975 {OP2(fgetman
,d
), two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
976 {OP2(fgetman
,l
), two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
977 {OP2(fgetman
,p
), two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
978 {OP2(fgetman
,s
), two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
979 {OP2(fgetman
,w
), two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
980 {OP2(fgetman
,x
), two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
981 {OP2(fgetman
,x
), two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
982 {OP2(fgetman
,x
), two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
984 {OP2(fint
,b
), two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
985 {OP2(fint
,d
), two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
986 {OP2(fint
,l
), two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
987 {OP2(fint
,p
), two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
988 {OP2(fint
,s
), two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
989 {OP2(fint
,w
), two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
990 {OP2(fint
,x
), two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
991 {OP2(fint
,x
), two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
992 {OP2(fint
,x
), two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
994 {OP2(fintrz
,b
), two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
995 {OP2(fintrz
,d
), two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
996 {OP2(fintrz
,l
), two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
997 {OP2(fintrz
,p
), two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
998 {OP2(fintrz
,s
), two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
999 {OP2(fintrz
,w
), two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1000 {OP2(fintrz
,x
), two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1001 {OP2(fintrz
,x
), two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1002 {OP2(fintrz
,x
), two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1004 {OP2(flog10
,b
), two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1005 {OP2(flog10
,d
), two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1006 {OP2(flog10
,l
), two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1007 {OP2(flog10
,p
), two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1008 {OP2(flog10
,s
), two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1009 {OP2(flog10
,w
), two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1010 {OP2(flog10
,x
), two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1011 {OP2(flog10
,x
), two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1012 {OP2(flog10
,x
), two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1014 {OP2(flog2
,b
), two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1015 {OP2(flog2
,d
), two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1016 {OP2(flog2
,l
), two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1017 {OP2(flog2
,p
), two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1018 {OP2(flog2
,s
), two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1019 {OP2(flog2
,w
), two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1020 {OP2(flog2
,x
), two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1021 {OP2(flog2
,x
), two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1022 {OP2(flog2
,x
), two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1024 {OP2(flogn
,b
), two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1025 {OP2(flogn
,d
), two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1026 {OP2(flogn
,l
), two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1027 {OP2(flogn
,p
), two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1028 {OP2(flogn
,s
), two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1029 {OP2(flogn
,w
), two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1030 {OP2(flogn
,x
), two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1031 {OP2(flogn
,x
), two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1032 {OP2(flogn
,x
), two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1034 {OP2(flognp1
,b
), two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1035 {OP2(flognp1
,d
), two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1036 {OP2(flognp1
,l
), two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1037 {OP2(flognp1
,p
), two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1038 {OP2(flognp1
,s
), two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1039 {OP2(flognp1
,w
), two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1040 {OP2(flognp1
,x
), two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1041 {OP2(flognp1
,x
), two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1042 {OP2(flognp1
,x
), two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1044 {OP2(fmod
,b
), two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1045 {OP2(fmod
,d
), two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1046 {OP2(fmod
,l
), two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1047 {OP2(fmod
,p
), two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1048 {OP2(fmod
,s
), two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1049 {OP2(fmod
,w
), two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1050 {OP2(fmod
,x
), two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1051 {OP2(fmod
,x
), two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1052 /* {OP2(fmod,x), two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF */
1054 {OP2(fmove
,b
), two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
}, /* fmove from <ea> to fp<n> */
1055 {OP2(fmove
,b
), two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7@b", mfloat
}, /* fmove from fp<n> to <ea> */
1056 {OP2(fmove
,d
), two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
}, /* fmove from <ea> to fp<n> */
1057 {OP2(fmove
,d
), two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7@F", mfloat
}, /* fmove from fp<n> to <ea> */
1058 {OP2(fmove
,l
), two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
}, /* fmove from <ea> to fp<n> */
1059 {OP2(fmove
,l
), two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7@l", mfloat
}, /* fmove from fp<n> to <ea> */
1060 /* Warning: The addressing modes on these are probably not right:
1061 esp, Areg direct is only allowed for FPI */
1062 /* fmove.l from/to system control registers: */
1063 {OP2(fmove
,l
), two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s", mfloat
},
1064 {OP2(fmove
,l
), two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8", mfloat
},
1066 /* {OP2(fmove,l), two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s", mfloat },
1067 {OP2(fmove,l), two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*ss8", mfloat }, */
1069 {OP2(fmove
,p
), two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
}, /* fmove from <ea> to fp<n> */
1070 {OP2(fmove
,p
), two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7@pkC", mfloat
}, /* fmove.p with k-factors: */
1071 {OP2(fmove
,p
), two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7@pDk", mfloat
}, /* fmove.p with k-factors: */
1073 {OP2(fmove
,s
), two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
}, /* fmove from <ea> to fp<n> */
1074 {OP2(fmove
,s
), two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7@f", mfloat
}, /* fmove from fp<n> to <ea> */
1075 {OP2(fmove
,w
), two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
}, /* fmove from <ea> to fp<n> */
1076 {OP2(fmove
,w
), two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7@w", mfloat
}, /* fmove from fp<n> to <ea> */
1077 {OP2(fmove
,x
), two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
}, /* fmove from <ea> to fp<n> */
1078 {OP2(fmove
,x
), two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
}, /* fmove from <ea> to fp<n> */
1079 {OP2(fmove
,x
), two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7@x", mfloat
}, /* fmove from fp<n> to <ea> */
1080 /* JF removed {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt", mfloat }, / * fmove from <ea> to fp<n> */
1082 {OP2(fsmove
,b
), two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
}, /* fmove from <ea> to fp<n> */
1083 {OP2(fsmove
,d
), two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
}, /* fmove from <ea> to fp<n> */
1084 {OP2(fsmove
,l
), two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
}, /* fmove from <ea> to fp<n> */
1085 {OP2(fsmove
,s
), two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
}, /* fmove from <ea> to fp<n> */
1086 {OP2(fsmove
,w
), two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
}, /* fmove from <ea> to fp<n> */
1087 {OP2(fsmove
,x
), two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7", m68040
}, /* fmove from <ea> to fp<n> */
1088 {OP2(fsmove
,x
), two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
}, /* fmove from <ea> to fp<n> */
1089 /* JF removed {"fsmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt", m68040 }, / * fmove from <ea> to fp<n> */
1091 {OP2(fdmove
,b
), two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
}, /* fmove from <ea> to fp<n> */
1092 {OP2(fdmove
,d
), two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
}, /* fmove from <ea> to fp<n> */
1093 {OP2(fdmove
,l
), two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
}, /* fmove from <ea> to fp<n> */
1094 {OP2(fdmove
,s
), two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
}, /* fmove from <ea> to fp<n> */
1095 {OP2(fdmove
,w
), two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
}, /* fmove from <ea> to fp<n> */
1096 {OP2(fdmove
,x
), two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7", m68040
}, /* fmove from <ea> to fp<n> */
1097 {OP2(fdmove
,x
), two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
}, /* fmove from <ea> to fp<n> */
1098 /* JF removed {"fdmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt", m68040 }, / * fmove from <ea> to fp<n> */
1100 {OP2(fmovecr
,x
), two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7", mfloat
}, /* fmovecr.x #ccc, FPn */
1101 {"fmovecr", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7", mfloat
},
1103 /* Other fmovemx. */
1104 {OP2(fmovem
,x
), two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s", mfloat
}, /* reg to control, static and dynamic: */
1105 {OP2(fmovem
,x
), two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk", mfloat
}, /* from control to reg, static and dynamic: */
1107 {OP2(fmovem
,x
), two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat
}, /* to control, static and dynamic: */
1108 {OP2(fmovem
,x
), two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s", mfloat
}, /* to control, static and dynamic: */
1110 {OP2(fmovem
,x
), two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3", mfloat
}, /* from control, static and dynamic: */
1111 {OP2(fmovem
,x
), two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3", mfloat
}, /* from control, static and dynamic: */
1113 {OP2(fmovem
,x
), two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s", mfloat
}, /* reg to autodecrement, static and dynamic */
1114 {OP2(fmovem
,x
), two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat
}, /* to autodecrement, static and dynamic */
1115 {OP2(fmovem
,x
), two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s", mfloat
}, /* to autodecrement, static and dynamic */
1117 {OP2(fmovem
,x
), two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk", mfloat
}, /* from autoinc to reg, static and dynamic: */
1118 {OP2(fmovem
,x
), two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat
}, /* from autoincrement, static and dynamic: */
1119 {OP2(fmovem
,x
), two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat
}, /* from autoincrement, static and dynamic: */
1121 {OP2(fmovem
,l
), two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s", mfloat
},
1122 {OP2(fmovem
,l
), two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8@s", mfloat
},
1123 {OP2(fmovem
,l
), two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s", mfloat
},
1125 {OP2(fmovem
,l
), two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8", mfloat
},
1126 {OP2(fmovem
,l
), two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*s#8", mfloat
},
1127 {OP2(fmovem
,l
), two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8", mfloat
},
1129 /* fmovemx with register lists */
1130 {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat
}, /* to autodec, static & dynamic */
1131 {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat
}, /* to control, static and dynamic */
1132 {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat
}, /* from autoinc, static & dynamic */
1133 {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3", mfloat
}, /* from control, static and dynamic */
1135 /* Alternate mnemonics for GNU as and GNU CC */
1136 {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s", mfloat
}, /* to autodecrement, static and dynamic */
1137 {"fmovem", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s", mfloat
}, /* to autodecrement, static and dynamic */
1139 {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s", mfloat
}, /* to control, static and dynamic: */
1140 {"fmovem", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s", mfloat
}, /* to control, static and dynamic: */
1142 {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat
}, /* from autoincrement, static and dynamic: */
1143 {"fmovem", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk", mfloat
}, /* from autoincrement, static and dynamic: */
1145 {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3", mfloat
}, /* from control, static and dynamic: */
1146 {"fmovem", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk", mfloat
}, /* from control, static and dynamic: */
1148 /* fmoveml a FP-control register */
1149 {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s", mfloat
},
1150 {"fmovem", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8", mfloat
},
1152 /* fmoveml a FP-control reglist */
1153 {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s", mfloat
},
1154 {"fmovem", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8", mfloat
},
1156 {OP2(fmul
,b
), two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1157 {OP2(fmul
,d
), two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1158 {OP2(fmul
,l
), two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1159 {OP2(fmul
,p
), two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1160 {OP2(fmul
,s
), two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1161 {OP2(fmul
,w
), two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1162 {OP2(fmul
,x
), two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1163 {OP2(fmul
,x
), two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1164 /* {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF */
1166 {OP2(fsmul
,b
), two(0xF000, 0x5833), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1167 {OP2(fsmul
,d
), two(0xF000, 0x5433), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1168 {OP2(fsmul
,l
), two(0xF000, 0x4033), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1169 {OP2(fsmul
,p
), two(0xF000, 0x4C33), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1170 {OP2(fsmul
,s
), two(0xF000, 0x4433), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1171 {OP2(fsmul
,w
), two(0xF000, 0x5033), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1172 {OP2(fsmul
,x
), two(0xF000, 0x0033), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1173 {OP2(fsmul
,x
), two(0xF000, 0x4833), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1174 /* {"fsmulx", two(0xF000, 0x0033), two(0xF1C0, 0xE07F), "IiFt", m68040 }, JF */
1176 {OP2(fdmul
,b
), two(0xF000, 0x5837), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1177 {OP2(fdmul
,d
), two(0xF000, 0x5437), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1178 {OP2(fdmul
,l
), two(0xF000, 0x4037), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1179 {OP2(fdmul
,p
), two(0xF000, 0x4C37), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1180 {OP2(fdmul
,s
), two(0xF000, 0x4437), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1181 {OP2(fdmul
,w
), two(0xF000, 0x5037), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1182 {OP2(fdmul
,x
), two(0xF000, 0x0037), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1183 {OP2(fdmul
,x
), two(0xF000, 0x4837), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1184 /* {"dfmulx", two(0xF000, 0x0037), two(0xF1C0, 0xE07F), "IiFt", m68040 }, JF */
1186 {OP2(fneg
,b
), two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1187 {OP2(fneg
,d
), two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1188 {OP2(fneg
,l
), two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1189 {OP2(fneg
,p
), two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1190 {OP2(fneg
,s
), two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1191 {OP2(fneg
,w
), two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1192 {OP2(fneg
,x
), two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1193 {OP2(fneg
,x
), two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1194 {OP2(fneg
,x
), two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1196 {OP2(fsneg
,b
), two(0xF000, 0x585A), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1197 {OP2(fsneg
,d
), two(0xF000, 0x545A), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1198 {OP2(fsneg
,l
), two(0xF000, 0x405A), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1199 {OP2(fsneg
,p
), two(0xF000, 0x4C5A), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1200 {OP2(fsneg
,s
), two(0xF000, 0x445A), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1201 {OP2(fsneg
,w
), two(0xF000, 0x505A), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1202 {OP2(fsneg
,x
), two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1203 {OP2(fsneg
,x
), two(0xF000, 0x485A), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1204 {OP2(fsneg
,x
), two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiFt", m68040
},
1206 {OP2(fdneg
,b
), two(0xF000, 0x585E), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1207 {OP2(fdneg
,d
), two(0xF000, 0x545E), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1208 {OP2(fdneg
,l
), two(0xF000, 0x405E), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1209 {OP2(fdneg
,p
), two(0xF000, 0x4C5E), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1210 {OP2(fdneg
,s
), two(0xF000, 0x445E), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1211 {OP2(fdneg
,w
), two(0xF000, 0x505E), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1212 {OP2(fdneg
,x
), two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1213 {OP2(fdneg
,x
), two(0xF000, 0x485E), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1214 {OP2(fdneg
,x
), two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiFt", m68040
},
1216 {"fnop", two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii", mfloat
},
1218 {OP2(frem
,b
), two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1219 {OP2(frem
,d
), two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1220 {OP2(frem
,l
), two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1221 {OP2(frem
,p
), two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1222 {OP2(frem
,s
), two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1223 {OP2(frem
,w
), two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1224 {OP2(frem
,x
), two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1225 {OP2(frem
,x
), two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1226 /* {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF */
1228 {"frestore", one(0xF140), one(0xF1C0), "Id&s", mfloat
},
1229 {"frestore", one(0xF158), one(0xF1F8), "Id+s", mfloat
},
1230 {"fsave", one(0xF100), one(0xF1C0), "Id&s", mfloat
},
1231 {"fsave", one(0xF120), one(0xF1F8), "Id-s", mfloat
},
1233 {OP2(fscale
,b
), two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1234 {OP2(fscale
,d
), two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1235 {OP2(fscale
,l
), two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1236 {OP2(fscale
,p
), two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1237 {OP2(fscale
,s
), two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1238 {OP2(fscale
,w
), two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1239 {OP2(fscale
,x
), two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1240 {OP2(fscale
,x
), two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1241 /* {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt", mfloat }, JF */
1243 /* $ is necessary to prevent the assembler from using PC-relative.
1244 If @ were used, "label: fseq label" could produce "ftrapeq",
1245 because "label" became "pc@label". */
1246 {"fseq", two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1247 {"fsf", two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1248 {"fsge", two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1249 {"fsgl", two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1250 {"fsgle", two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1251 {"fsgt", two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1252 {"fsle", two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1253 {"fslt", two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1254 {"fsne", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1255 #ifndef MOTOROLA_SYNTAX
1256 {"fsneq", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1258 {"fsnge", two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1259 {"fsngl", two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1260 {"fsngle", two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1261 {"fsngt", two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1262 {"fsnle", two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1263 {"fsnlt", two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1264 {"fsoge", two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1265 {"fsogl", two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1266 {"fsogt", two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1267 {"fsole", two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1268 {"fsolt", two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1269 {"fsor", two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1270 {"fsseq", two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1271 {"fssf", two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1272 {"fssne", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1273 #ifndef MOTOROLA_SYNTAX
1274 {"fssneq", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1276 {"fsst", two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1277 {"fst", two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1278 {"fsueq", two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1279 {"fsuge", two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1280 {"fsugt", two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1281 {"fsule", two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1282 {"fsult", two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1283 {"fsun", two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii$s", mfloat
},
1285 {OP2(fsgldiv
,b
), two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1286 {OP2(fsgldiv
,d
), two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1287 {OP2(fsgldiv
,l
), two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1288 {OP2(fsgldiv
,p
), two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1289 {OP2(fsgldiv
,s
), two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1290 {OP2(fsgldiv
,w
), two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1291 {OP2(fsgldiv
,x
), two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1292 {OP2(fsgldiv
,x
), two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1293 {OP2(fsgldiv
,x
), two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1295 {OP2(fsglmul
,b
), two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1296 {OP2(fsglmul
,d
), two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1297 {OP2(fsglmul
,l
), two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1298 {OP2(fsglmul
,p
), two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1299 {OP2(fsglmul
,s
), two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1300 {OP2(fsglmul
,w
), two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1301 {OP2(fsglmul
,x
), two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1302 {OP2(fsglmul
,x
), two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1303 {OP2(fsglmul
,x
), two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1305 {OP2(fsin
,b
), two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1306 {OP2(fsin
,d
), two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1307 {OP2(fsin
,l
), two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1308 {OP2(fsin
,p
), two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1309 {OP2(fsin
,s
), two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1310 {OP2(fsin
,w
), two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1311 {OP2(fsin
,x
), two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1312 {OP2(fsin
,x
), two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1313 {OP2(fsin
,x
), two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1315 {OP2(fsinh
,b
), two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1316 {OP2(fsinh
,d
), two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1317 {OP2(fsinh
,l
), two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1318 {OP2(fsinh
,p
), two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1319 {OP2(fsinh
,s
), two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1320 {OP2(fsinh
,w
), two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1321 {OP2(fsinh
,x
), two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1322 {OP2(fsinh
,x
), two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1323 {OP2(fsinh
,x
), two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1325 {OP2(fsincos
,b
), two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bF3F7", mfloat
},
1326 {OP2(fsincos
,d
), two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FF3F7", mfloat
},
1327 {OP2(fsincos
,l
), two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lF3F7", mfloat
},
1328 {OP2(fsincos
,p
), two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pF3F7", mfloat
},
1329 {OP2(fsincos
,s
), two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fF3F7", mfloat
},
1330 {OP2(fsincos
,w
), two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wF3F7", mfloat
},
1331 {OP2(fsincos
,x
), two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8F3F7", mfloat
},
1332 {OP2(fsincos
,x
), two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xF3F7", mfloat
},
1334 {OP2(fsqrt
,b
), two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1335 {OP2(fsqrt
,d
), two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1336 {OP2(fsqrt
,l
), two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1337 {OP2(fsqrt
,p
), two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1338 {OP2(fsqrt
,s
), two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1339 {OP2(fsqrt
,w
), two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1340 {OP2(fsqrt
,x
), two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1341 {OP2(fsqrt
,x
), two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1342 {OP2(fsqrt
,x
), two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1344 {OP2(fssqrt
,b
), two(0xF000, 0x5841), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1345 {OP2(fssqrt
,d
), two(0xF000, 0x5441), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1346 {OP2(fssqrt
,l
), two(0xF000, 0x4041), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1347 {OP2(fssqrt
,p
), two(0xF000, 0x4C41), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1348 {OP2(fssqrt
,s
), two(0xF000, 0x4441), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1349 {OP2(fssqrt
,w
), two(0xF000, 0x5041), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1350 {OP2(fssqrt
,x
), two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1351 {OP2(fssqrt
,x
), two(0xF000, 0x4841), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1352 {OP2(fssqrt
,x
), two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiFt", m68040
},
1354 {OP2(fdsqrt
,b
), two(0xF000, 0x5845), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1355 {OP2(fdsqrt
,d
), two(0xF000, 0x5445), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1356 {OP2(fdsqrt
,l
), two(0xF000, 0x4045), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1357 {OP2(fdsqrt
,p
), two(0xF000, 0x4C45), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1358 {OP2(fdsqrt
,s
), two(0xF000, 0x4445), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1359 {OP2(fdsqrt
,w
), two(0xF000, 0x5045), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1360 {OP2(fdsqrt
,x
), two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1361 {OP2(fdsqrt
,x
), two(0xF000, 0x4845), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1362 {OP2(fdsqrt
,x
), two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiFt", m68040
},
1364 {OP2(fsub
,b
), two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1365 {OP2(fsub
,d
), two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1366 {OP2(fsub
,l
), two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1367 {OP2(fsub
,p
), two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1368 {OP2(fsub
,s
), two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1369 {OP2(fsub
,w
), two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1370 {OP2(fsub
,x
), two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1371 {OP2(fsub
,x
), two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1372 {OP2(fsub
,x
), two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1374 {OP2(fssub
,b
), two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1375 {OP2(fssub
,d
), two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1376 {OP2(fssub
,l
), two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1377 {OP2(fssub
,p
), two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1378 {OP2(fssub
,s
), two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1379 {OP2(fssub
,w
), two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1380 {OP2(fssub
,x
), two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1381 {OP2(fssub
,x
), two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1382 {OP2(fssub
,x
), two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt", m68040
},
1384 {OP2(fdsub
,b
), two(0xF000, 0x583c), two(0xF1C0, 0xFC7F), "Ii;bF7", m68040
},
1385 {OP2(fdsub
,d
), two(0xF000, 0x543c), two(0xF1C0, 0xFC7F), "Ii;FF7", m68040
},
1386 {OP2(fdsub
,l
), two(0xF000, 0x403c), two(0xF1C0, 0xFC7F), "Ii;lF7", m68040
},
1387 {OP2(fdsub
,p
), two(0xF000, 0x4C3c), two(0xF1C0, 0xFC7F), "Ii;pF7", m68040
},
1388 {OP2(fdsub
,s
), two(0xF000, 0x443c), two(0xF1C0, 0xFC7F), "Ii;fF7", m68040
},
1389 {OP2(fdsub
,w
), two(0xF000, 0x503c), two(0xF1C0, 0xFC7F), "Ii;wF7", m68040
},
1390 {OP2(fdsub
,x
), two(0xF000, 0x003c), two(0xF1C0, 0xE07F), "IiF8F7", m68040
},
1391 {OP2(fdsub
,x
), two(0xF000, 0x483c), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040
},
1392 {OP2(fdsub
,x
), two(0xF000, 0x003c), two(0xF1C0, 0xE07F), "IiFt", m68040
},
1394 {OP2(ftan
,b
), two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1395 {OP2(ftan
,d
), two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1396 {OP2(ftan
,l
), two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1397 {OP2(ftan
,p
), two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1398 {OP2(ftan
,s
), two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1399 {OP2(ftan
,w
), two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1400 {OP2(ftan
,x
), two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1401 {OP2(ftan
,x
), two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1402 {OP2(ftan
,x
), two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1404 {OP2(ftanh
,b
), two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1405 {OP2(ftanh
,d
), two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1406 {OP2(ftanh
,l
), two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1407 {OP2(ftanh
,p
), two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1408 {OP2(ftanh
,s
), two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1409 {OP2(ftanh
,w
), two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1410 {OP2(ftanh
,x
), two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1411 {OP2(ftanh
,x
), two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1412 {OP2(ftanh
,x
), two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1414 {OP2(ftentox
,b
), two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1415 {OP2(ftentox
,d
), two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1416 {OP2(ftentox
,l
), two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1417 {OP2(ftentox
,p
), two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1418 {OP2(ftentox
,s
), two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1419 {OP2(ftentox
,w
), two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1420 {OP2(ftentox
,x
), two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1421 {OP2(ftentox
,x
), two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1422 {OP2(ftentox
,x
), two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1424 {"ftrapeq", two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1425 {"ftrapf", two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1426 {"ftrapge", two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1427 {"ftrapgl", two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1428 {"ftrapgle", two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1429 {"ftrapgt", two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1430 {"ftraple", two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1431 {"ftraplt", two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1432 {"ftrapne", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1433 #ifndef MOTOROLA_SYNTAX
1434 {"ftrapneq", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1436 {"ftrapnge", two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1437 {"ftrapngl", two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1438 {"ftrapngle", two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1439 {"ftrapngt", two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1440 {"ftrapnle", two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1441 {"ftrapnlt", two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1442 {"ftrapoge", two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1443 {"ftrapogl", two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1444 {"ftrapogt", two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1445 {"ftrapole", two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1446 {"ftrapolt", two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1447 {"ftrapor", two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1448 {"ftrapseq", two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1449 {"ftrapsf", two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1450 {"ftrapsne", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1451 #ifndef MOTOROLA_SYNTAX
1452 {"ftrapsneq", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1454 {"ftrapst", two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1455 {"ftrapt", two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1456 {"ftrapueq", two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1457 {"ftrapuge", two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1458 {"ftrapugt", two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1459 {"ftrapule", two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1460 {"ftrapult", two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1461 {"ftrapun", two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii", mfloat
},
1463 {OP2(ftrapeq
,w
), two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1464 {OP2(ftrapf
,w
), two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1465 {OP2(ftrapge
,w
), two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1466 {OP2(ftrapgl
,w
), two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1467 {OP2(ftrapgle
,w
), two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1468 {OP2(ftrapgt
,w
), two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1469 {OP2(ftraple
,w
), two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1470 {OP2(ftraplt
,w
), two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1471 {OP2(ftrapne
,w
), two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1472 {OP2(ftrapnge
,w
), two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1473 {OP2(ftrapngl
,w
), two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1474 {OP2(ftrapngle
,w
), two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1475 {OP2(ftrapngt
,w
), two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1476 {OP2(ftrapnle
,w
), two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1477 {OP2(ftrapnlt
,w
), two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1478 {OP2(ftrapoge
,w
), two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1479 {OP2(ftrapogl
,w
), two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1480 {OP2(ftrapogt
,w
), two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1481 {OP2(ftrapole
,w
), two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1482 {OP2(ftrapolt
,w
), two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1483 {OP2(ftrapor
,w
), two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1484 {OP2(ftrapseq
,w
), two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1485 {OP2(ftrapsf
,w
), two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1486 {OP2(ftrapsne
,w
), two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1487 {OP2(ftrapst
,w
), two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1488 {OP2(ftrapt
,w
), two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1489 {OP2(ftrapueq
,w
), two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1490 {OP2(ftrapuge
,w
), two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1491 {OP2(ftrapugt
,w
), two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1492 {OP2(ftrapule
,w
), two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1493 {OP2(ftrapult
,w
), two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1494 {OP2(ftrapun
,w
), two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w", mfloat
},
1496 {OP2(ftrapeq
,l
), two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1497 {OP2(ftrapf
,l
), two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1498 {OP2(ftrapge
,l
), two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1499 {OP2(ftrapgl
,l
), two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1500 {OP2(ftrapgle
,l
), two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1501 {OP2(ftrapgt
,l
), two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1502 {OP2(ftraple
,l
), two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1503 {OP2(ftraplt
,l
), two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1504 {OP2(ftrapne
,l
), two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1505 {OP2(ftrapnge
,l
), two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1506 {OP2(ftrapngl
,l
), two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1507 {OP2(ftrapngle
,l
), two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1508 {OP2(ftrapngt
,l
), two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1509 {OP2(ftrapnle
,l
), two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1510 {OP2(ftrapnlt
,l
), two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1511 {OP2(ftrapoge
,l
), two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1512 {OP2(ftrapogl
,l
), two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1513 {OP2(ftrapogt
,l
), two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1514 {OP2(ftrapole
,l
), two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1515 {OP2(ftrapolt
,l
), two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1516 {OP2(ftrapor
,l
), two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1517 {OP2(ftrapseq
,l
), two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1518 {OP2(ftrapsf
,l
), two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1519 {OP2(ftrapsne
,l
), two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1520 {OP2(ftrapst
,l
), two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1521 {OP2(ftrapt
,l
), two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1522 {OP2(ftrapueq
,l
), two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1523 {OP2(ftrapuge
,l
), two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1524 {OP2(ftrapugt
,l
), two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1525 {OP2(ftrapule
,l
), two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1526 {OP2(ftrapult
,l
), two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1527 {OP2(ftrapun
,l
), two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l", mfloat
},
1529 {OP2(ftst
,b
), two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b", mfloat
},
1530 {OP2(ftst
,d
), two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F", mfloat
},
1531 {OP2(ftst
,l
), two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l", mfloat
},
1532 {OP2(ftst
,p
), two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p", mfloat
},
1533 {OP2(ftst
,s
), two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f", mfloat
},
1534 {OP2(ftst
,w
), two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w", mfloat
},
1535 {OP2(ftst
,x
), two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8", mfloat
},
1536 {OP2(ftst
,x
), two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x", mfloat
},
1538 {OP2(ftwotox
,b
), two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat
},
1539 {OP2(ftwotox
,d
), two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat
},
1540 {OP2(ftwotox
,l
), two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat
},
1541 {OP2(ftwotox
,p
), two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7", mfloat
},
1542 {OP2(ftwotox
,s
), two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7", mfloat
},
1543 {OP2(ftwotox
,w
), two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7", mfloat
},
1544 {OP2(ftwotox
,x
), two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7", mfloat
},
1545 {OP2(ftwotox
,x
), two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat
},
1546 {OP2(ftwotox
,x
), two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt", mfloat
},
1548 /* Variable-sized float branches */
1550 {"fjeq", one(0xF081), one(0xF1FF), "IdBc", mfloat
},
1551 {"fjf", one(0xF080), one(0xF1FF), "IdBc", mfloat
},
1552 {"fjge", one(0xF093), one(0xF1FF), "IdBc", mfloat
},
1553 {"fjgl", one(0xF096), one(0xF1FF), "IdBc", mfloat
},
1554 {"fjgle", one(0xF097), one(0xF1FF), "IdBc", mfloat
},
1555 {"fjgt", one(0xF092), one(0xF1FF), "IdBc", mfloat
},
1556 {"fjle", one(0xF095), one(0xF1FF), "IdBc", mfloat
},
1557 {"fjlt", one(0xF094), one(0xF1FF), "IdBc", mfloat
},
1558 {"fjne", one(0xF08E), one(0xF1FF), "IdBc", mfloat
},
1559 #ifndef MOTOROLA_SYNTAX
1560 {"fjneq", one(0xF08E), one(0xF1FF), "IdBc", mfloat
},
1562 {"fjnge", one(0xF09C), one(0xF1FF), "IdBc", mfloat
},
1563 {"fjngl", one(0xF099), one(0xF1FF), "IdBc", mfloat
},
1564 {"fjngle", one(0xF098), one(0xF1FF), "IdBc", mfloat
},
1565 {"fjngt", one(0xF09D), one(0xF1FF), "IdBc", mfloat
},
1566 {"fjnle", one(0xF09A), one(0xF1FF), "IdBc", mfloat
},
1567 {"fjnlt", one(0xF09B), one(0xF1FF), "IdBc", mfloat
},
1568 {"fjoge", one(0xF083), one(0xF1FF), "IdBc", mfloat
},
1569 {"fjogl", one(0xF086), one(0xF1FF), "IdBc", mfloat
},
1570 {"fjogt", one(0xF082), one(0xF1FF), "IdBc", mfloat
},
1571 {"fjole", one(0xF085), one(0xF1FF), "IdBc", mfloat
},
1572 {"fjolt", one(0xF084), one(0xF1FF), "IdBc", mfloat
},
1573 {"fjor", one(0xF087), one(0xF1FF), "IdBc", mfloat
},
1574 {"fjseq", one(0xF091), one(0xF1FF), "IdBc", mfloat
},
1575 {"fjsf", one(0xF090), one(0xF1FF), "IdBc", mfloat
},
1576 {"fjsne", one(0xF09E), one(0xF1FF), "IdBc", mfloat
},
1577 #ifndef MOTOROLA_SYNTAX
1578 {"fjsneq", one(0xF09E), one(0xF1FF), "IdBc", mfloat
},
1580 {"fjst", one(0xF09F), one(0xF1FF), "IdBc", mfloat
},
1581 {"fjt", one(0xF08F), one(0xF1FF), "IdBc", mfloat
},
1582 {"fjueq", one(0xF089), one(0xF1FF), "IdBc", mfloat
},
1583 {"fjuge", one(0xF08B), one(0xF1FF), "IdBc", mfloat
},
1584 {"fjugt", one(0xF08A), one(0xF1FF), "IdBc", mfloat
},
1585 {"fjule", one(0xF08D), one(0xF1FF), "IdBc", mfloat
},
1586 {"fjult", one(0xF08C), one(0xF1FF), "IdBc", mfloat
},
1587 {"fjun", one(0xF088), one(0xF1FF), "IdBc", mfloat
},
1588 /* float stuff ends here */
1589 {"illegal", one(0045374), one(0177777), "", m68000up
},
1592 #ifdef MOTOROLA_SYNTAX
1593 {OP2(jmp
,s
), one(0047300), one(0177700), "!s", m68000up
},
1594 {OP2(jmp
,l
), one(0047300), one(0177700), "!s", m68000up
},
1597 {"jmp", one(0047300), one(0177700), "!s", m68000up
},
1598 {"jsr", one(0047200), one(0177700), "!s", m68000up
},
1599 {"lea", one(0040700), one(0170700), "!sAd", m68000up
},
1600 #ifdef MOTOROLA_SYNTAX
1601 {OP2(lea
,l
), one(0040700), one(0170700), "!sAd", m68000up
}, /* allow lea as leal */
1604 {OP2(link
,w
), one(0047120), one(0177770), "As#w", m68000up
},
1605 {OP2(link
,l
), one(0044010), one(0177770), "As#l", m68020up
},
1606 {"link", one(0047120), one(0177770), "As#w", m68000up
},
1607 {"link", one(0044010), one(0177770), "As#l", m68020up
},
1609 {OP2(lsl
,b
), one(0160410), one(0170770), "QdDs", m68000up
}, /* lsrb #Q, Ds */
1610 {OP2(lsl
,b
), one(0160450), one(0170770), "DdDs", m68000up
}, /* lsrb Dd, Ds */
1611 {OP2(lsl
,w
), one(0160510), one(0170770), "QdDs", m68000up
}, /* lsrb #Q, Ds */
1612 {OP2(lsl
,w
), one(0160550), one(0170770), "DdDs", m68000up
}, /* lsrb Dd, Ds */
1613 {OP2(lsl
,w
), one(0161700), one(0177700), "~s", m68000up
}, /* Shift memory */
1614 {OP2(lsl
,l
), one(0160610), one(0170770), "QdDs", m68000up
}, /* lsrb #Q, Ds */
1615 {OP2(lsl
,l
), one(0160650), one(0170770), "DdDs", m68000up
}, /* lsrb Dd, Ds */
1617 {OP2(lsr
,b
), one(0160010), one(0170770), "QdDs", m68000up
}, /* lsrb #Q, Ds */
1618 {OP2(lsr
,b
), one(0160050), one(0170770), "DdDs", m68000up
}, /* lsrb Dd, Ds */
1619 {OP2(lsr
,l
), one(0160210), one(0170770), "QdDs", m68000up
}, /* lsrb #Q, Ds */
1620 {OP2(lsr
,l
), one(0160250), one(0170770), "DdDs", m68000up
}, /* lsrb #Q, Ds */
1621 {OP2(lsr
,w
), one(0160110), one(0170770), "QdDs", m68000up
}, /* lsrb #Q, Ds */
1622 {OP2(lsr
,w
), one(0160150), one(0170770), "DdDs", m68000up
}, /* lsrb #Q, Ds */
1623 {OP2(lsr
,w
), one(0161300), one(0177700), "~s", m68000up
}, /* Shift memory */
1625 {OP2(movea
,l
), one(0020100), one(0170700), "*lAd", m68000up
},
1626 {OP2(movea
,w
), one(0030100), one(0170700), "*wAd", m68000up
},
1627 {OP2(move
,b
), one(0010000), one(0170000), ";b$d", m68000up
}, /* move */
1628 {OP2(move
,l
), one(0070000), one(0170400), "MsDd", m68000up
}, /* moveq written as move */
1629 {OP2(move
,l
), one(0020000), one(0170000), "*l$d", m68000up
},
1630 {OP2(move
,l
), one(0020100), one(0170700), "*lAd", m68000up
},
1631 {OP2(move
,l
), one(0047140), one(0177770), "AsUd", m68000up
}, /* move to USP */
1632 {OP2(move
,l
), one(0047150), one(0177770), "UdAs", m68000up
}, /* move from USP */
1634 {"movec", one(0047173), one(0177777), "R1Jj", m68010up
},
1635 {"movec", one(0047173), one(0177777), "R1#j", m68010up
},
1636 {"movec", one(0047172), one(0177777), "JjR1", m68010up
},
1637 {"movec", one(0047172), one(0177777), "#jR1", m68010up
},
1639 /* JF added these next four for the assembler */
1640 {OP2(movem
,l
), one(0044300), one(0177700), "Lw&s", m68000up
}, /* movem reg to mem. */
1641 {OP2(movem
,l
), one(0044340), one(0177770), "lw-s", m68000up
}, /* movem reg to autodecrement. */
1642 {OP2(movem
,l
), one(0046300), one(0177700), "!sLw", m68000up
}, /* movem mem to reg. */
1643 {OP2(movem
,l
), one(0046330), one(0177770), "+sLw", m68000up
}, /* movem autoinc to reg. */
1645 {OP2(movem
,l
), one(0044300), one(0177700), "#w&s", m68000up
}, /* movem reg to mem. */
1646 {OP2(movem
,l
), one(0044340), one(0177770), "#w-s", m68000up
}, /* movem reg to autodecrement. */
1647 {OP2(movem
,l
), one(0046300), one(0177700), "!s#w", m68000up
}, /* movem mem to reg. */
1648 {OP2(movem
,l
), one(0046330), one(0177770), "+s#w", m68000up
}, /* movem autoinc to reg. */
1650 /* JF added these next four for the assembler */
1651 {OP2(movem
,w
), one(0044200), one(0177700), "Lw&s", m68000up
}, /* movem reg to mem. */
1652 {OP2(movem
,w
), one(0044240), one(0177770), "lw-s", m68000up
}, /* movem reg to autodecrement. */
1653 {OP2(movem
,w
), one(0046200), one(0177700), "!sLw", m68000up
}, /* movem mem to reg. */
1654 {OP2(movem
,w
), one(0046230), one(0177770), "+sLw", m68000up
}, /* movem autoinc to reg. */
1656 {OP2(movem
,w
), one(0044200), one(0177700), "#w&s", m68000up
}, /* movem reg to mem. */
1657 {OP2(movem
,w
), one(0044240), one(0177770), "#w-s", m68000up
}, /* movem reg to autodecrement. */
1658 {OP2(movem
,w
), one(0046200), one(0177700), "!s#w", m68000up
}, /* movem mem to reg. */
1659 {OP2(movem
,w
), one(0046230), one(0177770), "+s#w", m68000up
}, /* movem autoinc to reg. */
1660 #ifdef ALLOW_DEFAULT_SIZES
1661 {"movem", one(0044200), one(0177700), "Lw&s", m68000up
}, /* movem reg to mem. */
1662 {"movem", one(0044240), one(0177770), "lw-s", m68000up
}, /* movem reg to autodecrement. */
1663 {"movem", one(0046200), one(0177700), "!sLw", m68000up
}, /* movem mem to reg. */
1664 {"movem", one(0046230), one(0177770), "+sLw", m68000up
}, /* movem autoinc to reg. */
1666 {"movem", one(0044200), one(0177700), "#w&s", m68000up
}, /* movem reg to mem. */
1667 {"movem", one(0044240), one(0177770), "#w-s", m68000up
}, /* movem reg to autodecrement. */
1668 {"movem", one(0046200), one(0177700), "!s#w", m68000up
}, /* movem mem to reg. */
1669 {"movem", one(0046230), one(0177770), "+s#w", m68000up
}, /* movem autoinc to reg. */
1672 {OP2(movep
,l
), one(0000510), one(0170770), "dsDd", m68000up
}, /* memory to register */
1673 {OP2(movep
,l
), one(0000710), one(0170770), "Ddds", m68000up
}, /* register to memory */
1674 {OP2(movep
,w
), one(0000410), one(0170770), "dsDd", m68000up
}, /* memory to register */
1675 {OP2(movep
,w
), one(0000610), one(0170770), "Ddds", m68000up
}, /* register to memory */
1676 #ifdef ALLOW_DEFAULT_SIZES
1677 {"movep", one(0000410), one(0170770), "dsDd", m68000up
}, /* memory to register */
1678 {"movep", one(0000610), one(0170770), "Ddds", m68000up
}, /* register to memory */
1680 {OP2(move
,q
), one(0070000), one(0170400), "MsDd", m68000up
},
1681 {OP2(move
,w
), one(0030000), one(0170000), "*w$d", m68000up
},
1682 {OP2(move
,w
), one(0030100), one(0170700), "*wAd", m68000up
}, /* movea, written as move */
1683 {OP2(move
,w
), one(0040300), one(0177700), "Ss$s", m68000up
}, /* Move from sr */
1684 {OP2(move
,w
), one(0041300), one(0177700), "Cs$s", m68010up
}, /* Move from ccr */
1685 {OP2(move
,w
), one(0042300), one(0177700), ";wCd", m68000up
}, /* move to ccr */
1686 {OP2(move
,w
), one(0043300), one(0177700), ";wSd", m68000up
}, /* move to sr */
1689 {OP2(moves
,b
), two(0007000, 0), two(0177700, 07777), "~sR1", m68010up
}, /* moves from memory */
1690 {OP2(moves
,b
), two(0007000, 04000), two(0177700, 07777), "R1~s", m68010up
}, /* moves to memory */
1691 {OP2(moves
,l
), two(0007200, 0), two(0177700, 07777), "~sR1", m68010up
}, /* moves from memory */
1692 {OP2(moves
,l
), two(0007200, 04000), two(0177700, 07777), "R1~s", m68010up
}, /* moves to memory */
1693 {OP2(moves
,w
), two(0007100, 0), two(0177700, 07777), "~sR1", m68010up
}, /* moves from memory */
1694 {OP2(moves
,w
), two(0007100, 04000), two(0177700, 07777), "R1~s", m68010up
}, /* moves to memory */
1696 {"move16", two(0xf620, 0x8000), two(0xfff8, 0x8fff), "+s+1", m68040
},
1697 {"move16", one(0xf600), one(0xfff8), "+s_L", m68040
},
1698 {"move16", one(0xf608), one(0xfff8), "_L+s", m68040
},
1699 {"move16", one(0xf610), one(0xfff8), "as_L", m68040
},
1700 {"move16", one(0xf618), one(0xfff8), "_Las", m68040
},
1702 {OP2(muls
,l
), two(0046000, 004000), two(0177700, 0107770), ";lD1", m68020up
},
1703 {OP2(muls
,l
), two(0046000, 006000), two(0177700, 0107770), ";lD3D1", m68020up
},
1704 {OP2(muls
,w
), one(0140700), one(0170700), ";wDd", m68000up
},
1705 {"muls", one(0140700), one(0170700), ";wDd", m68000up
},
1706 {OP2(mulu
,l
), two(0046000, 000000), two(0177700, 0107770), ";lD1", m68020up
},
1707 {OP2(mulu
,l
), two(0046000, 002000), two(0177700, 0107770), ";lD3D1", m68020up
},
1708 {OP2(mulu
,w
), one(0140300), one(0170700), ";wDd", m68000up
},
1709 {"mulu", one(0140300), one(0170700), ";wDd", m68000up
},
1710 {"nbcd", one(0044000), one(0177700), "$s", m68000up
},
1712 {OP2(neg
,b
), one(0042000), one(0177700), "$s", m68000up
},
1713 {OP2(neg
,l
), one(0042200), one(0177700), "$s", m68000up
},
1714 {OP2(neg
,w
), one(0042100), one(0177700), "$s", m68000up
},
1715 #ifdef ALLOW_DEFAULT_SIZES
1716 {"neg", one(0042200), one(0177700), "$s", m68000up
},
1719 {OP2(negx
,b
), one(0040000), one(0177700), "$s", m68000up
},
1720 {OP2(negx
,l
), one(0040200), one(0177700), "$s", m68000up
},
1721 {OP2(negx
,w
), one(0040100), one(0177700), "$s", m68000up
},
1722 #ifdef ALLOW_DEFAULT_SIZES
1723 {"negx", one(0040200), one(0177700), "$s", m68000up
},
1726 {"nop", one(0047161), one(0177777), "", m68000up
},
1728 {OP2(not,b
), one(0043000), one(0177700), "$s", m68000up
},
1729 {OP2(not,l
), one(0043200), one(0177700), "$s", m68000up
},
1730 {OP2(not,w
), one(0043100), one(0177700), "$s", m68000up
},
1731 #ifdef ALLOW_DEFAULT_SIZES
1732 {"not", one(0043200), one(0177700), "$s", m68000up
},
1735 {OP2(or,b
), one(0000000), one(0177700), "#b$s", m68000up
}, /* ori written as or */
1736 {OP2(or,b
), one(0000074), one(0177777), "#bCs", m68000up
}, /* ori to ccr */
1737 {OP2(or,b
), one(0100000), one(0170700), ";bDd", m68000up
}, /* memory to register */
1738 {OP2(or,b
), one(0100400), one(0170700), "Dd~s", m68000up
}, /* register to memory */
1739 {OP2(ori
,b
), one(0000000), one(0177700), "#b$s", m68000up
},
1740 {OP2(ori
,b
), one(0000074), one(0177777), "#bCs", m68000up
}, /* ori to ccr */
1741 {OP2(ori
,l
), one(0000200), one(0177700), "#l$s", m68000up
},
1742 {OP2(ori
,w
), one(0000100), one(0177700), "#w$s", m68000up
},
1743 {OP2(ori
,w
), one(0000174), one(0177777), "#wSs", m68000up
}, /* ori to sr */
1744 {OP2(or,l
), one(0000200), one(0177700), "#l$s", m68000up
},
1745 {OP2(or,l
), one(0100200), one(0170700), ";lDd", m68000up
}, /* memory to register */
1746 {OP2(or,l
), one(0100600), one(0170700), "Dd~s", m68000up
}, /* register to memory */
1747 {OP2(or,w
), one(0000100), one(0177700), "#w$s", m68000up
},
1748 {OP2(or,w
), one(0000174), one(0177777), "#wSs", m68000up
}, /* ori to sr */
1749 {OP2(or,w
), one(0100100), one(0170700), ";wDd", m68000up
}, /* memory to register */
1750 {OP2(or,w
), one(0100500), one(0170700), "Dd~s", m68000up
}, /* register to memory */
1751 #ifdef ALLOW_DEFAULT_SIZES
1752 {"ori", one(0000174), one(0177777), "#wSs", m68000up
}, /* ori to sr */
1754 {"or", one(0000100), one(0177700), "#w$s", m68000up
},
1755 {"or", one(0000174), one(0177777), "#wSs", m68000up
}, /* ori to sr */
1756 {"or", one(0100100), one(0170700), ";wDd", m68000up
}, /* memory to register */
1757 {"or", one(0100500), one(0170700), "Dd~s", m68000up
}, /* register to memory */
1760 {"pack", one(0100500), one(0170770), "DsDd#w", m68020up
}, /* pack Ds, Dd, #w */
1761 {"pack", one(0100510), one(0170770), "-s-d#w", m68020up
}, /* pack -(As), -(Ad), #w */
1764 {"pbac", one(0xf0c7), one(0xffbf), "Bc", m68851
},
1765 {OP2(pbac
,w
), one(0xf087), one(0xffbf), "Bc", m68851
},
1766 {"pbas", one(0xf0c6), one(0xffbf), "Bc", m68851
},
1767 {OP2(pbas
,w
), one(0xf086), one(0xffbf), "Bc", m68851
},
1768 {"pbbc", one(0xf0c1), one(0xffbf), "Bc", m68851
},
1769 {OP2(pbbc
,w
), one(0xf081), one(0xffbf), "Bc", m68851
},
1770 {"pbbs", one(0xf0c0), one(0xffbf), "Bc", m68851
},
1771 {OP2(pbbs
,w
), one(0xf080), one(0xffbf), "Bc", m68851
},
1772 {"pbcc", one(0xf0cf), one(0xffbf), "Bc", m68851
},
1773 {OP2(pbcc
,w
), one(0xf08f), one(0xffbf), "Bc", m68851
},
1774 {"pbcs", one(0xf0ce), one(0xffbf), "Bc", m68851
},
1775 {OP2(pbcs
,w
), one(0xf08e), one(0xffbf), "Bc", m68851
},
1776 {"pbgc", one(0xf0cd), one(0xffbf), "Bc", m68851
},
1777 {OP2(pbgc
,w
), one(0xf08d), one(0xffbf), "Bc", m68851
},
1778 {"pbgs", one(0xf0cc), one(0xffbf), "Bc", m68851
},
1779 {OP2(pbgs
,w
), one(0xf08c), one(0xffbf), "Bc", m68851
},
1780 {"pbic", one(0xf0cb), one(0xffbf), "Bc", m68851
},
1781 {OP2(pbic
,w
), one(0xf08b), one(0xffbf), "Bc", m68851
},
1782 {"pbis", one(0xf0ca), one(0xffbf), "Bc", m68851
},
1783 {OP2(pbis
,w
), one(0xf08a), one(0xffbf), "Bc", m68851
},
1784 {"pblc", one(0xf0c3), one(0xffbf), "Bc", m68851
},
1785 {OP2(pblc
,w
), one(0xf083), one(0xffbf), "Bc", m68851
},
1786 {"pbls", one(0xf0c2), one(0xffbf), "Bc", m68851
},
1787 {OP2(pbls
,w
), one(0xf082), one(0xffbf), "Bc", m68851
},
1788 {"pbsc", one(0xf0c5), one(0xffbf), "Bc", m68851
},
1789 {OP2(pbsc
,w
), one(0xf085), one(0xffbf), "Bc", m68851
},
1790 {"pbss", one(0xf0c4), one(0xffbf), "Bc", m68851
},
1791 {OP2(pbss
,w
), one(0xf084), one(0xffbf), "Bc", m68851
},
1792 {"pbwc", one(0xf0c9), one(0xffbf), "Bc", m68851
},
1793 {OP2(pbwc
,w
), one(0xf089), one(0xffbf), "Bc", m68851
},
1794 {"pbws", one(0xf0c8), one(0xffbf), "Bc", m68851
},
1795 {OP2(pbws
,w
), one(0xf088), one(0xffbf), "Bc", m68851
},
1797 {"pdbac", two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw", m68851
},
1798 {"pdbas", two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw", m68851
},
1799 {"pdbbc", two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw", m68851
},
1800 {"pdbbs", two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw", m68851
},
1801 {"pdbcc", two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw", m68851
},
1802 {"pdbcs", two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw", m68851
},
1803 {"pdbgc", two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw", m68851
},
1804 {"pdbgs", two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw", m68851
},
1805 {"pdbic", two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw", m68851
},
1806 {"pdbis", two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw", m68851
},
1807 {"pdblc", two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw", m68851
},
1808 {"pdbls", two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw", m68851
},
1809 {"pdbsc", two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw", m68851
},
1810 {"pdbss", two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw", m68851
},
1811 {"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw", m68851
},
1812 {"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw", m68851
},
1813 #endif /* NO_68851 */
1815 {"pea", one(0044100), one(0177700), "!s", m68000up
},
1818 {"pflusha", two(0xf000, 0x2400), two(0xffff, 0xffff), "", m68030
| m68851
},
1819 {"pflusha", one(0xf510), one(0xfff8), "", m68040
},
1821 {"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "T3T9", m68030
| m68851
},
1822 {"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "T3T9&s", m68030
| m68851
},
1823 {"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3T9", m68030
| m68851
},
1824 {"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3T9&s", m68030
| m68851
},
1825 {"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3T9", m68030
| m68851
},
1826 {"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3T9&s", m68030
| m68851
},
1827 {"pflush", one(0xf500), one(0xfff8), "As", m68040
},
1829 {"pflushan", one(0xf518), one(0xfff8), "", m68040
},
1830 {"pflushn", one(0xf508), one(0xfff8), "As", m68040
},
1832 {"pflushr", two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s", m68851
},
1834 {"pflushs", two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9", m68851
},
1835 {"pflushs", two(0xf000, 0x3c10), two(0xfff8, 0xfe00), "T3T9&s", m68851
},
1836 {"pflushs", two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9", m68851
},
1837 {"pflushs", two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s", m68851
},
1838 {"pflushs", two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9", m68851
},
1839 {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s", m68851
},
1841 {"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "T3&s", m68030
| m68851
},
1842 {"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s", m68030
| m68851
},
1843 {"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s", m68030
| m68851
},
1844 {"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "T3&s", m68030
| m68851
},
1845 {"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s", m68030
| m68851
},
1846 {"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s", m68030
| m68851
},
1848 /* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */
1849 {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "*sP8", m68030
| m68851
},
1850 {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "P8%s", m68030
| m68851
},
1851 {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "|sW8", m68030
| m68851
},
1852 {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "W8~s", m68030
| m68851
},
1855 {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xe3e3), "*sX3", m68030
| m68851
},
1856 {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xe3e3), "X3%s", m68030
| m68851
},
1859 /* {"pmove", two(0xf000, 0x6100), two(oxffc0, oxffff), "*sZ8", m68030 | m68851 }, */
1860 {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "*sY8", m68030
| m68851
},
1861 {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "Y8%s", m68030
| m68851
},
1862 {"pmove", two(0xf000, 0x6600), two(0xffc0, 0xffff), "Z8%s", m68030
| m68851
},
1864 {"prestore", one(0xf140), one(0xffc0), "&s", m68851
},
1865 {"prestore", one(0xf158), one(0xfff8), "+s", m68851
},
1866 #ifndef MOTOROLA_SYNTAX
1867 /* The two identical psave instructions seems dubious. FIXME */
1868 {"psave", one(0xf100), one(0xffc0), "&s", m68851
},
1869 {"psave", one(0xf100), one(0xffc0), "+s", m68851
},
1872 {"psac", two(0xf040, 0x0007), two(0xffc0, 0xffff), "@s", m68851
},
1873 {"psas", two(0xf040, 0x0006), two(0xffc0, 0xffff), "@s", m68851
},
1874 {"psbc", two(0xf040, 0x0001), two(0xffc0, 0xffff), "@s", m68851
},
1875 {"psbs", two(0xf040, 0x0000), two(0xffc0, 0xffff), "@s", m68851
},
1876 {"pscc", two(0xf040, 0x000f), two(0xffc0, 0xffff), "@s", m68851
},
1877 {"pscs", two(0xf040, 0x000e), two(0xffc0, 0xffff), "@s", m68851
},
1878 {"psgc", two(0xf040, 0x000d), two(0xffc0, 0xffff), "@s", m68851
},
1879 {"psgs", two(0xf040, 0x000c), two(0xffc0, 0xffff), "@s", m68851
},
1880 {"psic", two(0xf040, 0x000b), two(0xffc0, 0xffff), "@s", m68851
},
1881 {"psis", two(0xf040, 0x000a), two(0xffc0, 0xffff), "@s", m68851
},
1882 {"pslc", two(0xf040, 0x0003), two(0xffc0, 0xffff), "@s", m68851
},
1883 {"psls", two(0xf040, 0x0002), two(0xffc0, 0xffff), "@s", m68851
},
1884 {"pssc", two(0xf040, 0x0005), two(0xffc0, 0xffff), "@s", m68851
},
1885 {"psss", two(0xf040, 0x0004), two(0xffc0, 0xffff), "@s", m68851
},
1886 {"pswc", two(0xf040, 0x0009), two(0xffc0, 0xffff), "@s", m68851
},
1887 {"psws", two(0xf040, 0x0008), two(0xffc0, 0xffff), "@s", m68851
},
1889 {"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "T3&sQ8", m68030
| m68851
},
1890 {"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "T3&sQ8A9", m68030
| m68851
},
1891 {"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8", m68030
| m68851
},
1892 {"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9", m68030
| m68851
},
1893 {"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8", m68030
| m68851
},
1894 {"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9", m68030
| m68851
},
1896 {"ptestr", one(0xf568), one(0xfff8), "As", m68040
},
1898 {"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "T3&sQ8", m68030
| m68851
},
1899 {"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "T3&sQ8A9", m68030
| m68851
},
1900 {"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8", m68030
| m68851
},
1901 {"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9", m68030
| m68851
},
1902 {"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8", m68030
| m68851
},
1903 {"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9", m68030
| m68851
},
1905 {"ptestw", one(0xf548), one(0xfff8), "As", m68040
},
1907 {OP2(ptrapac
,w
), two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w", m68851
},
1908 {OP2(ptrapac
,l
), two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l", m68851
},
1909 {"ptrapac", two(0xf07c, 0x0007), two(0xffff, 0xffff), "", m68851
},
1911 {OP2(ptrapas
,w
), two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w", m68851
},
1912 {OP2(ptrapas
,l
), two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l", m68851
},
1913 {"ptrapas", two(0xf07c, 0x0006), two(0xffff, 0xffff), "", m68851
},
1915 {OP2(ptrapbc
,w
), two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w", m68851
},
1916 {OP2(ptrapbc
,l
), two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l", m68851
},
1917 {"ptrapbc", two(0xf07c, 0x0001), two(0xffff, 0xffff), "", m68851
},
1919 {OP2(ptrapbs
,w
), two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w", m68851
},
1920 {OP2(ptrapbs
,l
), two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l", m68851
},
1921 {"ptrapbs", two(0xf07c, 0x0000), two(0xffff, 0xffff), "", m68851
},
1923 {OP2(ptrapcc
,w
), two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w", m68851
},
1924 {OP2(ptrapcc
,l
), two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l", m68851
},
1925 {"ptrapcc", two(0xf07c, 0x000f), two(0xffff, 0xffff), "", m68851
},
1927 {OP2(ptrapcs
,w
), two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w", m68851
},
1928 {OP2(ptrapcs
,l
), two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l", m68851
},
1929 {"ptrapcs", two(0xf07c, 0x000e), two(0xffff, 0xffff), "", m68851
},
1931 {OP2(ptrapgc
,w
), two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w", m68851
},
1932 {OP2(ptrapgc
,l
), two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l", m68851
},
1933 {"ptrapgc", two(0xf07c, 0x000d), two(0xffff, 0xffff), "", m68851
},
1935 {OP2(ptrapgs
,w
), two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w", m68851
},
1936 {OP2(ptrapgs
,l
), two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l", m68851
},
1937 {"ptrapgs", two(0xf07c, 0x000c), two(0xffff, 0xffff), "", m68851
},
1939 {OP2(ptrapic
,w
), two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w", m68851
},
1940 {OP2(ptrapic
,l
), two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l", m68851
},
1941 {"ptrapic", two(0xf07c, 0x000b), two(0xffff, 0xffff), "", m68851
},
1943 {OP2(ptrapis
,w
), two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w", m68851
},
1944 {OP2(ptrapis
,l
), two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l", m68851
},
1945 {"ptrapis", two(0xf07c, 0x000a), two(0xffff, 0xffff), "", m68851
},
1947 {OP2(ptraplc
,w
), two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w", m68851
},
1948 {OP2(ptraplc
,l
), two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l", m68851
},
1949 {"ptraplc", two(0xf07c, 0x0003), two(0xffff, 0xffff), "", m68851
},
1951 {OP2(ptrapls
,w
), two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w", m68851
},
1952 {OP2(ptrapls
,l
), two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l", m68851
},
1953 {"ptrapls", two(0xf07c, 0x0002), two(0xffff, 0xffff), "", m68851
},
1955 {OP2(ptrapsc
,w
), two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w", m68851
},
1956 {OP2(ptrapsc
,l
), two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l", m68851
},
1957 {"ptrapsc", two(0xf07c, 0x0005), two(0xffff, 0xffff), "", m68851
},
1959 {OP2(ptrapss
,w
), two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w", m68851
},
1960 {OP2(ptrapss
,l
), two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l", m68851
},
1961 {"ptrapss", two(0xf07c, 0x0004), two(0xffff, 0xffff), "", m68851
},
1963 {OP2(ptrapwc
,w
), two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w", m68851
},
1964 {OP2(ptrapwc
,l
), two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l", m68851
},
1965 {"ptrapwc", two(0xf07c, 0x0009), two(0xffff, 0xffff), "", m68851
},
1967 {OP2(ptrapws
,w
), two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w", m68851
},
1968 {OP2(ptrapws
,l
), two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l", m68851
},
1969 {"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), "", m68851
},
1971 {"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s", m68851
},
1972 {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s", m68851
},
1974 #endif /* NO_68851 */
1976 {"reset", one(0047160), one(0177777), "", m68000up
},
1978 {OP2(rol
,b
), one(0160430), one(0170770), "QdDs", m68000up
}, /* rorb #Q, Ds */
1979 {OP2(rol
,b
), one(0160470), one(0170770), "DdDs", m68000up
}, /* rorb Dd, Ds */
1980 {OP2(rol
,l
), one(0160630), one(0170770), "QdDs", m68000up
}, /* rorb #Q, Ds */
1981 {OP2(rol
,l
), one(0160670), one(0170770), "DdDs", m68000up
}, /* rorb Dd, Ds */
1982 {OP2(rol
,w
), one(0160530), one(0170770), "QdDs", m68000up
}, /* rorb #Q, Ds */
1983 {OP2(rol
,w
), one(0160570), one(0170770), "DdDs", m68000up
}, /* rorb Dd, Ds */
1984 {OP2(rol
,w
), one(0163700), one(0177700), "~s", m68000up
}, /* Rotate memory */
1985 {OP2(ror
,b
), one(0160030), one(0170770), "QdDs", m68000up
}, /* rorb #Q, Ds */
1986 {OP2(ror
,b
), one(0160070), one(0170770), "DdDs", m68000up
}, /* rorb Dd, Ds */
1987 {OP2(ror
,l
), one(0160230), one(0170770), "QdDs", m68000up
}, /* rorb #Q, Ds */
1988 {OP2(ror
,l
), one(0160270), one(0170770), "DdDs", m68000up
}, /* rorb Dd, Ds */
1989 {OP2(ror
,w
), one(0160130), one(0170770), "QdDs", m68000up
}, /* rorb #Q, Ds */
1990 {OP2(ror
,w
), one(0160170), one(0170770), "DdDs", m68000up
}, /* rorb Dd, Ds */
1991 {OP2(ror
,w
), one(0163300), one(0177700), "~s", m68000up
}, /* Rotate memory */
1993 {OP2(roxl
,b
), one(0160420), one(0170770), "QdDs", m68000up
}, /* roxrb #Q, Ds */
1994 {OP2(roxl
,b
), one(0160460), one(0170770), "DdDs", m68000up
}, /* roxrb Dd, Ds */
1995 {OP2(roxl
,l
), one(0160620), one(0170770), "QdDs", m68000up
}, /* roxrb #Q, Ds */
1996 {OP2(roxl
,l
), one(0160660), one(0170770), "DdDs", m68000up
}, /* roxrb Dd, Ds */
1997 {OP2(roxl
,w
), one(0160520), one(0170770), "QdDs", m68000up
}, /* roxrb #Q, Ds */
1998 {OP2(roxl
,w
), one(0160560), one(0170770), "DdDs", m68000up
}, /* roxrb Dd, Ds */
1999 {OP2(roxl
,w
), one(0162700), one(0177700), "~s", m68000up
}, /* Rotate memory */
2000 {OP2(roxr
,b
), one(0160020), one(0170770), "QdDs", m68000up
}, /* roxrb #Q, Ds */
2001 {OP2(roxr
,b
), one(0160060), one(0170770), "DdDs", m68000up
}, /* roxrb Dd, Ds */
2002 {OP2(roxr
,l
), one(0160220), one(0170770), "QdDs", m68000up
}, /* roxrb #Q, Ds */
2003 {OP2(roxr
,l
), one(0160260), one(0170770), "DdDs", m68000up
}, /* roxrb Dd, Ds */
2004 {OP2(roxr
,w
), one(0160120), one(0170770), "QdDs", m68000up
}, /* roxrb #Q, Ds */
2005 {OP2(roxr
,w
), one(0160160), one(0170770), "DdDs", m68000up
}, /* roxrb Dd, Ds */
2006 {OP2(roxr
,w
), one(0162300), one(0177700), "~s", m68000up
}, /* Rotate memory */
2008 {"rtd", one(0047164), one(0177777), "#w", m68010up
},
2009 {"rte", one(0047163), one(0177777), "", m68000up
},
2010 {"rtm", one(0003300), one(0177760), "Rs", m68020
},
2011 {"rtr", one(0047167), one(0177777), "", m68000up
},
2012 {"rts", one(0047165), one(0177777), "", m68000up
},
2014 {"sbcd", one(0100400), one(0170770), "DsDd", m68000up
},
2015 {"sbcd", one(0100410), one(0170770), "-s-d", m68000up
},
2017 {"scc", one(0052300), one(0177700), "$s", m68000up
},
2018 {"scs", one(0052700), one(0177700), "$s", m68000up
},
2019 {"seq", one(0053700), one(0177700), "$s", m68000up
},
2020 {"sf", one(0050700), one(0177700), "$s", m68000up
},
2021 {"sge", one(0056300), one(0177700), "$s", m68000up
},
2022 {"sfge", one(0056300), one(0177700), "$s", m68000up
},
2023 {"sgt", one(0057300), one(0177700), "$s", m68000up
},
2024 {"sfgt", one(0057300), one(0177700), "$s", m68000up
},
2025 {"shi", one(0051300), one(0177700), "$s", m68000up
},
2026 {"sle", one(0057700), one(0177700), "$s", m68000up
},
2027 {"sfle", one(0057700), one(0177700), "$s", m68000up
},
2028 {"sls", one(0051700), one(0177700), "$s", m68000up
},
2029 {"slt", one(0056700), one(0177700), "$s", m68000up
},
2030 {"sflt", one(0056700), one(0177700), "$s", m68000up
},
2031 {"smi", one(0055700), one(0177700), "$s", m68000up
},
2032 {"sne", one(0053300), one(0177700), "$s", m68000up
},
2033 {"sfneq", one(0053300), one(0177700), "$s", m68000up
},
2034 {"spl", one(0055300), one(0177700), "$s", m68000up
},
2035 {"st", one(0050300), one(0177700), "$s", m68000up
},
2036 {"svc", one(0054300), one(0177700), "$s", m68000up
},
2037 {"svs", one(0054700), one(0177700), "$s", m68000up
},
2039 {"stop", one(0047162), one(0177777), "#w", m68000up
},
2041 {OP2(suba
,l
), one(0110700), one(0170700), "*lAd", m68000up
},
2042 {OP2(suba
,w
), one(0110300), one(0170700), "*wAd", m68000up
},
2043 {OP2(sub
,b
), one(0050400), one(0170700), "Qd%s", m68000up
}, /* subq written as sub */
2044 {OP2(sub
,b
), one(0002000), one(0177700), "#b$s", m68000up
}, /* subi written as sub */
2045 {OP2(sub
,b
), one(0110000), one(0170700), ";bDd", m68000up
}, /* subb ? ?, Dd */
2046 {OP2(sub
,b
), one(0110400), one(0170700), "Dd~s", m68000up
}, /* subb Dd, ? ? */
2048 {OP2(subi
,b
), one(0002000), one(0177700), "#b$s", m68000up
},
2049 {OP2(subi
,l
), one(0002200), one(0177700), "#l$s", m68000up
},
2050 {OP2(subi
,w
), one(0002100), one(0177700), "#w$s", m68000up
},
2051 {OP2(sub
,l
), one(0050600), one(0170700), "Qd%s", m68000up
},
2052 {OP2(sub
,l
), one(0002200), one(0177700), "#l$s", m68000up
},
2053 {OP2(sub
,l
), one(0110700), one(0170700), "*lAd", m68000up
},
2054 {OP2(sub
,l
), one(0110200), one(0170700), "*lDd", m68000up
},
2055 {OP2(sub
,l
), one(0110600), one(0170700), "Dd~s", m68000up
},
2056 {OP2(subq
,b
), one(0050400), one(0170700), "Qd%s", m68000up
},
2057 #ifdef MOTOROLA_SYNTAX
2058 {OP2(subq
,b
), one(0002000), one(0177700), "#b$s", m68000up
}, /* FIXNIEL: sub instead of subq because too many frags */
2060 {OP2(subq
,l
), one(0050600), one(0170700), "Qd%s", m68000up
},
2061 #ifdef MOTOROLA_SYNTAX
2062 {OP2(subq
,l
), one(0002200), one(0177700), "#l$s", m68000up
}, /* FIXNIEL: sub instead of subq because too many frags */
2064 {OP2(subq
,w
), one(0050500), one(0170700), "Qd%s", m68000up
},
2065 #ifdef MOTOROLA_SYNTAX
2066 {OP2(subq
,w
), one(0002100), one(0177700), "#w$s", m68000up
}, /* FIXNIEL: sub instead of subq because too many frags */
2068 {OP2(sub
,w
), one(0050500), one(0170700), "Qd%s", m68000up
},
2069 {OP2(sub
,w
), one(0002100), one(0177700), "#w$s", m68000up
},
2070 {OP2(sub
,w
), one(0110100), one(0170700), "*wDd", m68000up
},
2071 {OP2(sub
,w
), one(0110300), one(0170700), "*wAd", m68000up
}, /* suba written as sub */
2072 {OP2(sub
,w
), one(0110500), one(0170700), "Dd~s", m68000up
},
2073 #ifdef ALLOW_DEFAULT_SIZES
2074 {"subi", one(0002200), one(0177700), "#l$s", m68000up
},
2075 {"suba", one(0110700), one(0170700), "*lAd", m68000up
},
2076 {"sub", one(0050500), one(0170700), "Qd%s", m68000up
},
2077 {"sub", one(0002100), one(0177700), "#w$s", m68000up
},
2078 {"sub", one(0110100), one(0170700), "*wDd", m68000up
},
2079 {"sub", one(0110300), one(0170700), "*wAd", m68000up
}, /* suba written as sub */
2080 {"sub", one(0110500), one(0170700), "Dd~s", m68000up
},
2083 {OP2(subx
,b
), one(0110400), one(0170770), "DsDd", m68000up
}, /* subxb Ds, Dd */
2084 {OP2(subx
,b
), one(0110410), one(0170770), "-s-d", m68000up
}, /* subxb -(As), -(Ad) */
2085 {OP2(subx
,l
), one(0110600), one(0170770), "DsDd", m68000up
},
2086 {OP2(subx
,l
), one(0110610), one(0170770), "-s-d", m68000up
},
2087 {OP2(subx
,w
), one(0110500), one(0170770), "DsDd", m68000up
},
2088 {OP2(subx
,w
), one(0110510), one(0170770), "-s-d", m68000up
},
2089 #ifdef ALLOW_DEFAULT_SIZES
2090 {"subx", one(0110500), one(0170770), "DsDd", m68000up
},
2091 {"subx", one(0110510), one(0170770), "-s-d", m68000up
},
2094 {"swap", one(0044100), one(0177770), "Ds", m68000up
},
2095 #ifdef MOTOROLA_SYNTAX
2096 {OP2(swap
,w
), one(0044100), one(0177770), "Ds", m68000up
},
2099 {"tas", one(0045300), one(0177700), "$s", m68000up
},
2101 #ifdef MOTOROLA_SYNTAX
2102 {"tpcc", one(0047100), one(0177760), "Ts", m68000up
},
2105 {"trap", one(0047100), one(0177760), "Ts", m68000up
},
2108 #ifdef MOTOROLA_SYNTAX
2109 {"tcc", one(0052374), one(0177777), "", m68020up
},
2112 {"trapcc", one(0052374), one(0177777), "", m68020up
},
2113 {"trapcs", one(0052774), one(0177777), "", m68020up
},
2114 {"trapeq", one(0053774), one(0177777), "", m68020up
},
2115 {"trapf", one(0050774), one(0177777), "", m68020up
},
2116 {"trapge", one(0056374), one(0177777), "", m68020up
},
2117 {"trapgt", one(0057374), one(0177777), "", m68020up
},
2118 {"traphi", one(0051374), one(0177777), "", m68020up
},
2119 {"traple", one(0057774), one(0177777), "", m68020up
},
2120 {"trapls", one(0051774), one(0177777), "", m68020up
},
2121 {"traplt", one(0056774), one(0177777), "", m68020up
},
2122 {"trapmi", one(0055774), one(0177777), "", m68020up
},
2123 {"trapne", one(0053374), one(0177777), "", m68020up
},
2124 {"trappl", one(0055374), one(0177777), "", m68020up
},
2125 {"trapt", one(0050374), one(0177777), "", m68020up
},
2126 {"trapvc", one(0054374), one(0177777), "", m68020up
},
2127 {"trapvs", one(0054774), one(0177777), "", m68020up
},
2129 {"trapcc.w", one(0052372), one(0177777), V("","#w"), m68020up
},
2130 {"trapcs.w", one(0052772), one(0177777), V("","#w"), m68020up
},
2131 {"trapeq.w", one(0053772), one(0177777), V("","#w"), m68020up
},
2132 {"trapf.w", one(0050772), one(0177777), V("","#w"), m68020up
},
2133 {"trapge.w", one(0056372), one(0177777), V("","#w"), m68020up
},
2134 {"trapgt.w", one(0057372), one(0177777), V("","#w"), m68020up
},
2135 {"traphi.w", one(0051372), one(0177777), V("","#w"), m68020up
},
2136 {"traple.w", one(0057772), one(0177777), V("","#w"), m68020up
},
2137 {"trapls.w", one(0051772), one(0177777), V("","#w"), m68020up
},
2138 {"traplt.w", one(0056772), one(0177777), V("","#w"), m68020up
},
2139 {"trapmi.w", one(0055772), one(0177777), V("","#w"), m68020up
},
2140 {"trapne.w", one(0053372), one(0177777), V("","#w"), m68020up
},
2141 {"trappl.w", one(0055372), one(0177777), V("","#w"), m68020up
},
2142 {"trapt.w", one(0050372), one(0177777), V("","#w"), m68020up
},
2143 {"trapvc.w", one(0054372), one(0177777), V("","#w"), m68020up
},
2144 {"trapvs.w", one(0054772), one(0177777), V("","#w"), m68020up
},
2146 {"trapcc.l", one(0052373), one(0177777), V("","#l"), m68020up
},
2147 {"trapcs.l", one(0052773), one(0177777), V("","#l"), m68020up
},
2148 {"trapeq.l", one(0053773), one(0177777), V("","#l"), m68020up
},
2149 {"trapf.l", one(0050773), one(0177777), V("","#l"), m68020up
},
2150 {"trapge.l", one(0056373), one(0177777), V("","#l"), m68020up
},
2151 {"trapgt.l", one(0057373), one(0177777), V("","#l"), m68020up
},
2152 {"traphi.l", one(0051373), one(0177777), V("","#l"), m68020up
},
2153 {"traple.l", one(0057773), one(0177777), V("","#l"), m68020up
},
2154 {"trapls.l", one(0051773), one(0177777), V("","#l"), m68020up
},
2155 {"traplt.l", one(0056773), one(0177777), V("","#l"), m68020up
},
2156 {"trapmi.l", one(0055773), one(0177777), V("","#l"), m68020up
},
2157 {"trapne.l", one(0053373), one(0177777), V("","#l"), m68020up
},
2158 {"trappl.l", one(0055373), one(0177777), V("","#l"), m68020up
},
2159 {"trapt.l", one(0050373), one(0177777), V("","#l"), m68020up
},
2160 {"trapvc.l", one(0054373), one(0177777), V("","#l"), m68020up
},
2161 {"trapvs.l", one(0054773), one(0177777), V("","#l"), m68020up
},
2163 {"trapv", one(0047166), one(0177777), "", m68000up
},
2166 {OP2(tst
,b
), one(0045000), one(0177700), ";b", m68000up
},
2167 {OP2(tst
,w
), one(0045100), one(0177700), "*w", m68000up
},
2168 {OP2(tst
,l
), one(0045200), one(0177700), "*l", m68000up
},
2169 #ifdef ALLOW_DEFAULT_SIZES
2170 {"tst", one(0045200), one(0177700), "*l", m68000up
},
2173 {"unlk", one(0047130), one(0177770), "As", m68000up
},
2174 {"unpk", one(0100600), one(0170770), "DsDd#w", m68020up
},
2175 {"unpk", one(0100610), one(0170770), "-s-d#w", m68020up
},
2177 /* Variable-sized branches */
2179 {"jbsr", one(0060400), one(0177400), "Bg", m68000up
},
2180 {"jbsr", one(0047200), one(0177700), "!s", m68000up
},
2181 {"jra", one(0060000), one(0177400), "Bg", m68000up
},
2182 {"jra", one(0047300), one(0177700), "!s", m68000up
},
2184 #ifdef MOTOROLA_SYNTAX
2185 {"jbra", one(0060000), one(0177400), "Bg", m68000up
},
2186 {"jbra", one(0047300), one(0177700), "!s", m68000up
},
2189 {"jhi", one(0061000), one(0177400), "Bg", m68000up
},
2190 {"jls", one(0061400), one(0177400), "Bg", m68000up
},
2191 {"jcc", one(0062000), one(0177400), "Bg", m68000up
},
2192 {"jcs", one(0062400), one(0177400), "Bg", m68000up
},
2193 {"jne", one(0063000), one(0177400), "Bg", m68000up
},
2194 {"jeq", one(0063400), one(0177400), "Bg", m68000up
},
2195 {"jvc", one(0064000), one(0177400), "Bg", m68000up
},
2196 {"jvs", one(0064400), one(0177400), "Bg", m68000up
},
2197 {"jpl", one(0065000), one(0177400), "Bg", m68000up
},
2198 {"jmi", one(0065400), one(0177400), "Bg", m68000up
},
2199 {"jge", one(0066000), one(0177400), "Bg", m68000up
},
2200 {"jlt", one(0066400), one(0177400), "Bg", m68000up
},
2201 {"jgt", one(0067000), one(0177400), "Bg", m68000up
},
2202 {"jle", one(0067400), one(0177400), "Bg", m68000up
},
2205 #ifdef MOTOROLA_SYNTAX
2206 /* Aliases: jbCC is the same as jCC */
2207 {"jbhi", one(0061000), one(0177400), "Bg", m68000up
},
2208 {"jbls", one(0061400), one(0177400), "Bg", m68000up
},
2209 {"jbcc", one(0062000), one(0177400), "Bg", m68000up
},
2210 {"jbcs", one(0062400), one(0177400), "Bg", m68000up
},
2211 {"jbne", one(0063000), one(0177400), "Bg", m68000up
},
2212 {"jbeq", one(0063400), one(0177400), "Bg", m68000up
},
2213 {"jbvc", one(0064000), one(0177400), "Bg", m68000up
},
2214 {"jbvs", one(0064400), one(0177400), "Bg", m68000up
},
2215 {"jbpl", one(0065000), one(0177400), "Bg", m68000up
},
2216 {"jbmi", one(0065400), one(0177400), "Bg", m68000up
},
2217 {"jbge", one(0066000), one(0177400), "Bg", m68000up
},
2218 {"jblt", one(0066400), one(0177400), "Bg", m68000up
},
2219 {"jbgt", one(0067000), one(0177400), "Bg", m68000up
},
2220 {"jble", one(0067400), one(0177400), "Bg", m68000up
},
2221 #endif /* MOTOROLA_SYNTAX */
2225 #ifdef MOTOROLA_SYNTAX
2226 {"move", one(0030000), one(0170000), "*w$d", m68000up
},
2227 {"move", one(0030100), one(0170700), "*wAd", m68000up
}, /* mova, written as mov */
2228 {"move", one(0040300), one(0177700), "Ss$s", m68000up
}, /* Move from sr */
2229 {"move", one(0041300), one(0177700), "Cs$s", m68010up
}, /* Move from ccr */
2230 {"move", one(0042300), one(0177700), ";wCd", m68000up
}, /* mov to ccr */
2231 {"move", one(0043300), one(0177700), ";wSd", m68000up
}, /* mov to sr */
2234 {"move", one(0020000), one(0170000), "*l$d", m68000up
},
2235 {"move", one(0020100), one(0170700), "*lAd", m68000up
},
2236 {"move", one(0070000), one(0170400), "MsDd", m68000up
}, /* movq written as mov */
2237 {"move", one(0047140), one(0177770), "AsUd", m68000up
}, /* mov to USP */
2238 {"move", one(0047150), one(0177770), "UdAs", m68000up
}, /* mov from USP */
2239 #endif /* MOTOROLA_SYNTAX */
2242 {OP2(movq
,l
), one(0070000), one(0170400), "MsDd", m68000up
},
2243 #ifdef MOTOROLA_SYNTAX
2244 {OP2(movq
,l
), one(0020000), one(0170000), "*l$d", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2245 {OP2(movq
,l
), one(0020100), one(0170700), "*lAd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2246 {OP2(movq
,l
), one(0047140), one(0177770), "AsUd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2247 {OP2(movq
,l
), one(0047150), one(0177770), "UdAs", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2249 {OP2(moveq
,l
), one(0070000), one(0170400), "MsDd", m68000up
},
2250 #ifdef MOTOROLA_SYNTAX
2251 {OP2(moveq
,l
), one(0020000), one(0170000), "*l$d", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2252 {OP2(moveq
,l
), one(0020100), one(0170700), "*lAd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2253 {OP2(moveq
,l
), one(0047140), one(0177770), "AsUd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2254 {OP2(moveq
,l
), one(0047150), one(0177770), "UdAs", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2256 {OP2(mova
,l
), one(0020100), one(0170700), "*lAd", m68000up
},
2257 {OP2(mova
,w
), one(0030100), one(0170700), "*wAd", m68000up
},
2258 {OP2(mov
,b
), one(0010000), one(0170000), ";b$d", m68000up
}, /* mov */
2260 {OP2(mov
,l
), one(0070000), one(0170400), "MsDd", m68000up
}, /* movq written as mov */
2261 {OP2(mov
,l
), one(0020000), one(0170000), "*l$d", m68000up
},
2262 {OP2(mov
,l
), one(0020100), one(0170700), "*lAd", m68000up
},
2263 {OP2(mov
,l
), one(0047140), one(0177770), "AsUd", m68000up
}, /* mov to USP */
2264 {OP2(mov
,l
), one(0047150), one(0177770), "UdAs", m68000up
}, /* mov from USP */
2266 {"movc", one(0047173), one(0177777), "R1Jj", m68010up
},
2267 {"movc", one(0047173), one(0177777), "R1#j", m68010up
},
2268 {"movc", one(0047172), one(0177777), "JjR1", m68010up
},
2269 {"movc", one(0047172), one(0177777), "#jR1", m68010up
},
2270 {OP2(movm
,l
), one(0044300), one(0177700), "#w&s", m68000up
}, /* movm reg to mem. */
2271 {OP2(movm
,l
), one(0044340), one(0177770), "#w-s", m68000up
}, /* movm reg to autodecrement. */
2272 {"movml", one(0046300), one(0177700), "!s#w", m68000up
}, /* movm mem to reg. */
2273 {"movml", one(0046330), one(0177770), "+s#w", m68000up
}, /* movm autoinc to reg. */
2274 {"movml", one(0044300), one(0177700), "Lw&s", m68000up
}, /* movm reg to mem. */
2275 {"movml", one(0044340), one(0177770), "lw-s", m68000up
}, /* movm reg to autodecrement. */
2276 {"movml", one(0046300), one(0177700), "!sLw", m68000up
}, /* movm mem to reg. */
2277 {"movml", one(0046330), one(0177770), "+sLw", m68000up
}, /* movm autoinc to reg. */
2278 {OP2(movm
,w
), one(0044200), one(0177700), "#w&s", m68000up
}, /* movm reg to mem. */
2279 {OP2(movm
,w
), one(0044240), one(0177770), "#w-s", m68000up
}, /* movm reg to autodecrement. */
2280 {OP2(movm
,w
), one(0046200), one(0177700), "!s#w", m68000up
}, /* movm mem to reg. */
2281 {OP2(movm
,w
), one(0046230), one(0177770), "+s#w", m68000up
}, /* movm autoinc to reg. */
2282 {OP2(movm
,w
), one(0044200), one(0177700), "Lw&s", m68000up
}, /* movm reg to mem. */
2283 {OP2(movm
,w
), one(0044240), one(0177770), "lw-s", m68000up
}, /* movm reg to autodecrement. */
2284 {OP2(movm
,w
), one(0046200), one(0177700), "!sLw", m68000up
}, /* movm mem to reg. */
2285 {OP2(movm
,w
), one(0046230), one(0177770), "+sLw", m68000up
}, /* movm autoinc to reg. */
2286 {OP2(movp
,l
), one(0000510), one(0170770), "dsDd", m68000up
}, /* memory to register */
2287 {OP2(movp
,l
), one(0000710), one(0170770), "Ddds", m68000up
}, /* register to memory */
2288 {OP2(movp
,w
), one(0000410), one(0170770), "dsDd", m68000up
}, /* memory to register */
2289 {OP2(movp
,w
), one(0000610), one(0170770), "Ddds", m68000up
}, /* register to memory */
2290 {"movq", one(0070000), one(0170400), "MsDd", m68000up
},
2292 #ifdef MOTOROLA_SYNTAX
2293 {"movq", one(0020000), one(0170000), "*l$d", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2294 {"movq", one(0020100), one(0170700), "*lAd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2295 {"movq", one(0047140), one(0177770), "AsUd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2296 {"movq", one(0047150), one(0177770), "UdAs", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2299 {OP2(mov
,w
), one(0030000), one(0170000), "*w$d", m68000up
},
2300 {OP2(mov
,w
), one(0030100), one(0170700), "*wAd", m68000up
}, /* mova, written as mov */
2301 {OP2(mov
,w
), one(0040300), one(0177700), "Ss$s", m68000up
}, /* Move from sr */
2302 {OP2(mov
,w
), one(0041300), one(0177700), "Cs$s", m68010up
}, /* Move from ccr */
2303 {OP2(mov
,w
), one(0042300), one(0177700), ";wCd", m68000up
}, /* mov to ccr */
2304 {OP2(mov
,w
), one(0043300), one(0177700), ";wSd", m68000up
}, /* mov to sr */
2305 {OP2(movs
,b
), two(0007000, 0), two(0177700, 07777), "~sR1", m68010up
},
2306 {OP2(movs
,b
), two(0007000, 04000), two(0177700, 07777), "R1~s", m68010up
},
2307 {OP2(movs
,l
), two(0007200, 0), two(0177700, 07777), "~sR1", m68010up
},
2308 {OP2(movs
,l
), two(0007200, 04000), two(0177700, 07777), "R1~s", m68010up
},
2309 {OP2(movs
,w
), two(0007100, 0), two(0177700, 07777), "~sR1", m68010up
},
2310 {OP2(movs
,w
), two(0007100, 04000), two(0177700, 07777), "R1~s", m68010up
},
2312 #ifdef MOTOROLA_SYNTAX
2313 {OP2(moveq
,l
), one(0070000), one(0170400), "MsDd", m68000up
},
2314 {OP2(moveq
,l
), one(0070000), one(0170400), "MsDd", m68000up
},
2315 {OP2(movea
,l
), one(0020100), one(0170700), "*lAd", m68000up
},
2316 {OP2(movea
,w
), one(0030100), one(0170700), "*wAd", m68000up
},
2317 {OP2(move
,b
), one(0010000), one(0170000), ";b$d", m68000up
}, /* mov */
2318 {OP2(move
,l
), one(0070000), one(0170400), "MsDd", m68000up
}, /* movq written as mov */
2319 {OP2(move
,l
), one(0020000), one(0170000), "*l$d", m68000up
},
2320 {OP2(move
,l
), one(0020100), one(0170700), "*lAd", m68000up
},
2321 {OP2(move
,l
), one(0047140), one(0177770), "AsUd", m68000up
}, /* mov to USP */
2322 {OP2(move
,l
), one(0047150), one(0177770), "UdAs", m68000up
}, /* mov from USP */
2323 {"movec", one(0047173), one(0177777), "R1Jj", m68010up
},
2324 {"movec", one(0047173), one(0177777), "R1#j", m68010up
},
2325 {"movec", one(0047172), one(0177777), "JjR1", m68010up
},
2326 {"movec", one(0047172), one(0177777), "#jR1", m68010up
},
2327 {OP2(movec
,l
), one(0047173), one(0177777), "R1Jj", m68010up
},
2328 {OP2(movec
,l
), one(0047173), one(0177777), "R1#j", m68010up
},
2329 {OP2(movec
,l
), one(0047172), one(0177777), "JjR1", m68010up
},
2330 {OP2(movec
,l
), one(0047172), one(0177777), "#jR1", m68010up
},
2332 {"moveq", one(0070000), one(0170400), "MsDd", m68000up
},
2333 {"moveq", one(0020000), one(0170000), "*l$d", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2334 {"moveq", one(0020100), one(0170700), "*lAd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2335 {"moveq", one(0047140), one(0177770), "AsUd", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2336 {"moveq", one(0047150), one(0177770), "UdAs", m68000up
}, /* FIXNIEL: move instead of movw because too many frags */
2338 #endif /* MOTOROLA_SYNTAX */
2342 int numopcodes
=sizeof(m68k_opcodes
)/sizeof(m68k_opcodes
[0]);
2344 struct m68k_opcode
*endop
= m68k_opcodes
+sizeof(m68k_opcodes
)/sizeof(m68k_opcodes
[0]);
2353 /* end of m68k-opcode.h */
This page took 0.177018 seconds and 4 git commands to generate.