xref: /netbsd-src/external/gpl3/gdb.old/dist/include/opcode/hppa.h (revision 8b657b0747480f8989760d71343d6dd33f8d4cf9)
1a5a4af3bSchristos /* Table of opcodes for the PA-RISC.
2*8b657b07Schristos    Copyright (C) 1990-2022 Free Software Foundation, Inc.
3a5a4af3bSchristos 
4a5a4af3bSchristos    Contributed by the Center for Software Science at the
5a5a4af3bSchristos    University of Utah (pa-gdb-bugs@cs.utah.edu).
6a5a4af3bSchristos 
799e23f81Schristos    This file is part of the GNU opcodes library.
8a5a4af3bSchristos 
9a5a4af3bSchristos    GAS/GDB is free software; you can redistribute it and/or modify
10a5a4af3bSchristos    it under the terms of the GNU General Public License as published by
11a5a4af3bSchristos    the Free Software Foundation; either version 3, or (at your option)
12a5a4af3bSchristos    any later version.
13a5a4af3bSchristos 
14a5a4af3bSchristos    GAS/GDB is distributed in the hope that it will be useful,
15a5a4af3bSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
16a5a4af3bSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17a5a4af3bSchristos    GNU General Public License for more details.
18a5a4af3bSchristos 
19a5a4af3bSchristos    You should have received a copy of the GNU General Public License
20a5a4af3bSchristos    along with GAS or GDB; see the file COPYING3.  If not, write to
21a5a4af3bSchristos    the Free Software Foundation, 51 Franklin Street - Fifth Floor,
22a5a4af3bSchristos    Boston, MA 02110-1301, USA.  */
23a5a4af3bSchristos 
24a5a4af3bSchristos #if !defined(__STDC__) && !defined(const)
25a5a4af3bSchristos #define const
26a5a4af3bSchristos #endif
27a5a4af3bSchristos 
28a5a4af3bSchristos /*
29a5a4af3bSchristos  * Structure of an opcode table entry.
30a5a4af3bSchristos  */
31a5a4af3bSchristos 
32a5a4af3bSchristos /* There are two kinds of delay slot nullification: normal which is
33a5a4af3bSchristos  * controled by the nullification bit, and conditional, which depends
34a5a4af3bSchristos  * on the direction of the branch and its success or failure.
35a5a4af3bSchristos  *
36a5a4af3bSchristos  * NONE is unfortunately #defined in the hiux system include files.
37a5a4af3bSchristos  * #undef it away.
38a5a4af3bSchristos  */
39a5a4af3bSchristos #undef NONE
40a5a4af3bSchristos struct pa_opcode
41a5a4af3bSchristos {
42a5a4af3bSchristos     const char *name;
43a5a4af3bSchristos     unsigned long int match;	/* Bits that must be set...  */
44a5a4af3bSchristos     unsigned long int mask;	/* ... in these bits. */
45e5cb852cSchristos     const char *args;
46a5a4af3bSchristos     enum pa_arch arch;
47a5a4af3bSchristos     char flags;
48a5a4af3bSchristos };
49a5a4af3bSchristos 
50a5a4af3bSchristos /* Enables strict matching.  Opcodes with match errors are skipped
51a5a4af3bSchristos    when this bit is set.  */
52a5a4af3bSchristos #define FLAG_STRICT 0x1
53a5a4af3bSchristos 
54a5a4af3bSchristos /*
55a5a4af3bSchristos    All hppa opcodes are 32 bits.
56a5a4af3bSchristos 
57a5a4af3bSchristos    The match component is a mask saying which bits must match a
58a5a4af3bSchristos    particular opcode in order for an instruction to be an instance
59a5a4af3bSchristos    of that opcode.
60a5a4af3bSchristos 
61a5a4af3bSchristos    The args component is a string containing one character for each operand of
62a5a4af3bSchristos    the instruction.  Characters used as a prefix allow any second character to
63a5a4af3bSchristos    be used without conflicting with the main operand characters.
64a5a4af3bSchristos 
65a5a4af3bSchristos    Bit positions in this description follow HP usage of lsb = 31,
66a5a4af3bSchristos    "at" is lsb of field.
67a5a4af3bSchristos 
68a5a4af3bSchristos    In the args field, the following characters must match exactly:
69a5a4af3bSchristos 
70a5a4af3bSchristos 	'+,() '
71a5a4af3bSchristos 
72a5a4af3bSchristos    In the args field, the following characters are unused:
73a5a4af3bSchristos 
74a5a4af3bSchristos 	'  "         -  /   34 6789:;    '
75a5a4af3bSchristos 	'@  C         M             [\]  '
76a5a4af3bSchristos 	'`    e g                     }  '
77a5a4af3bSchristos 
78a5a4af3bSchristos    Here are all the characters:
79a5a4af3bSchristos 
80a5a4af3bSchristos 	' !"#$%&'()*+-,./0123456789:;<=>?'
81a5a4af3bSchristos 	'@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
82a5a4af3bSchristos 	'`abcdefghijklmnopqrstuvwxyz{|}~ '
83a5a4af3bSchristos 
84a5a4af3bSchristos Kinds of operands:
85a5a4af3bSchristos    x    integer register field at 15.
86a5a4af3bSchristos    b    integer register field at 10.
87a5a4af3bSchristos    t    integer register field at 31.
88a5a4af3bSchristos    a	integer register field at 10 and 15 (for PERMH)
89a5a4af3bSchristos    5    5 bit immediate at 15.
90a5a4af3bSchristos    s    2 bit space specifier at 17.
91a5a4af3bSchristos    S    3 bit space specifier at 18.
92a5a4af3bSchristos    V    5 bit immediate value at 31
93a5a4af3bSchristos    i    11 bit immediate value at 31
94a5a4af3bSchristos    j    14 bit immediate value at 31
95a5a4af3bSchristos    k    21 bit immediate value at 31
96a5a4af3bSchristos    l    16 bit immediate value at 31 (wide mode only, unusual encoding).
97a5a4af3bSchristos    n	nullification for branch instructions
98a5a4af3bSchristos    N	nullification for spop and copr instructions
99a5a4af3bSchristos    w    12 bit branch displacement
100a5a4af3bSchristos    W    17 bit branch displacement (PC relative)
101a5a4af3bSchristos    X    22 bit branch displacement (PC relative)
102a5a4af3bSchristos    z    17 bit branch displacement (just a number, not an address)
103a5a4af3bSchristos 
104a5a4af3bSchristos Also these:
105a5a4af3bSchristos 
106a5a4af3bSchristos    .    2 bit shift amount at 25
107a5a4af3bSchristos    *    4 bit shift amount at 25
108a5a4af3bSchristos    p    5 bit shift count at 26 (to support the SHD instruction) encoded as
109a5a4af3bSchristos         31-p
110a5a4af3bSchristos    ~    6 bit shift count at 20,22:26 encoded as 63-~.
111a5a4af3bSchristos    P    5 bit bit position at 26
112a5a4af3bSchristos    q    6 bit bit position at 20,22:26
113a5a4af3bSchristos    T    5 bit field length at 31 (encoded as 32-T)
114a5a4af3bSchristos    %	6 bit field length at 23,27:31 (variable extract/deposit)
115a5a4af3bSchristos    |	6 bit field length at 19,27:31 (fixed extract/deposit)
116a5a4af3bSchristos    A    13 bit immediate at 18 (to support the BREAK instruction)
117a5a4af3bSchristos    ^	like b, but describes a control register
118a5a4af3bSchristos    !    sar (cr11) register
119a5a4af3bSchristos    D    26 bit immediate at 31 (to support the DIAG instruction)
120a5a4af3bSchristos    $    9 bit immediate at 28 (to support POPBTS)
121a5a4af3bSchristos 
122a5a4af3bSchristos    v    3 bit Special Function Unit identifier at 25
123a5a4af3bSchristos    O    20 bit Special Function Unit operation split between 15 bits at 20
124a5a4af3bSchristos         and 5 bits at 31
125a5a4af3bSchristos    o    15 bit Special Function Unit operation at 20
126a5a4af3bSchristos    2    22 bit Special Function Unit operation split between 17 bits at 20
127a5a4af3bSchristos         and 5 bits at 31
128a5a4af3bSchristos    1    15 bit Special Function Unit operation split between 10 bits at 20
129a5a4af3bSchristos         and 5 bits at 31
130a5a4af3bSchristos    0    10 bit Special Function Unit operation split between 5 bits at 20
131a5a4af3bSchristos         and 5 bits at 31
132a5a4af3bSchristos    u    3 bit coprocessor unit identifier at 25
133a5a4af3bSchristos    F    Source Floating Point Operand Format Completer encoded 2 bits at 20
134a5a4af3bSchristos    I    Source Floating Point Operand Format Completer encoded 1 bits at 20
135a5a4af3bSchristos 	(for 0xe format FP instructions)
136a5a4af3bSchristos    G    Destination Floating Point Operand Format Completer encoded 2 bits at 18
137a5a4af3bSchristos    H    Floating Point Operand Format at 26 for 'fmpyadd' and 'fmpysub'
138a5a4af3bSchristos         (very similar to 'F')
139a5a4af3bSchristos 
140a5a4af3bSchristos    r	5 bit immediate value at 31 (for the break instruction)
141a5a4af3bSchristos 	(very similar to V above, except the value is unsigned instead of
142a5a4af3bSchristos 	low_sign_ext)
143a5a4af3bSchristos    R	5 bit immediate value at 15 (for the ssm, rsm, probei instructions)
144a5a4af3bSchristos 	(same as r above, except the value is in a different location)
145a5a4af3bSchristos    U	10 bit immediate value at 15 (for SSM, RSM on pa2.0)
146a5a4af3bSchristos    Q	5 bit immediate value at 10 (a bit position specified in
147a5a4af3bSchristos 	the bb instruction. It's the same as r above, except the
148a5a4af3bSchristos         value is in a different location)
149a5a4af3bSchristos    B	5 bit immediate value at 10 (a bit position specified in
150a5a4af3bSchristos 	the bb instruction. Similar to Q, but 64 bit handling is
151a5a4af3bSchristos 	different.
152a5a4af3bSchristos    Z    %r1 -- implicit target of addil instruction.
153a5a4af3bSchristos    L    ,%r2 completer for new syntax branch
154a5a4af3bSchristos    {    Source format completer for fcnv
155a5a4af3bSchristos    _    Destination format completer for fcnv
156a5a4af3bSchristos    h    cbit for fcmp
157a5a4af3bSchristos    =    gfx tests for ftest
158a5a4af3bSchristos    d    14 bit offset for single precision FP long load/store.
159a5a4af3bSchristos    #    14 bit offset for double precision FP load long/store.
160a5a4af3bSchristos    J    Yet another 14 bit offset for load/store with ma,mb completers.
161a5a4af3bSchristos    K    Yet another 14 bit offset for load/store with ma,mb completers.
162a5a4af3bSchristos    y    16 bit offset for word aligned load/store (PA2.0 wide).
163a5a4af3bSchristos    &    16 bit offset for dword aligned load/store (PA2.0 wide).
164a5a4af3bSchristos    <    16 bit offset for load/store with ma,mb completers (PA2.0 wide).
165a5a4af3bSchristos    >    16 bit offset for load/store with ma,mb completers (PA2.0 wide).
166a5a4af3bSchristos    Y    %sr0,%r31 -- implicit target of be,l instruction.
167a5a4af3bSchristos    @	implicit immediate value of 0
168a5a4af3bSchristos 
169a5a4af3bSchristos Completer operands all have 'c' as the prefix:
170a5a4af3bSchristos 
171a5a4af3bSchristos    cx   indexed load and store completer.
172a5a4af3bSchristos    cX   indexed load and store completer.  Like cx, but emits a space
173a5a4af3bSchristos 	after in disassembler.
174a5a4af3bSchristos    cm   short load and store completer.
175a5a4af3bSchristos    cM   short load and store completer.  Like cm, but emits a space
176a5a4af3bSchristos         after in disassembler.
177a5a4af3bSchristos    cq   long load and store completer (like cm, but inserted into a
178a5a4af3bSchristos 	different location in the target instruction).
179a5a4af3bSchristos    cs   store bytes short completer.
180a5a4af3bSchristos    cA   store bytes short completer.  Like cs, but emits a space
181a5a4af3bSchristos         after in disassembler.
182a5a4af3bSchristos    ce   long load/store completer for LDW/STW with a different encoding
183a5a4af3bSchristos 	than the others
184a5a4af3bSchristos    cc   load cache control hint
185a5a4af3bSchristos    cd   load and clear cache control hint
186a5a4af3bSchristos    cC   store cache control hint
187a5a4af3bSchristos    co	ordered access
188a5a4af3bSchristos 
189a5a4af3bSchristos    cp	branch link and push completer
190a5a4af3bSchristos    cP	branch pop completer
191a5a4af3bSchristos    cl	branch link completer
192a5a4af3bSchristos    cg	branch gate completer
193a5a4af3bSchristos 
194a5a4af3bSchristos    cw	read/write completer for PROBE
195a5a4af3bSchristos    cW	wide completer for MFCTL
196a5a4af3bSchristos    cL	local processor completer for cache control
197a5a4af3bSchristos    cZ   System Control Completer (to support LPA, LHA, etc.)
198a5a4af3bSchristos 
199a5a4af3bSchristos    ci	correction completer for DCOR
200a5a4af3bSchristos    ca	add completer
201a5a4af3bSchristos    cy	32 bit add carry completer
202a5a4af3bSchristos    cY	64 bit add carry completer
203a5a4af3bSchristos    cv	signed overflow trap completer
204a5a4af3bSchristos    ct	trap on condition completer for ADDI, SUB
205a5a4af3bSchristos    cT	trap on condition completer for UADDCM
206a5a4af3bSchristos    cb	32 bit borrow completer for SUB
207a5a4af3bSchristos    cB	64 bit borrow completer for SUB
208a5a4af3bSchristos 
209a5a4af3bSchristos    ch	left/right half completer
210a5a4af3bSchristos    cH	signed/unsigned saturation completer
211a5a4af3bSchristos    cS	signed/unsigned completer at 21
212a5a4af3bSchristos    cz	zero/sign extension completer.
213a5a4af3bSchristos    c*	permutation completer
214a5a4af3bSchristos 
215a5a4af3bSchristos Condition operands all have '?' as the prefix:
216a5a4af3bSchristos 
217a5a4af3bSchristos    ?f   Floating point compare conditions (encoded as 5 bits at 31)
218a5a4af3bSchristos 
219a5a4af3bSchristos    ?a	add conditions
220a5a4af3bSchristos    ?A	64 bit add conditions
221a5a4af3bSchristos    ?@   add branch conditions followed by nullify
222a5a4af3bSchristos    ?d	non-negated add branch conditions
223a5a4af3bSchristos    ?D	negated add branch conditions
224a5a4af3bSchristos    ?w	wide mode non-negated add branch conditions
225a5a4af3bSchristos    ?W	wide mode negated add branch conditions
226a5a4af3bSchristos 
227a5a4af3bSchristos    ?s   compare/subtract conditions
228a5a4af3bSchristos    ?S	64 bit compare/subtract conditions
229a5a4af3bSchristos    ?t   non-negated compare and branch conditions
230a5a4af3bSchristos    ?n   32 bit compare and branch conditions followed by nullify
231a5a4af3bSchristos    ?N   64 bit compare and branch conditions followed by nullify
232a5a4af3bSchristos    ?Q	64 bit compare and branch conditions for CMPIB instruction
233a5a4af3bSchristos 
234a5a4af3bSchristos    ?l   logical conditions
235a5a4af3bSchristos    ?L	64 bit logical conditions
236a5a4af3bSchristos 
237a5a4af3bSchristos    ?b   branch on bit conditions
238a5a4af3bSchristos    ?B	64 bit branch on bit conditions
239a5a4af3bSchristos 
240a5a4af3bSchristos    ?x   shift/extract/deposit conditions
241a5a4af3bSchristos    ?X	64 bit shift/extract/deposit conditions
242a5a4af3bSchristos    ?y   shift/extract/deposit conditions followed by nullify for conditional
243a5a4af3bSchristos         branches
244a5a4af3bSchristos 
245a5a4af3bSchristos    ?u   unit conditions
246a5a4af3bSchristos    ?U   64 bit unit conditions
247a5a4af3bSchristos 
248a5a4af3bSchristos Floating point registers all have 'f' as a prefix:
249a5a4af3bSchristos 
250a5a4af3bSchristos    ft	target register at 31
251a5a4af3bSchristos    fT	target register with L/R halves at 31
252a5a4af3bSchristos    fa	operand 1 register at 10
253a5a4af3bSchristos    fA   operand 1 register with L/R halves at 10
254a5a4af3bSchristos    fX   Same as fA, except prints a space before register during disasm
255a5a4af3bSchristos    fb	operand 2 register at 15
256a5a4af3bSchristos    fB   operand 2 register with L/R halves at 15
257a5a4af3bSchristos    fC   operand 3 register with L/R halves at 16:18,21:23
258a5a4af3bSchristos    fe   Like fT, but encoding is different.
259a5a4af3bSchristos    fE   Same as fe, except prints a space before register during disasm.
260a5a4af3bSchristos    fx	target register at 15 (only for PA 2.0 long format FLDD/FSTD).
261a5a4af3bSchristos 
262a5a4af3bSchristos Float registers for fmpyadd and fmpysub:
263a5a4af3bSchristos 
264a5a4af3bSchristos    fi	mult operand 1 register at 10
265a5a4af3bSchristos    fj	mult operand 2 register at 15
266a5a4af3bSchristos    fk	mult target register at 20
267a5a4af3bSchristos    fl	add/sub operand register at 25
268a5a4af3bSchristos    fm	add/sub target register at 31
269a5a4af3bSchristos 
270a5a4af3bSchristos */
271a5a4af3bSchristos 
272a5a4af3bSchristos 
273a5a4af3bSchristos #if 0
274a5a4af3bSchristos /* List of characters not to put a space after.  Note that
275a5a4af3bSchristos    "," is included, as the "spopN" operations use literal
276a5a4af3bSchristos    commas in their completer sections.  */
277a5a4af3bSchristos static const char *const completer_chars = ",CcY<>?!@+&U~FfGHINnOoZMadu|/=0123%e$m}";
278a5a4af3bSchristos #endif
279a5a4af3bSchristos 
280a5a4af3bSchristos /* The order of the opcodes in this table is significant:
281a5a4af3bSchristos 
282a5a4af3bSchristos    * The assembler requires that all instances of the same mnemonic be
283a5a4af3bSchristos      consecutive.  If they aren't, the assembler will bomb at runtime.
284a5a4af3bSchristos 
285a5a4af3bSchristos    * Immediate fields use pa_get_absolute_expression to parse the
286a5a4af3bSchristos      string.  It will generate a "bad expression" error if passed
287a5a4af3bSchristos      a register name.  Thus, register index variants of an opcode
288a5a4af3bSchristos      need to precede immediate variants.
289a5a4af3bSchristos 
290a5a4af3bSchristos    * The disassembler does not care about the order of the opcodes
291a5a4af3bSchristos      except in cases where implicit addressing is used.
292a5a4af3bSchristos 
293a5a4af3bSchristos    Here are the rules for ordering the opcodes of a mnemonic:
294a5a4af3bSchristos 
295a5a4af3bSchristos    1) Opcodes with FLAG_STRICT should precede opcodes without
296a5a4af3bSchristos       FLAG_STRICT.
297a5a4af3bSchristos 
298a5a4af3bSchristos    2) Opcodes with FLAG_STRICT should be ordered as follows:
299a5a4af3bSchristos       register index opcodes, short immediate opcodes, and finally
300a5a4af3bSchristos       long immediate opcodes.  When both pa10 and pa11 variants
301a5a4af3bSchristos       of the same opcode are available, the pa10 opcode should
302a5a4af3bSchristos       come first for correct architectural promotion.
303a5a4af3bSchristos 
304a5a4af3bSchristos    3) When implicit addressing is available for an opcode, the
305a5a4af3bSchristos       implicit opcode should precede the explicit opcode.
306a5a4af3bSchristos 
307a5a4af3bSchristos    4) Opcodes without FLAG_STRICT should be ordered as follows:
308a5a4af3bSchristos       register index opcodes, long immediate opcodes, and finally
309a5a4af3bSchristos       short immediate opcodes.  */
310a5a4af3bSchristos 
311a5a4af3bSchristos static const struct pa_opcode pa_opcodes[] =
312a5a4af3bSchristos {
313a5a4af3bSchristos 
314a5a4af3bSchristos /* Pseudo-instructions.  */
315a5a4af3bSchristos 
316a5a4af3bSchristos { "ldi",	0x34000000, 0xffe00000, "l,x", pa20w, 0},/* ldo val(r0),r */
317a5a4af3bSchristos { "ldi",	0x34000000, 0xffe0c000, "j,x", pa10, 0},/* ldo val(r0),r */
318a5a4af3bSchristos 
319a5a4af3bSchristos { "cmpib",	0xec000000, 0xfc000000, "?Qn5,b,w", pa20, FLAG_STRICT},
320a5a4af3bSchristos { "cmpib", 	0x84000000, 0xf4000000, "?nn5,b,w", pa10, FLAG_STRICT},
321a5a4af3bSchristos { "comib", 	0x84000000, 0xfc000000, "?nn5,b,w", pa10, 0}, /* comib{tf}*/
322a5a4af3bSchristos /* This entry is for the disassembler only.  It will never be used by
323a5a4af3bSchristos    assembler.  */
324a5a4af3bSchristos { "comib", 	0x8c000000, 0xfc000000, "?nn5,b,w", pa10, 0}, /* comib{tf}*/
325a5a4af3bSchristos { "cmpb",	0x9c000000, 0xdc000000, "?Nnx,b,w", pa20, FLAG_STRICT},
326a5a4af3bSchristos { "cmpb",	0x80000000, 0xf4000000, "?nnx,b,w", pa10, FLAG_STRICT},
327a5a4af3bSchristos { "comb",	0x80000000, 0xfc000000, "?nnx,b,w", pa10, 0}, /* comb{tf} */
328a5a4af3bSchristos /* This entry is for the disassembler only.  It will never be used by
329a5a4af3bSchristos    assembler.  */
330a5a4af3bSchristos { "comb",	0x88000000, 0xfc000000, "?nnx,b,w", pa10, 0}, /* comb{tf} */
331a5a4af3bSchristos { "addb",	0xa0000000, 0xf4000000, "?Wnx,b,w", pa20w, FLAG_STRICT},
332a5a4af3bSchristos { "addb",	0xa0000000, 0xfc000000, "?@nx,b,w", pa10, 0}, /* addb{tf} */
333a5a4af3bSchristos /* This entry is for the disassembler only.  It will never be used by
334a5a4af3bSchristos    assembler.  */
335a5a4af3bSchristos { "addb",	0xa8000000, 0xfc000000, "?@nx,b,w", pa10, 0},
336a5a4af3bSchristos { "addib",	0xa4000000, 0xf4000000, "?Wn5,b,w", pa20w, FLAG_STRICT},
337a5a4af3bSchristos { "addib",	0xa4000000, 0xfc000000, "?@n5,b,w", pa10, 0}, /* addib{tf}*/
338a5a4af3bSchristos /* This entry is for the disassembler only.  It will never be used by
339a5a4af3bSchristos    assembler.  */
340a5a4af3bSchristos { "addib",	0xac000000, 0xfc000000, "?@n5,b,w", pa10, 0}, /* addib{tf}*/
341a5a4af3bSchristos { "nop",	0x08000240, 0xffffffff, "", pa10, 0},      /* or 0,0,0 */
342a5a4af3bSchristos { "copy",	0x08000240, 0xffe0ffe0, "x,t", pa10, 0},   /* or r,0,t */
343a5a4af3bSchristos { "mtsar",	0x01601840, 0xffe0ffff, "x", pa10, 0}, /* mtctl r,cr11 */
344a5a4af3bSchristos 
345a5a4af3bSchristos /* Loads and Stores for integer registers.  */
346a5a4af3bSchristos 
347a5a4af3bSchristos { "ldd",	0x0c0000c0, 0xfc00d3c0, "cxccx(b),t", pa20, FLAG_STRICT},
348a5a4af3bSchristos { "ldd",	0x0c0000c0, 0xfc0013c0, "cxccx(s,b),t", pa20, FLAG_STRICT},
349a5a4af3bSchristos { "ldd",	0x0c0010e0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
350a5a4af3bSchristos { "ldd",	0x0c0010e0, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
351a5a4af3bSchristos { "ldd",	0x0c0010c0, 0xfc00d3c0, "cmcc5(b),t", pa20, FLAG_STRICT},
352a5a4af3bSchristos { "ldd",	0x0c0010c0, 0xfc0013c0, "cmcc5(s,b),t", pa20, FLAG_STRICT},
353a5a4af3bSchristos { "ldd",	0x50000000, 0xfc000002, "cq&(b),x", pa20w, FLAG_STRICT},
354a5a4af3bSchristos { "ldd",	0x50000000, 0xfc00c002, "cq#(b),x", pa20, FLAG_STRICT},
355a5a4af3bSchristos { "ldd",	0x50000000, 0xfc000002, "cq#(s,b),x", pa20, FLAG_STRICT},
356a5a4af3bSchristos { "ldw",	0x0c000080, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
357a5a4af3bSchristos { "ldw",	0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
358a5a4af3bSchristos { "ldw",	0x0c000080, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
359a5a4af3bSchristos { "ldw",	0x0c000080, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
360a5a4af3bSchristos { "ldw",	0x0c0010a0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
361a5a4af3bSchristos { "ldw",	0x0c0010a0, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
362a5a4af3bSchristos { "ldw",	0x0c001080, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
363a5a4af3bSchristos { "ldw",	0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
364a5a4af3bSchristos { "ldw",	0x0c001080, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
365a5a4af3bSchristos { "ldw",	0x0c001080, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
366a5a4af3bSchristos { "ldw",	0x4c000000, 0xfc000000, "ce<(b),x", pa20w, FLAG_STRICT},
367a5a4af3bSchristos { "ldw",	0x5c000004, 0xfc000006, "ce>(b),x", pa20w, FLAG_STRICT},
368a5a4af3bSchristos { "ldw",	0x48000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT},
369a5a4af3bSchristos { "ldw",	0x5c000004, 0xfc00c006, "ceK(b),x", pa20, FLAG_STRICT},
370a5a4af3bSchristos { "ldw",	0x5c000004, 0xfc000006, "ceK(s,b),x", pa20, FLAG_STRICT},
371a5a4af3bSchristos { "ldw",	0x4c000000, 0xfc00c000, "ceJ(b),x", pa10, FLAG_STRICT},
372a5a4af3bSchristos { "ldw",	0x4c000000, 0xfc000000, "ceJ(s,b),x", pa10, FLAG_STRICT},
373a5a4af3bSchristos { "ldw",	0x48000000, 0xfc00c000, "j(b),x", pa10, 0},
374a5a4af3bSchristos { "ldw",	0x48000000, 0xfc000000, "j(s,b),x", pa10, 0},
375a5a4af3bSchristos { "ldh",	0x0c000040, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
376a5a4af3bSchristos { "ldh",	0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
377a5a4af3bSchristos { "ldh",	0x0c000040, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
378a5a4af3bSchristos { "ldh",	0x0c000040, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
379a5a4af3bSchristos { "ldh",	0x0c001060, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
380a5a4af3bSchristos { "ldh",	0x0c001060, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
381a5a4af3bSchristos { "ldh",	0x0c001040, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
382a5a4af3bSchristos { "ldh",	0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
383a5a4af3bSchristos { "ldh",	0x0c001040, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
384a5a4af3bSchristos { "ldh",	0x0c001040, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
385a5a4af3bSchristos { "ldh",	0x44000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT},
386a5a4af3bSchristos { "ldh",	0x44000000, 0xfc00c000, "j(b),x", pa10, 0},
387a5a4af3bSchristos { "ldh",	0x44000000, 0xfc000000, "j(s,b),x", pa10, 0},
388a5a4af3bSchristos { "ldb",	0x0c000000, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
389a5a4af3bSchristos { "ldb",	0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
390a5a4af3bSchristos { "ldb",	0x0c000000, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
391a5a4af3bSchristos { "ldb",	0x0c000000, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
392a5a4af3bSchristos { "ldb",	0x0c001020, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
393a5a4af3bSchristos { "ldb",	0x0c001020, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
394a5a4af3bSchristos { "ldb",	0x0c001000, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
395a5a4af3bSchristos { "ldb",	0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
396a5a4af3bSchristos { "ldb",	0x0c001000, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
397a5a4af3bSchristos { "ldb",	0x0c001000, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
398a5a4af3bSchristos { "ldb",	0x40000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT},
399a5a4af3bSchristos { "ldb",	0x40000000, 0xfc00c000, "j(b),x", pa10, 0},
400a5a4af3bSchristos { "ldb",	0x40000000, 0xfc000000, "j(s,b),x", pa10, 0},
401a5a4af3bSchristos { "std",	0x0c0012e0, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
402a5a4af3bSchristos { "std",	0x0c0012e0, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
403a5a4af3bSchristos { "std",	0x0c0012c0, 0xfc00d3c0, "cmcCx,V(b)", pa20, FLAG_STRICT},
404a5a4af3bSchristos { "std",	0x0c0012c0, 0xfc0013c0, "cmcCx,V(s,b)", pa20, FLAG_STRICT},
405a5a4af3bSchristos { "std",	0x70000000, 0xfc000002, "cqx,&(b)", pa20w, FLAG_STRICT},
406a5a4af3bSchristos { "std",	0x70000000, 0xfc00c002, "cqx,#(b)", pa20, FLAG_STRICT},
407a5a4af3bSchristos { "std",	0x70000000, 0xfc000002, "cqx,#(s,b)", pa20, FLAG_STRICT},
408a5a4af3bSchristos { "stw",	0x0c0012a0, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
409a5a4af3bSchristos { "stw",	0x0c0012a0, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
410a5a4af3bSchristos { "stw",	0x0c001280, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
411a5a4af3bSchristos { "stw",	0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
412a5a4af3bSchristos { "stw",	0x0c001280, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
413a5a4af3bSchristos { "stw",	0x0c001280, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
414a5a4af3bSchristos { "stw",	0x6c000000, 0xfc000000, "cex,<(b)", pa20w, FLAG_STRICT},
415a5a4af3bSchristos { "stw",	0x7c000004, 0xfc000006, "cex,>(b)", pa20w, FLAG_STRICT},
416a5a4af3bSchristos { "stw",	0x68000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT},
417a5a4af3bSchristos { "stw",	0x7c000004, 0xfc00c006, "cex,K(b)", pa20, FLAG_STRICT},
418a5a4af3bSchristos { "stw",	0x7c000004, 0xfc000006, "cex,K(s,b)", pa20, FLAG_STRICT},
419a5a4af3bSchristos { "stw",	0x6c000000, 0xfc00c000, "cex,J(b)", pa10, FLAG_STRICT},
420a5a4af3bSchristos { "stw",	0x6c000000, 0xfc000000, "cex,J(s,b)", pa10, FLAG_STRICT},
421a5a4af3bSchristos { "stw",	0x68000000, 0xfc00c000, "x,j(b)", pa10, 0},
422a5a4af3bSchristos { "stw",	0x68000000, 0xfc000000, "x,j(s,b)", pa10, 0},
423a5a4af3bSchristos { "sth",	0x0c001260, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
424a5a4af3bSchristos { "sth",	0x0c001260, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
425a5a4af3bSchristos { "sth",	0x0c001240, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
426a5a4af3bSchristos { "sth",	0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
427a5a4af3bSchristos { "sth",	0x0c001240, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
428a5a4af3bSchristos { "sth",	0x0c001240, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
429a5a4af3bSchristos { "sth",	0x64000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT},
430a5a4af3bSchristos { "sth",	0x64000000, 0xfc00c000, "x,j(b)", pa10, 0},
431a5a4af3bSchristos { "sth",	0x64000000, 0xfc000000, "x,j(s,b)", pa10, 0},
432a5a4af3bSchristos { "stb",	0x0c001220, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
433a5a4af3bSchristos { "stb",	0x0c001220, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
434a5a4af3bSchristos { "stb",	0x0c001200, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
435a5a4af3bSchristos { "stb",	0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
436a5a4af3bSchristos { "stb",	0x0c001200, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
437a5a4af3bSchristos { "stb",	0x0c001200, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
438a5a4af3bSchristos { "stb",	0x60000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT},
439a5a4af3bSchristos { "stb",	0x60000000, 0xfc00c000, "x,j(b)", pa10, 0},
440a5a4af3bSchristos { "stb",	0x60000000, 0xfc000000, "x,j(s,b)", pa10, 0},
441a5a4af3bSchristos { "ldwm",	0x4c000000, 0xfc00c000, "j(b),x", pa10, 0},
442a5a4af3bSchristos { "ldwm",	0x4c000000, 0xfc000000, "j(s,b),x", pa10, 0},
443a5a4af3bSchristos { "stwm",	0x6c000000, 0xfc00c000, "x,j(b)", pa10, 0},
444a5a4af3bSchristos { "stwm",	0x6c000000, 0xfc000000, "x,j(s,b)", pa10, 0},
445a5a4af3bSchristos { "ldwx",	0x0c000080, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
446a5a4af3bSchristos { "ldwx",	0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
447a5a4af3bSchristos { "ldwx",	0x0c000080, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
448a5a4af3bSchristos { "ldwx",	0x0c000080, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
449a5a4af3bSchristos { "ldwx",	0x0c000080, 0xfc00dfc0, "cXx(b),t", pa10, 0},
450a5a4af3bSchristos { "ldwx",	0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
451a5a4af3bSchristos { "ldhx",	0x0c000040, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
452a5a4af3bSchristos { "ldhx",	0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
453a5a4af3bSchristos { "ldhx",	0x0c000040, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
454a5a4af3bSchristos { "ldhx",	0x0c000040, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
455a5a4af3bSchristos { "ldhx",	0x0c000040, 0xfc00dfc0, "cXx(b),t", pa10, 0},
456a5a4af3bSchristos { "ldhx",	0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
457a5a4af3bSchristos { "ldbx",	0x0c000000, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
458a5a4af3bSchristos { "ldbx",	0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
459a5a4af3bSchristos { "ldbx",	0x0c000000, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
460a5a4af3bSchristos { "ldbx",	0x0c000000, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
461a5a4af3bSchristos { "ldbx",	0x0c000000, 0xfc00dfc0, "cXx(b),t", pa10, 0},
462a5a4af3bSchristos { "ldbx",	0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
463a5a4af3bSchristos { "ldwa",	0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
464a5a4af3bSchristos { "ldwa",	0x0c000180, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
465a5a4af3bSchristos { "ldwa",	0x0c0011a0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
466a5a4af3bSchristos { "ldwa",	0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
467a5a4af3bSchristos { "ldwa",	0x0c001180, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
468a5a4af3bSchristos { "ldcw",	0x0c0001c0, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
469a5a4af3bSchristos { "ldcw",	0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
470a5a4af3bSchristos { "ldcw",	0x0c0001c0, 0xfc00d3c0, "cxcdx(b),t", pa11, FLAG_STRICT},
471a5a4af3bSchristos { "ldcw",	0x0c0001c0, 0xfc0013c0, "cxcdx(s,b),t", pa11, FLAG_STRICT},
472a5a4af3bSchristos { "ldcw",	0x0c0011c0, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
473a5a4af3bSchristos { "ldcw",	0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
474a5a4af3bSchristos { "ldcw",	0x0c0011c0, 0xfc00d3c0, "cmcd5(b),t", pa11, FLAG_STRICT},
475a5a4af3bSchristos { "ldcw",	0x0c0011c0, 0xfc0013c0, "cmcd5(s,b),t", pa11, FLAG_STRICT},
476a5a4af3bSchristos { "stwa",	0x0c0013a0, 0xfc00d3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
477a5a4af3bSchristos { "stwa",	0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
478a5a4af3bSchristos { "stwa",	0x0c001380, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
479a5a4af3bSchristos { "stby",	0x0c001300, 0xfc00dfc0, "cAx,V(b)", pa10, FLAG_STRICT},
480a5a4af3bSchristos { "stby",	0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, FLAG_STRICT},
481a5a4af3bSchristos { "stby",	0x0c001300, 0xfc00d3c0, "cscCx,V(b)", pa11, FLAG_STRICT},
482a5a4af3bSchristos { "stby",	0x0c001300, 0xfc0013c0, "cscCx,V(s,b)", pa11, FLAG_STRICT},
483a5a4af3bSchristos { "ldda",	0x0c000100, 0xfc00d3c0, "cxccx(b),t", pa20, FLAG_STRICT},
484a5a4af3bSchristos { "ldda",	0x0c001120, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
485a5a4af3bSchristos { "ldda",	0x0c001100, 0xfc00d3c0, "cmcc5(b),t", pa20, FLAG_STRICT},
486a5a4af3bSchristos { "ldcd",	0x0c000140, 0xfc00d3c0, "cxcdx(b),t", pa20, FLAG_STRICT},
487a5a4af3bSchristos { "ldcd",	0x0c000140, 0xfc0013c0, "cxcdx(s,b),t", pa20, FLAG_STRICT},
488a5a4af3bSchristos { "ldcd",	0x0c001140, 0xfc00d3c0, "cmcd5(b),t", pa20, FLAG_STRICT},
489a5a4af3bSchristos { "ldcd",	0x0c001140, 0xfc0013c0, "cmcd5(s,b),t", pa20, FLAG_STRICT},
490a5a4af3bSchristos { "stda",	0x0c0013e0, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
491a5a4af3bSchristos { "stda",	0x0c0013c0, 0xfc00d3c0, "cmcCx,V(b)", pa20, FLAG_STRICT},
492a5a4af3bSchristos { "ldwax",	0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
493a5a4af3bSchristos { "ldwax",	0x0c000180, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
494a5a4af3bSchristos { "ldwax",	0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, 0},
495a5a4af3bSchristos { "ldcwx",	0x0c0001c0, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
496a5a4af3bSchristos { "ldcwx",	0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
497a5a4af3bSchristos { "ldcwx",	0x0c0001c0, 0xfc00d3c0, "cxcdx(b),t", pa11, FLAG_STRICT},
498a5a4af3bSchristos { "ldcwx",	0x0c0001c0, 0xfc0013c0, "cxcdx(s,b),t", pa11, FLAG_STRICT},
499a5a4af3bSchristos { "ldcwx",	0x0c0001c0, 0xfc00dfc0, "cXx(b),t", pa10, 0},
500a5a4af3bSchristos { "ldcwx",	0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
501a5a4af3bSchristos { "ldws",	0x0c001080, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
502a5a4af3bSchristos { "ldws",	0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
503a5a4af3bSchristos { "ldws",	0x0c001080, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
504a5a4af3bSchristos { "ldws",	0x0c001080, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
505a5a4af3bSchristos { "ldws",	0x0c001080, 0xfc00dfc0, "cM5(b),t", pa10, 0},
506a5a4af3bSchristos { "ldws",	0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
507a5a4af3bSchristos { "ldhs",	0x0c001040, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
508a5a4af3bSchristos { "ldhs",	0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
509a5a4af3bSchristos { "ldhs",	0x0c001040, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
510a5a4af3bSchristos { "ldhs",	0x0c001040, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
511a5a4af3bSchristos { "ldhs",	0x0c001040, 0xfc00dfc0, "cM5(b),t", pa10, 0},
512a5a4af3bSchristos { "ldhs",	0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
513a5a4af3bSchristos { "ldbs",	0x0c001000, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
514a5a4af3bSchristos { "ldbs",	0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
515a5a4af3bSchristos { "ldbs",	0x0c001000, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
516a5a4af3bSchristos { "ldbs",	0x0c001000, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
517a5a4af3bSchristos { "ldbs",	0x0c001000, 0xfc00dfc0, "cM5(b),t", pa10, 0},
518a5a4af3bSchristos { "ldbs",	0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
519a5a4af3bSchristos { "ldwas",	0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
520a5a4af3bSchristos { "ldwas",	0x0c001180, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
521a5a4af3bSchristos { "ldwas",	0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, 0},
522a5a4af3bSchristos { "ldcws",	0x0c0011c0, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
523a5a4af3bSchristos { "ldcws",	0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
524a5a4af3bSchristos { "ldcws",	0x0c0011c0, 0xfc00d3c0, "cmcd5(b),t", pa11, FLAG_STRICT},
525a5a4af3bSchristos { "ldcws",	0x0c0011c0, 0xfc0013c0, "cmcd5(s,b),t", pa11, FLAG_STRICT},
526a5a4af3bSchristos { "ldcws",	0x0c0011c0, 0xfc00dfc0, "cM5(b),t", pa10, 0},
527a5a4af3bSchristos { "ldcws",	0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
528a5a4af3bSchristos { "stws",	0x0c001280, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
529a5a4af3bSchristos { "stws",	0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
530a5a4af3bSchristos { "stws",	0x0c001280, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
531a5a4af3bSchristos { "stws",	0x0c001280, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
532a5a4af3bSchristos { "stws",	0x0c001280, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
533a5a4af3bSchristos { "stws",	0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, 0},
534a5a4af3bSchristos { "sths",	0x0c001240, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
535a5a4af3bSchristos { "sths",	0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
536a5a4af3bSchristos { "sths",	0x0c001240, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
537a5a4af3bSchristos { "sths",	0x0c001240, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
538a5a4af3bSchristos { "sths",	0x0c001240, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
539a5a4af3bSchristos { "sths",	0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, 0},
540a5a4af3bSchristos { "stbs",	0x0c001200, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
541a5a4af3bSchristos { "stbs",	0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
542a5a4af3bSchristos { "stbs",	0x0c001200, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
543a5a4af3bSchristos { "stbs",	0x0c001200, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
544a5a4af3bSchristos { "stbs",	0x0c001200, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
545a5a4af3bSchristos { "stbs",	0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, 0},
546a5a4af3bSchristos { "stwas",	0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
547a5a4af3bSchristos { "stwas",	0x0c001380, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
548a5a4af3bSchristos { "stwas",	0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
549a5a4af3bSchristos { "stdby",	0x0c001340, 0xfc00d3c0, "cscCx,V(b)", pa20, FLAG_STRICT},
550a5a4af3bSchristos { "stdby",	0x0c001340, 0xfc0013c0, "cscCx,V(s,b)", pa20, FLAG_STRICT},
551a5a4af3bSchristos { "stbys",	0x0c001300, 0xfc00dfc0, "cAx,V(b)", pa10, FLAG_STRICT},
552a5a4af3bSchristos { "stbys",	0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, FLAG_STRICT},
553a5a4af3bSchristos { "stbys",	0x0c001300, 0xfc00d3c0, "cscCx,V(b)", pa11, FLAG_STRICT},
554a5a4af3bSchristos { "stbys",	0x0c001300, 0xfc0013c0, "cscCx,V(s,b)", pa11, FLAG_STRICT},
555a5a4af3bSchristos { "stbys",	0x0c001300, 0xfc00dfc0, "cAx,V(b)", pa10, 0},
556a5a4af3bSchristos { "stbys",	0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, 0},
557a5a4af3bSchristos 
558a5a4af3bSchristos /* Immediate instructions.  */
559a5a4af3bSchristos { "ldo",	0x34000000, 0xfc000000, "l(b),x", pa20w, 0},
560a5a4af3bSchristos { "ldo",	0x34000000, 0xfc00c000, "j(b),x", pa10, 0},
561a5a4af3bSchristos { "ldil",	0x20000000, 0xfc000000, "k,b", pa10, 0},
562a5a4af3bSchristos { "addil",	0x28000000, 0xfc000000, "k,b,Z", pa10, 0},
563a5a4af3bSchristos { "addil",	0x28000000, 0xfc000000, "k,b", pa10, 0},
564a5a4af3bSchristos 
565a5a4af3bSchristos /* Branching instructions.  */
566a5a4af3bSchristos { "b",		0xe8008000, 0xfc00e000, "cpnXL", pa20, FLAG_STRICT},
567a5a4af3bSchristos { "b",		0xe800a000, 0xfc00e000, "clnXL", pa20, FLAG_STRICT},
568a5a4af3bSchristos { "b",		0xe8000000, 0xfc00e000, "clnW,b", pa10, FLAG_STRICT},
569a5a4af3bSchristos { "b",		0xe8002000, 0xfc00e000, "cgnW,b", pa10, FLAG_STRICT},
570a5a4af3bSchristos { "b",		0xe8000000, 0xffe0e000, "nW", pa10, 0},  /* b,l foo,r0 */
571a5a4af3bSchristos { "bl",		0xe8000000, 0xfc00e000, "nW,b", pa10, 0},
572a5a4af3bSchristos { "gate",	0xe8002000, 0xfc00e000, "nW,b", pa10, 0},
573a5a4af3bSchristos { "blr",	0xe8004000, 0xfc00e001, "nx,b", pa10, 0},
574a5a4af3bSchristos { "bv",		0xe800c000, 0xfc00fffd, "nx(b)", pa10, 0},
575a5a4af3bSchristos { "bv",		0xe800c000, 0xfc00fffd, "n(b)", pa10, 0},
576a5a4af3bSchristos { "bve",	0xe800f001, 0xfc1ffffd, "cpn(b)L", pa20, FLAG_STRICT},
577a5a4af3bSchristos { "bve",	0xe800f000, 0xfc1ffffd, "cln(b)L", pa20, FLAG_STRICT},
578a5a4af3bSchristos { "bve",	0xe800d001, 0xfc1ffffd, "cPn(b)", pa20, FLAG_STRICT},
579a5a4af3bSchristos { "bve",	0xe800d000, 0xfc1ffffd, "n(b)", pa20, FLAG_STRICT},
580a5a4af3bSchristos { "be",		0xe4000000, 0xfc000000, "clnz(S,b),Y", pa10, FLAG_STRICT},
581a5a4af3bSchristos { "be",		0xe4000000, 0xfc000000, "clnz(b),Y", pa10, FLAG_STRICT},
582a5a4af3bSchristos { "be",		0xe0000000, 0xfc000000, "nz(S,b)", pa10, 0},
583a5a4af3bSchristos { "be",		0xe0000000, 0xfc000000, "nz(b)", pa10, 0},
584a5a4af3bSchristos { "ble",	0xe4000000, 0xfc000000, "nz(S,b)", pa10, 0},
585a5a4af3bSchristos { "movb",	0xc8000000, 0xfc000000, "?ynx,b,w", pa10, 0},
586a5a4af3bSchristos { "movib",	0xcc000000, 0xfc000000, "?yn5,b,w", pa10, 0},
587a5a4af3bSchristos { "combt",	0x80000000, 0xfc000000, "?tnx,b,w", pa10, 0},
588a5a4af3bSchristos { "combf",	0x88000000, 0xfc000000, "?tnx,b,w", pa10, 0},
589a5a4af3bSchristos { "comibt",	0x84000000, 0xfc000000, "?tn5,b,w", pa10, 0},
590a5a4af3bSchristos { "comibf",	0x8c000000, 0xfc000000, "?tn5,b,w", pa10, 0},
591a5a4af3bSchristos { "addbt",	0xa0000000, 0xfc000000, "?dnx,b,w", pa10, 0},
592a5a4af3bSchristos { "addbf",	0xa8000000, 0xfc000000, "?dnx,b,w", pa10, 0},
593a5a4af3bSchristos { "addibt",	0xa4000000, 0xfc000000, "?dn5,b,w", pa10, 0},
594a5a4af3bSchristos { "addibf",	0xac000000, 0xfc000000, "?dn5,b,w", pa10, 0},
595a5a4af3bSchristos { "bb",		0xc0006000, 0xffe06000, "?Bnx,!,w", pa20, FLAG_STRICT},
596a5a4af3bSchristos { "bb",		0xc0004000, 0xffe06000, "?bnx,!,w", pa10, FLAG_STRICT},
59747c37bc2Schristos { "bb",		0xc4006000, 0xfc006000, "?Bnx,B,w", pa20, FLAG_STRICT},
598a5a4af3bSchristos { "bb",		0xc4004000, 0xfc006000, "?bnx,Q,w", pa10, FLAG_STRICT},
599a5a4af3bSchristos { "bb",		0xc4004000, 0xfc006000, "?bnx,Q,w", pa10, 0},
600a5a4af3bSchristos { "bvb",	0xc0004000, 0xffe04000, "?bnx,w", pa10, 0},
601a5a4af3bSchristos { "clrbts",	0xe8004005, 0xffffffff, "", pa20, FLAG_STRICT},
602a5a4af3bSchristos { "popbts",	0xe8004005, 0xfffff007, "$", pa20, FLAG_STRICT},
603a5a4af3bSchristos { "pushnom",	0xe8004001, 0xffffffff, "", pa20, FLAG_STRICT},
604a5a4af3bSchristos { "pushbts",	0xe8004001, 0xffe0ffff, "x", pa20, FLAG_STRICT},
605a5a4af3bSchristos 
606a5a4af3bSchristos /* Computation Instructions.  */
607a5a4af3bSchristos 
608a5a4af3bSchristos { "cmpclr",	0x080008a0, 0xfc000fe0, "?Sx,b,t", pa20, FLAG_STRICT},
609a5a4af3bSchristos { "cmpclr",	0x08000880, 0xfc000fe0, "?sx,b,t", pa10, FLAG_STRICT},
610a5a4af3bSchristos { "comclr",	0x08000880, 0xfc000fe0, "?sx,b,t", pa10, 0},
611a5a4af3bSchristos { "or",		0x08000260, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
612a5a4af3bSchristos { "or",		0x08000240, 0xfc000fe0, "?lx,b,t", pa10, 0},
613a5a4af3bSchristos { "xor",	0x080002a0, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
614a5a4af3bSchristos { "xor",	0x08000280, 0xfc000fe0, "?lx,b,t", pa10, 0},
615a5a4af3bSchristos { "and",	0x08000220, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
616a5a4af3bSchristos { "and",	0x08000200, 0xfc000fe0, "?lx,b,t", pa10, 0},
617a5a4af3bSchristos { "andcm",	0x08000020, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
618a5a4af3bSchristos { "andcm",	0x08000000, 0xfc000fe0, "?lx,b,t", pa10, 0},
619a5a4af3bSchristos { "uxor",	0x080003a0, 0xfc000fe0, "?Ux,b,t", pa20, FLAG_STRICT},
620a5a4af3bSchristos { "uxor",	0x08000380, 0xfc000fe0, "?ux,b,t", pa10, 0},
621a5a4af3bSchristos { "uaddcm",	0x080009a0, 0xfc000fa0, "cT?Ux,b,t", pa20, FLAG_STRICT},
622a5a4af3bSchristos { "uaddcm",	0x08000980, 0xfc000fa0, "cT?ux,b,t", pa10, FLAG_STRICT},
623a5a4af3bSchristos { "uaddcm",	0x08000980, 0xfc000fe0, "?ux,b,t", pa10, 0},
624a5a4af3bSchristos { "uaddcmt",	0x080009c0, 0xfc000fe0, "?ux,b,t", pa10, 0},
625a5a4af3bSchristos { "dcor",	0x08000ba0, 0xfc1f0fa0, "ci?Ub,t", pa20, FLAG_STRICT},
626a5a4af3bSchristos { "dcor",	0x08000b80, 0xfc1f0fa0, "ci?ub,t", pa10, FLAG_STRICT},
627a5a4af3bSchristos { "dcor",	0x08000b80, 0xfc1f0fe0, "?ub,t",   pa10, 0},
628a5a4af3bSchristos { "idcor",	0x08000bc0, 0xfc1f0fe0, "?ub,t",   pa10, 0},
629a5a4af3bSchristos { "addi",	0xb0000000, 0xfc000000, "ct?ai,b,x", pa10, FLAG_STRICT},
630a5a4af3bSchristos { "addi",	0xb4000000, 0xfc000000, "cv?ai,b,x", pa10, FLAG_STRICT},
631a5a4af3bSchristos { "addi",	0xb4000000, 0xfc000800, "?ai,b,x", pa10, 0},
632a5a4af3bSchristos { "addio",	0xb4000800, 0xfc000800, "?ai,b,x", pa10, 0},
633a5a4af3bSchristos { "addit",	0xb0000000, 0xfc000800, "?ai,b,x", pa10, 0},
634a5a4af3bSchristos { "addito",	0xb0000800, 0xfc000800, "?ai,b,x", pa10, 0},
635a5a4af3bSchristos { "add",	0x08000720, 0xfc0007e0, "cY?Ax,b,t", pa20, FLAG_STRICT},
636a5a4af3bSchristos { "add",	0x08000700, 0xfc0007e0, "cy?ax,b,t", pa10, FLAG_STRICT},
637a5a4af3bSchristos { "add",	0x08000220, 0xfc0003e0, "ca?Ax,b,t", pa20, FLAG_STRICT},
638a5a4af3bSchristos { "add",	0x08000200, 0xfc0003e0, "ca?ax,b,t", pa10, FLAG_STRICT},
639a5a4af3bSchristos { "add",	0x08000600, 0xfc000fe0, "?ax,b,t", pa10, 0},
640a5a4af3bSchristos { "addl",	0x08000a00, 0xfc000fe0, "?ax,b,t", pa10, 0},
641a5a4af3bSchristos { "addo",	0x08000e00, 0xfc000fe0, "?ax,b,t", pa10, 0},
642a5a4af3bSchristos { "addc",	0x08000700, 0xfc000fe0, "?ax,b,t", pa10, 0},
643a5a4af3bSchristos { "addco",	0x08000f00, 0xfc000fe0, "?ax,b,t", pa10, 0},
644a5a4af3bSchristos { "sub",	0x080004e0, 0xfc0007e0, "ct?Sx,b,t", pa20, FLAG_STRICT},
645a5a4af3bSchristos { "sub",	0x080004c0, 0xfc0007e0, "ct?sx,b,t", pa10, FLAG_STRICT},
646a5a4af3bSchristos { "sub",	0x08000520, 0xfc0007e0, "cB?Sx,b,t", pa20, FLAG_STRICT},
647a5a4af3bSchristos { "sub",	0x08000500, 0xfc0007e0, "cb?sx,b,t", pa10, FLAG_STRICT},
648a5a4af3bSchristos { "sub",	0x08000420, 0xfc0007e0, "cv?Sx,b,t", pa20, FLAG_STRICT},
649a5a4af3bSchristos { "sub",	0x08000400, 0xfc0007e0, "cv?sx,b,t", pa10, FLAG_STRICT},
650a5a4af3bSchristos { "sub",	0x08000400, 0xfc000fe0, "?sx,b,t", pa10, 0},
651a5a4af3bSchristos { "subo",	0x08000c00, 0xfc000fe0, "?sx,b,t", pa10, 0},
652a5a4af3bSchristos { "subb",	0x08000500, 0xfc000fe0, "?sx,b,t", pa10, 0},
653a5a4af3bSchristos { "subbo",	0x08000d00, 0xfc000fe0, "?sx,b,t", pa10, 0},
654a5a4af3bSchristos { "subt",	0x080004c0, 0xfc000fe0, "?sx,b,t", pa10, 0},
655a5a4af3bSchristos { "subto",	0x08000cc0, 0xfc000fe0, "?sx,b,t", pa10, 0},
656a5a4af3bSchristos { "ds",		0x08000440, 0xfc000fe0, "?sx,b,t", pa10, 0},
657a5a4af3bSchristos { "subi",	0x94000000, 0xfc000000, "cv?si,b,x", pa10, FLAG_STRICT},
658a5a4af3bSchristos { "subi",	0x94000000, 0xfc000800, "?si,b,x", pa10, 0},
659a5a4af3bSchristos { "subio",	0x94000800, 0xfc000800, "?si,b,x", pa10, 0},
660a5a4af3bSchristos { "cmpiclr",	0x90000800, 0xfc000800, "?Si,b,x", pa20, FLAG_STRICT},
661a5a4af3bSchristos { "cmpiclr",	0x90000000, 0xfc000800, "?si,b,x", pa10, FLAG_STRICT},
662a5a4af3bSchristos { "comiclr",	0x90000000, 0xfc000800, "?si,b,x", pa10, 0},
663a5a4af3bSchristos { "shladd",	0x08000220, 0xfc000320, "ca?Ax,.,b,t", pa20, FLAG_STRICT},
664a5a4af3bSchristos { "shladd",	0x08000200, 0xfc000320, "ca?ax,.,b,t", pa10, FLAG_STRICT},
665a5a4af3bSchristos { "sh1add",	0x08000640, 0xfc000fe0, "?ax,b,t", pa10, 0},
666a5a4af3bSchristos { "sh1addl",	0x08000a40, 0xfc000fe0, "?ax,b,t", pa10, 0},
667a5a4af3bSchristos { "sh1addo",	0x08000e40, 0xfc000fe0, "?ax,b,t", pa10, 0},
668a5a4af3bSchristos { "sh2add",	0x08000680, 0xfc000fe0, "?ax,b,t", pa10, 0},
669a5a4af3bSchristos { "sh2addl",	0x08000a80, 0xfc000fe0, "?ax,b,t", pa10, 0},
670a5a4af3bSchristos { "sh2addo",	0x08000e80, 0xfc000fe0, "?ax,b,t", pa10, 0},
671a5a4af3bSchristos { "sh3add",	0x080006c0, 0xfc000fe0, "?ax,b,t", pa10, 0},
672a5a4af3bSchristos { "sh3addl",	0x08000ac0, 0xfc000fe0, "?ax,b,t", pa10, 0},
673a5a4af3bSchristos { "sh3addo",	0x08000ec0, 0xfc000fe0, "?ax,b,t", pa10, 0},
674a5a4af3bSchristos 
675a5a4af3bSchristos /* Subword Operation Instructions.  */
676a5a4af3bSchristos 
677a5a4af3bSchristos { "hadd",	0x08000300, 0xfc00ff20, "cHx,b,t", pa20, FLAG_STRICT},
678a5a4af3bSchristos { "havg",	0x080002c0, 0xfc00ffe0, "x,b,t", pa20, FLAG_STRICT},
679a5a4af3bSchristos { "hshl",	0xf8008800, 0xffe0fc20, "x,*,t", pa20, FLAG_STRICT},
680a5a4af3bSchristos { "hshladd",	0x08000700, 0xfc00ff20, "x,.,b,t", pa20, FLAG_STRICT},
681a5a4af3bSchristos { "hshr",	0xf800c800, 0xfc1ff820, "cSb,*,t", pa20, FLAG_STRICT},
682a5a4af3bSchristos { "hshradd",	0x08000500, 0xfc00ff20, "x,.,b,t", pa20, FLAG_STRICT},
683a5a4af3bSchristos { "hsub",	0x08000100, 0xfc00ff20, "cHx,b,t", pa20, FLAG_STRICT},
684a5a4af3bSchristos { "mixh",	0xf8008400, 0xfc009fe0, "chx,b,t", pa20, FLAG_STRICT},
685a5a4af3bSchristos { "mixw",	0xf8008000, 0xfc009fe0, "chx,b,t", pa20, FLAG_STRICT},
686a5a4af3bSchristos { "permh",	0xf8000000, 0xfc009020, "c*a,t", pa20, FLAG_STRICT},
687a5a4af3bSchristos 
688a5a4af3bSchristos 
689a5a4af3bSchristos /* Extract and Deposit Instructions.  */
690a5a4af3bSchristos 
691a5a4af3bSchristos { "shrpd",	0xd0000200, 0xfc001fe0, "?Xx,b,!,t", pa20, FLAG_STRICT},
692a5a4af3bSchristos { "shrpd",	0xd0000400, 0xfc001400, "?Xx,b,~,t", pa20, FLAG_STRICT},
693a5a4af3bSchristos { "shrpw",	0xd0000000, 0xfc001fe0, "?xx,b,!,t", pa10, FLAG_STRICT},
694a5a4af3bSchristos { "shrpw",	0xd0000800, 0xfc001c00, "?xx,b,p,t", pa10, FLAG_STRICT},
695a5a4af3bSchristos { "vshd",	0xd0000000, 0xfc001fe0, "?xx,b,t", pa10, 0},
696a5a4af3bSchristos { "shd",	0xd0000800, 0xfc001c00, "?xx,b,p,t", pa10, 0},
697a5a4af3bSchristos { "extrd",	0xd0001200, 0xfc001ae0, "cS?Xb,!,%,x", pa20, FLAG_STRICT},
698a5a4af3bSchristos { "extrd",	0xd8000000, 0xfc000000, "cS?Xb,q,|,x", pa20, FLAG_STRICT},
699a5a4af3bSchristos { "extrw",	0xd0001000, 0xfc001be0, "cS?xb,!,T,x", pa10, FLAG_STRICT},
700a5a4af3bSchristos { "extrw",	0xd0001800, 0xfc001800, "cS?xb,P,T,x", pa10, FLAG_STRICT},
701a5a4af3bSchristos { "vextru",	0xd0001000, 0xfc001fe0, "?xb,T,x", pa10, 0},
702a5a4af3bSchristos { "vextrs",	0xd0001400, 0xfc001fe0, "?xb,T,x", pa10, 0},
703a5a4af3bSchristos { "extru",	0xd0001800, 0xfc001c00, "?xb,P,T,x", pa10, 0},
704a5a4af3bSchristos { "extrs",	0xd0001c00, 0xfc001c00, "?xb,P,T,x", pa10, 0},
705a5a4af3bSchristos { "depd",	0xd4000200, 0xfc001ae0, "cz?Xx,!,%,b", pa20, FLAG_STRICT},
706a5a4af3bSchristos { "depd",	0xf0000000, 0xfc000000, "cz?Xx,~,|,b", pa20, FLAG_STRICT},
707a5a4af3bSchristos { "depdi",	0xd4001200, 0xfc001ae0, "cz?X5,!,%,b", pa20, FLAG_STRICT},
708a5a4af3bSchristos { "depdi",	0xf4000000, 0xfc000000, "cz?X5,~,|,b", pa20, FLAG_STRICT},
709a5a4af3bSchristos { "depw",	0xd4000000, 0xfc001be0, "cz?xx,!,T,b", pa10, FLAG_STRICT},
710a5a4af3bSchristos { "depw",	0xd4000800, 0xfc001800, "cz?xx,p,T,b", pa10, FLAG_STRICT},
711a5a4af3bSchristos { "depwi",	0xd4001000, 0xfc001be0, "cz?x5,!,T,b", pa10, FLAG_STRICT},
712a5a4af3bSchristos { "depwi",	0xd4001800, 0xfc001800, "cz?x5,p,T,b", pa10, FLAG_STRICT},
713a5a4af3bSchristos { "zvdep",	0xd4000000, 0xfc001fe0, "?xx,T,b", pa10, 0},
714a5a4af3bSchristos { "vdep",	0xd4000400, 0xfc001fe0, "?xx,T,b", pa10, 0},
715a5a4af3bSchristos { "zdep",	0xd4000800, 0xfc001c00, "?xx,p,T,b", pa10, 0},
716a5a4af3bSchristos { "dep",	0xd4000c00, 0xfc001c00, "?xx,p,T,b", pa10, 0},
717a5a4af3bSchristos { "zvdepi",	0xd4001000, 0xfc001fe0, "?x5,T,b", pa10, 0},
718a5a4af3bSchristos { "vdepi",	0xd4001400, 0xfc001fe0, "?x5,T,b", pa10, 0},
719a5a4af3bSchristos { "zdepi",	0xd4001800, 0xfc001c00, "?x5,p,T,b", pa10, 0},
720a5a4af3bSchristos { "depi",	0xd4001c00, 0xfc001c00, "?x5,p,T,b", pa10, 0},
721a5a4af3bSchristos 
722a5a4af3bSchristos /* System Control Instructions.  */
723a5a4af3bSchristos 
724a5a4af3bSchristos { "break",	0x00000000, 0xfc001fe0, "r,A", pa10, 0},
725a5a4af3bSchristos { "rfi",	0x00000c00, 0xffffff1f, "cr", pa10, FLAG_STRICT},
726a5a4af3bSchristos { "rfi",	0x00000c00, 0xffffffff, "", pa10, 0},
727a5a4af3bSchristos { "rfir",	0x00000ca0, 0xffffffff, "", pa11, 0},
728a5a4af3bSchristos { "ssm",	0x00000d60, 0xfc00ffe0, "U,t", pa20, FLAG_STRICT},
729a5a4af3bSchristos { "ssm",	0x00000d60, 0xffe0ffe0, "R,t", pa10, 0},
730a5a4af3bSchristos { "rsm",	0x00000e60, 0xfc00ffe0, "U,t", pa20, FLAG_STRICT},
731a5a4af3bSchristos { "rsm",	0x00000e60, 0xffe0ffe0, "R,t", pa10, 0},
732a5a4af3bSchristos { "mtsm",	0x00001860, 0xffe0ffff, "x", pa10, 0},
733a5a4af3bSchristos { "ldsid",	0x000010a0, 0xfc1fffe0, "(b),t", pa10, 0},
734a5a4af3bSchristos { "ldsid",	0x000010a0, 0xfc1f3fe0, "(s,b),t", pa10, 0},
735a5a4af3bSchristos { "mtsp",	0x00001820, 0xffe01fff, "x,S", pa10, 0},
736a5a4af3bSchristos { "mtctl",	0x00001840, 0xfc00ffff, "x,^", pa10, 0},
737a5a4af3bSchristos { "mtsarcm",	0x016018C0, 0xffe0ffff, "x", pa20, FLAG_STRICT},
738a5a4af3bSchristos { "mfia",	0x000014A0, 0xffffffe0, "t", pa20, FLAG_STRICT},
739a5a4af3bSchristos { "mfsp",	0x000004a0, 0xffff1fe0, "S,t", pa10, 0},
740a5a4af3bSchristos { "mfctl",	0x016048a0, 0xffffffe0, "cW!,t", pa20, FLAG_STRICT},
741a5a4af3bSchristos { "mfctl",	0x000008a0, 0xfc1fffe0, "^,t", pa10, 0},
742a5a4af3bSchristos { "sync",	0x00000400, 0xffffffff, "", pa10, 0},
743a5a4af3bSchristos { "syncdma",	0x00100400, 0xffffffff, "", pa10, 0},
744a5a4af3bSchristos { "probe",	0x04001180, 0xfc00ffa0, "cw(b),x,t", pa10, FLAG_STRICT},
745a5a4af3bSchristos { "probe",	0x04001180, 0xfc003fa0, "cw(s,b),x,t", pa10, FLAG_STRICT},
746a5a4af3bSchristos { "probei",	0x04003180, 0xfc00ffa0, "cw(b),R,t", pa10, FLAG_STRICT},
747a5a4af3bSchristos { "probei",	0x04003180, 0xfc003fa0, "cw(s,b),R,t", pa10, FLAG_STRICT},
748a5a4af3bSchristos { "prober",	0x04001180, 0xfc00ffe0, "(b),x,t", pa10, 0},
749a5a4af3bSchristos { "prober",	0x04001180, 0xfc003fe0, "(s,b),x,t", pa10, 0},
750a5a4af3bSchristos { "proberi",	0x04003180, 0xfc00ffe0, "(b),R,t", pa10, 0},
751a5a4af3bSchristos { "proberi",	0x04003180, 0xfc003fe0, "(s,b),R,t", pa10, 0},
752a5a4af3bSchristos { "probew",	0x040011c0, 0xfc00ffe0, "(b),x,t", pa10, 0},
753a5a4af3bSchristos { "probew",	0x040011c0, 0xfc003fe0, "(s,b),x,t", pa10, 0},
754a5a4af3bSchristos { "probewi",	0x040031c0, 0xfc00ffe0, "(b),R,t", pa10, 0},
755a5a4af3bSchristos { "probewi",	0x040031c0, 0xfc003fe0, "(s,b),R,t", pa10, 0},
756a5a4af3bSchristos { "lpa",	0x04001340, 0xfc00ffc0, "cZx(b),t", pa10, 0},
757a5a4af3bSchristos { "lpa",	0x04001340, 0xfc003fc0, "cZx(s,b),t", pa10, 0},
758a5a4af3bSchristos { "lci",	0x04001300, 0xfc00ffe0, "x(b),t", pa11, 0},
759a5a4af3bSchristos { "lci",	0x04001300, 0xfc003fe0, "x(s,b),t", pa11, 0},
760a5a4af3bSchristos { "pdtlb",	0x04001600, 0xfc00ffdf, "cLcZx(b)", pa20, FLAG_STRICT},
761a5a4af3bSchristos { "pdtlb",	0x04001600, 0xfc003fdf, "cLcZx(s,b)", pa20, FLAG_STRICT},
762a5a4af3bSchristos { "pdtlb",	0x04001600, 0xfc1fffdf, "cLcZ@(b)", pa20, FLAG_STRICT},
763a5a4af3bSchristos { "pdtlb",	0x04001600, 0xfc1f3fdf, "cLcZ@(s,b)", pa20, FLAG_STRICT},
764a5a4af3bSchristos { "pdtlb",	0x04001200, 0xfc00ffdf, "cZx(b)", pa10, 0},
765a5a4af3bSchristos { "pdtlb",	0x04001200, 0xfc003fdf, "cZx(s,b)", pa10, 0},
766a5a4af3bSchristos { "pitlb",	0x04000600, 0xfc001fdf, "cLcZx(S,b)", pa20, FLAG_STRICT},
767a5a4af3bSchristos { "pitlb",	0x04000600, 0xfc1f1fdf, "cLcZ@(S,b)", pa20, FLAG_STRICT},
768a5a4af3bSchristos { "pitlb",	0x04000200, 0xfc001fdf, "cZx(S,b)", pa10, 0},
769a5a4af3bSchristos { "pdtlbe",	0x04001240, 0xfc00ffdf, "cZx(b)", pa10, 0},
770a5a4af3bSchristos { "pdtlbe",	0x04001240, 0xfc003fdf, "cZx(s,b)", pa10, 0},
771a5a4af3bSchristos { "pitlbe",	0x04000240, 0xfc001fdf, "cZx(S,b)", pa10, 0},
772a5a4af3bSchristos { "idtlba",	0x04001040, 0xfc00ffff, "x,(b)", pa10, 0},
773a5a4af3bSchristos { "idtlba",	0x04001040, 0xfc003fff, "x,(s,b)", pa10, 0},
774a5a4af3bSchristos { "iitlba",	0x04000040, 0xfc001fff, "x,(S,b)", pa10, 0},
775a5a4af3bSchristos { "idtlbp",	0x04001000, 0xfc00ffff, "x,(b)", pa10, 0},
776a5a4af3bSchristos { "idtlbp",	0x04001000, 0xfc003fff, "x,(s,b)", pa10, 0},
777a5a4af3bSchristos { "iitlbp",	0x04000000, 0xfc001fff, "x,(S,b)", pa10, 0},
778a5a4af3bSchristos { "pdc",	0x04001380, 0xfc00ffdf, "cZx(b)", pa10, 0},
779a5a4af3bSchristos { "pdc",	0x04001380, 0xfc003fdf, "cZx(s,b)", pa10, 0},
780a5a4af3bSchristos { "fdc",	0x04001280, 0xfc00ffdf, "cZx(b)", pa10, FLAG_STRICT},
781a5a4af3bSchristos { "fdc",	0x04001280, 0xfc003fdf, "cZx(s,b)", pa10, FLAG_STRICT},
782a5a4af3bSchristos { "fdc",	0x04003280, 0xfc00ffff, "5(b)", pa20, FLAG_STRICT},
783a5a4af3bSchristos { "fdc",	0x04003280, 0xfc003fff, "5(s,b)", pa20, FLAG_STRICT},
784a5a4af3bSchristos { "fdc",	0x04001280, 0xfc00ffdf, "cZx(b)", pa10, 0},
785a5a4af3bSchristos { "fdc",	0x04001280, 0xfc003fdf, "cZx(s,b)", pa10, 0},
786a5a4af3bSchristos { "fic",	0x040013c0, 0xfc00dfdf, "cZx(b)", pa20, FLAG_STRICT},
787a5a4af3bSchristos { "fic",	0x04000280, 0xfc001fdf, "cZx(S,b)", pa10, 0},
788a5a4af3bSchristos { "fdce",	0x040012c0, 0xfc00ffdf, "cZx(b)", pa10, 0},
789a5a4af3bSchristos { "fdce",	0x040012c0, 0xfc003fdf, "cZx(s,b)", pa10, 0},
790a5a4af3bSchristos { "fice",	0x040002c0, 0xfc001fdf, "cZx(S,b)", pa10, 0},
791a5a4af3bSchristos { "diag",	0x14000000, 0xfc000000, "D", pa10, 0},
792a5a4af3bSchristos { "idtlbt",	0x04001800, 0xfc00ffff, "x,b", pa20, FLAG_STRICT},
793a5a4af3bSchristos { "iitlbt",	0x04000800, 0xfc00ffff, "x,b", pa20, FLAG_STRICT},
794a5a4af3bSchristos 
795a5a4af3bSchristos /* These may be specific to certain versions of the PA.  Joel claimed
796a5a4af3bSchristos    they were 72000 (7200?) specific.  However, I'm almost certain the
797a5a4af3bSchristos    mtcpu/mfcpu were undocumented, but available in the older 700 machines.  */
798a5a4af3bSchristos { "mtcpu",	0x14001600, 0xfc00ffff, "x,^", pa10, 0},
799a5a4af3bSchristos { "mfcpu",	0x14001A00, 0xfc00ffff, "^,x", pa10, 0},
800a5a4af3bSchristos { "tocen",	0x14403600, 0xffffffff, "", pa10, 0},
801a5a4af3bSchristos { "tocdis",	0x14401620, 0xffffffff, "", pa10, 0},
802a5a4af3bSchristos { "shdwgr",	0x14402600, 0xffffffff, "", pa10, 0},
803a5a4af3bSchristos { "grshdw",	0x14400620, 0xffffffff, "", pa10, 0},
804a5a4af3bSchristos 
805a5a4af3bSchristos /* gfw and gfr are not in the HP PA 1.1 manual, but they are in either
806a5a4af3bSchristos    the Timex FPU or the Mustang ERS (not sure which) manual.  */
807a5a4af3bSchristos { "gfw",	0x04001680, 0xfc00ffdf, "cZx(b)", pa11, 0},
808a5a4af3bSchristos { "gfw",	0x04001680, 0xfc003fdf, "cZx(s,b)", pa11, 0},
809a5a4af3bSchristos { "gfr",	0x04001a80, 0xfc00ffdf, "cZx(b)", pa11, 0},
810a5a4af3bSchristos { "gfr",	0x04001a80, 0xfc003fdf, "cZx(s,b)", pa11, 0},
811a5a4af3bSchristos 
812a5a4af3bSchristos /* Floating Point Coprocessor Instructions.  */
813a5a4af3bSchristos 
814a5a4af3bSchristos { "fldw",	0x24000000, 0xfc00df80, "cXx(b),fT", pa10, FLAG_STRICT},
815a5a4af3bSchristos { "fldw",	0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, FLAG_STRICT},
816a5a4af3bSchristos { "fldw",	0x24000000, 0xfc00d380, "cxccx(b),fT", pa11, FLAG_STRICT},
817a5a4af3bSchristos { "fldw",	0x24000000, 0xfc001380, "cxccx(s,b),fT", pa11, FLAG_STRICT},
818a5a4af3bSchristos { "fldw",	0x24001020, 0xfc1ff3a0, "cocc@(b),fT", pa20, FLAG_STRICT},
819a5a4af3bSchristos { "fldw",	0x24001020, 0xfc1f33a0, "cocc@(s,b),fT", pa20, FLAG_STRICT},
820a5a4af3bSchristos { "fldw",	0x24001000, 0xfc00df80, "cM5(b),fT", pa10, FLAG_STRICT},
821a5a4af3bSchristos { "fldw",	0x24001000, 0xfc001f80, "cM5(s,b),fT", pa10, FLAG_STRICT},
822a5a4af3bSchristos { "fldw",	0x24001000, 0xfc00d380, "cmcc5(b),fT", pa11, FLAG_STRICT},
823a5a4af3bSchristos { "fldw",	0x24001000, 0xfc001380, "cmcc5(s,b),fT", pa11, FLAG_STRICT},
824a5a4af3bSchristos { "fldw",	0x5c000000, 0xfc000004, "y(b),fe", pa20w, FLAG_STRICT},
825a5a4af3bSchristos { "fldw",	0x58000000, 0xfc000000, "cJy(b),fe", pa20w, FLAG_STRICT},
826a5a4af3bSchristos { "fldw",	0x5c000000, 0xfc00c004, "d(b),fe", pa20, FLAG_STRICT},
827a5a4af3bSchristos { "fldw",	0x5c000000, 0xfc000004, "d(s,b),fe", pa20, FLAG_STRICT},
828a5a4af3bSchristos { "fldw",	0x58000000, 0xfc00c000, "cJd(b),fe", pa20, FLAG_STRICT},
829a5a4af3bSchristos { "fldw",	0x58000000, 0xfc000000, "cJd(s,b),fe", pa20, FLAG_STRICT},
830a5a4af3bSchristos { "fldd",	0x2c000000, 0xfc00dfc0, "cXx(b),ft", pa10, FLAG_STRICT},
831a5a4af3bSchristos { "fldd",	0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, FLAG_STRICT},
832a5a4af3bSchristos { "fldd",	0x2c000000, 0xfc00d3c0, "cxccx(b),ft", pa11, FLAG_STRICT},
833a5a4af3bSchristos { "fldd",	0x2c000000, 0xfc0013c0, "cxccx(s,b),ft", pa11, FLAG_STRICT},
834a5a4af3bSchristos { "fldd",	0x2c001020, 0xfc1ff3e0, "cocc@(b),ft", pa20, FLAG_STRICT},
835a5a4af3bSchristos { "fldd",	0x2c001020, 0xfc1f33e0, "cocc@(s,b),ft", pa20, FLAG_STRICT},
836a5a4af3bSchristos { "fldd",	0x2c001000, 0xfc00dfc0, "cM5(b),ft", pa10, FLAG_STRICT},
837a5a4af3bSchristos { "fldd",	0x2c001000, 0xfc001fc0, "cM5(s,b),ft", pa10, FLAG_STRICT},
838a5a4af3bSchristos { "fldd",	0x2c001000, 0xfc00d3c0, "cmcc5(b),ft", pa11, FLAG_STRICT},
839a5a4af3bSchristos { "fldd",	0x2c001000, 0xfc0013c0, "cmcc5(s,b),ft", pa11, FLAG_STRICT},
840a5a4af3bSchristos { "fldd",	0x50000002, 0xfc000002, "cq&(b),fx", pa20w, FLAG_STRICT},
841a5a4af3bSchristos { "fldd",	0x50000002, 0xfc00c002, "cq#(b),fx", pa20, FLAG_STRICT},
842a5a4af3bSchristos { "fldd",	0x50000002, 0xfc000002, "cq#(s,b),fx", pa20, FLAG_STRICT},
843a5a4af3bSchristos { "fstw",	0x24000200, 0xfc00df80, "cXfT,x(b)", pa10, FLAG_STRICT},
844a5a4af3bSchristos { "fstw",	0x24000200, 0xfc001f80, "cXfT,x(s,b)", pa10, FLAG_STRICT},
845a5a4af3bSchristos { "fstw",	0x24000200, 0xfc00d380, "cxcCfT,x(b)", pa11, FLAG_STRICT},
846a5a4af3bSchristos { "fstw",	0x24000200, 0xfc001380, "cxcCfT,x(s,b)", pa11, FLAG_STRICT},
847a5a4af3bSchristos { "fstw",	0x24001220, 0xfc1ff3a0, "cocCfT,@(b)", pa20, FLAG_STRICT},
848a5a4af3bSchristos { "fstw",	0x24001220, 0xfc1f33a0, "cocCfT,@(s,b)", pa20, FLAG_STRICT},
849a5a4af3bSchristos { "fstw",	0x24001200, 0xfc00df80, "cMfT,5(b)", pa10, FLAG_STRICT},
850a5a4af3bSchristos { "fstw",	0x24001200, 0xfc001f80, "cMfT,5(s,b)", pa10, FLAG_STRICT},
851a5a4af3bSchristos { "fstw",	0x24001200, 0xfc00df80, "cMfT,5(b)", pa10, FLAG_STRICT},
852a5a4af3bSchristos { "fstw",	0x24001200, 0xfc001f80, "cMfT,5(s,b)", pa10, FLAG_STRICT},
853a5a4af3bSchristos { "fstw",	0x7c000000, 0xfc000004, "fE,y(b)", pa20w, FLAG_STRICT},
854a5a4af3bSchristos { "fstw",	0x78000000, 0xfc000000, "cJfE,y(b)", pa20w, FLAG_STRICT},
855a5a4af3bSchristos { "fstw",	0x7c000000, 0xfc00c004, "fE,d(b)", pa20, FLAG_STRICT},
856a5a4af3bSchristos { "fstw",	0x7c000000, 0xfc000004, "fE,d(s,b)", pa20, FLAG_STRICT},
857a5a4af3bSchristos { "fstw",	0x78000000, 0xfc00c000, "cJfE,d(b)", pa20, FLAG_STRICT},
858a5a4af3bSchristos { "fstw",	0x78000000, 0xfc000000, "cJfE,d(s,b)", pa20, FLAG_STRICT},
859a5a4af3bSchristos { "fstd",	0x2c000200, 0xfc00dfc0, "cXft,x(b)", pa10, FLAG_STRICT},
860a5a4af3bSchristos { "fstd",	0x2c000200, 0xfc001fc0, "cXft,x(s,b)", pa10, FLAG_STRICT},
861a5a4af3bSchristos { "fstd",	0x2c000200, 0xfc00d3c0, "cxcCft,x(b)", pa11, FLAG_STRICT},
862a5a4af3bSchristos { "fstd",	0x2c000200, 0xfc0013c0, "cxcCft,x(s,b)", pa11, FLAG_STRICT},
863a5a4af3bSchristos { "fstd",	0x2c001220, 0xfc1ff3e0, "cocCft,@(b)", pa20, FLAG_STRICT},
864a5a4af3bSchristos { "fstd",	0x2c001220, 0xfc1f33e0, "cocCft,@(s,b)", pa20, FLAG_STRICT},
865a5a4af3bSchristos { "fstd",	0x2c001200, 0xfc00dfc0, "cMft,5(b)", pa10, FLAG_STRICT},
866a5a4af3bSchristos { "fstd",	0x2c001200, 0xfc001fc0, "cMft,5(s,b)", pa10, FLAG_STRICT},
867a5a4af3bSchristos { "fstd",	0x2c001200, 0xfc00d3c0, "cmcCft,5(b)", pa11, FLAG_STRICT},
868a5a4af3bSchristos { "fstd",	0x2c001200, 0xfc0013c0, "cmcCft,5(s,b)", pa11, FLAG_STRICT},
869a5a4af3bSchristos { "fstd",	0x70000002, 0xfc000002, "cqfx,&(b)", pa20w, FLAG_STRICT},
870a5a4af3bSchristos { "fstd",	0x70000002, 0xfc00c002, "cqfx,#(b)", pa20, FLAG_STRICT},
871a5a4af3bSchristos { "fstd",	0x70000002, 0xfc000002, "cqfx,#(s,b)", pa20, FLAG_STRICT},
872a5a4af3bSchristos { "fldwx",	0x24000000, 0xfc00df80, "cXx(b),fT", pa10, FLAG_STRICT},
873a5a4af3bSchristos { "fldwx",	0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, FLAG_STRICT},
874a5a4af3bSchristos { "fldwx",	0x24000000, 0xfc00d380, "cxccx(b),fT", pa11, FLAG_STRICT},
875a5a4af3bSchristos { "fldwx",	0x24000000, 0xfc001380, "cxccx(s,b),fT", pa11, FLAG_STRICT},
876a5a4af3bSchristos { "fldwx",	0x24000000, 0xfc00df80, "cXx(b),fT", pa10, 0},
877a5a4af3bSchristos { "fldwx",	0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, 0},
878a5a4af3bSchristos { "flddx",	0x2c000000, 0xfc00dfc0, "cXx(b),ft", pa10, FLAG_STRICT},
879a5a4af3bSchristos { "flddx",	0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, FLAG_STRICT},
880a5a4af3bSchristos { "flddx",	0x2c000000, 0xfc00d3c0, "cxccx(b),ft", pa11, FLAG_STRICT},
881a5a4af3bSchristos { "flddx",	0x2c000000, 0xfc0013c0, "cxccx(s,b),ft", pa11, FLAG_STRICT},
882a5a4af3bSchristos { "flddx",	0x2c000000, 0xfc00dfc0, "cXx(b),ft", pa10, 0},
883a5a4af3bSchristos { "flddx",	0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, 0},
884a5a4af3bSchristos { "fstwx",	0x24000200, 0xfc00df80, "cxfT,x(b)", pa10, FLAG_STRICT},
885a5a4af3bSchristos { "fstwx",	0x24000200, 0xfc001f80, "cxfT,x(s,b)", pa10, FLAG_STRICT},
886a5a4af3bSchristos { "fstwx",	0x24000200, 0xfc00d380, "cxcCfT,x(b)", pa11, FLAG_STRICT},
887a5a4af3bSchristos { "fstwx",	0x24000200, 0xfc001380, "cxcCfT,x(s,b)", pa11, FLAG_STRICT},
888a5a4af3bSchristos { "fstwx",	0x24000200, 0xfc00df80, "cxfT,x(b)", pa10, 0},
889a5a4af3bSchristos { "fstwx",	0x24000200, 0xfc001f80, "cxfT,x(s,b)", pa10, 0},
890a5a4af3bSchristos { "fstdx",	0x2c000200, 0xfc00dfc0, "cxft,x(b)", pa10, FLAG_STRICT},
891a5a4af3bSchristos { "fstdx",	0x2c000200, 0xfc001fc0, "cxft,x(s,b)", pa10, FLAG_STRICT},
892a5a4af3bSchristos { "fstdx",	0x2c000200, 0xfc00d3c0, "cxcCft,x(b)", pa11, FLAG_STRICT},
893a5a4af3bSchristos { "fstdx",	0x2c000200, 0xfc0013c0, "cxcCft,x(s,b)", pa11, FLAG_STRICT},
894a5a4af3bSchristos { "fstdx",	0x2c000200, 0xfc00dfc0, "cxft,x(b)", pa10, 0},
895a5a4af3bSchristos { "fstdx",	0x2c000200, 0xfc001fc0, "cxft,x(s,b)", pa10, 0},
896a5a4af3bSchristos { "fstqx",	0x3c000200, 0xfc00dfc0, "cXft,x(b)", pa10, 0},
897a5a4af3bSchristos { "fstqx",	0x3c000200, 0xfc001fc0, "cXft,x(s,b)", pa10, 0},
898a5a4af3bSchristos { "fldws",	0x24001000, 0xfc00df80, "cm5(b),fT", pa10, FLAG_STRICT},
899a5a4af3bSchristos { "fldws",	0x24001000, 0xfc001f80, "cm5(s,b),fT", pa10, FLAG_STRICT},
900a5a4af3bSchristos { "fldws",	0x24001000, 0xfc00d380, "cmcc5(b),fT", pa11, FLAG_STRICT},
901a5a4af3bSchristos { "fldws",	0x24001000, 0xfc001380, "cmcc5(s,b),fT", pa11, FLAG_STRICT},
902a5a4af3bSchristos { "fldws",	0x24001000, 0xfc00df80, "cm5(b),fT", pa10, 0},
903a5a4af3bSchristos { "fldws",	0x24001000, 0xfc001f80, "cm5(s,b),fT", pa10, 0},
904a5a4af3bSchristos { "fldds",	0x2c001000, 0xfc00dfc0, "cm5(b),ft", pa10, FLAG_STRICT},
905a5a4af3bSchristos { "fldds",	0x2c001000, 0xfc001fc0, "cm5(s,b),ft", pa10, FLAG_STRICT},
906a5a4af3bSchristos { "fldds",	0x2c001000, 0xfc00d3c0, "cmcc5(b),ft", pa11, FLAG_STRICT},
907a5a4af3bSchristos { "fldds",	0x2c001000, 0xfc0013c0, "cmcc5(s,b),ft", pa11, FLAG_STRICT},
908a5a4af3bSchristos { "fldds",	0x2c001000, 0xfc00dfc0, "cm5(b),ft", pa10, 0},
909a5a4af3bSchristos { "fldds",	0x2c001000, 0xfc001fc0, "cm5(s,b),ft", pa10, 0},
910a5a4af3bSchristos { "fstws",	0x24001200, 0xfc00df80, "cmfT,5(b)", pa10, FLAG_STRICT},
911a5a4af3bSchristos { "fstws",	0x24001200, 0xfc001f80, "cmfT,5(s,b)", pa10, FLAG_STRICT},
912a5a4af3bSchristos { "fstws",	0x24001200, 0xfc00d380, "cmcCfT,5(b)", pa11, FLAG_STRICT},
913a5a4af3bSchristos { "fstws",	0x24001200, 0xfc001380, "cmcCfT,5(s,b)", pa11, FLAG_STRICT},
914a5a4af3bSchristos { "fstws",	0x24001200, 0xfc00df80, "cmfT,5(b)", pa10, 0},
915a5a4af3bSchristos { "fstws",	0x24001200, 0xfc001f80, "cmfT,5(s,b)", pa10, 0},
916a5a4af3bSchristos { "fstds",	0x2c001200, 0xfc00dfc0, "cmft,5(b)", pa10, FLAG_STRICT},
917a5a4af3bSchristos { "fstds",	0x2c001200, 0xfc001fc0, "cmft,5(s,b)", pa10, FLAG_STRICT},
918a5a4af3bSchristos { "fstds",	0x2c001200, 0xfc00d3c0, "cmcCft,5(b)", pa11, FLAG_STRICT},
919a5a4af3bSchristos { "fstds",	0x2c001200, 0xfc0013c0, "cmcCft,5(s,b)", pa11, FLAG_STRICT},
920a5a4af3bSchristos { "fstds",	0x2c001200, 0xfc00dfc0, "cmft,5(b)", pa10, 0},
921a5a4af3bSchristos { "fstds",	0x2c001200, 0xfc001fc0, "cmft,5(s,b)", pa10, 0},
922a5a4af3bSchristos { "fstqs",	0x3c001200, 0xfc00dfc0, "cMft,5(b)", pa10, 0},
923a5a4af3bSchristos { "fstqs",	0x3c001200, 0xfc001fc0, "cMft,5(s,b)", pa10, 0},
924a5a4af3bSchristos { "fadd",	0x30000600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
925a5a4af3bSchristos { "fadd",	0x38000600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
926a5a4af3bSchristos { "fsub",	0x30002600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
927a5a4af3bSchristos { "fsub",	0x38002600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
928a5a4af3bSchristos { "fmpy",	0x30004600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
929a5a4af3bSchristos { "fmpy",	0x38004600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
930a5a4af3bSchristos { "fdiv",	0x30006600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
931a5a4af3bSchristos { "fdiv",	0x38006600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
932a5a4af3bSchristos { "fsqrt",	0x30008000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
933a5a4af3bSchristos { "fsqrt",	0x38008000, 0xfc1fe720, "FfA,fT", pa10, 0},
934a5a4af3bSchristos { "fabs",	0x30006000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
935a5a4af3bSchristos { "fabs",	0x38006000, 0xfc1fe720, "FfA,fT", pa10, 0},
936a5a4af3bSchristos { "frem",	0x30008600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
937a5a4af3bSchristos { "frem",	0x38008600, 0xfc00e720, "FfA,fB,fT", pa10, 0},
938a5a4af3bSchristos { "frnd",	0x3000a000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
939a5a4af3bSchristos { "frnd",	0x3800a000, 0xfc1fe720, "FfA,fT", pa10, 0},
940a5a4af3bSchristos { "fcpy",	0x30004000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
941a5a4af3bSchristos { "fcpy",	0x38004000, 0xfc1fe720, "FfA,fT", pa10, 0},
942a5a4af3bSchristos { "fcnvff",	0x30000200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
943a5a4af3bSchristos { "fcnvff",	0x38000200, 0xfc1f8720, "FGfA,fT", pa10, 0},
944a5a4af3bSchristos { "fcnvxf",	0x30008200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
945a5a4af3bSchristos { "fcnvxf",	0x38008200, 0xfc1f8720, "FGfA,fT", pa10, 0},
946a5a4af3bSchristos { "fcnvfx",	0x30010200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
947a5a4af3bSchristos { "fcnvfx",	0x38010200, 0xfc1f8720, "FGfA,fT", pa10, 0},
948a5a4af3bSchristos { "fcnvfxt",	0x30018200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
949a5a4af3bSchristos { "fcnvfxt",	0x38018200, 0xfc1f8720, "FGfA,fT", pa10, 0},
950a5a4af3bSchristos { "fmpyfadd",	0xb8000000, 0xfc000020, "IfA,fB,fC,fT", pa20, FLAG_STRICT},
951a5a4af3bSchristos { "fmpynfadd",	0xb8000020, 0xfc000020, "IfA,fB,fC,fT", pa20, FLAG_STRICT},
952a5a4af3bSchristos { "fneg",	0x3000c000, 0xfc1fe7e0, "Ffa,fT", pa20, FLAG_STRICT},
953a5a4af3bSchristos { "fneg",	0x3800c000, 0xfc1fe720, "IfA,fT", pa20, FLAG_STRICT},
954a5a4af3bSchristos { "fnegabs",	0x3000e000, 0xfc1fe7e0, "Ffa,fT", pa20, FLAG_STRICT},
955a5a4af3bSchristos { "fnegabs",	0x3800e000, 0xfc1fe720, "IfA,fT", pa20, FLAG_STRICT},
956a5a4af3bSchristos { "fcnv",	0x30000200, 0xfc1c0720, "{_fa,fT", pa20, FLAG_STRICT},
957a5a4af3bSchristos { "fcnv",	0x38000200, 0xfc1c0720, "FGfA,fT", pa20, FLAG_STRICT},
958a5a4af3bSchristos { "fcmp",	0x30000400, 0xfc00e7e0, "F?ffa,fb", pa10, FLAG_STRICT},
959a5a4af3bSchristos { "fcmp",	0x38000400, 0xfc00e720, "I?ffA,fB", pa10, FLAG_STRICT},
960a5a4af3bSchristos { "fcmp",	0x30000400, 0xfc0007e0, "F?ffa,fb,h", pa20, FLAG_STRICT},
961a5a4af3bSchristos { "fcmp",	0x38000400, 0xfc000720, "I?ffA,fB,h", pa20, FLAG_STRICT},
962a5a4af3bSchristos { "fcmp",	0x30000400, 0xfc00e7e0, "F?ffa,fb", pa10, 0},
963a5a4af3bSchristos { "fcmp",	0x38000400, 0xfc00e720, "I?ffA,fB", pa10, 0},
964a5a4af3bSchristos { "xmpyu",	0x38004700, 0xfc00e720, "fX,fB,fT", pa11, 0},
965a5a4af3bSchristos { "fmpyadd",	0x18000000, 0xfc000000, "Hfi,fj,fk,fl,fm", pa11, 0},
966a5a4af3bSchristos { "fmpysub",	0x98000000, 0xfc000000, "Hfi,fj,fk,fl,fm", pa11, 0},
967a5a4af3bSchristos { "ftest",	0x30002420, 0xffffffff, "", pa10, FLAG_STRICT},
968a5a4af3bSchristos { "ftest",	0x30002420, 0xffffffe0, ",=", pa20, FLAG_STRICT},
969a5a4af3bSchristos { "ftest",	0x30000420, 0xffff1fff, "m", pa20, FLAG_STRICT},
970a5a4af3bSchristos { "fid",	0x30000000, 0xffffffff, "", pa11, 0},
971a5a4af3bSchristos 
972a5a4af3bSchristos /* Performance Monitor Instructions.  */
973a5a4af3bSchristos 
974a5a4af3bSchristos { "pmdis",	0x30000280, 0xffffffdf, "N", pa20, FLAG_STRICT},
975a5a4af3bSchristos { "pmenb",	0x30000680, 0xffffffff, "", pa20, FLAG_STRICT},
976a5a4af3bSchristos 
977a5a4af3bSchristos /* Assist Instructions.  */
978a5a4af3bSchristos 
979a5a4af3bSchristos { "spop0",	0x10000000, 0xfc000600, "v,ON", pa10, 0},
980a5a4af3bSchristos { "spop1",	0x10000200, 0xfc000600, "v,oNt", pa10, 0},
981a5a4af3bSchristos { "spop2",	0x10000400, 0xfc000600, "v,1Nb", pa10, 0},
982a5a4af3bSchristos { "spop3",	0x10000600, 0xfc000600, "v,0Nx,b", pa10, 0},
983a5a4af3bSchristos { "copr",	0x30000000, 0xfc000000, "u,2N", pa10, 0},
984a5a4af3bSchristos { "cldw",	0x24000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
985a5a4af3bSchristos { "cldw",	0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
986a5a4af3bSchristos { "cldw",	0x24000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
987a5a4af3bSchristos { "cldw",	0x24000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
988a5a4af3bSchristos { "cldw",	0x24001000, 0xfc00d200, "ucocc@(b),t", pa20, FLAG_STRICT},
989a5a4af3bSchristos { "cldw",	0x24001000, 0xfc001200, "ucocc@(s,b),t", pa20, FLAG_STRICT},
990a5a4af3bSchristos { "cldw",	0x24001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
991a5a4af3bSchristos { "cldw",	0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
992a5a4af3bSchristos { "cldw",	0x24001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
993a5a4af3bSchristos { "cldw",	0x24001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
994a5a4af3bSchristos { "cldd",	0x2c000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
995a5a4af3bSchristos { "cldd",	0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
996a5a4af3bSchristos { "cldd",	0x2c000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
997a5a4af3bSchristos { "cldd",	0x2c000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
998a5a4af3bSchristos { "cldd",	0x2c001000, 0xfc00d200, "ucocc@(b),t", pa20, FLAG_STRICT},
999a5a4af3bSchristos { "cldd",	0x2c001000, 0xfc001200, "ucocc@(s,b),t", pa20, FLAG_STRICT},
1000a5a4af3bSchristos { "cldd",	0x2c001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
1001a5a4af3bSchristos { "cldd",	0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
1002a5a4af3bSchristos { "cldd",	0x2c001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
1003a5a4af3bSchristos { "cldd",	0x2c001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
1004a5a4af3bSchristos { "cstw",	0x24000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
1005a5a4af3bSchristos { "cstw",	0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
1006a5a4af3bSchristos { "cstw",	0x24000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
1007a5a4af3bSchristos { "cstw",	0x24000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
1008a5a4af3bSchristos { "cstw",	0x24001200, 0xfc00d200, "ucocCt,@(b)", pa20, FLAG_STRICT},
1009a5a4af3bSchristos { "cstw",	0x24001200, 0xfc001200, "ucocCt,@(s,b)", pa20, FLAG_STRICT},
1010a5a4af3bSchristos { "cstw",	0x24001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
1011a5a4af3bSchristos { "cstw",	0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
1012a5a4af3bSchristos { "cstw",	0x24001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
1013a5a4af3bSchristos { "cstw",	0x24001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
1014a5a4af3bSchristos { "cstd",	0x2c000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
1015a5a4af3bSchristos { "cstd",	0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
1016a5a4af3bSchristos { "cstd",	0x2c000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
1017a5a4af3bSchristos { "cstd",	0x2c000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
1018a5a4af3bSchristos { "cstd",	0x2c001200, 0xfc00d200, "ucocCt,@(b)", pa20, FLAG_STRICT},
1019a5a4af3bSchristos { "cstd",	0x2c001200, 0xfc001200, "ucocCt,@(s,b)", pa20, FLAG_STRICT},
1020a5a4af3bSchristos { "cstd",	0x2c001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
1021a5a4af3bSchristos { "cstd",	0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
1022a5a4af3bSchristos { "cstd",	0x2c001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
1023a5a4af3bSchristos { "cstd",	0x2c001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
1024a5a4af3bSchristos { "cldwx",	0x24000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
1025a5a4af3bSchristos { "cldwx",	0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
1026a5a4af3bSchristos { "cldwx",	0x24000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
1027a5a4af3bSchristos { "cldwx",	0x24000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
1028a5a4af3bSchristos { "cldwx",	0x24000000, 0xfc00de00, "ucXx(b),t", pa10, 0},
1029a5a4af3bSchristos { "cldwx",	0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, 0},
1030a5a4af3bSchristos { "clddx",	0x2c000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
1031a5a4af3bSchristos { "clddx",	0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
1032a5a4af3bSchristos { "clddx",	0x2c000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
1033a5a4af3bSchristos { "clddx",	0x2c000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
1034a5a4af3bSchristos { "clddx",	0x2c000000, 0xfc00de00, "ucXx(b),t", pa10, 0},
1035a5a4af3bSchristos { "clddx",	0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, 0},
1036a5a4af3bSchristos { "cstwx",	0x24000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
1037a5a4af3bSchristos { "cstwx",	0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
1038a5a4af3bSchristos { "cstwx",	0x24000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
1039a5a4af3bSchristos { "cstwx",	0x24000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
1040a5a4af3bSchristos { "cstwx",	0x24000200, 0xfc00de00, "ucXt,x(b)", pa10, 0},
1041a5a4af3bSchristos { "cstwx",	0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, 0},
1042a5a4af3bSchristos { "cstdx",	0x2c000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
1043a5a4af3bSchristos { "cstdx",	0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
1044a5a4af3bSchristos { "cstdx",	0x2c000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
1045a5a4af3bSchristos { "cstdx",	0x2c000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
1046a5a4af3bSchristos { "cstdx",	0x2c000200, 0xfc00de00, "ucXt,x(b)", pa10, 0},
1047a5a4af3bSchristos { "cstdx",	0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, 0},
1048a5a4af3bSchristos { "cldws",	0x24001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
1049a5a4af3bSchristos { "cldws",	0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
1050a5a4af3bSchristos { "cldws",	0x24001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
1051a5a4af3bSchristos { "cldws",	0x24001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
1052a5a4af3bSchristos { "cldws",	0x24001000, 0xfc00de00, "ucM5(b),t", pa10, 0},
1053a5a4af3bSchristos { "cldws",	0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, 0},
1054a5a4af3bSchristos { "cldds",	0x2c001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
1055a5a4af3bSchristos { "cldds",	0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
1056a5a4af3bSchristos { "cldds",	0x2c001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
1057a5a4af3bSchristos { "cldds",	0x2c001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
1058a5a4af3bSchristos { "cldds",	0x2c001000, 0xfc00de00, "ucM5(b),t", pa10, 0},
1059a5a4af3bSchristos { "cldds",	0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, 0},
1060a5a4af3bSchristos { "cstws",	0x24001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
1061a5a4af3bSchristos { "cstws",	0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
1062a5a4af3bSchristos { "cstws",	0x24001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
1063a5a4af3bSchristos { "cstws",	0x24001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
1064a5a4af3bSchristos { "cstws",	0x24001200, 0xfc00de00, "ucMt,5(b)", pa10, 0},
1065a5a4af3bSchristos { "cstws",	0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, 0},
1066a5a4af3bSchristos { "cstds",	0x2c001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
1067a5a4af3bSchristos { "cstds",	0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
1068a5a4af3bSchristos { "cstds",	0x2c001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
1069a5a4af3bSchristos { "cstds",	0x2c001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
1070a5a4af3bSchristos { "cstds",	0x2c001200, 0xfc00de00, "ucMt,5(b)", pa10, 0},
1071a5a4af3bSchristos { "cstds",	0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, 0},
1072a5a4af3bSchristos 
1073a5a4af3bSchristos /* More pseudo instructions which must follow the main table.  */
1074a5a4af3bSchristos { "call",	0xe800f000, 0xfc1ffffd, "n(b)", pa20, FLAG_STRICT},
1075a5a4af3bSchristos { "call",	0xe800a000, 0xffe0e000, "nW", pa10, FLAG_STRICT},
1076a5a4af3bSchristos { "ret",	0xe840d000, 0xfffffffd, "n", pa20, FLAG_STRICT},
1077a5a4af3bSchristos 
1078a5a4af3bSchristos };
1079a5a4af3bSchristos 
1080a5a4af3bSchristos #define NUMOPCODES ((sizeof pa_opcodes)/(sizeof pa_opcodes[0]))
1081a5a4af3bSchristos 
1082a5a4af3bSchristos /* SKV 12/18/92. Added some denotations for various operands.  */
1083a5a4af3bSchristos 
1084a5a4af3bSchristos #define PA_IMM11_AT_31 'i'
1085a5a4af3bSchristos #define PA_IMM14_AT_31 'j'
1086a5a4af3bSchristos #define PA_IMM21_AT_31 'k'
1087a5a4af3bSchristos #define PA_DISP12 'w'
1088a5a4af3bSchristos #define PA_DISP17 'W'
1089a5a4af3bSchristos 
1090a5a4af3bSchristos #define N_HPPA_OPERAND_FORMATS 5
1091