ia64-opc-b.c revision 130561
184865Sobrien/* ia64-opc-b.c -- IA-64 `B' opcode table.
2130561Sobrien   Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
384865Sobrien   Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
484865Sobrien
584865Sobrien   This file is part of GDB, GAS, and the GNU binutils.
684865Sobrien
784865Sobrien   GDB, GAS, and the GNU binutils are free software; you can redistribute
884865Sobrien   them and/or modify them under the terms of the GNU General Public
984865Sobrien   License as published by the Free Software Foundation; either version
1084865Sobrien   2, or (at your option) any later version.
1184865Sobrien
1284865Sobrien   GDB, GAS, and the GNU binutils are distributed in the hope that they
1384865Sobrien   will be useful, but WITHOUT ANY WARRANTY; without even the implied
1484865Sobrien   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
1584865Sobrien   the GNU General Public License for more details.
1684865Sobrien
1784865Sobrien   You should have received a copy of the GNU General Public License
1884865Sobrien   along with this file; see the file COPYING.  If not, write to the
1984865Sobrien   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2084865Sobrien   02111-1307, USA.  */
2184865Sobrien
2284865Sobrien#include "ia64-opc.h"
2384865Sobrien
2484865Sobrien#define B0	IA64_TYPE_B, 0
2584865Sobrien#define B	IA64_TYPE_B, 1
2684865Sobrien
2784865Sobrien/* instruction bit fields: */
2884865Sobrien#define bBtype(x)	(((ia64_insn) ((x) & 0x7)) << 6)
2984865Sobrien#define bD(x)		(((ia64_insn) ((x) & 0x1)) << 35)
3084865Sobrien#define bIh(x)		(((ia64_insn) ((x) & 0x1)) << 35)
3184865Sobrien#define bPa(x)		(((ia64_insn) ((x) & 0x1)) << 12)
3284865Sobrien#define bPr(x)		(((ia64_insn) ((x) & 0x3f)) << 0)
3384865Sobrien#define bWha(x)		(((ia64_insn) ((x) & 0x3)) << 33)
3484865Sobrien#define bWhb(x)		(((ia64_insn) ((x) & 0x3)) << 3)
35104834Sobrien#define bWhc(x)		(((ia64_insn) ((x) & 0x7)) << 32)
3684865Sobrien#define bX6(x)		(((ia64_insn) ((x) & 0x3f)) << 27)
3784865Sobrien
3884865Sobrien#define mBtype		bBtype (-1)
3984865Sobrien#define mD		bD (-1)
4084865Sobrien#define mIh		bIh (-1)
4184865Sobrien#define mPa		bPa (-1)
4284865Sobrien#define mPr		bPr (-1)
4384865Sobrien#define mWha		bWha (-1)
4484865Sobrien#define mWhb		bWhb (-1)
45104834Sobrien#define mWhc		bWhc (-1)
4684865Sobrien#define mX6		bX6 (-1)
4784865Sobrien
4884865Sobrien#define OpX6(a,b) 	(bOp (a) | bX6 (b)), (mOp | mX6)
4984865Sobrien#define OpPaWhaD(a,b,c,d) \
5084865Sobrien	(bOp (a) | bPa (b) | bWha (c) | bD (d)), (mOp | mPa | mWha | mD)
51104834Sobrien#define OpPaWhcD(a,b,c,d) \
52104834Sobrien	(bOp (a) | bPa (b) | bWhc (c) | bD (d)), (mOp | mPa | mWhc | mD)
5384865Sobrien#define OpBtypePaWhaD(a,b,c,d,e) \
5484865Sobrien	(bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e)), \
5584865Sobrien	(mOp | mBtype | mPa | mWha | mD)
5684865Sobrien#define OpBtypePaWhaDPr(a,b,c,d,e,f) \
5784865Sobrien	(bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e) | bPr (f)), \
5884865Sobrien	(mOp | mBtype | mPa | mWha | mD | mPr)
5984865Sobrien#define OpX6BtypePaWhaD(a,b,c,d,e,f) \
6084865Sobrien	(bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f)), \
6184865Sobrien	(mOp | mX6 | mBtype | mPa | mWha | mD)
6284865Sobrien#define OpX6BtypePaWhaDPr(a,b,c,d,e,f,g) \
6384865Sobrien   (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f) | bPr (g)), \
6484865Sobrien	(mOp | mX6 | mBtype | mPa | mWha | mD | mPr)
6584865Sobrien#define OpIhWhb(a,b,c) \
6684865Sobrien	(bOp (a) | bIh (b) | bWhb (c)), \
6784865Sobrien	(mOp | mIh | mWhb)
6884865Sobrien#define OpX6IhWhb(a,b,c,d) \
6984865Sobrien	(bOp (a) | bX6 (b) | bIh (c) | bWhb (d)), \
7084865Sobrien	(mOp | mX6 | mIh | mWhb)
7184865Sobrien
72130561Sobrien/* Used to initialise unused fields in ia64_opcode struct,
73130561Sobrien   in order to stop gcc from complaining.  */
74130561Sobrien#define EMPTY 0,0,NULL
75130561Sobrien
7684865Sobrienstruct ia64_opcode ia64_opcodes_b[] =
7784865Sobrien  {
7884865Sobrien    /* B-type instruction encodings (sorted according to major opcode) */
7984865Sobrien
8084865Sobrien#define BR(a,b) \
81130561Sobrien      B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO, 0, NULL
8284865Sobrien    {"br.few",		BR (0, 0)},
8384865Sobrien    {"br",		BR (0, 0)},
8484865Sobrien    {"br.few.clr",	BR (0, 1)},
8584865Sobrien    {"br.clr",		BR (0, 1)},
8684865Sobrien    {"br.many",		BR (1, 0)},
8784865Sobrien    {"br.many.clr",	BR (1, 1)},
8884865Sobrien#undef BR
8984865Sobrien
90130561Sobrien#define BR(a,b,c,d,e)	B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, EMPTY
91130561Sobrien#define BRP(a,b,c,d,e)	B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, PSEUDO, 0, NULL
92130561Sobrien#define BRT(a,b,c,d,e,f) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, f, 0, NULL
9384865Sobrien    {"br.cond.sptk.few",	BR (0x20, 0, 0, 0, 0)},
94130561Sobrien    {"br.cond.sptk",		BRP (0x20, 0, 0, 0, 0)},
9584865Sobrien    {"br.cond.sptk.few.clr",	BR (0x20, 0, 0, 0, 1)},
96130561Sobrien    {"br.cond.sptk.clr",	BRP (0x20, 0, 0, 0, 1)},
9784865Sobrien    {"br.cond.spnt.few",	BR (0x20, 0, 0, 1, 0)},
98130561Sobrien    {"br.cond.spnt",		BRP (0x20, 0, 0, 1, 0)},
9984865Sobrien    {"br.cond.spnt.few.clr",	BR (0x20, 0, 0, 1, 1)},
100130561Sobrien    {"br.cond.spnt.clr",	BRP (0x20, 0, 0, 1, 1)},
10184865Sobrien    {"br.cond.dptk.few",	BR (0x20, 0, 0, 2, 0)},
102130561Sobrien    {"br.cond.dptk",		BRP (0x20, 0, 0, 2, 0)},
10384865Sobrien    {"br.cond.dptk.few.clr",	BR (0x20, 0, 0, 2, 1)},
104130561Sobrien    {"br.cond.dptk.clr",	BRP (0x20, 0, 0, 2, 1)},
10584865Sobrien    {"br.cond.dpnt.few",	BR (0x20, 0, 0, 3, 0)},
106130561Sobrien    {"br.cond.dpnt",		BRP (0x20, 0, 0, 3, 0)},
10784865Sobrien    {"br.cond.dpnt.few.clr",	BR (0x20, 0, 0, 3, 1)},
108130561Sobrien    {"br.cond.dpnt.clr",	BRP (0x20, 0, 0, 3, 1)},
10984865Sobrien    {"br.cond.sptk.many",	BR (0x20, 0, 1, 0, 0)},
11084865Sobrien    {"br.cond.sptk.many.clr",	BR (0x20, 0, 1, 0, 1)},
11184865Sobrien    {"br.cond.spnt.many",	BR (0x20, 0, 1, 1, 0)},
11284865Sobrien    {"br.cond.spnt.many.clr",	BR (0x20, 0, 1, 1, 1)},
11384865Sobrien    {"br.cond.dptk.many",	BR (0x20, 0, 1, 2, 0)},
11484865Sobrien    {"br.cond.dptk.many.clr",	BR (0x20, 0, 1, 2, 1)},
11584865Sobrien    {"br.cond.dpnt.many",	BR (0x20, 0, 1, 3, 0)},
11684865Sobrien    {"br.cond.dpnt.many.clr",	BR (0x20, 0, 1, 3, 1)},
11784865Sobrien    {"br.sptk.few",		BR (0x20, 0, 0, 0, 0)},
118130561Sobrien    {"br.sptk",			BRP (0x20, 0, 0, 0, 0)},
11984865Sobrien    {"br.sptk.few.clr",		BR (0x20, 0, 0, 0, 1)},
120130561Sobrien    {"br.sptk.clr",		BRP (0x20, 0, 0, 0, 1)},
12184865Sobrien    {"br.spnt.few",		BR (0x20, 0, 0, 1, 0)},
122130561Sobrien    {"br.spnt",			BRP (0x20, 0, 0, 1, 0)},
12384865Sobrien    {"br.spnt.few.clr",		BR (0x20, 0, 0, 1, 1)},
124130561Sobrien    {"br.spnt.clr",		BRP (0x20, 0, 0, 1, 1)},
12584865Sobrien    {"br.dptk.few",		BR (0x20, 0, 0, 2, 0)},
126130561Sobrien    {"br.dptk",			BRP (0x20, 0, 0, 2, 0)},
12784865Sobrien    {"br.dptk.few.clr",		BR (0x20, 0, 0, 2, 1)},
128130561Sobrien    {"br.dptk.clr",		BRP (0x20, 0, 0, 2, 1)},
12984865Sobrien    {"br.dpnt.few",		BR (0x20, 0, 0, 3, 0)},
130130561Sobrien    {"br.dpnt",			BRP (0x20, 0, 0, 3, 0)},
13184865Sobrien    {"br.dpnt.few.clr",		BR (0x20, 0, 0, 3, 1)},
132130561Sobrien    {"br.dpnt.clr",		BRP (0x20, 0, 0, 3, 1)},
13384865Sobrien    {"br.sptk.many",		BR (0x20, 0, 1, 0, 0)},
13484865Sobrien    {"br.sptk.many.clr",	BR (0x20, 0, 1, 0, 1)},
13584865Sobrien    {"br.spnt.many",		BR (0x20, 0, 1, 1, 0)},
13684865Sobrien    {"br.spnt.many.clr",	BR (0x20, 0, 1, 1, 1)},
13784865Sobrien    {"br.dptk.many",		BR (0x20, 0, 1, 2, 0)},
13884865Sobrien    {"br.dptk.many.clr",	BR (0x20, 0, 1, 2, 1)},
13984865Sobrien    {"br.dpnt.many",		BR (0x20, 0, 1, 3, 0)},
14084865Sobrien    {"br.dpnt.many.clr",	BR (0x20, 0, 1, 3, 1)},
14184865Sobrien    {"br.ia.sptk.few",		BR (0x20, 1, 0, 0, 0)},
142130561Sobrien    {"br.ia.sptk",		BRP (0x20, 1, 0, 0, 0)},
14384865Sobrien    {"br.ia.sptk.few.clr",	BR (0x20, 1, 0, 0, 1)},
144130561Sobrien    {"br.ia.sptk.clr",		BRP (0x20, 1, 0, 0, 1)},
14584865Sobrien    {"br.ia.spnt.few",		BR (0x20, 1, 0, 1, 0)},
146130561Sobrien    {"br.ia.spnt",		BRP (0x20, 1, 0, 1, 0)},
14784865Sobrien    {"br.ia.spnt.few.clr",	BR (0x20, 1, 0, 1, 1)},
148130561Sobrien    {"br.ia.spnt.clr",		BRP (0x20, 1, 0, 1, 1)},
14984865Sobrien    {"br.ia.dptk.few",		BR (0x20, 1, 0, 2, 0)},
150130561Sobrien    {"br.ia.dptk",		BRP (0x20, 1, 0, 2, 0)},
15184865Sobrien    {"br.ia.dptk.few.clr",	BR (0x20, 1, 0, 2, 1)},
152130561Sobrien    {"br.ia.dptk.clr",		BRP (0x20, 1, 0, 2, 1)},
15384865Sobrien    {"br.ia.dpnt.few",		BR (0x20, 1, 0, 3, 0)},
154130561Sobrien    {"br.ia.dpnt",		BRP (0x20, 1, 0, 3, 0)},
15584865Sobrien    {"br.ia.dpnt.few.clr",	BR (0x20, 1, 0, 3, 1)},
156130561Sobrien    {"br.ia.dpnt.clr",		BRP (0x20, 1, 0, 3, 1)},
15784865Sobrien    {"br.ia.sptk.many",		BR (0x20, 1, 1, 0, 0)},
15884865Sobrien    {"br.ia.sptk.many.clr",	BR (0x20, 1, 1, 0, 1)},
15984865Sobrien    {"br.ia.spnt.many",		BR (0x20, 1, 1, 1, 0)},
16084865Sobrien    {"br.ia.spnt.many.clr",	BR (0x20, 1, 1, 1, 1)},
16184865Sobrien    {"br.ia.dptk.many",		BR (0x20, 1, 1, 2, 0)},
16284865Sobrien    {"br.ia.dptk.many.clr",	BR (0x20, 1, 1, 2, 1)},
16384865Sobrien    {"br.ia.dpnt.many",		BR (0x20, 1, 1, 3, 0)},
16484865Sobrien    {"br.ia.dpnt.many.clr",	BR (0x20, 1, 1, 3, 1)},
165130561Sobrien    {"br.ret.sptk.few",		BRT (0x21, 4, 0, 0, 0, MOD_RRBS)},
166130561Sobrien    {"br.ret.sptk",		BRT (0x21, 4, 0, 0, 0, PSEUDO | MOD_RRBS)},
167130561Sobrien    {"br.ret.sptk.few.clr",	BRT (0x21, 4, 0, 0, 1, MOD_RRBS)},
168130561Sobrien    {"br.ret.sptk.clr",		BRT (0x21, 4, 0, 0, 1, PSEUDO | MOD_RRBS)},
169130561Sobrien    {"br.ret.spnt.few",		BRT (0x21, 4, 0, 1, 0, MOD_RRBS)},
170130561Sobrien    {"br.ret.spnt",		BRT (0x21, 4, 0, 1, 0, PSEUDO | MOD_RRBS)},
171130561Sobrien    {"br.ret.spnt.few.clr",	BRT (0x21, 4, 0, 1, 1, MOD_RRBS)},
172130561Sobrien    {"br.ret.spnt.clr",		BRT (0x21, 4, 0, 1, 1, PSEUDO | MOD_RRBS)},
173130561Sobrien    {"br.ret.dptk.few",		BRT (0x21, 4, 0, 2, 0, MOD_RRBS)},
174130561Sobrien    {"br.ret.dptk",		BRT (0x21, 4, 0, 2, 0, PSEUDO | MOD_RRBS)},
175130561Sobrien    {"br.ret.dptk.few.clr",	BRT (0x21, 4, 0, 2, 1, MOD_RRBS)},
176130561Sobrien    {"br.ret.dptk.clr",		BRT (0x21, 4, 0, 2, 1, PSEUDO | MOD_RRBS)},
177130561Sobrien    {"br.ret.dpnt.few",		BRT (0x21, 4, 0, 3, 0, MOD_RRBS)},
178130561Sobrien    {"br.ret.dpnt",		BRT (0x21, 4, 0, 3, 0, PSEUDO | MOD_RRBS)},
179130561Sobrien    {"br.ret.dpnt.few.clr",	BRT (0x21, 4, 0, 3, 1, MOD_RRBS)},
180130561Sobrien    {"br.ret.dpnt.clr",		BRT (0x21, 4, 0, 3, 1, PSEUDO | MOD_RRBS)},
181130561Sobrien    {"br.ret.sptk.many",	BRT (0x21, 4, 1, 0, 0, MOD_RRBS)},
182130561Sobrien    {"br.ret.sptk.many.clr",	BRT (0x21, 4, 1, 0, 1, MOD_RRBS)},
183130561Sobrien    {"br.ret.spnt.many",	BRT (0x21, 4, 1, 1, 0, MOD_RRBS)},
184130561Sobrien    {"br.ret.spnt.many.clr",	BRT (0x21, 4, 1, 1, 1, MOD_RRBS)},
185130561Sobrien    {"br.ret.dptk.many",	BRT (0x21, 4, 1, 2, 0, MOD_RRBS)},
186130561Sobrien    {"br.ret.dptk.many.clr",	BRT (0x21, 4, 1, 2, 1, MOD_RRBS)},
187130561Sobrien    {"br.ret.dpnt.many",	BRT (0x21, 4, 1, 3, 0, MOD_RRBS)},
188130561Sobrien    {"br.ret.dpnt.many.clr",	BRT (0x21, 4, 1, 3, 1, MOD_RRBS)},
18984865Sobrien#undef BR
190130561Sobrien#undef BRP
191130561Sobrien#undef BRT
19284865Sobrien
193130561Sobrien    {"cover",		B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
194130561Sobrien    {"clrrrb",		B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
195130561Sobrien    {"clrrrb.pr",	B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
196130561Sobrien    {"rfi",		B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS, 0, NULL},
197130561Sobrien    {"bsw.0",		B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
198130561Sobrien    {"bsw.1",		B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
199130561Sobrien    {"epc",		B0, OpX6 (0, 0x10), {0, }, NO_PRED, 0, NULL},
20084865Sobrien
201130561Sobrien    {"break.b",		B0, OpX6 (0, 0x00), {IMMU21}, EMPTY},
20284865Sobrien
203130561Sobrien    {"br.call.sptk.few",	B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, EMPTY},
204130561Sobrien    {"br.call.sptk",		B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, PSEUDO, 0, NULL},
205130561Sobrien    {"br.call.sptk.few.clr",	B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, EMPTY},
206130561Sobrien    {"br.call.sptk.clr",	B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, PSEUDO, 0, NULL},
207130561Sobrien    {"br.call.spnt.few",	B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, EMPTY},
208130561Sobrien    {"br.call.spnt",		B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, PSEUDO, 0, NULL},
209130561Sobrien    {"br.call.spnt.few.clr",	B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, EMPTY},
210130561Sobrien    {"br.call.spnt.clr",	B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, PSEUDO, 0, NULL},
211130561Sobrien    {"br.call.dptk.few",	B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, EMPTY},
212130561Sobrien    {"br.call.dptk",		B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, PSEUDO, 0, NULL},
213130561Sobrien    {"br.call.dptk.few.clr",	B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, EMPTY},
214130561Sobrien    {"br.call.dptk.clr",	B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, PSEUDO, 0, NULL},
215130561Sobrien    {"br.call.dpnt.few",	B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, EMPTY},
216130561Sobrien    {"br.call.dpnt",		B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, PSEUDO, 0, NULL},
217130561Sobrien    {"br.call.dpnt.few.clr",	B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, EMPTY},
218130561Sobrien    {"br.call.dpnt.clr",	B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, PSEUDO, 0, NULL},
219130561Sobrien    {"br.call.sptk.many",	B, OpPaWhcD (1, 1, 1, 0), {B1, B2}, EMPTY},
220130561Sobrien    {"br.call.sptk.many.clr",	B, OpPaWhcD (1, 1, 1, 1), {B1, B2}, EMPTY},
221130561Sobrien    {"br.call.spnt.many",	B, OpPaWhcD (1, 1, 3, 0), {B1, B2}, EMPTY},
222130561Sobrien    {"br.call.spnt.many.clr",	B, OpPaWhcD (1, 1, 3, 1), {B1, B2}, EMPTY},
223130561Sobrien    {"br.call.dptk.many",	B, OpPaWhcD (1, 1, 5, 0), {B1, B2}, EMPTY},
224130561Sobrien    {"br.call.dptk.many.clr",	B, OpPaWhcD (1, 1, 5, 1), {B1, B2}, EMPTY},
225130561Sobrien    {"br.call.dpnt.many",	B, OpPaWhcD (1, 1, 7, 0), {B1, B2}, EMPTY},
226130561Sobrien    {"br.call.dpnt.many.clr",	B, OpPaWhcD (1, 1, 7, 1), {B1, B2}, EMPTY},
22784865Sobrien
22884865Sobrien#define BRP(a,b,c) \
229130561Sobrien      B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED, 0, NULL
23084865Sobrien    {"brp.sptk",		BRP (0x10, 0, 0)},
23184865Sobrien    {"brp.dptk",		BRP (0x10, 0, 2)},
23284865Sobrien    {"brp.sptk.imp",		BRP (0x10, 1, 0)},
23384865Sobrien    {"brp.dptk.imp",		BRP (0x10, 1, 2)},
23484865Sobrien    {"brp.ret.sptk",		BRP (0x11, 0, 0)},
23584865Sobrien    {"brp.ret.dptk",		BRP (0x11, 0, 2)},
23684865Sobrien    {"brp.ret.sptk.imp",	BRP (0x11, 1, 0)},
23784865Sobrien    {"brp.ret.dptk.imp",	BRP (0x11, 1, 2)},
23884865Sobrien#undef BRP
23984865Sobrien
240130561Sobrien    {"nop.b",		B0, OpX6 (2, 0x00), {IMMU21}, EMPTY},
241130561Sobrien    {"hint.b",		B0, OpX6 (2, 0x01), {IMMU21}, EMPTY},
24284865Sobrien
24384865Sobrien#define BR(a,b) \
244130561Sobrien      B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO, 0, NULL
24584865Sobrien    {"br.few",		BR (0, 0)},
24684865Sobrien    {"br",		BR (0, 0)},
24784865Sobrien    {"br.few.clr",	BR (0, 1)},
24884865Sobrien    {"br.clr",		BR (0, 1)},
24984865Sobrien    {"br.many",		BR (1, 0)},
25084865Sobrien    {"br.many.clr",	BR (1, 1)},
25184865Sobrien#undef BR
25284865Sobrien
25384865Sobrien#define BR(a,b,c) \
254130561Sobrien      B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, EMPTY
255130561Sobrien#define BRP(a,b,c) \
256130561Sobrien      B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, PSEUDO, 0, NULL
25784865Sobrien    {"br.cond.sptk.few",	BR (0, 0, 0)},
258130561Sobrien    {"br.cond.sptk",		BRP (0, 0, 0)},
25984865Sobrien    {"br.cond.sptk.few.clr",	BR (0, 0, 1)},
260130561Sobrien    {"br.cond.sptk.clr",	BRP (0, 0, 1)},
26184865Sobrien    {"br.cond.spnt.few",	BR (0, 1, 0)},
262130561Sobrien    {"br.cond.spnt",		BRP (0, 1, 0)},
26384865Sobrien    {"br.cond.spnt.few.clr",	BR (0, 1, 1)},
264130561Sobrien    {"br.cond.spnt.clr",	BRP (0, 1, 1)},
26584865Sobrien    {"br.cond.dptk.few",	BR (0, 2, 0)},
266130561Sobrien    {"br.cond.dptk",		BRP (0, 2, 0)},
26784865Sobrien    {"br.cond.dptk.few.clr",	BR (0, 2, 1)},
268130561Sobrien    {"br.cond.dptk.clr",	BRP (0, 2, 1)},
26984865Sobrien    {"br.cond.dpnt.few",	BR (0, 3, 0)},
270130561Sobrien    {"br.cond.dpnt",		BRP (0, 3, 0)},
27184865Sobrien    {"br.cond.dpnt.few.clr",	BR (0, 3, 1)},
272130561Sobrien    {"br.cond.dpnt.clr",	BRP (0, 3, 1)},
27384865Sobrien    {"br.cond.sptk.many",	BR (1, 0, 0)},
27484865Sobrien    {"br.cond.sptk.many.clr",	BR (1, 0, 1)},
27584865Sobrien    {"br.cond.spnt.many",	BR (1, 1, 0)},
27684865Sobrien    {"br.cond.spnt.many.clr",	BR (1, 1, 1)},
27784865Sobrien    {"br.cond.dptk.many",	BR (1, 2, 0)},
27884865Sobrien    {"br.cond.dptk.many.clr",	BR (1, 2, 1)},
27984865Sobrien    {"br.cond.dpnt.many",	BR (1, 3, 0)},
28084865Sobrien    {"br.cond.dpnt.many.clr",	BR (1, 3, 1)},
28184865Sobrien    {"br.sptk.few",		BR (0, 0, 0)},
282130561Sobrien    {"br.sptk",			BRP (0, 0, 0)},
28384865Sobrien    {"br.sptk.few.clr",		BR (0, 0, 1)},
284130561Sobrien    {"br.sptk.clr",		BRP (0, 0, 1)},
28584865Sobrien    {"br.spnt.few",		BR (0, 1, 0)},
286130561Sobrien    {"br.spnt",			BRP (0, 1, 0)},
28784865Sobrien    {"br.spnt.few.clr",		BR (0, 1, 1)},
288130561Sobrien    {"br.spnt.clr",		BRP (0, 1, 1)},
28984865Sobrien    {"br.dptk.few",		BR (0, 2, 0)},
290130561Sobrien    {"br.dptk",			BRP (0, 2, 0)},
29184865Sobrien    {"br.dptk.few.clr",		BR (0, 2, 1)},
292130561Sobrien    {"br.dptk.clr",		BRP (0, 2, 1)},
29384865Sobrien    {"br.dpnt.few",		BR (0, 3, 0)},
294130561Sobrien    {"br.dpnt",			BRP (0, 3, 0)},
29584865Sobrien    {"br.dpnt.few.clr",		BR (0, 3, 1)},
296130561Sobrien    {"br.dpnt.clr",		BRP (0, 3, 1)},
29784865Sobrien    {"br.sptk.many",		BR (1, 0, 0)},
29884865Sobrien    {"br.sptk.many.clr",	BR (1, 0, 1)},
29984865Sobrien    {"br.spnt.many",		BR (1, 1, 0)},
30084865Sobrien    {"br.spnt.many.clr",	BR (1, 1, 1)},
30184865Sobrien    {"br.dptk.many",		BR (1, 2, 0)},
30284865Sobrien    {"br.dptk.many.clr",	BR (1, 2, 1)},
30384865Sobrien    {"br.dpnt.many",		BR (1, 3, 0)},
30484865Sobrien    {"br.dpnt.many.clr",	BR (1, 3, 1)},
30584865Sobrien#undef BR
306130561Sobrien#undef BRP
30784865Sobrien
308130561Sobrien#define BR(a,b,c,d, e) \
309130561Sobrien	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | e, 0, NULL
310130561Sobrien    {"br.wexit.sptk.few",	BR (2, 0, 0, 0, MOD_RRBS)},
311130561Sobrien    {"br.wexit.sptk",		BR (2, 0, 0, 0, PSEUDO | MOD_RRBS)},
312130561Sobrien    {"br.wexit.sptk.few.clr",	BR (2, 0, 0, 1, MOD_RRBS)},
313130561Sobrien    {"br.wexit.sptk.clr",	BR (2, 0, 0, 1, PSEUDO | MOD_RRBS)},
314130561Sobrien    {"br.wexit.spnt.few",	BR (2, 0, 1, 0, MOD_RRBS)},
315130561Sobrien    {"br.wexit.spnt",		BR (2, 0, 1, 0, PSEUDO | MOD_RRBS)},
316130561Sobrien    {"br.wexit.spnt.few.clr",	BR (2, 0, 1, 1, MOD_RRBS)},
317130561Sobrien    {"br.wexit.spnt.clr",	BR (2, 0, 1, 1, PSEUDO | MOD_RRBS)},
318130561Sobrien    {"br.wexit.dptk.few",	BR (2, 0, 2, 0, MOD_RRBS)},
319130561Sobrien    {"br.wexit.dptk",		BR (2, 0, 2, 0, PSEUDO | MOD_RRBS)},
320130561Sobrien    {"br.wexit.dptk.few.clr",	BR (2, 0, 2, 1, MOD_RRBS)},
321130561Sobrien    {"br.wexit.dptk.clr",	BR (2, 0, 2, 1, PSEUDO | MOD_RRBS)},
322130561Sobrien    {"br.wexit.dpnt.few",	BR (2, 0, 3, 0, MOD_RRBS)},
323130561Sobrien    {"br.wexit.dpnt",		BR (2, 0, 3, 0, PSEUDO | MOD_RRBS)},
324130561Sobrien    {"br.wexit.dpnt.few.clr",	BR (2, 0, 3, 1, MOD_RRBS)},
325130561Sobrien    {"br.wexit.dpnt.clr",	BR (2, 0, 3, 1, PSEUDO | MOD_RRBS)},
326130561Sobrien    {"br.wexit.sptk.many",	BR (2, 1, 0, 0, MOD_RRBS)},
327130561Sobrien    {"br.wexit.sptk.many.clr",	BR (2, 1, 0, 1, MOD_RRBS)},
328130561Sobrien    {"br.wexit.spnt.many",	BR (2, 1, 1, 0, MOD_RRBS)},
329130561Sobrien    {"br.wexit.spnt.many.clr",	BR (2, 1, 1, 1, MOD_RRBS)},
330130561Sobrien    {"br.wexit.dptk.many",	BR (2, 1, 2, 0, MOD_RRBS)},
331130561Sobrien    {"br.wexit.dptk.many.clr",	BR (2, 1, 2, 1, MOD_RRBS)},
332130561Sobrien    {"br.wexit.dpnt.many",	BR (2, 1, 3, 0, MOD_RRBS)},
333130561Sobrien    {"br.wexit.dpnt.many.clr",	BR (2, 1, 3, 1, MOD_RRBS)},
334130561Sobrien    {"br.wtop.sptk.few",	BR (3, 0, 0, 0, MOD_RRBS)},
335130561Sobrien    {"br.wtop.sptk",		BR (3, 0, 0, 0, PSEUDO | MOD_RRBS)},
336130561Sobrien    {"br.wtop.sptk.few.clr",	BR (3, 0, 0, 1, MOD_RRBS)},
337130561Sobrien    {"br.wtop.sptk.clr",	BR (3, 0, 0, 1, PSEUDO | MOD_RRBS)},
338130561Sobrien    {"br.wtop.spnt.few",	BR (3, 0, 1, 0, MOD_RRBS)},
339130561Sobrien    {"br.wtop.spnt",		BR (3, 0, 1, 0, PSEUDO | MOD_RRBS)},
340130561Sobrien    {"br.wtop.spnt.few.clr",	BR (3, 0, 1, 1, MOD_RRBS)},
341130561Sobrien    {"br.wtop.spnt.clr",	BR (3, 0, 1, 1, PSEUDO | MOD_RRBS)},
342130561Sobrien    {"br.wtop.dptk.few",	BR (3, 0, 2, 0, MOD_RRBS)},
343130561Sobrien    {"br.wtop.dptk",		BR (3, 0, 2, 0, PSEUDO | MOD_RRBS)},
344130561Sobrien    {"br.wtop.dptk.few.clr",	BR (3, 0, 2, 1, MOD_RRBS)},
345130561Sobrien    {"br.wtop.dptk.clr",	BR (3, 0, 2, 1, PSEUDO | MOD_RRBS)},
346130561Sobrien    {"br.wtop.dpnt.few",	BR (3, 0, 3, 0, MOD_RRBS)},
347130561Sobrien    {"br.wtop.dpnt",		BR (3, 0, 3, 0, PSEUDO | MOD_RRBS)},
348130561Sobrien    {"br.wtop.dpnt.few.clr",	BR (3, 0, 3, 1, MOD_RRBS)},
349130561Sobrien    {"br.wtop.dpnt.clr",	BR (3, 0, 3, 1, PSEUDO | MOD_RRBS)},
350130561Sobrien    {"br.wtop.sptk.many",	BR (3, 1, 0, 0, MOD_RRBS)},
351130561Sobrien    {"br.wtop.sptk.many.clr",	BR (3, 1, 0, 1, MOD_RRBS)},
352130561Sobrien    {"br.wtop.spnt.many",	BR (3, 1, 1, 0, MOD_RRBS)},
353130561Sobrien    {"br.wtop.spnt.many.clr",	BR (3, 1, 1, 1, MOD_RRBS)},
354130561Sobrien    {"br.wtop.dptk.many",	BR (3, 1, 2, 0, MOD_RRBS)},
355130561Sobrien    {"br.wtop.dptk.many.clr",	BR (3, 1, 2, 1, MOD_RRBS)},
356130561Sobrien    {"br.wtop.dpnt.many",	BR (3, 1, 3, 0, MOD_RRBS)},
357130561Sobrien    {"br.wtop.dpnt.many.clr",	BR (3, 1, 3, 1, MOD_RRBS)},
35884865Sobrien
35984865Sobrien#undef BR
36084865Sobrien#define BR(a,b,c,d) \
361130561Sobrien	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED, 0, NULL
362130561Sobrien#define BRT(a,b,c,d,e) \
363130561Sobrien	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED | e, 0, NULL
36484865Sobrien    {"br.cloop.sptk.few",	BR (5, 0, 0, 0)},
365130561Sobrien    {"br.cloop.sptk",		BRT (5, 0, 0, 0, PSEUDO)},
36684865Sobrien    {"br.cloop.sptk.few.clr",	BR (5, 0, 0, 1)},
367130561Sobrien    {"br.cloop.sptk.clr",	BRT (5, 0, 0, 1, PSEUDO)},
36884865Sobrien    {"br.cloop.spnt.few",	BR (5, 0, 1, 0)},
369130561Sobrien    {"br.cloop.spnt",		BRT (5, 0, 1, 0, PSEUDO)},
37084865Sobrien    {"br.cloop.spnt.few.clr",	BR (5, 0, 1, 1)},
371130561Sobrien    {"br.cloop.spnt.clr",	BRT (5, 0, 1, 1, PSEUDO)},
37284865Sobrien    {"br.cloop.dptk.few",	BR (5, 0, 2, 0)},
373130561Sobrien    {"br.cloop.dptk",		BRT (5, 0, 2, 0, PSEUDO)},
37484865Sobrien    {"br.cloop.dptk.few.clr",	BR (5, 0, 2, 1)},
375130561Sobrien    {"br.cloop.dptk.clr",	BRT (5, 0, 2, 1, PSEUDO)},
37684865Sobrien    {"br.cloop.dpnt.few",	BR (5, 0, 3, 0)},
377130561Sobrien    {"br.cloop.dpnt",		BRT (5, 0, 3, 0, PSEUDO)},
37884865Sobrien    {"br.cloop.dpnt.few.clr",	BR (5, 0, 3, 1)},
379130561Sobrien    {"br.cloop.dpnt.clr",	BRT (5, 0, 3, 1, PSEUDO)},
38084865Sobrien    {"br.cloop.sptk.many",	BR (5, 1, 0, 0)},
38184865Sobrien    {"br.cloop.sptk.many.clr",	BR (5, 1, 0, 1)},
38284865Sobrien    {"br.cloop.spnt.many",	BR (5, 1, 1, 0)},
38384865Sobrien    {"br.cloop.spnt.many.clr",	BR (5, 1, 1, 1)},
38484865Sobrien    {"br.cloop.dptk.many",	BR (5, 1, 2, 0)},
38584865Sobrien    {"br.cloop.dptk.many.clr",	BR (5, 1, 2, 1)},
38684865Sobrien    {"br.cloop.dpnt.many",	BR (5, 1, 3, 0)},
38784865Sobrien    {"br.cloop.dpnt.many.clr",	BR (5, 1, 3, 1)},
388130561Sobrien    {"br.cexit.sptk.few",	BRT (6, 0, 0, 0, MOD_RRBS)},
389130561Sobrien    {"br.cexit.sptk",		BRT (6, 0, 0, 0, PSEUDO | MOD_RRBS)},
390130561Sobrien    {"br.cexit.sptk.few.clr",	BRT (6, 0, 0, 1, MOD_RRBS)},
391130561Sobrien    {"br.cexit.sptk.clr",	BRT (6, 0, 0, 1, PSEUDO | MOD_RRBS)},
392130561Sobrien    {"br.cexit.spnt.few",	BRT (6, 0, 1, 0, MOD_RRBS)},
393130561Sobrien    {"br.cexit.spnt",		BRT (6, 0, 1, 0, PSEUDO | MOD_RRBS)},
394130561Sobrien    {"br.cexit.spnt.few.clr",	BRT (6, 0, 1, 1, MOD_RRBS)},
395130561Sobrien    {"br.cexit.spnt.clr",	BRT (6, 0, 1, 1, PSEUDO | MOD_RRBS)},
396130561Sobrien    {"br.cexit.dptk.few",	BRT (6, 0, 2, 0, MOD_RRBS)},
397130561Sobrien    {"br.cexit.dptk",		BRT (6, 0, 2, 0, PSEUDO | MOD_RRBS)},
398130561Sobrien    {"br.cexit.dptk.few.clr",	BRT (6, 0, 2, 1, MOD_RRBS)},
399130561Sobrien    {"br.cexit.dptk.clr",	BRT (6, 0, 2, 1, PSEUDO | MOD_RRBS)},
400130561Sobrien    {"br.cexit.dpnt.few",	BRT (6, 0, 3, 0, MOD_RRBS)},
401130561Sobrien    {"br.cexit.dpnt",		BRT (6, 0, 3, 0, PSEUDO | MOD_RRBS)},
402130561Sobrien    {"br.cexit.dpnt.few.clr",	BRT (6, 0, 3, 1, MOD_RRBS)},
403130561Sobrien    {"br.cexit.dpnt.clr",	BRT (6, 0, 3, 1, PSEUDO | MOD_RRBS)},
404130561Sobrien    {"br.cexit.sptk.many",	BRT (6, 1, 0, 0, MOD_RRBS)},
405130561Sobrien    {"br.cexit.sptk.many.clr",	BRT (6, 1, 0, 1, MOD_RRBS)},
406130561Sobrien    {"br.cexit.spnt.many",	BRT (6, 1, 1, 0, MOD_RRBS)},
407130561Sobrien    {"br.cexit.spnt.many.clr",	BRT (6, 1, 1, 1, MOD_RRBS)},
408130561Sobrien    {"br.cexit.dptk.many",	BRT (6, 1, 2, 0, MOD_RRBS)},
409130561Sobrien    {"br.cexit.dptk.many.clr",	BRT (6, 1, 2, 1, MOD_RRBS)},
410130561Sobrien    {"br.cexit.dpnt.many",	BRT (6, 1, 3, 0, MOD_RRBS)},
411130561Sobrien    {"br.cexit.dpnt.many.clr",	BRT (6, 1, 3, 1, MOD_RRBS)},
412130561Sobrien    {"br.ctop.sptk.few",	BRT (7, 0, 0, 0, MOD_RRBS)},
413130561Sobrien    {"br.ctop.sptk",		BRT (7, 0, 0, 0, PSEUDO | MOD_RRBS)},
414130561Sobrien    {"br.ctop.sptk.few.clr",	BRT (7, 0, 0, 1, MOD_RRBS)},
415130561Sobrien    {"br.ctop.sptk.clr",	BRT (7, 0, 0, 1, PSEUDO | MOD_RRBS)},
416130561Sobrien    {"br.ctop.spnt.few",	BRT (7, 0, 1, 0, MOD_RRBS)},
417130561Sobrien    {"br.ctop.spnt",		BRT (7, 0, 1, 0, PSEUDO | MOD_RRBS)},
418130561Sobrien    {"br.ctop.spnt.few.clr",	BRT (7, 0, 1, 1, MOD_RRBS)},
419130561Sobrien    {"br.ctop.spnt.clr",	BRT (7, 0, 1, 1, PSEUDO | MOD_RRBS)},
420130561Sobrien    {"br.ctop.dptk.few",	BRT (7, 0, 2, 0, MOD_RRBS)},
421130561Sobrien    {"br.ctop.dptk",		BRT (7, 0, 2, 0, PSEUDO | MOD_RRBS)},
422130561Sobrien    {"br.ctop.dptk.few.clr",	BRT (7, 0, 2, 1, MOD_RRBS)},
423130561Sobrien    {"br.ctop.dptk.clr",	BRT (7, 0, 2, 1, PSEUDO | MOD_RRBS)},
424130561Sobrien    {"br.ctop.dpnt.few",	BRT (7, 0, 3, 0, MOD_RRBS)},
425130561Sobrien    {"br.ctop.dpnt",		BRT (7, 0, 3, 0, PSEUDO | MOD_RRBS)},
426130561Sobrien    {"br.ctop.dpnt.few.clr",	BRT (7, 0, 3, 1, MOD_RRBS)},
427130561Sobrien    {"br.ctop.dpnt.clr",	BRT (7, 0, 3, 1, PSEUDO | MOD_RRBS)},
428130561Sobrien    {"br.ctop.sptk.many",	BRT (7, 1, 0, 0, MOD_RRBS)},
429130561Sobrien    {"br.ctop.sptk.many.clr",	BRT (7, 1, 0, 1, MOD_RRBS)},
430130561Sobrien    {"br.ctop.spnt.many",	BRT (7, 1, 1, 0, MOD_RRBS)},
431130561Sobrien    {"br.ctop.spnt.many.clr",	BRT (7, 1, 1, 1, MOD_RRBS)},
432130561Sobrien    {"br.ctop.dptk.many",	BRT (7, 1, 2, 0, MOD_RRBS)},
433130561Sobrien    {"br.ctop.dptk.many.clr",	BRT (7, 1, 2, 1, MOD_RRBS)},
434130561Sobrien    {"br.ctop.dpnt.many",	BRT (7, 1, 3, 0, MOD_RRBS)},
435130561Sobrien    {"br.ctop.dpnt.many.clr",	BRT (7, 1, 3, 1, MOD_RRBS)},
43684865Sobrien#undef BR
437130561Sobrien#undef BRT
43884865Sobrien
439130561Sobrien    {"br.call.sptk.few",	B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, EMPTY},
440130561Sobrien    {"br.call.sptk",		B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
441130561Sobrien    {"br.call.sptk.few.clr",	B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, EMPTY},
442130561Sobrien    {"br.call.sptk.clr",	B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
443130561Sobrien    {"br.call.spnt.few",	B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, EMPTY},
444130561Sobrien    {"br.call.spnt",		B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
445130561Sobrien    {"br.call.spnt.few.clr",	B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, EMPTY},
446130561Sobrien    {"br.call.spnt.clr",	B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
447130561Sobrien    {"br.call.dptk.few",	B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, EMPTY},
448130561Sobrien    {"br.call.dptk",		B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
449130561Sobrien    {"br.call.dptk.few.clr",	B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, EMPTY},
450130561Sobrien    {"br.call.dptk.clr",	B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
451130561Sobrien    {"br.call.dpnt.few",	B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, EMPTY},
452130561Sobrien    {"br.call.dpnt",		B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
453130561Sobrien    {"br.call.dpnt.few.clr",	B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, EMPTY},
454130561Sobrien    {"br.call.dpnt.clr",	B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
455130561Sobrien    {"br.call.sptk.many",	B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}, EMPTY},
456130561Sobrien    {"br.call.sptk.many.clr",	B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}, EMPTY},
457130561Sobrien    {"br.call.spnt.many",	B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}, EMPTY},
458130561Sobrien    {"br.call.spnt.many.clr",	B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}, EMPTY},
459130561Sobrien    {"br.call.dptk.many",	B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}, EMPTY},
460130561Sobrien    {"br.call.dptk.many.clr",	B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}, EMPTY},
461130561Sobrien    {"br.call.dpnt.many",	B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}, EMPTY},
462130561Sobrien    {"br.call.dpnt.many.clr",	B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}, EMPTY},
463130561Sobrien
464130561Sobrien    /* Branch predict.  */
46584865Sobrien#define BRP(a,b) \
466130561Sobrien      B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED, 0, NULL
46784865Sobrien    {"brp.sptk",		BRP (0, 0)},
46884865Sobrien    {"brp.loop",		BRP (0, 1)},
46984865Sobrien    {"brp.dptk",		BRP (0, 2)},
47084865Sobrien    {"brp.exit",		BRP (0, 3)},
47184865Sobrien    {"brp.sptk.imp",		BRP (1, 0)},
47284865Sobrien    {"brp.loop.imp",		BRP (1, 1)},
47384865Sobrien    {"brp.dptk.imp",		BRP (1, 2)},
47484865Sobrien    {"brp.exit.imp",		BRP (1, 3)},
47584865Sobrien#undef BRP
47684865Sobrien
477130561Sobrien    {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
47884865Sobrien  };
47984865Sobrien
48084865Sobrien#undef B0
48184865Sobrien#undef B
48284865Sobrien#undef bBtype
48384865Sobrien#undef bD
48484865Sobrien#undef bIh
48584865Sobrien#undef bPa
48684865Sobrien#undef bPr
48784865Sobrien#undef bWha
48884865Sobrien#undef bWhb
489104834Sobrien#undef bWhc
49084865Sobrien#undef bX6
49184865Sobrien#undef mBtype
49284865Sobrien#undef mD
49384865Sobrien#undef mIh
49484865Sobrien#undef mPa
49584865Sobrien#undef mPr
49684865Sobrien#undef mWha
49784865Sobrien#undef mWhb
498104834Sobrien#undef mWhc
49984865Sobrien#undef mX6
50084865Sobrien#undef OpX6
50184865Sobrien#undef OpPaWhaD
502104834Sobrien#undef OpPaWhcD
50384865Sobrien#undef OpBtypePaWhaD
50484865Sobrien#undef OpBtypePaWhaDPr
50584865Sobrien#undef OpX6BtypePaWhaD
50684865Sobrien#undef OpX6BtypePaWhaDPr
50784865Sobrien#undef OpIhWhb
50884865Sobrien#undef OpX6IhWhb
509130561Sobrien#undef EMPTY
510