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

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* ia64-opc-x.c -- IA-64 `X' opcode table.
    2    Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
     2   Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    33   Contributed by Timothy Wall <twall@cygnus.com>
    44
     
    2222#include "ia64-opc.h"
    2323
    24 /* identify the specific X-unit type */
     24/* Identify the specific X-unit type. */
    2525#define X0      IA64_TYPE_X, 0
    2626#define X       IA64_TYPE_X, 1
    2727
    28 /* instruction bit fields: */
     28/* Instruction bit fields: */
    2929#define bBtype(x)       (((ia64_insn) ((x) & 0x7)) << 6)
    3030#define bD(x)           (((ia64_insn) ((x) & 0x1)) << 35)
     
    3535#define bX3(x)          (((ia64_insn) ((x) & 0x7)) << 33)
    3636#define bX6(x)          (((ia64_insn) ((x) & 0x3f)) << 27)
     37#define bY(x)           (((ia64_insn) ((x) & 0x1)) << 26)
    3738
    3839#define mBtype          bBtype (-1)
     
    4445#define mX3             bX3 (-1)
    4546#define mX6             bX6 (-1)
     47#define mY              bY (-1)
    4648
    4749#define OpX3X6(a,b,c)           (bOp (a) | bX3 (b) | bX6(c)), \
    4850                                (mOp | mX3 | mX6)
     51#define OpX3X6Y(a,b,c,d)        (bOp (a) | bX3 (b) | bX6(c) | bY(d)), \
     52                                (mOp | mX3 | mX6 | mY)
    4953#define OpVc(a,b)               (bOp (a) | bVc (b)), (mOp | mVc)
    5054#define OpPaWhaD(a,b,c,d) \
     
    5963struct ia64_opcode ia64_opcodes_x[] =
    6064  {
    61     {"break.x", X0, OpX3X6 (0, 0, 0x00), {IMMU62}},
    62     {"nop.x",   X0, OpX3X6 (0, 0, 0x01), {IMMU62}},
    63     {"movl",    X,  OpVc (6, 0), {R1, IMMU64}},
     65    {"break.x", X0, OpX3X6 (0, 0, 0x00), {IMMU62}, 0, 0, NULL},
     66    {"nop.x",   X0, OpX3X6Y (0, 0, 0x01, 0), {IMMU62}, 0, 0, NULL},
     67    {"hint.x",  X0, OpX3X6Y (0, 0, 0x01, 1), {IMMU62}, 0, 0, NULL},
     68    {"movl",    X,  OpVc (6, 0), {R1, IMMU64}, 0, 0, NULL},
    6469#define BRL(a,b) \
    65       X0, OpBtypePaWhaDPr (0xC, 0, a, 0, b, 0), {TGT64}, 0
    66     {"brl.few",         BRL (0, 0) | PSEUDO},
    67     {"brl",             BRL (0, 0) | PSEUDO},
    68     {"brl.few.clr",     BRL (0, 1) | PSEUDO},
    69     {"brl.clr",         BRL (0, 1) | PSEUDO},
    70     {"brl.many",        BRL (1, 0) | PSEUDO},
    71     {"brl.many.clr",    BRL (1, 1) | PSEUDO},
     70      X0, OpBtypePaWhaDPr (0xC, 0, a, 0, b, 0), {TGT64}, PSEUDO, 0, NULL
     71    {"brl.few",         BRL (0, 0)},
     72    {"brl",             BRL (0, 0)},
     73    {"brl.few.clr",     BRL (0, 1)},
     74    {"brl.clr",         BRL (0, 1)},
     75    {"brl.many",        BRL (1, 0)},
     76    {"brl.many.clr",    BRL (1, 1)},
    7277#undef BRL
    7378#define BRL(a,b,c) \
    74       X0, OpBtypePaWhaD (0xC, 0, a, b, c), {TGT64}, 0
     79      X0, OpBtypePaWhaD (0xC, 0, a, b, c), {TGT64}, 0, 0, NULL
     80#define BRLP(a,b,c) \
     81      X0, OpBtypePaWhaD (0xC, 0, a, b, c), {TGT64}, PSEUDO, 0, NULL
    7582    {"brl.cond.sptk.few",       BRL (0, 0, 0)},
    76     {"brl.cond.sptk",           BRL (0, 0, 0) | PSEUDO},
     83    {"brl.cond.sptk",           BRLP (0, 0, 0)},
    7784    {"brl.cond.sptk.few.clr",   BRL (0, 0, 1)},
    78     {"brl.cond.sptk.clr",       BRL (0, 0, 1) | PSEUDO},
     85    {"brl.cond.sptk.clr",       BRLP (0, 0, 1)},
    7986    {"brl.cond.spnt.few",       BRL (0, 1, 0)},
    80     {"brl.cond.spnt",           BRL (0, 1, 0) | PSEUDO},
     87    {"brl.cond.spnt",           BRLP (0, 1, 0)},
    8188    {"brl.cond.spnt.few.clr",   BRL (0, 1, 1)},
    82     {"brl.cond.spnt.clr",       BRL (0, 1, 1) | PSEUDO},
     89    {"brl.cond.spnt.clr",       BRLP (0, 1, 1)},
    8390    {"brl.cond.dptk.few",       BRL (0, 2, 0)},
    84     {"brl.cond.dptk",           BRL (0, 2, 0) | PSEUDO},
     91    {"brl.cond.dptk",           BRLP (0, 2, 0)},
    8592    {"brl.cond.dptk.few.clr",   BRL (0, 2, 1)},
    86     {"brl.cond.dptk.clr",       BRL (0, 2, 1) | PSEUDO},
     93    {"brl.cond.dptk.clr",       BRLP (0, 2, 1)},
    8794    {"brl.cond.dpnt.few",       BRL (0, 3, 0)},
    88     {"brl.cond.dpnt",           BRL (0, 3, 0) | PSEUDO},
     95    {"brl.cond.dpnt",           BRLP (0, 3, 0)},
    8996    {"brl.cond.dpnt.few.clr",   BRL (0, 3, 1)},
    90     {"brl.cond.dpnt.clr",       BRL (0, 3, 1) | PSEUDO},
     97    {"brl.cond.dpnt.clr",       BRLP (0, 3, 1)},
    9198    {"brl.cond.sptk.many",      BRL (1, 0, 0)},
    9299    {"brl.cond.sptk.many.clr",  BRL (1, 0, 1)},
     
    98105    {"brl.cond.dpnt.many.clr",  BRL (1, 3, 1)},
    99106    {"brl.sptk.few",            BRL (0, 0, 0)},
    100     {"brl.sptk",                BRL (0, 0, 0) | PSEUDO},
     107    {"brl.sptk",                BRLP (0, 0, 0)},
    101108    {"brl.sptk.few.clr",        BRL (0, 0, 1)},
    102     {"brl.sptk.clr",            BRL (0, 0, 1) | PSEUDO},
     109    {"brl.sptk.clr",            BRLP (0, 0, 1)},
    103110    {"brl.spnt.few",            BRL (0, 1, 0)},
    104     {"brl.spnt",                BRL (0, 1, 0) | PSEUDO},
     111    {"brl.spnt",                BRLP (0, 1, 0)},
    105112    {"brl.spnt.few.clr",        BRL (0, 1, 1)},
    106     {"brl.spnt.clr",            BRL (0, 1, 1) | PSEUDO},
     113    {"brl.spnt.clr",            BRLP (0, 1, 1)},
    107114    {"brl.dptk.few",            BRL (0, 2, 0)},
    108     {"brl.dptk",                BRL (0, 2, 0) | PSEUDO},
     115    {"brl.dptk",                BRLP (0, 2, 0)},
    109116    {"brl.dptk.few.clr",        BRL (0, 2, 1)},
    110     {"brl.dptk.clr",            BRL (0, 2, 1) | PSEUDO},
     117    {"brl.dptk.clr",            BRLP (0, 2, 1)},
    111118    {"brl.dpnt.few",            BRL (0, 3, 0)},
    112     {"brl.dpnt",                BRL (0, 3, 0) | PSEUDO},
     119    {"brl.dpnt",                BRLP (0, 3, 0)},
    113120    {"brl.dpnt.few.clr",        BRL (0, 3, 1)},
    114     {"brl.dpnt.clr",            BRL (0, 3, 1) | PSEUDO},
     121    {"brl.dpnt.clr",            BRLP (0, 3, 1)},
    115122    {"brl.sptk.many",           BRL (1, 0, 0)},
    116123    {"brl.sptk.many.clr",       BRL (1, 0, 1)},
     
    122129    {"brl.dpnt.many.clr",       BRL (1, 3, 1)},
    123130#undef BRL
    124 #define BRL(a,b,c) X, OpPaWhaD (0xD, a, b, c), {B1, TGT64}, 0
     131#undef BRLP
     132#define BRL(a,b,c) X, OpPaWhaD (0xD, a, b, c), {B1, TGT64}, 0, 0, NULL
     133#define BRLP(a,b,c) X, OpPaWhaD (0xD, a, b, c), {B1, TGT64}, PSEUDO, 0, NULL
    125134    {"brl.call.sptk.few",       BRL (0, 0, 0)},
    126     {"brl.call.sptk",           BRL (0, 0, 0) | PSEUDO},
     135    {"brl.call.sptk",           BRLP (0, 0, 0)},
    127136    {"brl.call.sptk.few.clr",   BRL (0, 0, 1)},
    128     {"brl.call.sptk.clr",       BRL (0, 0, 1) | PSEUDO},
     137    {"brl.call.sptk.clr",       BRLP (0, 0, 1)},
    129138    {"brl.call.spnt.few",       BRL (0, 1, 0)},
    130     {"brl.call.spnt",           BRL (0, 1, 0) | PSEUDO},
     139    {"brl.call.spnt",           BRLP (0, 1, 0)},
    131140    {"brl.call.spnt.few.clr",   BRL (0, 1, 1)},
    132     {"brl.call.spnt.clr",       BRL (0, 1, 1) | PSEUDO},
     141    {"brl.call.spnt.clr",       BRLP (0, 1, 1)},
    133142    {"brl.call.dptk.few",       BRL (0, 2, 0)},
    134     {"brl.call.dptk",           BRL (0, 2, 0) | PSEUDO},
     143    {"brl.call.dptk",           BRLP (0, 2, 0)},
    135144    {"brl.call.dptk.few.clr",   BRL (0, 2, 1)},
    136     {"brl.call.dptk.clr",       BRL (0, 2, 1) | PSEUDO},
     145    {"brl.call.dptk.clr",       BRLP (0, 2, 1)},
    137146    {"brl.call.dpnt.few",       BRL (0, 3, 0)},
    138     {"brl.call.dpnt",           BRL (0, 3, 0) | PSEUDO},
     147    {"brl.call.dpnt",           BRLP (0, 3, 0)},
    139148    {"brl.call.dpnt.few.clr",   BRL (0, 3, 1)},
    140     {"brl.call.dpnt.clr",       BRL (0, 3, 1) | PSEUDO},
     149    {"brl.call.dpnt.clr",       BRLP (0, 3, 1)},
    141150    {"brl.call.sptk.many",      BRL (1, 0, 0)},
    142151    {"brl.call.sptk.many.clr",  BRL (1, 0, 1)},
     
    148157    {"brl.call.dpnt.many.clr",  BRL (1, 3, 1)},
    149158#undef BRL
    150     {0}
     159#undef BRLP
     160    {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
    151161  };
    152162
Note: See TracChangeset for help on using the changeset viewer.