xref: /netbsd-src/external/gpl3/gdb/dist/include/opcode/pn.h (revision aab831cebf6361fb2b518a47c70732e608d9abd2)
198b9484cSchristos /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger.
2*aab831ceSchristos    Copyright (C) 1986-2024 Free Software Foundation, Inc.
398b9484cSchristos 
498b9484cSchristos    This file is part of GDB.
598b9484cSchristos 
698b9484cSchristos    GDB is free software; you can redistribute it and/or modify
798b9484cSchristos    it under the terms of the GNU General Public License as published by
898b9484cSchristos    the Free Software Foundation; either version 3, or (at your option)
998b9484cSchristos    any later version.
1098b9484cSchristos 
1198b9484cSchristos    GDB is distributed in the hope that it will be useful,
1298b9484cSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
1398b9484cSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1498b9484cSchristos    GNU General Public License for more details.
1598b9484cSchristos 
1698b9484cSchristos    You should have received a copy of the GNU General Public License
1798b9484cSchristos    along with GDB; see the file COPYING3.  If not, write to
1898b9484cSchristos    the Free Software Foundation, 51 Franklin Street - Fifth Floor,
1998b9484cSchristos    Boston, MA 02110-1301, USA.  */
2098b9484cSchristos 
2198b9484cSchristos struct gld_opcode
2298b9484cSchristos {
2398b9484cSchristos   char *name;
2498b9484cSchristos   unsigned long opcode;
2598b9484cSchristos   unsigned long mask;
2698b9484cSchristos   char *args;
2798b9484cSchristos   int length;
2898b9484cSchristos };
2998b9484cSchristos 
3098b9484cSchristos /* We store four bytes of opcode for all opcodes because that
3198b9484cSchristos    is the most any of them need.  The actual length of an instruction
3298b9484cSchristos    is always at least 2 bytes, and at most four.  The length of the
3398b9484cSchristos    instruction is based on the opcode.
3498b9484cSchristos 
3598b9484cSchristos    The mask component is a mask saying which bits must match
3698b9484cSchristos    particular opcode in order for an instruction to be an instance
3798b9484cSchristos    of that opcode.
3898b9484cSchristos 
3998b9484cSchristos    The args component is a string containing characters
4098b9484cSchristos    that are used to format the arguments to the instruction. */
4198b9484cSchristos 
4298b9484cSchristos /* Kinds of operands:
4398b9484cSchristos    r  Register in first field
4498b9484cSchristos    R  Register in second field
4598b9484cSchristos    b  Base register in first field
4698b9484cSchristos    B  Base register in second field
4798b9484cSchristos    v  Vector register in first field
4898b9484cSchristos    V  Vector register in first field
4998b9484cSchristos    A  Optional address register (base register)
5098b9484cSchristos    X  Optional index register
5198b9484cSchristos    I  Immediate data (16bits signed)
5298b9484cSchristos    O  Offset field (16bits signed)
5398b9484cSchristos    h  Offset field (15bits signed)
5498b9484cSchristos    d  Offset field (14bits signed)
5598b9484cSchristos    S  Shift count field
5698b9484cSchristos 
5798b9484cSchristos    any other characters are printed as is...
5898b9484cSchristos */
5998b9484cSchristos 
6098b9484cSchristos /* The assembler requires that this array be sorted as follows:
6198b9484cSchristos    all instances of the same mnemonic must be consecutive.
6298b9484cSchristos    All instances of the same mnemonic with the same number of operands
6398b9484cSchristos    must be consecutive.
6498b9484cSchristos  */
6598b9484cSchristos struct gld_opcode gld_opcodes[] =
6698b9484cSchristos {
6798b9484cSchristos { "abm",	0xa0080000,	0xfc080000,	"f,xOA,X",	4 },
6898b9484cSchristos { "abr",	0x18080000,	0xfc0c0000,	"r,f",		2 },
6998b9484cSchristos { "aci",	0xfc770000,	0xfc7f8000,	"r,I",		4 },
7098b9484cSchristos { "adfd",	0xe0080002,	0xfc080002,	"r,xOA,X",	4 },
7198b9484cSchristos { "adfw",	0xe0080000,	0xfc080000,	"r,xOA,X",	4 },
7298b9484cSchristos { "adi",	0xc8010000,	0xfc7f0000,	"r,I",		4 },
7398b9484cSchristos { "admb",	0xb8080000,	0xfc080000,	"r,xOA,X",	4 },
7498b9484cSchristos { "admd",	0xb8000002,	0xfc080002,	"r,xOA,X",	4 },
7598b9484cSchristos { "admh",	0xb8000001,	0xfc080001,	"r,xOA,X",	4 },
7698b9484cSchristos { "admw",	0xb8000000,	0xfc080000,	"r,xOA,X",	4 },
7798b9484cSchristos { "adr",	0x38000000,	0xfc0f0000,	"r,R",		2 },
7898b9484cSchristos { "adrfd",	0x38090000,	0xfc0f0000,	"r,R",		2 },
7998b9484cSchristos { "adrfw",	0x38010000,	0xfc0f0000,	"r,R",		2 },
8098b9484cSchristos { "adrm",	0x38080000,	0xfc0f0000,	"r,R",		2 },
8198b9484cSchristos { "ai", 	0xfc030000,	0xfc07ffff,	"I",		4 },
8298b9484cSchristos { "anmb",	0x84080000,	0xfc080000,	"r,xOA,X",	4 },
8398b9484cSchristos { "anmd",	0x84000002,	0xfc080002,	"r,xOA,X",	4 },
8498b9484cSchristos { "anmh",	0x84000001,	0xfc080001,	"r,xOA,X",	4 },
8598b9484cSchristos { "anmw",	0x84000000,	0xfc080000,	"r,xOA,X",	4 },
8698b9484cSchristos { "anr",	0x04000000,	0xfc0f0000,	"r,R",		2 },
8798b9484cSchristos { "armb",	0xe8080000,	0xfc080000,	"r,xOA,X",	4 },
8898b9484cSchristos { "armd",	0xe8000002,	0xfc080002,	"r,xOA,X",	4 },
8998b9484cSchristos { "armh",	0xe8000001,	0xfc080001,	"r,xOA,X",	4 },
9098b9484cSchristos { "armw",	0xe8000000,	0xfc080000,	"r,xOA,X",	4 },
9198b9484cSchristos { "bcf",	0xf0000000,	0xfc080000,	"I,xOA,X",	4 },
9298b9484cSchristos { "bct",	0xec000000,	0xfc080000,	"I,xOA,X",	4 },
9398b9484cSchristos { "bei",	0x00060000,	0xffff0000,	"",		2 },
9498b9484cSchristos { "bft",	0xf0000000,	0xff880000,	"xOA,X",	4 },
9598b9484cSchristos { "bib",	0xf4000000,	0xfc780000,	"r,xOA",	4 },
9698b9484cSchristos { "bid",	0xf4600000,	0xfc780000,	"r,xOA",	4 },
9798b9484cSchristos { "bih",	0xf4200000,	0xfc780000,	"r,xOA",	4 },
9898b9484cSchristos { "biw",	0xf4400000,	0xfc780000,	"r,xOA",	4 },
9998b9484cSchristos { "bl", 	0xf8800000,	0xff880000,	"xOA,X",	4 },
10098b9484cSchristos { "bsub",	0x5c080000,	0xff8f0000,	"",		2 },
10198b9484cSchristos { "bsubm",	0x28080000,	0xfc080000,	"",		4 },
10298b9484cSchristos { "bu", 	0xec000000,	0xff880000,	"xOA,X",	4 },
10398b9484cSchristos { "call",	0x28080000,	0xfc0f0000,	"",		2 },
10498b9484cSchristos { "callm",	0x5c080000,	0xff880000,	"",		4 },
10598b9484cSchristos { "camb",	0x90080000,	0xfc080000,	"r,xOA,X",	4 },
10698b9484cSchristos { "camd",	0x90000002,	0xfc080002,	"r,xOA,X",	4 },
10798b9484cSchristos { "camh",	0x90000001,	0xfc080001,	"r,xOA,X",	4 },
10898b9484cSchristos { "camw",	0x90000000,	0xfc080000,	"r.xOA,X",	4 },
10998b9484cSchristos { "car",	0x10000000,	0xfc0f0000,	"r,R",		2 },
11098b9484cSchristos { "cd", 	0xfc060000,	0xfc070000,	"r,f",		4 },
11198b9484cSchristos { "cea",	0x000f0000,	0xffff0000,	"",		2 },
11298b9484cSchristos { "ci", 	0xc8050000,	0xfc7f0000,	"r,I",		4 },
11398b9484cSchristos { "cmc",	0x040a0000,	0xfc7f0000,	"r",		2 },
11498b9484cSchristos { "cmmb",	0x94080000,	0xfc080000,	"r,xOA,X",	4 },
11598b9484cSchristos { "cmmd",	0x94000002,	0xfc080002,	"r,xOA,X",	4 },
11698b9484cSchristos { "cmmh",	0x94000001,	0xfc080001,	"r,xOA,X",	4 },
11798b9484cSchristos { "cmmw",	0x94000000,	0xfc080000,	"r,xOA,X",	4 },
11898b9484cSchristos { "cmr",	0x14000000,	0xfc0f0000,	"r,R",		2 },
11998b9484cSchristos { "daci",	0xfc7f0000,	0xfc7f8000,	"r,I",		4 },
12098b9484cSchristos { "dae",	0x000e0000,	0xffff0000,	"",		2 },
12198b9484cSchristos { "dai",	0xfc040000,	0xfc07ffff,	"I",		4 },
12298b9484cSchristos { "dci",	0xfc6f0000,	0xfc7f8000,	"r,I",		4 },
12398b9484cSchristos { "di", 	0xfc010000,	0xfc07ffff,	"I",		4 },
12498b9484cSchristos { "dvfd",	0xe4000002,	0xfc080002,	"r,xOA,X",	4 },
12598b9484cSchristos { "dvfw",	0xe4000000,	0xfc080000,	"r,xOA,X",	4 },
12698b9484cSchristos { "dvi",	0xc8040000,	0xfc7f0000,	"r,I",		4 },
12798b9484cSchristos { "dvmb",	0xc4080000,	0xfc080000,	"r,xOA,X",	4 },
12898b9484cSchristos { "dvmh",	0xc4000001,	0xfc080001,	"r,xOA,X",	4 },
12998b9484cSchristos { "dvmw",	0xc4000000,	0xfc080000,	"r,xOA,X",	4 },
13098b9484cSchristos { "dvr",	0x380a0000,	0xfc0f0000,	"r,R",		2 },
13198b9484cSchristos { "dvrfd",	0x380c0000,	0xfc0f0000,	"r,R",		4 },
13298b9484cSchristos { "dvrfw",	0x38040000,	0xfc0f0000,	"r,xOA,X",	4 },
13398b9484cSchristos { "eae",	0x00080000,	0xffff0000,	"",		2 },
13498b9484cSchristos { "eci",	0xfc670000,	0xfc7f8080,	"r,I",		4 },
13598b9484cSchristos { "ecwcs",	0xfc4f0000,	0xfc7f8000,	"",		4 },
13698b9484cSchristos { "ei", 	0xfc000000,	0xfc07ffff,	"I",		4 },
13798b9484cSchristos { "eomb",	0x8c080000,	0xfc080000,	"r,xOA,X",	4 },
13898b9484cSchristos { "eomd",	0x8c000002,	0xfc080002,	"r,xOA,X",	4 },
13998b9484cSchristos { "eomh",	0x8c000001,	0xfc080001,	"r,xOA,X",	4 },
14098b9484cSchristos { "eomw",	0x8c000000,	0xfc080000,	"r,xOA,X",	4 },
14198b9484cSchristos { "eor",	0x0c000000,	0xfc0f0000,	"r,R",		2 },
14298b9484cSchristos { "eorm",	0x0c080000,	0xfc0f0000,	"r,R",		2 },
14398b9484cSchristos { "es", 	0x00040000,	0xfc7f0000,	"r",		2 },
14498b9484cSchristos { "exm",	0xa8000000,	0xff880000,	"xOA,X",	4 },
14598b9484cSchristos { "exr",	0xc8070000,	0xfc7f0000,	"r",		2 },
14698b9484cSchristos { "exrr",	0xc8070002,	0xfc7f0002,	"r",		2 },
14798b9484cSchristos { "fixd",	0x380d0000,	0xfc0f0000,	"r,R",		2 },
14898b9484cSchristos { "fixw",	0x38050000,	0xfc0f0000,	"r,R",		2 },
14998b9484cSchristos { "fltd",	0x380f0000,	0xfc0f0000,	"r,R",		2 },
15098b9484cSchristos { "fltw",	0x38070000,	0xfc0f0000,	"r,R",		2 },
15198b9484cSchristos { "grio",	0xfc3f0000,	0xfc7f8000,	"r,I",		4 },
15298b9484cSchristos { "halt",	0x00000000,	0xffff0000,	"",		2 },
15398b9484cSchristos { "hio",	0xfc370000,	0xfc7f8000,	"r,I",		4 },
15498b9484cSchristos { "jwcs",	0xfa080000,	0xff880000,	"xOA,X",	4 },
15598b9484cSchristos { "la", 	0x50000000,	0xfc000000,	"r,xOA,X",	4 },
15698b9484cSchristos { "labr",	0x58080000,	0xfc080000,	"b,xOA,X",	4 },
15798b9484cSchristos { "lb", 	0xac080000,	0xfc080000,	"r,xOA,X",	4 },
15898b9484cSchristos { "lcs", 	0x00030000,	0xfc7f0000,	"r",		2 },
15998b9484cSchristos { "ld", 	0xac000002,	0xfc080002,	"r,xOA,X",	4 },
16098b9484cSchristos { "lear", 	0x80000000,	0xfc080000,	"r,xOA,X",	4 },
16198b9484cSchristos { "lf", 	0xcc000000,	0xfc080000,	"r,xOA,X",	4 },
16298b9484cSchristos { "lfbr", 	0xcc080000,	0xfc080000,	"b,xOA,X",	4 },
16398b9484cSchristos { "lh", 	0xac000001,	0xfc080001,	"r,xOA,X",	4 },
16498b9484cSchristos { "li", 	0xc8000000,	0xfc7f0000,	"r,I",		4 },
16598b9484cSchristos { "lmap",	0x2c070000,	0xfc7f0000,	"r",		2 },
16698b9484cSchristos { "lmb",	0xb0080000,	0xfc080000,	"r,xOA,X",	4 },
16798b9484cSchristos { "lmd",	0xb0000002,	0xfc080002,	"r,xOA,X",	4 },
16898b9484cSchristos { "lmh",	0xb0000001,	0xfc080001,	"r,xOA,X",	4 },
16998b9484cSchristos { "lmw",	0xb0000000,	0xfc080000,	"r,xOA,X",	4 },
17098b9484cSchristos { "lnb",	0xb4080000,	0xfc080000,	"r,xOA,X",	4 },
17198b9484cSchristos { "lnd",	0xb4000002,	0xfc080002,	"r,xOA,X",	4 },
17298b9484cSchristos { "lnh",	0xb4000001,	0xfc080001,	"r,xOA,X",	4 },
17398b9484cSchristos { "lnw",	0xb4000000,	0xfc080000,	"r,xOA,X",	4 },
17498b9484cSchristos { "lpsd",	0xf9800000,	0xff880000,	"r,xOA,X",	4 },
17598b9484cSchristos { "lpsdcm",	0xfa800000,	0xff880000,	"r,xOA,X",	4 },
17698b9484cSchristos { "lw", 	0xac000000,	0xfc080000,	"r,xOA,X",	4 },
17798b9484cSchristos { "lwbr", 	0x5c000000,	0xfc080000,	"b,xOA,X",	4 },
17898b9484cSchristos { "mpfd",	0xe4080002,	0xfc080002,	"r,xOA,X",	4 },
17998b9484cSchristos { "mpfw",	0xe4080000,	0xfc080000,	"r,xOA,X",	4 },
18098b9484cSchristos { "mpi",	0xc8030000,	0xfc7f0000,	"r,I",		4 },
18198b9484cSchristos { "mpmb",	0xc0080000,	0xfc080000,	"r,xOA,X",	4 },
18298b9484cSchristos { "mpmh",	0xc0000001,	0xfc080001,	"r,xOA,X",	4 },
18398b9484cSchristos { "mpmw",	0xc0000000,	0xfc080000,	"r,xOA,X",	4 },
18498b9484cSchristos { "mpr",	0x38020000,	0xfc0f0000,	"r,R",		2 },
18598b9484cSchristos { "mprfd",	0x380e0000,	0xfc0f0000,	"r,R",		2 },
18698b9484cSchristos { "mprfw",	0x38060000,	0xfc0f0000,	"r,R",		2 },
18798b9484cSchristos { "nop",	0x00020000,	0xffff0000,	"",		2 },
18898b9484cSchristos { "ormb",	0x88080000,	0xfc080000,	"r,xOA,X",	4 },
18998b9484cSchristos { "ormd",	0x88000002,	0xfc080002,	"r,xOA,X",	4 },
19098b9484cSchristos { "ormh",	0x88000001,	0xfc080001,	"r,xOA,X",	4 },
19198b9484cSchristos { "ormw",	0x88000000,	0xfc080000,	"r,xOA,X",	4 },
19298b9484cSchristos { "orr",	0x08000000,	0xfc0f0000,	"r,R",		2 },
19398b9484cSchristos { "orrm",	0x08080000,	0xfc0f0000,	"r,R",		2 },
19498b9484cSchristos { "rdsts",	0x00090000,	0xfc7f0000,	"r",		2 },
19598b9484cSchristos { "return",	0x280e0000,	0xfc7f0000,	"",		2 },
19698b9484cSchristos { "ri", 	0xfc020000,	0xfc07ffff,	"I",		4 },
19798b9484cSchristos { "rnd",	0x00050000,	0xfc7f0000,	"r",		2 },
19898b9484cSchristos { "rpswt",	0x040b0000,	0xfc7f0000,	"r",		2 },
19998b9484cSchristos { "rschnl",	0xfc2f0000,	0xfc7f8000,	"r,I",		4 },
20098b9484cSchristos { "rsctl",	0xfc470000,	0xfc7f8000,	"r,I",		4 },
20198b9484cSchristos { "rwcs",	0x000b0000,	0xfc0f0000,	"r,R",		2 },
20298b9484cSchristos { "sacz",	0x10080000,	0xfc0f0000,	"r,R",		2 },
20398b9484cSchristos { "sbm",	0x98080000,	0xfc080000,	"f,xOA,X",	4 },
20498b9484cSchristos { "sbr",	0x18000000,	0xfc0c0000,	"r,f",		4 },
20598b9484cSchristos { "sea",	0x000d0000,	0xffff0000,	"",		2 },
20698b9484cSchristos { "setcpu",	0x2c090000,	0xfc7f0000,	"r",		2 },
20798b9484cSchristos { "sio",	0xfc170000,	0xfc7f8000,	"r,I",		4 },
20898b9484cSchristos { "sipu",	0x000a0000,	0xffff0000,	"",		2 },
20998b9484cSchristos { "sla",	0x1c400000,	0xfc600000,	"r,S",		2 },
21098b9484cSchristos { "slad",	0x20400000,	0xfc600000,	"r,S",		2 },
21198b9484cSchristos { "slc",	0x24400000,	0xfc600000,	"r,S",		2 },
21298b9484cSchristos { "sll",	0x1c600000,	0xfc600000,	"r,S",		2 },
21398b9484cSchristos { "slld",	0x20600000,	0xfc600000,	"r,S",		2 },
21498b9484cSchristos { "smc",	0x04070000,	0xfc070000,	"",		2 },
21598b9484cSchristos { "sra",	0x1c000000,	0xfc600000,	"r,S",		2 },
21698b9484cSchristos { "srad",	0x20000000,	0xfc600000,	"r,S",		2 },
21798b9484cSchristos { "src",	0x24000000,	0xfc600000,	"r,S",		2 },
21898b9484cSchristos { "srl",	0x1c200000,	0xfc600000,	"r,S",		2 },
21998b9484cSchristos { "srld",	0x20200000,	0xfc600000,	"r,S",		2 },
22098b9484cSchristos { "stb",	0xd4080000,	0xfc080000,	"r,xOA,X",	4 },
22198b9484cSchristos { "std",	0xd4000002,	0xfc080002,	"r,xOA,X",	4 },
22298b9484cSchristos { "stf",	0xdc000000,	0xfc080000,	"r,xOA,X",	4 },
22398b9484cSchristos { "stfbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
22498b9484cSchristos { "sth",	0xd4000001,	0xfc080001,	"r,xOA,X",	4 },
22598b9484cSchristos { "stmb",	0xd8080000,	0xfc080000,	"r,xOA,X",	4 },
22698b9484cSchristos { "stmd",	0xd8000002,	0xfc080002,	"r,xOA,X",	4 },
22798b9484cSchristos { "stmh",	0xd8000001,	0xfc080001,	"r,xOA,X",	4 },
22898b9484cSchristos { "stmw",	0xd8000000,	0xfc080000,	"r,xOA,X",	4 },
22998b9484cSchristos { "stpio",	0xfc270000,	0xfc7f8000,	"r,I",		4 },
23098b9484cSchristos { "stw",	0xd4000000,	0xfc080000,	"r,xOA,X",	4 },
23198b9484cSchristos { "stwbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
23298b9484cSchristos { "suabr",	0x58000000,	0xfc080000,	"b,xOA,X",	4 },
23398b9484cSchristos { "sufd",	0xe0000002,	0xfc080002,	"r,xOA,X",	4 },
23498b9484cSchristos { "sufw",	0xe0000000,	0xfc080000,	"r,xOA,X",	4 },
23598b9484cSchristos { "sui",	0xc8020000,	0xfc7f0000,	"r,I",		4 },
23698b9484cSchristos { "sumb",	0xbc080000,	0xfc080000,	"r,xOA,X",	4 },
23798b9484cSchristos { "sumd",	0xbc000002,	0xfc080002,	"r,xOA,X",	4 },
23898b9484cSchristos { "sumh",	0xbc000001,	0xfc080001,	"r,xOA,X",	4 },
23998b9484cSchristos { "sumw",	0xbc000000,	0xfc080000,	"r,xOA,X",	4 },
24098b9484cSchristos { "sur",	0x3c000000,	0xfc0f0000,	"r,R",		2 },
24198b9484cSchristos { "surfd",	0x380b0000,	0xfc0f0000,	"r,xOA,X",	4 },
24298b9484cSchristos { "surfw",	0x38030000,	0xfc0f0000,	"r,R",		2 },
24398b9484cSchristos { "surm",	0x3c080000,	0xfc0f0000,	"r,R",		2 },
24498b9484cSchristos { "svc",	0xc8060000,	0xffff0000,	"",		4 },
24598b9484cSchristos { "tbm",	0xa4080000,	0xfc080000,	"f,xOA,X",	4 },
24698b9484cSchristos { "tbr",	0x180c0000,	0xfc0c0000,	"r,f",		2 },
24798b9484cSchristos { "tbrr",	0x2c020000,	0xfc0f0000,	"r,B",		2 },
24898b9484cSchristos { "tccr",	0x28040000,	0xfc7f0000,	"",		2 },
24998b9484cSchristos { "td", 	0xfc050000,	0xfc070000,	"r,f",		4 },
25098b9484cSchristos { "tio",	0xfc1f0000,	0xfc7f8000,	"r,I",		4 },
25198b9484cSchristos { "tmapr",	0x2c0a0000,	0xfc0f0000,	"r,R",		2 },
25298b9484cSchristos { "tpcbr",	0x280c0000,	0xfc7f0000,	"r",		2 },
25398b9484cSchristos { "trbr",	0x2c010000,	0xfc0f0000,	"b,R",		2 },
25498b9484cSchristos { "trc",	0x2c030000,	0xfc0f0000,	"r,R",		2 },
25598b9484cSchristos { "trcc",	0x28050000,	0xfc7f0000,	"",		2 },
25698b9484cSchristos { "trcm",	0x2c0b0000,	0xfc0f0000,	"r,R",		2 },
25798b9484cSchristos { "trn",	0x2c040000,	0xfc0f0000,	"r,R",		2 },
25898b9484cSchristos { "trnm",	0x2c0c0000,	0xfc0f0000,	"r,R",		2 },
25998b9484cSchristos { "trr",	0x2c000000,	0xfc0f0000,	"r,R",		2 },
26098b9484cSchristos { "trrm",	0x2c080000,	0xfc0f0000,	"r,R",		2 },
26198b9484cSchristos { "trsc",	0x2c0e0000,	0xfc0f0000,	"r,R",		2 },
26298b9484cSchristos { "trsw",	0x28000000,	0xfc7f0000,	"r",		2 },
26398b9484cSchristos { "tscr",	0x2c0f0000,	0xfc0f0000,	"r,R",		2 },
26498b9484cSchristos { "uei",	0x00070000,	0xffff0000,	"",		2 },
26598b9484cSchristos { "wait",	0x00010000,	0xffff0000,	"",		2 },
26698b9484cSchristos { "wcwcs",	0xfc5f0000,	0xfc7f8000,	"",		4 },
26798b9484cSchristos { "wwcs",	0x000c0000,	0xfc0f0000,	"r,R",		2 },
26898b9484cSchristos { "xcbr",	0x28020000,	0xfc0f0000,	"b,B",		2 },
26998b9484cSchristos { "xcr",	0x2c050000,	0xfc0f0000,	"r,R",		2 },
27098b9484cSchristos { "xcrm",	0x2c0d0000,	0xfc0f0000,	"r,R",		2 },
27198b9484cSchristos { "zbm",	0x9c080000,	0xfc080000,	"f,xOA,X",	4 },
27298b9484cSchristos { "zbr",	0x18040000,	0xfc0c0000,	"r,f",		2 },
27398b9484cSchristos { "zmb",	0xf8080000,	0xfc080000,	"r,xOA,X",	4 },
27498b9484cSchristos { "zmd",	0xf8000002,	0xfc080002,	"r,xOA,X",	4 },
27598b9484cSchristos { "zmh",	0xf8000001,	0xfc080001,	"r,xOA,X",	4 },
27698b9484cSchristos { "zmw",	0xf8000000,	0xfc080000,	"r,xOA,X",	4 },
27798b9484cSchristos { "zr", 	0x0c000000,	0xfc0f0000,	"r",		2 },
27898b9484cSchristos };
27998b9484cSchristos 
28098b9484cSchristos int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]);
28198b9484cSchristos 
28298b9484cSchristos struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) /
28398b9484cSchristos 		sizeof(gld_opcodes[0]);
284