1a1ba9ba4Schristos /* ia64-opc-b.c -- IA-64 `B' opcode table. 2*184b2d41Schristos Copyright (C) 1998-2020 Free Software Foundation, Inc. 3a1ba9ba4Schristos Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4a1ba9ba4Schristos 5a1ba9ba4Schristos This file is part of the GNU opcodes library. 6a1ba9ba4Schristos 7a1ba9ba4Schristos This library is free software; you can redistribute it and/or modify 8a1ba9ba4Schristos it under the terms of the GNU General Public License as published by 9a1ba9ba4Schristos the Free Software Foundation; either version 3, or (at your option) 10a1ba9ba4Schristos any later version. 11a1ba9ba4Schristos 12a1ba9ba4Schristos It is distributed in the hope that it will be useful, but WITHOUT 13a1ba9ba4Schristos ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14a1ba9ba4Schristos or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15a1ba9ba4Schristos License for more details. 16a1ba9ba4Schristos 17a1ba9ba4Schristos You should have received a copy of the GNU General Public License 18a1ba9ba4Schristos along with this file; see the file COPYING. If not, write to the 19a1ba9ba4Schristos Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, 20a1ba9ba4Schristos MA 02110-1301, USA. */ 21a1ba9ba4Schristos 22a1ba9ba4Schristos #include "ia64-opc.h" 23a1ba9ba4Schristos 24a1ba9ba4Schristos #define B0 IA64_TYPE_B, 0 25a1ba9ba4Schristos #define B IA64_TYPE_B, 1 26a1ba9ba4Schristos 27a1ba9ba4Schristos /* instruction bit fields: */ 28a1ba9ba4Schristos #define bBtype(x) (((ia64_insn) ((x) & 0x7)) << 6) 29a1ba9ba4Schristos #define bD(x) (((ia64_insn) ((x) & 0x1)) << 35) 30a1ba9ba4Schristos #define bIh(x) (((ia64_insn) ((x) & 0x1)) << 35) 31a1ba9ba4Schristos #define bPa(x) (((ia64_insn) ((x) & 0x1)) << 12) 32a1ba9ba4Schristos #define bPr(x) (((ia64_insn) ((x) & 0x3f)) << 0) 33a1ba9ba4Schristos #define bWha(x) (((ia64_insn) ((x) & 0x3)) << 33) 34a1ba9ba4Schristos #define bWhb(x) (((ia64_insn) ((x) & 0x3)) << 3) 35a1ba9ba4Schristos #define bWhc(x) (((ia64_insn) ((x) & 0x7)) << 32) 36a1ba9ba4Schristos #define bX6(x) (((ia64_insn) ((x) & 0x3f)) << 27) 37a1ba9ba4Schristos 38a1ba9ba4Schristos #define mBtype bBtype (-1) 39a1ba9ba4Schristos #define mD bD (-1) 40a1ba9ba4Schristos #define mIh bIh (-1) 41a1ba9ba4Schristos #define mPa bPa (-1) 42a1ba9ba4Schristos #define mPr bPr (-1) 43a1ba9ba4Schristos #define mWha bWha (-1) 44a1ba9ba4Schristos #define mWhb bWhb (-1) 45a1ba9ba4Schristos #define mWhc bWhc (-1) 46a1ba9ba4Schristos #define mX6 bX6 (-1) 47a1ba9ba4Schristos 48a1ba9ba4Schristos #define OpX6(a,b) (bOp (a) | bX6 (b)), (mOp | mX6) 49a1ba9ba4Schristos #define OpPaWhaD(a,b,c,d) \ 50a1ba9ba4Schristos (bOp (a) | bPa (b) | bWha (c) | bD (d)), (mOp | mPa | mWha | mD) 51a1ba9ba4Schristos #define OpPaWhcD(a,b,c,d) \ 52a1ba9ba4Schristos (bOp (a) | bPa (b) | bWhc (c) | bD (d)), (mOp | mPa | mWhc | mD) 53a1ba9ba4Schristos #define OpBtypePaWhaD(a,b,c,d,e) \ 54a1ba9ba4Schristos (bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e)), \ 55a1ba9ba4Schristos (mOp | mBtype | mPa | mWha | mD) 56a1ba9ba4Schristos #define OpBtypePaWhaDPr(a,b,c,d,e,f) \ 57a1ba9ba4Schristos (bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e) | bPr (f)), \ 58a1ba9ba4Schristos (mOp | mBtype | mPa | mWha | mD | mPr) 59a1ba9ba4Schristos #define OpX6BtypePaWhaD(a,b,c,d,e,f) \ 60a1ba9ba4Schristos (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f)), \ 61a1ba9ba4Schristos (mOp | mX6 | mBtype | mPa | mWha | mD) 62a1ba9ba4Schristos #define OpX6BtypePaWhaDPr(a,b,c,d,e,f,g) \ 63a1ba9ba4Schristos (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f) | bPr (g)), \ 64a1ba9ba4Schristos (mOp | mX6 | mBtype | mPa | mWha | mD | mPr) 65a1ba9ba4Schristos #define OpIhWhb(a,b,c) \ 66a1ba9ba4Schristos (bOp (a) | bIh (b) | bWhb (c)), \ 67a1ba9ba4Schristos (mOp | mIh | mWhb) 68a1ba9ba4Schristos #define OpX6IhWhb(a,b,c,d) \ 69a1ba9ba4Schristos (bOp (a) | bX6 (b) | bIh (c) | bWhb (d)), \ 70a1ba9ba4Schristos (mOp | mX6 | mIh | mWhb) 71a1ba9ba4Schristos 72a1ba9ba4Schristos /* Used to initialise unused fields in ia64_opcode struct, 73a1ba9ba4Schristos in order to stop gcc from complaining. */ 74a1ba9ba4Schristos #define EMPTY 0,0,NULL 75a1ba9ba4Schristos 76a1ba9ba4Schristos struct ia64_opcode ia64_opcodes_b[] = 77a1ba9ba4Schristos { 78a1ba9ba4Schristos /* B-type instruction encodings (sorted according to major opcode) */ 79a1ba9ba4Schristos 80a1ba9ba4Schristos #define BR(a,b) \ 81a1ba9ba4Schristos B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO, 0, NULL 82a1ba9ba4Schristos {"br.few", BR (0, 0)}, 83a1ba9ba4Schristos {"br", BR (0, 0)}, 84a1ba9ba4Schristos {"br.few.clr", BR (0, 1)}, 85a1ba9ba4Schristos {"br.clr", BR (0, 1)}, 86a1ba9ba4Schristos {"br.many", BR (1, 0)}, 87a1ba9ba4Schristos {"br.many.clr", BR (1, 1)}, 88a1ba9ba4Schristos #undef BR 89a1ba9ba4Schristos 90a1ba9ba4Schristos #define BR(a,b,c,d,e) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, EMPTY 91a1ba9ba4Schristos #define BRP(a,b,c,d,e) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, PSEUDO, 0, NULL 92a1ba9ba4Schristos #define BRT(a,b,c,d,e,f) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, f, 0, NULL 93a1ba9ba4Schristos {"br.cond.sptk.few", BR (0x20, 0, 0, 0, 0)}, 94a1ba9ba4Schristos {"br.cond.sptk", BRP (0x20, 0, 0, 0, 0)}, 95a1ba9ba4Schristos {"br.cond.sptk.few.clr", BR (0x20, 0, 0, 0, 1)}, 96a1ba9ba4Schristos {"br.cond.sptk.clr", BRP (0x20, 0, 0, 0, 1)}, 97a1ba9ba4Schristos {"br.cond.spnt.few", BR (0x20, 0, 0, 1, 0)}, 98a1ba9ba4Schristos {"br.cond.spnt", BRP (0x20, 0, 0, 1, 0)}, 99a1ba9ba4Schristos {"br.cond.spnt.few.clr", BR (0x20, 0, 0, 1, 1)}, 100a1ba9ba4Schristos {"br.cond.spnt.clr", BRP (0x20, 0, 0, 1, 1)}, 101a1ba9ba4Schristos {"br.cond.dptk.few", BR (0x20, 0, 0, 2, 0)}, 102a1ba9ba4Schristos {"br.cond.dptk", BRP (0x20, 0, 0, 2, 0)}, 103a1ba9ba4Schristos {"br.cond.dptk.few.clr", BR (0x20, 0, 0, 2, 1)}, 104a1ba9ba4Schristos {"br.cond.dptk.clr", BRP (0x20, 0, 0, 2, 1)}, 105a1ba9ba4Schristos {"br.cond.dpnt.few", BR (0x20, 0, 0, 3, 0)}, 106a1ba9ba4Schristos {"br.cond.dpnt", BRP (0x20, 0, 0, 3, 0)}, 107a1ba9ba4Schristos {"br.cond.dpnt.few.clr", BR (0x20, 0, 0, 3, 1)}, 108a1ba9ba4Schristos {"br.cond.dpnt.clr", BRP (0x20, 0, 0, 3, 1)}, 109a1ba9ba4Schristos {"br.cond.sptk.many", BR (0x20, 0, 1, 0, 0)}, 110a1ba9ba4Schristos {"br.cond.sptk.many.clr", BR (0x20, 0, 1, 0, 1)}, 111a1ba9ba4Schristos {"br.cond.spnt.many", BR (0x20, 0, 1, 1, 0)}, 112a1ba9ba4Schristos {"br.cond.spnt.many.clr", BR (0x20, 0, 1, 1, 1)}, 113a1ba9ba4Schristos {"br.cond.dptk.many", BR (0x20, 0, 1, 2, 0)}, 114a1ba9ba4Schristos {"br.cond.dptk.many.clr", BR (0x20, 0, 1, 2, 1)}, 115a1ba9ba4Schristos {"br.cond.dpnt.many", BR (0x20, 0, 1, 3, 0)}, 116a1ba9ba4Schristos {"br.cond.dpnt.many.clr", BR (0x20, 0, 1, 3, 1)}, 117a1ba9ba4Schristos {"br.sptk.few", BR (0x20, 0, 0, 0, 0)}, 118a1ba9ba4Schristos {"br.sptk", BRP (0x20, 0, 0, 0, 0)}, 119a1ba9ba4Schristos {"br.sptk.few.clr", BR (0x20, 0, 0, 0, 1)}, 120a1ba9ba4Schristos {"br.sptk.clr", BRP (0x20, 0, 0, 0, 1)}, 121a1ba9ba4Schristos {"br.spnt.few", BR (0x20, 0, 0, 1, 0)}, 122a1ba9ba4Schristos {"br.spnt", BRP (0x20, 0, 0, 1, 0)}, 123a1ba9ba4Schristos {"br.spnt.few.clr", BR (0x20, 0, 0, 1, 1)}, 124a1ba9ba4Schristos {"br.spnt.clr", BRP (0x20, 0, 0, 1, 1)}, 125a1ba9ba4Schristos {"br.dptk.few", BR (0x20, 0, 0, 2, 0)}, 126a1ba9ba4Schristos {"br.dptk", BRP (0x20, 0, 0, 2, 0)}, 127a1ba9ba4Schristos {"br.dptk.few.clr", BR (0x20, 0, 0, 2, 1)}, 128a1ba9ba4Schristos {"br.dptk.clr", BRP (0x20, 0, 0, 2, 1)}, 129a1ba9ba4Schristos {"br.dpnt.few", BR (0x20, 0, 0, 3, 0)}, 130a1ba9ba4Schristos {"br.dpnt", BRP (0x20, 0, 0, 3, 0)}, 131a1ba9ba4Schristos {"br.dpnt.few.clr", BR (0x20, 0, 0, 3, 1)}, 132a1ba9ba4Schristos {"br.dpnt.clr", BRP (0x20, 0, 0, 3, 1)}, 133a1ba9ba4Schristos {"br.sptk.many", BR (0x20, 0, 1, 0, 0)}, 134a1ba9ba4Schristos {"br.sptk.many.clr", BR (0x20, 0, 1, 0, 1)}, 135a1ba9ba4Schristos {"br.spnt.many", BR (0x20, 0, 1, 1, 0)}, 136a1ba9ba4Schristos {"br.spnt.many.clr", BR (0x20, 0, 1, 1, 1)}, 137a1ba9ba4Schristos {"br.dptk.many", BR (0x20, 0, 1, 2, 0)}, 138a1ba9ba4Schristos {"br.dptk.many.clr", BR (0x20, 0, 1, 2, 1)}, 139a1ba9ba4Schristos {"br.dpnt.many", BR (0x20, 0, 1, 3, 0)}, 140a1ba9ba4Schristos {"br.dpnt.many.clr", BR (0x20, 0, 1, 3, 1)}, 141a1ba9ba4Schristos {"br.ia.sptk.few", BR (0x20, 1, 0, 0, 0)}, 142a1ba9ba4Schristos {"br.ia.sptk", BRP (0x20, 1, 0, 0, 0)}, 143a1ba9ba4Schristos {"br.ia.sptk.few.clr", BR (0x20, 1, 0, 0, 1)}, 144a1ba9ba4Schristos {"br.ia.sptk.clr", BRP (0x20, 1, 0, 0, 1)}, 145a1ba9ba4Schristos {"br.ia.spnt.few", BR (0x20, 1, 0, 1, 0)}, 146a1ba9ba4Schristos {"br.ia.spnt", BRP (0x20, 1, 0, 1, 0)}, 147a1ba9ba4Schristos {"br.ia.spnt.few.clr", BR (0x20, 1, 0, 1, 1)}, 148a1ba9ba4Schristos {"br.ia.spnt.clr", BRP (0x20, 1, 0, 1, 1)}, 149a1ba9ba4Schristos {"br.ia.dptk.few", BR (0x20, 1, 0, 2, 0)}, 150a1ba9ba4Schristos {"br.ia.dptk", BRP (0x20, 1, 0, 2, 0)}, 151a1ba9ba4Schristos {"br.ia.dptk.few.clr", BR (0x20, 1, 0, 2, 1)}, 152a1ba9ba4Schristos {"br.ia.dptk.clr", BRP (0x20, 1, 0, 2, 1)}, 153a1ba9ba4Schristos {"br.ia.dpnt.few", BR (0x20, 1, 0, 3, 0)}, 154a1ba9ba4Schristos {"br.ia.dpnt", BRP (0x20, 1, 0, 3, 0)}, 155a1ba9ba4Schristos {"br.ia.dpnt.few.clr", BR (0x20, 1, 0, 3, 1)}, 156a1ba9ba4Schristos {"br.ia.dpnt.clr", BRP (0x20, 1, 0, 3, 1)}, 157a1ba9ba4Schristos {"br.ia.sptk.many", BR (0x20, 1, 1, 0, 0)}, 158a1ba9ba4Schristos {"br.ia.sptk.many.clr", BR (0x20, 1, 1, 0, 1)}, 159a1ba9ba4Schristos {"br.ia.spnt.many", BR (0x20, 1, 1, 1, 0)}, 160a1ba9ba4Schristos {"br.ia.spnt.many.clr", BR (0x20, 1, 1, 1, 1)}, 161a1ba9ba4Schristos {"br.ia.dptk.many", BR (0x20, 1, 1, 2, 0)}, 162a1ba9ba4Schristos {"br.ia.dptk.many.clr", BR (0x20, 1, 1, 2, 1)}, 163a1ba9ba4Schristos {"br.ia.dpnt.many", BR (0x20, 1, 1, 3, 0)}, 164a1ba9ba4Schristos {"br.ia.dpnt.many.clr", BR (0x20, 1, 1, 3, 1)}, 165a1ba9ba4Schristos {"br.ret.sptk.few", BRT (0x21, 4, 0, 0, 0, MOD_RRBS)}, 166a1ba9ba4Schristos {"br.ret.sptk", BRT (0x21, 4, 0, 0, 0, PSEUDO | MOD_RRBS)}, 167a1ba9ba4Schristos {"br.ret.sptk.few.clr", BRT (0x21, 4, 0, 0, 1, MOD_RRBS)}, 168a1ba9ba4Schristos {"br.ret.sptk.clr", BRT (0x21, 4, 0, 0, 1, PSEUDO | MOD_RRBS)}, 169a1ba9ba4Schristos {"br.ret.spnt.few", BRT (0x21, 4, 0, 1, 0, MOD_RRBS)}, 170a1ba9ba4Schristos {"br.ret.spnt", BRT (0x21, 4, 0, 1, 0, PSEUDO | MOD_RRBS)}, 171a1ba9ba4Schristos {"br.ret.spnt.few.clr", BRT (0x21, 4, 0, 1, 1, MOD_RRBS)}, 172a1ba9ba4Schristos {"br.ret.spnt.clr", BRT (0x21, 4, 0, 1, 1, PSEUDO | MOD_RRBS)}, 173a1ba9ba4Schristos {"br.ret.dptk.few", BRT (0x21, 4, 0, 2, 0, MOD_RRBS)}, 174a1ba9ba4Schristos {"br.ret.dptk", BRT (0x21, 4, 0, 2, 0, PSEUDO | MOD_RRBS)}, 175a1ba9ba4Schristos {"br.ret.dptk.few.clr", BRT (0x21, 4, 0, 2, 1, MOD_RRBS)}, 176a1ba9ba4Schristos {"br.ret.dptk.clr", BRT (0x21, 4, 0, 2, 1, PSEUDO | MOD_RRBS)}, 177a1ba9ba4Schristos {"br.ret.dpnt.few", BRT (0x21, 4, 0, 3, 0, MOD_RRBS)}, 178a1ba9ba4Schristos {"br.ret.dpnt", BRT (0x21, 4, 0, 3, 0, PSEUDO | MOD_RRBS)}, 179a1ba9ba4Schristos {"br.ret.dpnt.few.clr", BRT (0x21, 4, 0, 3, 1, MOD_RRBS)}, 180a1ba9ba4Schristos {"br.ret.dpnt.clr", BRT (0x21, 4, 0, 3, 1, PSEUDO | MOD_RRBS)}, 181a1ba9ba4Schristos {"br.ret.sptk.many", BRT (0x21, 4, 1, 0, 0, MOD_RRBS)}, 182a1ba9ba4Schristos {"br.ret.sptk.many.clr", BRT (0x21, 4, 1, 0, 1, MOD_RRBS)}, 183a1ba9ba4Schristos {"br.ret.spnt.many", BRT (0x21, 4, 1, 1, 0, MOD_RRBS)}, 184a1ba9ba4Schristos {"br.ret.spnt.many.clr", BRT (0x21, 4, 1, 1, 1, MOD_RRBS)}, 185a1ba9ba4Schristos {"br.ret.dptk.many", BRT (0x21, 4, 1, 2, 0, MOD_RRBS)}, 186a1ba9ba4Schristos {"br.ret.dptk.many.clr", BRT (0x21, 4, 1, 2, 1, MOD_RRBS)}, 187a1ba9ba4Schristos {"br.ret.dpnt.many", BRT (0x21, 4, 1, 3, 0, MOD_RRBS)}, 188a1ba9ba4Schristos {"br.ret.dpnt.many.clr", BRT (0x21, 4, 1, 3, 1, MOD_RRBS)}, 189a1ba9ba4Schristos #undef BR 190a1ba9ba4Schristos #undef BRP 191a1ba9ba4Schristos #undef BRT 192a1ba9ba4Schristos 193a1ba9ba4Schristos {"cover", B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL}, 194a1ba9ba4Schristos {"clrrrb", B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL}, 195a1ba9ba4Schristos {"clrrrb.pr", B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL}, 196a1ba9ba4Schristos {"rfi", B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS, 0, NULL}, 197a1ba9ba4Schristos {"bsw.0", B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV, 0, NULL}, 198a1ba9ba4Schristos {"bsw.1", B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV, 0, NULL}, 199a1ba9ba4Schristos {"epc", B0, OpX6 (0, 0x10), {0, }, NO_PRED, 0, NULL}, 200a1ba9ba4Schristos {"vmsw.0", B0, OpX6 (0, 0x18), {0, }, NO_PRED | PRIV, 0, NULL}, 201a1ba9ba4Schristos {"vmsw.1", B0, OpX6 (0, 0x19), {0, }, NO_PRED | PRIV, 0, NULL}, 202a1ba9ba4Schristos 203a1ba9ba4Schristos {"break.b", B0, OpX6 (0, 0x00), {IMMU21}, EMPTY}, 204a1ba9ba4Schristos 205a1ba9ba4Schristos {"br.call.sptk.few", B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, EMPTY}, 206a1ba9ba4Schristos {"br.call.sptk", B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, PSEUDO, 0, NULL}, 207a1ba9ba4Schristos {"br.call.sptk.few.clr", B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, EMPTY}, 208a1ba9ba4Schristos {"br.call.sptk.clr", B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, PSEUDO, 0, NULL}, 209a1ba9ba4Schristos {"br.call.spnt.few", B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, EMPTY}, 210a1ba9ba4Schristos {"br.call.spnt", B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, PSEUDO, 0, NULL}, 211a1ba9ba4Schristos {"br.call.spnt.few.clr", B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, EMPTY}, 212a1ba9ba4Schristos {"br.call.spnt.clr", B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, PSEUDO, 0, NULL}, 213a1ba9ba4Schristos {"br.call.dptk.few", B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, EMPTY}, 214a1ba9ba4Schristos {"br.call.dptk", B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, PSEUDO, 0, NULL}, 215a1ba9ba4Schristos {"br.call.dptk.few.clr", B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, EMPTY}, 216a1ba9ba4Schristos {"br.call.dptk.clr", B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, PSEUDO, 0, NULL}, 217a1ba9ba4Schristos {"br.call.dpnt.few", B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, EMPTY}, 218a1ba9ba4Schristos {"br.call.dpnt", B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, PSEUDO, 0, NULL}, 219a1ba9ba4Schristos {"br.call.dpnt.few.clr", B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, EMPTY}, 220a1ba9ba4Schristos {"br.call.dpnt.clr", B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, PSEUDO, 0, NULL}, 221a1ba9ba4Schristos {"br.call.sptk.many", B, OpPaWhcD (1, 1, 1, 0), {B1, B2}, EMPTY}, 222a1ba9ba4Schristos {"br.call.sptk.many.clr", B, OpPaWhcD (1, 1, 1, 1), {B1, B2}, EMPTY}, 223a1ba9ba4Schristos {"br.call.spnt.many", B, OpPaWhcD (1, 1, 3, 0), {B1, B2}, EMPTY}, 224a1ba9ba4Schristos {"br.call.spnt.many.clr", B, OpPaWhcD (1, 1, 3, 1), {B1, B2}, EMPTY}, 225a1ba9ba4Schristos {"br.call.dptk.many", B, OpPaWhcD (1, 1, 5, 0), {B1, B2}, EMPTY}, 226a1ba9ba4Schristos {"br.call.dptk.many.clr", B, OpPaWhcD (1, 1, 5, 1), {B1, B2}, EMPTY}, 227a1ba9ba4Schristos {"br.call.dpnt.many", B, OpPaWhcD (1, 1, 7, 0), {B1, B2}, EMPTY}, 228a1ba9ba4Schristos {"br.call.dpnt.many.clr", B, OpPaWhcD (1, 1, 7, 1), {B1, B2}, EMPTY}, 229a1ba9ba4Schristos 230a1ba9ba4Schristos #define BRP(a,b,c) \ 231a1ba9ba4Schristos B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED, 0, NULL 232a1ba9ba4Schristos {"brp.sptk", BRP (0x10, 0, 0)}, 233a1ba9ba4Schristos {"brp.dptk", BRP (0x10, 0, 2)}, 234a1ba9ba4Schristos {"brp.sptk.imp", BRP (0x10, 1, 0)}, 235a1ba9ba4Schristos {"brp.dptk.imp", BRP (0x10, 1, 2)}, 236a1ba9ba4Schristos {"brp.ret.sptk", BRP (0x11, 0, 0)}, 237a1ba9ba4Schristos {"brp.ret.dptk", BRP (0x11, 0, 2)}, 238a1ba9ba4Schristos {"brp.ret.sptk.imp", BRP (0x11, 1, 0)}, 239a1ba9ba4Schristos {"brp.ret.dptk.imp", BRP (0x11, 1, 2)}, 240a1ba9ba4Schristos #undef BRP 241a1ba9ba4Schristos 242a1ba9ba4Schristos {"nop.b", B0, OpX6 (2, 0x00), {IMMU21}, EMPTY}, 243a1ba9ba4Schristos {"hint.b", B0, OpX6 (2, 0x01), {IMMU21}, EMPTY}, 244a1ba9ba4Schristos 245a1ba9ba4Schristos #define BR(a,b) \ 246a1ba9ba4Schristos B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO, 0, NULL 247a1ba9ba4Schristos {"br.few", BR (0, 0)}, 248a1ba9ba4Schristos {"br", BR (0, 0)}, 249a1ba9ba4Schristos {"br.few.clr", BR (0, 1)}, 250a1ba9ba4Schristos {"br.clr", BR (0, 1)}, 251a1ba9ba4Schristos {"br.many", BR (1, 0)}, 252a1ba9ba4Schristos {"br.many.clr", BR (1, 1)}, 253a1ba9ba4Schristos #undef BR 254a1ba9ba4Schristos 255a1ba9ba4Schristos #define BR(a,b,c) \ 256a1ba9ba4Schristos B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, EMPTY 257a1ba9ba4Schristos #define BRP(a,b,c) \ 258a1ba9ba4Schristos B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, PSEUDO, 0, NULL 259a1ba9ba4Schristos {"br.cond.sptk.few", BR (0, 0, 0)}, 260a1ba9ba4Schristos {"br.cond.sptk", BRP (0, 0, 0)}, 261a1ba9ba4Schristos {"br.cond.sptk.few.clr", BR (0, 0, 1)}, 262a1ba9ba4Schristos {"br.cond.sptk.clr", BRP (0, 0, 1)}, 263a1ba9ba4Schristos {"br.cond.spnt.few", BR (0, 1, 0)}, 264a1ba9ba4Schristos {"br.cond.spnt", BRP (0, 1, 0)}, 265a1ba9ba4Schristos {"br.cond.spnt.few.clr", BR (0, 1, 1)}, 266a1ba9ba4Schristos {"br.cond.spnt.clr", BRP (0, 1, 1)}, 267a1ba9ba4Schristos {"br.cond.dptk.few", BR (0, 2, 0)}, 268a1ba9ba4Schristos {"br.cond.dptk", BRP (0, 2, 0)}, 269a1ba9ba4Schristos {"br.cond.dptk.few.clr", BR (0, 2, 1)}, 270a1ba9ba4Schristos {"br.cond.dptk.clr", BRP (0, 2, 1)}, 271a1ba9ba4Schristos {"br.cond.dpnt.few", BR (0, 3, 0)}, 272a1ba9ba4Schristos {"br.cond.dpnt", BRP (0, 3, 0)}, 273a1ba9ba4Schristos {"br.cond.dpnt.few.clr", BR (0, 3, 1)}, 274a1ba9ba4Schristos {"br.cond.dpnt.clr", BRP (0, 3, 1)}, 275a1ba9ba4Schristos {"br.cond.sptk.many", BR (1, 0, 0)}, 276a1ba9ba4Schristos {"br.cond.sptk.many.clr", BR (1, 0, 1)}, 277a1ba9ba4Schristos {"br.cond.spnt.many", BR (1, 1, 0)}, 278a1ba9ba4Schristos {"br.cond.spnt.many.clr", BR (1, 1, 1)}, 279a1ba9ba4Schristos {"br.cond.dptk.many", BR (1, 2, 0)}, 280a1ba9ba4Schristos {"br.cond.dptk.many.clr", BR (1, 2, 1)}, 281a1ba9ba4Schristos {"br.cond.dpnt.many", BR (1, 3, 0)}, 282a1ba9ba4Schristos {"br.cond.dpnt.many.clr", BR (1, 3, 1)}, 283a1ba9ba4Schristos {"br.sptk.few", BR (0, 0, 0)}, 284a1ba9ba4Schristos {"br.sptk", BRP (0, 0, 0)}, 285a1ba9ba4Schristos {"br.sptk.few.clr", BR (0, 0, 1)}, 286a1ba9ba4Schristos {"br.sptk.clr", BRP (0, 0, 1)}, 287a1ba9ba4Schristos {"br.spnt.few", BR (0, 1, 0)}, 288a1ba9ba4Schristos {"br.spnt", BRP (0, 1, 0)}, 289a1ba9ba4Schristos {"br.spnt.few.clr", BR (0, 1, 1)}, 290a1ba9ba4Schristos {"br.spnt.clr", BRP (0, 1, 1)}, 291a1ba9ba4Schristos {"br.dptk.few", BR (0, 2, 0)}, 292a1ba9ba4Schristos {"br.dptk", BRP (0, 2, 0)}, 293a1ba9ba4Schristos {"br.dptk.few.clr", BR (0, 2, 1)}, 294a1ba9ba4Schristos {"br.dptk.clr", BRP (0, 2, 1)}, 295a1ba9ba4Schristos {"br.dpnt.few", BR (0, 3, 0)}, 296a1ba9ba4Schristos {"br.dpnt", BRP (0, 3, 0)}, 297a1ba9ba4Schristos {"br.dpnt.few.clr", BR (0, 3, 1)}, 298a1ba9ba4Schristos {"br.dpnt.clr", BRP (0, 3, 1)}, 299a1ba9ba4Schristos {"br.sptk.many", BR (1, 0, 0)}, 300a1ba9ba4Schristos {"br.sptk.many.clr", BR (1, 0, 1)}, 301a1ba9ba4Schristos {"br.spnt.many", BR (1, 1, 0)}, 302a1ba9ba4Schristos {"br.spnt.many.clr", BR (1, 1, 1)}, 303a1ba9ba4Schristos {"br.dptk.many", BR (1, 2, 0)}, 304a1ba9ba4Schristos {"br.dptk.many.clr", BR (1, 2, 1)}, 305a1ba9ba4Schristos {"br.dpnt.many", BR (1, 3, 0)}, 306a1ba9ba4Schristos {"br.dpnt.many.clr", BR (1, 3, 1)}, 307a1ba9ba4Schristos #undef BR 308a1ba9ba4Schristos #undef BRP 309a1ba9ba4Schristos 310a1ba9ba4Schristos #define BR(a,b,c,d, e) \ 311a1ba9ba4Schristos B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | e, 0, NULL 312a1ba9ba4Schristos {"br.wexit.sptk.few", BR (2, 0, 0, 0, MOD_RRBS)}, 313a1ba9ba4Schristos {"br.wexit.sptk", BR (2, 0, 0, 0, PSEUDO | MOD_RRBS)}, 314a1ba9ba4Schristos {"br.wexit.sptk.few.clr", BR (2, 0, 0, 1, MOD_RRBS)}, 315a1ba9ba4Schristos {"br.wexit.sptk.clr", BR (2, 0, 0, 1, PSEUDO | MOD_RRBS)}, 316a1ba9ba4Schristos {"br.wexit.spnt.few", BR (2, 0, 1, 0, MOD_RRBS)}, 317a1ba9ba4Schristos {"br.wexit.spnt", BR (2, 0, 1, 0, PSEUDO | MOD_RRBS)}, 318a1ba9ba4Schristos {"br.wexit.spnt.few.clr", BR (2, 0, 1, 1, MOD_RRBS)}, 319a1ba9ba4Schristos {"br.wexit.spnt.clr", BR (2, 0, 1, 1, PSEUDO | MOD_RRBS)}, 320a1ba9ba4Schristos {"br.wexit.dptk.few", BR (2, 0, 2, 0, MOD_RRBS)}, 321a1ba9ba4Schristos {"br.wexit.dptk", BR (2, 0, 2, 0, PSEUDO | MOD_RRBS)}, 322a1ba9ba4Schristos {"br.wexit.dptk.few.clr", BR (2, 0, 2, 1, MOD_RRBS)}, 323a1ba9ba4Schristos {"br.wexit.dptk.clr", BR (2, 0, 2, 1, PSEUDO | MOD_RRBS)}, 324a1ba9ba4Schristos {"br.wexit.dpnt.few", BR (2, 0, 3, 0, MOD_RRBS)}, 325a1ba9ba4Schristos {"br.wexit.dpnt", BR (2, 0, 3, 0, PSEUDO | MOD_RRBS)}, 326a1ba9ba4Schristos {"br.wexit.dpnt.few.clr", BR (2, 0, 3, 1, MOD_RRBS)}, 327a1ba9ba4Schristos {"br.wexit.dpnt.clr", BR (2, 0, 3, 1, PSEUDO | MOD_RRBS)}, 328a1ba9ba4Schristos {"br.wexit.sptk.many", BR (2, 1, 0, 0, MOD_RRBS)}, 329a1ba9ba4Schristos {"br.wexit.sptk.many.clr", BR (2, 1, 0, 1, MOD_RRBS)}, 330a1ba9ba4Schristos {"br.wexit.spnt.many", BR (2, 1, 1, 0, MOD_RRBS)}, 331a1ba9ba4Schristos {"br.wexit.spnt.many.clr", BR (2, 1, 1, 1, MOD_RRBS)}, 332a1ba9ba4Schristos {"br.wexit.dptk.many", BR (2, 1, 2, 0, MOD_RRBS)}, 333a1ba9ba4Schristos {"br.wexit.dptk.many.clr", BR (2, 1, 2, 1, MOD_RRBS)}, 334a1ba9ba4Schristos {"br.wexit.dpnt.many", BR (2, 1, 3, 0, MOD_RRBS)}, 335a1ba9ba4Schristos {"br.wexit.dpnt.many.clr", BR (2, 1, 3, 1, MOD_RRBS)}, 336a1ba9ba4Schristos {"br.wtop.sptk.few", BR (3, 0, 0, 0, MOD_RRBS)}, 337a1ba9ba4Schristos {"br.wtop.sptk", BR (3, 0, 0, 0, PSEUDO | MOD_RRBS)}, 338a1ba9ba4Schristos {"br.wtop.sptk.few.clr", BR (3, 0, 0, 1, MOD_RRBS)}, 339a1ba9ba4Schristos {"br.wtop.sptk.clr", BR (3, 0, 0, 1, PSEUDO | MOD_RRBS)}, 340a1ba9ba4Schristos {"br.wtop.spnt.few", BR (3, 0, 1, 0, MOD_RRBS)}, 341a1ba9ba4Schristos {"br.wtop.spnt", BR (3, 0, 1, 0, PSEUDO | MOD_RRBS)}, 342a1ba9ba4Schristos {"br.wtop.spnt.few.clr", BR (3, 0, 1, 1, MOD_RRBS)}, 343a1ba9ba4Schristos {"br.wtop.spnt.clr", BR (3, 0, 1, 1, PSEUDO | MOD_RRBS)}, 344a1ba9ba4Schristos {"br.wtop.dptk.few", BR (3, 0, 2, 0, MOD_RRBS)}, 345a1ba9ba4Schristos {"br.wtop.dptk", BR (3, 0, 2, 0, PSEUDO | MOD_RRBS)}, 346a1ba9ba4Schristos {"br.wtop.dptk.few.clr", BR (3, 0, 2, 1, MOD_RRBS)}, 347a1ba9ba4Schristos {"br.wtop.dptk.clr", BR (3, 0, 2, 1, PSEUDO | MOD_RRBS)}, 348a1ba9ba4Schristos {"br.wtop.dpnt.few", BR (3, 0, 3, 0, MOD_RRBS)}, 349a1ba9ba4Schristos {"br.wtop.dpnt", BR (3, 0, 3, 0, PSEUDO | MOD_RRBS)}, 350a1ba9ba4Schristos {"br.wtop.dpnt.few.clr", BR (3, 0, 3, 1, MOD_RRBS)}, 351a1ba9ba4Schristos {"br.wtop.dpnt.clr", BR (3, 0, 3, 1, PSEUDO | MOD_RRBS)}, 352a1ba9ba4Schristos {"br.wtop.sptk.many", BR (3, 1, 0, 0, MOD_RRBS)}, 353a1ba9ba4Schristos {"br.wtop.sptk.many.clr", BR (3, 1, 0, 1, MOD_RRBS)}, 354a1ba9ba4Schristos {"br.wtop.spnt.many", BR (3, 1, 1, 0, MOD_RRBS)}, 355a1ba9ba4Schristos {"br.wtop.spnt.many.clr", BR (3, 1, 1, 1, MOD_RRBS)}, 356a1ba9ba4Schristos {"br.wtop.dptk.many", BR (3, 1, 2, 0, MOD_RRBS)}, 357a1ba9ba4Schristos {"br.wtop.dptk.many.clr", BR (3, 1, 2, 1, MOD_RRBS)}, 358a1ba9ba4Schristos {"br.wtop.dpnt.many", BR (3, 1, 3, 0, MOD_RRBS)}, 359a1ba9ba4Schristos {"br.wtop.dpnt.many.clr", BR (3, 1, 3, 1, MOD_RRBS)}, 360a1ba9ba4Schristos 361a1ba9ba4Schristos #undef BR 362a1ba9ba4Schristos #define BR(a,b,c,d) \ 363a1ba9ba4Schristos B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED, 0, NULL 364a1ba9ba4Schristos #define BRT(a,b,c,d,e) \ 365a1ba9ba4Schristos B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED | e, 0, NULL 366a1ba9ba4Schristos {"br.cloop.sptk.few", BR (5, 0, 0, 0)}, 367a1ba9ba4Schristos {"br.cloop.sptk", BRT (5, 0, 0, 0, PSEUDO)}, 368a1ba9ba4Schristos {"br.cloop.sptk.few.clr", BR (5, 0, 0, 1)}, 369a1ba9ba4Schristos {"br.cloop.sptk.clr", BRT (5, 0, 0, 1, PSEUDO)}, 370a1ba9ba4Schristos {"br.cloop.spnt.few", BR (5, 0, 1, 0)}, 371a1ba9ba4Schristos {"br.cloop.spnt", BRT (5, 0, 1, 0, PSEUDO)}, 372a1ba9ba4Schristos {"br.cloop.spnt.few.clr", BR (5, 0, 1, 1)}, 373a1ba9ba4Schristos {"br.cloop.spnt.clr", BRT (5, 0, 1, 1, PSEUDO)}, 374a1ba9ba4Schristos {"br.cloop.dptk.few", BR (5, 0, 2, 0)}, 375a1ba9ba4Schristos {"br.cloop.dptk", BRT (5, 0, 2, 0, PSEUDO)}, 376a1ba9ba4Schristos {"br.cloop.dptk.few.clr", BR (5, 0, 2, 1)}, 377a1ba9ba4Schristos {"br.cloop.dptk.clr", BRT (5, 0, 2, 1, PSEUDO)}, 378a1ba9ba4Schristos {"br.cloop.dpnt.few", BR (5, 0, 3, 0)}, 379a1ba9ba4Schristos {"br.cloop.dpnt", BRT (5, 0, 3, 0, PSEUDO)}, 380a1ba9ba4Schristos {"br.cloop.dpnt.few.clr", BR (5, 0, 3, 1)}, 381a1ba9ba4Schristos {"br.cloop.dpnt.clr", BRT (5, 0, 3, 1, PSEUDO)}, 382a1ba9ba4Schristos {"br.cloop.sptk.many", BR (5, 1, 0, 0)}, 383a1ba9ba4Schristos {"br.cloop.sptk.many.clr", BR (5, 1, 0, 1)}, 384a1ba9ba4Schristos {"br.cloop.spnt.many", BR (5, 1, 1, 0)}, 385a1ba9ba4Schristos {"br.cloop.spnt.many.clr", BR (5, 1, 1, 1)}, 386a1ba9ba4Schristos {"br.cloop.dptk.many", BR (5, 1, 2, 0)}, 387a1ba9ba4Schristos {"br.cloop.dptk.many.clr", BR (5, 1, 2, 1)}, 388a1ba9ba4Schristos {"br.cloop.dpnt.many", BR (5, 1, 3, 0)}, 389a1ba9ba4Schristos {"br.cloop.dpnt.many.clr", BR (5, 1, 3, 1)}, 390a1ba9ba4Schristos {"br.cexit.sptk.few", BRT (6, 0, 0, 0, MOD_RRBS)}, 391a1ba9ba4Schristos {"br.cexit.sptk", BRT (6, 0, 0, 0, PSEUDO | MOD_RRBS)}, 392a1ba9ba4Schristos {"br.cexit.sptk.few.clr", BRT (6, 0, 0, 1, MOD_RRBS)}, 393a1ba9ba4Schristos {"br.cexit.sptk.clr", BRT (6, 0, 0, 1, PSEUDO | MOD_RRBS)}, 394a1ba9ba4Schristos {"br.cexit.spnt.few", BRT (6, 0, 1, 0, MOD_RRBS)}, 395a1ba9ba4Schristos {"br.cexit.spnt", BRT (6, 0, 1, 0, PSEUDO | MOD_RRBS)}, 396a1ba9ba4Schristos {"br.cexit.spnt.few.clr", BRT (6, 0, 1, 1, MOD_RRBS)}, 397a1ba9ba4Schristos {"br.cexit.spnt.clr", BRT (6, 0, 1, 1, PSEUDO | MOD_RRBS)}, 398a1ba9ba4Schristos {"br.cexit.dptk.few", BRT (6, 0, 2, 0, MOD_RRBS)}, 399a1ba9ba4Schristos {"br.cexit.dptk", BRT (6, 0, 2, 0, PSEUDO | MOD_RRBS)}, 400a1ba9ba4Schristos {"br.cexit.dptk.few.clr", BRT (6, 0, 2, 1, MOD_RRBS)}, 401a1ba9ba4Schristos {"br.cexit.dptk.clr", BRT (6, 0, 2, 1, PSEUDO | MOD_RRBS)}, 402a1ba9ba4Schristos {"br.cexit.dpnt.few", BRT (6, 0, 3, 0, MOD_RRBS)}, 403a1ba9ba4Schristos {"br.cexit.dpnt", BRT (6, 0, 3, 0, PSEUDO | MOD_RRBS)}, 404a1ba9ba4Schristos {"br.cexit.dpnt.few.clr", BRT (6, 0, 3, 1, MOD_RRBS)}, 405a1ba9ba4Schristos {"br.cexit.dpnt.clr", BRT (6, 0, 3, 1, PSEUDO | MOD_RRBS)}, 406a1ba9ba4Schristos {"br.cexit.sptk.many", BRT (6, 1, 0, 0, MOD_RRBS)}, 407a1ba9ba4Schristos {"br.cexit.sptk.many.clr", BRT (6, 1, 0, 1, MOD_RRBS)}, 408a1ba9ba4Schristos {"br.cexit.spnt.many", BRT (6, 1, 1, 0, MOD_RRBS)}, 409a1ba9ba4Schristos {"br.cexit.spnt.many.clr", BRT (6, 1, 1, 1, MOD_RRBS)}, 410a1ba9ba4Schristos {"br.cexit.dptk.many", BRT (6, 1, 2, 0, MOD_RRBS)}, 411a1ba9ba4Schristos {"br.cexit.dptk.many.clr", BRT (6, 1, 2, 1, MOD_RRBS)}, 412a1ba9ba4Schristos {"br.cexit.dpnt.many", BRT (6, 1, 3, 0, MOD_RRBS)}, 413a1ba9ba4Schristos {"br.cexit.dpnt.many.clr", BRT (6, 1, 3, 1, MOD_RRBS)}, 414a1ba9ba4Schristos {"br.ctop.sptk.few", BRT (7, 0, 0, 0, MOD_RRBS)}, 415a1ba9ba4Schristos {"br.ctop.sptk", BRT (7, 0, 0, 0, PSEUDO | MOD_RRBS)}, 416a1ba9ba4Schristos {"br.ctop.sptk.few.clr", BRT (7, 0, 0, 1, MOD_RRBS)}, 417a1ba9ba4Schristos {"br.ctop.sptk.clr", BRT (7, 0, 0, 1, PSEUDO | MOD_RRBS)}, 418a1ba9ba4Schristos {"br.ctop.spnt.few", BRT (7, 0, 1, 0, MOD_RRBS)}, 419a1ba9ba4Schristos {"br.ctop.spnt", BRT (7, 0, 1, 0, PSEUDO | MOD_RRBS)}, 420a1ba9ba4Schristos {"br.ctop.spnt.few.clr", BRT (7, 0, 1, 1, MOD_RRBS)}, 421a1ba9ba4Schristos {"br.ctop.spnt.clr", BRT (7, 0, 1, 1, PSEUDO | MOD_RRBS)}, 422a1ba9ba4Schristos {"br.ctop.dptk.few", BRT (7, 0, 2, 0, MOD_RRBS)}, 423a1ba9ba4Schristos {"br.ctop.dptk", BRT (7, 0, 2, 0, PSEUDO | MOD_RRBS)}, 424a1ba9ba4Schristos {"br.ctop.dptk.few.clr", BRT (7, 0, 2, 1, MOD_RRBS)}, 425a1ba9ba4Schristos {"br.ctop.dptk.clr", BRT (7, 0, 2, 1, PSEUDO | MOD_RRBS)}, 426a1ba9ba4Schristos {"br.ctop.dpnt.few", BRT (7, 0, 3, 0, MOD_RRBS)}, 427a1ba9ba4Schristos {"br.ctop.dpnt", BRT (7, 0, 3, 0, PSEUDO | MOD_RRBS)}, 428a1ba9ba4Schristos {"br.ctop.dpnt.few.clr", BRT (7, 0, 3, 1, MOD_RRBS)}, 429a1ba9ba4Schristos {"br.ctop.dpnt.clr", BRT (7, 0, 3, 1, PSEUDO | MOD_RRBS)}, 430a1ba9ba4Schristos {"br.ctop.sptk.many", BRT (7, 1, 0, 0, MOD_RRBS)}, 431a1ba9ba4Schristos {"br.ctop.sptk.many.clr", BRT (7, 1, 0, 1, MOD_RRBS)}, 432a1ba9ba4Schristos {"br.ctop.spnt.many", BRT (7, 1, 1, 0, MOD_RRBS)}, 433a1ba9ba4Schristos {"br.ctop.spnt.many.clr", BRT (7, 1, 1, 1, MOD_RRBS)}, 434a1ba9ba4Schristos {"br.ctop.dptk.many", BRT (7, 1, 2, 0, MOD_RRBS)}, 435a1ba9ba4Schristos {"br.ctop.dptk.many.clr", BRT (7, 1, 2, 1, MOD_RRBS)}, 436a1ba9ba4Schristos {"br.ctop.dpnt.many", BRT (7, 1, 3, 0, MOD_RRBS)}, 437a1ba9ba4Schristos {"br.ctop.dpnt.many.clr", BRT (7, 1, 3, 1, MOD_RRBS)}, 438a1ba9ba4Schristos #undef BR 439a1ba9ba4Schristos #undef BRT 440a1ba9ba4Schristos 441a1ba9ba4Schristos {"br.call.sptk.few", B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, EMPTY}, 442a1ba9ba4Schristos {"br.call.sptk", B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO, 0, NULL}, 443a1ba9ba4Schristos {"br.call.sptk.few.clr", B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, EMPTY}, 444a1ba9ba4Schristos {"br.call.sptk.clr", B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO, 0, NULL}, 445a1ba9ba4Schristos {"br.call.spnt.few", B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, EMPTY}, 446a1ba9ba4Schristos {"br.call.spnt", B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO, 0, NULL}, 447a1ba9ba4Schristos {"br.call.spnt.few.clr", B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, EMPTY}, 448a1ba9ba4Schristos {"br.call.spnt.clr", B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO, 0, NULL}, 449a1ba9ba4Schristos {"br.call.dptk.few", B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, EMPTY}, 450a1ba9ba4Schristos {"br.call.dptk", B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO, 0, NULL}, 451a1ba9ba4Schristos {"br.call.dptk.few.clr", B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, EMPTY}, 452a1ba9ba4Schristos {"br.call.dptk.clr", B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO, 0, NULL}, 453a1ba9ba4Schristos {"br.call.dpnt.few", B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, EMPTY}, 454a1ba9ba4Schristos {"br.call.dpnt", B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO, 0, NULL}, 455a1ba9ba4Schristos {"br.call.dpnt.few.clr", B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, EMPTY}, 456a1ba9ba4Schristos {"br.call.dpnt.clr", B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO, 0, NULL}, 457a1ba9ba4Schristos {"br.call.sptk.many", B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}, EMPTY}, 458a1ba9ba4Schristos {"br.call.sptk.many.clr", B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}, EMPTY}, 459a1ba9ba4Schristos {"br.call.spnt.many", B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}, EMPTY}, 460a1ba9ba4Schristos {"br.call.spnt.many.clr", B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}, EMPTY}, 461a1ba9ba4Schristos {"br.call.dptk.many", B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}, EMPTY}, 462a1ba9ba4Schristos {"br.call.dptk.many.clr", B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}, EMPTY}, 463a1ba9ba4Schristos {"br.call.dpnt.many", B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}, EMPTY}, 464a1ba9ba4Schristos {"br.call.dpnt.many.clr", B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}, EMPTY}, 465a1ba9ba4Schristos 466a1ba9ba4Schristos /* Branch predict. */ 467a1ba9ba4Schristos #define BRP(a,b) \ 468a1ba9ba4Schristos B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED, 0, NULL 469a1ba9ba4Schristos {"brp.sptk", BRP (0, 0)}, 470a1ba9ba4Schristos {"brp.loop", BRP (0, 1)}, 471a1ba9ba4Schristos {"brp.dptk", BRP (0, 2)}, 472a1ba9ba4Schristos {"brp.exit", BRP (0, 3)}, 473a1ba9ba4Schristos {"brp.sptk.imp", BRP (1, 0)}, 474a1ba9ba4Schristos {"brp.loop.imp", BRP (1, 1)}, 475a1ba9ba4Schristos {"brp.dptk.imp", BRP (1, 2)}, 476a1ba9ba4Schristos {"brp.exit.imp", BRP (1, 3)}, 477a1ba9ba4Schristos #undef BRP 478a1ba9ba4Schristos 479a1ba9ba4Schristos {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL} 480a1ba9ba4Schristos }; 481a1ba9ba4Schristos 482a1ba9ba4Schristos #undef B0 483a1ba9ba4Schristos #undef B 484a1ba9ba4Schristos #undef bBtype 485a1ba9ba4Schristos #undef bD 486a1ba9ba4Schristos #undef bIh 487a1ba9ba4Schristos #undef bPa 488a1ba9ba4Schristos #undef bPr 489a1ba9ba4Schristos #undef bWha 490a1ba9ba4Schristos #undef bWhb 491a1ba9ba4Schristos #undef bWhc 492a1ba9ba4Schristos #undef bX6 493a1ba9ba4Schristos #undef mBtype 494a1ba9ba4Schristos #undef mD 495a1ba9ba4Schristos #undef mIh 496a1ba9ba4Schristos #undef mPa 497a1ba9ba4Schristos #undef mPr 498a1ba9ba4Schristos #undef mWha 499a1ba9ba4Schristos #undef mWhb 500a1ba9ba4Schristos #undef mWhc 501a1ba9ba4Schristos #undef mX6 502a1ba9ba4Schristos #undef OpX6 503a1ba9ba4Schristos #undef OpPaWhaD 504a1ba9ba4Schristos #undef OpPaWhcD 505a1ba9ba4Schristos #undef OpBtypePaWhaD 506a1ba9ba4Schristos #undef OpBtypePaWhaDPr 507a1ba9ba4Schristos #undef OpX6BtypePaWhaD 508a1ba9ba4Schristos #undef OpX6BtypePaWhaDPr 509a1ba9ba4Schristos #undef OpIhWhb 510a1ba9ba4Schristos #undef OpX6IhWhb 511a1ba9ba4Schristos #undef EMPTY 512