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