xref: /openbsd-src/gnu/usr.bin/binutils/opcodes/ia64-opc-b.c (revision d2201f2f89f0be1a0be6f7568000ed297414a06d)
15f210c2aSfgsch /* ia64-opc-b.c -- IA-64 `B' opcode table.
2*d2201f2fSdrahn    Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
35f210c2aSfgsch    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
45f210c2aSfgsch 
55f210c2aSfgsch    This file is part of GDB, GAS, and the GNU binutils.
65f210c2aSfgsch 
75f210c2aSfgsch    GDB, GAS, and the GNU binutils are free software; you can redistribute
85f210c2aSfgsch    them and/or modify them under the terms of the GNU General Public
95f210c2aSfgsch    License as published by the Free Software Foundation; either version
105f210c2aSfgsch    2, or (at your option) any later version.
115f210c2aSfgsch 
125f210c2aSfgsch    GDB, GAS, and the GNU binutils are distributed in the hope that they
135f210c2aSfgsch    will be useful, but WITHOUT ANY WARRANTY; without even the implied
145f210c2aSfgsch    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
155f210c2aSfgsch    the GNU General Public License for more details.
165f210c2aSfgsch 
175f210c2aSfgsch    You should have received a copy of the GNU General Public License
185f210c2aSfgsch    along with this file; see the file COPYING.  If not, write to the
195f210c2aSfgsch    Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
205f210c2aSfgsch    02111-1307, USA.  */
215f210c2aSfgsch 
225f210c2aSfgsch #include "ia64-opc.h"
235f210c2aSfgsch 
245f210c2aSfgsch #define B0	IA64_TYPE_B, 0
255f210c2aSfgsch #define B	IA64_TYPE_B, 1
265f210c2aSfgsch 
275f210c2aSfgsch /* instruction bit fields: */
285f210c2aSfgsch #define bBtype(x)	(((ia64_insn) ((x) & 0x7)) << 6)
295f210c2aSfgsch #define bD(x)		(((ia64_insn) ((x) & 0x1)) << 35)
305f210c2aSfgsch #define bIh(x)		(((ia64_insn) ((x) & 0x1)) << 35)
315f210c2aSfgsch #define bPa(x)		(((ia64_insn) ((x) & 0x1)) << 12)
325f210c2aSfgsch #define bPr(x)		(((ia64_insn) ((x) & 0x3f)) << 0)
335f210c2aSfgsch #define bWha(x)		(((ia64_insn) ((x) & 0x3)) << 33)
345f210c2aSfgsch #define bWhb(x)		(((ia64_insn) ((x) & 0x3)) << 3)
35*d2201f2fSdrahn #define bWhc(x)		(((ia64_insn) ((x) & 0x7)) << 32)
365f210c2aSfgsch #define bX6(x)		(((ia64_insn) ((x) & 0x3f)) << 27)
375f210c2aSfgsch 
385f210c2aSfgsch #define mBtype		bBtype (-1)
395f210c2aSfgsch #define mD		bD (-1)
405f210c2aSfgsch #define mIh		bIh (-1)
415f210c2aSfgsch #define mPa		bPa (-1)
425f210c2aSfgsch #define mPr		bPr (-1)
435f210c2aSfgsch #define mWha		bWha (-1)
445f210c2aSfgsch #define mWhb		bWhb (-1)
45*d2201f2fSdrahn #define mWhc		bWhc (-1)
465f210c2aSfgsch #define mX6		bX6 (-1)
475f210c2aSfgsch 
485f210c2aSfgsch #define OpX6(a,b) 	(bOp (a) | bX6 (b)), (mOp | mX6)
495f210c2aSfgsch #define OpPaWhaD(a,b,c,d) \
505f210c2aSfgsch 	(bOp (a) | bPa (b) | bWha (c) | bD (d)), (mOp | mPa | mWha | mD)
51*d2201f2fSdrahn #define OpPaWhcD(a,b,c,d) \
52*d2201f2fSdrahn 	(bOp (a) | bPa (b) | bWhc (c) | bD (d)), (mOp | mPa | mWhc | mD)
535f210c2aSfgsch #define OpBtypePaWhaD(a,b,c,d,e) \
545f210c2aSfgsch 	(bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e)), \
555f210c2aSfgsch 	(mOp | mBtype | mPa | mWha | mD)
565f210c2aSfgsch #define OpBtypePaWhaDPr(a,b,c,d,e,f) \
575f210c2aSfgsch 	(bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e) | bPr (f)), \
585f210c2aSfgsch 	(mOp | mBtype | mPa | mWha | mD | mPr)
595f210c2aSfgsch #define OpX6BtypePaWhaD(a,b,c,d,e,f) \
605f210c2aSfgsch 	(bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f)), \
615f210c2aSfgsch 	(mOp | mX6 | mBtype | mPa | mWha | mD)
625f210c2aSfgsch #define OpX6BtypePaWhaDPr(a,b,c,d,e,f,g) \
635f210c2aSfgsch    (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f) | bPr (g)), \
645f210c2aSfgsch 	(mOp | mX6 | mBtype | mPa | mWha | mD | mPr)
655f210c2aSfgsch #define OpIhWhb(a,b,c) \
665f210c2aSfgsch 	(bOp (a) | bIh (b) | bWhb (c)), \
675f210c2aSfgsch 	(mOp | mIh | mWhb)
685f210c2aSfgsch #define OpX6IhWhb(a,b,c,d) \
695f210c2aSfgsch 	(bOp (a) | bX6 (b) | bIh (c) | bWhb (d)), \
705f210c2aSfgsch 	(mOp | mX6 | mIh | mWhb)
715f210c2aSfgsch 
72*d2201f2fSdrahn /* Used to initialise unused fields in ia64_opcode struct,
73*d2201f2fSdrahn    in order to stop gcc from complaining.  */
74*d2201f2fSdrahn #define EMPTY 0,0,NULL
75*d2201f2fSdrahn 
765f210c2aSfgsch struct ia64_opcode ia64_opcodes_b[] =
775f210c2aSfgsch   {
785f210c2aSfgsch     /* B-type instruction encodings (sorted according to major opcode) */
795f210c2aSfgsch 
805f210c2aSfgsch #define BR(a,b) \
81*d2201f2fSdrahn       B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO, 0, NULL
825f210c2aSfgsch     {"br.few",		BR (0, 0)},
835f210c2aSfgsch     {"br",		BR (0, 0)},
845f210c2aSfgsch     {"br.few.clr",	BR (0, 1)},
855f210c2aSfgsch     {"br.clr",		BR (0, 1)},
865f210c2aSfgsch     {"br.many",		BR (1, 0)},
875f210c2aSfgsch     {"br.many.clr",	BR (1, 1)},
885f210c2aSfgsch #undef BR
895f210c2aSfgsch 
90*d2201f2fSdrahn #define BR(a,b,c,d,e)	B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, EMPTY
91*d2201f2fSdrahn #define BRP(a,b,c,d,e)	B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, PSEUDO, 0, NULL
92*d2201f2fSdrahn #define BRT(a,b,c,d,e,f) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, f, 0, NULL
935f210c2aSfgsch     {"br.cond.sptk.few",	BR (0x20, 0, 0, 0, 0)},
94*d2201f2fSdrahn     {"br.cond.sptk",		BRP (0x20, 0, 0, 0, 0)},
955f210c2aSfgsch     {"br.cond.sptk.few.clr",	BR (0x20, 0, 0, 0, 1)},
96*d2201f2fSdrahn     {"br.cond.sptk.clr",	BRP (0x20, 0, 0, 0, 1)},
975f210c2aSfgsch     {"br.cond.spnt.few",	BR (0x20, 0, 0, 1, 0)},
98*d2201f2fSdrahn     {"br.cond.spnt",		BRP (0x20, 0, 0, 1, 0)},
995f210c2aSfgsch     {"br.cond.spnt.few.clr",	BR (0x20, 0, 0, 1, 1)},
100*d2201f2fSdrahn     {"br.cond.spnt.clr",	BRP (0x20, 0, 0, 1, 1)},
1015f210c2aSfgsch     {"br.cond.dptk.few",	BR (0x20, 0, 0, 2, 0)},
102*d2201f2fSdrahn     {"br.cond.dptk",		BRP (0x20, 0, 0, 2, 0)},
1035f210c2aSfgsch     {"br.cond.dptk.few.clr",	BR (0x20, 0, 0, 2, 1)},
104*d2201f2fSdrahn     {"br.cond.dptk.clr",	BRP (0x20, 0, 0, 2, 1)},
1055f210c2aSfgsch     {"br.cond.dpnt.few",	BR (0x20, 0, 0, 3, 0)},
106*d2201f2fSdrahn     {"br.cond.dpnt",		BRP (0x20, 0, 0, 3, 0)},
1075f210c2aSfgsch     {"br.cond.dpnt.few.clr",	BR (0x20, 0, 0, 3, 1)},
108*d2201f2fSdrahn     {"br.cond.dpnt.clr",	BRP (0x20, 0, 0, 3, 1)},
1095f210c2aSfgsch     {"br.cond.sptk.many",	BR (0x20, 0, 1, 0, 0)},
1105f210c2aSfgsch     {"br.cond.sptk.many.clr",	BR (0x20, 0, 1, 0, 1)},
1115f210c2aSfgsch     {"br.cond.spnt.many",	BR (0x20, 0, 1, 1, 0)},
1125f210c2aSfgsch     {"br.cond.spnt.many.clr",	BR (0x20, 0, 1, 1, 1)},
1135f210c2aSfgsch     {"br.cond.dptk.many",	BR (0x20, 0, 1, 2, 0)},
1145f210c2aSfgsch     {"br.cond.dptk.many.clr",	BR (0x20, 0, 1, 2, 1)},
1155f210c2aSfgsch     {"br.cond.dpnt.many",	BR (0x20, 0, 1, 3, 0)},
1165f210c2aSfgsch     {"br.cond.dpnt.many.clr",	BR (0x20, 0, 1, 3, 1)},
1175f210c2aSfgsch     {"br.sptk.few",		BR (0x20, 0, 0, 0, 0)},
118*d2201f2fSdrahn     {"br.sptk",			BRP (0x20, 0, 0, 0, 0)},
1195f210c2aSfgsch     {"br.sptk.few.clr",		BR (0x20, 0, 0, 0, 1)},
120*d2201f2fSdrahn     {"br.sptk.clr",		BRP (0x20, 0, 0, 0, 1)},
1215f210c2aSfgsch     {"br.spnt.few",		BR (0x20, 0, 0, 1, 0)},
122*d2201f2fSdrahn     {"br.spnt",			BRP (0x20, 0, 0, 1, 0)},
1235f210c2aSfgsch     {"br.spnt.few.clr",		BR (0x20, 0, 0, 1, 1)},
124*d2201f2fSdrahn     {"br.spnt.clr",		BRP (0x20, 0, 0, 1, 1)},
1255f210c2aSfgsch     {"br.dptk.few",		BR (0x20, 0, 0, 2, 0)},
126*d2201f2fSdrahn     {"br.dptk",			BRP (0x20, 0, 0, 2, 0)},
1275f210c2aSfgsch     {"br.dptk.few.clr",		BR (0x20, 0, 0, 2, 1)},
128*d2201f2fSdrahn     {"br.dptk.clr",		BRP (0x20, 0, 0, 2, 1)},
1295f210c2aSfgsch     {"br.dpnt.few",		BR (0x20, 0, 0, 3, 0)},
130*d2201f2fSdrahn     {"br.dpnt",			BRP (0x20, 0, 0, 3, 0)},
1315f210c2aSfgsch     {"br.dpnt.few.clr",		BR (0x20, 0, 0, 3, 1)},
132*d2201f2fSdrahn     {"br.dpnt.clr",		BRP (0x20, 0, 0, 3, 1)},
1335f210c2aSfgsch     {"br.sptk.many",		BR (0x20, 0, 1, 0, 0)},
1345f210c2aSfgsch     {"br.sptk.many.clr",	BR (0x20, 0, 1, 0, 1)},
1355f210c2aSfgsch     {"br.spnt.many",		BR (0x20, 0, 1, 1, 0)},
1365f210c2aSfgsch     {"br.spnt.many.clr",	BR (0x20, 0, 1, 1, 1)},
1375f210c2aSfgsch     {"br.dptk.many",		BR (0x20, 0, 1, 2, 0)},
1385f210c2aSfgsch     {"br.dptk.many.clr",	BR (0x20, 0, 1, 2, 1)},
1395f210c2aSfgsch     {"br.dpnt.many",		BR (0x20, 0, 1, 3, 0)},
1405f210c2aSfgsch     {"br.dpnt.many.clr",	BR (0x20, 0, 1, 3, 1)},
1415f210c2aSfgsch     {"br.ia.sptk.few",		BR (0x20, 1, 0, 0, 0)},
142*d2201f2fSdrahn     {"br.ia.sptk",		BRP (0x20, 1, 0, 0, 0)},
1435f210c2aSfgsch     {"br.ia.sptk.few.clr",	BR (0x20, 1, 0, 0, 1)},
144*d2201f2fSdrahn     {"br.ia.sptk.clr",		BRP (0x20, 1, 0, 0, 1)},
1455f210c2aSfgsch     {"br.ia.spnt.few",		BR (0x20, 1, 0, 1, 0)},
146*d2201f2fSdrahn     {"br.ia.spnt",		BRP (0x20, 1, 0, 1, 0)},
1475f210c2aSfgsch     {"br.ia.spnt.few.clr",	BR (0x20, 1, 0, 1, 1)},
148*d2201f2fSdrahn     {"br.ia.spnt.clr",		BRP (0x20, 1, 0, 1, 1)},
1495f210c2aSfgsch     {"br.ia.dptk.few",		BR (0x20, 1, 0, 2, 0)},
150*d2201f2fSdrahn     {"br.ia.dptk",		BRP (0x20, 1, 0, 2, 0)},
1515f210c2aSfgsch     {"br.ia.dptk.few.clr",	BR (0x20, 1, 0, 2, 1)},
152*d2201f2fSdrahn     {"br.ia.dptk.clr",		BRP (0x20, 1, 0, 2, 1)},
1535f210c2aSfgsch     {"br.ia.dpnt.few",		BR (0x20, 1, 0, 3, 0)},
154*d2201f2fSdrahn     {"br.ia.dpnt",		BRP (0x20, 1, 0, 3, 0)},
1555f210c2aSfgsch     {"br.ia.dpnt.few.clr",	BR (0x20, 1, 0, 3, 1)},
156*d2201f2fSdrahn     {"br.ia.dpnt.clr",		BRP (0x20, 1, 0, 3, 1)},
1575f210c2aSfgsch     {"br.ia.sptk.many",		BR (0x20, 1, 1, 0, 0)},
1585f210c2aSfgsch     {"br.ia.sptk.many.clr",	BR (0x20, 1, 1, 0, 1)},
1595f210c2aSfgsch     {"br.ia.spnt.many",		BR (0x20, 1, 1, 1, 0)},
1605f210c2aSfgsch     {"br.ia.spnt.many.clr",	BR (0x20, 1, 1, 1, 1)},
1615f210c2aSfgsch     {"br.ia.dptk.many",		BR (0x20, 1, 1, 2, 0)},
1625f210c2aSfgsch     {"br.ia.dptk.many.clr",	BR (0x20, 1, 1, 2, 1)},
1635f210c2aSfgsch     {"br.ia.dpnt.many",		BR (0x20, 1, 1, 3, 0)},
1645f210c2aSfgsch     {"br.ia.dpnt.many.clr",	BR (0x20, 1, 1, 3, 1)},
165*d2201f2fSdrahn     {"br.ret.sptk.few",		BRT (0x21, 4, 0, 0, 0, MOD_RRBS)},
166*d2201f2fSdrahn     {"br.ret.sptk",		BRT (0x21, 4, 0, 0, 0, PSEUDO | MOD_RRBS)},
167*d2201f2fSdrahn     {"br.ret.sptk.few.clr",	BRT (0x21, 4, 0, 0, 1, MOD_RRBS)},
168*d2201f2fSdrahn     {"br.ret.sptk.clr",		BRT (0x21, 4, 0, 0, 1, PSEUDO | MOD_RRBS)},
169*d2201f2fSdrahn     {"br.ret.spnt.few",		BRT (0x21, 4, 0, 1, 0, MOD_RRBS)},
170*d2201f2fSdrahn     {"br.ret.spnt",		BRT (0x21, 4, 0, 1, 0, PSEUDO | MOD_RRBS)},
171*d2201f2fSdrahn     {"br.ret.spnt.few.clr",	BRT (0x21, 4, 0, 1, 1, MOD_RRBS)},
172*d2201f2fSdrahn     {"br.ret.spnt.clr",		BRT (0x21, 4, 0, 1, 1, PSEUDO | MOD_RRBS)},
173*d2201f2fSdrahn     {"br.ret.dptk.few",		BRT (0x21, 4, 0, 2, 0, MOD_RRBS)},
174*d2201f2fSdrahn     {"br.ret.dptk",		BRT (0x21, 4, 0, 2, 0, PSEUDO | MOD_RRBS)},
175*d2201f2fSdrahn     {"br.ret.dptk.few.clr",	BRT (0x21, 4, 0, 2, 1, MOD_RRBS)},
176*d2201f2fSdrahn     {"br.ret.dptk.clr",		BRT (0x21, 4, 0, 2, 1, PSEUDO | MOD_RRBS)},
177*d2201f2fSdrahn     {"br.ret.dpnt.few",		BRT (0x21, 4, 0, 3, 0, MOD_RRBS)},
178*d2201f2fSdrahn     {"br.ret.dpnt",		BRT (0x21, 4, 0, 3, 0, PSEUDO | MOD_RRBS)},
179*d2201f2fSdrahn     {"br.ret.dpnt.few.clr",	BRT (0x21, 4, 0, 3, 1, MOD_RRBS)},
180*d2201f2fSdrahn     {"br.ret.dpnt.clr",		BRT (0x21, 4, 0, 3, 1, PSEUDO | MOD_RRBS)},
181*d2201f2fSdrahn     {"br.ret.sptk.many",	BRT (0x21, 4, 1, 0, 0, MOD_RRBS)},
182*d2201f2fSdrahn     {"br.ret.sptk.many.clr",	BRT (0x21, 4, 1, 0, 1, MOD_RRBS)},
183*d2201f2fSdrahn     {"br.ret.spnt.many",	BRT (0x21, 4, 1, 1, 0, MOD_RRBS)},
184*d2201f2fSdrahn     {"br.ret.spnt.many.clr",	BRT (0x21, 4, 1, 1, 1, MOD_RRBS)},
185*d2201f2fSdrahn     {"br.ret.dptk.many",	BRT (0x21, 4, 1, 2, 0, MOD_RRBS)},
186*d2201f2fSdrahn     {"br.ret.dptk.many.clr",	BRT (0x21, 4, 1, 2, 1, MOD_RRBS)},
187*d2201f2fSdrahn     {"br.ret.dpnt.many",	BRT (0x21, 4, 1, 3, 0, MOD_RRBS)},
188*d2201f2fSdrahn     {"br.ret.dpnt.many.clr",	BRT (0x21, 4, 1, 3, 1, MOD_RRBS)},
1895f210c2aSfgsch #undef BR
190*d2201f2fSdrahn #undef BRP
191*d2201f2fSdrahn #undef BRT
1925f210c2aSfgsch 
193*d2201f2fSdrahn     {"cover",		B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
194*d2201f2fSdrahn     {"clrrrb",		B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
195*d2201f2fSdrahn     {"clrrrb.pr",	B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
196*d2201f2fSdrahn     {"rfi",		B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS, 0, NULL},
197*d2201f2fSdrahn     {"bsw.0",		B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
198*d2201f2fSdrahn     {"bsw.1",		B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
199*d2201f2fSdrahn     {"epc",		B0, OpX6 (0, 0x10), {0, }, NO_PRED, 0, NULL},
2005f210c2aSfgsch 
201*d2201f2fSdrahn     {"break.b",		B0, OpX6 (0, 0x00), {IMMU21}, EMPTY},
2025f210c2aSfgsch 
203*d2201f2fSdrahn     {"br.call.sptk.few",	B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, EMPTY},
204*d2201f2fSdrahn     {"br.call.sptk",		B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, PSEUDO, 0, NULL},
205*d2201f2fSdrahn     {"br.call.sptk.few.clr",	B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, EMPTY},
206*d2201f2fSdrahn     {"br.call.sptk.clr",	B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, PSEUDO, 0, NULL},
207*d2201f2fSdrahn     {"br.call.spnt.few",	B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, EMPTY},
208*d2201f2fSdrahn     {"br.call.spnt",		B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, PSEUDO, 0, NULL},
209*d2201f2fSdrahn     {"br.call.spnt.few.clr",	B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, EMPTY},
210*d2201f2fSdrahn     {"br.call.spnt.clr",	B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, PSEUDO, 0, NULL},
211*d2201f2fSdrahn     {"br.call.dptk.few",	B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, EMPTY},
212*d2201f2fSdrahn     {"br.call.dptk",		B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, PSEUDO, 0, NULL},
213*d2201f2fSdrahn     {"br.call.dptk.few.clr",	B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, EMPTY},
214*d2201f2fSdrahn     {"br.call.dptk.clr",	B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, PSEUDO, 0, NULL},
215*d2201f2fSdrahn     {"br.call.dpnt.few",	B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, EMPTY},
216*d2201f2fSdrahn     {"br.call.dpnt",		B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, PSEUDO, 0, NULL},
217*d2201f2fSdrahn     {"br.call.dpnt.few.clr",	B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, EMPTY},
218*d2201f2fSdrahn     {"br.call.dpnt.clr",	B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, PSEUDO, 0, NULL},
219*d2201f2fSdrahn     {"br.call.sptk.many",	B, OpPaWhcD (1, 1, 1, 0), {B1, B2}, EMPTY},
220*d2201f2fSdrahn     {"br.call.sptk.many.clr",	B, OpPaWhcD (1, 1, 1, 1), {B1, B2}, EMPTY},
221*d2201f2fSdrahn     {"br.call.spnt.many",	B, OpPaWhcD (1, 1, 3, 0), {B1, B2}, EMPTY},
222*d2201f2fSdrahn     {"br.call.spnt.many.clr",	B, OpPaWhcD (1, 1, 3, 1), {B1, B2}, EMPTY},
223*d2201f2fSdrahn     {"br.call.dptk.many",	B, OpPaWhcD (1, 1, 5, 0), {B1, B2}, EMPTY},
224*d2201f2fSdrahn     {"br.call.dptk.many.clr",	B, OpPaWhcD (1, 1, 5, 1), {B1, B2}, EMPTY},
225*d2201f2fSdrahn     {"br.call.dpnt.many",	B, OpPaWhcD (1, 1, 7, 0), {B1, B2}, EMPTY},
226*d2201f2fSdrahn     {"br.call.dpnt.many.clr",	B, OpPaWhcD (1, 1, 7, 1), {B1, B2}, EMPTY},
2275f210c2aSfgsch 
2285f210c2aSfgsch #define BRP(a,b,c) \
229*d2201f2fSdrahn       B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED, 0, NULL
2305f210c2aSfgsch     {"brp.sptk",		BRP (0x10, 0, 0)},
2315f210c2aSfgsch     {"brp.dptk",		BRP (0x10, 0, 2)},
2325f210c2aSfgsch     {"brp.sptk.imp",		BRP (0x10, 1, 0)},
2335f210c2aSfgsch     {"brp.dptk.imp",		BRP (0x10, 1, 2)},
2345f210c2aSfgsch     {"brp.ret.sptk",		BRP (0x11, 0, 0)},
2355f210c2aSfgsch     {"brp.ret.dptk",		BRP (0x11, 0, 2)},
2365f210c2aSfgsch     {"brp.ret.sptk.imp",	BRP (0x11, 1, 0)},
2375f210c2aSfgsch     {"brp.ret.dptk.imp",	BRP (0x11, 1, 2)},
2385f210c2aSfgsch #undef BRP
2395f210c2aSfgsch 
240*d2201f2fSdrahn     {"nop.b",		B0, OpX6 (2, 0x00), {IMMU21}, EMPTY},
241*d2201f2fSdrahn     {"hint.b",		B0, OpX6 (2, 0x01), {IMMU21}, EMPTY},
2425f210c2aSfgsch 
2435f210c2aSfgsch #define BR(a,b) \
244*d2201f2fSdrahn       B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO, 0, NULL
2455f210c2aSfgsch     {"br.few",		BR (0, 0)},
2465f210c2aSfgsch     {"br",		BR (0, 0)},
2475f210c2aSfgsch     {"br.few.clr",	BR (0, 1)},
2485f210c2aSfgsch     {"br.clr",		BR (0, 1)},
2495f210c2aSfgsch     {"br.many",		BR (1, 0)},
2505f210c2aSfgsch     {"br.many.clr",	BR (1, 1)},
2515f210c2aSfgsch #undef BR
2525f210c2aSfgsch 
2535f210c2aSfgsch #define BR(a,b,c) \
254*d2201f2fSdrahn       B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, EMPTY
255*d2201f2fSdrahn #define BRP(a,b,c) \
256*d2201f2fSdrahn       B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, PSEUDO, 0, NULL
2575f210c2aSfgsch     {"br.cond.sptk.few",	BR (0, 0, 0)},
258*d2201f2fSdrahn     {"br.cond.sptk",		BRP (0, 0, 0)},
2595f210c2aSfgsch     {"br.cond.sptk.few.clr",	BR (0, 0, 1)},
260*d2201f2fSdrahn     {"br.cond.sptk.clr",	BRP (0, 0, 1)},
2615f210c2aSfgsch     {"br.cond.spnt.few",	BR (0, 1, 0)},
262*d2201f2fSdrahn     {"br.cond.spnt",		BRP (0, 1, 0)},
2635f210c2aSfgsch     {"br.cond.spnt.few.clr",	BR (0, 1, 1)},
264*d2201f2fSdrahn     {"br.cond.spnt.clr",	BRP (0, 1, 1)},
2655f210c2aSfgsch     {"br.cond.dptk.few",	BR (0, 2, 0)},
266*d2201f2fSdrahn     {"br.cond.dptk",		BRP (0, 2, 0)},
2675f210c2aSfgsch     {"br.cond.dptk.few.clr",	BR (0, 2, 1)},
268*d2201f2fSdrahn     {"br.cond.dptk.clr",	BRP (0, 2, 1)},
2695f210c2aSfgsch     {"br.cond.dpnt.few",	BR (0, 3, 0)},
270*d2201f2fSdrahn     {"br.cond.dpnt",		BRP (0, 3, 0)},
2715f210c2aSfgsch     {"br.cond.dpnt.few.clr",	BR (0, 3, 1)},
272*d2201f2fSdrahn     {"br.cond.dpnt.clr",	BRP (0, 3, 1)},
2735f210c2aSfgsch     {"br.cond.sptk.many",	BR (1, 0, 0)},
2745f210c2aSfgsch     {"br.cond.sptk.many.clr",	BR (1, 0, 1)},
2755f210c2aSfgsch     {"br.cond.spnt.many",	BR (1, 1, 0)},
2765f210c2aSfgsch     {"br.cond.spnt.many.clr",	BR (1, 1, 1)},
2775f210c2aSfgsch     {"br.cond.dptk.many",	BR (1, 2, 0)},
2785f210c2aSfgsch     {"br.cond.dptk.many.clr",	BR (1, 2, 1)},
2795f210c2aSfgsch     {"br.cond.dpnt.many",	BR (1, 3, 0)},
2805f210c2aSfgsch     {"br.cond.dpnt.many.clr",	BR (1, 3, 1)},
2815f210c2aSfgsch     {"br.sptk.few",		BR (0, 0, 0)},
282*d2201f2fSdrahn     {"br.sptk",			BRP (0, 0, 0)},
2835f210c2aSfgsch     {"br.sptk.few.clr",		BR (0, 0, 1)},
284*d2201f2fSdrahn     {"br.sptk.clr",		BRP (0, 0, 1)},
2855f210c2aSfgsch     {"br.spnt.few",		BR (0, 1, 0)},
286*d2201f2fSdrahn     {"br.spnt",			BRP (0, 1, 0)},
2875f210c2aSfgsch     {"br.spnt.few.clr",		BR (0, 1, 1)},
288*d2201f2fSdrahn     {"br.spnt.clr",		BRP (0, 1, 1)},
2895f210c2aSfgsch     {"br.dptk.few",		BR (0, 2, 0)},
290*d2201f2fSdrahn     {"br.dptk",			BRP (0, 2, 0)},
2915f210c2aSfgsch     {"br.dptk.few.clr",		BR (0, 2, 1)},
292*d2201f2fSdrahn     {"br.dptk.clr",		BRP (0, 2, 1)},
2935f210c2aSfgsch     {"br.dpnt.few",		BR (0, 3, 0)},
294*d2201f2fSdrahn     {"br.dpnt",			BRP (0, 3, 0)},
2955f210c2aSfgsch     {"br.dpnt.few.clr",		BR (0, 3, 1)},
296*d2201f2fSdrahn     {"br.dpnt.clr",		BRP (0, 3, 1)},
2975f210c2aSfgsch     {"br.sptk.many",		BR (1, 0, 0)},
2985f210c2aSfgsch     {"br.sptk.many.clr",	BR (1, 0, 1)},
2995f210c2aSfgsch     {"br.spnt.many",		BR (1, 1, 0)},
3005f210c2aSfgsch     {"br.spnt.many.clr",	BR (1, 1, 1)},
3015f210c2aSfgsch     {"br.dptk.many",		BR (1, 2, 0)},
3025f210c2aSfgsch     {"br.dptk.many.clr",	BR (1, 2, 1)},
3035f210c2aSfgsch     {"br.dpnt.many",		BR (1, 3, 0)},
3045f210c2aSfgsch     {"br.dpnt.many.clr",	BR (1, 3, 1)},
3055f210c2aSfgsch #undef BR
306*d2201f2fSdrahn #undef BRP
3075f210c2aSfgsch 
308*d2201f2fSdrahn #define BR(a,b,c,d, e) \
309*d2201f2fSdrahn 	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | e, 0, NULL
310*d2201f2fSdrahn     {"br.wexit.sptk.few",	BR (2, 0, 0, 0, MOD_RRBS)},
311*d2201f2fSdrahn     {"br.wexit.sptk",		BR (2, 0, 0, 0, PSEUDO | MOD_RRBS)},
312*d2201f2fSdrahn     {"br.wexit.sptk.few.clr",	BR (2, 0, 0, 1, MOD_RRBS)},
313*d2201f2fSdrahn     {"br.wexit.sptk.clr",	BR (2, 0, 0, 1, PSEUDO | MOD_RRBS)},
314*d2201f2fSdrahn     {"br.wexit.spnt.few",	BR (2, 0, 1, 0, MOD_RRBS)},
315*d2201f2fSdrahn     {"br.wexit.spnt",		BR (2, 0, 1, 0, PSEUDO | MOD_RRBS)},
316*d2201f2fSdrahn     {"br.wexit.spnt.few.clr",	BR (2, 0, 1, 1, MOD_RRBS)},
317*d2201f2fSdrahn     {"br.wexit.spnt.clr",	BR (2, 0, 1, 1, PSEUDO | MOD_RRBS)},
318*d2201f2fSdrahn     {"br.wexit.dptk.few",	BR (2, 0, 2, 0, MOD_RRBS)},
319*d2201f2fSdrahn     {"br.wexit.dptk",		BR (2, 0, 2, 0, PSEUDO | MOD_RRBS)},
320*d2201f2fSdrahn     {"br.wexit.dptk.few.clr",	BR (2, 0, 2, 1, MOD_RRBS)},
321*d2201f2fSdrahn     {"br.wexit.dptk.clr",	BR (2, 0, 2, 1, PSEUDO | MOD_RRBS)},
322*d2201f2fSdrahn     {"br.wexit.dpnt.few",	BR (2, 0, 3, 0, MOD_RRBS)},
323*d2201f2fSdrahn     {"br.wexit.dpnt",		BR (2, 0, 3, 0, PSEUDO | MOD_RRBS)},
324*d2201f2fSdrahn     {"br.wexit.dpnt.few.clr",	BR (2, 0, 3, 1, MOD_RRBS)},
325*d2201f2fSdrahn     {"br.wexit.dpnt.clr",	BR (2, 0, 3, 1, PSEUDO | MOD_RRBS)},
326*d2201f2fSdrahn     {"br.wexit.sptk.many",	BR (2, 1, 0, 0, MOD_RRBS)},
327*d2201f2fSdrahn     {"br.wexit.sptk.many.clr",	BR (2, 1, 0, 1, MOD_RRBS)},
328*d2201f2fSdrahn     {"br.wexit.spnt.many",	BR (2, 1, 1, 0, MOD_RRBS)},
329*d2201f2fSdrahn     {"br.wexit.spnt.many.clr",	BR (2, 1, 1, 1, MOD_RRBS)},
330*d2201f2fSdrahn     {"br.wexit.dptk.many",	BR (2, 1, 2, 0, MOD_RRBS)},
331*d2201f2fSdrahn     {"br.wexit.dptk.many.clr",	BR (2, 1, 2, 1, MOD_RRBS)},
332*d2201f2fSdrahn     {"br.wexit.dpnt.many",	BR (2, 1, 3, 0, MOD_RRBS)},
333*d2201f2fSdrahn     {"br.wexit.dpnt.many.clr",	BR (2, 1, 3, 1, MOD_RRBS)},
334*d2201f2fSdrahn     {"br.wtop.sptk.few",	BR (3, 0, 0, 0, MOD_RRBS)},
335*d2201f2fSdrahn     {"br.wtop.sptk",		BR (3, 0, 0, 0, PSEUDO | MOD_RRBS)},
336*d2201f2fSdrahn     {"br.wtop.sptk.few.clr",	BR (3, 0, 0, 1, MOD_RRBS)},
337*d2201f2fSdrahn     {"br.wtop.sptk.clr",	BR (3, 0, 0, 1, PSEUDO | MOD_RRBS)},
338*d2201f2fSdrahn     {"br.wtop.spnt.few",	BR (3, 0, 1, 0, MOD_RRBS)},
339*d2201f2fSdrahn     {"br.wtop.spnt",		BR (3, 0, 1, 0, PSEUDO | MOD_RRBS)},
340*d2201f2fSdrahn     {"br.wtop.spnt.few.clr",	BR (3, 0, 1, 1, MOD_RRBS)},
341*d2201f2fSdrahn     {"br.wtop.spnt.clr",	BR (3, 0, 1, 1, PSEUDO | MOD_RRBS)},
342*d2201f2fSdrahn     {"br.wtop.dptk.few",	BR (3, 0, 2, 0, MOD_RRBS)},
343*d2201f2fSdrahn     {"br.wtop.dptk",		BR (3, 0, 2, 0, PSEUDO | MOD_RRBS)},
344*d2201f2fSdrahn     {"br.wtop.dptk.few.clr",	BR (3, 0, 2, 1, MOD_RRBS)},
345*d2201f2fSdrahn     {"br.wtop.dptk.clr",	BR (3, 0, 2, 1, PSEUDO | MOD_RRBS)},
346*d2201f2fSdrahn     {"br.wtop.dpnt.few",	BR (3, 0, 3, 0, MOD_RRBS)},
347*d2201f2fSdrahn     {"br.wtop.dpnt",		BR (3, 0, 3, 0, PSEUDO | MOD_RRBS)},
348*d2201f2fSdrahn     {"br.wtop.dpnt.few.clr",	BR (3, 0, 3, 1, MOD_RRBS)},
349*d2201f2fSdrahn     {"br.wtop.dpnt.clr",	BR (3, 0, 3, 1, PSEUDO | MOD_RRBS)},
350*d2201f2fSdrahn     {"br.wtop.sptk.many",	BR (3, 1, 0, 0, MOD_RRBS)},
351*d2201f2fSdrahn     {"br.wtop.sptk.many.clr",	BR (3, 1, 0, 1, MOD_RRBS)},
352*d2201f2fSdrahn     {"br.wtop.spnt.many",	BR (3, 1, 1, 0, MOD_RRBS)},
353*d2201f2fSdrahn     {"br.wtop.spnt.many.clr",	BR (3, 1, 1, 1, MOD_RRBS)},
354*d2201f2fSdrahn     {"br.wtop.dptk.many",	BR (3, 1, 2, 0, MOD_RRBS)},
355*d2201f2fSdrahn     {"br.wtop.dptk.many.clr",	BR (3, 1, 2, 1, MOD_RRBS)},
356*d2201f2fSdrahn     {"br.wtop.dpnt.many",	BR (3, 1, 3, 0, MOD_RRBS)},
357*d2201f2fSdrahn     {"br.wtop.dpnt.many.clr",	BR (3, 1, 3, 1, MOD_RRBS)},
3585f210c2aSfgsch 
3595f210c2aSfgsch #undef BR
3605f210c2aSfgsch #define BR(a,b,c,d) \
361*d2201f2fSdrahn 	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED, 0, NULL
362*d2201f2fSdrahn #define BRT(a,b,c,d,e) \
363*d2201f2fSdrahn 	B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED | e, 0, NULL
3645f210c2aSfgsch     {"br.cloop.sptk.few",	BR (5, 0, 0, 0)},
365*d2201f2fSdrahn     {"br.cloop.sptk",		BRT (5, 0, 0, 0, PSEUDO)},
3665f210c2aSfgsch     {"br.cloop.sptk.few.clr",	BR (5, 0, 0, 1)},
367*d2201f2fSdrahn     {"br.cloop.sptk.clr",	BRT (5, 0, 0, 1, PSEUDO)},
3685f210c2aSfgsch     {"br.cloop.spnt.few",	BR (5, 0, 1, 0)},
369*d2201f2fSdrahn     {"br.cloop.spnt",		BRT (5, 0, 1, 0, PSEUDO)},
3705f210c2aSfgsch     {"br.cloop.spnt.few.clr",	BR (5, 0, 1, 1)},
371*d2201f2fSdrahn     {"br.cloop.spnt.clr",	BRT (5, 0, 1, 1, PSEUDO)},
3725f210c2aSfgsch     {"br.cloop.dptk.few",	BR (5, 0, 2, 0)},
373*d2201f2fSdrahn     {"br.cloop.dptk",		BRT (5, 0, 2, 0, PSEUDO)},
3745f210c2aSfgsch     {"br.cloop.dptk.few.clr",	BR (5, 0, 2, 1)},
375*d2201f2fSdrahn     {"br.cloop.dptk.clr",	BRT (5, 0, 2, 1, PSEUDO)},
3765f210c2aSfgsch     {"br.cloop.dpnt.few",	BR (5, 0, 3, 0)},
377*d2201f2fSdrahn     {"br.cloop.dpnt",		BRT (5, 0, 3, 0, PSEUDO)},
3785f210c2aSfgsch     {"br.cloop.dpnt.few.clr",	BR (5, 0, 3, 1)},
379*d2201f2fSdrahn     {"br.cloop.dpnt.clr",	BRT (5, 0, 3, 1, PSEUDO)},
3805f210c2aSfgsch     {"br.cloop.sptk.many",	BR (5, 1, 0, 0)},
3815f210c2aSfgsch     {"br.cloop.sptk.many.clr",	BR (5, 1, 0, 1)},
3825f210c2aSfgsch     {"br.cloop.spnt.many",	BR (5, 1, 1, 0)},
3835f210c2aSfgsch     {"br.cloop.spnt.many.clr",	BR (5, 1, 1, 1)},
3845f210c2aSfgsch     {"br.cloop.dptk.many",	BR (5, 1, 2, 0)},
3855f210c2aSfgsch     {"br.cloop.dptk.many.clr",	BR (5, 1, 2, 1)},
3865f210c2aSfgsch     {"br.cloop.dpnt.many",	BR (5, 1, 3, 0)},
3875f210c2aSfgsch     {"br.cloop.dpnt.many.clr",	BR (5, 1, 3, 1)},
388*d2201f2fSdrahn     {"br.cexit.sptk.few",	BRT (6, 0, 0, 0, MOD_RRBS)},
389*d2201f2fSdrahn     {"br.cexit.sptk",		BRT (6, 0, 0, 0, PSEUDO | MOD_RRBS)},
390*d2201f2fSdrahn     {"br.cexit.sptk.few.clr",	BRT (6, 0, 0, 1, MOD_RRBS)},
391*d2201f2fSdrahn     {"br.cexit.sptk.clr",	BRT (6, 0, 0, 1, PSEUDO | MOD_RRBS)},
392*d2201f2fSdrahn     {"br.cexit.spnt.few",	BRT (6, 0, 1, 0, MOD_RRBS)},
393*d2201f2fSdrahn     {"br.cexit.spnt",		BRT (6, 0, 1, 0, PSEUDO | MOD_RRBS)},
394*d2201f2fSdrahn     {"br.cexit.spnt.few.clr",	BRT (6, 0, 1, 1, MOD_RRBS)},
395*d2201f2fSdrahn     {"br.cexit.spnt.clr",	BRT (6, 0, 1, 1, PSEUDO | MOD_RRBS)},
396*d2201f2fSdrahn     {"br.cexit.dptk.few",	BRT (6, 0, 2, 0, MOD_RRBS)},
397*d2201f2fSdrahn     {"br.cexit.dptk",		BRT (6, 0, 2, 0, PSEUDO | MOD_RRBS)},
398*d2201f2fSdrahn     {"br.cexit.dptk.few.clr",	BRT (6, 0, 2, 1, MOD_RRBS)},
399*d2201f2fSdrahn     {"br.cexit.dptk.clr",	BRT (6, 0, 2, 1, PSEUDO | MOD_RRBS)},
400*d2201f2fSdrahn     {"br.cexit.dpnt.few",	BRT (6, 0, 3, 0, MOD_RRBS)},
401*d2201f2fSdrahn     {"br.cexit.dpnt",		BRT (6, 0, 3, 0, PSEUDO | MOD_RRBS)},
402*d2201f2fSdrahn     {"br.cexit.dpnt.few.clr",	BRT (6, 0, 3, 1, MOD_RRBS)},
403*d2201f2fSdrahn     {"br.cexit.dpnt.clr",	BRT (6, 0, 3, 1, PSEUDO | MOD_RRBS)},
404*d2201f2fSdrahn     {"br.cexit.sptk.many",	BRT (6, 1, 0, 0, MOD_RRBS)},
405*d2201f2fSdrahn     {"br.cexit.sptk.many.clr",	BRT (6, 1, 0, 1, MOD_RRBS)},
406*d2201f2fSdrahn     {"br.cexit.spnt.many",	BRT (6, 1, 1, 0, MOD_RRBS)},
407*d2201f2fSdrahn     {"br.cexit.spnt.many.clr",	BRT (6, 1, 1, 1, MOD_RRBS)},
408*d2201f2fSdrahn     {"br.cexit.dptk.many",	BRT (6, 1, 2, 0, MOD_RRBS)},
409*d2201f2fSdrahn     {"br.cexit.dptk.many.clr",	BRT (6, 1, 2, 1, MOD_RRBS)},
410*d2201f2fSdrahn     {"br.cexit.dpnt.many",	BRT (6, 1, 3, 0, MOD_RRBS)},
411*d2201f2fSdrahn     {"br.cexit.dpnt.many.clr",	BRT (6, 1, 3, 1, MOD_RRBS)},
412*d2201f2fSdrahn     {"br.ctop.sptk.few",	BRT (7, 0, 0, 0, MOD_RRBS)},
413*d2201f2fSdrahn     {"br.ctop.sptk",		BRT (7, 0, 0, 0, PSEUDO | MOD_RRBS)},
414*d2201f2fSdrahn     {"br.ctop.sptk.few.clr",	BRT (7, 0, 0, 1, MOD_RRBS)},
415*d2201f2fSdrahn     {"br.ctop.sptk.clr",	BRT (7, 0, 0, 1, PSEUDO | MOD_RRBS)},
416*d2201f2fSdrahn     {"br.ctop.spnt.few",	BRT (7, 0, 1, 0, MOD_RRBS)},
417*d2201f2fSdrahn     {"br.ctop.spnt",		BRT (7, 0, 1, 0, PSEUDO | MOD_RRBS)},
418*d2201f2fSdrahn     {"br.ctop.spnt.few.clr",	BRT (7, 0, 1, 1, MOD_RRBS)},
419*d2201f2fSdrahn     {"br.ctop.spnt.clr",	BRT (7, 0, 1, 1, PSEUDO | MOD_RRBS)},
420*d2201f2fSdrahn     {"br.ctop.dptk.few",	BRT (7, 0, 2, 0, MOD_RRBS)},
421*d2201f2fSdrahn     {"br.ctop.dptk",		BRT (7, 0, 2, 0, PSEUDO | MOD_RRBS)},
422*d2201f2fSdrahn     {"br.ctop.dptk.few.clr",	BRT (7, 0, 2, 1, MOD_RRBS)},
423*d2201f2fSdrahn     {"br.ctop.dptk.clr",	BRT (7, 0, 2, 1, PSEUDO | MOD_RRBS)},
424*d2201f2fSdrahn     {"br.ctop.dpnt.few",	BRT (7, 0, 3, 0, MOD_RRBS)},
425*d2201f2fSdrahn     {"br.ctop.dpnt",		BRT (7, 0, 3, 0, PSEUDO | MOD_RRBS)},
426*d2201f2fSdrahn     {"br.ctop.dpnt.few.clr",	BRT (7, 0, 3, 1, MOD_RRBS)},
427*d2201f2fSdrahn     {"br.ctop.dpnt.clr",	BRT (7, 0, 3, 1, PSEUDO | MOD_RRBS)},
428*d2201f2fSdrahn     {"br.ctop.sptk.many",	BRT (7, 1, 0, 0, MOD_RRBS)},
429*d2201f2fSdrahn     {"br.ctop.sptk.many.clr",	BRT (7, 1, 0, 1, MOD_RRBS)},
430*d2201f2fSdrahn     {"br.ctop.spnt.many",	BRT (7, 1, 1, 0, MOD_RRBS)},
431*d2201f2fSdrahn     {"br.ctop.spnt.many.clr",	BRT (7, 1, 1, 1, MOD_RRBS)},
432*d2201f2fSdrahn     {"br.ctop.dptk.many",	BRT (7, 1, 2, 0, MOD_RRBS)},
433*d2201f2fSdrahn     {"br.ctop.dptk.many.clr",	BRT (7, 1, 2, 1, MOD_RRBS)},
434*d2201f2fSdrahn     {"br.ctop.dpnt.many",	BRT (7, 1, 3, 0, MOD_RRBS)},
435*d2201f2fSdrahn     {"br.ctop.dpnt.many.clr",	BRT (7, 1, 3, 1, MOD_RRBS)},
4365f210c2aSfgsch #undef BR
437*d2201f2fSdrahn #undef BRT
4385f210c2aSfgsch 
439*d2201f2fSdrahn     {"br.call.sptk.few",	B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, EMPTY},
440*d2201f2fSdrahn     {"br.call.sptk",		B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
441*d2201f2fSdrahn     {"br.call.sptk.few.clr",	B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, EMPTY},
442*d2201f2fSdrahn     {"br.call.sptk.clr",	B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
443*d2201f2fSdrahn     {"br.call.spnt.few",	B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, EMPTY},
444*d2201f2fSdrahn     {"br.call.spnt",		B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
445*d2201f2fSdrahn     {"br.call.spnt.few.clr",	B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, EMPTY},
446*d2201f2fSdrahn     {"br.call.spnt.clr",	B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
447*d2201f2fSdrahn     {"br.call.dptk.few",	B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, EMPTY},
448*d2201f2fSdrahn     {"br.call.dptk",		B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
449*d2201f2fSdrahn     {"br.call.dptk.few.clr",	B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, EMPTY},
450*d2201f2fSdrahn     {"br.call.dptk.clr",	B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
451*d2201f2fSdrahn     {"br.call.dpnt.few",	B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, EMPTY},
452*d2201f2fSdrahn     {"br.call.dpnt",		B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
453*d2201f2fSdrahn     {"br.call.dpnt.few.clr",	B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, EMPTY},
454*d2201f2fSdrahn     {"br.call.dpnt.clr",	B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
455*d2201f2fSdrahn     {"br.call.sptk.many",	B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}, EMPTY},
456*d2201f2fSdrahn     {"br.call.sptk.many.clr",	B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}, EMPTY},
457*d2201f2fSdrahn     {"br.call.spnt.many",	B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}, EMPTY},
458*d2201f2fSdrahn     {"br.call.spnt.many.clr",	B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}, EMPTY},
459*d2201f2fSdrahn     {"br.call.dptk.many",	B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}, EMPTY},
460*d2201f2fSdrahn     {"br.call.dptk.many.clr",	B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}, EMPTY},
461*d2201f2fSdrahn     {"br.call.dpnt.many",	B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}, EMPTY},
462*d2201f2fSdrahn     {"br.call.dpnt.many.clr",	B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}, EMPTY},
463*d2201f2fSdrahn 
464*d2201f2fSdrahn     /* Branch predict.  */
4655f210c2aSfgsch #define BRP(a,b) \
466*d2201f2fSdrahn       B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED, 0, NULL
4675f210c2aSfgsch     {"brp.sptk",		BRP (0, 0)},
4685f210c2aSfgsch     {"brp.loop",		BRP (0, 1)},
4695f210c2aSfgsch     {"brp.dptk",		BRP (0, 2)},
4705f210c2aSfgsch     {"brp.exit",		BRP (0, 3)},
4715f210c2aSfgsch     {"brp.sptk.imp",		BRP (1, 0)},
4725f210c2aSfgsch     {"brp.loop.imp",		BRP (1, 1)},
4735f210c2aSfgsch     {"brp.dptk.imp",		BRP (1, 2)},
4745f210c2aSfgsch     {"brp.exit.imp",		BRP (1, 3)},
4755f210c2aSfgsch #undef BRP
4765f210c2aSfgsch 
477*d2201f2fSdrahn     {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
4785f210c2aSfgsch   };
4795f210c2aSfgsch 
4805f210c2aSfgsch #undef B0
4815f210c2aSfgsch #undef B
4825f210c2aSfgsch #undef bBtype
4835f210c2aSfgsch #undef bD
4845f210c2aSfgsch #undef bIh
4855f210c2aSfgsch #undef bPa
4865f210c2aSfgsch #undef bPr
4875f210c2aSfgsch #undef bWha
4885f210c2aSfgsch #undef bWhb
489*d2201f2fSdrahn #undef bWhc
4905f210c2aSfgsch #undef bX6
4915f210c2aSfgsch #undef mBtype
4925f210c2aSfgsch #undef mD
4935f210c2aSfgsch #undef mIh
4945f210c2aSfgsch #undef mPa
4955f210c2aSfgsch #undef mPr
4965f210c2aSfgsch #undef mWha
4975f210c2aSfgsch #undef mWhb
498*d2201f2fSdrahn #undef mWhc
4995f210c2aSfgsch #undef mX6
5005f210c2aSfgsch #undef OpX6
5015f210c2aSfgsch #undef OpPaWhaD
502*d2201f2fSdrahn #undef OpPaWhcD
5035f210c2aSfgsch #undef OpBtypePaWhaD
5045f210c2aSfgsch #undef OpBtypePaWhaDPr
5055f210c2aSfgsch #undef OpX6BtypePaWhaD
5065f210c2aSfgsch #undef OpX6BtypePaWhaDPr
5075f210c2aSfgsch #undef OpIhWhb
5085f210c2aSfgsch #undef OpX6IhWhb
509*d2201f2fSdrahn #undef EMPTY
510