[BACK]Return to ia64-opc-b.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils / dist / opcodes

Annotation of src/external/gpl3/binutils/dist/opcodes/ia64-opc-b.c, Revision 1.1.1.2

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

CVSweb <webmaster@jp.NetBSD.org>