xref: /openbsd-src/gnu/usr.bin/binutils/include/opcode/pn.h (revision 5f210c2af8ad7a823d98e333e3a6e3d7999783f5)
12159047fSniklas /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger.
2*5f210c2aSfgsch    Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
32159047fSniklas 
42159047fSniklas This file is part of GDB.
52159047fSniklas 
62159047fSniklas GDB is free software; you can redistribute it and/or modify
72159047fSniklas it under the terms of the GNU General Public License as published by
82159047fSniklas the Free Software Foundation; either version 1, or (at your option)
92159047fSniklas any later version.
102159047fSniklas 
112159047fSniklas GDB is distributed in the hope that it will be useful,
122159047fSniklas but WITHOUT ANY WARRANTY; without even the implied warranty of
132159047fSniklas MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
142159047fSniklas GNU General Public License for more details.
152159047fSniklas 
162159047fSniklas You should have received a copy of the GNU General Public License
172159047fSniklas along with GDB; see the file COPYING.  If not, write to
182159047fSniklas the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
192159047fSniklas 
202159047fSniklas struct gld_opcode
212159047fSniklas {
222159047fSniklas   char *name;
232159047fSniklas   unsigned long opcode;
242159047fSniklas   unsigned long mask;
252159047fSniklas   char *args;
262159047fSniklas   int length;
272159047fSniklas };
282159047fSniklas 
292159047fSniklas /* We store four bytes of opcode for all opcodes because that
302159047fSniklas    is the most any of them need.  The actual length of an instruction
312159047fSniklas    is always at least 2 bytes, and at most four.  The length of the
322159047fSniklas    instruction is based on the opcode.
332159047fSniklas 
342159047fSniklas    The mask component is a mask saying which bits must match
352159047fSniklas    particular opcode in order for an instruction to be an instance
362159047fSniklas    of that opcode.
372159047fSniklas 
382159047fSniklas    The args component is a string containing characters
392159047fSniklas    that are used to format the arguments to the instruction. */
402159047fSniklas 
412159047fSniklas /* Kinds of operands:
422159047fSniklas    r  Register in first field
432159047fSniklas    R  Register in second field
442159047fSniklas    b  Base register in first field
452159047fSniklas    B  Base register in second field
462159047fSniklas    v  Vector register in first field
472159047fSniklas    V  Vector register in first field
482159047fSniklas    A  Optional address register (base register)
492159047fSniklas    X  Optional index register
502159047fSniklas    I  Immediate data (16bits signed)
512159047fSniklas    O  Offset field (16bits signed)
522159047fSniklas    h  Offset field (15bits signed)
532159047fSniklas    d  Offset field (14bits signed)
542159047fSniklas    S  Shift count field
552159047fSniklas 
562159047fSniklas    any other characters are printed as is...
572159047fSniklas */
582159047fSniklas 
592159047fSniklas /* The assembler requires that this array be sorted as follows:
602159047fSniklas    all instances of the same mnemonic must be consecutive.
612159047fSniklas    All instances of the same mnemonic with the same number of operands
622159047fSniklas    must be consecutive.
632159047fSniklas  */
642159047fSniklas struct gld_opcode gld_opcodes[] =
652159047fSniklas {
662159047fSniklas { "abm",	0xa0080000,	0xfc080000,	"f,xOA,X",	4 },
672159047fSniklas { "abr",	0x18080000,	0xfc0c0000,	"r,f",		2 },
682159047fSniklas { "aci",	0xfc770000,	0xfc7f8000,	"r,I",		4 },
692159047fSniklas { "adfd",	0xe0080002,	0xfc080002,	"r,xOA,X",	4 },
702159047fSniklas { "adfw",	0xe0080000,	0xfc080000,	"r,xOA,X",	4 },
712159047fSniklas { "adi",	0xc8010000,	0xfc7f0000,	"r,I",		4 },
722159047fSniklas { "admb",	0xb8080000,	0xfc080000,	"r,xOA,X",	4 },
732159047fSniklas { "admd",	0xb8000002,	0xfc080002,	"r,xOA,X",	4 },
742159047fSniklas { "admh",	0xb8000001,	0xfc080001,	"r,xOA,X",	4 },
752159047fSniklas { "admw",	0xb8000000,	0xfc080000,	"r,xOA,X",	4 },
762159047fSniklas { "adr",	0x38000000,	0xfc0f0000,	"r,R",		2 },
772159047fSniklas { "adrfd",	0x38090000,	0xfc0f0000,	"r,R",		2 },
782159047fSniklas { "adrfw",	0x38010000,	0xfc0f0000,	"r,R",		2 },
792159047fSniklas { "adrm",	0x38080000,	0xfc0f0000,	"r,R",		2 },
802159047fSniklas { "ai", 	0xfc030000,	0xfc07ffff,	"I",		4 },
812159047fSniklas { "anmb",	0x84080000,	0xfc080000,	"r,xOA,X",	4 },
822159047fSniklas { "anmd",	0x84000002,	0xfc080002,	"r,xOA,X",	4 },
832159047fSniklas { "anmh",	0x84000001,	0xfc080001,	"r,xOA,X",	4 },
842159047fSniklas { "anmw",	0x84000000,	0xfc080000,	"r,xOA,X",	4 },
852159047fSniklas { "anr",	0x04000000,	0xfc0f0000,	"r,R",		2 },
862159047fSniklas { "armb",	0xe8080000,	0xfc080000,	"r,xOA,X",	4 },
872159047fSniklas { "armd",	0xe8000002,	0xfc080002,	"r,xOA,X",	4 },
882159047fSniklas { "armh",	0xe8000001,	0xfc080001,	"r,xOA,X",	4 },
892159047fSniklas { "armw",	0xe8000000,	0xfc080000,	"r,xOA,X",	4 },
902159047fSniklas { "bcf",	0xf0000000,	0xfc080000,	"I,xOA,X",	4 },
912159047fSniklas { "bct",	0xec000000,	0xfc080000,	"I,xOA,X",	4 },
922159047fSniklas { "bei",	0x00060000,	0xffff0000,	"",		2 },
932159047fSniklas { "bft",	0xf0000000,	0xff880000,	"xOA,X",	4 },
942159047fSniklas { "bib",	0xf4000000,	0xfc780000,	"r,xOA",	4 },
952159047fSniklas { "bid",	0xf4600000,	0xfc780000,	"r,xOA",	4 },
962159047fSniklas { "bih",	0xf4200000,	0xfc780000,	"r,xOA",	4 },
972159047fSniklas { "biw",	0xf4400000,	0xfc780000,	"r,xOA",	4 },
982159047fSniklas { "bl", 	0xf8800000,	0xff880000,	"xOA,X",	4 },
992159047fSniklas { "bsub",	0x5c080000,	0xff8f0000,	"",		2 },
1002159047fSniklas { "bsubm",	0x28080000,	0xfc080000,	"",		4 },
1012159047fSniklas { "bu", 	0xec000000,	0xff880000,	"xOA,X",	4 },
1022159047fSniklas { "call",	0x28080000,	0xfc0f0000,	"",		2 },
1032159047fSniklas { "callm",	0x5c080000,	0xff880000,	"",		4 },
1042159047fSniklas { "camb",	0x90080000,	0xfc080000,	"r,xOA,X",	4 },
1052159047fSniklas { "camd",	0x90000002,	0xfc080002,	"r,xOA,X",	4 },
1062159047fSniklas { "camh",	0x90000001,	0xfc080001,	"r,xOA,X",	4 },
1072159047fSniklas { "camw",	0x90000000,	0xfc080000,	"r.xOA,X",	4 },
1082159047fSniklas { "car",	0x10000000,	0xfc0f0000,	"r,R",		2 },
1092159047fSniklas { "cd", 	0xfc060000,	0xfc070000,	"r,f",		4 },
1102159047fSniklas { "cea",	0x000f0000,	0xffff0000,	"",		2 },
1112159047fSniklas { "ci", 	0xc8050000,	0xfc7f0000,	"r,I",		4 },
1122159047fSniklas { "cmc",	0x040a0000,	0xfc7f0000,	"r",		2 },
1132159047fSniklas { "cmmb",	0x94080000,	0xfc080000,	"r,xOA,X",	4 },
1142159047fSniklas { "cmmd",	0x94000002,	0xfc080002,	"r,xOA,X",	4 },
1152159047fSniklas { "cmmh",	0x94000001,	0xfc080001,	"r,xOA,X",	4 },
1162159047fSniklas { "cmmw",	0x94000000,	0xfc080000,	"r,xOA,X",	4 },
1172159047fSniklas { "cmr",	0x14000000,	0xfc0f0000,	"r,R",		2 },
1182159047fSniklas { "daci",	0xfc7f0000,	0xfc7f8000,	"r,I",		4 },
1192159047fSniklas { "dae",	0x000e0000,	0xffff0000,	"",		2 },
1202159047fSniklas { "dai",	0xfc040000,	0xfc07ffff,	"I",		4 },
1212159047fSniklas { "dci",	0xfc6f0000,	0xfc7f8000,	"r,I",		4 },
1222159047fSniklas { "di", 	0xfc010000,	0xfc07ffff,	"I",		4 },
1232159047fSniklas { "dvfd",	0xe4000002,	0xfc080002,	"r,xOA,X",	4 },
1242159047fSniklas { "dvfw",	0xe4000000,	0xfc080000,	"r,xOA,X",	4 },
1252159047fSniklas { "dvi",	0xc8040000,	0xfc7f0000,	"r,I",		4 },
1262159047fSniklas { "dvmb",	0xc4080000,	0xfc080000,	"r,xOA,X",	4 },
1272159047fSniklas { "dvmh",	0xc4000001,	0xfc080001,	"r,xOA,X",	4 },
1282159047fSniklas { "dvmw",	0xc4000000,	0xfc080000,	"r,xOA,X",	4 },
1292159047fSniklas { "dvr",	0x380a0000,	0xfc0f0000,	"r,R",		2 },
1302159047fSniklas { "dvrfd",	0x380c0000,	0xfc0f0000,	"r,R",		4 },
1312159047fSniklas { "dvrfw",	0x38040000,	0xfc0f0000,	"r,xOA,X",	4 },
1322159047fSniklas { "eae",	0x00080000,	0xffff0000,	"",		2 },
1332159047fSniklas { "eci",	0xfc670000,	0xfc7f8080,	"r,I",		4 },
1342159047fSniklas { "ecwcs",	0xfc4f0000,	0xfc7f8000,	"",		4 },
1352159047fSniklas { "ei", 	0xfc000000,	0xfc07ffff,	"I",		4 },
1362159047fSniklas { "eomb",	0x8c080000,	0xfc080000,	"r,xOA,X",	4 },
1372159047fSniklas { "eomd",	0x8c000002,	0xfc080002,	"r,xOA,X",	4 },
1382159047fSniklas { "eomh",	0x8c000001,	0xfc080001,	"r,xOA,X",	4 },
1392159047fSniklas { "eomw",	0x8c000000,	0xfc080000,	"r,xOA,X",	4 },
1402159047fSniklas { "eor",	0x0c000000,	0xfc0f0000,	"r,R",		2 },
1412159047fSniklas { "eorm",	0x0c080000,	0xfc0f0000,	"r,R",		2 },
1422159047fSniklas { "es", 	0x00040000,	0xfc7f0000,	"r",		2 },
1432159047fSniklas { "exm",	0xa8000000,	0xff880000,	"xOA,X",	4 },
1442159047fSniklas { "exr",	0xc8070000,	0xfc7f0000,	"r",		2 },
1452159047fSniklas { "exrr",	0xc8070002,	0xfc7f0002,	"r",		2 },
1462159047fSniklas { "fixd",	0x380d0000,	0xfc0f0000,	"r,R",		2 },
1472159047fSniklas { "fixw",	0x38050000,	0xfc0f0000,	"r,R",		2 },
1482159047fSniklas { "fltd",	0x380f0000,	0xfc0f0000,	"r,R",		2 },
1492159047fSniklas { "fltw",	0x38070000,	0xfc0f0000,	"r,R",		2 },
1502159047fSniklas { "grio",	0xfc3f0000,	0xfc7f8000,	"r,I",		4 },
1512159047fSniklas { "halt",	0x00000000,	0xffff0000,	"",		2 },
1522159047fSniklas { "hio",	0xfc370000,	0xfc7f8000,	"r,I",		4 },
1532159047fSniklas { "jwcs",	0xfa080000,	0xff880000,	"xOA,X",	4 },
1542159047fSniklas { "la", 	0x50000000,	0xfc000000,	"r,xOA,X",	4 },
1552159047fSniklas { "labr",	0x58080000,	0xfc080000,	"b,xOA,X",	4 },
1562159047fSniklas { "lb", 	0xac080000,	0xfc080000,	"r,xOA,X",	4 },
1572159047fSniklas { "lcs", 	0x00030000,	0xfc7f0000,	"r",		2 },
1582159047fSniklas { "ld", 	0xac000002,	0xfc080002,	"r,xOA,X",	4 },
1592159047fSniklas { "lear", 	0x80000000,	0xfc080000,	"r,xOA,X",	4 },
1602159047fSniklas { "lf", 	0xcc000000,	0xfc080000,	"r,xOA,X",	4 },
1612159047fSniklas { "lfbr", 	0xcc080000,	0xfc080000,	"b,xOA,X",	4 },
1622159047fSniklas { "lh", 	0xac000001,	0xfc080001,	"r,xOA,X",	4 },
1632159047fSniklas { "li", 	0xc8000000,	0xfc7f0000,	"r,I",		4 },
1642159047fSniklas { "lmap",	0x2c070000,	0xfc7f0000,	"r",		2 },
1652159047fSniklas { "lmb",	0xb0080000,	0xfc080000,	"r,xOA,X",	4 },
1662159047fSniklas { "lmd",	0xb0000002,	0xfc080002,	"r,xOA,X",	4 },
1672159047fSniklas { "lmh",	0xb0000001,	0xfc080001,	"r,xOA,X",	4 },
1682159047fSniklas { "lmw",	0xb0000000,	0xfc080000,	"r,xOA,X",	4 },
1692159047fSniklas { "lnb",	0xb4080000,	0xfc080000,	"r,xOA,X",	4 },
1702159047fSniklas { "lnd",	0xb4000002,	0xfc080002,	"r,xOA,X",	4 },
1712159047fSniklas { "lnh",	0xb4000001,	0xfc080001,	"r,xOA,X",	4 },
1722159047fSniklas { "lnw",	0xb4000000,	0xfc080000,	"r,xOA,X",	4 },
1732159047fSniklas { "lpsd",	0xf9800000,	0xff880000,	"r,xOA,X",	4 },
1742159047fSniklas { "lpsdcm",	0xfa800000,	0xff880000,	"r,xOA,X",	4 },
1752159047fSniklas { "lw", 	0xac000000,	0xfc080000,	"r,xOA,X",	4 },
1762159047fSniklas { "lwbr", 	0x5c000000,	0xfc080000,	"b,xOA,X",	4 },
1772159047fSniklas { "mpfd",	0xe4080002,	0xfc080002,	"r,xOA,X",	4 },
1782159047fSniklas { "mpfw",	0xe4080000,	0xfc080000,	"r,xOA,X",	4 },
1792159047fSniklas { "mpi",	0xc8030000,	0xfc7f0000,	"r,I",		4 },
1802159047fSniklas { "mpmb",	0xc0080000,	0xfc080000,	"r,xOA,X",	4 },
1812159047fSniklas { "mpmh",	0xc0000001,	0xfc080001,	"r,xOA,X",	4 },
1822159047fSniklas { "mpmw",	0xc0000000,	0xfc080000,	"r,xOA,X",	4 },
1832159047fSniklas { "mpr",	0x38020000,	0xfc0f0000,	"r,R",		2 },
1842159047fSniklas { "mprfd",	0x380e0000,	0xfc0f0000,	"r,R",		2 },
1852159047fSniklas { "mprfw",	0x38060000,	0xfc0f0000,	"r,R",		2 },
1862159047fSniklas { "nop",	0x00020000,	0xffff0000,	"",		2 },
1872159047fSniklas { "ormb",	0x88080000,	0xfc080000,	"r,xOA,X",	4 },
1882159047fSniklas { "ormd",	0x88000002,	0xfc080002,	"r,xOA,X",	4 },
1892159047fSniklas { "ormh",	0x88000001,	0xfc080001,	"r,xOA,X",	4 },
1902159047fSniklas { "ormw",	0x88000000,	0xfc080000,	"r,xOA,X",	4 },
1912159047fSniklas { "orr",	0x08000000,	0xfc0f0000,	"r,R",		2 },
1922159047fSniklas { "orrm",	0x08080000,	0xfc0f0000,	"r,R",		2 },
1932159047fSniklas { "rdsts",	0x00090000,	0xfc7f0000,	"r",		2 },
1942159047fSniklas { "return",	0x280e0000,	0xfc7f0000,	"",		2 },
1952159047fSniklas { "ri", 	0xfc020000,	0xfc07ffff,	"I",		4 },
1962159047fSniklas { "rnd",	0x00050000,	0xfc7f0000,	"r",		2 },
1972159047fSniklas { "rpswt",	0x040b0000,	0xfc7f0000,	"r",		2 },
1982159047fSniklas { "rschnl",	0xfc2f0000,	0xfc7f8000,	"r,I",		4 },
1992159047fSniklas { "rsctl",	0xfc470000,	0xfc7f8000,	"r,I",		4 },
2002159047fSniklas { "rwcs",	0x000b0000,	0xfc0f0000,	"r,R",		2 },
2012159047fSniklas { "sacz",	0x10080000,	0xfc0f0000,	"r,R",		2 },
2022159047fSniklas { "sbm",	0x98080000,	0xfc080000,	"f,xOA,X",	4 },
2032159047fSniklas { "sbr",	0x18000000,	0xfc0c0000,	"r,f",		4 },
2042159047fSniklas { "sea",	0x000d0000,	0xffff0000,	"",		2 },
2052159047fSniklas { "setcpu",	0x2c090000,	0xfc7f0000,	"r",		2 },
2062159047fSniklas { "sio",	0xfc170000,	0xfc7f8000,	"r,I",		4 },
2072159047fSniklas { "sipu",	0x000a0000,	0xffff0000,	"",		2 },
2082159047fSniklas { "sla",	0x1c400000,	0xfc600000,	"r,S",		2 },
2092159047fSniklas { "slad",	0x20400000,	0xfc600000,	"r,S",		2 },
2102159047fSniklas { "slc",	0x24400000,	0xfc600000,	"r,S",		2 },
2112159047fSniklas { "sll",	0x1c600000,	0xfc600000,	"r,S",		2 },
2122159047fSniklas { "slld",	0x20600000,	0xfc600000,	"r,S",		2 },
2132159047fSniklas { "smc",	0x04070000,	0xfc070000,	"",		2 },
2142159047fSniklas { "sra",	0x1c000000,	0xfc600000,	"r,S",		2 },
2152159047fSniklas { "srad",	0x20000000,	0xfc600000,	"r,S",		2 },
2162159047fSniklas { "src",	0x24000000,	0xfc600000,	"r,S",		2 },
2172159047fSniklas { "srl",	0x1c200000,	0xfc600000,	"r,S",		2 },
2182159047fSniklas { "srld",	0x20200000,	0xfc600000,	"r,S",		2 },
2192159047fSniklas { "stb",	0xd4080000,	0xfc080000,	"r,xOA,X",	4 },
2202159047fSniklas { "std",	0xd4000002,	0xfc080002,	"r,xOA,X",	4 },
2212159047fSniklas { "stf",	0xdc000000,	0xfc080000,	"r,xOA,X",	4 },
2222159047fSniklas { "stfbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
2232159047fSniklas { "sth",	0xd4000001,	0xfc080001,	"r,xOA,X",	4 },
2242159047fSniklas { "stmb",	0xd8080000,	0xfc080000,	"r,xOA,X",	4 },
2252159047fSniklas { "stmd",	0xd8000002,	0xfc080002,	"r,xOA,X",	4 },
2262159047fSniklas { "stmh",	0xd8000001,	0xfc080001,	"r,xOA,X",	4 },
2272159047fSniklas { "stmw",	0xd8000000,	0xfc080000,	"r,xOA,X",	4 },
2282159047fSniklas { "stpio",	0xfc270000,	0xfc7f8000,	"r,I",		4 },
2292159047fSniklas { "stw",	0xd4000000,	0xfc080000,	"r,xOA,X",	4 },
2302159047fSniklas { "stwbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
2312159047fSniklas { "suabr",	0x58000000,	0xfc080000,	"b,xOA,X",	4 },
2322159047fSniklas { "sufd",	0xe0000002,	0xfc080002,	"r,xOA,X",	4 },
2332159047fSniklas { "sufw",	0xe0000000,	0xfc080000,	"r,xOA,X",	4 },
2342159047fSniklas { "sui",	0xc8020000,	0xfc7f0000,	"r,I",		4 },
2352159047fSniklas { "sumb",	0xbc080000,	0xfc080000,	"r,xOA,X",	4 },
2362159047fSniklas { "sumd",	0xbc000002,	0xfc080002,	"r,xOA,X",	4 },
2372159047fSniklas { "sumh",	0xbc000001,	0xfc080001,	"r,xOA,X",	4 },
2382159047fSniklas { "sumw",	0xbc000000,	0xfc080000,	"r,xOA,X",	4 },
2392159047fSniklas { "sur",	0x3c000000,	0xfc0f0000,	"r,R",		2 },
2402159047fSniklas { "surfd",	0x380b0000,	0xfc0f0000,	"r,xOA,X",	4 },
2412159047fSniklas { "surfw",	0x38030000,	0xfc0f0000,	"r,R",		2 },
2422159047fSniklas { "surm",	0x3c080000,	0xfc0f0000,	"r,R",		2 },
2432159047fSniklas { "svc",	0xc8060000,	0xffff0000,	"",		4 },
2442159047fSniklas { "tbm",	0xa4080000,	0xfc080000,	"f,xOA,X",	4 },
2452159047fSniklas { "tbr",	0x180c0000,	0xfc0c0000,	"r,f",		2 },
2462159047fSniklas { "tbrr",	0x2c020000,	0xfc0f0000,	"r,B",		2 },
2472159047fSniklas { "tccr",	0x28040000,	0xfc7f0000,	"",		2 },
2482159047fSniklas { "td", 	0xfc050000,	0xfc070000,	"r,f",		4 },
2492159047fSniklas { "tio",	0xfc1f0000,	0xfc7f8000,	"r,I",		4 },
2502159047fSniklas { "tmapr",	0x2c0a0000,	0xfc0f0000,	"r,R",		2 },
2512159047fSniklas { "tpcbr",	0x280c0000,	0xfc7f0000,	"r",		2 },
2522159047fSniklas { "trbr",	0x2c010000,	0xfc0f0000,	"b,R",		2 },
2532159047fSniklas { "trc",	0x2c030000,	0xfc0f0000,	"r,R",		2 },
2542159047fSniklas { "trcc",	0x28050000,	0xfc7f0000,	"",		2 },
2552159047fSniklas { "trcm",	0x2c0b0000,	0xfc0f0000,	"r,R",		2 },
2562159047fSniklas { "trn",	0x2c040000,	0xfc0f0000,	"r,R",		2 },
2572159047fSniklas { "trnm",	0x2c0c0000,	0xfc0f0000,	"r,R",		2 },
2582159047fSniklas { "trr",	0x2c000000,	0xfc0f0000,	"r,R",		2 },
2592159047fSniklas { "trrm",	0x2c080000,	0xfc0f0000,	"r,R",		2 },
2602159047fSniklas { "trsc",	0x2c0e0000,	0xfc0f0000,	"r,R",		2 },
2612159047fSniklas { "trsw",	0x28000000,	0xfc7f0000,	"r",		2 },
2622159047fSniklas { "tscr",	0x2c0f0000,	0xfc0f0000,	"r,R",		2 },
2632159047fSniklas { "uei",	0x00070000,	0xffff0000,	"",		2 },
2642159047fSniklas { "wait",	0x00010000,	0xffff0000,	"",		2 },
2652159047fSniklas { "wcwcs",	0xfc5f0000,	0xfc7f8000,	"",		4 },
2662159047fSniklas { "wwcs",	0x000c0000,	0xfc0f0000,	"r,R",		2 },
2672159047fSniklas { "xcbr",	0x28020000,	0xfc0f0000,	"b,B",		2 },
2682159047fSniklas { "xcr",	0x2c050000,	0xfc0f0000,	"r,R",		2 },
2692159047fSniklas { "xcrm",	0x2c0d0000,	0xfc0f0000,	"r,R",		2 },
2702159047fSniklas { "zbm",	0x9c080000,	0xfc080000,	"f,xOA,X",	4 },
2712159047fSniklas { "zbr",	0x18040000,	0xfc0c0000,	"r,f",		2 },
2722159047fSniklas { "zmb",	0xf8080000,	0xfc080000,	"r,xOA,X",	4 },
2732159047fSniklas { "zmd",	0xf8000002,	0xfc080002,	"r,xOA,X",	4 },
2742159047fSniklas { "zmh",	0xf8000001,	0xfc080001,	"r,xOA,X",	4 },
2752159047fSniklas { "zmw",	0xf8000000,	0xfc080000,	"r,xOA,X",	4 },
2762159047fSniklas { "zr", 	0x0c000000,	0xfc0f0000,	"r",		2 },
2772159047fSniklas };
2782159047fSniklas 
2792159047fSniklas int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]);
2802159047fSniklas 
2812159047fSniklas struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) /
2822159047fSniklas 		sizeof(gld_opcodes[0]);
283