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-m.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* ia64-opc-m.c -- IA-64 `M' 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
     
    3434#define bX6a(x)         (((ia64_insn) ((x) & 0x3f)) << 30)
    3535#define bX6b(x)         (((ia64_insn) ((x) & 0x3f)) << 27)
     36#define bX7(x)          (((ia64_insn) ((x) & 0x1)) << 36)       /* note: alias for bM() */
     37#define bY(x)           (((ia64_insn) ((x) & 0x1)) << 26)
    3638#define bHint(x)        (((ia64_insn) ((x) & 0x3)) << 28)
    3739
     
    4345#define mX6a    bX6a (-1)
    4446#define mX6b    bX6b (-1)
     47#define mX7     bX7 (-1)
     48#define mY      bY (-1)
    4549#define mHint   bHint (-1)
    4650
     
    4852#define OpX3X6b(a,b,c)          (bOp (a) | bX3 (b) | bX6b (c)), \
    4953                                (mOp | mX3 | mX6b)
     54#define OpX3X6bX7(a,b,c,d)      (bOp (a) | bX3 (b) | bX6b (c) | bX7 (d)), \
     55                                (mOp | mX3 | mX6b | mX7)
    5056#define OpX3X4(a,b,c)           (bOp (a) | bX3 (b) | bX4 (c)), \
    5157                                (mOp | mX3 | mX4)
    5258#define OpX3X4X2(a,b,c,d)       (bOp (a) | bX3 (b) | bX4 (c) | bX2 (d)), \
    5359                                (mOp | mX3 | mX4 | mX2)
     60#define OpX3X4X2Y(a,b,c,d,e)    (bOp (a) | bX3 (b) | bX4 (c) | bX2 (d) | bY (e)), \
     61                                (mOp | mX3 | mX4 | mX2 | mY)
    5462#define OpX6aHint(a,b,c)        (bOp (a) | bX6a (b) | bHint (c)), \
    5563                                (mOp | mX6a | mHint)
     
    6270        (mOp | mM | mX | mX6a | mHint)
    6371
     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
    6476struct ia64_opcode ia64_opcodes_m[] =
    6577  {
    66     /* M-type instruction encodings (sorted according to major opcode) */
    67 
    68     {"chk.a.nc",        M0, OpX3 (0, 4), {R1, TGT25c}},
    69     {"chk.a.clr",       M0, OpX3 (0, 5), {R1, TGT25c}},
    70     {"chk.a.nc",        M0, OpX3 (0, 6), {F1, TGT25c}},
    71     {"chk.a.clr",       M0, OpX3 (0, 7), {F1, TGT25c}},
    72 
    73     {"invala",          M0, OpX3X4X2 (0, 0, 0, 1)},
    74     {"fwb",             M0, OpX3X4X2 (0, 0, 0, 2)},
    75     {"mf",              M0, OpX3X4X2 (0, 0, 2, 2)},
    76     {"mf.a",            M0, OpX3X4X2 (0, 0, 3, 2)},
    77     {"srlz.d",          M0, OpX3X4X2 (0, 0, 0, 3)},
    78     {"srlz.i",          M0, OpX3X4X2 (0, 0, 1, 3)},
    79     {"sync.i",          M0, OpX3X4X2 (0, 0, 3, 3)},
    80     {"flushrs",         M0, OpX3X4X2 (0, 0, 0xc, 0), {0, }, FIRST | NO_PRED},
    81     {"loadrs",          M0, OpX3X4X2 (0, 0, 0xa, 0), {0, }, FIRST | NO_PRED},
    82     {"invala.e",        M0, OpX3X4X2 (0, 0, 2, 1), {R1}},
    83     {"invala.e",        M0, OpX3X4X2 (0, 0, 3, 1), {F1}},
    84     {"mov.m",           M, OpX3X4X2 (0, 0, 8, 2), {AR3, IMM8}},
    85 
    86     {"break.m",         M0, OpX3X4X2 (0, 0, 0, 0), {IMMU21}},
    87     {"nop.m",           M0, OpX3X4X2 (0, 0, 1, 0), {IMMU21}},
    88 
    89     {"sum",             M0, OpX3X4 (0, 0, 4), {IMMU24}},
    90     {"rum",             M0, OpX3X4 (0, 0, 5), {IMMU24}},
    91     {"ssm",             M0, OpX3X4 (0, 0, 6), {IMMU24}, PRIV},
    92     {"rsm",             M0, OpX3X4 (0, 0, 7), {IMMU24}, PRIV},
    93 
    94     {"mov.m",   M, OpX3X6b (1, 0, 0x2a), {AR3, R2}},
    95     {"mov.m",   M, OpX3X6b (1, 0, 0x22), {R1, AR3}},
    96     {"mov",     M, OpX3X6b (1, 0, 0x2c), {CR3, R2}, PRIV},
    97     {"mov",     M, OpX3X6b (1, 0, 0x24), {R1, CR3}, PRIV},
    98 
    99     {"alloc",   M, OpX3 (1, 6), {R1, AR_PFS, SOF, SOL, SOR}, FIRST|NO_PRED|MOD_RRBS},
    100 
    101     {"mov",     M, OpX3X6b (1, 0, 0x2d), {PSR_L, R2}, PRIV},
    102     {"mov",     M, OpX3X6b (1, 0, 0x29), {PSR_UM, R2}},
    103     {"mov",     M, OpX3X6b (1, 0, 0x25), {R1, PSR}, PRIV},
    104     {"mov",     M, OpX3X6b (1, 0, 0x21), {R1, PSR_UM}},
    105     {"probe.r", M, OpX3X6b (1, 0, 0x38), {R1, R3, R2}},
    106     {"probe.w", M, OpX3X6b (1, 0, 0x39), {R1, R3, R2}},
    107     {"probe.r", M, OpX3X6b (1, 0, 0x18), {R1, R3, IMMU2}},
    108     {"probe.w", M, OpX3X6b (1, 0, 0x19), {R1, R3, IMMU2}},
    109     {"probe.rw.fault", M0, OpX3X6b (1, 0, 0x31), {R3, IMMU2}},
    110     {"probe.r.fault",  M0, OpX3X6b (1, 0, 0x32), {R3, IMMU2}},
    111     {"probe.w.fault",  M0, OpX3X6b (1, 0, 0x33), {R3, IMMU2}},
    112     {"itc.d",   M0, OpX3X6b (1, 0, 0x2e), {R2}, LAST | PRIV},
    113     {"itc.i",   M0, OpX3X6b (1, 0, 0x2f), {R2}, LAST | PRIV},
    114 
    115     {"mov",     M, OpX3X6b (1, 0, 0x00), {RR_R3, R2}, PRIV},
    116     {"mov",     M, OpX3X6b (1, 0, 0x01), {DBR_R3, R2}, PRIV},
    117     {"mov",     M, OpX3X6b (1, 0, 0x02), {IBR_R3, R2}, PRIV},
    118     {"mov",     M, OpX3X6b (1, 0, 0x03), {PKR_R3, R2}, PRIV},
    119     {"mov",     M, OpX3X6b (1, 0, 0x04), {PMC_R3, R2}, PRIV},
    120     {"mov",     M, OpX3X6b (1, 0, 0x05), {PMD_R3, R2}, PRIV},
    121     {"mov",     M, OpX3X6b (1, 0, 0x06), {MSR_R3, R2}, PRIV},
    122     {"itr.d",   M, OpX3X6b (1, 0, 0x0e), {DTR_R3, R2}, PRIV},
    123     {"itr.i",   M, OpX3X6b (1, 0, 0x0f), {ITR_R3, R2}, PRIV},
    124 
    125     {"mov",     M, OpX3X6b (1, 0, 0x10), {R1, RR_R3}, PRIV},
    126     {"mov",     M, OpX3X6b (1, 0, 0x11), {R1, DBR_R3}, PRIV},
    127     {"mov",     M, OpX3X6b (1, 0, 0x12), {R1, IBR_R3}, PRIV},
    128     {"mov",     M, OpX3X6b (1, 0, 0x13), {R1, PKR_R3}, PRIV},
    129     {"mov",     M, OpX3X6b (1, 0, 0x14), {R1, PMC_R3}, PRIV},
    130     {"mov",     M, OpX3X6b (1, 0, 0x15), {R1, PMD_R3}},
    131     {"mov",     M, OpX3X6b (1, 0, 0x16), {R1, MSR_R3}, PRIV},
    132     {"mov",     M, OpX3X6b (1, 0, 0x17), {R1, CPUID_R3}},
    133 
    134     {"ptc.l",   M0, OpX3X6b (1, 0, 0x09), {R3, R2}, PRIV},
    135     {"ptc.g",   M0, OpX3X6b (1, 0, 0x0a), {R3, R2}, LAST | PRIV},
    136     {"ptc.ga",  M0, OpX3X6b (1, 0, 0x0b), {R3, R2}, LAST | PRIV},
    137     {"ptr.d",   M0, OpX3X6b (1, 0, 0x0c), {R3, R2}, PRIV},
    138     {"ptr.i",   M0, OpX3X6b (1, 0, 0x0d), {R3, R2}, PRIV},
    139 
    140     {"thash",   M, OpX3X6b (1, 0, 0x1a), {R1, R3}},
    141     {"ttag",    M, OpX3X6b (1, 0, 0x1b), {R1, R3}},
    142     {"tpa",     M, OpX3X6b (1, 0, 0x1e), {R1, R3}, PRIV},
    143     {"tak",     M, OpX3X6b (1, 0, 0x1f), {R1, R3}, PRIV},
    144 
    145     {"chk.s.m", M0, OpX3 (1, 1), {R2, TGT25b}},
    146     {"chk.s",   M0, OpX3 (1, 3), {F2, TGT25b}},
    147 
    148     {"fc",      M0, OpX3X6b (1, 0, 0x30), {R3}},
    149     {"ptc.e",   M0, OpX3X6b (1, 0, 0x34), {R3}, PRIV},
     78    /* M-type instruction encodings (sorted according to major opcode).  */
     79
     80    {"chk.a.nc",        M0, OpX3 (0, 4), {R1, TGT25c}, EMPTY},
     81    {"chk.a.clr",       M0, OpX3 (0, 5), {R1, TGT25c}, EMPTY},
     82    {"chk.a.nc",        M0, OpX3 (0, 6), {F1, TGT25c}, EMPTY},
     83    {"chk.a.clr",       M0, OpX3 (0, 7), {F1, TGT25c}, EMPTY},
     84
     85    {"invala",          M0, OpX3X4X2 (0, 0, 0, 1), {}, EMPTY},
     86    {"fwb",             M0, OpX3X4X2 (0, 0, 0, 2), {}, EMPTY},
     87    {"mf",              M0, OpX3X4X2 (0, 0, 2, 2), {}, EMPTY},
     88    {"mf.a",            M0, OpX3X4X2 (0, 0, 3, 2), {}, EMPTY},
     89    {"srlz.d",          M0, OpX3X4X2 (0, 0, 0, 3), {}, EMPTY},
     90    {"srlz.i",          M0, OpX3X4X2 (0, 0, 1, 3), {}, EMPTY},
     91    {"sync.i",          M0, OpX3X4X2 (0, 0, 3, 3), {}, EMPTY},
     92    {"flushrs",         M0, OpX3X4X2 (0, 0, 0xc, 0), {}, FIRST | NO_PRED, 0, NULL},
     93    {"loadrs",          M0, OpX3X4X2 (0, 0, 0xa, 0), {}, FIRST | NO_PRED, 0, NULL},
     94    {"invala.e",        M0, OpX3X4X2 (0, 0, 2, 1), {R1}, EMPTY},
     95    {"invala.e",        M0, OpX3X4X2 (0, 0, 3, 1), {F1}, EMPTY},
     96    {"mov.m",           M, OpX3X4X2 (0, 0, 8, 2), {AR3, IMM8}, EMPTY},
     97
     98    {"break.m",         M0, OpX3X4X2 (0, 0, 0, 0), {IMMU21}, EMPTY},
     99    {"nop.m",           M0, OpX3X4X2Y (0, 0, 1, 0, 0), {IMMU21}, EMPTY},
     100    {"hint.m",          M0, OpX3X4X2Y (0, 0, 1, 0, 1), {IMMU21}, EMPTY},
     101
     102    {"sum",             M0, OpX3X4 (0, 0, 4), {IMMU24}, EMPTY},
     103    {"rum",             M0, OpX3X4 (0, 0, 5), {IMMU24}, EMPTY},
     104    {"ssm",             M0, OpX3X4 (0, 0, 6), {IMMU24}, PRIV, 0, NULL},
     105    {"rsm",             M0, OpX3X4 (0, 0, 7), {IMMU24}, PRIV, 0, NULL},
     106
     107    {"mov.m",   M, OpX3X6b (1, 0, 0x2a), {AR3, R2}, EMPTY},
     108    {"mov.m",   M, OpX3X6b (1, 0, 0x22), {R1, AR3}, EMPTY},
     109    {"mov",     M, OpX3X6b (1, 0, 0x2c), {CR3, R2}, PRIV, 0, NULL},
     110    {"mov",     M, OpX3X6b (1, 0, 0x24), {R1, CR3}, PRIV, 0, NULL},
     111
     112    {"alloc",   M, OpX3 (1, 6), {R1, AR_PFS, SOF, SOL, SOR}, FIRST|NO_PRED|MOD_RRBS, 0, NULL},
     113
     114    {"mov",     M, OpX3X6b (1, 0, 0x2d), {PSR_L, R2}, PRIV, 0, NULL},
     115    {"mov",     M, OpX3X6b (1, 0, 0x29), {PSR_UM, R2}, EMPTY},
     116    {"mov",     M, OpX3X6b (1, 0, 0x25), {R1, PSR}, PRIV, 0, NULL},
     117    {"mov",     M, OpX3X6b (1, 0, 0x21), {R1, PSR_UM}, EMPTY},
     118    {"probe.r", M, OpX3X6b (1, 0, 0x38), {R1, R3, R2}, EMPTY},
     119    {"probe.w", M, OpX3X6b (1, 0, 0x39), {R1, R3, R2}, EMPTY},
     120    {"probe.r", M, OpX3X6b (1, 0, 0x18), {R1, R3, IMMU2}, EMPTY},
     121    {"probe.w", M, OpX3X6b (1, 0, 0x19), {R1, R3, IMMU2}, EMPTY},
     122    {"probe.rw.fault", M0, OpX3X6b (1, 0, 0x31), {R3, IMMU2}, EMPTY},
     123    {"probe.r.fault",  M0, OpX3X6b (1, 0, 0x32), {R3, IMMU2}, EMPTY},
     124    {"probe.w.fault",  M0, OpX3X6b (1, 0, 0x33), {R3, IMMU2}, EMPTY},
     125    {"itc.d",   M0, OpX3X6b (1, 0, 0x2e), {R2}, LAST | PRIV, 0, NULL},
     126    {"itc.i",   M0, OpX3X6b (1, 0, 0x2f), {R2}, LAST | PRIV, 0, NULL},
     127
     128    {"mov",     M, OpX3X6b (1, 0, 0x00), {RR_R3, R2}, PRIV, 0, NULL},
     129    {"mov",     M, OpX3X6b (1, 0, 0x01), {DBR_R3, R2}, PRIV, 0, NULL},
     130    {"mov",     M, OpX3X6b (1, 0, 0x02), {IBR_R3, R2}, PRIV, 0, NULL},
     131    {"mov",     M, OpX3X6b (1, 0, 0x03), {PKR_R3, R2}, PRIV, 0, NULL},
     132    {"mov",     M, OpX3X6b (1, 0, 0x04), {PMC_R3, R2}, PRIV, 0, NULL},
     133    {"mov",     M, OpX3X6b (1, 0, 0x05), {PMD_R3, R2}, PRIV, 0, NULL},
     134    {"mov",     M, OpX3X6b (1, 0, 0x06), {MSR_R3, R2}, PRIV, 0, NULL},
     135    {"itr.d",   M, OpX3X6b (1, 0, 0x0e), {DTR_R3, R2}, PRIV, 0, NULL},
     136    {"itr.i",   M, OpX3X6b (1, 0, 0x0f), {ITR_R3, R2}, PRIV, 0, NULL},
     137
     138    {"mov",     M, OpX3X6b (1, 0, 0x10), {R1, RR_R3}, PRIV, 0, NULL},
     139    {"mov",     M, OpX3X6b (1, 0, 0x11), {R1, DBR_R3}, PRIV, 0, NULL},
     140    {"mov",     M, OpX3X6b (1, 0, 0x12), {R1, IBR_R3}, PRIV, 0, NULL},
     141    {"mov",     M, OpX3X6b (1, 0, 0x13), {R1, PKR_R3}, PRIV, 0, NULL},
     142    {"mov",     M, OpX3X6b (1, 0, 0x14), {R1, PMC_R3}, PRIV, 0, NULL},
     143    {"mov",     M, OpX3X6b (1, 0, 0x15), {R1, PMD_R3}, EMPTY},
     144    {"mov",     M, OpX3X6b (1, 0, 0x16), {R1, MSR_R3}, PRIV, 0, NULL},
     145    {"mov",     M, OpX3X6b (1, 0, 0x17), {R1, CPUID_R3}, EMPTY},
     146
     147    {"ptc.l",   M0, OpX3X6b (1, 0, 0x09), {R3, R2}, PRIV, 0, NULL},
     148    {"ptc.g",   M0, OpX3X6b (1, 0, 0x0a), {R3, R2}, LAST | PRIV, 0, NULL},
     149    {"ptc.ga",  M0, OpX3X6b (1, 0, 0x0b), {R3, R2}, LAST | PRIV, 0, NULL},
     150    {"ptr.d",   M0, OpX3X6b (1, 0, 0x0c), {R3, R2}, PRIV, 0, NULL},
     151    {"ptr.i",   M0, OpX3X6b (1, 0, 0x0d), {R3, R2}, PRIV, 0, NULL},
     152
     153    {"thash",   M, OpX3X6b (1, 0, 0x1a), {R1, R3}, EMPTY},
     154    {"ttag",    M, OpX3X6b (1, 0, 0x1b), {R1, R3}, EMPTY},
     155    {"tpa",     M, OpX3X6b (1, 0, 0x1e), {R1, R3}, PRIV, 0, NULL},
     156    {"tak",     M, OpX3X6b (1, 0, 0x1f), {R1, R3}, PRIV, 0, NULL},
     157
     158    {"chk.s.m", M0, OpX3 (1, 1), {R2, TGT25b}, EMPTY},
     159    {"chk.s",   M0, OpX3 (1, 3), {F2, TGT25b}, EMPTY},
     160
     161    {"fc",      M0, OpX3X6bX7 (1, 0, 0x30, 0), {R3}, EMPTY},
     162    {"fc.i",    M0, OpX3X6bX7 (1, 0, 0x30, 1), {R3}, EMPTY},
     163    {"ptc.e",   M0, OpX3X6b (1, 0, 0x34), {R3}, PRIV, 0, NULL},
    150164
    151165    /* integer load */
    152     {"ld1",             M, OpMXX6aHint (4, 0, 0, 0x00, 0), {R1, MR3}},
    153     {"ld1.nt1",         M, OpMXX6aHint (4, 0, 0, 0x00, 1), {R1, MR3}},
    154     {"ld1.nta",         M, OpMXX6aHint (4, 0, 0, 0x00, 3), {R1, MR3}},
    155     {"ld2",             M, OpMXX6aHint (4, 0, 0, 0x01, 0), {R1, MR3}},
    156     {"ld2.nt1",         M, OpMXX6aHint (4, 0, 0, 0x01, 1), {R1, MR3}},
    157     {"ld2.nta",         M, OpMXX6aHint (4, 0, 0, 0x01, 3), {R1, MR3}},
    158     {"ld4",             M, OpMXX6aHint (4, 0, 0, 0x02, 0), {R1, MR3}},
    159     {"ld4.nt1",         M, OpMXX6aHint (4, 0, 0, 0x02, 1), {R1, MR3}},
    160     {"ld4.nta",         M, OpMXX6aHint (4, 0, 0, 0x02, 3), {R1, MR3}},
    161     {"ld8",             M, OpMXX6aHint (4, 0, 0, 0x03, 0), {R1, MR3}},
    162     {"ld8.nt1",         M, OpMXX6aHint (4, 0, 0, 0x03, 1), {R1, MR3}},
    163     {"ld8.nta",         M, OpMXX6aHint (4, 0, 0, 0x03, 3), {R1, MR3}},
    164     {"ld1.s",           M, OpMXX6aHint (4, 0, 0, 0x04, 0), {R1, MR3}},
    165     {"ld1.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x04, 1), {R1, MR3}},
    166     {"ld1.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x04, 3), {R1, MR3}},
    167     {"ld2.s",           M, OpMXX6aHint (4, 0, 0, 0x05, 0), {R1, MR3}},
    168     {"ld2.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x05, 1), {R1, MR3}},
    169     {"ld2.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x05, 3), {R1, MR3}},
    170     {"ld4.s",           M, OpMXX6aHint (4, 0, 0, 0x06, 0), {R1, MR3}},
    171     {"ld4.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x06, 1), {R1, MR3}},
    172     {"ld4.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x06, 3), {R1, MR3}},
    173     {"ld8.s",           M, OpMXX6aHint (4, 0, 0, 0x07, 0), {R1, MR3}},
    174     {"ld8.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x07, 1), {R1, MR3}},
    175     {"ld8.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x07, 3), {R1, MR3}},
    176     {"ld1.a",           M, OpMXX6aHint (4, 0, 0, 0x08, 0), {R1, MR3}},
    177     {"ld1.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x08, 1), {R1, MR3}},
    178     {"ld1.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x08, 3), {R1, MR3}},
    179     {"ld2.a",           M, OpMXX6aHint (4, 0, 0, 0x09, 0), {R1, MR3}},
    180     {"ld2.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x09, 1), {R1, MR3}},
    181     {"ld2.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x09, 3), {R1, MR3}},
    182     {"ld4.a",           M, OpMXX6aHint (4, 0, 0, 0x0a, 0), {R1, MR3}},
    183     {"ld4.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x0a, 1), {R1, MR3}},
    184     {"ld4.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x0a, 3), {R1, MR3}},
    185     {"ld8.a",           M, OpMXX6aHint (4, 0, 0, 0x0b, 0), {R1, MR3}},
    186     {"ld8.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x0b, 1), {R1, MR3}},
    187     {"ld8.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x0b, 3), {R1, MR3}},
    188     {"ld1.sa",          M, OpMXX6aHint (4, 0, 0, 0x0c, 0), {R1, MR3}},
    189     {"ld1.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0c, 1), {R1, MR3}},
    190     {"ld1.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0c, 3), {R1, MR3}},
    191     {"ld2.sa",          M, OpMXX6aHint (4, 0, 0, 0x0d, 0), {R1, MR3}},
    192     {"ld2.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0d, 1), {R1, MR3}},
    193     {"ld2.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0d, 3), {R1, MR3}},
    194     {"ld4.sa",          M, OpMXX6aHint (4, 0, 0, 0x0e, 0), {R1, MR3}},
    195     {"ld4.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0e, 1), {R1, MR3}},
    196     {"ld4.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0e, 3), {R1, MR3}},
    197     {"ld8.sa",          M, OpMXX6aHint (4, 0, 0, 0x0f, 0), {R1, MR3}},
    198     {"ld8.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0f, 1), {R1, MR3}},
    199     {"ld8.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0f, 3), {R1, MR3}},
    200     {"ld1.bias",        M, OpMXX6aHint (4, 0, 0, 0x10, 0), {R1, MR3}},
    201     {"ld1.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x10, 1), {R1, MR3}},
    202     {"ld1.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x10, 3), {R1, MR3}},
    203     {"ld2.bias",        M, OpMXX6aHint (4, 0, 0, 0x11, 0), {R1, MR3}},
    204     {"ld2.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x11, 1), {R1, MR3}},
    205     {"ld2.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x11, 3), {R1, MR3}},
    206     {"ld4.bias",        M, OpMXX6aHint (4, 0, 0, 0x12, 0), {R1, MR3}},
    207     {"ld4.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x12, 1), {R1, MR3}},
    208     {"ld4.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x12, 3), {R1, MR3}},
    209     {"ld8.bias",        M, OpMXX6aHint (4, 0, 0, 0x13, 0), {R1, MR3}},
    210     {"ld8.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x13, 1), {R1, MR3}},
    211     {"ld8.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x13, 3), {R1, MR3}},
    212     {"ld1.acq",         M, OpMXX6aHint (4, 0, 0, 0x14, 0), {R1, MR3}},
    213     {"ld1.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x14, 1), {R1, MR3}},
    214     {"ld1.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x14, 3), {R1, MR3}},
    215     {"ld2.acq",         M, OpMXX6aHint (4, 0, 0, 0x15, 0), {R1, MR3}},
    216     {"ld2.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x15, 1), {R1, MR3}},
    217     {"ld2.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x15, 3), {R1, MR3}},
    218     {"ld4.acq",         M, OpMXX6aHint (4, 0, 0, 0x16, 0), {R1, MR3}},
    219     {"ld4.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x16, 1), {R1, MR3}},
    220     {"ld4.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x16, 3), {R1, MR3}},
    221     {"ld8.acq",         M, OpMXX6aHint (4, 0, 0, 0x17, 0), {R1, MR3}},
    222     {"ld8.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x17, 1), {R1, MR3}},
    223     {"ld8.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x17, 3), {R1, MR3}},
    224     {"ld8.fill",        M, OpMXX6aHint (4, 0, 0, 0x1b, 0), {R1, MR3}},
    225     {"ld8.fill.nt1",    M, OpMXX6aHint (4, 0, 0, 0x1b, 1), {R1, MR3}},
    226     {"ld8.fill.nta",    M, OpMXX6aHint (4, 0, 0, 0x1b, 3), {R1, MR3}},
    227     {"ld1.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x20, 0), {R1, MR3}},
    228     {"ld1.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x20, 1), {R1, MR3}},
    229     {"ld1.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x20, 3), {R1, MR3}},
    230     {"ld2.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x21, 0), {R1, MR3}},
    231     {"ld2.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x21, 1), {R1, MR3}},
    232     {"ld2.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x21, 3), {R1, MR3}},
    233     {"ld4.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x22, 0), {R1, MR3}},
    234     {"ld4.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x22, 1), {R1, MR3}},
    235     {"ld4.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x22, 3), {R1, MR3}},
    236     {"ld8.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x23, 0), {R1, MR3}},
    237     {"ld8.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x23, 1), {R1, MR3}},
    238     {"ld8.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x23, 3), {R1, MR3}},
    239     {"ld1.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x24, 0), {R1, MR3}},
    240     {"ld1.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x24, 1), {R1, MR3}},
    241     {"ld1.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x24, 3), {R1, MR3}},
    242     {"ld2.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x25, 0), {R1, MR3}},
    243     {"ld2.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x25, 1), {R1, MR3}},
    244     {"ld2.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x25, 3), {R1, MR3}},
    245     {"ld4.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x26, 0), {R1, MR3}},
    246     {"ld4.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x26, 1), {R1, MR3}},
    247     {"ld4.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x26, 3), {R1, MR3}},
    248     {"ld8.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x27, 0), {R1, MR3}},
    249     {"ld8.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x27, 1), {R1, MR3}},
    250     {"ld8.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x27, 3), {R1, MR3}},
    251     {"ld1.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x28, 0), {R1, MR3}},
    252     {"ld1.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x28, 1), {R1, MR3}},
    253     {"ld1.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x28, 3), {R1, MR3}},
    254     {"ld2.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x29, 0), {R1, MR3}},
    255     {"ld2.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x29, 1), {R1, MR3}},
    256     {"ld2.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x29, 3), {R1, MR3}},
    257     {"ld4.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x2a, 0), {R1, MR3}},
    258     {"ld4.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2a, 1), {R1, MR3}},
    259     {"ld4.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2a, 3), {R1, MR3}},
    260     {"ld8.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x2b, 0), {R1, MR3}},
    261     {"ld8.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2b, 1), {R1, MR3}},
    262     {"ld8.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2b, 3), {R1, MR3}},
    263 
    264     /* integer load w/increment by register */
    265 #define LDINCREG(c,h) M, OpMXX6aHint (4, 1, 0, c, h), {R1, MR3, R2}, POSTINC,
     166    {"ld1",             M, OpMXX6aHint (4, 0, 0, 0x00, 0), {R1, MR3}, EMPTY},
     167    {"ld1.nt1",         M, OpMXX6aHint (4, 0, 0, 0x00, 1), {R1, MR3}, EMPTY},
     168    {"ld1.nta",         M, OpMXX6aHint (4, 0, 0, 0x00, 3), {R1, MR3}, EMPTY},
     169    {"ld2",             M, OpMXX6aHint (4, 0, 0, 0x01, 0), {R1, MR3}, EMPTY},
     170    {"ld2.nt1",         M, OpMXX6aHint (4, 0, 0, 0x01, 1), {R1, MR3}, EMPTY},
     171    {"ld2.nta",         M, OpMXX6aHint (4, 0, 0, 0x01, 3), {R1, MR3}, EMPTY},
     172    {"ld4",             M, OpMXX6aHint (4, 0, 0, 0x02, 0), {R1, MR3}, EMPTY},
     173    {"ld4.nt1",         M, OpMXX6aHint (4, 0, 0, 0x02, 1), {R1, MR3}, EMPTY},
     174    {"ld4.nta",         M, OpMXX6aHint (4, 0, 0, 0x02, 3), {R1, MR3}, EMPTY},
     175    {"ld8",             M, OpMXX6aHint (4, 0, 0, 0x03, 0), {R1, MR3}, EMPTY},
     176    {"ld8.nt1",         M, OpMXX6aHint (4, 0, 0, 0x03, 1), {R1, MR3}, EMPTY},
     177    {"ld8.nta",         M, OpMXX6aHint (4, 0, 0, 0x03, 3), {R1, MR3}, EMPTY},
     178    {"ld16",            M2, OpMXX6aHint (4, 0, 1, 0x28, 0), {R1, AR_CSD, MR3}, EMPTY},
     179    {"ld16.nt1",        M2, OpMXX6aHint (4, 0, 1, 0x28, 1), {R1, AR_CSD, MR3}, EMPTY},
     180    {"ld16.nta",        M2, OpMXX6aHint (4, 0, 1, 0x28, 3), {R1, AR_CSD, MR3}, EMPTY},
     181    {"ld1.s",           M, OpMXX6aHint (4, 0, 0, 0x04, 0), {R1, MR3}, EMPTY},
     182    {"ld1.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x04, 1), {R1, MR3}, EMPTY},
     183    {"ld1.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x04, 3), {R1, MR3}, EMPTY},
     184    {"ld2.s",           M, OpMXX6aHint (4, 0, 0, 0x05, 0), {R1, MR3}, EMPTY},
     185    {"ld2.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x05, 1), {R1, MR3}, EMPTY},
     186    {"ld2.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x05, 3), {R1, MR3}, EMPTY},
     187    {"ld4.s",           M, OpMXX6aHint (4, 0, 0, 0x06, 0), {R1, MR3}, EMPTY},
     188    {"ld4.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x06, 1), {R1, MR3}, EMPTY},
     189    {"ld4.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x06, 3), {R1, MR3}, EMPTY},
     190    {"ld8.s",           M, OpMXX6aHint (4, 0, 0, 0x07, 0), {R1, MR3}, EMPTY},
     191    {"ld8.s.nt1",       M, OpMXX6aHint (4, 0, 0, 0x07, 1), {R1, MR3}, EMPTY},
     192    {"ld8.s.nta",       M, OpMXX6aHint (4, 0, 0, 0x07, 3), {R1, MR3}, EMPTY},
     193    {"ld1.a",           M, OpMXX6aHint (4, 0, 0, 0x08, 0), {R1, MR3}, EMPTY},
     194    {"ld1.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x08, 1), {R1, MR3}, EMPTY},
     195    {"ld1.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x08, 3), {R1, MR3}, EMPTY},
     196    {"ld2.a",           M, OpMXX6aHint (4, 0, 0, 0x09, 0), {R1, MR3}, EMPTY},
     197    {"ld2.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x09, 1), {R1, MR3}, EMPTY},
     198    {"ld2.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x09, 3), {R1, MR3}, EMPTY},
     199    {"ld4.a",           M, OpMXX6aHint (4, 0, 0, 0x0a, 0), {R1, MR3}, EMPTY},
     200    {"ld4.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x0a, 1), {R1, MR3}, EMPTY},
     201    {"ld4.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x0a, 3), {R1, MR3}, EMPTY},
     202    {"ld8.a",           M, OpMXX6aHint (4, 0, 0, 0x0b, 0), {R1, MR3}, EMPTY},
     203    {"ld8.a.nt1",       M, OpMXX6aHint (4, 0, 0, 0x0b, 1), {R1, MR3}, EMPTY},
     204    {"ld8.a.nta",       M, OpMXX6aHint (4, 0, 0, 0x0b, 3), {R1, MR3}, EMPTY},
     205    {"ld1.sa",          M, OpMXX6aHint (4, 0, 0, 0x0c, 0), {R1, MR3}, EMPTY},
     206    {"ld1.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0c, 1), {R1, MR3}, EMPTY},
     207    {"ld1.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0c, 3), {R1, MR3}, EMPTY},
     208    {"ld2.sa",          M, OpMXX6aHint (4, 0, 0, 0x0d, 0), {R1, MR3}, EMPTY},
     209    {"ld2.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0d, 1), {R1, MR3}, EMPTY},
     210    {"ld2.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0d, 3), {R1, MR3}, EMPTY},
     211    {"ld4.sa",          M, OpMXX6aHint (4, 0, 0, 0x0e, 0), {R1, MR3}, EMPTY},
     212    {"ld4.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0e, 1), {R1, MR3}, EMPTY},
     213    {"ld4.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0e, 3), {R1, MR3}, EMPTY},
     214    {"ld8.sa",          M, OpMXX6aHint (4, 0, 0, 0x0f, 0), {R1, MR3}, EMPTY},
     215    {"ld8.sa.nt1",      M, OpMXX6aHint (4, 0, 0, 0x0f, 1), {R1, MR3}, EMPTY},
     216    {"ld8.sa.nta",      M, OpMXX6aHint (4, 0, 0, 0x0f, 3), {R1, MR3}, EMPTY},
     217    {"ld1.bias",        M, OpMXX6aHint (4, 0, 0, 0x10, 0), {R1, MR3}, EMPTY},
     218    {"ld1.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x10, 1), {R1, MR3}, EMPTY},
     219    {"ld1.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x10, 3), {R1, MR3}, EMPTY},
     220    {"ld2.bias",        M, OpMXX6aHint (4, 0, 0, 0x11, 0), {R1, MR3}, EMPTY},
     221    {"ld2.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x11, 1), {R1, MR3}, EMPTY},
     222    {"ld2.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x11, 3), {R1, MR3}, EMPTY},
     223    {"ld4.bias",        M, OpMXX6aHint (4, 0, 0, 0x12, 0), {R1, MR3}, EMPTY},
     224    {"ld4.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x12, 1), {R1, MR3}, EMPTY},
     225    {"ld4.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x12, 3), {R1, MR3}, EMPTY},
     226    {"ld8.bias",        M, OpMXX6aHint (4, 0, 0, 0x13, 0), {R1, MR3}, EMPTY},
     227    {"ld8.bias.nt1",    M, OpMXX6aHint (4, 0, 0, 0x13, 1), {R1, MR3}, EMPTY},
     228    {"ld8.bias.nta",    M, OpMXX6aHint (4, 0, 0, 0x13, 3), {R1, MR3}, EMPTY},
     229    {"ld1.acq",         M, OpMXX6aHint (4, 0, 0, 0x14, 0), {R1, MR3}, EMPTY},
     230    {"ld1.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x14, 1), {R1, MR3}, EMPTY},
     231    {"ld1.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x14, 3), {R1, MR3}, EMPTY},
     232    {"ld2.acq",         M, OpMXX6aHint (4, 0, 0, 0x15, 0), {R1, MR3}, EMPTY},
     233    {"ld2.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x15, 1), {R1, MR3}, EMPTY},
     234    {"ld2.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x15, 3), {R1, MR3}, EMPTY},
     235    {"ld4.acq",         M, OpMXX6aHint (4, 0, 0, 0x16, 0), {R1, MR3}, EMPTY},
     236    {"ld4.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x16, 1), {R1, MR3}, EMPTY},
     237    {"ld4.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x16, 3), {R1, MR3}, EMPTY},
     238    {"ld8.acq",         M, OpMXX6aHint (4, 0, 0, 0x17, 0), {R1, MR3}, EMPTY},
     239    {"ld8.acq.nt1",     M, OpMXX6aHint (4, 0, 0, 0x17, 1), {R1, MR3}, EMPTY},
     240    {"ld8.acq.nta",     M, OpMXX6aHint (4, 0, 0, 0x17, 3), {R1, MR3}, EMPTY},
     241    {"ld16.acq",        M2, OpMXX6aHint (4, 0, 1, 0x2c, 0), {R1, AR_CSD, MR3}, EMPTY},
     242    {"ld16.acq.nt1",    M2, OpMXX6aHint (4, 0, 1, 0x2c, 1), {R1, AR_CSD, MR3}, EMPTY},
     243    {"ld16.acq.nta",    M2, OpMXX6aHint (4, 0, 1, 0x2c, 3), {R1, AR_CSD, MR3}, EMPTY},
     244    {"ld8.fill",        M, OpMXX6aHint (4, 0, 0, 0x1b, 0), {R1, MR3}, EMPTY},
     245    {"ld8.fill.nt1",    M, OpMXX6aHint (4, 0, 0, 0x1b, 1), {R1, MR3}, EMPTY},
     246    {"ld8.fill.nta",    M, OpMXX6aHint (4, 0, 0, 0x1b, 3), {R1, MR3}, EMPTY},
     247    {"ld1.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x20, 0), {R1, MR3}, EMPTY},
     248    {"ld1.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x20, 1), {R1, MR3}, EMPTY},
     249    {"ld1.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x20, 3), {R1, MR3}, EMPTY},
     250    {"ld2.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x21, 0), {R1, MR3}, EMPTY},
     251    {"ld2.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x21, 1), {R1, MR3}, EMPTY},
     252    {"ld2.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x21, 3), {R1, MR3}, EMPTY},
     253    {"ld4.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x22, 0), {R1, MR3}, EMPTY},
     254    {"ld4.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x22, 1), {R1, MR3}, EMPTY},
     255    {"ld4.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x22, 3), {R1, MR3}, EMPTY},
     256    {"ld8.c.clr",       M, OpMXX6aHint (4, 0, 0, 0x23, 0), {R1, MR3}, EMPTY},
     257    {"ld8.c.clr.nt1",   M, OpMXX6aHint (4, 0, 0, 0x23, 1), {R1, MR3}, EMPTY},
     258    {"ld8.c.clr.nta",   M, OpMXX6aHint (4, 0, 0, 0x23, 3), {R1, MR3}, EMPTY},
     259    {"ld1.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x24, 0), {R1, MR3}, EMPTY},
     260    {"ld1.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x24, 1), {R1, MR3}, EMPTY},
     261    {"ld1.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x24, 3), {R1, MR3}, EMPTY},
     262    {"ld2.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x25, 0), {R1, MR3}, EMPTY},
     263    {"ld2.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x25, 1), {R1, MR3}, EMPTY},
     264    {"ld2.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x25, 3), {R1, MR3}, EMPTY},
     265    {"ld4.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x26, 0), {R1, MR3}, EMPTY},
     266    {"ld4.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x26, 1), {R1, MR3}, EMPTY},
     267    {"ld4.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x26, 3), {R1, MR3}, EMPTY},
     268    {"ld8.c.nc",        M, OpMXX6aHint (4, 0, 0, 0x27, 0), {R1, MR3}, EMPTY},
     269    {"ld8.c.nc.nt1",    M, OpMXX6aHint (4, 0, 0, 0x27, 1), {R1, MR3}, EMPTY},
     270    {"ld8.c.nc.nta",    M, OpMXX6aHint (4, 0, 0, 0x27, 3), {R1, MR3}, EMPTY},
     271    {"ld1.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x28, 0), {R1, MR3}, EMPTY},
     272    {"ld1.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x28, 1), {R1, MR3}, EMPTY},
     273    {"ld1.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x28, 3), {R1, MR3}, EMPTY},
     274    {"ld2.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x29, 0), {R1, MR3}, EMPTY},
     275    {"ld2.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x29, 1), {R1, MR3}, EMPTY},
     276    {"ld2.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x29, 3), {R1, MR3}, EMPTY},
     277    {"ld4.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x2a, 0), {R1, MR3}, EMPTY},
     278    {"ld4.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2a, 1), {R1, MR3}, EMPTY},
     279    {"ld4.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2a, 3), {R1, MR3}, EMPTY},
     280    {"ld8.c.clr.acq",     M, OpMXX6aHint (4, 0, 0, 0x2b, 0), {R1, MR3}, EMPTY},
     281    {"ld8.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2b, 1), {R1, MR3}, EMPTY},
     282    {"ld8.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2b, 3), {R1, MR3}, EMPTY},
     283
     284    /* Pseudo-op that generates ldxmov relocation.  */
     285    {"ld8.mov",         M, OpMXX6aHint (4, 0, 0, 0x03, 0),
     286     {R1, MR3, IA64_OPND_LDXMOV}, EMPTY},
     287
     288    /* Integer load w/increment by register.  */
     289#define LDINCREG(c,h) M, OpMXX6aHint (4, 1, 0, c, h), {R1, MR3, R2}, POSTINC, 0, NULL
    266290    {"ld1",             LDINCREG (0x00, 0)},
    267291    {"ld1.nt1",         LDINCREG (0x00, 1)},
     
    377401#undef LDINCREG
    378402
    379     {"st1",             M, OpMXX6aHint (4, 0, 0, 0x30, 0), {MR3, R2}},
    380     {"st1.nta",         M, OpMXX6aHint (4, 0, 0, 0x30, 3), {MR3, R2}},
    381     {"st2",             M, OpMXX6aHint (4, 0, 0, 0x31, 0), {MR3, R2}},
    382     {"st2.nta",         M, OpMXX6aHint (4, 0, 0, 0x31, 3), {MR3, R2}},
    383     {"st4",             M, OpMXX6aHint (4, 0, 0, 0x32, 0), {MR3, R2}},
    384     {"st4.nta",         M, OpMXX6aHint (4, 0, 0, 0x32, 3), {MR3, R2}},
    385     {"st8",             M, OpMXX6aHint (4, 0, 0, 0x33, 0), {MR3, R2}},
    386     {"st8.nta",         M, OpMXX6aHint (4, 0, 0, 0x33, 3), {MR3, R2}},
    387     {"st1.rel",         M, OpMXX6aHint (4, 0, 0, 0x34, 0), {MR3, R2}},
    388     {"st1.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x34, 3), {MR3, R2}},
    389     {"st2.rel",         M, OpMXX6aHint (4, 0, 0, 0x35, 0), {MR3, R2}},
    390     {"st2.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x35, 3), {MR3, R2}},
    391     {"st4.rel",         M, OpMXX6aHint (4, 0, 0, 0x36, 0), {MR3, R2}},
    392     {"st4.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x36, 3), {MR3, R2}},
    393     {"st8.rel",         M, OpMXX6aHint (4, 0, 0, 0x37, 0), {MR3, R2}},
    394     {"st8.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x37, 3), {MR3, R2}},
    395     {"st8.spill",       M, OpMXX6aHint (4, 0, 0, 0x3b, 0), {MR3, R2}},
    396     {"st8.spill.nta",   M, OpMXX6aHint (4, 0, 0, 0x3b, 3), {MR3, R2}},
    397 
    398 #define CMPXCHG(c,h)    M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CCV}
     403    {"st1",             M, OpMXX6aHint (4, 0, 0, 0x30, 0), {MR3, R2}, EMPTY},
     404    {"st1.nta",         M, OpMXX6aHint (4, 0, 0, 0x30, 3), {MR3, R2}, EMPTY},
     405    {"st2",             M, OpMXX6aHint (4, 0, 0, 0x31, 0), {MR3, R2}, EMPTY},
     406    {"st2.nta",         M, OpMXX6aHint (4, 0, 0, 0x31, 3), {MR3, R2}, EMPTY},
     407    {"st4",             M, OpMXX6aHint (4, 0, 0, 0x32, 0), {MR3, R2}, EMPTY},
     408    {"st4.nta",         M, OpMXX6aHint (4, 0, 0, 0x32, 3), {MR3, R2}, EMPTY},
     409    {"st8",             M, OpMXX6aHint (4, 0, 0, 0x33, 0), {MR3, R2}, EMPTY},
     410    {"st8.nta",         M, OpMXX6aHint (4, 0, 0, 0x33, 3), {MR3, R2}, EMPTY},
     411    {"st16",            M, OpMXX6aHint (4, 0, 1, 0x30, 0), {MR3, R2, AR_CSD}, EMPTY},
     412    {"st16.nta",        M, OpMXX6aHint (4, 0, 1, 0x30, 3), {MR3, R2, AR_CSD}, EMPTY},
     413    {"st1.rel",         M, OpMXX6aHint (4, 0, 0, 0x34, 0), {MR3, R2}, EMPTY},
     414    {"st1.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x34, 3), {MR3, R2}, EMPTY},
     415    {"st2.rel",         M, OpMXX6aHint (4, 0, 0, 0x35, 0), {MR3, R2}, EMPTY},
     416    {"st2.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x35, 3), {MR3, R2}, EMPTY},
     417    {"st4.rel",         M, OpMXX6aHint (4, 0, 0, 0x36, 0), {MR3, R2}, EMPTY},
     418    {"st4.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x36, 3), {MR3, R2}, EMPTY},
     419    {"st8.rel",         M, OpMXX6aHint (4, 0, 0, 0x37, 0), {MR3, R2}, EMPTY},
     420    {"st8.rel.nta",     M, OpMXX6aHint (4, 0, 0, 0x37, 3), {MR3, R2}, EMPTY},
     421    {"st16.rel",        M, OpMXX6aHint (4, 0, 1, 0x34, 0), {MR3, R2, AR_CSD}, EMPTY},
     422    {"st16.rel.nta",    M, OpMXX6aHint (4, 0, 1, 0x34, 3), {MR3, R2, AR_CSD}, EMPTY},
     423    {"st8.spill",       M, OpMXX6aHint (4, 0, 0, 0x3b, 0), {MR3, R2}, EMPTY},
     424    {"st8.spill.nta",   M, OpMXX6aHint (4, 0, 0, 0x3b, 3), {MR3, R2}, EMPTY},
     425
     426#define CMPXCHG(c,h)    M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CCV}, EMPTY
     427#define CMPXCHG16(c,h)  M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CSD, AR_CCV}, EMPTY
    399428    {"cmpxchg1.acq",            CMPXCHG (0x00, 0)},
    400429    {"cmpxchg1.acq.nt1",        CMPXCHG (0x00, 1)},
     
    409438    {"cmpxchg8.acq.nt1",        CMPXCHG (0x03, 1)},
    410439    {"cmpxchg8.acq.nta",        CMPXCHG (0x03, 3)},
     440    {"cmp8xchg16.acq",          CMPXCHG16 (0x20, 0)},
     441    {"cmp8xchg16.acq.nt1",      CMPXCHG16 (0x20, 1)},
     442    {"cmp8xchg16.acq.nta",      CMPXCHG16 (0x20, 3)},
    411443    {"cmpxchg1.rel",            CMPXCHG (0x04, 0)},
    412444    {"cmpxchg1.rel.nt1",        CMPXCHG (0x04, 1)},
     
    421453    {"cmpxchg8.rel.nt1",        CMPXCHG (0x07, 1)},
    422454    {"cmpxchg8.rel.nta",        CMPXCHG (0x07, 3)},
     455    {"cmp8xchg16.rel",          CMPXCHG16 (0x24, 0)},
     456    {"cmp8xchg16.rel.nt1",      CMPXCHG16 (0x24, 1)},
     457    {"cmp8xchg16.rel.nta",      CMPXCHG16 (0x24, 3)},
    423458#undef CMPXCHG
    424     {"xchg1",             M, OpMXX6aHint (4, 0, 1, 0x08, 0), {R1, MR3, R2}},
    425     {"xchg1.nt1",         M, OpMXX6aHint (4, 0, 1, 0x08, 1), {R1, MR3, R2}},
    426     {"xchg1.nta",         M, OpMXX6aHint (4, 0, 1, 0x08, 3), {R1, MR3, R2}},
    427     {"xchg2",             M, OpMXX6aHint (4, 0, 1, 0x09, 0), {R1, MR3, R2}},
    428     {"xchg2.nt1",         M, OpMXX6aHint (4, 0, 1, 0x09, 1), {R1, MR3, R2}},
    429     {"xchg2.nta",         M, OpMXX6aHint (4, 0, 1, 0x09, 3), {R1, MR3, R2}},
    430     {"xchg4",             M, OpMXX6aHint (4, 0, 1, 0x0a, 0), {R1, MR3, R2}},
    431     {"xchg4.nt1",         M, OpMXX6aHint (4, 0, 1, 0x0a, 1), {R1, MR3, R2}},
    432     {"xchg4.nta",         M, OpMXX6aHint (4, 0, 1, 0x0a, 3), {R1, MR3, R2}},
    433     {"xchg8",             M, OpMXX6aHint (4, 0, 1, 0x0b, 0), {R1, MR3, R2}},
    434     {"xchg8.nt1",         M, OpMXX6aHint (4, 0, 1, 0x0b, 1), {R1, MR3, R2}},
    435     {"xchg8.nta",         M, OpMXX6aHint (4, 0, 1, 0x0b, 3), {R1, MR3, R2}},
    436 
    437     {"fetchadd4.acq",     M, OpMXX6aHint (4, 0, 1, 0x12, 0), {R1, MR3, INC3}},
    438     {"fetchadd4.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x12, 1), {R1, MR3, INC3}},
    439     {"fetchadd4.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x12, 3), {R1, MR3, INC3}},
    440     {"fetchadd8.acq",     M, OpMXX6aHint (4, 0, 1, 0x13, 0), {R1, MR3, INC3}},
    441     {"fetchadd8.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x13, 1), {R1, MR3, INC3}},
    442     {"fetchadd8.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x13, 3), {R1, MR3, INC3}},
    443     {"fetchadd4.rel",     M, OpMXX6aHint (4, 0, 1, 0x16, 0), {R1, MR3, INC3}},
    444     {"fetchadd4.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x16, 1), {R1, MR3, INC3}},
    445     {"fetchadd4.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x16, 3), {R1, MR3, INC3}},
    446     {"fetchadd8.rel",     M, OpMXX6aHint (4, 0, 1, 0x17, 0), {R1, MR3, INC3}},
    447     {"fetchadd8.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x17, 1), {R1, MR3, INC3}},
    448     {"fetchadd8.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x17, 3), {R1, MR3, INC3}},
    449 
    450     {"getf.sig",          M, OpMXX6a (4, 0, 1, 0x1c), {R1, F2}},
    451     {"getf.exp",          M, OpMXX6a (4, 0, 1, 0x1d), {R1, F2}},
    452     {"getf.s",            M, OpMXX6a (4, 0, 1, 0x1e), {R1, F2}},
    453     {"getf.d",            M, OpMXX6a (4, 0, 1, 0x1f), {R1, F2}},
    454 
    455     /* integer load w/increment by immediate */
    456 #define LDINCIMMED(c,h) M, OpX6aHint (5, c, h), {R1, MR3, IMM9b}, POSTINC
     459#undef CMPXCHG16
     460    {"xchg1",             M, OpMXX6aHint (4, 0, 1, 0x08, 0), {R1, MR3, R2}, EMPTY},
     461    {"xchg1.nt1",         M, OpMXX6aHint (4, 0, 1, 0x08, 1), {R1, MR3, R2}, EMPTY},
     462    {"xchg1.nta",         M, OpMXX6aHint (4, 0, 1, 0x08, 3), {R1, MR3, R2}, EMPTY},
     463    {"xchg2",             M, OpMXX6aHint (4, 0, 1, 0x09, 0), {R1, MR3, R2}, EMPTY},
     464    {"xchg2.nt1",         M, OpMXX6aHint (4, 0, 1, 0x09, 1), {R1, MR3, R2}, EMPTY},
     465    {"xchg2.nta",         M, OpMXX6aHint (4, 0, 1, 0x09, 3), {R1, MR3, R2}, EMPTY},
     466    {"xchg4",             M, OpMXX6aHint (4, 0, 1, 0x0a, 0), {R1, MR3, R2}, EMPTY},
     467    {"xchg4.nt1",         M, OpMXX6aHint (4, 0, 1, 0x0a, 1), {R1, MR3, R2}, EMPTY},
     468    {"xchg4.nta",         M, OpMXX6aHint (4, 0, 1, 0x0a, 3), {R1, MR3, R2}, EMPTY},
     469    {"xchg8",             M, OpMXX6aHint (4, 0, 1, 0x0b, 0), {R1, MR3, R2}, EMPTY},
     470    {"xchg8.nt1",         M, OpMXX6aHint (4, 0, 1, 0x0b, 1), {R1, MR3, R2}, EMPTY},
     471    {"xchg8.nta",         M, OpMXX6aHint (4, 0, 1, 0x0b, 3), {R1, MR3, R2}, EMPTY},
     472
     473    {"fetchadd4.acq",     M, OpMXX6aHint (4, 0, 1, 0x12, 0), {R1, MR3, INC3}, EMPTY},
     474    {"fetchadd4.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x12, 1), {R1, MR3, INC3}, EMPTY},
     475    {"fetchadd4.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x12, 3), {R1, MR3, INC3}, EMPTY},
     476    {"fetchadd8.acq",     M, OpMXX6aHint (4, 0, 1, 0x13, 0), {R1, MR3, INC3}, EMPTY},
     477    {"fetchadd8.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x13, 1), {R1, MR3, INC3}, EMPTY},
     478    {"fetchadd8.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x13, 3), {R1, MR3, INC3}, EMPTY},
     479    {"fetchadd4.rel",     M, OpMXX6aHint (4, 0, 1, 0x16, 0), {R1, MR3, INC3}, EMPTY},
     480    {"fetchadd4.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x16, 1), {R1, MR3, INC3}, EMPTY},
     481    {"fetchadd4.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x16, 3), {R1, MR3, INC3}, EMPTY},
     482    {"fetchadd8.rel",     M, OpMXX6aHint (4, 0, 1, 0x17, 0), {R1, MR3, INC3}, EMPTY},
     483    {"fetchadd8.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x17, 1), {R1, MR3, INC3}, EMPTY},
     484    {"fetchadd8.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x17, 3), {R1, MR3, INC3}, EMPTY},
     485
     486    {"getf.sig",          M, OpMXX6a (4, 0, 1, 0x1c), {R1, F2}, EMPTY},
     487    {"getf.exp",          M, OpMXX6a (4, 0, 1, 0x1d), {R1, F2}, EMPTY},
     488    {"getf.s",            M, OpMXX6a (4, 0, 1, 0x1e), {R1, F2}, EMPTY},
     489    {"getf.d",            M, OpMXX6a (4, 0, 1, 0x1f), {R1, F2}, EMPTY},
     490
     491    /* Integer load w/increment by immediate.  */
     492#define LDINCIMMED(c,h) M, OpX6aHint (5, c, h), {R1, MR3, IMM9b}, POSTINC, 0, NULL
    457493    {"ld1",             LDINCIMMED (0x00, 0)},
    458494    {"ld1.nt1",         LDINCIMMED (0x00, 1)},
     
    568604#undef LDINCIMMED
    569605
    570     /* store w/increment by immediate */
    571 #define STINCIMMED(c,h) M, OpX6aHint (5, c, h), {MR3, R2, IMM9a}, POSTINC
     606    /* Store w/increment by immediate. */
     607#define STINCIMMED(c,h) M, OpX6aHint (5, c, h), {MR3, R2, IMM9a}, POSTINC, 0, NULL
    572608    {"st1",             STINCIMMED (0x30, 0)},
    573609    {"st1.nta",         STINCIMMED (0x30, 3)},
     
    590626#undef STINCIMMED
    591627
    592     /* floating-point load */
    593     {"ldfs",            M, OpMXX6aHint (6, 0, 0, 0x02, 0), {F1, MR3}},
    594     {"ldfs.nt1",        M, OpMXX6aHint (6, 0, 0, 0x02, 1), {F1, MR3}},
    595     {"ldfs.nta",        M, OpMXX6aHint (6, 0, 0, 0x02, 3), {F1, MR3}},
    596     {"ldfd",            M, OpMXX6aHint (6, 0, 0, 0x03, 0), {F1, MR3}},
    597     {"ldfd.nt1",        M, OpMXX6aHint (6, 0, 0, 0x03, 1), {F1, MR3}},
    598     {"ldfd.nta",        M, OpMXX6aHint (6, 0, 0, 0x03, 3), {F1, MR3}},
    599     {"ldf8",            M, OpMXX6aHint (6, 0, 0, 0x01, 0), {F1, MR3}},
    600     {"ldf8.nt1",        M, OpMXX6aHint (6, 0, 0, 0x01, 1), {F1, MR3}},
    601     {"ldf8.nta",        M, OpMXX6aHint (6, 0, 0, 0x01, 3), {F1, MR3}},
    602     {"ldfe",            M, OpMXX6aHint (6, 0, 0, 0x00, 0), {F1, MR3}},
    603     {"ldfe.nt1",        M, OpMXX6aHint (6, 0, 0, 0x00, 1), {F1, MR3}},
    604     {"ldfe.nta",        M, OpMXX6aHint (6, 0, 0, 0x00, 3), {F1, MR3}},
    605     {"ldfs.s",          M, OpMXX6aHint (6, 0, 0, 0x06, 0), {F1, MR3}},
    606     {"ldfs.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x06, 1), {F1, MR3}},
    607     {"ldfs.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x06, 3), {F1, MR3}},
    608     {"ldfd.s",          M, OpMXX6aHint (6, 0, 0, 0x07, 0), {F1, MR3}},
    609     {"ldfd.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x07, 1), {F1, MR3}},
    610     {"ldfd.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x07, 3), {F1, MR3}},
    611     {"ldf8.s",          M, OpMXX6aHint (6, 0, 0, 0x05, 0), {F1, MR3}},
    612     {"ldf8.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x05, 1), {F1, MR3}},
    613     {"ldf8.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x05, 3), {F1, MR3}},
    614     {"ldfe.s",          M, OpMXX6aHint (6, 0, 0, 0x04, 0), {F1, MR3}},
    615     {"ldfe.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x04, 1), {F1, MR3}},
    616     {"ldfe.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x04, 3), {F1, MR3}},
    617     {"ldfs.a",          M, OpMXX6aHint (6, 0, 0, 0x0a, 0), {F1, MR3}},
    618     {"ldfs.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x0a, 1), {F1, MR3}},
    619     {"ldfs.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x0a, 3), {F1, MR3}},
    620     {"ldfd.a",          M, OpMXX6aHint (6, 0, 0, 0x0b, 0), {F1, MR3}},
    621     {"ldfd.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x0b, 1), {F1, MR3}},
    622     {"ldfd.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x0b, 3), {F1, MR3}},
    623     {"ldf8.a",          M, OpMXX6aHint (6, 0, 0, 0x09, 0), {F1, MR3}},
    624     {"ldf8.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x09, 1), {F1, MR3}},
    625     {"ldf8.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x09, 3), {F1, MR3}},
    626     {"ldfe.a",          M, OpMXX6aHint (6, 0, 0, 0x08, 0), {F1, MR3}},
    627     {"ldfe.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x08, 1), {F1, MR3}},
    628     {"ldfe.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x08, 3), {F1, MR3}},
    629     {"ldfs.sa",         M, OpMXX6aHint (6, 0, 0, 0x0e, 0), {F1, MR3}},
    630     {"ldfs.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0e, 1), {F1, MR3}},
    631     {"ldfs.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0e, 3), {F1, MR3}},
    632     {"ldfd.sa",         M, OpMXX6aHint (6, 0, 0, 0x0f, 0), {F1, MR3}},
    633     {"ldfd.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0f, 1), {F1, MR3}},
    634     {"ldfd.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0f, 3), {F1, MR3}},
    635     {"ldf8.sa",         M, OpMXX6aHint (6, 0, 0, 0x0d, 0), {F1, MR3}},
    636     {"ldf8.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0d, 1), {F1, MR3}},
    637     {"ldf8.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0d, 3), {F1, MR3}},
    638     {"ldfe.sa",         M, OpMXX6aHint (6, 0, 0, 0x0c, 0), {F1, MR3}},
    639     {"ldfe.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0c, 1), {F1, MR3}},
    640     {"ldfe.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0c, 3), {F1, MR3}},
    641     {"ldf.fill",        M, OpMXX6aHint (6, 0, 0, 0x1b, 0), {F1, MR3}},
    642     {"ldf.fill.nt1",    M, OpMXX6aHint (6, 0, 0, 0x1b, 1), {F1, MR3}},
    643     {"ldf.fill.nta",    M, OpMXX6aHint (6, 0, 0, 0x1b, 3), {F1, MR3}},
    644     {"ldfs.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x22, 0), {F1, MR3}},
    645     {"ldfs.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x22, 1), {F1, MR3}},
    646     {"ldfs.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x22, 3), {F1, MR3}},
    647     {"ldfd.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x23, 0), {F1, MR3}},
    648     {"ldfd.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x23, 1), {F1, MR3}},
    649     {"ldfd.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x23, 3), {F1, MR3}},
    650     {"ldf8.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x21, 0), {F1, MR3}},
    651     {"ldf8.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x21, 1), {F1, MR3}},
    652     {"ldf8.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x21, 3), {F1, MR3}},
    653     {"ldfe.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x20, 0), {F1, MR3}},
    654     {"ldfe.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x20, 1), {F1, MR3}},
    655     {"ldfe.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x20, 3), {F1, MR3}},
    656     {"ldfs.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x26, 0), {F1, MR3}},
    657     {"ldfs.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x26, 1), {F1, MR3}},
    658     {"ldfs.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x26, 3), {F1, MR3}},
    659     {"ldfd.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x27, 0), {F1, MR3}},
    660     {"ldfd.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x27, 1), {F1, MR3}},
    661     {"ldfd.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x27, 3), {F1, MR3}},
    662     {"ldf8.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x25, 0), {F1, MR3}},
    663     {"ldf8.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x25, 1), {F1, MR3}},
    664     {"ldf8.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x25, 3), {F1, MR3}},
    665     {"ldfe.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x24, 0), {F1, MR3}},
    666     {"ldfe.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x24, 1), {F1, MR3}},
    667     {"ldfe.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x24, 3), {F1, MR3}},
    668 
    669     /* floating-point load w/increment by register */
    670 #define FLDINCREG(c,h) M, OpMXX6aHint (6, 1, 0, c, h), {F1, MR3, R2}, POSTINC
     628    /* Floating-point load. */
     629    {"ldfs",            M, OpMXX6aHint (6, 0, 0, 0x02, 0), {F1, MR3}, EMPTY},
     630    {"ldfs.nt1",        M, OpMXX6aHint (6, 0, 0, 0x02, 1), {F1, MR3}, EMPTY},
     631    {"ldfs.nta",        M, OpMXX6aHint (6, 0, 0, 0x02, 3), {F1, MR3}, EMPTY},
     632    {"ldfd",            M, OpMXX6aHint (6, 0, 0, 0x03, 0), {F1, MR3}, EMPTY},
     633    {"ldfd.nt1",        M, OpMXX6aHint (6, 0, 0, 0x03, 1), {F1, MR3}, EMPTY},
     634    {"ldfd.nta",        M, OpMXX6aHint (6, 0, 0, 0x03, 3), {F1, MR3}, EMPTY},
     635    {"ldf8",            M, OpMXX6aHint (6, 0, 0, 0x01, 0), {F1, MR3}, EMPTY},
     636    {"ldf8.nt1",        M, OpMXX6aHint (6, 0, 0, 0x01, 1), {F1, MR3}, EMPTY},
     637    {"ldf8.nta",        M, OpMXX6aHint (6, 0, 0, 0x01, 3), {F1, MR3}, EMPTY},
     638    {"ldfe",            M, OpMXX6aHint (6, 0, 0, 0x00, 0), {F1, MR3}, EMPTY},
     639    {"ldfe.nt1",        M, OpMXX6aHint (6, 0, 0, 0x00, 1), {F1, MR3}, EMPTY},
     640    {"ldfe.nta",        M, OpMXX6aHint (6, 0, 0, 0x00, 3), {F1, MR3}, EMPTY},
     641    {"ldfs.s",          M, OpMXX6aHint (6, 0, 0, 0x06, 0), {F1, MR3}, EMPTY},
     642    {"ldfs.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x06, 1), {F1, MR3}, EMPTY},
     643    {"ldfs.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x06, 3), {F1, MR3}, EMPTY},
     644    {"ldfd.s",          M, OpMXX6aHint (6, 0, 0, 0x07, 0), {F1, MR3}, EMPTY},
     645    {"ldfd.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x07, 1), {F1, MR3}, EMPTY},
     646    {"ldfd.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x07, 3), {F1, MR3}, EMPTY},
     647    {"ldf8.s",          M, OpMXX6aHint (6, 0, 0, 0x05, 0), {F1, MR3}, EMPTY},
     648    {"ldf8.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x05, 1), {F1, MR3}, EMPTY},
     649    {"ldf8.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x05, 3), {F1, MR3}, EMPTY},
     650    {"ldfe.s",          M, OpMXX6aHint (6, 0, 0, 0x04, 0), {F1, MR3}, EMPTY},
     651    {"ldfe.s.nt1",      M, OpMXX6aHint (6, 0, 0, 0x04, 1), {F1, MR3}, EMPTY},
     652    {"ldfe.s.nta",      M, OpMXX6aHint (6, 0, 0, 0x04, 3), {F1, MR3}, EMPTY},
     653    {"ldfs.a",          M, OpMXX6aHint (6, 0, 0, 0x0a, 0), {F1, MR3}, EMPTY},
     654    {"ldfs.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x0a, 1), {F1, MR3}, EMPTY},
     655    {"ldfs.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x0a, 3), {F1, MR3}, EMPTY},
     656    {"ldfd.a",          M, OpMXX6aHint (6, 0, 0, 0x0b, 0), {F1, MR3}, EMPTY},
     657    {"ldfd.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x0b, 1), {F1, MR3}, EMPTY},
     658    {"ldfd.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x0b, 3), {F1, MR3}, EMPTY},
     659    {"ldf8.a",          M, OpMXX6aHint (6, 0, 0, 0x09, 0), {F1, MR3}, EMPTY},
     660    {"ldf8.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x09, 1), {F1, MR3}, EMPTY},
     661    {"ldf8.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x09, 3), {F1, MR3}, EMPTY},
     662    {"ldfe.a",          M, OpMXX6aHint (6, 0, 0, 0x08, 0), {F1, MR3}, EMPTY},
     663    {"ldfe.a.nt1",      M, OpMXX6aHint (6, 0, 0, 0x08, 1), {F1, MR3}, EMPTY},
     664    {"ldfe.a.nta",      M, OpMXX6aHint (6, 0, 0, 0x08, 3), {F1, MR3}, EMPTY},
     665    {"ldfs.sa",         M, OpMXX6aHint (6, 0, 0, 0x0e, 0), {F1, MR3}, EMPTY},
     666    {"ldfs.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0e, 1), {F1, MR3}, EMPTY},
     667    {"ldfs.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0e, 3), {F1, MR3}, EMPTY},
     668    {"ldfd.sa",         M, OpMXX6aHint (6, 0, 0, 0x0f, 0), {F1, MR3}, EMPTY},
     669    {"ldfd.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0f, 1), {F1, MR3}, EMPTY},
     670    {"ldfd.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0f, 3), {F1, MR3}, EMPTY},
     671    {"ldf8.sa",         M, OpMXX6aHint (6, 0, 0, 0x0d, 0), {F1, MR3}, EMPTY},
     672    {"ldf8.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0d, 1), {F1, MR3}, EMPTY},
     673    {"ldf8.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0d, 3), {F1, MR3}, EMPTY},
     674    {"ldfe.sa",         M, OpMXX6aHint (6, 0, 0, 0x0c, 0), {F1, MR3}, EMPTY},
     675    {"ldfe.sa.nt1",     M, OpMXX6aHint (6, 0, 0, 0x0c, 1), {F1, MR3}, EMPTY},
     676    {"ldfe.sa.nta",     M, OpMXX6aHint (6, 0, 0, 0x0c, 3), {F1, MR3}, EMPTY},
     677    {"ldf.fill",        M, OpMXX6aHint (6, 0, 0, 0x1b, 0), {F1, MR3}, EMPTY},
     678    {"ldf.fill.nt1",    M, OpMXX6aHint (6, 0, 0, 0x1b, 1), {F1, MR3}, EMPTY},
     679    {"ldf.fill.nta",    M, OpMXX6aHint (6, 0, 0, 0x1b, 3), {F1, MR3}, EMPTY},
     680    {"ldfs.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x22, 0), {F1, MR3}, EMPTY},
     681    {"ldfs.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x22, 1), {F1, MR3}, EMPTY},
     682    {"ldfs.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x22, 3), {F1, MR3}, EMPTY},
     683    {"ldfd.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x23, 0), {F1, MR3}, EMPTY},
     684    {"ldfd.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x23, 1), {F1, MR3}, EMPTY},
     685    {"ldfd.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x23, 3), {F1, MR3}, EMPTY},
     686    {"ldf8.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x21, 0), {F1, MR3}, EMPTY},
     687    {"ldf8.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x21, 1), {F1, MR3}, EMPTY},
     688    {"ldf8.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x21, 3), {F1, MR3}, EMPTY},
     689    {"ldfe.c.clr",      M, OpMXX6aHint (6, 0, 0, 0x20, 0), {F1, MR3}, EMPTY},
     690    {"ldfe.c.clr.nt1",  M, OpMXX6aHint (6, 0, 0, 0x20, 1), {F1, MR3}, EMPTY},
     691    {"ldfe.c.clr.nta",  M, OpMXX6aHint (6, 0, 0, 0x20, 3), {F1, MR3}, EMPTY},
     692    {"ldfs.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x26, 0), {F1, MR3}, EMPTY},
     693    {"ldfs.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x26, 1), {F1, MR3}, EMPTY},
     694    {"ldfs.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x26, 3), {F1, MR3}, EMPTY},
     695    {"ldfd.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x27, 0), {F1, MR3}, EMPTY},
     696    {"ldfd.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x27, 1), {F1, MR3}, EMPTY},
     697    {"ldfd.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x27, 3), {F1, MR3}, EMPTY},
     698    {"ldf8.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x25, 0), {F1, MR3}, EMPTY},
     699    {"ldf8.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x25, 1), {F1, MR3}, EMPTY},
     700    {"ldf8.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x25, 3), {F1, MR3}, EMPTY},
     701    {"ldfe.c.nc",       M, OpMXX6aHint (6, 0, 0, 0x24, 0), {F1, MR3}, EMPTY},
     702    {"ldfe.c.nc.nt1",   M, OpMXX6aHint (6, 0, 0, 0x24, 1), {F1, MR3}, EMPTY},
     703    {"ldfe.c.nc.nta",   M, OpMXX6aHint (6, 0, 0, 0x24, 3), {F1, MR3}, EMPTY},
     704
     705    /* Floating-point load w/increment by register. */
     706#define FLDINCREG(c,h) M, OpMXX6aHint (6, 1, 0, c, h), {F1, MR3, R2}, POSTINC, 0, NULL
    671707    {"ldfs",            FLDINCREG (0x02, 0)},
    672708    {"ldfs.nt1",        FLDINCREG (0x02, 1)},
     
    746782#undef FLDINCREG
    747783
    748     /* floating-point store */
    749     {"stfs",            M, OpMXX6aHint (6, 0, 0, 0x32, 0), {MR3, F2}},
    750     {"stfs.nta",        M, OpMXX6aHint (6, 0, 0, 0x32, 3), {MR3, F2}},
    751     {"stfd",            M, OpMXX6aHint (6, 0, 0, 0x33, 0), {MR3, F2}},
    752     {"stfd.nta",        M, OpMXX6aHint (6, 0, 0, 0x33, 3), {MR3, F2}},
    753     {"stf8",            M, OpMXX6aHint (6, 0, 0, 0x31, 0), {MR3, F2}},
    754     {"stf8.nta",        M, OpMXX6aHint (6, 0, 0, 0x31, 3), {MR3, F2}},
    755     {"stfe",            M, OpMXX6aHint (6, 0, 0, 0x30, 0), {MR3, F2}},
    756     {"stfe.nta",        M, OpMXX6aHint (6, 0, 0, 0x30, 3), {MR3, F2}},
    757     {"stf.spill",       M, OpMXX6aHint (6, 0, 0, 0x3b, 0), {MR3, F2}},
    758     {"stf.spill.nta",   M, OpMXX6aHint (6, 0, 0, 0x3b, 3), {MR3, F2}},
    759 
    760     /* floating-point load pair */
    761     {"ldfps",           M2, OpMXX6aHint (6, 0, 1, 0x02, 0), {F1, F2, MR3}},
    762     {"ldfps.nt1",       M2, OpMXX6aHint (6, 0, 1, 0x02, 1), {F1, F2, MR3}},
    763     {"ldfps.nta",       M2, OpMXX6aHint (6, 0, 1, 0x02, 3), {F1, F2, MR3}},
    764     {"ldfpd",           M2, OpMXX6aHint (6, 0, 1, 0x03, 0), {F1, F2, MR3}},
    765     {"ldfpd.nt1",       M2, OpMXX6aHint (6, 0, 1, 0x03, 1), {F1, F2, MR3}},
    766     {"ldfpd.nta",       M2, OpMXX6aHint (6, 0, 1, 0x03, 3), {F1, F2, MR3}},
    767     {"ldfp8",           M2, OpMXX6aHint (6, 0, 1, 0x01, 0), {F1, F2, MR3}},
    768     {"ldfp8.nt1",       M2, OpMXX6aHint (6, 0, 1, 0x01, 1), {F1, F2, MR3}},
    769     {"ldfp8.nta",       M2, OpMXX6aHint (6, 0, 1, 0x01, 3), {F1, F2, MR3}},
    770     {"ldfps.s",         M2, OpMXX6aHint (6, 0, 1, 0x06, 0), {F1, F2, MR3}},
    771     {"ldfps.s.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x06, 1), {F1, F2, MR3}},
    772     {"ldfps.s.nta",     M2, OpMXX6aHint (6, 0, 1, 0x06, 3), {F1, F2, MR3}},
    773     {"ldfpd.s",         M2, OpMXX6aHint (6, 0, 1, 0x07, 0), {F1, F2, MR3}},
    774     {"ldfpd.s.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x07, 1), {F1, F2, MR3}},
    775     {"ldfpd.s.nta",     M2, OpMXX6aHint (6, 0, 1, 0x07, 3), {F1, F2, MR3}},
    776     {"ldfp8.s",         M2, OpMXX6aHint (6, 0, 1, 0x05, 0), {F1, F2, MR3}},
    777     {"ldfp8.s.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x05, 1), {F1, F2, MR3}},
    778     {"ldfp8.s.nta",     M2, OpMXX6aHint (6, 0, 1, 0x05, 3), {F1, F2, MR3}},
    779     {"ldfps.a",         M2, OpMXX6aHint (6, 0, 1, 0x0a, 0), {F1, F2, MR3}},
    780     {"ldfps.a.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x0a, 1), {F1, F2, MR3}},
    781     {"ldfps.a.nta",     M2, OpMXX6aHint (6, 0, 1, 0x0a, 3), {F1, F2, MR3}},
    782     {"ldfpd.a",         M2, OpMXX6aHint (6, 0, 1, 0x0b, 0), {F1, F2, MR3}},
    783     {"ldfpd.a.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x0b, 1), {F1, F2, MR3}},
    784     {"ldfpd.a.nta",     M2, OpMXX6aHint (6, 0, 1, 0x0b, 3), {F1, F2, MR3}},
    785     {"ldfp8.a",         M2, OpMXX6aHint (6, 0, 1, 0x09, 0), {F1, F2, MR3}},
    786     {"ldfp8.a.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x09, 1), {F1, F2, MR3}},
    787     {"ldfp8.a.nta",     M2, OpMXX6aHint (6, 0, 1, 0x09, 3), {F1, F2, MR3}},
    788     {"ldfps.sa",        M2, OpMXX6aHint (6, 0, 1, 0x0e, 0), {F1, F2, MR3}},
    789     {"ldfps.sa.nt1",    M2, OpMXX6aHint (6, 0, 1, 0x0e, 1), {F1, F2, MR3}},
    790     {"ldfps.sa.nta",    M2, OpMXX6aHint (6, 0, 1, 0x0e, 3), {F1, F2, MR3}},
    791     {"ldfpd.sa",        M2, OpMXX6aHint (6, 0, 1, 0x0f, 0), {F1, F2, MR3}},
    792     {"ldfpd.sa.nt1",    M2, OpMXX6aHint (6, 0, 1, 0x0f, 1), {F1, F2, MR3}},
    793     {"ldfpd.sa.nta",    M2, OpMXX6aHint (6, 0, 1, 0x0f, 3), {F1, F2, MR3}},
    794     {"ldfp8.sa",        M2, OpMXX6aHint (6, 0, 1, 0x0d, 0), {F1, F2, MR3}},
    795     {"ldfp8.sa.nt1",    M2, OpMXX6aHint (6, 0, 1, 0x0d, 1), {F1, F2, MR3}},
    796     {"ldfp8.sa.nta",    M2, OpMXX6aHint (6, 0, 1, 0x0d, 3), {F1, F2, MR3}},
    797     {"ldfps.c.clr",     M2, OpMXX6aHint (6, 0, 1, 0x22, 0), {F1, F2, MR3}},
    798     {"ldfps.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x22, 1), {F1, F2, MR3}},
    799     {"ldfps.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x22, 3), {F1, F2, MR3}},
    800     {"ldfpd.c.clr",     M2, OpMXX6aHint (6, 0, 1, 0x23, 0), {F1, F2, MR3}},
    801     {"ldfpd.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x23, 1), {F1, F2, MR3}},
    802     {"ldfpd.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x23, 3), {F1, F2, MR3}},
    803     {"ldfp8.c.clr",     M2, OpMXX6aHint (6, 0, 1, 0x21, 0), {F1, F2, MR3}},
    804     {"ldfp8.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x21, 1), {F1, F2, MR3}},
    805     {"ldfp8.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x21, 3), {F1, F2, MR3}},
    806     {"ldfps.c.nc",      M2, OpMXX6aHint (6, 0, 1, 0x26, 0), {F1, F2, MR3}},
    807     {"ldfps.c.nc.nt1",  M2, OpMXX6aHint (6, 0, 1, 0x26, 1), {F1, F2, MR3}},
    808     {"ldfps.c.nc.nta",  M2, OpMXX6aHint (6, 0, 1, 0x26, 3), {F1, F2, MR3}},
    809     {"ldfpd.c.nc",      M2, OpMXX6aHint (6, 0, 1, 0x27, 0), {F1, F2, MR3}},
    810     {"ldfpd.c.nc.nt1",  M2, OpMXX6aHint (6, 0, 1, 0x27, 1), {F1, F2, MR3}},
    811     {"ldfpd.c.nc.nta",  M2, OpMXX6aHint (6, 0, 1, 0x27, 3), {F1, F2, MR3}},
    812     {"ldfp8.c.nc",      M2, OpMXX6aHint (6, 0, 1, 0x25, 0), {F1, F2, MR3}},
    813     {"ldfp8.c.nc.nt1",  M2, OpMXX6aHint (6, 0, 1, 0x25, 1), {F1, F2, MR3}},
    814     {"ldfp8.c.nc.nta",  M2, OpMXX6aHint (6, 0, 1, 0x25, 3), {F1, F2, MR3}},
    815 
    816     /* floating-point load pair w/increment by immediate */
    817 #define LD(a,b,c) M2, OpMXX6aHint (6, 1, 1, a, b), {F1, F2, MR3, c}, POSTINC
     784    /* Floating-point store. */
     785    {"stfs",            M, OpMXX6aHint (6, 0, 0, 0x32, 0), {MR3, F2}, EMPTY},
     786    {"stfs.nta",        M, OpMXX6aHint (6, 0, 0, 0x32, 3), {MR3, F2}, EMPTY},
     787    {"stfd",            M, OpMXX6aHint (6, 0, 0, 0x33, 0), {MR3, F2}, EMPTY},
     788    {"stfd.nta",        M, OpMXX6aHint (6, 0, 0, 0x33, 3), {MR3, F2}, EMPTY},
     789    {"stf8",            M, OpMXX6aHint (6, 0, 0, 0x31, 0), {MR3, F2}, EMPTY},
     790    {"stf8.nta",        M, OpMXX6aHint (6, 0, 0, 0x31, 3), {MR3, F2}, EMPTY},
     791    {"stfe",            M, OpMXX6aHint (6, 0, 0, 0x30, 0), {MR3, F2}, EMPTY},
     792    {"stfe.nta",        M, OpMXX6aHint (6, 0, 0, 0x30, 3), {MR3, F2}, EMPTY},
     793    {"stf.spill",       M, OpMXX6aHint (6, 0, 0, 0x3b, 0), {MR3, F2}, EMPTY},
     794    {"stf.spill.nta",   M, OpMXX6aHint (6, 0, 0, 0x3b, 3), {MR3, F2}, EMPTY},
     795
     796    /* Floating-point load pair. */
     797    {"ldfps",           M2, OpMXX6aHint (6, 0, 1, 0x02, 0), {F1, F2, MR3}, EMPTY},
     798    {"ldfps.nt1",       M2, OpMXX6aHint (6, 0, 1, 0x02, 1), {F1, F2, MR3}, EMPTY},
     799    {"ldfps.nta",       M2, OpMXX6aHint (6, 0, 1, 0x02, 3), {F1, F2, MR3}, EMPTY},
     800    {"ldfpd",           M2, OpMXX6aHint (6, 0, 1, 0x03, 0), {F1, F2, MR3}, EMPTY},
     801    {"ldfpd.nt1",       M2, OpMXX6aHint (6, 0, 1, 0x03, 1), {F1, F2, MR3}, EMPTY},
     802    {"ldfpd.nta",       M2, OpMXX6aHint (6, 0, 1, 0x03, 3), {F1, F2, MR3}, EMPTY},
     803    {"ldfp8",           M2, OpMXX6aHint (6, 0, 1, 0x01, 0), {F1, F2, MR3}, EMPTY},
     804    {"ldfp8.nt1",       M2, OpMXX6aHint (6, 0, 1, 0x01, 1), {F1, F2, MR3}, EMPTY},
     805    {"ldfp8.nta",       M2, OpMXX6aHint (6, 0, 1, 0x01, 3), {F1, F2, MR3}, EMPTY},
     806    {"ldfps.s",         M2, OpMXX6aHint (6, 0, 1, 0x06, 0), {F1, F2, MR3}, EMPTY},
     807    {"ldfps.s.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x06, 1), {F1, F2, MR3}, EMPTY},
     808    {"ldfps.s.nta",     M2, OpMXX6aHint (6, 0, 1, 0x06, 3), {F1, F2, MR3}, EMPTY},
     809    {"ldfpd.s",         M2, OpMXX6aHint (6, 0, 1, 0x07, 0), {F1, F2, MR3}, EMPTY},
     810    {"ldfpd.s.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x07, 1), {F1, F2, MR3}, EMPTY},
     811    {"ldfpd.s.nta",     M2, OpMXX6aHint (6, 0, 1, 0x07, 3), {F1, F2, MR3}, EMPTY},
     812    {"ldfp8.s",         M2, OpMXX6aHint (6, 0, 1, 0x05, 0), {F1, F2, MR3}, EMPTY},
     813    {"ldfp8.s.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x05, 1), {F1, F2, MR3}, EMPTY},
     814    {"ldfp8.s.nta",     M2, OpMXX6aHint (6, 0, 1, 0x05, 3), {F1, F2, MR3}, EMPTY},
     815    {"ldfps.a",         M2, OpMXX6aHint (6, 0, 1, 0x0a, 0), {F1, F2, MR3}, EMPTY},
     816    {"ldfps.a.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x0a, 1), {F1, F2, MR3}, EMPTY},
     817    {"ldfps.a.nta",     M2, OpMXX6aHint (6, 0, 1, 0x0a, 3), {F1, F2, MR3}, EMPTY},
     818    {"ldfpd.a",         M2, OpMXX6aHint (6, 0, 1, 0x0b, 0), {F1, F2, MR3}, EMPTY},
     819    {"ldfpd.a.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x0b, 1), {F1, F2, MR3}, EMPTY},
     820    {"ldfpd.a.nta",     M2, OpMXX6aHint (6, 0, 1, 0x0b, 3), {F1, F2, MR3}, EMPTY},
     821    {"ldfp8.a",         M2, OpMXX6aHint (6, 0, 1, 0x09, 0), {F1, F2, MR3}, EMPTY},
     822    {"ldfp8.a.nt1",     M2, OpMXX6aHint (6, 0, 1, 0x09, 1), {F1, F2, MR3}, EMPTY},
     823    {"ldfp8.a.nta",     M2, OpMXX6aHint (6, 0, 1, 0x09, 3), {F1, F2, MR3}, EMPTY},
     824    {"ldfps.sa",        M2, OpMXX6aHint (6, 0, 1, 0x0e, 0), {F1, F2, MR3}, EMPTY},
     825    {"ldfps.sa.nt1",    M2, OpMXX6aHint (6, 0, 1, 0x0e, 1), {F1, F2, MR3}, EMPTY},
     826    {"ldfps.sa.nta",    M2, OpMXX6aHint (6, 0, 1, 0x0e, 3), {F1, F2, MR3}, EMPTY},
     827    {"ldfpd.sa",        M2, OpMXX6aHint (6, 0, 1, 0x0f, 0), {F1, F2, MR3}, EMPTY},
     828    {"ldfpd.sa.nt1",    M2, OpMXX6aHint (6, 0, 1, 0x0f, 1), {F1, F2, MR3}, EMPTY},
     829    {"ldfpd.sa.nta",    M2, OpMXX6aHint (6, 0, 1, 0x0f, 3), {F1, F2, MR3}, EMPTY},
     830    {"ldfp8.sa",        M2, OpMXX6aHint (6, 0, 1, 0x0d, 0), {F1, F2, MR3}, EMPTY},
     831    {"ldfp8.sa.nt1",    M2, OpMXX6aHint (6, 0, 1, 0x0d, 1), {F1, F2, MR3}, EMPTY},
     832    {"ldfp8.sa.nta",    M2, OpMXX6aHint (6, 0, 1, 0x0d, 3), {F1, F2, MR3}, EMPTY},
     833    {"ldfps.c.clr",     M2, OpMXX6aHint (6, 0, 1, 0x22, 0), {F1, F2, MR3}, EMPTY},
     834    {"ldfps.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x22, 1), {F1, F2, MR3}, EMPTY},
     835    {"ldfps.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x22, 3), {F1, F2, MR3}, EMPTY},
     836    {"ldfpd.c.clr",     M2, OpMXX6aHint (6, 0, 1, 0x23, 0), {F1, F2, MR3}, EMPTY},
     837    {"ldfpd.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x23, 1), {F1, F2, MR3}, EMPTY},
     838    {"ldfpd.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x23, 3), {F1, F2, MR3}, EMPTY},
     839    {"ldfp8.c.clr",     M2, OpMXX6aHint (6, 0, 1, 0x21, 0), {F1, F2, MR3}, EMPTY},
     840    {"ldfp8.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x21, 1), {F1, F2, MR3}, EMPTY},
     841    {"ldfp8.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x21, 3), {F1, F2, MR3}, EMPTY},
     842    {"ldfps.c.nc",      M2, OpMXX6aHint (6, 0, 1, 0x26, 0), {F1, F2, MR3}, EMPTY},
     843    {"ldfps.c.nc.nt1",  M2, OpMXX6aHint (6, 0, 1, 0x26, 1), {F1, F2, MR3}, EMPTY},
     844    {"ldfps.c.nc.nta",  M2, OpMXX6aHint (6, 0, 1, 0x26, 3), {F1, F2, MR3}, EMPTY},
     845    {"ldfpd.c.nc",      M2, OpMXX6aHint (6, 0, 1, 0x27, 0), {F1, F2, MR3}, EMPTY},
     846    {"ldfpd.c.nc.nt1",  M2, OpMXX6aHint (6, 0, 1, 0x27, 1), {F1, F2, MR3}, EMPTY},
     847    {"ldfpd.c.nc.nta",  M2, OpMXX6aHint (6, 0, 1, 0x27, 3), {F1, F2, MR3}, EMPTY},
     848    {"ldfp8.c.nc",      M2, OpMXX6aHint (6, 0, 1, 0x25, 0), {F1, F2, MR3}, EMPTY},
     849    {"ldfp8.c.nc.nt1",  M2, OpMXX6aHint (6, 0, 1, 0x25, 1), {F1, F2, MR3}, EMPTY},
     850    {"ldfp8.c.nc.nta",  M2, OpMXX6aHint (6, 0, 1, 0x25, 3), {F1, F2, MR3}, EMPTY},
     851
     852    /* Floating-point load pair w/increment by immediate. */
     853#define LD(a,b,c) M2, OpMXX6aHint (6, 1, 1, a, b), {F1, F2, MR3, c}, POSTINC, 0, NULL
    818854    {"ldfps",           LD (0x02, 0, C8)},
    819855    {"ldfps.nt1",       LD (0x02, 1, C8)},
     
    872908#undef LD
    873909
    874     /* line prefetch */
    875     {"lfetch",                  M0, OpMXX6aHint (6, 0, 0, 0x2c, 0), {MR3}},
    876     {"lfetch.nt1",              M0, OpMXX6aHint (6, 0, 0, 0x2c, 1), {MR3}},
    877     {"lfetch.nt2",              M0, OpMXX6aHint (6, 0, 0, 0x2c, 2), {MR3}},
    878     {"lfetch.nta",              M0, OpMXX6aHint (6, 0, 0, 0x2c, 3), {MR3}},
    879     {"lfetch.excl",             M0, OpMXX6aHint (6, 0, 0, 0x2d, 0), {MR3}},
    880     {"lfetch.excl.nt1",         M0, OpMXX6aHint (6, 0, 0, 0x2d, 1), {MR3}},
    881     {"lfetch.excl.nt2",         M0, OpMXX6aHint (6, 0, 0, 0x2d, 2), {MR3}},
    882     {"lfetch.excl.nta",         M0, OpMXX6aHint (6, 0, 0, 0x2d, 3), {MR3}},
    883     {"lfetch.fault",            M0, OpMXX6aHint (6, 0, 0, 0x2e, 0), {MR3}},
    884     {"lfetch.fault.nt1",        M0, OpMXX6aHint (6, 0, 0, 0x2e, 1), {MR3}},
    885     {"lfetch.fault.nt2",        M0, OpMXX6aHint (6, 0, 0, 0x2e, 2), {MR3}},
    886     {"lfetch.fault.nta",        M0, OpMXX6aHint (6, 0, 0, 0x2e, 3), {MR3}},
    887     {"lfetch.fault.excl",       M0, OpMXX6aHint (6, 0, 0, 0x2f, 0), {MR3}},
    888     {"lfetch.fault.excl.nt1",   M0, OpMXX6aHint (6, 0, 0, 0x2f, 1), {MR3}},
    889     {"lfetch.fault.excl.nt2",   M0, OpMXX6aHint (6, 0, 0, 0x2f, 2), {MR3}},
    890     {"lfetch.fault.excl.nta",   M0, OpMXX6aHint (6, 0, 0, 0x2f, 3), {MR3}},
    891 
    892     /* line prefetch w/increment by register */
    893 #define LFETCHINCREG(c,h) M0, OpMXX6aHint (6, 1, 0, c, h), {MR3, R2}, POSTINC
     910    /* Line prefetch. */
     911    {"lfetch",                  M0, OpMXX6aHint (6, 0, 0, 0x2c, 0), {MR3}, EMPTY},
     912    {"lfetch.nt1",              M0, OpMXX6aHint (6, 0, 0, 0x2c, 1), {MR3}, EMPTY},
     913    {"lfetch.nt2",              M0, OpMXX6aHint (6, 0, 0, 0x2c, 2), {MR3}, EMPTY},
     914    {"lfetch.nta",              M0, OpMXX6aHint (6, 0, 0, 0x2c, 3), {MR3}, EMPTY},
     915    {"lfetch.excl",             M0, OpMXX6aHint (6, 0, 0, 0x2d, 0), {MR3}, EMPTY},
     916    {"lfetch.excl.nt1",         M0, OpMXX6aHint (6, 0, 0, 0x2d, 1), {MR3}, EMPTY},
     917    {"lfetch.excl.nt2",         M0, OpMXX6aHint (6, 0, 0, 0x2d, 2), {MR3}, EMPTY},
     918    {"lfetch.excl.nta",         M0, OpMXX6aHint (6, 0, 0, 0x2d, 3), {MR3}, EMPTY},
     919    {"lfetch.fault",            M0, OpMXX6aHint (6, 0, 0, 0x2e, 0), {MR3}, EMPTY},
     920    {"lfetch.fault.nt1",        M0, OpMXX6aHint (6, 0, 0, 0x2e, 1), {MR3}, EMPTY},
     921    {"lfetch.fault.nt2",        M0, OpMXX6aHint (6, 0, 0, 0x2e, 2), {MR3}, EMPTY},
     922    {"lfetch.fault.nta",        M0, OpMXX6aHint (6, 0, 0, 0x2e, 3), {MR3}, EMPTY},
     923    {"lfetch.fault.excl",       M0, OpMXX6aHint (6, 0, 0, 0x2f, 0), {MR3}, EMPTY},
     924    {"lfetch.fault.excl.nt1",   M0, OpMXX6aHint (6, 0, 0, 0x2f, 1), {MR3}, EMPTY},
     925    {"lfetch.fault.excl.nt2",   M0, OpMXX6aHint (6, 0, 0, 0x2f, 2), {MR3}, EMPTY},
     926    {"lfetch.fault.excl.nta",   M0, OpMXX6aHint (6, 0, 0, 0x2f, 3), {MR3}, EMPTY},
     927
     928    /* Line prefetch w/increment by register. */
     929#define LFETCHINCREG(c,h) M0, OpMXX6aHint (6, 1, 0, c, h), {MR3, R2}, POSTINC, 0, NULL
    894930    {"lfetch",                  LFETCHINCREG (0x2c, 0)},
    895931    {"lfetch.nt1",              LFETCHINCREG (0x2c, 1)},
     
    910946#undef LFETCHINCREG
    911947
    912     /* semaphore operations */
    913     {"setf.sig",        M, OpMXX6a (6, 0, 1, 0x1c), {F1, R2}},
    914     {"setf.exp",        M, OpMXX6a (6, 0, 1, 0x1d), {F1, R2}},
    915     {"setf.s",          M, OpMXX6a (6, 0, 1, 0x1e), {F1, R2}},
    916     {"setf.d",          M, OpMXX6a (6, 0, 1, 0x1f), {F1, R2}},
    917 
    918     /* floating-point load w/increment by immediate */
    919 #define FLDINCIMMED(c,h) M, OpX6aHint (7, c, h), {F1, MR3, IMM9b}, POSTINC
     948    /* Semaphore operations. */
     949    {"setf.sig",        M, OpMXX6a (6, 0, 1, 0x1c), {F1, R2}, EMPTY},
     950    {"setf.exp",        M, OpMXX6a (6, 0, 1, 0x1d), {F1, R2}, EMPTY},
     951    {"setf.s",          M, OpMXX6a (6, 0, 1, 0x1e), {F1, R2}, EMPTY},
     952    {"setf.d",          M, OpMXX6a (6, 0, 1, 0x1f), {F1, R2}, EMPTY},
     953
     954    /* Floating-point load w/increment by immediate. */
     955#define FLDINCIMMED(c,h) M, OpX6aHint (7, c, h), {F1, MR3, IMM9b}, POSTINC, 0, NULL
    920956    {"ldfs",            FLDINCIMMED (0x02, 0)},
    921957    {"ldfs.nt1",        FLDINCIMMED (0x02, 1)},
     
    9951031#undef FLDINCIMMED
    9961032
    997     /* floating-point store w/increment by immediate */
    998 #define FSTINCIMMED(c,h) M, OpX6aHint (7, c, h), {MR3, F2, IMM9a}, POSTINC
     1033    /* Floating-point store w/increment by immediate. */
     1034#define FSTINCIMMED(c,h) M, OpX6aHint (7, c, h), {MR3, F2, IMM9a}, POSTINC, 0, NULL
    9991035    {"stfs",            FSTINCIMMED (0x32, 0)},
    10001036    {"stfs.nta",        FSTINCIMMED (0x32, 3)},
     
    10091045#undef FSTINCIMMED
    10101046
    1011     /* line prefetch w/increment by immediate */
    1012 #define LFETCHINCIMMED(c,h) M0, OpX6aHint (7, c, h), {MR3, IMM9b}, POSTINC
     1047    /* Line prefetch w/increment by immediate. */
     1048#define LFETCHINCIMMED(c,h) M0, OpX6aHint (7, c, h), {MR3, IMM9b}, POSTINC, 0, NULL
    10131049    {"lfetch",                  LFETCHINCIMMED (0x2c, 0)},
    10141050    {"lfetch.nt1",              LFETCHINCIMMED (0x2c, 1)},
     
    10291065#undef LFETCHINCIMMED
    10301066
    1031     {0}
     1067    {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
    10321068  };
    10331069
     
    10591095#undef OpMXX6a
    10601096#undef OpMXX6aHint
     1097#undef EMPTY
Note: See TracChangeset for help on using the changeset viewer.