Ignore:
Timestamp:
Aug 16, 2003, 6:59:22 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/opcodes/ia64-opc-b.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* ia64-opc-b.c -- IA-64 `B' opcode table.
    2    Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
     2   Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    33   Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
    44
     
    3333#define bWha(x)         (((ia64_insn) ((x) & 0x3)) << 33)
    3434#define bWhb(x)         (((ia64_insn) ((x) & 0x3)) << 3)
     35#define bWhc(x)         (((ia64_insn) ((x) & 0x7)) << 32)
    3536#define bX6(x)          (((ia64_insn) ((x) & 0x3f)) << 27)
    3637
     
    4243#define mWha            bWha (-1)
    4344#define mWhb            bWhb (-1)
     45#define mWhc            bWhc (-1)
    4446#define mX6             bX6 (-1)
    4547
     
    4749#define OpPaWhaD(a,b,c,d) \
    4850        (bOp (a) | bPa (b) | bWha (c) | bD (d)), (mOp | mPa | mWha | mD)
     51#define OpPaWhcD(a,b,c,d) \
     52        (bOp (a) | bPa (b) | bWhc (c) | bD (d)), (mOp | mPa | mWhc | mD)
    4953#define OpBtypePaWhaD(a,b,c,d,e) \
    5054        (bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e)), \
     
    6670        (mOp | mX6 | mIh | mWhb)
    6771
     72/* Used to initialise unused fields in ia64_opcode struct,
     73   in order to stop gcc from complaining.  */
     74#define EMPTY 0,0,NULL
     75
    6876struct ia64_opcode ia64_opcodes_b[] =
    6977  {
     
    7179
    7280#define BR(a,b) \
    73       B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO
     81      B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO, 0, NULL
    7482    {"br.few",          BR (0, 0)},
    7583    {"br",              BR (0, 0)},
     
    8088#undef BR
    8189
    82 #define BR(a,b,c,d,e)   B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}
     90#define BR(a,b,c,d,e)   B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, EMPTY
     91#define BRP(a,b,c,d,e)  B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, PSEUDO, 0, NULL
     92#define BRT(a,b,c,d,e,f) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}, f, 0, NULL
    8393    {"br.cond.sptk.few",        BR (0x20, 0, 0, 0, 0)},
    84     {"br.cond.sptk",            BR (0x20, 0, 0, 0, 0), PSEUDO},
     94    {"br.cond.sptk",            BRP (0x20, 0, 0, 0, 0)},
    8595    {"br.cond.sptk.few.clr",    BR (0x20, 0, 0, 0, 1)},
    86     {"br.cond.sptk.clr",        BR (0x20, 0, 0, 0, 1), PSEUDO},
     96    {"br.cond.sptk.clr",        BRP (0x20, 0, 0, 0, 1)},
    8797    {"br.cond.spnt.few",        BR (0x20, 0, 0, 1, 0)},
    88     {"br.cond.spnt",            BR (0x20, 0, 0, 1, 0), PSEUDO},
     98    {"br.cond.spnt",            BRP (0x20, 0, 0, 1, 0)},
    8999    {"br.cond.spnt.few.clr",    BR (0x20, 0, 0, 1, 1)},
    90     {"br.cond.spnt.clr",        BR (0x20, 0, 0, 1, 1), PSEUDO},
     100    {"br.cond.spnt.clr",        BRP (0x20, 0, 0, 1, 1)},
    91101    {"br.cond.dptk.few",        BR (0x20, 0, 0, 2, 0)},
    92     {"br.cond.dptk",            BR (0x20, 0, 0, 2, 0), PSEUDO},
     102    {"br.cond.dptk",            BRP (0x20, 0, 0, 2, 0)},
    93103    {"br.cond.dptk.few.clr",    BR (0x20, 0, 0, 2, 1)},
    94     {"br.cond.dptk.clr",        BR (0x20, 0, 0, 2, 1), PSEUDO},
     104    {"br.cond.dptk.clr",        BRP (0x20, 0, 0, 2, 1)},
    95105    {"br.cond.dpnt.few",        BR (0x20, 0, 0, 3, 0)},
    96     {"br.cond.dpnt",            BR (0x20, 0, 0, 3, 0), PSEUDO},
     106    {"br.cond.dpnt",            BRP (0x20, 0, 0, 3, 0)},
    97107    {"br.cond.dpnt.few.clr",    BR (0x20, 0, 0, 3, 1)},
    98     {"br.cond.dpnt.clr",        BR (0x20, 0, 0, 3, 1), PSEUDO},
     108    {"br.cond.dpnt.clr",        BRP (0x20, 0, 0, 3, 1)},
    99109    {"br.cond.sptk.many",       BR (0x20, 0, 1, 0, 0)},
    100110    {"br.cond.sptk.many.clr",   BR (0x20, 0, 1, 0, 1)},
     
    106116    {"br.cond.dpnt.many.clr",   BR (0x20, 0, 1, 3, 1)},
    107117    {"br.sptk.few",             BR (0x20, 0, 0, 0, 0)},
    108     {"br.sptk",                 BR (0x20, 0, 0, 0, 0), PSEUDO},
     118    {"br.sptk",                 BRP (0x20, 0, 0, 0, 0)},
    109119    {"br.sptk.few.clr",         BR (0x20, 0, 0, 0, 1)},
    110     {"br.sptk.clr",             BR (0x20, 0, 0, 0, 1), PSEUDO},
     120    {"br.sptk.clr",             BRP (0x20, 0, 0, 0, 1)},
    111121    {"br.spnt.few",             BR (0x20, 0, 0, 1, 0)},
    112     {"br.spnt",                 BR (0x20, 0, 0, 1, 0), PSEUDO},
     122    {"br.spnt",                 BRP (0x20, 0, 0, 1, 0)},
    113123    {"br.spnt.few.clr",         BR (0x20, 0, 0, 1, 1)},
    114     {"br.spnt.clr",             BR (0x20, 0, 0, 1, 1), PSEUDO},
     124    {"br.spnt.clr",             BRP (0x20, 0, 0, 1, 1)},
    115125    {"br.dptk.few",             BR (0x20, 0, 0, 2, 0)},
    116     {"br.dptk",                 BR (0x20, 0, 0, 2, 0), PSEUDO},
     126    {"br.dptk",                 BRP (0x20, 0, 0, 2, 0)},
    117127    {"br.dptk.few.clr",         BR (0x20, 0, 0, 2, 1)},
    118     {"br.dptk.clr",             BR (0x20, 0, 0, 2, 1), PSEUDO},
     128    {"br.dptk.clr",             BRP (0x20, 0, 0, 2, 1)},
    119129    {"br.dpnt.few",             BR (0x20, 0, 0, 3, 0)},
    120     {"br.dpnt",                 BR (0x20, 0, 0, 3, 0), PSEUDO},
     130    {"br.dpnt",                 BRP (0x20, 0, 0, 3, 0)},
    121131    {"br.dpnt.few.clr",         BR (0x20, 0, 0, 3, 1)},
    122     {"br.dpnt.clr",             BR (0x20, 0, 0, 3, 1), PSEUDO},
     132    {"br.dpnt.clr",             BRP (0x20, 0, 0, 3, 1)},
    123133    {"br.sptk.many",            BR (0x20, 0, 1, 0, 0)},
    124134    {"br.sptk.many.clr",        BR (0x20, 0, 1, 0, 1)},
     
    130140    {"br.dpnt.many.clr",        BR (0x20, 0, 1, 3, 1)},
    131141    {"br.ia.sptk.few",          BR (0x20, 1, 0, 0, 0)},
    132     {"br.ia.sptk",              BR (0x20, 1, 0, 0, 0), PSEUDO},
     142    {"br.ia.sptk",              BRP (0x20, 1, 0, 0, 0)},
    133143    {"br.ia.sptk.few.clr",      BR (0x20, 1, 0, 0, 1)},
    134     {"br.ia.sptk.clr",          BR (0x20, 1, 0, 0, 1), PSEUDO},
     144    {"br.ia.sptk.clr",          BRP (0x20, 1, 0, 0, 1)},
    135145    {"br.ia.spnt.few",          BR (0x20, 1, 0, 1, 0)},
    136     {"br.ia.spnt",              BR (0x20, 1, 0, 1, 0), PSEUDO},
     146    {"br.ia.spnt",              BRP (0x20, 1, 0, 1, 0)},
    137147    {"br.ia.spnt.few.clr",      BR (0x20, 1, 0, 1, 1)},
    138     {"br.ia.spnt.clr",          BR (0x20, 1, 0, 1, 1), PSEUDO},
     148    {"br.ia.spnt.clr",          BRP (0x20, 1, 0, 1, 1)},
    139149    {"br.ia.dptk.few",          BR (0x20, 1, 0, 2, 0)},
    140     {"br.ia.dptk",              BR (0x20, 1, 0, 2, 0), PSEUDO},
     150    {"br.ia.dptk",              BRP (0x20, 1, 0, 2, 0)},
    141151    {"br.ia.dptk.few.clr",      BR (0x20, 1, 0, 2, 1)},
    142     {"br.ia.dptk.clr",          BR (0x20, 1, 0, 2, 1), PSEUDO},
     152    {"br.ia.dptk.clr",          BRP (0x20, 1, 0, 2, 1)},
    143153    {"br.ia.dpnt.few",          BR (0x20, 1, 0, 3, 0)},
    144     {"br.ia.dpnt",              BR (0x20, 1, 0, 3, 0), PSEUDO},
     154    {"br.ia.dpnt",              BRP (0x20, 1, 0, 3, 0)},
    145155    {"br.ia.dpnt.few.clr",      BR (0x20, 1, 0, 3, 1)},
    146     {"br.ia.dpnt.clr",          BR (0x20, 1, 0, 3, 1), PSEUDO},
     156    {"br.ia.dpnt.clr",          BRP (0x20, 1, 0, 3, 1)},
    147157    {"br.ia.sptk.many",         BR (0x20, 1, 1, 0, 0)},
    148158    {"br.ia.sptk.many.clr",     BR (0x20, 1, 1, 0, 1)},
     
    153163    {"br.ia.dpnt.many",         BR (0x20, 1, 1, 3, 0)},
    154164    {"br.ia.dpnt.many.clr",     BR (0x20, 1, 1, 3, 1)},
    155     {"br.ret.sptk.few",         BR (0x21, 4, 0, 0, 0), MOD_RRBS},
    156     {"br.ret.sptk",             BR (0x21, 4, 0, 0, 0), PSEUDO | MOD_RRBS},
    157     {"br.ret.sptk.few.clr",     BR (0x21, 4, 0, 0, 1), MOD_RRBS},
    158     {"br.ret.sptk.clr",         BR (0x21, 4, 0, 0, 1), PSEUDO | MOD_RRBS},
    159     {"br.ret.spnt.few",         BR (0x21, 4, 0, 1, 0), MOD_RRBS},
    160     {"br.ret.spnt",             BR (0x21, 4, 0, 1, 0), PSEUDO | MOD_RRBS},
    161     {"br.ret.spnt.few.clr",     BR (0x21, 4, 0, 1, 1), MOD_RRBS},
    162     {"br.ret.spnt.clr",         BR (0x21, 4, 0, 1, 1), PSEUDO | MOD_RRBS},
    163     {"br.ret.dptk.few",         BR (0x21, 4, 0, 2, 0), MOD_RRBS},
    164     {"br.ret.dptk",             BR (0x21, 4, 0, 2, 0), PSEUDO | MOD_RRBS},
    165     {"br.ret.dptk.few.clr",     BR (0x21, 4, 0, 2, 1), MOD_RRBS},
    166     {"br.ret.dptk.clr",         BR (0x21, 4, 0, 2, 1), PSEUDO | MOD_RRBS},
    167     {"br.ret.dpnt.few",         BR (0x21, 4, 0, 3, 0), MOD_RRBS},
    168     {"br.ret.dpnt",             BR (0x21, 4, 0, 3, 0), PSEUDO | MOD_RRBS},
    169     {"br.ret.dpnt.few.clr",     BR (0x21, 4, 0, 3, 1), MOD_RRBS},
    170     {"br.ret.dpnt.clr",         BR (0x21, 4, 0, 3, 1), PSEUDO | MOD_RRBS},
    171     {"br.ret.sptk.many",        BR (0x21, 4, 1, 0, 0), MOD_RRBS},
    172     {"br.ret.sptk.many.clr",    BR (0x21, 4, 1, 0, 1), MOD_RRBS},
    173     {"br.ret.spnt.many",        BR (0x21, 4, 1, 1, 0), MOD_RRBS},
    174     {"br.ret.spnt.many.clr",    BR (0x21, 4, 1, 1, 1), MOD_RRBS},
    175     {"br.ret.dptk.many",        BR (0x21, 4, 1, 2, 0), MOD_RRBS},
    176     {"br.ret.dptk.many.clr",    BR (0x21, 4, 1, 2, 1), MOD_RRBS},
    177     {"br.ret.dpnt.many",        BR (0x21, 4, 1, 3, 0), MOD_RRBS},
    178     {"br.ret.dpnt.many.clr",    BR (0x21, 4, 1, 3, 1), MOD_RRBS},
     165    {"br.ret.sptk.few",         BRT (0x21, 4, 0, 0, 0, MOD_RRBS)},
     166    {"br.ret.sptk",             BRT (0x21, 4, 0, 0, 0, PSEUDO | MOD_RRBS)},
     167    {"br.ret.sptk.few.clr",     BRT (0x21, 4, 0, 0, 1, MOD_RRBS)},
     168    {"br.ret.sptk.clr",         BRT (0x21, 4, 0, 0, 1, PSEUDO | MOD_RRBS)},
     169    {"br.ret.spnt.few",         BRT (0x21, 4, 0, 1, 0, MOD_RRBS)},
     170    {"br.ret.spnt",             BRT (0x21, 4, 0, 1, 0, PSEUDO | MOD_RRBS)},
     171    {"br.ret.spnt.few.clr",     BRT (0x21, 4, 0, 1, 1, MOD_RRBS)},
     172    {"br.ret.spnt.clr",         BRT (0x21, 4, 0, 1, 1, PSEUDO | MOD_RRBS)},
     173    {"br.ret.dptk.few",         BRT (0x21, 4, 0, 2, 0, MOD_RRBS)},
     174    {"br.ret.dptk",             BRT (0x21, 4, 0, 2, 0, PSEUDO | MOD_RRBS)},
     175    {"br.ret.dptk.few.clr",     BRT (0x21, 4, 0, 2, 1, MOD_RRBS)},
     176    {"br.ret.dptk.clr",         BRT (0x21, 4, 0, 2, 1, PSEUDO | MOD_RRBS)},
     177    {"br.ret.dpnt.few",         BRT (0x21, 4, 0, 3, 0, MOD_RRBS)},
     178    {"br.ret.dpnt",             BRT (0x21, 4, 0, 3, 0, PSEUDO | MOD_RRBS)},
     179    {"br.ret.dpnt.few.clr",     BRT (0x21, 4, 0, 3, 1, MOD_RRBS)},
     180    {"br.ret.dpnt.clr",         BRT (0x21, 4, 0, 3, 1, PSEUDO | MOD_RRBS)},
     181    {"br.ret.sptk.many",        BRT (0x21, 4, 1, 0, 0, MOD_RRBS)},
     182    {"br.ret.sptk.many.clr",    BRT (0x21, 4, 1, 0, 1, MOD_RRBS)},
     183    {"br.ret.spnt.many",        BRT (0x21, 4, 1, 1, 0, MOD_RRBS)},
     184    {"br.ret.spnt.many.clr",    BRT (0x21, 4, 1, 1, 1, MOD_RRBS)},
     185    {"br.ret.dptk.many",        BRT (0x21, 4, 1, 2, 0, MOD_RRBS)},
     186    {"br.ret.dptk.many.clr",    BRT (0x21, 4, 1, 2, 1, MOD_RRBS)},
     187    {"br.ret.dpnt.many",        BRT (0x21, 4, 1, 3, 0, MOD_RRBS)},
     188    {"br.ret.dpnt.many.clr",    BRT (0x21, 4, 1, 3, 1, MOD_RRBS)},
    179189#undef BR
    180 
    181     {"cover",           B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS},
    182     {"clrrrb",          B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS},
    183     {"clrrrb.pr",       B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS},
    184     {"rfi",             B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS},
    185     {"bsw.0",           B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV},
    186     {"bsw.1",           B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV},
    187     {"epc",             B0, OpX6 (0, 0x10), {0, }, NO_PRED},
    188 
    189     {"break.b",         B0, OpX6 (0, 0x00), {IMMU21}},
    190 
    191     {"br.call.sptk.few",        B, OpPaWhaD (1, 0, 0, 0), {B1, B2}},
    192     {"br.call.sptk",            B, OpPaWhaD (1, 0, 0, 0), {B1, B2}, PSEUDO},
    193     {"br.call.sptk.few.clr",    B, OpPaWhaD (1, 0, 0, 1), {B1, B2}},
    194     {"br.call.sptk.clr",        B, OpPaWhaD (1, 0, 0, 1), {B1, B2}, PSEUDO},
    195     {"br.call.spnt.few",        B, OpPaWhaD (1, 0, 1, 0), {B1, B2}},
    196     {"br.call.spnt",            B, OpPaWhaD (1, 0, 1, 0), {B1, B2}, PSEUDO},
    197     {"br.call.spnt.few.clr",    B, OpPaWhaD (1, 0, 1, 1), {B1, B2}},
    198     {"br.call.spnt.clr",        B, OpPaWhaD (1, 0, 1, 1), {B1, B2}, PSEUDO},
    199     {"br.call.dptk.few",        B, OpPaWhaD (1, 0, 2, 0), {B1, B2}},
    200     {"br.call.dptk",            B, OpPaWhaD (1, 0, 2, 0), {B1, B2}, PSEUDO},
    201     {"br.call.dptk.few.clr",    B, OpPaWhaD (1, 0, 2, 1), {B1, B2}},
    202     {"br.call.dptk.clr",        B, OpPaWhaD (1, 0, 2, 1), {B1, B2}, PSEUDO},
    203     {"br.call.dpnt.few",        B, OpPaWhaD (1, 0, 3, 0), {B1, B2}},
    204     {"br.call.dpnt",            B, OpPaWhaD (1, 0, 3, 0), {B1, B2}, PSEUDO},
    205     {"br.call.dpnt.few.clr",    B, OpPaWhaD (1, 0, 3, 1), {B1, B2}},
    206     {"br.call.dpnt.clr",        B, OpPaWhaD (1, 0, 3, 1), {B1, B2}, PSEUDO},
    207     {"br.call.sptk.many",       B, OpPaWhaD (1, 1, 0, 0), {B1, B2}},
    208     {"br.call.sptk.many.clr",   B, OpPaWhaD (1, 1, 0, 1), {B1, B2}},
    209     {"br.call.spnt.many",       B, OpPaWhaD (1, 1, 1, 0), {B1, B2}},
    210     {"br.call.spnt.many.clr",   B, OpPaWhaD (1, 1, 1, 1), {B1, B2}},
    211     {"br.call.dptk.many",       B, OpPaWhaD (1, 1, 2, 0), {B1, B2}},
    212     {"br.call.dptk.many.clr",   B, OpPaWhaD (1, 1, 2, 1), {B1, B2}},
    213     {"br.call.dpnt.many",       B, OpPaWhaD (1, 1, 3, 0), {B1, B2}},
    214     {"br.call.dpnt.many.clr",   B, OpPaWhaD (1, 1, 3, 1), {B1, B2}},
     190#undef BRP
     191#undef BRT
     192
     193    {"cover",           B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
     194    {"clrrrb",          B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
     195    {"clrrrb.pr",       B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS, 0, NULL},
     196    {"rfi",             B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS, 0, NULL},
     197    {"bsw.0",           B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
     198    {"bsw.1",           B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
     199    {"epc",             B0, OpX6 (0, 0x10), {0, }, NO_PRED, 0, NULL},
     200
     201    {"break.b",         B0, OpX6 (0, 0x00), {IMMU21}, EMPTY},
     202
     203    {"br.call.sptk.few",        B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, EMPTY},
     204    {"br.call.sptk",            B, OpPaWhcD (1, 0, 1, 0), {B1, B2}, PSEUDO, 0, NULL},
     205    {"br.call.sptk.few.clr",    B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, EMPTY},
     206    {"br.call.sptk.clr",        B, OpPaWhcD (1, 0, 1, 1), {B1, B2}, PSEUDO, 0, NULL},
     207    {"br.call.spnt.few",        B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, EMPTY},
     208    {"br.call.spnt",            B, OpPaWhcD (1, 0, 3, 0), {B1, B2}, PSEUDO, 0, NULL},
     209    {"br.call.spnt.few.clr",    B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, EMPTY},
     210    {"br.call.spnt.clr",        B, OpPaWhcD (1, 0, 3, 1), {B1, B2}, PSEUDO, 0, NULL},
     211    {"br.call.dptk.few",        B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, EMPTY},
     212    {"br.call.dptk",            B, OpPaWhcD (1, 0, 5, 0), {B1, B2}, PSEUDO, 0, NULL},
     213    {"br.call.dptk.few.clr",    B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, EMPTY},
     214    {"br.call.dptk.clr",        B, OpPaWhcD (1, 0, 5, 1), {B1, B2}, PSEUDO, 0, NULL},
     215    {"br.call.dpnt.few",        B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, EMPTY},
     216    {"br.call.dpnt",            B, OpPaWhcD (1, 0, 7, 0), {B1, B2}, PSEUDO, 0, NULL},
     217    {"br.call.dpnt.few.clr",    B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, EMPTY},
     218    {"br.call.dpnt.clr",        B, OpPaWhcD (1, 0, 7, 1), {B1, B2}, PSEUDO, 0, NULL},
     219    {"br.call.sptk.many",       B, OpPaWhcD (1, 1, 1, 0), {B1, B2}, EMPTY},
     220    {"br.call.sptk.many.clr",   B, OpPaWhcD (1, 1, 1, 1), {B1, B2}, EMPTY},
     221    {"br.call.spnt.many",       B, OpPaWhcD (1, 1, 3, 0), {B1, B2}, EMPTY},
     222    {"br.call.spnt.many.clr",   B, OpPaWhcD (1, 1, 3, 1), {B1, B2}, EMPTY},
     223    {"br.call.dptk.many",       B, OpPaWhcD (1, 1, 5, 0), {B1, B2}, EMPTY},
     224    {"br.call.dptk.many.clr",   B, OpPaWhcD (1, 1, 5, 1), {B1, B2}, EMPTY},
     225    {"br.call.dpnt.many",       B, OpPaWhcD (1, 1, 7, 0), {B1, B2}, EMPTY},
     226    {"br.call.dpnt.many.clr",   B, OpPaWhcD (1, 1, 7, 1), {B1, B2}, EMPTY},
    215227
    216228#define BRP(a,b,c) \
    217       B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED
     229      B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED, 0, NULL
    218230    {"brp.sptk",                BRP (0x10, 0, 0)},
    219231    {"brp.dptk",                BRP (0x10, 0, 2)},
     
    226238#undef BRP
    227239
    228     {"nop.b",           B0, OpX6 (2, 0x00), {IMMU21}},
     240    {"nop.b",           B0, OpX6 (2, 0x00), {IMMU21}, EMPTY},
     241    {"hint.b",          B0, OpX6 (2, 0x01), {IMMU21}, EMPTY},
    229242
    230243#define BR(a,b) \
    231       B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO
     244      B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO, 0, NULL
    232245    {"br.few",          BR (0, 0)},
    233246    {"br",              BR (0, 0)},
     
    239252
    240253#define BR(a,b,c) \
    241       B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}
     254      B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, EMPTY
     255#define BRP(a,b,c) \
     256      B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}, PSEUDO, 0, NULL
    242257    {"br.cond.sptk.few",        BR (0, 0, 0)},
    243     {"br.cond.sptk",            BR (0, 0, 0), PSEUDO},
     258    {"br.cond.sptk",            BRP (0, 0, 0)},
    244259    {"br.cond.sptk.few.clr",    BR (0, 0, 1)},
    245     {"br.cond.sptk.clr",        BR (0, 0, 1), PSEUDO},
     260    {"br.cond.sptk.clr",        BRP (0, 0, 1)},
    246261    {"br.cond.spnt.few",        BR (0, 1, 0)},
    247     {"br.cond.spnt",            BR (0, 1, 0), PSEUDO},
     262    {"br.cond.spnt",            BRP (0, 1, 0)},
    248263    {"br.cond.spnt.few.clr",    BR (0, 1, 1)},
    249     {"br.cond.spnt.clr",        BR (0, 1, 1), PSEUDO},
     264    {"br.cond.spnt.clr",        BRP (0, 1, 1)},
    250265    {"br.cond.dptk.few",        BR (0, 2, 0)},
    251     {"br.cond.dptk",            BR (0, 2, 0), PSEUDO},
     266    {"br.cond.dptk",            BRP (0, 2, 0)},
    252267    {"br.cond.dptk.few.clr",    BR (0, 2, 1)},
    253     {"br.cond.dptk.clr",        BR (0, 2, 1), PSEUDO},
     268    {"br.cond.dptk.clr",        BRP (0, 2, 1)},
    254269    {"br.cond.dpnt.few",        BR (0, 3, 0)},
    255     {"br.cond.dpnt",            BR (0, 3, 0), PSEUDO},
     270    {"br.cond.dpnt",            BRP (0, 3, 0)},
    256271    {"br.cond.dpnt.few.clr",    BR (0, 3, 1)},
    257     {"br.cond.dpnt.clr",        BR (0, 3, 1), PSEUDO},
     272    {"br.cond.dpnt.clr",        BRP (0, 3, 1)},
    258273    {"br.cond.sptk.many",       BR (1, 0, 0)},
    259274    {"br.cond.sptk.many.clr",   BR (1, 0, 1)},
     
    265280    {"br.cond.dpnt.many.clr",   BR (1, 3, 1)},
    266281    {"br.sptk.few",             BR (0, 0, 0)},
    267     {"br.sptk",                 BR (0, 0, 0), PSEUDO},
     282    {"br.sptk",                 BRP (0, 0, 0)},
    268283    {"br.sptk.few.clr",         BR (0, 0, 1)},
    269     {"br.sptk.clr",             BR (0, 0, 1), PSEUDO},
     284    {"br.sptk.clr",             BRP (0, 0, 1)},
    270285    {"br.spnt.few",             BR (0, 1, 0)},
    271     {"br.spnt",                 BR (0, 1, 0), PSEUDO},
     286    {"br.spnt",                 BRP (0, 1, 0)},
    272287    {"br.spnt.few.clr",         BR (0, 1, 1)},
    273     {"br.spnt.clr",             BR (0, 1, 1), PSEUDO},
     288    {"br.spnt.clr",             BRP (0, 1, 1)},
    274289    {"br.dptk.few",             BR (0, 2, 0)},
    275     {"br.dptk",                 BR (0, 2, 0), PSEUDO},
     290    {"br.dptk",                 BRP (0, 2, 0)},
    276291    {"br.dptk.few.clr",         BR (0, 2, 1)},
    277     {"br.dptk.clr",             BR (0, 2, 1), PSEUDO},
     292    {"br.dptk.clr",             BRP (0, 2, 1)},
    278293    {"br.dpnt.few",             BR (0, 3, 0)},
    279     {"br.dpnt",                 BR (0, 3, 0), PSEUDO},
     294    {"br.dpnt",                 BRP (0, 3, 0)},
    280295    {"br.dpnt.few.clr",         BR (0, 3, 1)},
    281     {"br.dpnt.clr",             BR (0, 3, 1), PSEUDO},
     296    {"br.dpnt.clr",             BRP (0, 3, 1)},
    282297    {"br.sptk.many",            BR (1, 0, 0)},
    283298    {"br.sptk.many.clr",        BR (1, 0, 1)},
     
    289304    {"br.dpnt.many.clr",        BR (1, 3, 1)},
    290305#undef BR
    291 
    292 #define BR(a,b,c,d) \
    293         B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2
    294     {"br.wexit.sptk.few",       BR (2, 0, 0, 0) | MOD_RRBS},
    295     {"br.wexit.sptk",           BR (2, 0, 0, 0) | PSEUDO | MOD_RRBS},
    296     {"br.wexit.sptk.few.clr",   BR (2, 0, 0, 1) | MOD_RRBS},
    297     {"br.wexit.sptk.clr",       BR (2, 0, 0, 1) | PSEUDO | MOD_RRBS},
    298     {"br.wexit.spnt.few",       BR (2, 0, 1, 0) | MOD_RRBS},
    299     {"br.wexit.spnt",           BR (2, 0, 1, 0) | PSEUDO | MOD_RRBS},
    300     {"br.wexit.spnt.few.clr",   BR (2, 0, 1, 1) | MOD_RRBS},
    301     {"br.wexit.spnt.clr",       BR (2, 0, 1, 1) | PSEUDO | MOD_RRBS},
    302     {"br.wexit.dptk.few",       BR (2, 0, 2, 0) | MOD_RRBS},
    303     {"br.wexit.dptk",           BR (2, 0, 2, 0) | PSEUDO | MOD_RRBS},
    304     {"br.wexit.dptk.few.clr",   BR (2, 0, 2, 1) | MOD_RRBS},
    305     {"br.wexit.dptk.clr",       BR (2, 0, 2, 1) | PSEUDO | MOD_RRBS},
    306     {"br.wexit.dpnt.few",       BR (2, 0, 3, 0) | MOD_RRBS},
    307     {"br.wexit.dpnt",           BR (2, 0, 3, 0) | PSEUDO | MOD_RRBS},
    308     {"br.wexit.dpnt.few.clr",   BR (2, 0, 3, 1) | MOD_RRBS},
    309     {"br.wexit.dpnt.clr",       BR (2, 0, 3, 1) | PSEUDO | MOD_RRBS},
    310     {"br.wexit.sptk.many",      BR (2, 1, 0, 0) | MOD_RRBS},
    311     {"br.wexit.sptk.many.clr",  BR (2, 1, 0, 1) | MOD_RRBS},
    312     {"br.wexit.spnt.many",      BR (2, 1, 1, 0) | MOD_RRBS},
    313     {"br.wexit.spnt.many.clr",  BR (2, 1, 1, 1) | MOD_RRBS},
    314     {"br.wexit.dptk.many",      BR (2, 1, 2, 0) | MOD_RRBS},
    315     {"br.wexit.dptk.many.clr",  BR (2, 1, 2, 1) | MOD_RRBS},
    316     {"br.wexit.dpnt.many",      BR (2, 1, 3, 0) | MOD_RRBS},
    317     {"br.wexit.dpnt.many.clr",  BR (2, 1, 3, 1) | MOD_RRBS},
    318     {"br.wtop.sptk.few",        BR (3, 0, 0, 0) | MOD_RRBS},
    319     {"br.wtop.sptk",            BR (3, 0, 0, 0) | PSEUDO | MOD_RRBS},
    320     {"br.wtop.sptk.few.clr",    BR (3, 0, 0, 1) | MOD_RRBS},
    321     {"br.wtop.sptk.clr",        BR (3, 0, 0, 1) | PSEUDO | MOD_RRBS},
    322     {"br.wtop.spnt.few",        BR (3, 0, 1, 0) | MOD_RRBS},
    323     {"br.wtop.spnt",            BR (3, 0, 1, 0) | PSEUDO | MOD_RRBS},
    324     {"br.wtop.spnt.few.clr",    BR (3, 0, 1, 1) | MOD_RRBS},
    325     {"br.wtop.spnt.clr",        BR (3, 0, 1, 1) | PSEUDO | MOD_RRBS},
    326     {"br.wtop.dptk.few",        BR (3, 0, 2, 0) | MOD_RRBS},
    327     {"br.wtop.dptk",            BR (3, 0, 2, 0) | PSEUDO | MOD_RRBS},
    328     {"br.wtop.dptk.few.clr",    BR (3, 0, 2, 1) | MOD_RRBS},
    329     {"br.wtop.dptk.clr",        BR (3, 0, 2, 1) | PSEUDO | MOD_RRBS},
    330     {"br.wtop.dpnt.few",        BR (3, 0, 3, 0) | MOD_RRBS},
    331     {"br.wtop.dpnt",            BR (3, 0, 3, 0) | PSEUDO | MOD_RRBS},
    332     {"br.wtop.dpnt.few.clr",    BR (3, 0, 3, 1) | MOD_RRBS},
    333     {"br.wtop.dpnt.clr",        BR (3, 0, 3, 1) | PSEUDO | MOD_RRBS},
    334     {"br.wtop.sptk.many",       BR (3, 1, 0, 0) | MOD_RRBS},
    335     {"br.wtop.sptk.many.clr",   BR (3, 1, 0, 1) | MOD_RRBS},
    336     {"br.wtop.spnt.many",       BR (3, 1, 1, 0) | MOD_RRBS},
    337     {"br.wtop.spnt.many.clr",   BR (3, 1, 1, 1) | MOD_RRBS},
    338     {"br.wtop.dptk.many",       BR (3, 1, 2, 0) | MOD_RRBS},
    339     {"br.wtop.dptk.many.clr",   BR (3, 1, 2, 1) | MOD_RRBS},
    340     {"br.wtop.dpnt.many",       BR (3, 1, 3, 0) | MOD_RRBS},
    341     {"br.wtop.dpnt.many.clr",   BR (3, 1, 3, 1) | MOD_RRBS},
     306#undef BRP
     307
     308#define BR(a,b,c,d, e) \
     309        B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | e, 0, NULL
     310    {"br.wexit.sptk.few",       BR (2, 0, 0, 0, MOD_RRBS)},
     311    {"br.wexit.sptk",           BR (2, 0, 0, 0, PSEUDO | MOD_RRBS)},
     312    {"br.wexit.sptk.few.clr",   BR (2, 0, 0, 1, MOD_RRBS)},
     313    {"br.wexit.sptk.clr",       BR (2, 0, 0, 1, PSEUDO | MOD_RRBS)},
     314    {"br.wexit.spnt.few",       BR (2, 0, 1, 0, MOD_RRBS)},
     315    {"br.wexit.spnt",           BR (2, 0, 1, 0, PSEUDO | MOD_RRBS)},
     316    {"br.wexit.spnt.few.clr",   BR (2, 0, 1, 1, MOD_RRBS)},
     317    {"br.wexit.spnt.clr",       BR (2, 0, 1, 1, PSEUDO | MOD_RRBS)},
     318    {"br.wexit.dptk.few",       BR (2, 0, 2, 0, MOD_RRBS)},
     319    {"br.wexit.dptk",           BR (2, 0, 2, 0, PSEUDO | MOD_RRBS)},
     320    {"br.wexit.dptk.few.clr",   BR (2, 0, 2, 1, MOD_RRBS)},
     321    {"br.wexit.dptk.clr",       BR (2, 0, 2, 1, PSEUDO | MOD_RRBS)},
     322    {"br.wexit.dpnt.few",       BR (2, 0, 3, 0, MOD_RRBS)},
     323    {"br.wexit.dpnt",           BR (2, 0, 3, 0, PSEUDO | MOD_RRBS)},
     324    {"br.wexit.dpnt.few.clr",   BR (2, 0, 3, 1, MOD_RRBS)},
     325    {"br.wexit.dpnt.clr",       BR (2, 0, 3, 1, PSEUDO | MOD_RRBS)},
     326    {"br.wexit.sptk.many",      BR (2, 1, 0, 0, MOD_RRBS)},
     327    {"br.wexit.sptk.many.clr",  BR (2, 1, 0, 1, MOD_RRBS)},
     328    {"br.wexit.spnt.many",      BR (2, 1, 1, 0, MOD_RRBS)},
     329    {"br.wexit.spnt.many.clr",  BR (2, 1, 1, 1, MOD_RRBS)},
     330    {"br.wexit.dptk.many",      BR (2, 1, 2, 0, MOD_RRBS)},
     331    {"br.wexit.dptk.many.clr",  BR (2, 1, 2, 1, MOD_RRBS)},
     332    {"br.wexit.dpnt.many",      BR (2, 1, 3, 0, MOD_RRBS)},
     333    {"br.wexit.dpnt.many.clr",  BR (2, 1, 3, 1, MOD_RRBS)},
     334    {"br.wtop.sptk.few",        BR (3, 0, 0, 0, MOD_RRBS)},
     335    {"br.wtop.sptk",            BR (3, 0, 0, 0, PSEUDO | MOD_RRBS)},
     336    {"br.wtop.sptk.few.clr",    BR (3, 0, 0, 1, MOD_RRBS)},
     337    {"br.wtop.sptk.clr",        BR (3, 0, 0, 1, PSEUDO | MOD_RRBS)},
     338    {"br.wtop.spnt.few",        BR (3, 0, 1, 0, MOD_RRBS)},
     339    {"br.wtop.spnt",            BR (3, 0, 1, 0, PSEUDO | MOD_RRBS)},
     340    {"br.wtop.spnt.few.clr",    BR (3, 0, 1, 1, MOD_RRBS)},
     341    {"br.wtop.spnt.clr",        BR (3, 0, 1, 1, PSEUDO | MOD_RRBS)},
     342    {"br.wtop.dptk.few",        BR (3, 0, 2, 0, MOD_RRBS)},
     343    {"br.wtop.dptk",            BR (3, 0, 2, 0, PSEUDO | MOD_RRBS)},
     344    {"br.wtop.dptk.few.clr",    BR (3, 0, 2, 1, MOD_RRBS)},
     345    {"br.wtop.dptk.clr",        BR (3, 0, 2, 1, PSEUDO | MOD_RRBS)},
     346    {"br.wtop.dpnt.few",        BR (3, 0, 3, 0, MOD_RRBS)},
     347    {"br.wtop.dpnt",            BR (3, 0, 3, 0, PSEUDO | MOD_RRBS)},
     348    {"br.wtop.dpnt.few.clr",    BR (3, 0, 3, 1, MOD_RRBS)},
     349    {"br.wtop.dpnt.clr",        BR (3, 0, 3, 1, PSEUDO | MOD_RRBS)},
     350    {"br.wtop.sptk.many",       BR (3, 1, 0, 0, MOD_RRBS)},
     351    {"br.wtop.sptk.many.clr",   BR (3, 1, 0, 1, MOD_RRBS)},
     352    {"br.wtop.spnt.many",       BR (3, 1, 1, 0, MOD_RRBS)},
     353    {"br.wtop.spnt.many.clr",   BR (3, 1, 1, 1, MOD_RRBS)},
     354    {"br.wtop.dptk.many",       BR (3, 1, 2, 0, MOD_RRBS)},
     355    {"br.wtop.dptk.many.clr",   BR (3, 1, 2, 1, MOD_RRBS)},
     356    {"br.wtop.dpnt.many",       BR (3, 1, 3, 0, MOD_RRBS)},
     357    {"br.wtop.dpnt.many.clr",   BR (3, 1, 3, 1, MOD_RRBS)},
    342358
    343359#undef BR
    344360#define BR(a,b,c,d) \
    345         B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED
     361        B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED, 0, NULL
     362#define BRT(a,b,c,d,e) \
     363        B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED | e, 0, NULL
    346364    {"br.cloop.sptk.few",       BR (5, 0, 0, 0)},
    347     {"br.cloop.sptk",           BR (5, 0, 0, 0) | PSEUDO},
     365    {"br.cloop.sptk",           BRT (5, 0, 0, 0, PSEUDO)},
    348366    {"br.cloop.sptk.few.clr",   BR (5, 0, 0, 1)},
    349     {"br.cloop.sptk.clr",       BR (5, 0, 0, 1) | PSEUDO},
     367    {"br.cloop.sptk.clr",       BRT (5, 0, 0, 1, PSEUDO)},
    350368    {"br.cloop.spnt.few",       BR (5, 0, 1, 0)},
    351     {"br.cloop.spnt",           BR (5, 0, 1, 0) | PSEUDO},
     369    {"br.cloop.spnt",           BRT (5, 0, 1, 0, PSEUDO)},
    352370    {"br.cloop.spnt.few.clr",   BR (5, 0, 1, 1)},
    353     {"br.cloop.spnt.clr",       BR (5, 0, 1, 1) | PSEUDO},
     371    {"br.cloop.spnt.clr",       BRT (5, 0, 1, 1, PSEUDO)},
    354372    {"br.cloop.dptk.few",       BR (5, 0, 2, 0)},
    355     {"br.cloop.dptk",           BR (5, 0, 2, 0) | PSEUDO},
     373    {"br.cloop.dptk",           BRT (5, 0, 2, 0, PSEUDO)},
    356374    {"br.cloop.dptk.few.clr",   BR (5, 0, 2, 1)},
    357     {"br.cloop.dptk.clr",       BR (5, 0, 2, 1) | PSEUDO},
     375    {"br.cloop.dptk.clr",       BRT (5, 0, 2, 1, PSEUDO)},
    358376    {"br.cloop.dpnt.few",       BR (5, 0, 3, 0)},
    359     {"br.cloop.dpnt",           BR (5, 0, 3, 0) | PSEUDO},
     377    {"br.cloop.dpnt",           BRT (5, 0, 3, 0, PSEUDO)},
    360378    {"br.cloop.dpnt.few.clr",   BR (5, 0, 3, 1)},
    361     {"br.cloop.dpnt.clr",       BR (5, 0, 3, 1) | PSEUDO},
     379    {"br.cloop.dpnt.clr",       BRT (5, 0, 3, 1, PSEUDO)},
    362380    {"br.cloop.sptk.many",      BR (5, 1, 0, 0)},
    363381    {"br.cloop.sptk.many.clr",  BR (5, 1, 0, 1)},
     
    368386    {"br.cloop.dpnt.many",      BR (5, 1, 3, 0)},
    369387    {"br.cloop.dpnt.many.clr",  BR (5, 1, 3, 1)},
    370     {"br.cexit.sptk.few",       BR (6, 0, 0, 0) | MOD_RRBS},
    371     {"br.cexit.sptk",           BR (6, 0, 0, 0) | PSEUDO | MOD_RRBS},
    372     {"br.cexit.sptk.few.clr",   BR (6, 0, 0, 1) | MOD_RRBS},
    373     {"br.cexit.sptk.clr",       BR (6, 0, 0, 1) | PSEUDO | MOD_RRBS},
    374     {"br.cexit.spnt.few",       BR (6, 0, 1, 0) | MOD_RRBS},
    375     {"br.cexit.spnt",           BR (6, 0, 1, 0) | PSEUDO | MOD_RRBS},
    376     {"br.cexit.spnt.few.clr",   BR (6, 0, 1, 1) | MOD_RRBS},
    377     {"br.cexit.spnt.clr",       BR (6, 0, 1, 1) | PSEUDO | MOD_RRBS},
    378     {"br.cexit.dptk.few",       BR (6, 0, 2, 0) | MOD_RRBS},
    379     {"br.cexit.dptk",           BR (6, 0, 2, 0) | PSEUDO | MOD_RRBS},
    380     {"br.cexit.dptk.few.clr",   BR (6, 0, 2, 1) | MOD_RRBS},
    381     {"br.cexit.dptk.clr",       BR (6, 0, 2, 1) | PSEUDO | MOD_RRBS},
    382     {"br.cexit.dpnt.few",       BR (6, 0, 3, 0) | MOD_RRBS},
    383     {"br.cexit.dpnt",           BR (6, 0, 3, 0) | PSEUDO | MOD_RRBS},
    384     {"br.cexit.dpnt.few.clr",   BR (6, 0, 3, 1) | MOD_RRBS},
    385     {"br.cexit.dpnt.clr",       BR (6, 0, 3, 1) | PSEUDO | MOD_RRBS},
    386     {"br.cexit.sptk.many",      BR (6, 1, 0, 0) | MOD_RRBS},
    387     {"br.cexit.sptk.many.clr",  BR (6, 1, 0, 1) | MOD_RRBS},
    388     {"br.cexit.spnt.many",      BR (6, 1, 1, 0) | MOD_RRBS},
    389     {"br.cexit.spnt.many.clr",  BR (6, 1, 1, 1) | MOD_RRBS},
    390     {"br.cexit.dptk.many",      BR (6, 1, 2, 0) | MOD_RRBS},
    391     {"br.cexit.dptk.many.clr",  BR (6, 1, 2, 1) | MOD_RRBS},
    392     {"br.cexit.dpnt.many",      BR (6, 1, 3, 0) | MOD_RRBS},
    393     {"br.cexit.dpnt.many.clr",  BR (6, 1, 3, 1) | MOD_RRBS},
    394     {"br.ctop.sptk.few",        BR (7, 0, 0, 0) | MOD_RRBS},
    395     {"br.ctop.sptk",            BR (7, 0, 0, 0) | PSEUDO | MOD_RRBS},
    396     {"br.ctop.sptk.few.clr",    BR (7, 0, 0, 1) | MOD_RRBS},
    397     {"br.ctop.sptk.clr",        BR (7, 0, 0, 1) | PSEUDO | MOD_RRBS},
    398     {"br.ctop.spnt.few",        BR (7, 0, 1, 0) | MOD_RRBS},
    399     {"br.ctop.spnt",            BR (7, 0, 1, 0) | PSEUDO | MOD_RRBS},
    400     {"br.ctop.spnt.few.clr",    BR (7, 0, 1, 1) | MOD_RRBS},
    401     {"br.ctop.spnt.clr",        BR (7, 0, 1, 1) | PSEUDO | MOD_RRBS},
    402     {"br.ctop.dptk.few",        BR (7, 0, 2, 0) | MOD_RRBS},
    403     {"br.ctop.dptk",            BR (7, 0, 2, 0) | PSEUDO | MOD_RRBS},
    404     {"br.ctop.dptk.few.clr",    BR (7, 0, 2, 1) | MOD_RRBS},
    405     {"br.ctop.dptk.clr",        BR (7, 0, 2, 1) | PSEUDO | MOD_RRBS},
    406     {"br.ctop.dpnt.few",        BR (7, 0, 3, 0) | MOD_RRBS},
    407     {"br.ctop.dpnt",            BR (7, 0, 3, 0) | PSEUDO | MOD_RRBS},
    408     {"br.ctop.dpnt.few.clr",    BR (7, 0, 3, 1) | MOD_RRBS},
    409     {"br.ctop.dpnt.clr",        BR (7, 0, 3, 1) | PSEUDO | MOD_RRBS},
    410     {"br.ctop.sptk.many",       BR (7, 1, 0, 0) | MOD_RRBS},
    411     {"br.ctop.sptk.many.clr",   BR (7, 1, 0, 1) | MOD_RRBS},
    412     {"br.ctop.spnt.many",       BR (7, 1, 1, 0) | MOD_RRBS},
    413     {"br.ctop.spnt.many.clr",   BR (7, 1, 1, 1) | MOD_RRBS},
    414     {"br.ctop.dptk.many",       BR (7, 1, 2, 0) | MOD_RRBS},
    415     {"br.ctop.dptk.many.clr",   BR (7, 1, 2, 1) | MOD_RRBS},
    416     {"br.ctop.dpnt.many",       BR (7, 1, 3, 0) | MOD_RRBS},
    417     {"br.ctop.dpnt.many.clr",   BR (7, 1, 3, 1) | MOD_RRBS},
    418 
     388    {"br.cexit.sptk.few",       BRT (6, 0, 0, 0, MOD_RRBS)},
     389    {"br.cexit.sptk",           BRT (6, 0, 0, 0, PSEUDO | MOD_RRBS)},
     390    {"br.cexit.sptk.few.clr",   BRT (6, 0, 0, 1, MOD_RRBS)},
     391    {"br.cexit.sptk.clr",       BRT (6, 0, 0, 1, PSEUDO | MOD_RRBS)},
     392    {"br.cexit.spnt.few",       BRT (6, 0, 1, 0, MOD_RRBS)},
     393    {"br.cexit.spnt",           BRT (6, 0, 1, 0, PSEUDO | MOD_RRBS)},
     394    {"br.cexit.spnt.few.clr",   BRT (6, 0, 1, 1, MOD_RRBS)},
     395    {"br.cexit.spnt.clr",       BRT (6, 0, 1, 1, PSEUDO | MOD_RRBS)},
     396    {"br.cexit.dptk.few",       BRT (6, 0, 2, 0, MOD_RRBS)},
     397    {"br.cexit.dptk",           BRT (6, 0, 2, 0, PSEUDO | MOD_RRBS)},
     398    {"br.cexit.dptk.few.clr",   BRT (6, 0, 2, 1, MOD_RRBS)},
     399    {"br.cexit.dptk.clr",       BRT (6, 0, 2, 1, PSEUDO | MOD_RRBS)},
     400    {"br.cexit.dpnt.few",       BRT (6, 0, 3, 0, MOD_RRBS)},
     401    {"br.cexit.dpnt",           BRT (6, 0, 3, 0, PSEUDO | MOD_RRBS)},
     402    {"br.cexit.dpnt.few.clr",   BRT (6, 0, 3, 1, MOD_RRBS)},
     403    {"br.cexit.dpnt.clr",       BRT (6, 0, 3, 1, PSEUDO | MOD_RRBS)},
     404    {"br.cexit.sptk.many",      BRT (6, 1, 0, 0, MOD_RRBS)},
     405    {"br.cexit.sptk.many.clr",  BRT (6, 1, 0, 1, MOD_RRBS)},
     406    {"br.cexit.spnt.many",      BRT (6, 1, 1, 0, MOD_RRBS)},
     407    {"br.cexit.spnt.many.clr",  BRT (6, 1, 1, 1, MOD_RRBS)},
     408    {"br.cexit.dptk.many",      BRT (6, 1, 2, 0, MOD_RRBS)},
     409    {"br.cexit.dptk.many.clr",  BRT (6, 1, 2, 1, MOD_RRBS)},
     410    {"br.cexit.dpnt.many",      BRT (6, 1, 3, 0, MOD_RRBS)},
     411    {"br.cexit.dpnt.many.clr",  BRT (6, 1, 3, 1, MOD_RRBS)},
     412    {"br.ctop.sptk.few",        BRT (7, 0, 0, 0, MOD_RRBS)},
     413    {"br.ctop.sptk",            BRT (7, 0, 0, 0, PSEUDO | MOD_RRBS)},
     414    {"br.ctop.sptk.few.clr",    BRT (7, 0, 0, 1, MOD_RRBS)},
     415    {"br.ctop.sptk.clr",        BRT (7, 0, 0, 1, PSEUDO | MOD_RRBS)},
     416    {"br.ctop.spnt.few",        BRT (7, 0, 1, 0, MOD_RRBS)},
     417    {"br.ctop.spnt",            BRT (7, 0, 1, 0, PSEUDO | MOD_RRBS)},
     418    {"br.ctop.spnt.few.clr",    BRT (7, 0, 1, 1, MOD_RRBS)},
     419    {"br.ctop.spnt.clr",        BRT (7, 0, 1, 1, PSEUDO | MOD_RRBS)},
     420    {"br.ctop.dptk.few",        BRT (7, 0, 2, 0, MOD_RRBS)},
     421    {"br.ctop.dptk",            BRT (7, 0, 2, 0, PSEUDO | MOD_RRBS)},
     422    {"br.ctop.dptk.few.clr",    BRT (7, 0, 2, 1, MOD_RRBS)},
     423    {"br.ctop.dptk.clr",        BRT (7, 0, 2, 1, PSEUDO | MOD_RRBS)},
     424    {"br.ctop.dpnt.few",        BRT (7, 0, 3, 0, MOD_RRBS)},
     425    {"br.ctop.dpnt",            BRT (7, 0, 3, 0, PSEUDO | MOD_RRBS)},
     426    {"br.ctop.dpnt.few.clr",    BRT (7, 0, 3, 1, MOD_RRBS)},
     427    {"br.ctop.dpnt.clr",        BRT (7, 0, 3, 1, PSEUDO | MOD_RRBS)},
     428    {"br.ctop.sptk.many",       BRT (7, 1, 0, 0, MOD_RRBS)},
     429    {"br.ctop.sptk.many.clr",   BRT (7, 1, 0, 1, MOD_RRBS)},
     430    {"br.ctop.spnt.many",       BRT (7, 1, 1, 0, MOD_RRBS)},
     431    {"br.ctop.spnt.many.clr",   BRT (7, 1, 1, 1, MOD_RRBS)},
     432    {"br.ctop.dptk.many",       BRT (7, 1, 2, 0, MOD_RRBS)},
     433    {"br.ctop.dptk.many.clr",   BRT (7, 1, 2, 1, MOD_RRBS)},
     434    {"br.ctop.dpnt.many",       BRT (7, 1, 3, 0, MOD_RRBS)},
     435    {"br.ctop.dpnt.many.clr",   BRT (7, 1, 3, 1, MOD_RRBS)},
    419436#undef BR
    420 #define BR(a,b,c,d) \
    421         B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2
    422     {"br.call.sptk.few",        B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}},
    423     {"br.call.sptk",            B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO},
    424     {"br.call.sptk.few.clr",    B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}},
    425     {"br.call.sptk.clr",        B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO},
    426     {"br.call.spnt.few",        B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}},
    427     {"br.call.spnt",            B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO},
    428     {"br.call.spnt.few.clr",    B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}},
    429     {"br.call.spnt.clr",        B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO},
    430     {"br.call.dptk.few",        B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}},
    431     {"br.call.dptk",            B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO},
    432     {"br.call.dptk.few.clr",    B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}},
    433     {"br.call.dptk.clr",        B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO},
    434     {"br.call.dpnt.few",        B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}},
    435     {"br.call.dpnt",            B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO},
    436     {"br.call.dpnt.few.clr",    B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}},
    437     {"br.call.dpnt.clr",        B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO},
    438     {"br.call.sptk.many",       B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}},
    439     {"br.call.sptk.many.clr",   B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}},
    440     {"br.call.spnt.many",       B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}},
    441     {"br.call.spnt.many.clr",   B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}},
    442     {"br.call.dptk.many",       B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}},
    443     {"br.call.dptk.many.clr",   B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}},
    444     {"br.call.dpnt.many",       B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}},
    445     {"br.call.dpnt.many.clr",   B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}},
    446 #undef BR
    447 
    448     /* branch predict */
     437#undef BRT
     438
     439    {"br.call.sptk.few",        B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, EMPTY},
     440    {"br.call.sptk",            B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
     441    {"br.call.sptk.few.clr",    B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, EMPTY},
     442    {"br.call.sptk.clr",        B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
     443    {"br.call.spnt.few",        B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, EMPTY},
     444    {"br.call.spnt",            B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
     445    {"br.call.spnt.few.clr",    B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, EMPTY},
     446    {"br.call.spnt.clr",        B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
     447    {"br.call.dptk.few",        B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, EMPTY},
     448    {"br.call.dptk",            B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
     449    {"br.call.dptk.few.clr",    B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, EMPTY},
     450    {"br.call.dptk.clr",        B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
     451    {"br.call.dpnt.few",        B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, EMPTY},
     452    {"br.call.dpnt",            B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO, 0, NULL},
     453    {"br.call.dpnt.few.clr",    B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, EMPTY},
     454    {"br.call.dpnt.clr",        B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO, 0, NULL},
     455    {"br.call.sptk.many",       B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}, EMPTY},
     456    {"br.call.sptk.many.clr",   B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}, EMPTY},
     457    {"br.call.spnt.many",       B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}, EMPTY},
     458    {"br.call.spnt.many.clr",   B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}, EMPTY},
     459    {"br.call.dptk.many",       B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}, EMPTY},
     460    {"br.call.dptk.many.clr",   B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}, EMPTY},
     461    {"br.call.dpnt.many",       B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}, EMPTY},
     462    {"br.call.dpnt.many.clr",   B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}, EMPTY},
     463
     464    /* Branch predict.  */
    449465#define BRP(a,b) \
    450       B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED
     466      B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED, 0, NULL
    451467    {"brp.sptk",                BRP (0, 0)},
    452468    {"brp.loop",                BRP (0, 1)},
     
    459475#undef BRP
    460476
    461     {0}
     477    {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
    462478  };
    463479
     
    471487#undef bWha
    472488#undef bWhb
     489#undef bWhc
    473490#undef bX6
    474491#undef mBtype
     
    479496#undef mWha
    480497#undef mWhb
     498#undef mWhc
    481499#undef mX6
    482500#undef OpX6
    483501#undef OpPaWhaD
     502#undef OpPaWhcD
    484503#undef OpBtypePaWhaD
    485504#undef OpBtypePaWhaDPr
     
    488507#undef OpIhWhb
    489508#undef OpX6IhWhb
     509#undef EMPTY
Note: See TracChangeset for help on using the changeset viewer.