osprey/cygnus/include/opcode/arc.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  arc_opcode
type  arc_operand_value
type  arc_ext_operand_value
type  arc_operand

Defines

#define ARC_MACH_5   0
#define ARC_MACH_6   1
#define ARC_MACH_7   2
#define ARC_MACH_8   4
#define ARC_MACH_BIG   16
#define ARC_MACH_CPU_MASK   (ARC_MACH_BIG - 1)
#define ARC_MACH_MASK   ((ARC_MACH_BIG << 1) - 1)
#define ARC_OPCODE_CPU(bits)   ((bits) & ARC_MACH_CPU_MASK)
#define ARC_OPCODE_MACH(bits)   ((bits) & ARC_MACH_MASK)
#define ARC_OPCODE_FLAG_START   (ARC_MACH_MASK + 1)
#define ARC_OPCODE_COND_BRANCH   (ARC_OPCODE_FLAG_START)
#define SYNTAX_3OP   (ARC_OPCODE_COND_BRANCH << 1)
#define SYNTAX_LENGTH   (SYNTAX_3OP )
#define SYNTAX_2OP   (SYNTAX_3OP << 1)
#define OP1_MUST_BE_IMM   (SYNTAX_2OP << 1)
#define OP1_IMM_IMPLIED   (OP1_MUST_BE_IMM << 1)
#define SYNTAX_VALID   (OP1_IMM_IMPLIED << 1)
#define I(x)   (((x) & 31) << 27)
#define A(x)   (((x) & ARC_MASK_REG) << ARC_SHIFT_REGA)
#define B(x)   (((x) & ARC_MASK_REG) << ARC_SHIFT_REGB)
#define C(x)   (((x) & ARC_MASK_REG) << ARC_SHIFT_REGC)
#define R(x, b, m)   (((x) & (m)) << (b))
#define ARC_HASH_OPCODE(string)   ((string)[0] >= 'a' && (string)[0] <= 'z' ? (string)[0] - 'a' : 26)
#define ARC_HASH_ICODE(insn)   ((unsigned int) (insn) >> 27)
#define ARC_OPCODE_NEXT_ASM(op)   ((op)->next_asm)
#define ARC_OPCODE_NEXT_DIS(op)   ((op)->next_dis)
#define ARC_OPVAL_CPU(bits)   ((bits) & ARC_MACH_CPU_MASK)
#define ARC_OPVAL_MACH(bits)   ((bits) & ARC_MACH_MASK)
#define ARC_OPERAND_SUFFIX   1
#define ARC_OPERAND_RELATIVE_BRANCH   2
#define ARC_OPERAND_ABSOLUTE_BRANCH   4
#define ARC_OPERAND_ADDRESS   8
#define ARC_OPERAND_LIMM   0x10
#define ARC_OPERAND_SIGNED   0x20
#define ARC_OPERAND_SIGNOPT   0x40
#define ARC_OPERAND_NEGATIVE   0x80
#define ARC_OPERAND_FAKE   0x100
#define ARC_OPERAND_JUMPFLAGS   0x200
#define ARC_OPERAND_WARN   0x400
#define ARC_OPERAND_ERROR   0x800
#define ARC_OPERAND_LOAD   0x8000
#define ARC_OPERAND_STORE   0x10000
#define ARC_MOD_DOT   0x1000
#define ARC_MOD_REG   0x2000
#define ARC_MOD_AUXREG   0x4000
#define ARC_MOD_BITS   0x7000
#define ARC_MOD_P(X)   ((X) & ARC_MOD_BITS)
#define ARC_REGISTER_READONLY   0x01
#define ARC_REGISTER_WRITEONLY   0x02
#define ARC_REGISTER_NOSHORT_CUT   0x04
#define ARC_HAVE_CPU(bits)   ((bits) & ARC_MACH_CPU_MASK)
#define ARC_HAVE_MACH(bits)   ((bits) & ARC_MACH_MASK)
#define ARC_REG_SHIMM_UPDATE   61
#define ARC_REG_SHIMM   63
#define ARC_REG_LIMM   62
#define ARC_REG_CONSTANT_P(REG)   ((REG) >= 61)
#define ARC_SHIFT_REGA   21
#define ARC_SHIFT_REGB   15
#define ARC_SHIFT_REGC   9
#define ARC_MASK_REG   63
#define ARC_DELAY_NONE   0
#define ARC_DELAY_NORMAL   1
#define ARC_DELAY_JUMP   2
#define ARC_SHIMM_CONST_P(x)   ((long) (x) >= -256 && (long) (x) <= 255)

Typedefs

typedef unsigned int arc_insn

Functions/Subroutines

int arc_get_opcode_mach (int, int)
void arc_opcode_init_tables (int)
void arc_opcode_init_insert (void)
void arc_opcode_init_extract (void)
struct arc_opcodearc_opcode_lookup_asm (const char *)
struct arc_opcodearc_opcode_lookup_dis (unsigned int)
int arc_opcode_limm_p (long *)
struct arc_operand_valuearc_opcode_lookup_suffix (const struct arc_operand *type, int value)
int arc_opcode_supported (const struct arc_opcode *)
int arc_opval_supported (const struct arc_operand_value *)
int arc_limm_fixup_adjust (arc_insn)
int arc_insn_is_j (arc_insn)
int arc_insn_not_jl (arc_insn)
int arc_operand_type (int)
struct arc_operand_valueget_ext_suffix (char *)
int arc_get_noshortcut_flag (void)

Variables

struct arc_opcodearc_ext_opcodes
struct arc_ext_operand_valuearc_ext_operands
struct arc_operand arc_operands []
const int arc_operand_count
struct arc_opcode arc_opcodes []
const int arc_opcodes_count
struct arc_operand_value arc_suffixes []
const int arc_suffixes_count
struct arc_operand_value arc_reg_names []
const int arc_reg_names_count
unsigned char arc_operand_map []


Define Documentation

#define A (  )     (((x) & ARC_MASK_REG) << ARC_SHIFT_REGA)

#define ARC_DELAY_JUMP   2

Definition at line 289 of file arc.h.

#define ARC_DELAY_NONE   0

Definition at line 287 of file arc.h.

#define ARC_DELAY_NORMAL   1

Definition at line 288 of file arc.h.

#define ARC_HASH_ICODE ( insn   )     ((unsigned int) (insn) >> 27)

Definition at line 92 of file arc.h.

Referenced by arc_opcode_init_tables(), and arc_opcode_lookup_dis().

#define ARC_HASH_OPCODE ( string   )     ((string)[0] >= 'a' && (string)[0] <= 'z' ? (string)[0] - 'a' : 26)

Definition at line 90 of file arc.h.

Referenced by arc_opcode_init_tables(), and arc_opcode_lookup_asm().

#define ARC_HAVE_CPU ( bits   )     ((bits) & ARC_MACH_CPU_MASK)

Definition at line 268 of file arc.h.

#define ARC_HAVE_MACH ( bits   )     ((bits) & ARC_MACH_MASK)

Definition at line 270 of file arc.h.

#define ARC_MACH_5   0

Definition at line 33 of file arc.h.

Referenced by arc_get_opcode_mach().

#define ARC_MACH_6   1

Definition at line 34 of file arc.h.

Referenced by arc_get_opcode_mach().

#define ARC_MACH_7   2

Definition at line 35 of file arc.h.

Referenced by arc_get_opcode_mach().

#define ARC_MACH_8   4

Definition at line 36 of file arc.h.

Referenced by arc_get_opcode_mach().

#define ARC_MACH_BIG   16

Definition at line 39 of file arc.h.

Referenced by arc_get_opcode_mach().

#define ARC_MACH_CPU_MASK   (ARC_MACH_BIG - 1)

Definition at line 42 of file arc.h.

#define ARC_MACH_MASK   ((ARC_MACH_BIG << 1) - 1)

Definition at line 45 of file arc.h.

#define ARC_MASK_REG   63

Definition at line 284 of file arc.h.

Referenced by extract_unopmacro(), and insert_unopmacro().

#define ARC_MOD_AUXREG   0x4000

Definition at line 200 of file arc.h.

Referenced by extract_reg(), and insert_reg().

#define ARC_MOD_BITS   0x7000

Definition at line 203 of file arc.h.

#define ARC_MOD_DOT   0x1000

Definition at line 194 of file arc.h.

#define ARC_MOD_P ( X   )     ((X) & ARC_MOD_BITS)

Definition at line 206 of file arc.h.

#define ARC_MOD_REG   0x2000

Definition at line 197 of file arc.h.

#define ARC_OPCODE_COND_BRANCH   (ARC_OPCODE_FLAG_START)

Definition at line 68 of file arc.h.

#define ARC_OPCODE_CPU ( bits   )     ((bits) & ARC_MACH_CPU_MASK)

Definition at line 59 of file arc.h.

Referenced by arc_opcode_supported().

#define ARC_OPCODE_FLAG_START   (ARC_MACH_MASK + 1)

Definition at line 65 of file arc.h.

#define ARC_OPCODE_MACH ( bits   )     ((bits) & ARC_MACH_MASK)

Definition at line 62 of file arc.h.

#define ARC_OPCODE_NEXT_ASM ( op   )     ((op)->next_asm)

Definition at line 97 of file arc.h.

#define ARC_OPCODE_NEXT_DIS ( op   )     ((op)->next_dis)

Definition at line 98 of file arc.h.

#define ARC_OPERAND_ABSOLUTE_BRANCH   4

Definition at line 151 of file arc.h.

#define ARC_OPERAND_ADDRESS   8

Definition at line 155 of file arc.h.

#define ARC_OPERAND_ERROR   0x800

Definition at line 184 of file arc.h.

#define ARC_OPERAND_FAKE   0x100

Definition at line 177 of file arc.h.

#define ARC_OPERAND_JUMPFLAGS   0x200

Definition at line 180 of file arc.h.

#define ARC_OPERAND_LIMM   0x10

Definition at line 158 of file arc.h.

#define ARC_OPERAND_LOAD   0x8000

Definition at line 187 of file arc.h.

Referenced by insert_offset().

#define ARC_OPERAND_NEGATIVE   0x80

Definition at line 173 of file arc.h.

#define ARC_OPERAND_RELATIVE_BRANCH   2

Definition at line 147 of file arc.h.

#define ARC_OPERAND_SIGNED   0x20

#define ARC_OPERAND_SIGNOPT   0x40

Definition at line 166 of file arc.h.

#define ARC_OPERAND_STORE   0x10000

Definition at line 190 of file arc.h.

Referenced by insert_offset().

#define ARC_OPERAND_SUFFIX   1

Definition at line 143 of file arc.h.

#define ARC_OPERAND_WARN   0x400

Definition at line 183 of file arc.h.

#define ARC_OPVAL_CPU ( bits   )     ((bits) & ARC_MACH_CPU_MASK)

Definition at line 114 of file arc.h.

#define ARC_OPVAL_MACH ( bits   )     ((bits) & ARC_MACH_MASK)

Definition at line 116 of file arc.h.

#define ARC_REG_CONSTANT_P ( REG   )     ((REG) >= 61)

Definition at line 278 of file arc.h.

Referenced by extract_reg().

#define ARC_REG_LIMM   62

#define ARC_REG_SHIMM   63

Definition at line 274 of file arc.h.

Referenced by arc_limm_fixup_adjust(), extract_reg(), insert_base(), and insert_reg().

#define ARC_REG_SHIMM_UPDATE   61

Definition at line 273 of file arc.h.

Referenced by extract_reg(), and insert_reg().

#define ARC_REGISTER_NOSHORT_CUT   0x04

Definition at line 211 of file arc.h.

Referenced by arc_get_noshortcut_flag().

#define ARC_REGISTER_READONLY   0x01

Definition at line 209 of file arc.h.

Referenced by insert_reg().

#define ARC_REGISTER_WRITEONLY   0x02

Definition at line 210 of file arc.h.

Referenced by insert_reg().

#define ARC_SHIFT_REGA   21

Definition at line 281 of file arc.h.

#define ARC_SHIFT_REGB   15

Definition at line 282 of file arc.h.

Referenced by extract_unopmacro(), and insert_unopmacro().

#define ARC_SHIFT_REGC   9

Definition at line 283 of file arc.h.

Referenced by extract_unopmacro(), and insert_st_syntax().

#define ARC_SHIMM_CONST_P (  )     ((long) (x) >= -256 && (long) (x) <= 255)

Definition at line 292 of file arc.h.

Referenced by insert_base(), and insert_reg().

#define B (  )     (((x) & ARC_MASK_REG) << ARC_SHIFT_REGB)

Definition at line 78 of file arc.h.

#define C (  )     (((x) & ARC_MASK_REG) << ARC_SHIFT_REGC)

Definition at line 79 of file arc.h.

#define I (  )     (((x) & 31) << 27)

#define OP1_IMM_IMPLIED   (OP1_MUST_BE_IMM << 1)

Definition at line 73 of file arc.h.

#define OP1_MUST_BE_IMM   (SYNTAX_2OP << 1)

Definition at line 72 of file arc.h.

#define R ( x,
b,
 )     (((x) & (m)) << (b))

Definition at line 80 of file arc.h.

#define SYNTAX_2OP   (SYNTAX_3OP << 1)

Definition at line 71 of file arc.h.

#define SYNTAX_3OP   (ARC_OPCODE_COND_BRANCH << 1)

Definition at line 69 of file arc.h.

#define SYNTAX_LENGTH   (SYNTAX_3OP )

Definition at line 70 of file arc.h.

#define SYNTAX_VALID   (OP1_IMM_IMPLIED << 1)

Definition at line 74 of file arc.h.


Typedef Documentation

typedef unsigned int arc_insn

Definition at line 49 of file arc.h.


Function Documentation

int arc_get_noshortcut_flag ( void   ) 

Definition at line 1824 of file arc-opc.c.

References ARC_REGISTER_NOSHORT_CUT.

int arc_get_opcode_mach ( int  ,
int   
)

Definition at line 514 of file arc-opc.c.

References ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8, ARC_MACH_BIG, and bfd_mach_arc_5.

int arc_insn_is_j ( arc_insn   ) 

Definition at line 1775 of file arc-opc.c.

References I.

int arc_insn_not_jl ( arc_insn   ) 

Definition at line 1782 of file arc-opc.c.

References A, C, I, and R.

int arc_limm_fixup_adjust ( arc_insn   ) 

Definition at line 1093 of file arc-opc.c.

References ARC_REG_LIMM, ARC_REG_SHIMM, B, C, and I.

Referenced by insert_st_syntax().

void arc_opcode_init_extract ( void   ) 

Definition at line 1425 of file arc-opc.c.

References arc_opcode_init_insert().

void arc_opcode_init_insert ( void   ) 

Definition at line 643 of file arc-opc.c.

References i, ls_operand, OP_NONE, and OPERANDS.

Referenced by arc_opcode_init_extract().

void arc_opcode_init_tables ( int   ) 

int arc_opcode_limm_p ( long  ) 

Definition at line 665 of file arc-opc.c.

struct arc_opcode* arc_opcode_lookup_asm ( const char *   )  [read]

struct arc_opcode* arc_opcode_lookup_dis ( unsigned  int  )  [read]

Definition at line 596 of file arc-opc.c.

References ARC_HASH_ICODE.

struct arc_operand_value* arc_opcode_lookup_suffix ( const struct arc_operand type,
int  value 
) [read]

Referenced by extract_cond(), and extract_flag().

int arc_opcode_supported ( const struct arc_opcode  ) 

int arc_operand_type ( int   ) 

Definition at line 1790 of file arc-opc.c.

References AUXREG, COND, and REG.

int arc_opval_supported ( const struct arc_operand_value  ) 

struct arc_operand_value* get_ext_suffix ( char *   )  [read]


Variable Documentation

Definition at line 73 of file arc-opc.c.

Definition at line 74 of file arc-opc.c.

Definition at line 300 of file arc-opc.c.

const int arc_opcodes_count

Definition at line 357 of file arc-opc.c.

const int arc_operand_count

unsigned char arc_operand_map[]

Definition at line 288 of file arc-opc.c.

Definition at line 129 of file arc-opc.c.

Definition at line 359 of file arc-opc.c.

Definition at line 431 of file arc-opc.c.

Definition at line 437 of file arc-opc.c.

const int arc_suffixes_count

Definition at line 496 of file arc-opc.c.


Generated on Wed Apr 8 14:58:19 2009 for Open64 by  doxygen 1.5.6