Home | History | Annotate | Line # | Download | only in opcode
pn.h revision 1.5.2.1
      1      1.1  christos /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger.
      2  1.5.2.1    martin    Copyright (C) 1986-2018 Free Software Foundation, Inc.
      3      1.1  christos 
      4      1.1  christos    This file is part of GDB.
      5      1.1  christos 
      6      1.1  christos    GDB is free software; you can redistribute it and/or modify
      7      1.1  christos    it under the terms of the GNU General Public License as published by
      8      1.1  christos    the Free Software Foundation; either version 3, or (at your option)
      9      1.1  christos    any later version.
     10      1.1  christos 
     11      1.1  christos    GDB is distributed in the hope that it will be useful,
     12      1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13      1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14      1.1  christos    GNU General Public License for more details.
     15      1.1  christos 
     16      1.1  christos    You should have received a copy of the GNU General Public License
     17      1.1  christos    along with GDB; see the file COPYING3.  If not, write to
     18      1.1  christos    the Free Software Foundation, 51 Franklin Street - Fifth Floor,
     19      1.1  christos    Boston, MA 02110-1301, USA.  */
     20      1.1  christos 
     21      1.1  christos struct gld_opcode
     22      1.1  christos {
     23      1.1  christos   char *name;
     24      1.1  christos   unsigned long opcode;
     25      1.1  christos   unsigned long mask;
     26      1.1  christos   char *args;
     27      1.1  christos   int length;
     28      1.1  christos };
     29      1.1  christos 
     30      1.1  christos /* We store four bytes of opcode for all opcodes because that
     31      1.1  christos    is the most any of them need.  The actual length of an instruction
     32      1.1  christos    is always at least 2 bytes, and at most four.  The length of the
     33      1.1  christos    instruction is based on the opcode.
     34      1.1  christos 
     35      1.1  christos    The mask component is a mask saying which bits must match
     36      1.1  christos    particular opcode in order for an instruction to be an instance
     37      1.1  christos    of that opcode.
     38      1.1  christos 
     39      1.1  christos    The args component is a string containing characters
     40      1.1  christos    that are used to format the arguments to the instruction. */
     41      1.1  christos 
     42      1.1  christos /* Kinds of operands:
     43      1.1  christos    r  Register in first field
     44      1.1  christos    R  Register in second field
     45      1.1  christos    b  Base register in first field
     46      1.1  christos    B  Base register in second field
     47      1.1  christos    v  Vector register in first field
     48      1.1  christos    V  Vector register in first field
     49      1.1  christos    A  Optional address register (base register)
     50      1.1  christos    X  Optional index register
     51      1.1  christos    I  Immediate data (16bits signed)
     52      1.1  christos    O  Offset field (16bits signed)
     53      1.1  christos    h  Offset field (15bits signed)
     54      1.1  christos    d  Offset field (14bits signed)
     55      1.1  christos    S  Shift count field
     56      1.1  christos 
     57      1.1  christos    any other characters are printed as is...
     58      1.1  christos */
     59      1.1  christos 
     60      1.1  christos /* The assembler requires that this array be sorted as follows:
     61      1.1  christos    all instances of the same mnemonic must be consecutive.
     62      1.1  christos    All instances of the same mnemonic with the same number of operands
     63      1.1  christos    must be consecutive.
     64      1.1  christos  */
     65      1.1  christos struct gld_opcode gld_opcodes[] =
     66      1.1  christos {
     67      1.1  christos { "abm",	0xa0080000,	0xfc080000,	"f,xOA,X",	4 },
     68      1.1  christos { "abr",	0x18080000,	0xfc0c0000,	"r,f",		2 },
     69      1.1  christos { "aci",	0xfc770000,	0xfc7f8000,	"r,I",		4 },
     70      1.1  christos { "adfd",	0xe0080002,	0xfc080002,	"r,xOA,X",	4 },
     71      1.1  christos { "adfw",	0xe0080000,	0xfc080000,	"r,xOA,X",	4 },
     72      1.1  christos { "adi",	0xc8010000,	0xfc7f0000,	"r,I",		4 },
     73      1.1  christos { "admb",	0xb8080000,	0xfc080000,	"r,xOA,X",	4 },
     74      1.1  christos { "admd",	0xb8000002,	0xfc080002,	"r,xOA,X",	4 },
     75      1.1  christos { "admh",	0xb8000001,	0xfc080001,	"r,xOA,X",	4 },
     76      1.1  christos { "admw",	0xb8000000,	0xfc080000,	"r,xOA,X",	4 },
     77      1.1  christos { "adr",	0x38000000,	0xfc0f0000,	"r,R",		2 },
     78      1.1  christos { "adrfd",	0x38090000,	0xfc0f0000,	"r,R",		2 },
     79      1.1  christos { "adrfw",	0x38010000,	0xfc0f0000,	"r,R",		2 },
     80      1.1  christos { "adrm",	0x38080000,	0xfc0f0000,	"r,R",		2 },
     81      1.1  christos { "ai", 	0xfc030000,	0xfc07ffff,	"I",		4 },
     82      1.1  christos { "anmb",	0x84080000,	0xfc080000,	"r,xOA,X",	4 },
     83      1.1  christos { "anmd",	0x84000002,	0xfc080002,	"r,xOA,X",	4 },
     84      1.1  christos { "anmh",	0x84000001,	0xfc080001,	"r,xOA,X",	4 },
     85      1.1  christos { "anmw",	0x84000000,	0xfc080000,	"r,xOA,X",	4 },
     86      1.1  christos { "anr",	0x04000000,	0xfc0f0000,	"r,R",		2 },
     87      1.1  christos { "armb",	0xe8080000,	0xfc080000,	"r,xOA,X",	4 },
     88      1.1  christos { "armd",	0xe8000002,	0xfc080002,	"r,xOA,X",	4 },
     89      1.1  christos { "armh",	0xe8000001,	0xfc080001,	"r,xOA,X",	4 },
     90      1.1  christos { "armw",	0xe8000000,	0xfc080000,	"r,xOA,X",	4 },
     91      1.1  christos { "bcf",	0xf0000000,	0xfc080000,	"I,xOA,X",	4 },
     92      1.1  christos { "bct",	0xec000000,	0xfc080000,	"I,xOA,X",	4 },
     93      1.1  christos { "bei",	0x00060000,	0xffff0000,	"",		2 },
     94      1.1  christos { "bft",	0xf0000000,	0xff880000,	"xOA,X",	4 },
     95      1.1  christos { "bib",	0xf4000000,	0xfc780000,	"r,xOA",	4 },
     96      1.1  christos { "bid",	0xf4600000,	0xfc780000,	"r,xOA",	4 },
     97      1.1  christos { "bih",	0xf4200000,	0xfc780000,	"r,xOA",	4 },
     98      1.1  christos { "biw",	0xf4400000,	0xfc780000,	"r,xOA",	4 },
     99      1.1  christos { "bl", 	0xf8800000,	0xff880000,	"xOA,X",	4 },
    100      1.1  christos { "bsub",	0x5c080000,	0xff8f0000,	"",		2 },
    101      1.1  christos { "bsubm",	0x28080000,	0xfc080000,	"",		4 },
    102      1.1  christos { "bu", 	0xec000000,	0xff880000,	"xOA,X",	4 },
    103      1.1  christos { "call",	0x28080000,	0xfc0f0000,	"",		2 },
    104      1.1  christos { "callm",	0x5c080000,	0xff880000,	"",		4 },
    105      1.1  christos { "camb",	0x90080000,	0xfc080000,	"r,xOA,X",	4 },
    106      1.1  christos { "camd",	0x90000002,	0xfc080002,	"r,xOA,X",	4 },
    107      1.1  christos { "camh",	0x90000001,	0xfc080001,	"r,xOA,X",	4 },
    108      1.1  christos { "camw",	0x90000000,	0xfc080000,	"r.xOA,X",	4 },
    109      1.1  christos { "car",	0x10000000,	0xfc0f0000,	"r,R",		2 },
    110      1.1  christos { "cd", 	0xfc060000,	0xfc070000,	"r,f",		4 },
    111      1.1  christos { "cea",	0x000f0000,	0xffff0000,	"",		2 },
    112      1.1  christos { "ci", 	0xc8050000,	0xfc7f0000,	"r,I",		4 },
    113      1.1  christos { "cmc",	0x040a0000,	0xfc7f0000,	"r",		2 },
    114      1.1  christos { "cmmb",	0x94080000,	0xfc080000,	"r,xOA,X",	4 },
    115      1.1  christos { "cmmd",	0x94000002,	0xfc080002,	"r,xOA,X",	4 },
    116      1.1  christos { "cmmh",	0x94000001,	0xfc080001,	"r,xOA,X",	4 },
    117      1.1  christos { "cmmw",	0x94000000,	0xfc080000,	"r,xOA,X",	4 },
    118      1.1  christos { "cmr",	0x14000000,	0xfc0f0000,	"r,R",		2 },
    119      1.1  christos { "daci",	0xfc7f0000,	0xfc7f8000,	"r,I",		4 },
    120      1.1  christos { "dae",	0x000e0000,	0xffff0000,	"",		2 },
    121      1.1  christos { "dai",	0xfc040000,	0xfc07ffff,	"I",		4 },
    122      1.1  christos { "dci",	0xfc6f0000,	0xfc7f8000,	"r,I",		4 },
    123      1.1  christos { "di", 	0xfc010000,	0xfc07ffff,	"I",		4 },
    124      1.1  christos { "dvfd",	0xe4000002,	0xfc080002,	"r,xOA,X",	4 },
    125      1.1  christos { "dvfw",	0xe4000000,	0xfc080000,	"r,xOA,X",	4 },
    126      1.1  christos { "dvi",	0xc8040000,	0xfc7f0000,	"r,I",		4 },
    127      1.1  christos { "dvmb",	0xc4080000,	0xfc080000,	"r,xOA,X",	4 },
    128      1.1  christos { "dvmh",	0xc4000001,	0xfc080001,	"r,xOA,X",	4 },
    129      1.1  christos { "dvmw",	0xc4000000,	0xfc080000,	"r,xOA,X",	4 },
    130      1.1  christos { "dvr",	0x380a0000,	0xfc0f0000,	"r,R",		2 },
    131      1.1  christos { "dvrfd",	0x380c0000,	0xfc0f0000,	"r,R",		4 },
    132      1.1  christos { "dvrfw",	0x38040000,	0xfc0f0000,	"r,xOA,X",	4 },
    133      1.1  christos { "eae",	0x00080000,	0xffff0000,	"",		2 },
    134      1.1  christos { "eci",	0xfc670000,	0xfc7f8080,	"r,I",		4 },
    135      1.1  christos { "ecwcs",	0xfc4f0000,	0xfc7f8000,	"",		4 },
    136      1.1  christos { "ei", 	0xfc000000,	0xfc07ffff,	"I",		4 },
    137      1.1  christos { "eomb",	0x8c080000,	0xfc080000,	"r,xOA,X",	4 },
    138      1.1  christos { "eomd",	0x8c000002,	0xfc080002,	"r,xOA,X",	4 },
    139      1.1  christos { "eomh",	0x8c000001,	0xfc080001,	"r,xOA,X",	4 },
    140      1.1  christos { "eomw",	0x8c000000,	0xfc080000,	"r,xOA,X",	4 },
    141      1.1  christos { "eor",	0x0c000000,	0xfc0f0000,	"r,R",		2 },
    142      1.1  christos { "eorm",	0x0c080000,	0xfc0f0000,	"r,R",		2 },
    143      1.1  christos { "es", 	0x00040000,	0xfc7f0000,	"r",		2 },
    144      1.1  christos { "exm",	0xa8000000,	0xff880000,	"xOA,X",	4 },
    145      1.1  christos { "exr",	0xc8070000,	0xfc7f0000,	"r",		2 },
    146      1.1  christos { "exrr",	0xc8070002,	0xfc7f0002,	"r",		2 },
    147      1.1  christos { "fixd",	0x380d0000,	0xfc0f0000,	"r,R",		2 },
    148      1.1  christos { "fixw",	0x38050000,	0xfc0f0000,	"r,R",		2 },
    149      1.1  christos { "fltd",	0x380f0000,	0xfc0f0000,	"r,R",		2 },
    150      1.1  christos { "fltw",	0x38070000,	0xfc0f0000,	"r,R",		2 },
    151      1.1  christos { "grio",	0xfc3f0000,	0xfc7f8000,	"r,I",		4 },
    152      1.1  christos { "halt",	0x00000000,	0xffff0000,	"",		2 },
    153      1.1  christos { "hio",	0xfc370000,	0xfc7f8000,	"r,I",		4 },
    154      1.1  christos { "jwcs",	0xfa080000,	0xff880000,	"xOA,X",	4 },
    155      1.1  christos { "la", 	0x50000000,	0xfc000000,	"r,xOA,X",	4 },
    156      1.1  christos { "labr",	0x58080000,	0xfc080000,	"b,xOA,X",	4 },
    157      1.1  christos { "lb", 	0xac080000,	0xfc080000,	"r,xOA,X",	4 },
    158      1.1  christos { "lcs", 	0x00030000,	0xfc7f0000,	"r",		2 },
    159      1.1  christos { "ld", 	0xac000002,	0xfc080002,	"r,xOA,X",	4 },
    160      1.1  christos { "lear", 	0x80000000,	0xfc080000,	"r,xOA,X",	4 },
    161      1.1  christos { "lf", 	0xcc000000,	0xfc080000,	"r,xOA,X",	4 },
    162      1.1  christos { "lfbr", 	0xcc080000,	0xfc080000,	"b,xOA,X",	4 },
    163      1.1  christos { "lh", 	0xac000001,	0xfc080001,	"r,xOA,X",	4 },
    164      1.1  christos { "li", 	0xc8000000,	0xfc7f0000,	"r,I",		4 },
    165      1.1  christos { "lmap",	0x2c070000,	0xfc7f0000,	"r",		2 },
    166      1.1  christos { "lmb",	0xb0080000,	0xfc080000,	"r,xOA,X",	4 },
    167      1.1  christos { "lmd",	0xb0000002,	0xfc080002,	"r,xOA,X",	4 },
    168      1.1  christos { "lmh",	0xb0000001,	0xfc080001,	"r,xOA,X",	4 },
    169      1.1  christos { "lmw",	0xb0000000,	0xfc080000,	"r,xOA,X",	4 },
    170      1.1  christos { "lnb",	0xb4080000,	0xfc080000,	"r,xOA,X",	4 },
    171      1.1  christos { "lnd",	0xb4000002,	0xfc080002,	"r,xOA,X",	4 },
    172      1.1  christos { "lnh",	0xb4000001,	0xfc080001,	"r,xOA,X",	4 },
    173      1.1  christos { "lnw",	0xb4000000,	0xfc080000,	"r,xOA,X",	4 },
    174      1.1  christos { "lpsd",	0xf9800000,	0xff880000,	"r,xOA,X",	4 },
    175      1.1  christos { "lpsdcm",	0xfa800000,	0xff880000,	"r,xOA,X",	4 },
    176      1.1  christos { "lw", 	0xac000000,	0xfc080000,	"r,xOA,X",	4 },
    177      1.1  christos { "lwbr", 	0x5c000000,	0xfc080000,	"b,xOA,X",	4 },
    178      1.1  christos { "mpfd",	0xe4080002,	0xfc080002,	"r,xOA,X",	4 },
    179      1.1  christos { "mpfw",	0xe4080000,	0xfc080000,	"r,xOA,X",	4 },
    180      1.1  christos { "mpi",	0xc8030000,	0xfc7f0000,	"r,I",		4 },
    181      1.1  christos { "mpmb",	0xc0080000,	0xfc080000,	"r,xOA,X",	4 },
    182      1.1  christos { "mpmh",	0xc0000001,	0xfc080001,	"r,xOA,X",	4 },
    183      1.1  christos { "mpmw",	0xc0000000,	0xfc080000,	"r,xOA,X",	4 },
    184      1.1  christos { "mpr",	0x38020000,	0xfc0f0000,	"r,R",		2 },
    185      1.1  christos { "mprfd",	0x380e0000,	0xfc0f0000,	"r,R",		2 },
    186      1.1  christos { "mprfw",	0x38060000,	0xfc0f0000,	"r,R",		2 },
    187      1.1  christos { "nop",	0x00020000,	0xffff0000,	"",		2 },
    188      1.1  christos { "ormb",	0x88080000,	0xfc080000,	"r,xOA,X",	4 },
    189      1.1  christos { "ormd",	0x88000002,	0xfc080002,	"r,xOA,X",	4 },
    190      1.1  christos { "ormh",	0x88000001,	0xfc080001,	"r,xOA,X",	4 },
    191      1.1  christos { "ormw",	0x88000000,	0xfc080000,	"r,xOA,X",	4 },
    192      1.1  christos { "orr",	0x08000000,	0xfc0f0000,	"r,R",		2 },
    193      1.1  christos { "orrm",	0x08080000,	0xfc0f0000,	"r,R",		2 },
    194      1.1  christos { "rdsts",	0x00090000,	0xfc7f0000,	"r",		2 },
    195      1.1  christos { "return",	0x280e0000,	0xfc7f0000,	"",		2 },
    196      1.1  christos { "ri", 	0xfc020000,	0xfc07ffff,	"I",		4 },
    197      1.1  christos { "rnd",	0x00050000,	0xfc7f0000,	"r",		2 },
    198      1.1  christos { "rpswt",	0x040b0000,	0xfc7f0000,	"r",		2 },
    199      1.1  christos { "rschnl",	0xfc2f0000,	0xfc7f8000,	"r,I",		4 },
    200      1.1  christos { "rsctl",	0xfc470000,	0xfc7f8000,	"r,I",		4 },
    201      1.1  christos { "rwcs",	0x000b0000,	0xfc0f0000,	"r,R",		2 },
    202      1.1  christos { "sacz",	0x10080000,	0xfc0f0000,	"r,R",		2 },
    203      1.1  christos { "sbm",	0x98080000,	0xfc080000,	"f,xOA,X",	4 },
    204      1.1  christos { "sbr",	0x18000000,	0xfc0c0000,	"r,f",		4 },
    205      1.1  christos { "sea",	0x000d0000,	0xffff0000,	"",		2 },
    206      1.1  christos { "setcpu",	0x2c090000,	0xfc7f0000,	"r",		2 },
    207      1.1  christos { "sio",	0xfc170000,	0xfc7f8000,	"r,I",		4 },
    208      1.1  christos { "sipu",	0x000a0000,	0xffff0000,	"",		2 },
    209      1.1  christos { "sla",	0x1c400000,	0xfc600000,	"r,S",		2 },
    210      1.1  christos { "slad",	0x20400000,	0xfc600000,	"r,S",		2 },
    211      1.1  christos { "slc",	0x24400000,	0xfc600000,	"r,S",		2 },
    212      1.1  christos { "sll",	0x1c600000,	0xfc600000,	"r,S",		2 },
    213      1.1  christos { "slld",	0x20600000,	0xfc600000,	"r,S",		2 },
    214      1.1  christos { "smc",	0x04070000,	0xfc070000,	"",		2 },
    215      1.1  christos { "sra",	0x1c000000,	0xfc600000,	"r,S",		2 },
    216      1.1  christos { "srad",	0x20000000,	0xfc600000,	"r,S",		2 },
    217      1.1  christos { "src",	0x24000000,	0xfc600000,	"r,S",		2 },
    218      1.1  christos { "srl",	0x1c200000,	0xfc600000,	"r,S",		2 },
    219      1.1  christos { "srld",	0x20200000,	0xfc600000,	"r,S",		2 },
    220      1.1  christos { "stb",	0xd4080000,	0xfc080000,	"r,xOA,X",	4 },
    221      1.1  christos { "std",	0xd4000002,	0xfc080002,	"r,xOA,X",	4 },
    222      1.1  christos { "stf",	0xdc000000,	0xfc080000,	"r,xOA,X",	4 },
    223      1.1  christos { "stfbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
    224      1.1  christos { "sth",	0xd4000001,	0xfc080001,	"r,xOA,X",	4 },
    225      1.1  christos { "stmb",	0xd8080000,	0xfc080000,	"r,xOA,X",	4 },
    226      1.1  christos { "stmd",	0xd8000002,	0xfc080002,	"r,xOA,X",	4 },
    227      1.1  christos { "stmh",	0xd8000001,	0xfc080001,	"r,xOA,X",	4 },
    228      1.1  christos { "stmw",	0xd8000000,	0xfc080000,	"r,xOA,X",	4 },
    229      1.1  christos { "stpio",	0xfc270000,	0xfc7f8000,	"r,I",		4 },
    230      1.1  christos { "stw",	0xd4000000,	0xfc080000,	"r,xOA,X",	4 },
    231      1.1  christos { "stwbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
    232      1.1  christos { "suabr",	0x58000000,	0xfc080000,	"b,xOA,X",	4 },
    233      1.1  christos { "sufd",	0xe0000002,	0xfc080002,	"r,xOA,X",	4 },
    234      1.1  christos { "sufw",	0xe0000000,	0xfc080000,	"r,xOA,X",	4 },
    235      1.1  christos { "sui",	0xc8020000,	0xfc7f0000,	"r,I",		4 },
    236      1.1  christos { "sumb",	0xbc080000,	0xfc080000,	"r,xOA,X",	4 },
    237      1.1  christos { "sumd",	0xbc000002,	0xfc080002,	"r,xOA,X",	4 },
    238      1.1  christos { "sumh",	0xbc000001,	0xfc080001,	"r,xOA,X",	4 },
    239      1.1  christos { "sumw",	0xbc000000,	0xfc080000,	"r,xOA,X",	4 },
    240      1.1  christos { "sur",	0x3c000000,	0xfc0f0000,	"r,R",		2 },
    241      1.1  christos { "surfd",	0x380b0000,	0xfc0f0000,	"r,xOA,X",	4 },
    242      1.1  christos { "surfw",	0x38030000,	0xfc0f0000,	"r,R",		2 },
    243      1.1  christos { "surm",	0x3c080000,	0xfc0f0000,	"r,R",		2 },
    244      1.1  christos { "svc",	0xc8060000,	0xffff0000,	"",		4 },
    245      1.1  christos { "tbm",	0xa4080000,	0xfc080000,	"f,xOA,X",	4 },
    246      1.1  christos { "tbr",	0x180c0000,	0xfc0c0000,	"r,f",		2 },
    247      1.1  christos { "tbrr",	0x2c020000,	0xfc0f0000,	"r,B",		2 },
    248      1.1  christos { "tccr",	0x28040000,	0xfc7f0000,	"",		2 },
    249      1.1  christos { "td", 	0xfc050000,	0xfc070000,	"r,f",		4 },
    250      1.1  christos { "tio",	0xfc1f0000,	0xfc7f8000,	"r,I",		4 },
    251      1.1  christos { "tmapr",	0x2c0a0000,	0xfc0f0000,	"r,R",		2 },
    252      1.1  christos { "tpcbr",	0x280c0000,	0xfc7f0000,	"r",		2 },
    253      1.1  christos { "trbr",	0x2c010000,	0xfc0f0000,	"b,R",		2 },
    254      1.1  christos { "trc",	0x2c030000,	0xfc0f0000,	"r,R",		2 },
    255      1.1  christos { "trcc",	0x28050000,	0xfc7f0000,	"",		2 },
    256      1.1  christos { "trcm",	0x2c0b0000,	0xfc0f0000,	"r,R",		2 },
    257      1.1  christos { "trn",	0x2c040000,	0xfc0f0000,	"r,R",		2 },
    258      1.1  christos { "trnm",	0x2c0c0000,	0xfc0f0000,	"r,R",		2 },
    259      1.1  christos { "trr",	0x2c000000,	0xfc0f0000,	"r,R",		2 },
    260      1.1  christos { "trrm",	0x2c080000,	0xfc0f0000,	"r,R",		2 },
    261      1.1  christos { "trsc",	0x2c0e0000,	0xfc0f0000,	"r,R",		2 },
    262      1.1  christos { "trsw",	0x28000000,	0xfc7f0000,	"r",		2 },
    263      1.1  christos { "tscr",	0x2c0f0000,	0xfc0f0000,	"r,R",		2 },
    264      1.1  christos { "uei",	0x00070000,	0xffff0000,	"",		2 },
    265      1.1  christos { "wait",	0x00010000,	0xffff0000,	"",		2 },
    266      1.1  christos { "wcwcs",	0xfc5f0000,	0xfc7f8000,	"",		4 },
    267      1.1  christos { "wwcs",	0x000c0000,	0xfc0f0000,	"r,R",		2 },
    268      1.1  christos { "xcbr",	0x28020000,	0xfc0f0000,	"b,B",		2 },
    269      1.1  christos { "xcr",	0x2c050000,	0xfc0f0000,	"r,R",		2 },
    270      1.1  christos { "xcrm",	0x2c0d0000,	0xfc0f0000,	"r,R",		2 },
    271      1.1  christos { "zbm",	0x9c080000,	0xfc080000,	"f,xOA,X",	4 },
    272      1.1  christos { "zbr",	0x18040000,	0xfc0c0000,	"r,f",		2 },
    273      1.1  christos { "zmb",	0xf8080000,	0xfc080000,	"r,xOA,X",	4 },
    274      1.1  christos { "zmd",	0xf8000002,	0xfc080002,	"r,xOA,X",	4 },
    275      1.1  christos { "zmh",	0xf8000001,	0xfc080001,	"r,xOA,X",	4 },
    276      1.1  christos { "zmw",	0xf8000000,	0xfc080000,	"r,xOA,X",	4 },
    277      1.1  christos { "zr", 	0x0c000000,	0xfc0f0000,	"r",		2 },
    278      1.1  christos };
    279      1.1  christos 
    280      1.1  christos int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]);
    281      1.1  christos 
    282      1.1  christos struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) /
    283      1.1  christos 		sizeof(gld_opcodes[0]);
    284