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