xref: /netbsd-src/external/gpl3/binutils/dist/include/opcode/hppa.h (revision dd7241df2fae9da4ea2bd20a68f001fa86ecf909)
12a6b7db3Sskrll /* Table of opcodes for the PA-RISC.
2*dd7241dfSchristos    Copyright (C) 1990-2024 Free Software Foundation, Inc.
32a6b7db3Sskrll 
42a6b7db3Sskrll    Contributed by the Center for Software Science at the
52a6b7db3Sskrll    University of Utah (pa-gdb-bugs@cs.utah.edu).
62a6b7db3Sskrll 
76f226886Schristos    This file is part of the GNU opcodes library.
82a6b7db3Sskrll 
92a6b7db3Sskrll    GAS/GDB is free software; you can redistribute it and/or modify
102a6b7db3Sskrll    it under the terms of the GNU General Public License as published by
1132998b1cSchristos    the Free Software Foundation; either version 3, or (at your option)
122a6b7db3Sskrll    any later version.
132a6b7db3Sskrll 
142a6b7db3Sskrll    GAS/GDB is distributed in the hope that it will be useful,
152a6b7db3Sskrll    but WITHOUT ANY WARRANTY; without even the implied warranty of
162a6b7db3Sskrll    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
172a6b7db3Sskrll    GNU General Public License for more details.
182a6b7db3Sskrll 
192a6b7db3Sskrll    You should have received a copy of the GNU General Public License
2032998b1cSchristos    along with GAS or GDB; see the file COPYING3.  If not, write to
2132998b1cSchristos    the Free Software Foundation, 51 Franklin Street - Fifth Floor,
2232998b1cSchristos    Boston, MA 02110-1301, USA.  */
232a6b7db3Sskrll 
242a6b7db3Sskrll #if !defined(__STDC__) && !defined(const)
252a6b7db3Sskrll #define const
262a6b7db3Sskrll #endif
272a6b7db3Sskrll 
282a6b7db3Sskrll /*
292a6b7db3Sskrll  * Structure of an opcode table entry.
302a6b7db3Sskrll  */
312a6b7db3Sskrll 
322a6b7db3Sskrll /* There are two kinds of delay slot nullification: normal which is
332a6b7db3Sskrll  * controled by the nullification bit, and conditional, which depends
342a6b7db3Sskrll  * on the direction of the branch and its success or failure.
352a6b7db3Sskrll  *
362a6b7db3Sskrll  * NONE is unfortunately #defined in the hiux system include files.
372a6b7db3Sskrll  * #undef it away.
382a6b7db3Sskrll  */
392a6b7db3Sskrll #undef NONE
402a6b7db3Sskrll struct pa_opcode
412a6b7db3Sskrll {
422a6b7db3Sskrll     const char *name;
432a6b7db3Sskrll     unsigned long int match;	/* Bits that must be set...  */
442a6b7db3Sskrll     unsigned long int mask;	/* ... in these bits. */
452f15a542Schristos     const char *args;
462a6b7db3Sskrll     enum pa_arch arch;
472a6b7db3Sskrll     char flags;
482a6b7db3Sskrll };
492a6b7db3Sskrll 
502a6b7db3Sskrll /* Enables strict matching.  Opcodes with match errors are skipped
512a6b7db3Sskrll    when this bit is set.  */
522a6b7db3Sskrll #define FLAG_STRICT 0x1
532a6b7db3Sskrll 
542a6b7db3Sskrll /*
552a6b7db3Sskrll    All hppa opcodes are 32 bits.
562a6b7db3Sskrll 
572a6b7db3Sskrll    The match component is a mask saying which bits must match a
582a6b7db3Sskrll    particular opcode in order for an instruction to be an instance
592a6b7db3Sskrll    of that opcode.
602a6b7db3Sskrll 
612a6b7db3Sskrll    The args component is a string containing one character for each operand of
622a6b7db3Sskrll    the instruction.  Characters used as a prefix allow any second character to
632a6b7db3Sskrll    be used without conflicting with the main operand characters.
642a6b7db3Sskrll 
652a6b7db3Sskrll    Bit positions in this description follow HP usage of lsb = 31,
662a6b7db3Sskrll    "at" is lsb of field.
672a6b7db3Sskrll 
682a6b7db3Sskrll    In the args field, the following characters must match exactly:
692a6b7db3Sskrll 
702a6b7db3Sskrll 	'+,() '
712a6b7db3Sskrll 
722a6b7db3Sskrll    In the args field, the following characters are unused:
732a6b7db3Sskrll 
742a6b7db3Sskrll 	'  "         -  /   34 6789:;    '
752a6b7db3Sskrll 	'@  C         M             [\]  '
762a6b7db3Sskrll 	'`    e g                     }  '
772a6b7db3Sskrll 
782a6b7db3Sskrll    Here are all the characters:
792a6b7db3Sskrll 
802a6b7db3Sskrll 	' !"#$%&'()*+-,./0123456789:;<=>?'
812a6b7db3Sskrll 	'@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
822a6b7db3Sskrll 	'`abcdefghijklmnopqrstuvwxyz{|}~ '
832a6b7db3Sskrll 
842a6b7db3Sskrll Kinds of operands:
852a6b7db3Sskrll    x    integer register field at 15.
862a6b7db3Sskrll    b    integer register field at 10.
872a6b7db3Sskrll    t    integer register field at 31.
882a6b7db3Sskrll    a	integer register field at 10 and 15 (for PERMH)
892a6b7db3Sskrll    5    5 bit immediate at 15.
902a6b7db3Sskrll    s    2 bit space specifier at 17.
912a6b7db3Sskrll    S    3 bit space specifier at 18.
922a6b7db3Sskrll    V    5 bit immediate value at 31
932a6b7db3Sskrll    i    11 bit immediate value at 31
942a6b7db3Sskrll    j    14 bit immediate value at 31
952a6b7db3Sskrll    k    21 bit immediate value at 31
962a6b7db3Sskrll    l    16 bit immediate value at 31 (wide mode only, unusual encoding).
972a6b7db3Sskrll    n	nullification for branch instructions
982a6b7db3Sskrll    N	nullification for spop and copr instructions
992a6b7db3Sskrll    w    12 bit branch displacement
1002a6b7db3Sskrll    W    17 bit branch displacement (PC relative)
1012a6b7db3Sskrll    X    22 bit branch displacement (PC relative)
1022a6b7db3Sskrll    z    17 bit branch displacement (just a number, not an address)
1032a6b7db3Sskrll 
1042a6b7db3Sskrll Also these:
1052a6b7db3Sskrll 
1062a6b7db3Sskrll    .    2 bit shift amount at 25
1072a6b7db3Sskrll    *    4 bit shift amount at 25
1082a6b7db3Sskrll    p    5 bit shift count at 26 (to support the SHD instruction) encoded as
1092a6b7db3Sskrll         31-p
1102a6b7db3Sskrll    ~    6 bit shift count at 20,22:26 encoded as 63-~.
1112a6b7db3Sskrll    P    5 bit bit position at 26
1122a6b7db3Sskrll    q    6 bit bit position at 20,22:26
1132a6b7db3Sskrll    T    5 bit field length at 31 (encoded as 32-T)
1142a6b7db3Sskrll    %	6 bit field length at 23,27:31 (variable extract/deposit)
1152a6b7db3Sskrll    |	6 bit field length at 19,27:31 (fixed extract/deposit)
1162a6b7db3Sskrll    A    13 bit immediate at 18 (to support the BREAK instruction)
1172a6b7db3Sskrll    ^	like b, but describes a control register
1182a6b7db3Sskrll    !    sar (cr11) register
1192a6b7db3Sskrll    D    26 bit immediate at 31 (to support the DIAG instruction)
1202a6b7db3Sskrll    $    9 bit immediate at 28 (to support POPBTS)
1212a6b7db3Sskrll 
1222a6b7db3Sskrll    v    3 bit Special Function Unit identifier at 25
1232a6b7db3Sskrll    O    20 bit Special Function Unit operation split between 15 bits at 20
1242a6b7db3Sskrll         and 5 bits at 31
1252a6b7db3Sskrll    o    15 bit Special Function Unit operation at 20
1262a6b7db3Sskrll    2    22 bit Special Function Unit operation split between 17 bits at 20
1272a6b7db3Sskrll         and 5 bits at 31
1282a6b7db3Sskrll    1    15 bit Special Function Unit operation split between 10 bits at 20
1292a6b7db3Sskrll         and 5 bits at 31
1302a6b7db3Sskrll    0    10 bit Special Function Unit operation split between 5 bits at 20
1312a6b7db3Sskrll         and 5 bits at 31
1322a6b7db3Sskrll    u    3 bit coprocessor unit identifier at 25
1332a6b7db3Sskrll    F    Source Floating Point Operand Format Completer encoded 2 bits at 20
1342a6b7db3Sskrll    I    Source Floating Point Operand Format Completer encoded 1 bits at 20
1352a6b7db3Sskrll 	(for 0xe format FP instructions)
1362a6b7db3Sskrll    G    Destination Floating Point Operand Format Completer encoded 2 bits at 18
1372a6b7db3Sskrll    H    Floating Point Operand Format at 26 for 'fmpyadd' and 'fmpysub'
1382a6b7db3Sskrll         (very similar to 'F')
1392a6b7db3Sskrll 
1402a6b7db3Sskrll    r	5 bit immediate value at 31 (for the break instruction)
1412a6b7db3Sskrll 	(very similar to V above, except the value is unsigned instead of
1422a6b7db3Sskrll 	low_sign_ext)
1432a6b7db3Sskrll    R	5 bit immediate value at 15 (for the ssm, rsm, probei instructions)
1442a6b7db3Sskrll 	(same as r above, except the value is in a different location)
1452a6b7db3Sskrll    U	10 bit immediate value at 15 (for SSM, RSM on pa2.0)
1462a6b7db3Sskrll    Q	5 bit immediate value at 10 (a bit position specified in
1472a6b7db3Sskrll 	the bb instruction. It's the same as r above, except the
1482a6b7db3Sskrll         value is in a different location)
1492a6b7db3Sskrll    B	5 bit immediate value at 10 (a bit position specified in
1502a6b7db3Sskrll 	the bb instruction. Similar to Q, but 64 bit handling is
1512a6b7db3Sskrll 	different.
1522a6b7db3Sskrll    Z    %r1 -- implicit target of addil instruction.
1532a6b7db3Sskrll    L    ,%r2 completer for new syntax branch
1542a6b7db3Sskrll    {    Source format completer for fcnv
1552a6b7db3Sskrll    _    Destination format completer for fcnv
1562a6b7db3Sskrll    h    cbit for fcmp
1572a6b7db3Sskrll    =    gfx tests for ftest
1582a6b7db3Sskrll    d    14 bit offset for single precision FP long load/store.
1592a6b7db3Sskrll    #    14 bit offset for double precision FP load long/store.
1602a6b7db3Sskrll    J    Yet another 14 bit offset for load/store with ma,mb completers.
1612a6b7db3Sskrll    K    Yet another 14 bit offset for load/store with ma,mb completers.
1622a6b7db3Sskrll    y    16 bit offset for word aligned load/store (PA2.0 wide).
1632a6b7db3Sskrll    &    16 bit offset for dword aligned load/store (PA2.0 wide).
1642a6b7db3Sskrll    <    16 bit offset for load/store with ma,mb completers (PA2.0 wide).
1652a6b7db3Sskrll    >    16 bit offset for load/store with ma,mb completers (PA2.0 wide).
1662a6b7db3Sskrll    Y    %sr0,%r31 -- implicit target of be,l instruction.
1672a6b7db3Sskrll    @	implicit immediate value of 0
1682a6b7db3Sskrll 
1692a6b7db3Sskrll Completer operands all have 'c' as the prefix:
1702a6b7db3Sskrll 
1712a6b7db3Sskrll    cx   indexed load and store completer.
1722a6b7db3Sskrll    cX   indexed load and store completer.  Like cx, but emits a space
1732a6b7db3Sskrll 	after in disassembler.
1742a6b7db3Sskrll    cm   short load and store completer.
1752a6b7db3Sskrll    cM   short load and store completer.  Like cm, but emits a space
1762a6b7db3Sskrll         after in disassembler.
1772a6b7db3Sskrll    cq   long load and store completer (like cm, but inserted into a
1782a6b7db3Sskrll 	different location in the target instruction).
1792a6b7db3Sskrll    cs   store bytes short completer.
1802a6b7db3Sskrll    cA   store bytes short completer.  Like cs, but emits a space
1812a6b7db3Sskrll         after in disassembler.
1822a6b7db3Sskrll    ce   long load/store completer for LDW/STW with a different encoding
1832a6b7db3Sskrll 	than the others
1842a6b7db3Sskrll    cc   load cache control hint
1852a6b7db3Sskrll    cd   load and clear cache control hint
1862a6b7db3Sskrll    cC   store cache control hint
1872a6b7db3Sskrll    co	ordered access
1882a6b7db3Sskrll 
1892a6b7db3Sskrll    cp	branch link and push completer
1902a6b7db3Sskrll    cP	branch pop completer
1912a6b7db3Sskrll    cl	branch link completer
1922a6b7db3Sskrll    cg	branch gate completer
1932a6b7db3Sskrll 
1942a6b7db3Sskrll    cw	read/write completer for PROBE
1952a6b7db3Sskrll    cW	wide completer for MFCTL
1962a6b7db3Sskrll    cL	local processor completer for cache control
1972a6b7db3Sskrll    cZ   System Control Completer (to support LPA, LHA, etc.)
1982a6b7db3Sskrll 
1992a6b7db3Sskrll    ci	correction completer for DCOR
2002a6b7db3Sskrll    ca	add completer
2012a6b7db3Sskrll    cy	32 bit add carry completer
2022a6b7db3Sskrll    cY	64 bit add carry completer
2032a6b7db3Sskrll    cv	signed overflow trap completer
2042a6b7db3Sskrll    ct	trap on condition completer for ADDI, SUB
2052a6b7db3Sskrll    cT	trap on condition completer for UADDCM
2062a6b7db3Sskrll    cb	32 bit borrow completer for SUB
2072a6b7db3Sskrll    cB	64 bit borrow completer for SUB
2082a6b7db3Sskrll 
2092a6b7db3Sskrll    ch	left/right half completer
2102a6b7db3Sskrll    cH	signed/unsigned saturation completer
2112a6b7db3Sskrll    cS	signed/unsigned completer at 21
2122a6b7db3Sskrll    cz	zero/sign extension completer.
2132a6b7db3Sskrll    c*	permutation completer
2142a6b7db3Sskrll 
2152a6b7db3Sskrll Condition operands all have '?' as the prefix:
2162a6b7db3Sskrll 
2172a6b7db3Sskrll    ?f   Floating point compare conditions (encoded as 5 bits at 31)
2182a6b7db3Sskrll 
2192a6b7db3Sskrll    ?a	add conditions
2202a6b7db3Sskrll    ?A	64 bit add conditions
2212a6b7db3Sskrll    ?@   add branch conditions followed by nullify
2222a6b7db3Sskrll    ?d	non-negated add branch conditions
2232a6b7db3Sskrll    ?D	negated add branch conditions
2242a6b7db3Sskrll    ?w	wide mode non-negated add branch conditions
2252a6b7db3Sskrll    ?W	wide mode negated add branch conditions
2262a6b7db3Sskrll 
2272a6b7db3Sskrll    ?s   compare/subtract conditions
2282a6b7db3Sskrll    ?S	64 bit compare/subtract conditions
2292a6b7db3Sskrll    ?t   non-negated compare and branch conditions
2302a6b7db3Sskrll    ?n   32 bit compare and branch conditions followed by nullify
2312a6b7db3Sskrll    ?N   64 bit compare and branch conditions followed by nullify
2322a6b7db3Sskrll    ?Q	64 bit compare and branch conditions for CMPIB instruction
2332a6b7db3Sskrll 
2342a6b7db3Sskrll    ?l   logical conditions
2352a6b7db3Sskrll    ?L	64 bit logical conditions
2362a6b7db3Sskrll 
2372a6b7db3Sskrll    ?b   branch on bit conditions
2382a6b7db3Sskrll    ?B	64 bit branch on bit conditions
2392a6b7db3Sskrll 
2402a6b7db3Sskrll    ?x   shift/extract/deposit conditions
2412a6b7db3Sskrll    ?X	64 bit shift/extract/deposit conditions
2422a6b7db3Sskrll    ?y   shift/extract/deposit conditions followed by nullify for conditional
2432a6b7db3Sskrll         branches
2442a6b7db3Sskrll 
2452a6b7db3Sskrll    ?u   unit conditions
2462a6b7db3Sskrll    ?U   64 bit unit conditions
2472a6b7db3Sskrll 
2482a6b7db3Sskrll Floating point registers all have 'f' as a prefix:
2492a6b7db3Sskrll 
2502a6b7db3Sskrll    ft	target register at 31
2512a6b7db3Sskrll    fT	target register with L/R halves at 31
2522a6b7db3Sskrll    fa	operand 1 register at 10
2532a6b7db3Sskrll    fA   operand 1 register with L/R halves at 10
2542a6b7db3Sskrll    fX   Same as fA, except prints a space before register during disasm
2552a6b7db3Sskrll    fb	operand 2 register at 15
2562a6b7db3Sskrll    fB   operand 2 register with L/R halves at 15
2572a6b7db3Sskrll    fC   operand 3 register with L/R halves at 16:18,21:23
2582a6b7db3Sskrll    fe   Like fT, but encoding is different.
2592a6b7db3Sskrll    fE   Same as fe, except prints a space before register during disasm.
2602a6b7db3Sskrll    fx	target register at 15 (only for PA 2.0 long format FLDD/FSTD).
2612a6b7db3Sskrll 
2622a6b7db3Sskrll Float registers for fmpyadd and fmpysub:
2632a6b7db3Sskrll 
2642a6b7db3Sskrll    fi	mult operand 1 register at 10
2652a6b7db3Sskrll    fj	mult operand 2 register at 15
2662a6b7db3Sskrll    fk	mult target register at 20
2672a6b7db3Sskrll    fl	add/sub operand register at 25
2682a6b7db3Sskrll    fm	add/sub target register at 31
2692a6b7db3Sskrll 
2702a6b7db3Sskrll */
2712a6b7db3Sskrll 
2722a6b7db3Sskrll 
2732a6b7db3Sskrll #if 0
2742a6b7db3Sskrll /* List of characters not to put a space after.  Note that
2752a6b7db3Sskrll    "," is included, as the "spopN" operations use literal
2762a6b7db3Sskrll    commas in their completer sections.  */
2772a6b7db3Sskrll static const char *const completer_chars = ",CcY<>?!@+&U~FfGHINnOoZMadu|/=0123%e$m}";
2782a6b7db3Sskrll #endif
2792a6b7db3Sskrll 
2802a6b7db3Sskrll /* The order of the opcodes in this table is significant:
2812a6b7db3Sskrll 
2822a6b7db3Sskrll    * The assembler requires that all instances of the same mnemonic be
2832a6b7db3Sskrll      consecutive.  If they aren't, the assembler will bomb at runtime.
2842a6b7db3Sskrll 
2852a6b7db3Sskrll    * Immediate fields use pa_get_absolute_expression to parse the
2862a6b7db3Sskrll      string.  It will generate a "bad expression" error if passed
2872a6b7db3Sskrll      a register name.  Thus, register index variants of an opcode
2882a6b7db3Sskrll      need to precede immediate variants.
2892a6b7db3Sskrll 
2902a6b7db3Sskrll    * The disassembler does not care about the order of the opcodes
2912a6b7db3Sskrll      except in cases where implicit addressing is used.
2922a6b7db3Sskrll 
2932a6b7db3Sskrll    Here are the rules for ordering the opcodes of a mnemonic:
2942a6b7db3Sskrll 
2952a6b7db3Sskrll    1) Opcodes with FLAG_STRICT should precede opcodes without
2962a6b7db3Sskrll       FLAG_STRICT.
2972a6b7db3Sskrll 
2982a6b7db3Sskrll    2) Opcodes with FLAG_STRICT should be ordered as follows:
2992a6b7db3Sskrll       register index opcodes, short immediate opcodes, and finally
3002a6b7db3Sskrll       long immediate opcodes.  When both pa10 and pa11 variants
3012a6b7db3Sskrll       of the same opcode are available, the pa10 opcode should
3022a6b7db3Sskrll       come first for correct architectural promotion.
3032a6b7db3Sskrll 
3042a6b7db3Sskrll    3) When implicit addressing is available for an opcode, the
3052a6b7db3Sskrll       implicit opcode should precede the explicit opcode.
3062a6b7db3Sskrll 
3072a6b7db3Sskrll    4) Opcodes without FLAG_STRICT should be ordered as follows:
3082a6b7db3Sskrll       register index opcodes, long immediate opcodes, and finally
3092a6b7db3Sskrll       short immediate opcodes.  */
3102a6b7db3Sskrll 
3112a6b7db3Sskrll static const struct pa_opcode pa_opcodes[] =
3122a6b7db3Sskrll {
3132a6b7db3Sskrll 
3142a6b7db3Sskrll /* Pseudo-instructions.  */
3152a6b7db3Sskrll 
3162a6b7db3Sskrll { "ldi",	0x34000000, 0xffe00000, "l,x", pa20w, 0},/* ldo val(r0),r */
3172a6b7db3Sskrll { "ldi",	0x34000000, 0xffe0c000, "j,x", pa10, 0},/* ldo val(r0),r */
3182a6b7db3Sskrll 
3192a6b7db3Sskrll { "cmpib",	0xec000000, 0xfc000000, "?Qn5,b,w", pa20, FLAG_STRICT},
3202a6b7db3Sskrll { "cmpib", 	0x84000000, 0xf4000000, "?nn5,b,w", pa10, FLAG_STRICT},
3212a6b7db3Sskrll { "comib", 	0x84000000, 0xfc000000, "?nn5,b,w", pa10, 0}, /* comib{tf}*/
3222a6b7db3Sskrll /* This entry is for the disassembler only.  It will never be used by
3232a6b7db3Sskrll    assembler.  */
3242a6b7db3Sskrll { "comib", 	0x8c000000, 0xfc000000, "?nn5,b,w", pa10, 0}, /* comib{tf}*/
3252a6b7db3Sskrll { "cmpb",	0x9c000000, 0xdc000000, "?Nnx,b,w", pa20, FLAG_STRICT},
3262a6b7db3Sskrll { "cmpb",	0x80000000, 0xf4000000, "?nnx,b,w", pa10, FLAG_STRICT},
3272a6b7db3Sskrll { "comb",	0x80000000, 0xfc000000, "?nnx,b,w", pa10, 0}, /* comb{tf} */
3282a6b7db3Sskrll /* This entry is for the disassembler only.  It will never be used by
3292a6b7db3Sskrll    assembler.  */
3302a6b7db3Sskrll { "comb",	0x88000000, 0xfc000000, "?nnx,b,w", pa10, 0}, /* comb{tf} */
3312a6b7db3Sskrll { "addb",	0xa0000000, 0xf4000000, "?Wnx,b,w", pa20w, FLAG_STRICT},
3322a6b7db3Sskrll { "addb",	0xa0000000, 0xfc000000, "?@nx,b,w", pa10, 0}, /* addb{tf} */
3332a6b7db3Sskrll /* This entry is for the disassembler only.  It will never be used by
3342a6b7db3Sskrll    assembler.  */
3352a6b7db3Sskrll { "addb",	0xa8000000, 0xfc000000, "?@nx,b,w", pa10, 0},
3362a6b7db3Sskrll { "addib",	0xa4000000, 0xf4000000, "?Wn5,b,w", pa20w, FLAG_STRICT},
3372a6b7db3Sskrll { "addib",	0xa4000000, 0xfc000000, "?@n5,b,w", pa10, 0}, /* addib{tf}*/
3382a6b7db3Sskrll /* This entry is for the disassembler only.  It will never be used by
3392a6b7db3Sskrll    assembler.  */
3402a6b7db3Sskrll { "addib",	0xac000000, 0xfc000000, "?@n5,b,w", pa10, 0}, /* addib{tf}*/
3412a6b7db3Sskrll { "nop",	0x08000240, 0xffffffff, "", pa10, 0},      /* or 0,0,0 */
3422a6b7db3Sskrll { "copy",	0x08000240, 0xffe0ffe0, "x,t", pa10, 0},   /* or r,0,t */
3432a6b7db3Sskrll { "mtsar",	0x01601840, 0xffe0ffff, "x", pa10, 0}, /* mtctl r,cr11 */
3442a6b7db3Sskrll 
3452a6b7db3Sskrll /* Loads and Stores for integer registers.  */
3462a6b7db3Sskrll 
3472a6b7db3Sskrll { "ldd",	0x0c0000c0, 0xfc00d3c0, "cxccx(b),t", pa20, FLAG_STRICT},
3482a6b7db3Sskrll { "ldd",	0x0c0000c0, 0xfc0013c0, "cxccx(s,b),t", pa20, FLAG_STRICT},
3492a6b7db3Sskrll { "ldd",	0x0c0010e0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
3502a6b7db3Sskrll { "ldd",	0x0c0010e0, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
3512a6b7db3Sskrll { "ldd",	0x0c0010c0, 0xfc00d3c0, "cmcc5(b),t", pa20, FLAG_STRICT},
3522a6b7db3Sskrll { "ldd",	0x0c0010c0, 0xfc0013c0, "cmcc5(s,b),t", pa20, FLAG_STRICT},
3532a6b7db3Sskrll { "ldd",	0x50000000, 0xfc000002, "cq&(b),x", pa20w, FLAG_STRICT},
3542a6b7db3Sskrll { "ldd",	0x50000000, 0xfc00c002, "cq#(b),x", pa20, FLAG_STRICT},
3552a6b7db3Sskrll { "ldd",	0x50000000, 0xfc000002, "cq#(s,b),x", pa20, FLAG_STRICT},
3562a6b7db3Sskrll { "ldw",	0x0c000080, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
3572a6b7db3Sskrll { "ldw",	0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
3582a6b7db3Sskrll { "ldw",	0x0c000080, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
3592a6b7db3Sskrll { "ldw",	0x0c000080, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
3602a6b7db3Sskrll { "ldw",	0x0c0010a0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
3612a6b7db3Sskrll { "ldw",	0x0c0010a0, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
3622a6b7db3Sskrll { "ldw",	0x0c001080, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
3632a6b7db3Sskrll { "ldw",	0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
3642a6b7db3Sskrll { "ldw",	0x0c001080, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
3652a6b7db3Sskrll { "ldw",	0x0c001080, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
3662a6b7db3Sskrll { "ldw",	0x4c000000, 0xfc000000, "ce<(b),x", pa20w, FLAG_STRICT},
3672a6b7db3Sskrll { "ldw",	0x5c000004, 0xfc000006, "ce>(b),x", pa20w, FLAG_STRICT},
3682a6b7db3Sskrll { "ldw",	0x48000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT},
3692a6b7db3Sskrll { "ldw",	0x5c000004, 0xfc00c006, "ceK(b),x", pa20, FLAG_STRICT},
3702a6b7db3Sskrll { "ldw",	0x5c000004, 0xfc000006, "ceK(s,b),x", pa20, FLAG_STRICT},
3712a6b7db3Sskrll { "ldw",	0x4c000000, 0xfc00c000, "ceJ(b),x", pa10, FLAG_STRICT},
3722a6b7db3Sskrll { "ldw",	0x4c000000, 0xfc000000, "ceJ(s,b),x", pa10, FLAG_STRICT},
3732a6b7db3Sskrll { "ldw",	0x48000000, 0xfc00c000, "j(b),x", pa10, 0},
3742a6b7db3Sskrll { "ldw",	0x48000000, 0xfc000000, "j(s,b),x", pa10, 0},
3752a6b7db3Sskrll { "ldh",	0x0c000040, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
3762a6b7db3Sskrll { "ldh",	0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
3772a6b7db3Sskrll { "ldh",	0x0c000040, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
3782a6b7db3Sskrll { "ldh",	0x0c000040, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
3792a6b7db3Sskrll { "ldh",	0x0c001060, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
3802a6b7db3Sskrll { "ldh",	0x0c001060, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
3812a6b7db3Sskrll { "ldh",	0x0c001040, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
3822a6b7db3Sskrll { "ldh",	0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
3832a6b7db3Sskrll { "ldh",	0x0c001040, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
3842a6b7db3Sskrll { "ldh",	0x0c001040, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
3852a6b7db3Sskrll { "ldh",	0x44000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT},
3862a6b7db3Sskrll { "ldh",	0x44000000, 0xfc00c000, "j(b),x", pa10, 0},
3872a6b7db3Sskrll { "ldh",	0x44000000, 0xfc000000, "j(s,b),x", pa10, 0},
3882a6b7db3Sskrll { "ldb",	0x0c000000, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
3892a6b7db3Sskrll { "ldb",	0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
3902a6b7db3Sskrll { "ldb",	0x0c000000, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
3912a6b7db3Sskrll { "ldb",	0x0c000000, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
3922a6b7db3Sskrll { "ldb",	0x0c001020, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
3932a6b7db3Sskrll { "ldb",	0x0c001020, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT},
3942a6b7db3Sskrll { "ldb",	0x0c001000, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
3952a6b7db3Sskrll { "ldb",	0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
3962a6b7db3Sskrll { "ldb",	0x0c001000, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
3972a6b7db3Sskrll { "ldb",	0x0c001000, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
3982a6b7db3Sskrll { "ldb",	0x40000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT},
3992a6b7db3Sskrll { "ldb",	0x40000000, 0xfc00c000, "j(b),x", pa10, 0},
4002a6b7db3Sskrll { "ldb",	0x40000000, 0xfc000000, "j(s,b),x", pa10, 0},
4012a6b7db3Sskrll { "std",	0x0c0012e0, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
4022a6b7db3Sskrll { "std",	0x0c0012e0, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
4032a6b7db3Sskrll { "std",	0x0c0012c0, 0xfc00d3c0, "cmcCx,V(b)", pa20, FLAG_STRICT},
4042a6b7db3Sskrll { "std",	0x0c0012c0, 0xfc0013c0, "cmcCx,V(s,b)", pa20, FLAG_STRICT},
4052a6b7db3Sskrll { "std",	0x70000000, 0xfc000002, "cqx,&(b)", pa20w, FLAG_STRICT},
4062a6b7db3Sskrll { "std",	0x70000000, 0xfc00c002, "cqx,#(b)", pa20, FLAG_STRICT},
4072a6b7db3Sskrll { "std",	0x70000000, 0xfc000002, "cqx,#(s,b)", pa20, FLAG_STRICT},
4082a6b7db3Sskrll { "stw",	0x0c0012a0, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
4092a6b7db3Sskrll { "stw",	0x0c0012a0, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
4102a6b7db3Sskrll { "stw",	0x0c001280, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
4112a6b7db3Sskrll { "stw",	0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
4122a6b7db3Sskrll { "stw",	0x0c001280, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
4132a6b7db3Sskrll { "stw",	0x0c001280, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
4142a6b7db3Sskrll { "stw",	0x6c000000, 0xfc000000, "cex,<(b)", pa20w, FLAG_STRICT},
4152a6b7db3Sskrll { "stw",	0x7c000004, 0xfc000006, "cex,>(b)", pa20w, FLAG_STRICT},
4162a6b7db3Sskrll { "stw",	0x68000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT},
4172a6b7db3Sskrll { "stw",	0x7c000004, 0xfc00c006, "cex,K(b)", pa20, FLAG_STRICT},
4182a6b7db3Sskrll { "stw",	0x7c000004, 0xfc000006, "cex,K(s,b)", pa20, FLAG_STRICT},
4192a6b7db3Sskrll { "stw",	0x6c000000, 0xfc00c000, "cex,J(b)", pa10, FLAG_STRICT},
4202a6b7db3Sskrll { "stw",	0x6c000000, 0xfc000000, "cex,J(s,b)", pa10, FLAG_STRICT},
4212a6b7db3Sskrll { "stw",	0x68000000, 0xfc00c000, "x,j(b)", pa10, 0},
4222a6b7db3Sskrll { "stw",	0x68000000, 0xfc000000, "x,j(s,b)", pa10, 0},
4232a6b7db3Sskrll { "sth",	0x0c001260, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
4242a6b7db3Sskrll { "sth",	0x0c001260, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
4252a6b7db3Sskrll { "sth",	0x0c001240, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
4262a6b7db3Sskrll { "sth",	0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
4272a6b7db3Sskrll { "sth",	0x0c001240, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
4282a6b7db3Sskrll { "sth",	0x0c001240, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
4292a6b7db3Sskrll { "sth",	0x64000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT},
4302a6b7db3Sskrll { "sth",	0x64000000, 0xfc00c000, "x,j(b)", pa10, 0},
4312a6b7db3Sskrll { "sth",	0x64000000, 0xfc000000, "x,j(s,b)", pa10, 0},
4322a6b7db3Sskrll { "stb",	0x0c001220, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
4332a6b7db3Sskrll { "stb",	0x0c001220, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT},
4342a6b7db3Sskrll { "stb",	0x0c001200, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
4352a6b7db3Sskrll { "stb",	0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
4362a6b7db3Sskrll { "stb",	0x0c001200, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
4372a6b7db3Sskrll { "stb",	0x0c001200, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
4382a6b7db3Sskrll { "stb",	0x60000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT},
4392a6b7db3Sskrll { "stb",	0x60000000, 0xfc00c000, "x,j(b)", pa10, 0},
4402a6b7db3Sskrll { "stb",	0x60000000, 0xfc000000, "x,j(s,b)", pa10, 0},
4412a6b7db3Sskrll { "ldwm",	0x4c000000, 0xfc00c000, "j(b),x", pa10, 0},
4422a6b7db3Sskrll { "ldwm",	0x4c000000, 0xfc000000, "j(s,b),x", pa10, 0},
4432a6b7db3Sskrll { "stwm",	0x6c000000, 0xfc00c000, "x,j(b)", pa10, 0},
4442a6b7db3Sskrll { "stwm",	0x6c000000, 0xfc000000, "x,j(s,b)", pa10, 0},
4452a6b7db3Sskrll { "ldwx",	0x0c000080, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4462a6b7db3Sskrll { "ldwx",	0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
4472a6b7db3Sskrll { "ldwx",	0x0c000080, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
4482a6b7db3Sskrll { "ldwx",	0x0c000080, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
4492a6b7db3Sskrll { "ldwx",	0x0c000080, 0xfc00dfc0, "cXx(b),t", pa10, 0},
4502a6b7db3Sskrll { "ldwx",	0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
4512a6b7db3Sskrll { "ldhx",	0x0c000040, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4522a6b7db3Sskrll { "ldhx",	0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
4532a6b7db3Sskrll { "ldhx",	0x0c000040, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
4542a6b7db3Sskrll { "ldhx",	0x0c000040, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
4552a6b7db3Sskrll { "ldhx",	0x0c000040, 0xfc00dfc0, "cXx(b),t", pa10, 0},
4562a6b7db3Sskrll { "ldhx",	0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
4572a6b7db3Sskrll { "ldbx",	0x0c000000, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4582a6b7db3Sskrll { "ldbx",	0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
4592a6b7db3Sskrll { "ldbx",	0x0c000000, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
4602a6b7db3Sskrll { "ldbx",	0x0c000000, 0xfc0013c0, "cxccx(s,b),t", pa11, FLAG_STRICT},
4612a6b7db3Sskrll { "ldbx",	0x0c000000, 0xfc00dfc0, "cXx(b),t", pa10, 0},
4622a6b7db3Sskrll { "ldbx",	0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
4632a6b7db3Sskrll { "ldwa",	0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4642a6b7db3Sskrll { "ldwa",	0x0c000180, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
4652a6b7db3Sskrll { "ldwa",	0x0c0011a0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
4662a6b7db3Sskrll { "ldwa",	0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
4672a6b7db3Sskrll { "ldwa",	0x0c001180, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
4682a6b7db3Sskrll { "ldcw",	0x0c0001c0, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4692a6b7db3Sskrll { "ldcw",	0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
4702a6b7db3Sskrll { "ldcw",	0x0c0001c0, 0xfc00d3c0, "cxcdx(b),t", pa11, FLAG_STRICT},
4712a6b7db3Sskrll { "ldcw",	0x0c0001c0, 0xfc0013c0, "cxcdx(s,b),t", pa11, FLAG_STRICT},
4722a6b7db3Sskrll { "ldcw",	0x0c0011c0, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
4732a6b7db3Sskrll { "ldcw",	0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
4742a6b7db3Sskrll { "ldcw",	0x0c0011c0, 0xfc00d3c0, "cmcd5(b),t", pa11, FLAG_STRICT},
4752a6b7db3Sskrll { "ldcw",	0x0c0011c0, 0xfc0013c0, "cmcd5(s,b),t", pa11, FLAG_STRICT},
4762a6b7db3Sskrll { "stwa",	0x0c0013a0, 0xfc00d3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
4772a6b7db3Sskrll { "stwa",	0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
4782a6b7db3Sskrll { "stwa",	0x0c001380, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
4792a6b7db3Sskrll { "stby",	0x0c001300, 0xfc00dfc0, "cAx,V(b)", pa10, FLAG_STRICT},
4802a6b7db3Sskrll { "stby",	0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, FLAG_STRICT},
4812a6b7db3Sskrll { "stby",	0x0c001300, 0xfc00d3c0, "cscCx,V(b)", pa11, FLAG_STRICT},
4822a6b7db3Sskrll { "stby",	0x0c001300, 0xfc0013c0, "cscCx,V(s,b)", pa11, FLAG_STRICT},
4832a6b7db3Sskrll { "ldda",	0x0c000100, 0xfc00d3c0, "cxccx(b),t", pa20, FLAG_STRICT},
4842a6b7db3Sskrll { "ldda",	0x0c001120, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT},
4852a6b7db3Sskrll { "ldda",	0x0c001100, 0xfc00d3c0, "cmcc5(b),t", pa20, FLAG_STRICT},
4862a6b7db3Sskrll { "ldcd",	0x0c000140, 0xfc00d3c0, "cxcdx(b),t", pa20, FLAG_STRICT},
4872a6b7db3Sskrll { "ldcd",	0x0c000140, 0xfc0013c0, "cxcdx(s,b),t", pa20, FLAG_STRICT},
4882a6b7db3Sskrll { "ldcd",	0x0c001140, 0xfc00d3c0, "cmcd5(b),t", pa20, FLAG_STRICT},
4892a6b7db3Sskrll { "ldcd",	0x0c001140, 0xfc0013c0, "cmcd5(s,b),t", pa20, FLAG_STRICT},
4902a6b7db3Sskrll { "stda",	0x0c0013e0, 0xfc00f3ff, "cocCx,@(b)", pa20, FLAG_STRICT},
4912a6b7db3Sskrll { "stda",	0x0c0013c0, 0xfc00d3c0, "cmcCx,V(b)", pa20, FLAG_STRICT},
4922a6b7db3Sskrll { "ldwax",	0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4932a6b7db3Sskrll { "ldwax",	0x0c000180, 0xfc00d3c0, "cxccx(b),t", pa11, FLAG_STRICT},
4942a6b7db3Sskrll { "ldwax",	0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, 0},
4952a6b7db3Sskrll { "ldcwx",	0x0c0001c0, 0xfc00dfc0, "cXx(b),t", pa10, FLAG_STRICT},
4962a6b7db3Sskrll { "ldcwx",	0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, FLAG_STRICT},
4972a6b7db3Sskrll { "ldcwx",	0x0c0001c0, 0xfc00d3c0, "cxcdx(b),t", pa11, FLAG_STRICT},
4982a6b7db3Sskrll { "ldcwx",	0x0c0001c0, 0xfc0013c0, "cxcdx(s,b),t", pa11, FLAG_STRICT},
4992a6b7db3Sskrll { "ldcwx",	0x0c0001c0, 0xfc00dfc0, "cXx(b),t", pa10, 0},
5002a6b7db3Sskrll { "ldcwx",	0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, 0},
5012a6b7db3Sskrll { "ldws",	0x0c001080, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
5022a6b7db3Sskrll { "ldws",	0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
5032a6b7db3Sskrll { "ldws",	0x0c001080, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
5042a6b7db3Sskrll { "ldws",	0x0c001080, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
5052a6b7db3Sskrll { "ldws",	0x0c001080, 0xfc00dfc0, "cM5(b),t", pa10, 0},
5062a6b7db3Sskrll { "ldws",	0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
5072a6b7db3Sskrll { "ldhs",	0x0c001040, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
5082a6b7db3Sskrll { "ldhs",	0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
5092a6b7db3Sskrll { "ldhs",	0x0c001040, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
5102a6b7db3Sskrll { "ldhs",	0x0c001040, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
5112a6b7db3Sskrll { "ldhs",	0x0c001040, 0xfc00dfc0, "cM5(b),t", pa10, 0},
5122a6b7db3Sskrll { "ldhs",	0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
5132a6b7db3Sskrll { "ldbs",	0x0c001000, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
5142a6b7db3Sskrll { "ldbs",	0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
5152a6b7db3Sskrll { "ldbs",	0x0c001000, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
5162a6b7db3Sskrll { "ldbs",	0x0c001000, 0xfc0013c0, "cmcc5(s,b),t", pa11, FLAG_STRICT},
5172a6b7db3Sskrll { "ldbs",	0x0c001000, 0xfc00dfc0, "cM5(b),t", pa10, 0},
5182a6b7db3Sskrll { "ldbs",	0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
5192a6b7db3Sskrll { "ldwas",	0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
5202a6b7db3Sskrll { "ldwas",	0x0c001180, 0xfc00d3c0, "cmcc5(b),t", pa11, FLAG_STRICT},
5212a6b7db3Sskrll { "ldwas",	0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, 0},
5222a6b7db3Sskrll { "ldcws",	0x0c0011c0, 0xfc00dfc0, "cM5(b),t", pa10, FLAG_STRICT},
5232a6b7db3Sskrll { "ldcws",	0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, FLAG_STRICT},
5242a6b7db3Sskrll { "ldcws",	0x0c0011c0, 0xfc00d3c0, "cmcd5(b),t", pa11, FLAG_STRICT},
5252a6b7db3Sskrll { "ldcws",	0x0c0011c0, 0xfc0013c0, "cmcd5(s,b),t", pa11, FLAG_STRICT},
5262a6b7db3Sskrll { "ldcws",	0x0c0011c0, 0xfc00dfc0, "cM5(b),t", pa10, 0},
5272a6b7db3Sskrll { "ldcws",	0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, 0},
5282a6b7db3Sskrll { "stws",	0x0c001280, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
5292a6b7db3Sskrll { "stws",	0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
5302a6b7db3Sskrll { "stws",	0x0c001280, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
5312a6b7db3Sskrll { "stws",	0x0c001280, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
5322a6b7db3Sskrll { "stws",	0x0c001280, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
5332a6b7db3Sskrll { "stws",	0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, 0},
5342a6b7db3Sskrll { "sths",	0x0c001240, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
5352a6b7db3Sskrll { "sths",	0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
5362a6b7db3Sskrll { "sths",	0x0c001240, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
5372a6b7db3Sskrll { "sths",	0x0c001240, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
5382a6b7db3Sskrll { "sths",	0x0c001240, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
5392a6b7db3Sskrll { "sths",	0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, 0},
5402a6b7db3Sskrll { "stbs",	0x0c001200, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
5412a6b7db3Sskrll { "stbs",	0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, FLAG_STRICT},
5422a6b7db3Sskrll { "stbs",	0x0c001200, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
5432a6b7db3Sskrll { "stbs",	0x0c001200, 0xfc0013c0, "cmcCx,V(s,b)", pa11, FLAG_STRICT},
5442a6b7db3Sskrll { "stbs",	0x0c001200, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
5452a6b7db3Sskrll { "stbs",	0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, 0},
5462a6b7db3Sskrll { "stwas",	0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, FLAG_STRICT},
5472a6b7db3Sskrll { "stwas",	0x0c001380, 0xfc00d3c0, "cmcCx,V(b)", pa11, FLAG_STRICT},
5482a6b7db3Sskrll { "stwas",	0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, 0},
5492a6b7db3Sskrll { "stdby",	0x0c001340, 0xfc00d3c0, "cscCx,V(b)", pa20, FLAG_STRICT},
5502a6b7db3Sskrll { "stdby",	0x0c001340, 0xfc0013c0, "cscCx,V(s,b)", pa20, FLAG_STRICT},
5512a6b7db3Sskrll { "stbys",	0x0c001300, 0xfc00dfc0, "cAx,V(b)", pa10, FLAG_STRICT},
5522a6b7db3Sskrll { "stbys",	0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, FLAG_STRICT},
5532a6b7db3Sskrll { "stbys",	0x0c001300, 0xfc00d3c0, "cscCx,V(b)", pa11, FLAG_STRICT},
5542a6b7db3Sskrll { "stbys",	0x0c001300, 0xfc0013c0, "cscCx,V(s,b)", pa11, FLAG_STRICT},
5552a6b7db3Sskrll { "stbys",	0x0c001300, 0xfc00dfc0, "cAx,V(b)", pa10, 0},
5562a6b7db3Sskrll { "stbys",	0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, 0},
5572a6b7db3Sskrll 
5582a6b7db3Sskrll /* Immediate instructions.  */
5592a6b7db3Sskrll { "ldo",	0x34000000, 0xfc000000, "l(b),x", pa20w, 0},
5602a6b7db3Sskrll { "ldo",	0x34000000, 0xfc00c000, "j(b),x", pa10, 0},
5612a6b7db3Sskrll { "ldil",	0x20000000, 0xfc000000, "k,b", pa10, 0},
5622a6b7db3Sskrll { "addil",	0x28000000, 0xfc000000, "k,b,Z", pa10, 0},
5632a6b7db3Sskrll { "addil",	0x28000000, 0xfc000000, "k,b", pa10, 0},
5642a6b7db3Sskrll 
5652a6b7db3Sskrll /* Branching instructions.  */
5662a6b7db3Sskrll { "b",		0xe8008000, 0xfc00e000, "cpnXL", pa20, FLAG_STRICT},
5672a6b7db3Sskrll { "b",		0xe800a000, 0xfc00e000, "clnXL", pa20, FLAG_STRICT},
5682a6b7db3Sskrll { "b",		0xe8000000, 0xfc00e000, "clnW,b", pa10, FLAG_STRICT},
5692a6b7db3Sskrll { "b",		0xe8002000, 0xfc00e000, "cgnW,b", pa10, FLAG_STRICT},
5702a6b7db3Sskrll { "b",		0xe8000000, 0xffe0e000, "nW", pa10, 0},  /* b,l foo,r0 */
5712a6b7db3Sskrll { "bl",		0xe8000000, 0xfc00e000, "nW,b", pa10, 0},
5722a6b7db3Sskrll { "gate",	0xe8002000, 0xfc00e000, "nW,b", pa10, 0},
5732a6b7db3Sskrll { "blr",	0xe8004000, 0xfc00e001, "nx,b", pa10, 0},
5742a6b7db3Sskrll { "bv",		0xe800c000, 0xfc00fffd, "nx(b)", pa10, 0},
5752a6b7db3Sskrll { "bv",		0xe800c000, 0xfc00fffd, "n(b)", pa10, 0},
5762a6b7db3Sskrll { "bve",	0xe800f001, 0xfc1ffffd, "cpn(b)L", pa20, FLAG_STRICT},
5772a6b7db3Sskrll { "bve",	0xe800f000, 0xfc1ffffd, "cln(b)L", pa20, FLAG_STRICT},
5782a6b7db3Sskrll { "bve",	0xe800d001, 0xfc1ffffd, "cPn(b)", pa20, FLAG_STRICT},
5792a6b7db3Sskrll { "bve",	0xe800d000, 0xfc1ffffd, "n(b)", pa20, FLAG_STRICT},
5802a6b7db3Sskrll { "be",		0xe4000000, 0xfc000000, "clnz(S,b),Y", pa10, FLAG_STRICT},
5812a6b7db3Sskrll { "be",		0xe4000000, 0xfc000000, "clnz(b),Y", pa10, FLAG_STRICT},
5822a6b7db3Sskrll { "be",		0xe0000000, 0xfc000000, "nz(S,b)", pa10, 0},
5832a6b7db3Sskrll { "be",		0xe0000000, 0xfc000000, "nz(b)", pa10, 0},
5842a6b7db3Sskrll { "ble",	0xe4000000, 0xfc000000, "nz(S,b)", pa10, 0},
5852a6b7db3Sskrll { "movb",	0xc8000000, 0xfc000000, "?ynx,b,w", pa10, 0},
5862a6b7db3Sskrll { "movib",	0xcc000000, 0xfc000000, "?yn5,b,w", pa10, 0},
5872a6b7db3Sskrll { "combt",	0x80000000, 0xfc000000, "?tnx,b,w", pa10, 0},
5882a6b7db3Sskrll { "combf",	0x88000000, 0xfc000000, "?tnx,b,w", pa10, 0},
5892a6b7db3Sskrll { "comibt",	0x84000000, 0xfc000000, "?tn5,b,w", pa10, 0},
5902a6b7db3Sskrll { "comibf",	0x8c000000, 0xfc000000, "?tn5,b,w", pa10, 0},
5912a6b7db3Sskrll { "addbt",	0xa0000000, 0xfc000000, "?dnx,b,w", pa10, 0},
5922a6b7db3Sskrll { "addbf",	0xa8000000, 0xfc000000, "?dnx,b,w", pa10, 0},
5932a6b7db3Sskrll { "addibt",	0xa4000000, 0xfc000000, "?dn5,b,w", pa10, 0},
5942a6b7db3Sskrll { "addibf",	0xac000000, 0xfc000000, "?dn5,b,w", pa10, 0},
5952a6b7db3Sskrll { "bb",		0xc0006000, 0xffe06000, "?Bnx,!,w", pa20, FLAG_STRICT},
59632998b1cSchristos { "bb",		0xc0004000, 0xffe06000, "?bnx,!,w", pa10, FLAG_STRICT},
5976f226886Schristos { "bb",		0xc4006000, 0xfc006000, "?Bnx,B,w", pa20, FLAG_STRICT},
5982a6b7db3Sskrll { "bb",		0xc4004000, 0xfc006000, "?bnx,Q,w", pa10, FLAG_STRICT},
5990c4f052bSskrll { "bb",		0xc4004000, 0xfc006000, "?bnx,Q,w", pa10, 0},
6002a6b7db3Sskrll { "bvb",	0xc0004000, 0xffe04000, "?bnx,w", pa10, 0},
6012a6b7db3Sskrll { "clrbts",	0xe8004005, 0xffffffff, "", pa20, FLAG_STRICT},
6022a6b7db3Sskrll { "popbts",	0xe8004005, 0xfffff007, "$", pa20, FLAG_STRICT},
6032a6b7db3Sskrll { "pushnom",	0xe8004001, 0xffffffff, "", pa20, FLAG_STRICT},
6042a6b7db3Sskrll { "pushbts",	0xe8004001, 0xffe0ffff, "x", pa20, FLAG_STRICT},
6052a6b7db3Sskrll 
6062a6b7db3Sskrll /* Computation Instructions.  */
6072a6b7db3Sskrll 
6082a6b7db3Sskrll { "cmpclr",	0x080008a0, 0xfc000fe0, "?Sx,b,t", pa20, FLAG_STRICT},
6092a6b7db3Sskrll { "cmpclr",	0x08000880, 0xfc000fe0, "?sx,b,t", pa10, FLAG_STRICT},
6102a6b7db3Sskrll { "comclr",	0x08000880, 0xfc000fe0, "?sx,b,t", pa10, 0},
6112a6b7db3Sskrll { "or",		0x08000260, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
6122a6b7db3Sskrll { "or",		0x08000240, 0xfc000fe0, "?lx,b,t", pa10, 0},
6132a6b7db3Sskrll { "xor",	0x080002a0, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
6142a6b7db3Sskrll { "xor",	0x08000280, 0xfc000fe0, "?lx,b,t", pa10, 0},
6152a6b7db3Sskrll { "and",	0x08000220, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
6162a6b7db3Sskrll { "and",	0x08000200, 0xfc000fe0, "?lx,b,t", pa10, 0},
6172a6b7db3Sskrll { "andcm",	0x08000020, 0xfc000fe0, "?Lx,b,t", pa20, FLAG_STRICT},
6182a6b7db3Sskrll { "andcm",	0x08000000, 0xfc000fe0, "?lx,b,t", pa10, 0},
6192a6b7db3Sskrll { "uxor",	0x080003a0, 0xfc000fe0, "?Ux,b,t", pa20, FLAG_STRICT},
6202a6b7db3Sskrll { "uxor",	0x08000380, 0xfc000fe0, "?ux,b,t", pa10, 0},
6212a6b7db3Sskrll { "uaddcm",	0x080009a0, 0xfc000fa0, "cT?Ux,b,t", pa20, FLAG_STRICT},
6222a6b7db3Sskrll { "uaddcm",	0x08000980, 0xfc000fa0, "cT?ux,b,t", pa10, FLAG_STRICT},
6232a6b7db3Sskrll { "uaddcm",	0x08000980, 0xfc000fe0, "?ux,b,t", pa10, 0},
6242a6b7db3Sskrll { "uaddcmt",	0x080009c0, 0xfc000fe0, "?ux,b,t", pa10, 0},
6252a6b7db3Sskrll { "dcor",	0x08000ba0, 0xfc1f0fa0, "ci?Ub,t", pa20, FLAG_STRICT},
6262a6b7db3Sskrll { "dcor",	0x08000b80, 0xfc1f0fa0, "ci?ub,t", pa10, FLAG_STRICT},
6272a6b7db3Sskrll { "dcor",	0x08000b80, 0xfc1f0fe0, "?ub,t",   pa10, 0},
6282a6b7db3Sskrll { "idcor",	0x08000bc0, 0xfc1f0fe0, "?ub,t",   pa10, 0},
6292a6b7db3Sskrll { "addi",	0xb0000000, 0xfc000000, "ct?ai,b,x", pa10, FLAG_STRICT},
6302a6b7db3Sskrll { "addi",	0xb4000000, 0xfc000000, "cv?ai,b,x", pa10, FLAG_STRICT},
6312a6b7db3Sskrll { "addi",	0xb4000000, 0xfc000800, "?ai,b,x", pa10, 0},
6322a6b7db3Sskrll { "addio",	0xb4000800, 0xfc000800, "?ai,b,x", pa10, 0},
6332a6b7db3Sskrll { "addit",	0xb0000000, 0xfc000800, "?ai,b,x", pa10, 0},
6342a6b7db3Sskrll { "addito",	0xb0000800, 0xfc000800, "?ai,b,x", pa10, 0},
6352a6b7db3Sskrll { "add",	0x08000720, 0xfc0007e0, "cY?Ax,b,t", pa20, FLAG_STRICT},
6362a6b7db3Sskrll { "add",	0x08000700, 0xfc0007e0, "cy?ax,b,t", pa10, FLAG_STRICT},
6372a6b7db3Sskrll { "add",	0x08000220, 0xfc0003e0, "ca?Ax,b,t", pa20, FLAG_STRICT},
6382a6b7db3Sskrll { "add",	0x08000200, 0xfc0003e0, "ca?ax,b,t", pa10, FLAG_STRICT},
6392a6b7db3Sskrll { "add",	0x08000600, 0xfc000fe0, "?ax,b,t", pa10, 0},
6402a6b7db3Sskrll { "addl",	0x08000a00, 0xfc000fe0, "?ax,b,t", pa10, 0},
6412a6b7db3Sskrll { "addo",	0x08000e00, 0xfc000fe0, "?ax,b,t", pa10, 0},
6422a6b7db3Sskrll { "addc",	0x08000700, 0xfc000fe0, "?ax,b,t", pa10, 0},
6432a6b7db3Sskrll { "addco",	0x08000f00, 0xfc000fe0, "?ax,b,t", pa10, 0},
6442a6b7db3Sskrll { "sub",	0x080004e0, 0xfc0007e0, "ct?Sx,b,t", pa20, FLAG_STRICT},
6452a6b7db3Sskrll { "sub",	0x080004c0, 0xfc0007e0, "ct?sx,b,t", pa10, FLAG_STRICT},
6462a6b7db3Sskrll { "sub",	0x08000520, 0xfc0007e0, "cB?Sx,b,t", pa20, FLAG_STRICT},
6472a6b7db3Sskrll { "sub",	0x08000500, 0xfc0007e0, "cb?sx,b,t", pa10, FLAG_STRICT},
6482a6b7db3Sskrll { "sub",	0x08000420, 0xfc0007e0, "cv?Sx,b,t", pa20, FLAG_STRICT},
6492a6b7db3Sskrll { "sub",	0x08000400, 0xfc0007e0, "cv?sx,b,t", pa10, FLAG_STRICT},
6502a6b7db3Sskrll { "sub",	0x08000400, 0xfc000fe0, "?sx,b,t", pa10, 0},
6512a6b7db3Sskrll { "subo",	0x08000c00, 0xfc000fe0, "?sx,b,t", pa10, 0},
6522a6b7db3Sskrll { "subb",	0x08000500, 0xfc000fe0, "?sx,b,t", pa10, 0},
6532a6b7db3Sskrll { "subbo",	0x08000d00, 0xfc000fe0, "?sx,b,t", pa10, 0},
6542a6b7db3Sskrll { "subt",	0x080004c0, 0xfc000fe0, "?sx,b,t", pa10, 0},
6552a6b7db3Sskrll { "subto",	0x08000cc0, 0xfc000fe0, "?sx,b,t", pa10, 0},
6562a6b7db3Sskrll { "ds",		0x08000440, 0xfc000fe0, "?sx,b,t", pa10, 0},
6572a6b7db3Sskrll { "subi",	0x94000000, 0xfc000000, "cv?si,b,x", pa10, FLAG_STRICT},
6582a6b7db3Sskrll { "subi",	0x94000000, 0xfc000800, "?si,b,x", pa10, 0},
6592a6b7db3Sskrll { "subio",	0x94000800, 0xfc000800, "?si,b,x", pa10, 0},
6602a6b7db3Sskrll { "cmpiclr",	0x90000800, 0xfc000800, "?Si,b,x", pa20, FLAG_STRICT},
6612a6b7db3Sskrll { "cmpiclr",	0x90000000, 0xfc000800, "?si,b,x", pa10, FLAG_STRICT},
6622a6b7db3Sskrll { "comiclr",	0x90000000, 0xfc000800, "?si,b,x", pa10, 0},
6632a6b7db3Sskrll { "shladd",	0x08000220, 0xfc000320, "ca?Ax,.,b,t", pa20, FLAG_STRICT},
6642a6b7db3Sskrll { "shladd",	0x08000200, 0xfc000320, "ca?ax,.,b,t", pa10, FLAG_STRICT},
6652a6b7db3Sskrll { "sh1add",	0x08000640, 0xfc000fe0, "?ax,b,t", pa10, 0},
6662a6b7db3Sskrll { "sh1addl",	0x08000a40, 0xfc000fe0, "?ax,b,t", pa10, 0},
6672a6b7db3Sskrll { "sh1addo",	0x08000e40, 0xfc000fe0, "?ax,b,t", pa10, 0},
6682a6b7db3Sskrll { "sh2add",	0x08000680, 0xfc000fe0, "?ax,b,t", pa10, 0},
6692a6b7db3Sskrll { "sh2addl",	0x08000a80, 0xfc000fe0, "?ax,b,t", pa10, 0},
6702a6b7db3Sskrll { "sh2addo",	0x08000e80, 0xfc000fe0, "?ax,b,t", pa10, 0},
6712a6b7db3Sskrll { "sh3add",	0x080006c0, 0xfc000fe0, "?ax,b,t", pa10, 0},
6722a6b7db3Sskrll { "sh3addl",	0x08000ac0, 0xfc000fe0, "?ax,b,t", pa10, 0},
6732a6b7db3Sskrll { "sh3addo",	0x08000ec0, 0xfc000fe0, "?ax,b,t", pa10, 0},
6742a6b7db3Sskrll 
6752a6b7db3Sskrll /* Subword Operation Instructions.  */
6762a6b7db3Sskrll 
6772a6b7db3Sskrll { "hadd",	0x08000300, 0xfc00ff20, "cHx,b,t", pa20, FLAG_STRICT},
6782a6b7db3Sskrll { "havg",	0x080002c0, 0xfc00ffe0, "x,b,t", pa20, FLAG_STRICT},
6792a6b7db3Sskrll { "hshl",	0xf8008800, 0xffe0fc20, "x,*,t", pa20, FLAG_STRICT},
6802a6b7db3Sskrll { "hshladd",	0x08000700, 0xfc00ff20, "x,.,b,t", pa20, FLAG_STRICT},
6812a6b7db3Sskrll { "hshr",	0xf800c800, 0xfc1ff820, "cSb,*,t", pa20, FLAG_STRICT},
6822a6b7db3Sskrll { "hshradd",	0x08000500, 0xfc00ff20, "x,.,b,t", pa20, FLAG_STRICT},
6832a6b7db3Sskrll { "hsub",	0x08000100, 0xfc00ff20, "cHx,b,t", pa20, FLAG_STRICT},
6842a6b7db3Sskrll { "mixh",	0xf8008400, 0xfc009fe0, "chx,b,t", pa20, FLAG_STRICT},
6852a6b7db3Sskrll { "mixw",	0xf8008000, 0xfc009fe0, "chx,b,t", pa20, FLAG_STRICT},
6862a6b7db3Sskrll { "permh",	0xf8000000, 0xfc009020, "c*a,t", pa20, FLAG_STRICT},
6872a6b7db3Sskrll 
6882a6b7db3Sskrll 
6892a6b7db3Sskrll /* Extract and Deposit Instructions.  */
6902a6b7db3Sskrll 
6912a6b7db3Sskrll { "shrpd",	0xd0000200, 0xfc001fe0, "?Xx,b,!,t", pa20, FLAG_STRICT},
6922a6b7db3Sskrll { "shrpd",	0xd0000400, 0xfc001400, "?Xx,b,~,t", pa20, FLAG_STRICT},
6932a6b7db3Sskrll { "shrpw",	0xd0000000, 0xfc001fe0, "?xx,b,!,t", pa10, FLAG_STRICT},
6942a6b7db3Sskrll { "shrpw",	0xd0000800, 0xfc001c00, "?xx,b,p,t", pa10, FLAG_STRICT},
6952a6b7db3Sskrll { "vshd",	0xd0000000, 0xfc001fe0, "?xx,b,t", pa10, 0},
6962a6b7db3Sskrll { "shd",	0xd0000800, 0xfc001c00, "?xx,b,p,t", pa10, 0},
6972a6b7db3Sskrll { "extrd",	0xd0001200, 0xfc001ae0, "cS?Xb,!,%,x", pa20, FLAG_STRICT},
6982a6b7db3Sskrll { "extrd",	0xd8000000, 0xfc000000, "cS?Xb,q,|,x", pa20, FLAG_STRICT},
6992a6b7db3Sskrll { "extrw",	0xd0001000, 0xfc001be0, "cS?xb,!,T,x", pa10, FLAG_STRICT},
7002a6b7db3Sskrll { "extrw",	0xd0001800, 0xfc001800, "cS?xb,P,T,x", pa10, FLAG_STRICT},
7012a6b7db3Sskrll { "vextru",	0xd0001000, 0xfc001fe0, "?xb,T,x", pa10, 0},
7022a6b7db3Sskrll { "vextrs",	0xd0001400, 0xfc001fe0, "?xb,T,x", pa10, 0},
7032a6b7db3Sskrll { "extru",	0xd0001800, 0xfc001c00, "?xb,P,T,x", pa10, 0},
7042a6b7db3Sskrll { "extrs",	0xd0001c00, 0xfc001c00, "?xb,P,T,x", pa10, 0},
7052a6b7db3Sskrll { "depd",	0xd4000200, 0xfc001ae0, "cz?Xx,!,%,b", pa20, FLAG_STRICT},
7062a6b7db3Sskrll { "depd",	0xf0000000, 0xfc000000, "cz?Xx,~,|,b", pa20, FLAG_STRICT},
7072a6b7db3Sskrll { "depdi",	0xd4001200, 0xfc001ae0, "cz?X5,!,%,b", pa20, FLAG_STRICT},
7082a6b7db3Sskrll { "depdi",	0xf4000000, 0xfc000000, "cz?X5,~,|,b", pa20, FLAG_STRICT},
7092a6b7db3Sskrll { "depw",	0xd4000000, 0xfc001be0, "cz?xx,!,T,b", pa10, FLAG_STRICT},
7102a6b7db3Sskrll { "depw",	0xd4000800, 0xfc001800, "cz?xx,p,T,b", pa10, FLAG_STRICT},
7112a6b7db3Sskrll { "depwi",	0xd4001000, 0xfc001be0, "cz?x5,!,T,b", pa10, FLAG_STRICT},
7122a6b7db3Sskrll { "depwi",	0xd4001800, 0xfc001800, "cz?x5,p,T,b", pa10, FLAG_STRICT},
7132a6b7db3Sskrll { "zvdep",	0xd4000000, 0xfc001fe0, "?xx,T,b", pa10, 0},
7142a6b7db3Sskrll { "vdep",	0xd4000400, 0xfc001fe0, "?xx,T,b", pa10, 0},
7152a6b7db3Sskrll { "zdep",	0xd4000800, 0xfc001c00, "?xx,p,T,b", pa10, 0},
7162a6b7db3Sskrll { "dep",	0xd4000c00, 0xfc001c00, "?xx,p,T,b", pa10, 0},
7172a6b7db3Sskrll { "zvdepi",	0xd4001000, 0xfc001fe0, "?x5,T,b", pa10, 0},
7182a6b7db3Sskrll { "vdepi",	0xd4001400, 0xfc001fe0, "?x5,T,b", pa10, 0},
7192a6b7db3Sskrll { "zdepi",	0xd4001800, 0xfc001c00, "?x5,p,T,b", pa10, 0},
7202a6b7db3Sskrll { "depi",	0xd4001c00, 0xfc001c00, "?x5,p,T,b", pa10, 0},
7212a6b7db3Sskrll 
7222a6b7db3Sskrll /* System Control Instructions.  */
7232a6b7db3Sskrll 
7242a6b7db3Sskrll { "break",	0x00000000, 0xfc001fe0, "r,A", pa10, 0},
7252a6b7db3Sskrll { "rfi",	0x00000c00, 0xffffff1f, "cr", pa10, FLAG_STRICT},
7262a6b7db3Sskrll { "rfi",	0x00000c00, 0xffffffff, "", pa10, 0},
7272a6b7db3Sskrll { "rfir",	0x00000ca0, 0xffffffff, "", pa11, 0},
7282a6b7db3Sskrll { "ssm",	0x00000d60, 0xfc00ffe0, "U,t", pa20, FLAG_STRICT},
7292a6b7db3Sskrll { "ssm",	0x00000d60, 0xffe0ffe0, "R,t", pa10, 0},
7302a6b7db3Sskrll { "rsm",	0x00000e60, 0xfc00ffe0, "U,t", pa20, FLAG_STRICT},
7312a6b7db3Sskrll { "rsm",	0x00000e60, 0xffe0ffe0, "R,t", pa10, 0},
7322a6b7db3Sskrll { "mtsm",	0x00001860, 0xffe0ffff, "x", pa10, 0},
7332a6b7db3Sskrll { "ldsid",	0x000010a0, 0xfc1fffe0, "(b),t", pa10, 0},
7342a6b7db3Sskrll { "ldsid",	0x000010a0, 0xfc1f3fe0, "(s,b),t", pa10, 0},
7352a6b7db3Sskrll { "mtsp",	0x00001820, 0xffe01fff, "x,S", pa10, 0},
7362a6b7db3Sskrll { "mtctl",	0x00001840, 0xfc00ffff, "x,^", pa10, 0},
7372a6b7db3Sskrll { "mtsarcm",	0x016018C0, 0xffe0ffff, "x", pa20, FLAG_STRICT},
7382a6b7db3Sskrll { "mfia",	0x000014A0, 0xffffffe0, "t", pa20, FLAG_STRICT},
7392a6b7db3Sskrll { "mfsp",	0x000004a0, 0xffff1fe0, "S,t", pa10, 0},
7402a6b7db3Sskrll { "mfctl",	0x016048a0, 0xffffffe0, "cW!,t", pa20, FLAG_STRICT},
7412a6b7db3Sskrll { "mfctl",	0x000008a0, 0xfc1fffe0, "^,t", pa10, 0},
7422a6b7db3Sskrll { "sync",	0x00000400, 0xffffffff, "", pa10, 0},
7432a6b7db3Sskrll { "syncdma",	0x00100400, 0xffffffff, "", pa10, 0},
7442a6b7db3Sskrll { "probe",	0x04001180, 0xfc00ffa0, "cw(b),x,t", pa10, FLAG_STRICT},
7452a6b7db3Sskrll { "probe",	0x04001180, 0xfc003fa0, "cw(s,b),x,t", pa10, FLAG_STRICT},
7462a6b7db3Sskrll { "probei",	0x04003180, 0xfc00ffa0, "cw(b),R,t", pa10, FLAG_STRICT},
7472a6b7db3Sskrll { "probei",	0x04003180, 0xfc003fa0, "cw(s,b),R,t", pa10, FLAG_STRICT},
7482a6b7db3Sskrll { "prober",	0x04001180, 0xfc00ffe0, "(b),x,t", pa10, 0},
7492a6b7db3Sskrll { "prober",	0x04001180, 0xfc003fe0, "(s,b),x,t", pa10, 0},
7502a6b7db3Sskrll { "proberi",	0x04003180, 0xfc00ffe0, "(b),R,t", pa10, 0},
7512a6b7db3Sskrll { "proberi",	0x04003180, 0xfc003fe0, "(s,b),R,t", pa10, 0},
7522a6b7db3Sskrll { "probew",	0x040011c0, 0xfc00ffe0, "(b),x,t", pa10, 0},
7532a6b7db3Sskrll { "probew",	0x040011c0, 0xfc003fe0, "(s,b),x,t", pa10, 0},
7542a6b7db3Sskrll { "probewi",	0x040031c0, 0xfc00ffe0, "(b),R,t", pa10, 0},
7552a6b7db3Sskrll { "probewi",	0x040031c0, 0xfc003fe0, "(s,b),R,t", pa10, 0},
7562a6b7db3Sskrll { "lpa",	0x04001340, 0xfc00ffc0, "cZx(b),t", pa10, 0},
7572a6b7db3Sskrll { "lpa",	0x04001340, 0xfc003fc0, "cZx(s,b),t", pa10, 0},
7582a6b7db3Sskrll { "lci",	0x04001300, 0xfc00ffe0, "x(b),t", pa11, 0},
7592a6b7db3Sskrll { "lci",	0x04001300, 0xfc003fe0, "x(s,b),t", pa11, 0},
7602a6b7db3Sskrll { "pdtlb",	0x04001600, 0xfc00ffdf, "cLcZx(b)", pa20, FLAG_STRICT},
7612a6b7db3Sskrll { "pdtlb",	0x04001600, 0xfc003fdf, "cLcZx(s,b)", pa20, FLAG_STRICT},
7622a6b7db3Sskrll { "pdtlb",	0x04001600, 0xfc1fffdf, "cLcZ@(b)", pa20, FLAG_STRICT},
7632a6b7db3Sskrll { "pdtlb",	0x04001600, 0xfc1f3fdf, "cLcZ@(s,b)", pa20, FLAG_STRICT},
7642a6b7db3Sskrll { "pdtlb",	0x04001200, 0xfc00ffdf, "cZx(b)", pa10, 0},
7652a6b7db3Sskrll { "pdtlb",	0x04001200, 0xfc003fdf, "cZx(s,b)", pa10, 0},
7662a6b7db3Sskrll { "pitlb",	0x04000600, 0xfc001fdf, "cLcZx(S,b)", pa20, FLAG_STRICT},
7672a6b7db3Sskrll { "pitlb",	0x04000600, 0xfc1f1fdf, "cLcZ@(S,b)", pa20, FLAG_STRICT},
7682a6b7db3Sskrll { "pitlb",	0x04000200, 0xfc001fdf, "cZx(S,b)", pa10, 0},
7692a6b7db3Sskrll { "pdtlbe",	0x04001240, 0xfc00ffdf, "cZx(b)", pa10, 0},
7702a6b7db3Sskrll { "pdtlbe",	0x04001240, 0xfc003fdf, "cZx(s,b)", pa10, 0},
7712a6b7db3Sskrll { "pitlbe",	0x04000240, 0xfc001fdf, "cZx(S,b)", pa10, 0},
7722a6b7db3Sskrll { "idtlba",	0x04001040, 0xfc00ffff, "x,(b)", pa10, 0},
7732a6b7db3Sskrll { "idtlba",	0x04001040, 0xfc003fff, "x,(s,b)", pa10, 0},
7742a6b7db3Sskrll { "iitlba",	0x04000040, 0xfc001fff, "x,(S,b)", pa10, 0},
7752a6b7db3Sskrll { "idtlbp",	0x04001000, 0xfc00ffff, "x,(b)", pa10, 0},
7762a6b7db3Sskrll { "idtlbp",	0x04001000, 0xfc003fff, "x,(s,b)", pa10, 0},
7772a6b7db3Sskrll { "iitlbp",	0x04000000, 0xfc001fff, "x,(S,b)", pa10, 0},
7782a6b7db3Sskrll { "pdc",	0x04001380, 0xfc00ffdf, "cZx(b)", pa10, 0},
7792a6b7db3Sskrll { "pdc",	0x04001380, 0xfc003fdf, "cZx(s,b)", pa10, 0},
7802a6b7db3Sskrll { "fdc",	0x04001280, 0xfc00ffdf, "cZx(b)", pa10, FLAG_STRICT},
7812a6b7db3Sskrll { "fdc",	0x04001280, 0xfc003fdf, "cZx(s,b)", pa10, FLAG_STRICT},
7822a6b7db3Sskrll { "fdc",	0x04003280, 0xfc00ffff, "5(b)", pa20, FLAG_STRICT},
7832a6b7db3Sskrll { "fdc",	0x04003280, 0xfc003fff, "5(s,b)", pa20, FLAG_STRICT},
7842a6b7db3Sskrll { "fdc",	0x04001280, 0xfc00ffdf, "cZx(b)", pa10, 0},
7852a6b7db3Sskrll { "fdc",	0x04001280, 0xfc003fdf, "cZx(s,b)", pa10, 0},
7862a6b7db3Sskrll { "fic",	0x040013c0, 0xfc00dfdf, "cZx(b)", pa20, FLAG_STRICT},
7872a6b7db3Sskrll { "fic",	0x04000280, 0xfc001fdf, "cZx(S,b)", pa10, 0},
7882a6b7db3Sskrll { "fdce",	0x040012c0, 0xfc00ffdf, "cZx(b)", pa10, 0},
7892a6b7db3Sskrll { "fdce",	0x040012c0, 0xfc003fdf, "cZx(s,b)", pa10, 0},
7902a6b7db3Sskrll { "fice",	0x040002c0, 0xfc001fdf, "cZx(S,b)", pa10, 0},
7912a6b7db3Sskrll { "diag",	0x14000000, 0xfc000000, "D", pa10, 0},
7922a6b7db3Sskrll { "idtlbt",	0x04001800, 0xfc00ffff, "x,b", pa20, FLAG_STRICT},
7932a6b7db3Sskrll { "iitlbt",	0x04000800, 0xfc00ffff, "x,b", pa20, FLAG_STRICT},
7942a6b7db3Sskrll 
7952a6b7db3Sskrll /* These may be specific to certain versions of the PA.  Joel claimed
7962a6b7db3Sskrll    they were 72000 (7200?) specific.  However, I'm almost certain the
7972a6b7db3Sskrll    mtcpu/mfcpu were undocumented, but available in the older 700 machines.  */
7982a6b7db3Sskrll { "mtcpu",	0x14001600, 0xfc00ffff, "x,^", pa10, 0},
7992a6b7db3Sskrll { "mfcpu",	0x14001A00, 0xfc00ffff, "^,x", pa10, 0},
8002a6b7db3Sskrll { "tocen",	0x14403600, 0xffffffff, "", pa10, 0},
8012a6b7db3Sskrll { "tocdis",	0x14401620, 0xffffffff, "", pa10, 0},
8022a6b7db3Sskrll { "shdwgr",	0x14402600, 0xffffffff, "", pa10, 0},
8032a6b7db3Sskrll { "grshdw",	0x14400620, 0xffffffff, "", pa10, 0},
8042a6b7db3Sskrll 
8052a6b7db3Sskrll /* gfw and gfr are not in the HP PA 1.1 manual, but they are in either
8062a6b7db3Sskrll    the Timex FPU or the Mustang ERS (not sure which) manual.  */
8072a6b7db3Sskrll { "gfw",	0x04001680, 0xfc00ffdf, "cZx(b)", pa11, 0},
8082a6b7db3Sskrll { "gfw",	0x04001680, 0xfc003fdf, "cZx(s,b)", pa11, 0},
8092a6b7db3Sskrll { "gfr",	0x04001a80, 0xfc00ffdf, "cZx(b)", pa11, 0},
8102a6b7db3Sskrll { "gfr",	0x04001a80, 0xfc003fdf, "cZx(s,b)", pa11, 0},
8112a6b7db3Sskrll 
8122a6b7db3Sskrll /* Floating Point Coprocessor Instructions.  */
8132a6b7db3Sskrll 
8142a6b7db3Sskrll { "fldw",	0x24000000, 0xfc00df80, "cXx(b),fT", pa10, FLAG_STRICT},
8152a6b7db3Sskrll { "fldw",	0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, FLAG_STRICT},
8162a6b7db3Sskrll { "fldw",	0x24000000, 0xfc00d380, "cxccx(b),fT", pa11, FLAG_STRICT},
8172a6b7db3Sskrll { "fldw",	0x24000000, 0xfc001380, "cxccx(s,b),fT", pa11, FLAG_STRICT},
8182a6b7db3Sskrll { "fldw",	0x24001020, 0xfc1ff3a0, "cocc@(b),fT", pa20, FLAG_STRICT},
8192a6b7db3Sskrll { "fldw",	0x24001020, 0xfc1f33a0, "cocc@(s,b),fT", pa20, FLAG_STRICT},
8202a6b7db3Sskrll { "fldw",	0x24001000, 0xfc00df80, "cM5(b),fT", pa10, FLAG_STRICT},
8212a6b7db3Sskrll { "fldw",	0x24001000, 0xfc001f80, "cM5(s,b),fT", pa10, FLAG_STRICT},
8222a6b7db3Sskrll { "fldw",	0x24001000, 0xfc00d380, "cmcc5(b),fT", pa11, FLAG_STRICT},
8232a6b7db3Sskrll { "fldw",	0x24001000, 0xfc001380, "cmcc5(s,b),fT", pa11, FLAG_STRICT},
8242a6b7db3Sskrll { "fldw",	0x5c000000, 0xfc000004, "y(b),fe", pa20w, FLAG_STRICT},
8252a6b7db3Sskrll { "fldw",	0x58000000, 0xfc000000, "cJy(b),fe", pa20w, FLAG_STRICT},
8262a6b7db3Sskrll { "fldw",	0x5c000000, 0xfc00c004, "d(b),fe", pa20, FLAG_STRICT},
8272a6b7db3Sskrll { "fldw",	0x5c000000, 0xfc000004, "d(s,b),fe", pa20, FLAG_STRICT},
8282a6b7db3Sskrll { "fldw",	0x58000000, 0xfc00c000, "cJd(b),fe", pa20, FLAG_STRICT},
8292a6b7db3Sskrll { "fldw",	0x58000000, 0xfc000000, "cJd(s,b),fe", pa20, FLAG_STRICT},
8302a6b7db3Sskrll { "fldd",	0x2c000000, 0xfc00dfc0, "cXx(b),ft", pa10, FLAG_STRICT},
8312a6b7db3Sskrll { "fldd",	0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, FLAG_STRICT},
8322a6b7db3Sskrll { "fldd",	0x2c000000, 0xfc00d3c0, "cxccx(b),ft", pa11, FLAG_STRICT},
8332a6b7db3Sskrll { "fldd",	0x2c000000, 0xfc0013c0, "cxccx(s,b),ft", pa11, FLAG_STRICT},
8342a6b7db3Sskrll { "fldd",	0x2c001020, 0xfc1ff3e0, "cocc@(b),ft", pa20, FLAG_STRICT},
8352a6b7db3Sskrll { "fldd",	0x2c001020, 0xfc1f33e0, "cocc@(s,b),ft", pa20, FLAG_STRICT},
8362a6b7db3Sskrll { "fldd",	0x2c001000, 0xfc00dfc0, "cM5(b),ft", pa10, FLAG_STRICT},
8372a6b7db3Sskrll { "fldd",	0x2c001000, 0xfc001fc0, "cM5(s,b),ft", pa10, FLAG_STRICT},
8382a6b7db3Sskrll { "fldd",	0x2c001000, 0xfc00d3c0, "cmcc5(b),ft", pa11, FLAG_STRICT},
8392a6b7db3Sskrll { "fldd",	0x2c001000, 0xfc0013c0, "cmcc5(s,b),ft", pa11, FLAG_STRICT},
8402a6b7db3Sskrll { "fldd",	0x50000002, 0xfc000002, "cq&(b),fx", pa20w, FLAG_STRICT},
8412a6b7db3Sskrll { "fldd",	0x50000002, 0xfc00c002, "cq#(b),fx", pa20, FLAG_STRICT},
8422a6b7db3Sskrll { "fldd",	0x50000002, 0xfc000002, "cq#(s,b),fx", pa20, FLAG_STRICT},
8432a6b7db3Sskrll { "fstw",	0x24000200, 0xfc00df80, "cXfT,x(b)", pa10, FLAG_STRICT},
8442a6b7db3Sskrll { "fstw",	0x24000200, 0xfc001f80, "cXfT,x(s,b)", pa10, FLAG_STRICT},
8452a6b7db3Sskrll { "fstw",	0x24000200, 0xfc00d380, "cxcCfT,x(b)", pa11, FLAG_STRICT},
8462a6b7db3Sskrll { "fstw",	0x24000200, 0xfc001380, "cxcCfT,x(s,b)", pa11, FLAG_STRICT},
8472a6b7db3Sskrll { "fstw",	0x24001220, 0xfc1ff3a0, "cocCfT,@(b)", pa20, FLAG_STRICT},
8482a6b7db3Sskrll { "fstw",	0x24001220, 0xfc1f33a0, "cocCfT,@(s,b)", pa20, FLAG_STRICT},
8492a6b7db3Sskrll { "fstw",	0x24001200, 0xfc00df80, "cMfT,5(b)", pa10, FLAG_STRICT},
8502a6b7db3Sskrll { "fstw",	0x24001200, 0xfc001f80, "cMfT,5(s,b)", pa10, FLAG_STRICT},
8512a6b7db3Sskrll { "fstw",	0x24001200, 0xfc00df80, "cMfT,5(b)", pa10, FLAG_STRICT},
8522a6b7db3Sskrll { "fstw",	0x24001200, 0xfc001f80, "cMfT,5(s,b)", pa10, FLAG_STRICT},
8532a6b7db3Sskrll { "fstw",	0x7c000000, 0xfc000004, "fE,y(b)", pa20w, FLAG_STRICT},
8542a6b7db3Sskrll { "fstw",	0x78000000, 0xfc000000, "cJfE,y(b)", pa20w, FLAG_STRICT},
8552a6b7db3Sskrll { "fstw",	0x7c000000, 0xfc00c004, "fE,d(b)", pa20, FLAG_STRICT},
8562a6b7db3Sskrll { "fstw",	0x7c000000, 0xfc000004, "fE,d(s,b)", pa20, FLAG_STRICT},
8572a6b7db3Sskrll { "fstw",	0x78000000, 0xfc00c000, "cJfE,d(b)", pa20, FLAG_STRICT},
8582a6b7db3Sskrll { "fstw",	0x78000000, 0xfc000000, "cJfE,d(s,b)", pa20, FLAG_STRICT},
8592a6b7db3Sskrll { "fstd",	0x2c000200, 0xfc00dfc0, "cXft,x(b)", pa10, FLAG_STRICT},
8602a6b7db3Sskrll { "fstd",	0x2c000200, 0xfc001fc0, "cXft,x(s,b)", pa10, FLAG_STRICT},
8612a6b7db3Sskrll { "fstd",	0x2c000200, 0xfc00d3c0, "cxcCft,x(b)", pa11, FLAG_STRICT},
8622a6b7db3Sskrll { "fstd",	0x2c000200, 0xfc0013c0, "cxcCft,x(s,b)", pa11, FLAG_STRICT},
8632a6b7db3Sskrll { "fstd",	0x2c001220, 0xfc1ff3e0, "cocCft,@(b)", pa20, FLAG_STRICT},
8642a6b7db3Sskrll { "fstd",	0x2c001220, 0xfc1f33e0, "cocCft,@(s,b)", pa20, FLAG_STRICT},
8652a6b7db3Sskrll { "fstd",	0x2c001200, 0xfc00dfc0, "cMft,5(b)", pa10, FLAG_STRICT},
8662a6b7db3Sskrll { "fstd",	0x2c001200, 0xfc001fc0, "cMft,5(s,b)", pa10, FLAG_STRICT},
8672a6b7db3Sskrll { "fstd",	0x2c001200, 0xfc00d3c0, "cmcCft,5(b)", pa11, FLAG_STRICT},
8682a6b7db3Sskrll { "fstd",	0x2c001200, 0xfc0013c0, "cmcCft,5(s,b)", pa11, FLAG_STRICT},
8692a6b7db3Sskrll { "fstd",	0x70000002, 0xfc000002, "cqfx,&(b)", pa20w, FLAG_STRICT},
8702a6b7db3Sskrll { "fstd",	0x70000002, 0xfc00c002, "cqfx,#(b)", pa20, FLAG_STRICT},
8712a6b7db3Sskrll { "fstd",	0x70000002, 0xfc000002, "cqfx,#(s,b)", pa20, FLAG_STRICT},
8722a6b7db3Sskrll { "fldwx",	0x24000000, 0xfc00df80, "cXx(b),fT", pa10, FLAG_STRICT},
8732a6b7db3Sskrll { "fldwx",	0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, FLAG_STRICT},
8742a6b7db3Sskrll { "fldwx",	0x24000000, 0xfc00d380, "cxccx(b),fT", pa11, FLAG_STRICT},
8752a6b7db3Sskrll { "fldwx",	0x24000000, 0xfc001380, "cxccx(s,b),fT", pa11, FLAG_STRICT},
8762a6b7db3Sskrll { "fldwx",	0x24000000, 0xfc00df80, "cXx(b),fT", pa10, 0},
8772a6b7db3Sskrll { "fldwx",	0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, 0},
8782a6b7db3Sskrll { "flddx",	0x2c000000, 0xfc00dfc0, "cXx(b),ft", pa10, FLAG_STRICT},
8792a6b7db3Sskrll { "flddx",	0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, FLAG_STRICT},
8802a6b7db3Sskrll { "flddx",	0x2c000000, 0xfc00d3c0, "cxccx(b),ft", pa11, FLAG_STRICT},
8812a6b7db3Sskrll { "flddx",	0x2c000000, 0xfc0013c0, "cxccx(s,b),ft", pa11, FLAG_STRICT},
8822a6b7db3Sskrll { "flddx",	0x2c000000, 0xfc00dfc0, "cXx(b),ft", pa10, 0},
8832a6b7db3Sskrll { "flddx",	0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, 0},
8842a6b7db3Sskrll { "fstwx",	0x24000200, 0xfc00df80, "cxfT,x(b)", pa10, FLAG_STRICT},
8852a6b7db3Sskrll { "fstwx",	0x24000200, 0xfc001f80, "cxfT,x(s,b)", pa10, FLAG_STRICT},
8862a6b7db3Sskrll { "fstwx",	0x24000200, 0xfc00d380, "cxcCfT,x(b)", pa11, FLAG_STRICT},
8872a6b7db3Sskrll { "fstwx",	0x24000200, 0xfc001380, "cxcCfT,x(s,b)", pa11, FLAG_STRICT},
8882a6b7db3Sskrll { "fstwx",	0x24000200, 0xfc00df80, "cxfT,x(b)", pa10, 0},
8892a6b7db3Sskrll { "fstwx",	0x24000200, 0xfc001f80, "cxfT,x(s,b)", pa10, 0},
8902a6b7db3Sskrll { "fstdx",	0x2c000200, 0xfc00dfc0, "cxft,x(b)", pa10, FLAG_STRICT},
8912a6b7db3Sskrll { "fstdx",	0x2c000200, 0xfc001fc0, "cxft,x(s,b)", pa10, FLAG_STRICT},
8922a6b7db3Sskrll { "fstdx",	0x2c000200, 0xfc00d3c0, "cxcCft,x(b)", pa11, FLAG_STRICT},
8932a6b7db3Sskrll { "fstdx",	0x2c000200, 0xfc0013c0, "cxcCft,x(s,b)", pa11, FLAG_STRICT},
8942a6b7db3Sskrll { "fstdx",	0x2c000200, 0xfc00dfc0, "cxft,x(b)", pa10, 0},
8952a6b7db3Sskrll { "fstdx",	0x2c000200, 0xfc001fc0, "cxft,x(s,b)", pa10, 0},
8965f4eaf39Schristos { "fstqx",	0x3c000200, 0xfc00dfc0, "cXft,x(b)", pa10, 0},
8975f4eaf39Schristos { "fstqx",	0x3c000200, 0xfc001fc0, "cXft,x(s,b)", pa10, 0},
8982a6b7db3Sskrll { "fldws",	0x24001000, 0xfc00df80, "cm5(b),fT", pa10, FLAG_STRICT},
8992a6b7db3Sskrll { "fldws",	0x24001000, 0xfc001f80, "cm5(s,b),fT", pa10, FLAG_STRICT},
9002a6b7db3Sskrll { "fldws",	0x24001000, 0xfc00d380, "cmcc5(b),fT", pa11, FLAG_STRICT},
9012a6b7db3Sskrll { "fldws",	0x24001000, 0xfc001380, "cmcc5(s,b),fT", pa11, FLAG_STRICT},
9022a6b7db3Sskrll { "fldws",	0x24001000, 0xfc00df80, "cm5(b),fT", pa10, 0},
9032a6b7db3Sskrll { "fldws",	0x24001000, 0xfc001f80, "cm5(s,b),fT", pa10, 0},
9042a6b7db3Sskrll { "fldds",	0x2c001000, 0xfc00dfc0, "cm5(b),ft", pa10, FLAG_STRICT},
9052a6b7db3Sskrll { "fldds",	0x2c001000, 0xfc001fc0, "cm5(s,b),ft", pa10, FLAG_STRICT},
9062a6b7db3Sskrll { "fldds",	0x2c001000, 0xfc00d3c0, "cmcc5(b),ft", pa11, FLAG_STRICT},
9072a6b7db3Sskrll { "fldds",	0x2c001000, 0xfc0013c0, "cmcc5(s,b),ft", pa11, FLAG_STRICT},
9082a6b7db3Sskrll { "fldds",	0x2c001000, 0xfc00dfc0, "cm5(b),ft", pa10, 0},
9092a6b7db3Sskrll { "fldds",	0x2c001000, 0xfc001fc0, "cm5(s,b),ft", pa10, 0},
9102a6b7db3Sskrll { "fstws",	0x24001200, 0xfc00df80, "cmfT,5(b)", pa10, FLAG_STRICT},
9112a6b7db3Sskrll { "fstws",	0x24001200, 0xfc001f80, "cmfT,5(s,b)", pa10, FLAG_STRICT},
9122a6b7db3Sskrll { "fstws",	0x24001200, 0xfc00d380, "cmcCfT,5(b)", pa11, FLAG_STRICT},
9132a6b7db3Sskrll { "fstws",	0x24001200, 0xfc001380, "cmcCfT,5(s,b)", pa11, FLAG_STRICT},
9142a6b7db3Sskrll { "fstws",	0x24001200, 0xfc00df80, "cmfT,5(b)", pa10, 0},
9152a6b7db3Sskrll { "fstws",	0x24001200, 0xfc001f80, "cmfT,5(s,b)", pa10, 0},
9162a6b7db3Sskrll { "fstds",	0x2c001200, 0xfc00dfc0, "cmft,5(b)", pa10, FLAG_STRICT},
9172a6b7db3Sskrll { "fstds",	0x2c001200, 0xfc001fc0, "cmft,5(s,b)", pa10, FLAG_STRICT},
9182a6b7db3Sskrll { "fstds",	0x2c001200, 0xfc00d3c0, "cmcCft,5(b)", pa11, FLAG_STRICT},
9192a6b7db3Sskrll { "fstds",	0x2c001200, 0xfc0013c0, "cmcCft,5(s,b)", pa11, FLAG_STRICT},
9202a6b7db3Sskrll { "fstds",	0x2c001200, 0xfc00dfc0, "cmft,5(b)", pa10, 0},
9212a6b7db3Sskrll { "fstds",	0x2c001200, 0xfc001fc0, "cmft,5(s,b)", pa10, 0},
9225f4eaf39Schristos { "fstqs",	0x3c001200, 0xfc00dfc0, "cMft,5(b)", pa10, 0},
9235f4eaf39Schristos { "fstqs",	0x3c001200, 0xfc001fc0, "cMft,5(s,b)", pa10, 0},
9242a6b7db3Sskrll { "fadd",	0x30000600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
9252a6b7db3Sskrll { "fadd",	0x38000600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
9262a6b7db3Sskrll { "fsub",	0x30002600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
9272a6b7db3Sskrll { "fsub",	0x38002600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
9282a6b7db3Sskrll { "fmpy",	0x30004600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
9292a6b7db3Sskrll { "fmpy",	0x38004600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
9302a6b7db3Sskrll { "fdiv",	0x30006600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
9312a6b7db3Sskrll { "fdiv",	0x38006600, 0xfc00e720, "IfA,fB,fT", pa10, 0},
9322a6b7db3Sskrll { "fsqrt",	0x30008000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
9332a6b7db3Sskrll { "fsqrt",	0x38008000, 0xfc1fe720, "FfA,fT", pa10, 0},
9342a6b7db3Sskrll { "fabs",	0x30006000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
9352a6b7db3Sskrll { "fabs",	0x38006000, 0xfc1fe720, "FfA,fT", pa10, 0},
9362a6b7db3Sskrll { "frem",	0x30008600, 0xfc00e7e0, "Ffa,fb,fT", pa10, 0},
9372a6b7db3Sskrll { "frem",	0x38008600, 0xfc00e720, "FfA,fB,fT", pa10, 0},
9382a6b7db3Sskrll { "frnd",	0x3000a000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
9392a6b7db3Sskrll { "frnd",	0x3800a000, 0xfc1fe720, "FfA,fT", pa10, 0},
9402a6b7db3Sskrll { "fcpy",	0x30004000, 0xfc1fe7e0, "Ffa,fT", pa10, 0},
9412a6b7db3Sskrll { "fcpy",	0x38004000, 0xfc1fe720, "FfA,fT", pa10, 0},
9422a6b7db3Sskrll { "fcnvff",	0x30000200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
9432a6b7db3Sskrll { "fcnvff",	0x38000200, 0xfc1f8720, "FGfA,fT", pa10, 0},
9442a6b7db3Sskrll { "fcnvxf",	0x30008200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
9452a6b7db3Sskrll { "fcnvxf",	0x38008200, 0xfc1f8720, "FGfA,fT", pa10, 0},
9462a6b7db3Sskrll { "fcnvfx",	0x30010200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
9472a6b7db3Sskrll { "fcnvfx",	0x38010200, 0xfc1f8720, "FGfA,fT", pa10, 0},
9482a6b7db3Sskrll { "fcnvfxt",	0x30018200, 0xfc1f87e0, "FGfa,fT", pa10, 0},
9492a6b7db3Sskrll { "fcnvfxt",	0x38018200, 0xfc1f8720, "FGfA,fT", pa10, 0},
9502a6b7db3Sskrll { "fmpyfadd",	0xb8000000, 0xfc000020, "IfA,fB,fC,fT", pa20, FLAG_STRICT},
9512a6b7db3Sskrll { "fmpynfadd",	0xb8000020, 0xfc000020, "IfA,fB,fC,fT", pa20, FLAG_STRICT},
9522a6b7db3Sskrll { "fneg",	0x3000c000, 0xfc1fe7e0, "Ffa,fT", pa20, FLAG_STRICT},
9532a6b7db3Sskrll { "fneg",	0x3800c000, 0xfc1fe720, "IfA,fT", pa20, FLAG_STRICT},
9542a6b7db3Sskrll { "fnegabs",	0x3000e000, 0xfc1fe7e0, "Ffa,fT", pa20, FLAG_STRICT},
9552a6b7db3Sskrll { "fnegabs",	0x3800e000, 0xfc1fe720, "IfA,fT", pa20, FLAG_STRICT},
9562a6b7db3Sskrll { "fcnv",	0x30000200, 0xfc1c0720, "{_fa,fT", pa20, FLAG_STRICT},
9572a6b7db3Sskrll { "fcnv",	0x38000200, 0xfc1c0720, "FGfA,fT", pa20, FLAG_STRICT},
9582a6b7db3Sskrll { "fcmp",	0x30000400, 0xfc00e7e0, "F?ffa,fb", pa10, FLAG_STRICT},
9592a6b7db3Sskrll { "fcmp",	0x38000400, 0xfc00e720, "I?ffA,fB", pa10, FLAG_STRICT},
9602a6b7db3Sskrll { "fcmp",	0x30000400, 0xfc0007e0, "F?ffa,fb,h", pa20, FLAG_STRICT},
9612a6b7db3Sskrll { "fcmp",	0x38000400, 0xfc000720, "I?ffA,fB,h", pa20, FLAG_STRICT},
9622a6b7db3Sskrll { "fcmp",	0x30000400, 0xfc00e7e0, "F?ffa,fb", pa10, 0},
9632a6b7db3Sskrll { "fcmp",	0x38000400, 0xfc00e720, "I?ffA,fB", pa10, 0},
9642a6b7db3Sskrll { "xmpyu",	0x38004700, 0xfc00e720, "fX,fB,fT", pa11, 0},
9652a6b7db3Sskrll { "fmpyadd",	0x18000000, 0xfc000000, "Hfi,fj,fk,fl,fm", pa11, 0},
9662a6b7db3Sskrll { "fmpysub",	0x98000000, 0xfc000000, "Hfi,fj,fk,fl,fm", pa11, 0},
9672a6b7db3Sskrll { "ftest",	0x30002420, 0xffffffff, "", pa10, FLAG_STRICT},
9682a6b7db3Sskrll { "ftest",	0x30002420, 0xffffffe0, ",=", pa20, FLAG_STRICT},
9692a6b7db3Sskrll { "ftest",	0x30000420, 0xffff1fff, "m", pa20, FLAG_STRICT},
9702a6b7db3Sskrll { "fid",	0x30000000, 0xffffffff, "", pa11, 0},
9712a6b7db3Sskrll 
9722a6b7db3Sskrll /* Performance Monitor Instructions.  */
9732a6b7db3Sskrll 
9742a6b7db3Sskrll { "pmdis",	0x30000280, 0xffffffdf, "N", pa20, FLAG_STRICT},
9752a6b7db3Sskrll { "pmenb",	0x30000680, 0xffffffff, "", pa20, FLAG_STRICT},
9762a6b7db3Sskrll 
9772a6b7db3Sskrll /* Assist Instructions.  */
9782a6b7db3Sskrll 
9792a6b7db3Sskrll { "spop0",	0x10000000, 0xfc000600, "v,ON", pa10, 0},
9802a6b7db3Sskrll { "spop1",	0x10000200, 0xfc000600, "v,oNt", pa10, 0},
9812a6b7db3Sskrll { "spop2",	0x10000400, 0xfc000600, "v,1Nb", pa10, 0},
9822a6b7db3Sskrll { "spop3",	0x10000600, 0xfc000600, "v,0Nx,b", pa10, 0},
9832a6b7db3Sskrll { "copr",	0x30000000, 0xfc000000, "u,2N", pa10, 0},
9842a6b7db3Sskrll { "cldw",	0x24000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
9852a6b7db3Sskrll { "cldw",	0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
9862a6b7db3Sskrll { "cldw",	0x24000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
9872a6b7db3Sskrll { "cldw",	0x24000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
9882a6b7db3Sskrll { "cldw",	0x24001000, 0xfc00d200, "ucocc@(b),t", pa20, FLAG_STRICT},
9892a6b7db3Sskrll { "cldw",	0x24001000, 0xfc001200, "ucocc@(s,b),t", pa20, FLAG_STRICT},
9902a6b7db3Sskrll { "cldw",	0x24001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
9912a6b7db3Sskrll { "cldw",	0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
9922a6b7db3Sskrll { "cldw",	0x24001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
9932a6b7db3Sskrll { "cldw",	0x24001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
9942a6b7db3Sskrll { "cldd",	0x2c000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
9952a6b7db3Sskrll { "cldd",	0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
9962a6b7db3Sskrll { "cldd",	0x2c000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
9972a6b7db3Sskrll { "cldd",	0x2c000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
9982a6b7db3Sskrll { "cldd",	0x2c001000, 0xfc00d200, "ucocc@(b),t", pa20, FLAG_STRICT},
9992a6b7db3Sskrll { "cldd",	0x2c001000, 0xfc001200, "ucocc@(s,b),t", pa20, FLAG_STRICT},
10002a6b7db3Sskrll { "cldd",	0x2c001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
10012a6b7db3Sskrll { "cldd",	0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
10022a6b7db3Sskrll { "cldd",	0x2c001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
10032a6b7db3Sskrll { "cldd",	0x2c001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
10042a6b7db3Sskrll { "cstw",	0x24000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
10052a6b7db3Sskrll { "cstw",	0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
10062a6b7db3Sskrll { "cstw",	0x24000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
10072a6b7db3Sskrll { "cstw",	0x24000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
10082a6b7db3Sskrll { "cstw",	0x24001200, 0xfc00d200, "ucocCt,@(b)", pa20, FLAG_STRICT},
10092a6b7db3Sskrll { "cstw",	0x24001200, 0xfc001200, "ucocCt,@(s,b)", pa20, FLAG_STRICT},
10102a6b7db3Sskrll { "cstw",	0x24001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
10112a6b7db3Sskrll { "cstw",	0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
10122a6b7db3Sskrll { "cstw",	0x24001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
10132a6b7db3Sskrll { "cstw",	0x24001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
10142a6b7db3Sskrll { "cstd",	0x2c000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
10152a6b7db3Sskrll { "cstd",	0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
10162a6b7db3Sskrll { "cstd",	0x2c000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
10172a6b7db3Sskrll { "cstd",	0x2c000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
10182a6b7db3Sskrll { "cstd",	0x2c001200, 0xfc00d200, "ucocCt,@(b)", pa20, FLAG_STRICT},
10192a6b7db3Sskrll { "cstd",	0x2c001200, 0xfc001200, "ucocCt,@(s,b)", pa20, FLAG_STRICT},
10202a6b7db3Sskrll { "cstd",	0x2c001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
10212a6b7db3Sskrll { "cstd",	0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
10222a6b7db3Sskrll { "cstd",	0x2c001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
10232a6b7db3Sskrll { "cstd",	0x2c001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
10242a6b7db3Sskrll { "cldwx",	0x24000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
10252a6b7db3Sskrll { "cldwx",	0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
10262a6b7db3Sskrll { "cldwx",	0x24000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
10272a6b7db3Sskrll { "cldwx",	0x24000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
10282a6b7db3Sskrll { "cldwx",	0x24000000, 0xfc00de00, "ucXx(b),t", pa10, 0},
10292a6b7db3Sskrll { "cldwx",	0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, 0},
10302a6b7db3Sskrll { "clddx",	0x2c000000, 0xfc00de00, "ucXx(b),t", pa10, FLAG_STRICT},
10312a6b7db3Sskrll { "clddx",	0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT},
10322a6b7db3Sskrll { "clddx",	0x2c000000, 0xfc00d200, "ucxccx(b),t", pa11, FLAG_STRICT},
10332a6b7db3Sskrll { "clddx",	0x2c000000, 0xfc001200, "ucxccx(s,b),t", pa11, FLAG_STRICT},
10342a6b7db3Sskrll { "clddx",	0x2c000000, 0xfc00de00, "ucXx(b),t", pa10, 0},
10352a6b7db3Sskrll { "clddx",	0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, 0},
10362a6b7db3Sskrll { "cstwx",	0x24000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
10372a6b7db3Sskrll { "cstwx",	0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
10382a6b7db3Sskrll { "cstwx",	0x24000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
10392a6b7db3Sskrll { "cstwx",	0x24000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
10402a6b7db3Sskrll { "cstwx",	0x24000200, 0xfc00de00, "ucXt,x(b)", pa10, 0},
10412a6b7db3Sskrll { "cstwx",	0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, 0},
10422a6b7db3Sskrll { "cstdx",	0x2c000200, 0xfc00de00, "ucXt,x(b)", pa10, FLAG_STRICT},
10432a6b7db3Sskrll { "cstdx",	0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT},
10442a6b7db3Sskrll { "cstdx",	0x2c000200, 0xfc00d200, "ucxcCt,x(b)", pa11, FLAG_STRICT},
10452a6b7db3Sskrll { "cstdx",	0x2c000200, 0xfc001200, "ucxcCt,x(s,b)", pa11, FLAG_STRICT},
10462a6b7db3Sskrll { "cstdx",	0x2c000200, 0xfc00de00, "ucXt,x(b)", pa10, 0},
10472a6b7db3Sskrll { "cstdx",	0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, 0},
10482a6b7db3Sskrll { "cldws",	0x24001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
10492a6b7db3Sskrll { "cldws",	0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
10502a6b7db3Sskrll { "cldws",	0x24001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
10512a6b7db3Sskrll { "cldws",	0x24001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
10522a6b7db3Sskrll { "cldws",	0x24001000, 0xfc00de00, "ucM5(b),t", pa10, 0},
10532a6b7db3Sskrll { "cldws",	0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, 0},
10542a6b7db3Sskrll { "cldds",	0x2c001000, 0xfc00de00, "ucM5(b),t", pa10, FLAG_STRICT},
10552a6b7db3Sskrll { "cldds",	0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT},
10562a6b7db3Sskrll { "cldds",	0x2c001000, 0xfc00d200, "ucmcc5(b),t", pa11, FLAG_STRICT},
10572a6b7db3Sskrll { "cldds",	0x2c001000, 0xfc001200, "ucmcc5(s,b),t", pa11, FLAG_STRICT},
10582a6b7db3Sskrll { "cldds",	0x2c001000, 0xfc00de00, "ucM5(b),t", pa10, 0},
10592a6b7db3Sskrll { "cldds",	0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, 0},
10602a6b7db3Sskrll { "cstws",	0x24001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
10612a6b7db3Sskrll { "cstws",	0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
10622a6b7db3Sskrll { "cstws",	0x24001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
10632a6b7db3Sskrll { "cstws",	0x24001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
10642a6b7db3Sskrll { "cstws",	0x24001200, 0xfc00de00, "ucMt,5(b)", pa10, 0},
10652a6b7db3Sskrll { "cstws",	0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, 0},
10662a6b7db3Sskrll { "cstds",	0x2c001200, 0xfc00de00, "ucMt,5(b)", pa10, FLAG_STRICT},
10672a6b7db3Sskrll { "cstds",	0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT},
10682a6b7db3Sskrll { "cstds",	0x2c001200, 0xfc00d200, "ucmcCt,5(b)", pa11, FLAG_STRICT},
10692a6b7db3Sskrll { "cstds",	0x2c001200, 0xfc001200, "ucmcCt,5(s,b)", pa11, FLAG_STRICT},
10702a6b7db3Sskrll { "cstds",	0x2c001200, 0xfc00de00, "ucMt,5(b)", pa10, 0},
10712a6b7db3Sskrll { "cstds",	0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, 0},
10722a6b7db3Sskrll 
10732a6b7db3Sskrll /* More pseudo instructions which must follow the main table.  */
10742a6b7db3Sskrll { "call",	0xe800f000, 0xfc1ffffd, "n(b)", pa20, FLAG_STRICT},
10752a6b7db3Sskrll { "call",	0xe800a000, 0xffe0e000, "nW", pa10, FLAG_STRICT},
10762a6b7db3Sskrll { "ret",	0xe840d000, 0xfffffffd, "n", pa20, FLAG_STRICT},
10772a6b7db3Sskrll 
10782a6b7db3Sskrll };
10792a6b7db3Sskrll 
10802a6b7db3Sskrll #define NUMOPCODES ((sizeof pa_opcodes)/(sizeof pa_opcodes[0]))
10812a6b7db3Sskrll 
10822a6b7db3Sskrll /* SKV 12/18/92. Added some denotations for various operands.  */
10832a6b7db3Sskrll 
10842a6b7db3Sskrll #define PA_IMM11_AT_31 'i'
10852a6b7db3Sskrll #define PA_IMM14_AT_31 'j'
10862a6b7db3Sskrll #define PA_IMM21_AT_31 'k'
10872a6b7db3Sskrll #define PA_DISP12 'w'
10882a6b7db3Sskrll #define PA_DISP17 'W'
10892a6b7db3Sskrll 
10902a6b7db3Sskrll #define N_HPPA_OPERAND_FORMATS 5
1091