Back to index

cell-binutils  2.17cvs20070401
Classes | Defines | Typedefs | Enumerations | Variables
crx.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  operand_desc
struct  inst
struct  argument
struct  ins
struct  operand_entry
struct  trap_entry
struct  reg_entry
union  reg_entry.value

Defines

#define NO_TYPE_INS   0
#define ARITH_INS   1
#define LD_STOR_INS   2
#define BRANCH_INS   3
#define ARITH_BYTE_INS   4
#define CMPBR_INS   5
#define SHIFT_INS   6
#define BRANCH_NEQ_INS   7
#define LD_STOR_INS_INC   8
#define STOR_IMM_INS   9
#define CSTBIT_INS   10
#define COP_BRANCH_INS   11
#define COP_REG_INS   12
#define COPS_REG_INS   13
#define DCR_BRANCH_INS   14
#define CRX_INS_MAX   (1 << 4)
#define CRX_INS_MASK   (CRX_INS_MAX - 1)
#define CRX_INS_TYPE(attr)   ((attr) & CRX_INS_MASK)
#define REG_LIST   CRX_INS_MAX
#define REVERSE_MATCH   (1 << 5)
#define DISPUB4   (1 << 6)
#define DISPUW4   (1 << 7)
#define DISPUD4   (1 << 8)
#define DISPU4MAP   (DISPUB4 | DISPUW4 | DISPUD4)
#define FMT_1   (1 << 9) /* 0xF0F00000 */
#define FMT_2   (1 << 10) /* 0xFFF0FF00 */
#define FMT_3   (1 << 11) /* 0xFFF00F00 */
#define FMT_4   (1 << 12) /* 0xFFF0F000 */
#define FMT_5   (1 << 13) /* 0xFFF0FFF0 */
#define FMT_CRX   (FMT_1 | FMT_2 | FMT_3 | FMT_4 | FMT_5)
#define RELAXABLE   (1 << 14)
#define USER_REG   (1 << 15)
#define CST4MAP   (1 << 16)
#define NO_SP   (1 << 17)
#define NO_RPTR   (1 << 18)
#define MAX_OPERANDS   5
#define MAX_REGNAME_LEN   10
#define MAX_INST_LEN   256
#define OP_UNSIGNED   (1 << 0)
#define OP_SIGNED   (1 << 1)
#define OP_CST4   (1 << 2)
#define OP_DISPU4   (1 << 3)
#define OP_EVEN   (1 << 4)
#define OP_SHIFT   (1 << 5)
#define OP_SHIFT_DEC   (1 << 6)
#define OP_ESC   (1 << 7)
#define OP_UPPER_64KB   (1 << 8)
#define NUMOPCODES   crx_num_opcodes
#define NUMREGS   crx_num_regs
#define NUMCOPREGS   crx_num_copregs
#define NUMTRAPS   crx_num_traps
#define BIN(OPC, SHIFT)   (OPC << SHIFT)
#define IS_INSN_TYPE(TYPE)   (CRX_INS_TYPE(instruction->flags) == TYPE)
#define IS_INSN_MNEMONIC(MNEMONIC)   (strcmp(instruction->mnemonic,MNEMONIC) == 0)
#define INST_HAS_REG_LIST   (instruction->flags & REG_LIST)

Typedefs

typedef long long int LONGLONG
typedef unsigned long long ULONGLONG

Enumerations

enum  reg {
  r0, r1, r2, r3,
  r4, r5, r6, r7,
  r8, r9, r10, r11,
  r12, r13, r14, r15,
  ra, sp, u0, u1,
  u2, u3, u4, u5,
  u6, u7, u8, u9,
  u10, u11, u12, u13,
  u14, u15, ura, usp,
  hi, lo, uhi, ulo,
  psr, intbase, isp, cfg,
  cpcfg, cen, nullregister, MAX_REG
}
enum  copreg {
  c0 = MAX_REG, c1, c2, c3,
  c4, c5, c6, c7,
  c8, c9, c10, c11,
  c12, c13, c14, c15,
  cs0, cs1, cs2, cs3,
  cs4, cs5, cs6, cs7,
  cs8, cs9, cs10, cs11,
  cs12, cs13, cs14, cs15,
  nullcopregister, MAX_COPREG
}
enum  reg_type {
  CRX_R_REGTYPE, CRX_U_REGTYPE, CRX_C_REGTYPE, CRX_CS_REGTYPE,
  CRX_CFG_REGTYPE
}
enum  argtype {
  arg_r, arg_c, arg_cr, arg_ic,
  arg_icr, arg_sc, arg_idxr, arg_rbase,
  arg_copr, arg_copsr, nullargs
}
enum  operand_type {
  dummy, cst4, i16, i32,
  ui3, ui4, ui5, ui16,
  disps9, disps17, disps25, disps32,
  dispu5, dispe9, abs16, abs32,
  rbase, rbase_dispu4, rbase_disps12, rbase_disps16,
  rbase_disps28, rbase_disps32, rindex_disps6, rindex_disps22,
  regr, regr8, copregr, copsregr,
  nulloperand, MAX_OPRD, HEX = 1, REG = 2,
  CONT = 3, IND = 3, BF = 4, REGSC = 5,
  CRREG = 6, FCRREG = 7, PCREL = 8, CONDMASK = 9,
  XREG = 10, DEC = 11
}

Variables

const inst crx_instruction []
const int crx_num_opcodes
const operand_entry crx_optab []
const reg_entry crx_regtab []
const int crx_num_regs
const reg_entry crx_copregtab []
const int crx_num_copregs
const trap_entry crx_traps []
const int crx_num_traps
const long cst4_map []
const int cst4_maps
const char * no_op_insn []
const instinstruction

Class Documentation

struct operand_desc

Definition at line 244 of file crx.h.

Class Members
operand_type op_type
unsigned int shift
struct inst

Definition at line 255 of file crx.h.

Collaboration diagram for inst:
Class Members
unsigned int flags
unsigned short inst
unsigned long match
int match_bits
const char * mnemonic
char * name
mcore_opclass opclass
operand_desc operands
unsigned int size
unsigned char transfer
struct argument

Definition at line 274 of file crx.h.

Collaboration diagram for argument:
Class Members
long constant
copreg cr
reg i_r
reg r
unsigned int scale
int size
argtype type
unsigned char X_op
struct ins

Definition at line 298 of file crx.h.

Collaboration diagram for ins:
Class Members
argument arg
int nargs
int size
struct operand_entry

Definition at line 317 of file crx.h.

Class Members
argtype arg_type
unsigned int bit_size
int flags
struct trap_entry

Definition at line 330 of file crx.h.

Class Members
unsigned int entry
char * name
struct reg_entry

Definition at line 471 of file tc-arm.c.

Collaboration diagram for reg_entry:
Class Members
unsigned char builtin
int image
char * name
const char * name
struct neon_typed_alias * neon
int number
unsigned char number
unsigned int reg_flags
char * reg_name
unsigned int reg_num
unsigned int reg_type
reg_type type
unsigned char type
union reg_entry value
union reg_entry.value

Definition at line 346 of file crx.h.

Class Members
copreg copreg_val
reg reg_val

Define Documentation

#define ARITH_BYTE_INS   4

Definition at line 158 of file crx.h.

#define ARITH_INS   1

Definition at line 155 of file crx.h.

#define BIN (   OPC,
  SHIFT 
)    (OPC << SHIFT)

Definition at line 399 of file crx.h.

#define BRANCH_INS   3

Definition at line 157 of file crx.h.

#define BRANCH_NEQ_INS   7

Definition at line 161 of file crx.h.

#define CMPBR_INS   5

Definition at line 159 of file crx.h.

#define COP_BRANCH_INS   11

Definition at line 165 of file crx.h.

#define COP_REG_INS   12

Definition at line 166 of file crx.h.

#define COPS_REG_INS   13

Definition at line 167 of file crx.h.

#define CRX_INS_MASK   (CRX_INS_MAX - 1)

Definition at line 173 of file crx.h.

#define CRX_INS_MAX   (1 << 4)

Definition at line 171 of file crx.h.

#define CRX_INS_TYPE (   attr)    ((attr) & CRX_INS_MASK)

Definition at line 175 of file crx.h.

#define CST4MAP   (1 << 16)

Definition at line 205 of file crx.h.

#define CSTBIT_INS   10

Definition at line 164 of file crx.h.

#define DCR_BRANCH_INS   14

Definition at line 168 of file crx.h.

#define DISPU4MAP   (DISPUB4 | DISPUW4 | DISPUD4)

Definition at line 187 of file crx.h.

#define DISPUB4   (1 << 6)

Definition at line 184 of file crx.h.

#define DISPUD4   (1 << 8)

Definition at line 186 of file crx.h.

#define DISPUW4   (1 << 7)

Definition at line 185 of file crx.h.

#define FMT_1   (1 << 9) /* 0xF0F00000 */

Definition at line 190 of file crx.h.

#define FMT_2   (1 << 10) /* 0xFFF0FF00 */

Definition at line 191 of file crx.h.

#define FMT_3   (1 << 11) /* 0xFFF00F00 */

Definition at line 192 of file crx.h.

#define FMT_4   (1 << 12) /* 0xFFF0F000 */

Definition at line 193 of file crx.h.

#define FMT_5   (1 << 13) /* 0xFFF0FFF0 */

Definition at line 194 of file crx.h.

#define FMT_CRX   (FMT_1 | FMT_2 | FMT_3 | FMT_4 | FMT_5)

Definition at line 195 of file crx.h.

Definition at line 410 of file crx.h.

#define IS_INSN_MNEMONIC (   MNEMONIC)    (strcmp(instruction->mnemonic,MNEMONIC) == 0)

Definition at line 406 of file crx.h.

#define IS_INSN_TYPE (   TYPE)    (CRX_INS_TYPE(instruction->flags) == TYPE)

Definition at line 402 of file crx.h.

#define LD_STOR_INS   2

Definition at line 156 of file crx.h.

#define LD_STOR_INS_INC   8

Definition at line 162 of file crx.h.

#define MAX_INST_LEN   256

Definition at line 218 of file crx.h.

#define MAX_OPERANDS   5

Definition at line 214 of file crx.h.

#define MAX_REGNAME_LEN   10

Definition at line 216 of file crx.h.

#define NO_RPTR   (1 << 18)

Definition at line 211 of file crx.h.

#define NO_SP   (1 << 17)

Definition at line 208 of file crx.h.

#define NO_TYPE_INS   0

Definition at line 154 of file crx.h.

Definition at line 378 of file crx.h.

Definition at line 365 of file crx.h.

#define NUMREGS   crx_num_regs

Definition at line 373 of file crx.h.

#define NUMTRAPS   crx_num_traps

Definition at line 383 of file crx.h.

#define OP_CST4   (1 << 2)

Definition at line 228 of file crx.h.

#define OP_DISPU4   (1 << 3)

Definition at line 230 of file crx.h.

#define OP_ESC   (1 << 7)

Definition at line 238 of file crx.h.

#define OP_EVEN   (1 << 4)

Definition at line 232 of file crx.h.

#define OP_SHIFT   (1 << 5)

Definition at line 234 of file crx.h.

#define OP_SHIFT_DEC   (1 << 6)

Definition at line 236 of file crx.h.

#define OP_SIGNED   (1 << 1)

Definition at line 226 of file crx.h.

#define OP_UNSIGNED   (1 << 0)

Definition at line 224 of file crx.h.

#define OP_UPPER_64KB   (1 << 8)

Definition at line 240 of file crx.h.

#define REG_LIST   CRX_INS_MAX

Definition at line 178 of file crx.h.

#define RELAXABLE   (1 << 14)

Definition at line 198 of file crx.h.

#define REVERSE_MATCH   (1 << 5)

Definition at line 181 of file crx.h.

#define SHIFT_INS   6

Definition at line 160 of file crx.h.

#define STOR_IMM_INS   9

Definition at line 163 of file crx.h.

#define USER_REG   (1 << 15)

Definition at line 202 of file crx.h.


Typedef Documentation

typedef long long int LONGLONG

Definition at line 415 of file crx.h.

Definition at line 416 of file crx.h.


Enumeration Type Documentation

enum argtype
Enumerator:
arg_r 
arg_c 
arg_cr 
arg_ic 
arg_icr 
arg_sc 
arg_idxr 
arg_rbase 
arg_copr 
arg_copsr 
nullargs 

Definition at line 103 of file crx.h.

enum copreg
Enumerator:
c0 
c1 
c2 
c3 
c4 
c5 
c6 
c7 
c8 
c9 
c10 
c11 
c12 
c13 
c14 
c15 
cs0 
cs1 
cs2 
cs3 
cs4 
cs5 
cs6 
cs7 
cs8 
cs9 
cs10 
cs11 
cs12 
cs13 
cs14 
cs15 
nullcopregister 
MAX_COPREG 

Definition at line 64 of file crx.h.

  {
    /* Coprocessor registers.  */
    c0 = MAX_REG, c1, c2, c3, c4, c5, c6, c7, c8,
    c9, c10, c11, c12, c13, c14, c15,
    /* Coprocessor special registers.  */
    cs0, cs1 ,cs2, cs3, cs4, cs5, cs6, cs7, cs8,
    cs9, cs10, cs11, cs12, cs13, cs14, cs15,
    /* Not a Coprocessor register.  */
    nullcopregister,
    MAX_COPREG
  }
Enumerator:
dummy 
cst4 
i16 
i32 
ui3 
ui4 
ui5 
ui16 
disps9 
disps17 
disps25 
disps32 
dispu5 
dispe9 
abs16 
abs32 
rbase 
rbase_dispu4 
rbase_disps12 
rbase_disps16 
rbase_disps28 
rbase_disps32 
rindex_disps6 
rindex_disps22 
regr 
regr8 
copregr 
copsregr 
nulloperand 
MAX_OPRD 
HEX 
REG 
CONT 
IND 
BF 
REGSC 
CRREG 
FCRREG 
PCREL 
CONDMASK 
XREG 
DEC 

Definition at line 115 of file crx.h.

  {
    dummy,
    /* 4-bit encoded constant.  */
    cst4,
    /* N-bit immediate.  */
    i16, i32,
    /* N-bit unsigned immediate.  */
    ui3, ui4, ui5, ui16,
    /* N-bit signed displacement.  */
    disps9, disps17, disps25, disps32,
    /* N-bit unsigned displacement.  */
    dispu5, 
    /* N-bit escaped displacement.  */
    dispe9,
    /* N-bit absolute address.  */
    abs16, abs32,
    /* Register relative.  */
    rbase, rbase_dispu4,
    rbase_disps12, rbase_disps16, rbase_disps28, rbase_disps32,
    /* Register index.  */
    rindex_disps6, rindex_disps22,
    /* 4-bit genaral-purpose register specifier.  */
    regr, 
    /* 8-bit register address space.  */
    regr8,
    /* coprocessor register.  */
    copregr, 
    /* coprocessor special register.  */
    copsregr,
    /* Not an operand.  */
    nulloperand,
    /* Maximum supported operand.  */
    MAX_OPRD
  }
enum reg
Enumerator:
r0 
r1 
r2 
r3 
r4 
r5 
r6 
r7 
r8 
r9 
r10 
r11 
r12 
r13 
r14 
r15 
ra 
sp 
u0 
u1 
u2 
u3 
u4 
u5 
u6 
u7 
u8 
u9 
u10 
u11 
u12 
u13 
u14 
u15 
ura 
usp 
hi 
lo 
uhi 
ulo 
psr 
intbase 
isp 
cfg 
cpcfg 
cen 
nullregister 
MAX_REG 

Definition at line 30 of file crx.h.

  {
    /* 32-bit general purpose registers.  */
    r0, r1, r2, r3, r4, r5, r6, r7, r8, r9,
    r10, r11, r12, r13, r14, r15, ra, sp,
    /* 32-bit user registers.  */
    u0, u1, u2, u3, u4, u5, u6, u7, u8, u9,
    u10, u11, u12, u13, u14, u15, ura, usp,
    /* hi and lo registers.  */
    hi, lo,
    /* hi and lo user registers.  */
    uhi, ulo,
    /* Processor Status Register.  */
    psr,
    /* Interrupt Base Register.  */
    intbase,
    /* Interrupt Stack Pointer Register.  */
    isp,
    /* Configuration Register.  */
    cfg,
    /* Coprocessor Configuration Register.  */
    cpcfg,
    /* Coprocessor Enable Register.  */
    cen,
    /* Not a register.  */
    nullregister,
    MAX_REG
  }
enum reg_type
Enumerator:
CRX_R_REGTYPE 
CRX_U_REGTYPE 
CRX_C_REGTYPE 
CRX_CS_REGTYPE 
CRX_CFG_REGTYPE 

Definition at line 80 of file crx.h.

  {
    CRX_R_REGTYPE,    /*  r<N>       */
    CRX_U_REGTYPE,    /*  u<N>       */
    CRX_C_REGTYPE,    /*  c<N>       */
    CRX_CS_REGTYPE,   /*  cs<N>      */
    CRX_CFG_REGTYPE   /*  configuration register   */
  }

Variable Documentation

Definition at line 631 of file crx-opc.c.

Definition at line 27 of file crx-opc.c.

Definition at line 650 of file crx-opc.c.

Definition at line 583 of file crx-opc.c.

Definition at line 629 of file crx-opc.c.

Definition at line 693 of file crx-opc.c.

Definition at line 653 of file crx-opc.c.

Definition at line 592 of file crx-opc.c.

Definition at line 687 of file crx-opc.c.

Definition at line 703 of file crx-opc.c.

Definition at line 708 of file crx-opc.c.

Definition at line 71 of file tc-crx.c.

const char* no_op_insn[]

Definition at line 711 of file crx-opc.c.