Home | History | Annotate | Line # | Download | only in opcodes
ia64-opc-b.c revision 1.1.1.7.2.1
      1          1.1  christos /* ia64-opc-b.c -- IA-64 `B' opcode table.
      2  1.1.1.7.2.1  perseant    Copyright (C) 1998-2024 Free Software Foundation, Inc.
      3          1.1  christos    Contributed by David Mosberger-Tang <davidm (at) hpl.hp.com>
      4          1.1  christos 
      5          1.1  christos    This file is part of the GNU opcodes library.
      6          1.1  christos 
      7          1.1  christos    This library is free software; you can redistribute it and/or modify
      8          1.1  christos    it under the terms of the GNU General Public License as published by
      9          1.1  christos    the Free Software Foundation; either version 3, or (at your option)
     10          1.1  christos    any later version.
     11          1.1  christos 
     12          1.1  christos    It is distributed in the hope that it will be useful, but WITHOUT
     13          1.1  christos    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     14          1.1  christos    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     15          1.1  christos    License for more details.
     16          1.1  christos 
     17          1.1  christos    You should have received a copy of the GNU General Public License
     18          1.1  christos    along with this file; see the file COPYING.  If not, write to the
     19          1.1  christos    Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
     20          1.1  christos    MA 02110-1301, USA.  */
     21          1.1  christos 
     22          1.1  christos #include "ia64-opc.h"
     23          1.1  christos 
     24          1.1  christos #define B0	IA64_TYPE_B, 0
     25          1.1  christos #define B	IA64_TYPE_B, 1
     26          1.1  christos 
     27          1.1  christos /* instruction bit fields: */
     28          1.1  christos #define bBtype(x)	(((ia64_insn) ((x) & 0x7)) << 6)
     29          1.1  christos #define bD(x)		(((ia64_insn) ((x) & 0x1)) << 35)
     30          1.1  christos #define bIh(x)		(((ia64_insn) ((x) & 0x1)) << 35)
     31          1.1  christos #define bPa(x)		(((ia64_insn) ((x) & 0x1)) << 12)
     32          1.1  christos #define bPr(x)		(((ia64_insn) ((x) & 0x3f)) << 0)
     33          1.1  christos #define bWha(x)		(((ia64_insn) ((x) & 0x3)) << 33)
     34          1.1  christos #define bWhb(x)		(((ia64_insn) ((x) & 0x3)) << 3)
     35          1.1  christos #define bWhc(x)		(((ia64_insn) ((x) & 0x7)) << 32)
     36          1.1  christos #define bX6(x)		(((ia64_insn) ((x) & 0x3f)) << 27)
     37          1.1  christos 
     38          1.1  christos #define mBtype		bBtype (-1)
     39          1.1  christos #define mD		bD (-1)
     40          1.1  christos #define mIh		bIh (-1)
     41          1.1  christos #define mPa		bPa (-1)
     42          1.1  christos #define mPr		bPr (-1)
     43          1.1  christos #define mWha		bWha (-1)
     44          1.1  christos #define mWhb		bWhb (-1)
     45          1.1  christos #define mWhc		bWhc (-1)
     46          1.1  christos #define mX6		bX6 (-1)
     47          1.1  christos 
     48          1.1  christos #define OpX6(a,b) 	(bOp (a) | bX6 (b)), (mOp | mX6)
     49          1.1  christos #define OpPaWhaD(a,b,c,d) \
     50          1.1  christos 	(bOp (a) | bPa (b) | bWha (c) | bD (d)), (mOp | mPa | mWha | mD)
     51          1.1  christos #define OpPaWhcD(a,b,c,d) \
     52          1.1  christos 	(bOp (a) | bPa (b) | bWhc (c) | bD (d)), (mOp | mPa | mWhc | mD)
     53          1.1  christos #define OpBtypePaWhaD(a,b,c,d,e) \
     54          1.1  christos 	(bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e)), \
     55          1.1  christos 	(mOp | mBtype | mPa | mWha | mD)
     56          1.1  christos #define OpBtypePaWhaDPr(a,b,c,d,e,f) \
     57          1.1  christos 	(bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e) | bPr (f)), \
     58          1.1  christos 	(mOp | mBtype | mPa | mWha | mD | mPr)
     59          1.1  christos #define OpX6BtypePaWhaD(a,b,c,d,e,f) \
     60          1.1  christos 	(bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f)), \
     61          1.1  christos 	(mOp | mX6 | mBtype | mPa | mWha | mD)
     62          1.1  christos #define OpX6BtypePaWhaDPr(a,b,c,d,e,f,g) \
     63          1.1  christos    (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f) | bPr (g)), \
     64          1.1  christos 	(mOp | mX6 | mBtype | mPa | mWha | mD | mPr)
     65          1.1  christos #define OpIhWhb(a,b,c) \
     66          1.1  christos 	(bOp (a) | bIh (b) | bWhb (c)), \
     67          1.1  christos 	(mOp | mIh | mWhb)
     68          1.1  christos #define OpX6IhWhb(a,b,c,d) \
     69          1.1  christos 	(bOp (a) | bX6 (b) | bIh (c) | bWhb (d)), \
     70          1.1  christos 	(mOp | mX6 | mIh | mWhb)
     71          1.1  christos 
     72          1.1  christos /* Used to initialise unused fields in ia64_opcode struct,
     73          1.1  christos    in order to stop gcc from complaining.  */
     74          1.1  christos #define EMPTY 0,0,NULL
     75          1.1  christos 
     76          1.1  christos struct ia64_opcode ia64_opcodes_b[] =
     77          1.1  christos   {
     78          1.1  christos     /* B-type instruction encodings (sorted according to major opcode) */
     79          1.1  christos 
     80          1.1  christos #define BR(a,b) \
     81          1.1  christos       B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO, 0, NULL
     82          1.1  christos     {"br.few",		BR (0, 0)},
     83          1.1  christos     {"br",		BR (0, 0)},
     84          1.1  christos     {"br.few.clr",	BR (0, 1)},
     85          1.1  christos     {"br.clr",		BR (0, 1)},
     86          1.1  christos     {"br.many",		BR (1, 0)},
     87          1.1  christos     {"br.many.clr",	BR (1, 1)},
     88          1.1  christos #undef BR
     89          1.1  christos 
     90          1.1  christos #define BR(a,b,c,d,e)	B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, EMPTY
     91          1.1  christos #define BRP(a,b,c,d,e)	B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, PSEUDO, 0, NULL
     92          1.1  christos #define BRT(a,b,c,d,e,f) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, f, 0, NULL
     93          1.1  christos     {"br.cond.sptk.few",	BR (0x20, 0, 0, 0, 0)},
     94          1.1  christos     {"br.cond.sptk",		BRP (0x20, 0, 0, 0, 0)},
     95          1.1  christos     {"br.cond.sptk.few.clr",	BR (0x20, 0, 0, 0, 1)},
     96          1.1  christos     {"br.cond.sptk.clr",	BRP (0x20, 0, 0, 0, 1)},
     97          1.1  christos     {"br.cond.spnt.few",	BR (0x20, 0, 0, 1, 0)},
     98          1.1  christos     {"br.cond.spnt",		BRP (0x20, 0, 0, 1, 0)},
     99          1.1  christos     {"br.cond.spnt.few.clr",	BR (0x20, 0, 0, 1, 1)},
    100          1.1  christos     {"br.cond.spnt.clr",	BRP (0x20, 0, 0, 1, 1)},
    101          1.1  christos     {"br.cond.dptk.few",	BR (0x20, 0, 0, 2, 0)},
    102          1.1  christos     {"br.cond.dptk",		BRP (0x20, 0, 0, 2, 0)},
    103          1.1  christos     {"br.cond.dptk.few.clr",	BR (0x20, 0, 0, 2, 1)},
    104          1.1  christos     {"br.cond.dptk.clr",	BRP (0x20, 0, 0, 2, 1)},
    105          1.1  christos     {"br.cond.dpnt.few",	BR (0x20, 0, 0, 3, 0)},
    106          1.1  christos     {"br.cond.dpnt",		BRP (0x20, 0, 0, 3, 0)},
    107          1.1  christos     {"br.cond.dpnt.few.clr",	BR (0x20, 0, 0, 3, 1)},
    108          1.1  christos     {"br.cond.dpnt.clr",	BRP (0x20, 0, 0, 3, 1)},
    109          1.1  christos     {"br.cond.sptk.many",	BR (0x20, 0, 1, 0, 0)},
    110          1.1  christos     {"br.cond.sptk.many.clr",	BR (0x20, 0, 1, 0, 1)},
    111          1.1  christos     {"br.cond.spnt.many",	BR (0x20, 0, 1, 1, 0)},
    112          1.1  christos     {"br.cond.spnt.many.clr",	BR (0x20, 0, 1, 1, 1)},
    113          1.1  christos     {"br.cond.dptk.many",	BR (0x20, 0, 1, 2, 0)},
    114          1.1  christos     {"br.cond.dptk.many.clr",	BR (0x20, 0, 1, 2, 1)},
    115          1.1  christos     {"br.cond.dpnt.many",	BR (0x20, 0, 1, 3, 0)},
    116          1.1  christos     {"br.cond.dpnt.many.clr",	BR (0x20, 0, 1, 3, 1)},
    117          1.1  christos     {"br.sptk.few",		BR (0x20, 0, 0, 0, 0)},
    118          1.1  christos     {"br.sptk",			BRP (0x20, 0, 0, 0, 0)},
    119          1.1  christos     {"br.sptk.few.clr",		BR (0x20, 0, 0, 0, 1)},
    120          1.1  christos     {"br.sptk.clr",		BRP (0x20, 0, 0, 0, 1)},
    121          1.1  christos     {"br.spnt.few",		BR (0x20, 0, 0, 1, 0)},
    122          1.1  christos     {"br.spnt",			BRP (0x20, 0, 0, 1, 0)},
    123          1.1  christos     {"br.spnt.few.clr",		BR (0x20, 0, 0, 1, 1)},
    124          1.1  christos     {"br.spnt.clr",		BRP (0x20, 0, 0, 1, 1)},
    125          1.1  christos     {"br.dptk.few",		BR (0x20, 0, 0, 2, 0)},
    126          1.1  christos     {"br.dptk",			BRP (0x20, 0, 0, 2, 0)},
    127          1.1  christos     {"br.dptk.few.clr",		BR (0x20, 0, 0, 2, 1)},
    128          1.1  christos     {"br.dptk.clr",		BRP (0x20, 0, 0, 2, 1)},
    129          1.1  christos     {"br.dpnt.few",		BR (0x20, 0, 0, 3, 0)},
    130          1.1  christos     {"br.dpnt",			BRP (0x20, 0, 0, 3, 0)},
    131          1.1  christos     {"br.dpnt.few.clr",		BR (0x20, 0, 0, 3, 1)},
    132          1.1  christos     {"br.dpnt.clr",		BRP (0x20, 0, 0, 3, 1)},
    133          1.1  christos     {"br.sptk.many",		BR (0x20, 0, 1, 0, 0)},
    134          1.1  christos     {"br.sptk.many.clr",	BR (0x20, 0, 1, 0, 1)},
    135          1.1  christos     {"br.spnt.many",		BR (0x20, 0, 1, 1, 0)},
    136          1.1  christos     {"br.spnt.many.clr",	BR (0x20, 0, 1, 1, 1)},
    137          1.1  christos     {"br.dptk.many",		BR (0x20, 0, 1, 2, 0)},
    138          1.1  christos     {"br.dptk.many.clr",	BR (0x20, 0, 1, 2, 1)},
    139          1.1  christos     {"br.dpnt.many",		BR (0x20, 0, 1, 3, 0)},
    140          1.1  christos     {"br.dpnt.many.clr",	BR (0x20, 0, 1, 3, 1)},
    141          1.1  christos     {"br.ia.sptk.few",		BR (0x20, 1, 0, 0, 0)},
    142          1.1  christos     {"br.ia.sptk",		BRP (0x20, 1, 0, 0, 0)},
    143          1.1  christos     {"br.ia.sptk.few.clr",	BR (0x20, 1, 0, 0, 1)},
    144          1.1  christos     {"br.ia.sptk.clr",		BRP (0x20, 1, 0, 0, 1)},
    145          1.1  christos     {"br.ia.spnt.few",		BR (0x20, 1, 0, 1, 0)},
    146          1.1  christos     {"br.ia.spnt",		BRP (0x20, 1, 0, 1, 0)},
    147          1.1  christos     {"br.ia.spnt.few.clr",	BR (0x20, 1, 0, 1, 1)},
    148          1.1  christos     {"br.ia.spnt.clr",		BRP (0x20, 1, 0, 1, 1)},
    149          1.1  christos     {"br.ia.dptk.few",		BR (0x20, 1, 0, 2, 0)},
    150          1.1  christos     {"br.ia.dptk",		BRP (0x20, 1, 0, 2, 0)},
    151          1.1  christos     {"br.ia.dptk.few.clr",	BR (0x20, 1, 0, 2, 1)},
    152          1.1  christos     {"br.ia.dptk.clr",		BRP (0x20, 1, 0, 2, 1)},
    153          1.1  christos     {"br.ia.dpnt.few",		BR (0x20, 1, 0, 3, 0)},
    154          1.1  christos     {"br.ia.dpnt",		BRP (0x20, 1, 0, 3, 0)},
    155          1.1  christos     {"br.ia.dpnt.few.clr",	BR (0x20, 1, 0, 3, 1)},
    156          1.1  christos     {"br.ia.dpnt.clr",		BRP (0x20, 1, 0, 3, 1)},
    157          1.1  christos     {"br.ia.sptk.many",		BR (0x20, 1, 1, 0, 0)},
    158          1.1  christos     {"br.ia.sptk.many.clr",	BR (0x20, 1, 1, 0, 1)},
    159          1.1  christos     {"br.ia.spnt.many",		BR (0x20, 1, 1, 1, 0)},
    160          1.1  christos     {"br.ia.spnt.many.clr",	BR (0x20, 1, 1, 1, 1)},
    161          1.1  christos     {"br.ia.dptk.many",		BR (0x20, 1, 1, 2, 0)},
    162          1.1  christos     {"br.ia.dptk.many.clr",	BR (0x20, 1, 1, 2, 1)},
    163          1.1  christos     {"br.ia.dpnt.many",		BR (0x20, 1, 1, 3, 0)},
    164          1.1  christos     {"br.ia.dpnt.many.clr",	BR (0x20, 1, 1, 3, 1)},
    165          1.1  christos     {"br.ret.sptk.few",		BRT (0x21, 4, 0, 0, 0, MOD_RRBS)},
    166          1.1  christos     {"br.ret.sptk",		BRT (0x21, 4, 0, 0, 0, PSEUDO | MOD_RRBS)},
    167          1.1  christos     {"br.ret.sptk.few.clr",	BRT (0x21, 4, 0, 0, 1, MOD_RRBS)},
    168          1.1  christos     {"br.ret.sptk.clr",		BRT (0x21, 4, 0, 0, 1, PSEUDO | MOD_RRBS)},
    169          1.1  christos     {"br.ret.spnt.few",		BRT (0x21, 4, 0, 1, 0, MOD_RRBS)},
    170          1.1  christos     {"br.ret.spnt",		BRT (0x21, 4, 0, 1, 0, PSEUDO | MOD_RRBS)},
    171          1.1  christos     {"br.ret.spnt.few.clr",	BRT (0x21, 4, 0, 1, 1, MOD_RRBS)},
    172          1.1  christos     {"br.ret.spnt.clr",		BRT (0x21, 4, 0, 1, 1, PSEUDO | MOD_RRBS)},
    173          1.1  christos     {"br.ret.dptk.few",		BRT (0x21, 4, 0, 2, 0, MOD_RRBS)},
    174          1.1  christos     {"br.ret.dptk",		BRT (0x21, 4, 0, 2, 0, PSEUDO | MOD_RRBS)},
    175          1.1  christos     {"br.ret.dptk.few.clr",	BRT (0x21, 4, 0, 2, 1, MOD_RRBS)},
    176          1.1  christos     {"br.ret.dptk.clr",		BRT (0x21, 4, 0, 2, 1, PSEUDO | MOD_RRBS)},
    177          1.1  christos     {"br.ret.dpnt.few",		BRT (0x21, 4, 0, 3, 0, MOD_RRBS)},
    178          1.1  christos     {"br.ret.dpnt",		BRT (0x21, 4, 0, 3, 0, PSEUDO | MOD_RRBS)},
    179          1.1  christos     {"br.ret.dpnt.few.clr",	BRT (0x21, 4, 0, 3, 1, MOD_RRBS)},
    180          1.1  christos     {"br.ret.dpnt.clr",		BRT (0x21, 4, 0, 3, 1, PSEUDO | MOD_RRBS)},
    181          1.1  christos     {"br.ret.sptk.many",	BRT (0x21, 4, 1, 0, 0, MOD_RRBS)},
    182          1.1  christos     {"br.ret.sptk.many.clr",	BRT (0x21, 4, 1, 0, 1, MOD_RRBS)},
    183          1.1  christos     {"br.ret.spnt.many",	BRT (0x21, 4, 1, 1, 0, MOD_RRBS)},
    184          1.1  christos     {"br.ret.spnt.many.clr",	BRT (0x21, 4, 1, 1, 1, MOD_RRBS)},
    185          1.1  christos     {"br.ret.dptk.many",	BRT (0x21, 4, 1, 2, 0, MOD_RRBS)},
    186          1.1  christos     {"br.ret.dptk.many.clr",	BRT (0x21, 4, 1, 2, 1, MOD_RRBS)},
    187          1.1  christos     {"br.ret.dpnt.many",	BRT (0x21, 4, 1, 3, 0, MOD_RRBS)},
    188          1.1  christos     {"br.ret.dpnt.many.clr",	BRT (0x21, 4, 1, 3, 1, MOD_RRBS)},
    189          1.1  christos #undef BR
    190          1.1  christos #undef BRP
    191          1.1  christos #undef BRT
    192          1.1  christos 
    193          1.1  christos     {"cover",		B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
    194          1.1  christos     {"clrrrb",		B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
    195          1.1  christos     {"clrrrb.pr",	B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
    196          1.1  christos     {"rfi",		B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS, 0, NULL},
    197          1.1  christos     {"bsw.0",		B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
    198          1.1  christos     {"bsw.1",		B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
    199          1.1  christos     {"epc",		B0, OpX6 (0, 0x10), {0, }, NO_PRED, 0, NULL},
    200          1.1  christos     {"vmsw.0",		B0, OpX6 (0, 0x18), {0, }, NO_PRED | PRIV, 0, NULL},
    201          1.1  christos     {"vmsw.1",		B0, OpX6 (0, 0x19), {0, }, NO_PRED | PRIV, 0, NULL},
    202          1.1  christos 
    203          1.1  christos     {"break.b",		B0, OpX6 (0, 0x00), {IMMU21}, EMPTY},
    204          1.1  christos 
    205          1.1  christos     {"br.call.sptk.few",	B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, EMPTY},
    206          1.1  christos     {"br.call.sptk",		B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, PSEUDO, 0, NULL},
    207          1.1  christos     {"br.call.sptk.few.clr",	B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, EMPTY},
    208          1.1  christos     {"br.call.sptk.clr",	B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, PSEUDO, 0, NULL},
    209          1.1  christos     {"br.call.spnt.few",	B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, EMPTY},
    210          1.1  christos     {"br.call.spnt",		B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, PSEUDO, 0, NULL},
    211          1.1  christos     {"br.call.spnt.few.clr",	B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, EMPTY},
    212          1.1  christos     {"br.call.spnt.clr",	B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, PSEUDO, 0, NULL},
    213          1.1  christos     {"br.call.dptk.few",	B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, EMPTY},
    214          1.1  christos     {"br.call.dptk",		B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, PSEUDO, 0, NULL},
    215          1.1  christos     {"br.call.dptk.few.clr",	B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, EMPTY},
    216          1.1  christos     {"br.call.dptk.clr",	B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, PSEUDO, 0, NULL},
    217          1.1  christos     {"br.call.dpnt.few",	B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, EMPTY},
    218          1.1  christos     {"br.call.dpnt",		B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, PSEUDO, 0, NULL},
    219          1.1  christos     {"br.call.dpnt.few.clr",	B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, EMPTY},
    220          1.1  christos     {"br.call.dpnt.clr",	B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, PSEUDO, 0, NULL},
    221          1.1  christos     {"br.call.sptk.many",	B, OpPaWhcD (1, 1, 1, 0), {B1, B2}, EMPTY},
    222          1.1  christos     {"br.call.sptk.many.clr",	B, OpPaWhcD (1, 1, 1, 1), {B1, B2}, EMPTY},
    223          1.1  christos     {"br.call.spnt.many",	B, OpPaWhcD (1, 1, 3, 0), {B1, B2}, EMPTY},
    224          1.1  christos     {"br.call.spnt.many.clr",	B, OpPaWhcD (1, 1, 3, 1), {B1, B2}, EMPTY},
    225          1.1  christos     {"br.call.dptk.many",	B, OpPaWhcD (1, 1, 5, 0), {B1, B2}, EMPTY},
    226          1.1  christos     {"br.call.dptk.many.clr",	B, OpPaWhcD (1, 1, 5, 1), {B1, B2}, EMPTY},
    227          1.1  christos     {"br.call.dpnt.many",	B, OpPaWhcD (1, 1, 7, 0), {B1, B2}, EMPTY},
    228          1.1  christos     {"br.call.dpnt.many.clr",	B, OpPaWhcD (1, 1, 7, 1), {B1, B2}, EMPTY},
    229          1.1  christos 
    230          1.1  christos #define BRP(a,b,c) \
    231          1.1  christos       B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED, 0, NULL
    232          1.1  christos     {"brp.sptk",		BRP (0x10, 0, 0)},
    233          1.1  christos     {"brp.dptk",		BRP (0x10, 0, 2)},
    234          1.1  christos     {"brp.sptk.imp",		BRP (0x10, 1, 0)},
    235          1.1  christos     {"brp.dptk.imp",		BRP (0x10, 1, 2)},
    236          1.1  christos     {"brp.ret.sptk",		BRP (0x11, 0, 0)},
    237          1.1  christos     {"brp.ret.dptk",		BRP (0x11, 0, 2)},
    238          1.1  christos     {"brp.ret.sptk.imp",	BRP (0x11, 1, 0)},
    239          1.1  christos     {"brp.ret.dptk.imp",	BRP (0x11, 1, 2)},
    240          1.1  christos #undef BRP
    241          1.1  christos 
    242          1.1  christos     {"nop.b",		B0, OpX6 (2, 0x00), {IMMU21}, EMPTY},
    243          1.1  christos     {"hint.b",		B0, OpX6 (2, 0x01), {IMMU21}, EMPTY},
    244          1.1  christos 
    245          1.1  christos #define BR(a,b) \
    246          1.1  christos       B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO, 0, NULL
    247          1.1  christos     {"br.few",		BR (0, 0)},
    248          1.1  christos     {"br",		BR (0, 0)},
    249          1.1  christos     {"br.few.clr",	BR (0, 1)},
    250          1.1  christos     {"br.clr",		BR (0, 1)},
    251          1.1  christos     {"br.many",		BR (1, 0)},
    252          1.1  christos     {"br.many.clr",	BR (1, 1)},
    253          1.1  christos #undef BR
    254          1.1  christos 
    255          1.1  christos #define BR(a,b,c) \
    256          1.1  christos       B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, EMPTY
    257          1.1  christos #define BRP(a,b,c) \
    258          1.1  christos       B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, PSEUDO, 0, NULL
    259          1.1  christos     {"br.cond.sptk.few",	BR (0, 0, 0)},
    260          1.1  christos     {"br.cond.sptk",		BRP (0, 0, 0)},
    261          1.1  christos     {"br.cond.sptk.few.clr",	BR (0, 0, 1)},
    262          1.1  christos     {"br.cond.sptk.clr",	BRP (0, 0, 1)},
    263          1.1  christos     {"br.cond.spnt.few",	BR (0, 1, 0)},
    264          1.1  christos     {"br.cond.spnt",		BRP (0, 1, 0)},
    265          1.1  christos     {"br.cond.spnt.few.clr",	BR (0, 1, 1)},
    266          1.1  christos     {"br.cond.spnt.clr",	BRP (0, 1, 1)},
    267          1.1  christos     {"br.cond.dptk.few",	BR (0, 2, 0)},
    268          1.1  christos     {"br.cond.dptk",		BRP (0, 2, 0)},
    269          1.1  christos     {"br.cond.dptk.few.clr",	BR (0, 2, 1)},
    270          1.1  christos     {"br.cond.dptk.clr",	BRP (0, 2, 1)},
    271          1.1  christos     {"br.cond.dpnt.few",	BR (0, 3, 0)},
    272          1.1  christos     {"br.cond.dpnt",		BRP (0, 3, 0)},
    273          1.1  christos     {"br.cond.dpnt.few.clr",	BR (0, 3, 1)},
    274          1.1  christos     {"br.cond.dpnt.clr",	BRP (0, 3, 1)},
    275          1.1  christos     {"br.cond.sptk.many",	BR (1, 0, 0)},
    276          1.1  christos     {"br.cond.sptk.many.clr",	BR (1, 0, 1)},
    277          1.1  christos     {"br.cond.spnt.many",	BR (1, 1, 0)},
    278          1.1  christos     {"br.cond.spnt.many.clr",	BR (1, 1, 1)},
    279          1.1  christos     {"br.cond.dptk.many",	BR (1, 2, 0)},
    280          1.1  christos     {"br.cond.dptk.many.clr",	BR (1, 2, 1)},
    281          1.1  christos     {"br.cond.dpnt.many",	BR (1, 3, 0)},
    282          1.1  christos     {"br.cond.dpnt.many.clr",	BR (1, 3, 1)},
    283          1.1  christos     {"br.sptk.few",		BR (0, 0, 0)},
    284          1.1  christos     {"br.sptk",			BRP (0, 0, 0)},
    285          1.1  christos     {"br.sptk.few.clr",		BR (0, 0, 1)},
    286          1.1  christos     {"br.sptk.clr",		BRP (0, 0, 1)},
    287          1.1  christos     {"br.spnt.few",		BR (0, 1, 0)},
    288          1.1  christos     {"br.spnt",			BRP (0, 1, 0)},
    289          1.1  christos     {"br.spnt.few.clr",		BR (0, 1, 1)},
    290          1.1  christos     {"br.spnt.clr",		BRP (0, 1, 1)},
    291          1.1  christos     {"br.dptk.few",		BR (0, 2, 0)},
    292          1.1  christos     {"br.dptk",			BRP (0, 2, 0)},
    293          1.1  christos     {"br.dptk.few.clr",		BR (0, 2, 1)},
    294          1.1  christos     {"br.dptk.clr",		BRP (0, 2, 1)},
    295          1.1  christos     {"br.dpnt.few",		BR (0, 3, 0)},
    296          1.1  christos     {"br.dpnt",			BRP (0, 3, 0)},
    297          1.1  christos     {"br.dpnt.few.clr",		BR (0, 3, 1)},
    298          1.1  christos     {"br.dpnt.clr",		BRP (0, 3, 1)},
    299          1.1  christos     {"br.sptk.many",		BR (1, 0, 0)},
    300          1.1  christos     {"br.sptk.many.clr",	BR (1, 0, 1)},
    301          1.1  christos     {"br.spnt.many",		BR (1, 1, 0)},
    302          1.1  christos     {"br.spnt.many.clr",	BR (1, 1, 1)},
    303          1.1  christos     {"br.dptk.many",		BR (1, 2, 0)},
    304          1.1  christos     {"br.dptk.many.clr",	BR (1, 2, 1)},
    305          1.1  christos     {"br.dpnt.many",		BR (1, 3, 0)},
    306          1.1  christos     {"br.dpnt.many.clr",	BR (1, 3, 1)},
    307          1.1  christos #undef BR
    308          1.1  christos #undef BRP
    309          1.1  christos 
    310          1.1  christos #define BR(a,b,c,d, e) \
    311          1.1  christos 	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | e, 0, NULL
    312          1.1  christos     {"br.wexit.sptk.few",	BR (2, 0, 0, 0, MOD_RRBS)},
    313          1.1  christos     {"br.wexit.sptk",		BR (2, 0, 0, 0, PSEUDO | MOD_RRBS)},
    314          1.1  christos     {"br.wexit.sptk.few.clr",	BR (2, 0, 0, 1, MOD_RRBS)},
    315          1.1  christos     {"br.wexit.sptk.clr",	BR (2, 0, 0, 1, PSEUDO | MOD_RRBS)},
    316          1.1  christos     {"br.wexit.spnt.few",	BR (2, 0, 1, 0, MOD_RRBS)},
    317          1.1  christos     {"br.wexit.spnt",		BR (2, 0, 1, 0, PSEUDO | MOD_RRBS)},
    318          1.1  christos     {"br.wexit.spnt.few.clr",	BR (2, 0, 1, 1, MOD_RRBS)},
    319          1.1  christos     {"br.wexit.spnt.clr",	BR (2, 0, 1, 1, PSEUDO | MOD_RRBS)},
    320          1.1  christos     {"br.wexit.dptk.few",	BR (2, 0, 2, 0, MOD_RRBS)},
    321          1.1  christos     {"br.wexit.dptk",		BR (2, 0, 2, 0, PSEUDO | MOD_RRBS)},
    322          1.1  christos     {"br.wexit.dptk.few.clr",	BR (2, 0, 2, 1, MOD_RRBS)},
    323          1.1  christos     {"br.wexit.dptk.clr",	BR (2, 0, 2, 1, PSEUDO | MOD_RRBS)},
    324          1.1  christos     {"br.wexit.dpnt.few",	BR (2, 0, 3, 0, MOD_RRBS)},
    325          1.1  christos     {"br.wexit.dpnt",		BR (2, 0, 3, 0, PSEUDO | MOD_RRBS)},
    326          1.1  christos     {"br.wexit.dpnt.few.clr",	BR (2, 0, 3, 1, MOD_RRBS)},
    327          1.1  christos     {"br.wexit.dpnt.clr",	BR (2, 0, 3, 1, PSEUDO | MOD_RRBS)},
    328          1.1  christos     {"br.wexit.sptk.many",	BR (2, 1, 0, 0, MOD_RRBS)},
    329          1.1  christos     {"br.wexit.sptk.many.clr",	BR (2, 1, 0, 1, MOD_RRBS)},
    330          1.1  christos     {"br.wexit.spnt.many",	BR (2, 1, 1, 0, MOD_RRBS)},
    331          1.1  christos     {"br.wexit.spnt.many.clr",	BR (2, 1, 1, 1, MOD_RRBS)},
    332          1.1  christos     {"br.wexit.dptk.many",	BR (2, 1, 2, 0, MOD_RRBS)},
    333          1.1  christos     {"br.wexit.dptk.many.clr",	BR (2, 1, 2, 1, MOD_RRBS)},
    334          1.1  christos     {"br.wexit.dpnt.many",	BR (2, 1, 3, 0, MOD_RRBS)},
    335          1.1  christos     {"br.wexit.dpnt.many.clr",	BR (2, 1, 3, 1, MOD_RRBS)},
    336          1.1  christos     {"br.wtop.sptk.few",	BR (3, 0, 0, 0, MOD_RRBS)},
    337          1.1  christos     {"br.wtop.sptk",		BR (3, 0, 0, 0, PSEUDO | MOD_RRBS)},
    338          1.1  christos     {"br.wtop.sptk.few.clr",	BR (3, 0, 0, 1, MOD_RRBS)},
    339          1.1  christos     {"br.wtop.sptk.clr",	BR (3, 0, 0, 1, PSEUDO | MOD_RRBS)},
    340          1.1  christos     {"br.wtop.spnt.few",	BR (3, 0, 1, 0, MOD_RRBS)},
    341          1.1  christos     {"br.wtop.spnt",		BR (3, 0, 1, 0, PSEUDO | MOD_RRBS)},
    342          1.1  christos     {"br.wtop.spnt.few.clr",	BR (3, 0, 1, 1, MOD_RRBS)},
    343          1.1  christos     {"br.wtop.spnt.clr",	BR (3, 0, 1, 1, PSEUDO | MOD_RRBS)},
    344          1.1  christos     {"br.wtop.dptk.few",	BR (3, 0, 2, 0, MOD_RRBS)},
    345          1.1  christos     {"br.wtop.dptk",		BR (3, 0, 2, 0, PSEUDO | MOD_RRBS)},
    346          1.1  christos     {"br.wtop.dptk.few.clr",	BR (3, 0, 2, 1, MOD_RRBS)},
    347          1.1  christos     {"br.wtop.dptk.clr",	BR (3, 0, 2, 1, PSEUDO | MOD_RRBS)},
    348          1.1  christos     {"br.wtop.dpnt.few",	BR (3, 0, 3, 0, MOD_RRBS)},
    349          1.1  christos     {"br.wtop.dpnt",		BR (3, 0, 3, 0, PSEUDO | MOD_RRBS)},
    350          1.1  christos     {"br.wtop.dpnt.few.clr",	BR (3, 0, 3, 1, MOD_RRBS)},
    351          1.1  christos     {"br.wtop.dpnt.clr",	BR (3, 0, 3, 1, PSEUDO | MOD_RRBS)},
    352          1.1  christos     {"br.wtop.sptk.many",	BR (3, 1, 0, 0, MOD_RRBS)},
    353          1.1  christos     {"br.wtop.sptk.many.clr",	BR (3, 1, 0, 1, MOD_RRBS)},
    354          1.1  christos     {"br.wtop.spnt.many",	BR (3, 1, 1, 0, MOD_RRBS)},
    355          1.1  christos     {"br.wtop.spnt.many.clr",	BR (3, 1, 1, 1, MOD_RRBS)},
    356          1.1  christos     {"br.wtop.dptk.many",	BR (3, 1, 2, 0, MOD_RRBS)},
    357          1.1  christos     {"br.wtop.dptk.many.clr",	BR (3, 1, 2, 1, MOD_RRBS)},
    358          1.1  christos     {"br.wtop.dpnt.many",	BR (3, 1, 3, 0, MOD_RRBS)},
    359          1.1  christos     {"br.wtop.dpnt.many.clr",	BR (3, 1, 3, 1, MOD_RRBS)},
    360          1.1  christos 
    361          1.1  christos #undef BR
    362          1.1  christos #define BR(a,b,c,d) \
    363          1.1  christos 	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED, 0, NULL
    364          1.1  christos #define BRT(a,b,c,d,e) \
    365          1.1  christos 	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED | e, 0, NULL
    366          1.1  christos     {"br.cloop.sptk.few",	BR (5, 0, 0, 0)},
    367          1.1  christos     {"br.cloop.sptk",		BRT (5, 0, 0, 0, PSEUDO)},
    368          1.1  christos     {"br.cloop.sptk.few.clr",	BR (5, 0, 0, 1)},
    369          1.1  christos     {"br.cloop.sptk.clr",	BRT (5, 0, 0, 1, PSEUDO)},
    370          1.1  christos     {"br.cloop.spnt.few",	BR (5, 0, 1, 0)},
    371          1.1  christos     {"br.cloop.spnt",		BRT (5, 0, 1, 0, PSEUDO)},
    372          1.1  christos     {"br.cloop.spnt.few.clr",	BR (5, 0, 1, 1)},
    373          1.1  christos     {"br.cloop.spnt.clr",	BRT (5, 0, 1, 1, PSEUDO)},
    374          1.1  christos     {"br.cloop.dptk.few",	BR (5, 0, 2, 0)},
    375          1.1  christos     {"br.cloop.dptk",		BRT (5, 0, 2, 0, PSEUDO)},
    376          1.1  christos     {"br.cloop.dptk.few.clr",	BR (5, 0, 2, 1)},
    377          1.1  christos     {"br.cloop.dptk.clr",	BRT (5, 0, 2, 1, PSEUDO)},
    378          1.1  christos     {"br.cloop.dpnt.few",	BR (5, 0, 3, 0)},
    379          1.1  christos     {"br.cloop.dpnt",		BRT (5, 0, 3, 0, PSEUDO)},
    380          1.1  christos     {"br.cloop.dpnt.few.clr",	BR (5, 0, 3, 1)},
    381          1.1  christos     {"br.cloop.dpnt.clr",	BRT (5, 0, 3, 1, PSEUDO)},
    382          1.1  christos     {"br.cloop.sptk.many",	BR (5, 1, 0, 0)},
    383          1.1  christos     {"br.cloop.sptk.many.clr",	BR (5, 1, 0, 1)},
    384          1.1  christos     {"br.cloop.spnt.many",	BR (5, 1, 1, 0)},
    385          1.1  christos     {"br.cloop.spnt.many.clr",	BR (5, 1, 1, 1)},
    386          1.1  christos     {"br.cloop.dptk.many",	BR (5, 1, 2, 0)},
    387          1.1  christos     {"br.cloop.dptk.many.clr",	BR (5, 1, 2, 1)},
    388          1.1  christos     {"br.cloop.dpnt.many",	BR (5, 1, 3, 0)},
    389          1.1  christos     {"br.cloop.dpnt.many.clr",	BR (5, 1, 3, 1)},
    390          1.1  christos     {"br.cexit.sptk.few",	BRT (6, 0, 0, 0, MOD_RRBS)},
    391          1.1  christos     {"br.cexit.sptk",		BRT (6, 0, 0, 0, PSEUDO | MOD_RRBS)},
    392          1.1  christos     {"br.cexit.sptk.few.clr",	BRT (6, 0, 0, 1, MOD_RRBS)},
    393          1.1  christos     {"br.cexit.sptk.clr",	BRT (6, 0, 0, 1, PSEUDO | MOD_RRBS)},
    394          1.1  christos     {"br.cexit.spnt.few",	BRT (6, 0, 1, 0, MOD_RRBS)},
    395          1.1  christos     {"br.cexit.spnt",		BRT (6, 0, 1, 0, PSEUDO | MOD_RRBS)},
    396          1.1  christos     {"br.cexit.spnt.few.clr",	BRT (6, 0, 1, 1, MOD_RRBS)},
    397          1.1  christos     {"br.cexit.spnt.clr",	BRT (6, 0, 1, 1, PSEUDO | MOD_RRBS)},
    398          1.1  christos     {"br.cexit.dptk.few",	BRT (6, 0, 2, 0, MOD_RRBS)},
    399          1.1  christos     {"br.cexit.dptk",		BRT (6, 0, 2, 0, PSEUDO | MOD_RRBS)},
    400          1.1  christos     {"br.cexit.dptk.few.clr",	BRT (6, 0, 2, 1, MOD_RRBS)},
    401          1.1  christos     {"br.cexit.dptk.clr",	BRT (6, 0, 2, 1, PSEUDO | MOD_RRBS)},
    402          1.1  christos     {"br.cexit.dpnt.few",	BRT (6, 0, 3, 0, MOD_RRBS)},
    403          1.1  christos     {"br.cexit.dpnt",		BRT (6, 0, 3, 0, PSEUDO | MOD_RRBS)},
    404          1.1  christos     {"br.cexit.dpnt.few.clr",	BRT (6, 0, 3, 1, MOD_RRBS)},
    405          1.1  christos     {"br.cexit.dpnt.clr",	BRT (6, 0, 3, 1, PSEUDO | MOD_RRBS)},
    406          1.1  christos     {"br.cexit.sptk.many",	BRT (6, 1, 0, 0, MOD_RRBS)},
    407          1.1  christos     {"br.cexit.sptk.many.clr",	BRT (6, 1, 0, 1, MOD_RRBS)},
    408          1.1  christos     {"br.cexit.spnt.many",	BRT (6, 1, 1, 0, MOD_RRBS)},
    409          1.1  christos     {"br.cexit.spnt.many.clr",	BRT (6, 1, 1, 1, MOD_RRBS)},
    410          1.1  christos     {"br.cexit.dptk.many",	BRT (6, 1, 2, 0, MOD_RRBS)},
    411          1.1  christos     {"br.cexit.dptk.many.clr",	BRT (6, 1, 2, 1, MOD_RRBS)},
    412          1.1  christos     {"br.cexit.dpnt.many",	BRT (6, 1, 3, 0, MOD_RRBS)},
    413          1.1  christos     {"br.cexit.dpnt.many.clr",	BRT (6, 1, 3, 1, MOD_RRBS)},
    414          1.1  christos     {"br.ctop.sptk.few",	BRT (7, 0, 0, 0, MOD_RRBS)},
    415          1.1  christos     {"br.ctop.sptk",		BRT (7, 0, 0, 0, PSEUDO | MOD_RRBS)},
    416          1.1  christos     {"br.ctop.sptk.few.clr",	BRT (7, 0, 0, 1, MOD_RRBS)},
    417          1.1  christos     {"br.ctop.sptk.clr",	BRT (7, 0, 0, 1, PSEUDO | MOD_RRBS)},
    418          1.1  christos     {"br.ctop.spnt.few",	BRT (7, 0, 1, 0, MOD_RRBS)},
    419          1.1  christos     {"br.ctop.spnt",		BRT (7, 0, 1, 0, PSEUDO | MOD_RRBS)},
    420          1.1  christos     {"br.ctop.spnt.few.clr",	BRT (7, 0, 1, 1, MOD_RRBS)},
    421          1.1  christos     {"br.ctop.spnt.clr",	BRT (7, 0, 1, 1, PSEUDO | MOD_RRBS)},
    422          1.1  christos     {"br.ctop.dptk.few",	BRT (7, 0, 2, 0, MOD_RRBS)},
    423          1.1  christos     {"br.ctop.dptk",		BRT (7, 0, 2, 0, PSEUDO | MOD_RRBS)},
    424          1.1  christos     {"br.ctop.dptk.few.clr",	BRT (7, 0, 2, 1, MOD_RRBS)},
    425          1.1  christos     {"br.ctop.dptk.clr",	BRT (7, 0, 2, 1, PSEUDO | MOD_RRBS)},
    426          1.1  christos     {"br.ctop.dpnt.few",	BRT (7, 0, 3, 0, MOD_RRBS)},
    427          1.1  christos     {"br.ctop.dpnt",		BRT (7, 0, 3, 0, PSEUDO | MOD_RRBS)},
    428          1.1  christos     {"br.ctop.dpnt.few.clr",	BRT (7, 0, 3, 1, MOD_RRBS)},
    429          1.1  christos     {"br.ctop.dpnt.clr",	BRT (7, 0, 3, 1, PSEUDO | MOD_RRBS)},
    430          1.1  christos     {"br.ctop.sptk.many",	BRT (7, 1, 0, 0, MOD_RRBS)},
    431          1.1  christos     {"br.ctop.sptk.many.clr",	BRT (7, 1, 0, 1, MOD_RRBS)},
    432          1.1  christos     {"br.ctop.spnt.many",	BRT (7, 1, 1, 0, MOD_RRBS)},
    433          1.1  christos     {"br.ctop.spnt.many.clr",	BRT (7, 1, 1, 1, MOD_RRBS)},
    434          1.1  christos     {"br.ctop.dptk.many",	BRT (7, 1, 2, 0, MOD_RRBS)},
    435          1.1  christos     {"br.ctop.dptk.many.clr",	BRT (7, 1, 2, 1, MOD_RRBS)},
    436          1.1  christos     {"br.ctop.dpnt.many",	BRT (7, 1, 3, 0, MOD_RRBS)},
    437          1.1  christos     {"br.ctop.dpnt.many.clr",	BRT (7, 1, 3, 1, MOD_RRBS)},
    438          1.1  christos #undef BR
    439          1.1  christos #undef BRT
    440          1.1  christos 
    441          1.1  christos     {"br.call.sptk.few",	B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, EMPTY},
    442          1.1  christos     {"br.call.sptk",		B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
    443          1.1  christos     {"br.call.sptk.few.clr",	B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, EMPTY},
    444          1.1  christos     {"br.call.sptk.clr",	B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
    445          1.1  christos     {"br.call.spnt.few",	B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, EMPTY},
    446          1.1  christos     {"br.call.spnt",		B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
    447          1.1  christos     {"br.call.spnt.few.clr",	B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, EMPTY},
    448          1.1  christos     {"br.call.spnt.clr",	B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
    449          1.1  christos     {"br.call.dptk.few",	B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, EMPTY},
    450          1.1  christos     {"br.call.dptk",		B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
    451          1.1  christos     {"br.call.dptk.few.clr",	B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, EMPTY},
    452          1.1  christos     {"br.call.dptk.clr",	B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
    453          1.1  christos     {"br.call.dpnt.few",	B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, EMPTY},
    454          1.1  christos     {"br.call.dpnt",		B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
    455          1.1  christos     {"br.call.dpnt.few.clr",	B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, EMPTY},
    456          1.1  christos     {"br.call.dpnt.clr",	B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
    457          1.1  christos     {"br.call.sptk.many",	B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}, EMPTY},
    458          1.1  christos     {"br.call.sptk.many.clr",	B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}, EMPTY},
    459          1.1  christos     {"br.call.spnt.many",	B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}, EMPTY},
    460          1.1  christos     {"br.call.spnt.many.clr",	B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}, EMPTY},
    461          1.1  christos     {"br.call.dptk.many",	B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}, EMPTY},
    462          1.1  christos     {"br.call.dptk.many.clr",	B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}, EMPTY},
    463          1.1  christos     {"br.call.dpnt.many",	B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}, EMPTY},
    464          1.1  christos     {"br.call.dpnt.many.clr",	B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}, EMPTY},
    465          1.1  christos 
    466          1.1  christos     /* Branch predict.  */
    467          1.1  christos #define BRP(a,b) \
    468          1.1  christos       B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED, 0, NULL
    469          1.1  christos     {"brp.sptk",		BRP (0, 0)},
    470          1.1  christos     {"brp.loop",		BRP (0, 1)},
    471          1.1  christos     {"brp.dptk",		BRP (0, 2)},
    472          1.1  christos     {"brp.exit",		BRP (0, 3)},
    473          1.1  christos     {"brp.sptk.imp",		BRP (1, 0)},
    474          1.1  christos     {"brp.loop.imp",		BRP (1, 1)},
    475          1.1  christos     {"brp.dptk.imp",		BRP (1, 2)},
    476          1.1  christos     {"brp.exit.imp",		BRP (1, 3)},
    477          1.1  christos #undef BRP
    478          1.1  christos 
    479          1.1  christos     {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
    480          1.1  christos   };
    481          1.1  christos 
    482          1.1  christos #undef B0
    483          1.1  christos #undef B
    484          1.1  christos #undef bBtype
    485          1.1  christos #undef bD
    486          1.1  christos #undef bIh
    487          1.1  christos #undef bPa
    488          1.1  christos #undef bPr
    489          1.1  christos #undef bWha
    490          1.1  christos #undef bWhb
    491          1.1  christos #undef bWhc
    492          1.1  christos #undef bX6
    493          1.1  christos #undef mBtype
    494          1.1  christos #undef mD
    495          1.1  christos #undef mIh
    496          1.1  christos #undef mPa
    497          1.1  christos #undef mPr
    498          1.1  christos #undef mWha
    499          1.1  christos #undef mWhb
    500          1.1  christos #undef mWhc
    501          1.1  christos #undef mX6
    502          1.1  christos #undef OpX6
    503          1.1  christos #undef OpPaWhaD
    504          1.1  christos #undef OpPaWhcD
    505          1.1  christos #undef OpBtypePaWhaD
    506          1.1  christos #undef OpBtypePaWhaDPr
    507          1.1  christos #undef OpX6BtypePaWhaD
    508          1.1  christos #undef OpX6BtypePaWhaDPr
    509          1.1  christos #undef OpIhWhb
    510          1.1  christos #undef OpX6IhWhb
    511          1.1  christos #undef EMPTY
    512