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