Home | History | Annotate | Line # | Download | only in opcodes
ia64-opc-b.c revision 1.1.1.4
      1      1.1  christos /* ia64-opc-b.c -- IA-64 `B' opcode table.
      2  1.1.1.4  christos    Copyright (C) 1998-2017 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