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

#include <sys/types.h>
#include "bfd.h"

Include dependency graph for ia64.h:

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

Go to the source code of this file.

Data Types

type  ia64_dependency
type  ia64_opcode_dependency
type  ia64_templ_desc
type  ia64_opcode
type  ia64_operand
type  ia64_operand::bit_field

Defines

#define REG_NONE   (-1)
#define RDEP(N, X)   (((N)<<11)|(X))
#define NOTE(X)   (((X)>>11)&0x1F)
#define DEP(X)   ((X)&0x7FF)
#define IA64_OPCODE_FIRST   (1<<0)
#define IA64_OPCODE_X_IN_MLX   (1<<1)
#define IA64_OPCODE_LAST   (1<<2)
#define IA64_OPCODE_PRIV   (1<<3)
#define IA64_OPCODE_SLOT2   (1<<4)
#define IA64_OPCODE_NO_PRED   (1<<5)
#define IA64_OPCODE_PSEUDO   (1<<6)
#define IA64_OPCODE_F2_EQ_F3   (1<<7)
#define IA64_OPCODE_LEN_EQ_64MCNT   (1<<8)
#define IA64_OPCODE_MOD_RRBS   (1<<9)
#define IA64_OPCODE_POSTINC   (1<<10)
#define IA64_OP(i)   (((i) >> 37) & 0xf)
#define IA64_OPND_FLAG_DECIMAL_SIGNED   (1<<0)
#define IA64_OPND_FLAG_DECIMAL_UNSIGNED   (1<<1)

Typedefs

typedef BFD_HOST_U_64_BIT ia64_insn

Enumerations

enum  ia64_insn_type {
  IA64_TYPE_NIL = 0, IA64_TYPE_A, IA64_TYPE_I, IA64_TYPE_M,
  IA64_TYPE_B, IA64_TYPE_F, IA64_TYPE_X, IA64_TYPE_DYN,
  IA64_NUM_TYPES
}
enum  ia64_unit {
  IA64_UNIT_NIL = 0, IA64_UNIT_I, IA64_UNIT_M, IA64_UNIT_B,
  IA64_UNIT_F, IA64_UNIT_L, IA64_UNIT_X, IA64_NUM_UNITS
}
enum  ia64_opnd {
  IA64_OPND_NIL, IA64_OPND_AR_CSD, IA64_OPND_AR_CCV, IA64_OPND_AR_PFS,
  IA64_OPND_C1, IA64_OPND_C8, IA64_OPND_C16, IA64_OPND_GR0,
  IA64_OPND_IP, IA64_OPND_PR, IA64_OPND_PR_ROT, IA64_OPND_PSR,
  IA64_OPND_PSR_L, IA64_OPND_PSR_UM, IA64_OPND_AR3, IA64_OPND_B1,
  IA64_OPND_B2, IA64_OPND_CR3, IA64_OPND_F1, IA64_OPND_F2,
  IA64_OPND_F3, IA64_OPND_F4, IA64_OPND_P1, IA64_OPND_P2,
  IA64_OPND_R1, IA64_OPND_R2, IA64_OPND_R3, IA64_OPND_R3_2,
  IA64_OPND_CPUID_R3, IA64_OPND_DBR_R3, IA64_OPND_DTR_R3, IA64_OPND_ITR_R3,
  IA64_OPND_IBR_R3, IA64_OPND_MR3, IA64_OPND_MSR_R3, IA64_OPND_PKR_R3,
  IA64_OPND_PMC_R3, IA64_OPND_PMD_R3, IA64_OPND_RR_R3, IA64_OPND_CCNT5,
  IA64_OPND_CNT2a, IA64_OPND_CNT2b, IA64_OPND_CNT2c, IA64_OPND_CNT5,
  IA64_OPND_CNT6, IA64_OPND_CPOS6a, IA64_OPND_CPOS6b, IA64_OPND_CPOS6c,
  IA64_OPND_IMM1, IA64_OPND_IMMU2, IA64_OPND_IMMU7a, IA64_OPND_IMMU7b,
  IA64_OPND_SOF, IA64_OPND_SOL, IA64_OPND_SOR, IA64_OPND_IMM8,
  IA64_OPND_IMM8U4, IA64_OPND_IMM8M1, IA64_OPND_IMM8M1U4, IA64_OPND_IMM8M1U8,
  IA64_OPND_IMMU9, IA64_OPND_IMM9a, IA64_OPND_IMM9b, IA64_OPND_IMM14,
  IA64_OPND_IMM17, IA64_OPND_IMMU21, IA64_OPND_IMM22, IA64_OPND_IMMU24,
  IA64_OPND_IMM44, IA64_OPND_IMMU62, IA64_OPND_IMMU64, IA64_OPND_INC3,
  IA64_OPND_LEN4, IA64_OPND_LEN6, IA64_OPND_MBTYPE4, IA64_OPND_MHTYPE8,
  IA64_OPND_POS6, IA64_OPND_TAG13, IA64_OPND_TAG13b, IA64_OPND_TGT25,
  IA64_OPND_TGT25b, IA64_OPND_TGT25c, IA64_OPND_TGT64, IA64_OPND_LDXMOV,
  IA64_OPND_COUNT
}
enum  ia64_dependency_mode { IA64_DV_RAW, IA64_DV_WAW, IA64_DV_WAR }
enum  ia64_dependency_semantics {
  IA64_DVS_NONE, IA64_DVS_IMPLIED, IA64_DVS_IMPLIEDF, IA64_DVS_DATA,
  IA64_DVS_INSTR, IA64_DVS_SPECIFIC, IA64_DVS_STOP, IA64_DVS_OTHER
}
enum  ia64_resource_specifier {
  IA64_RS_ANY, IA64_RS_AR_K, IA64_RS_AR_UNAT, IA64_RS_AR,
  IA64_RS_ARb, IA64_RS_BR, IA64_RS_CFM, IA64_RS_CPUID,
  IA64_RS_CR_IRR, IA64_RS_CR_LRR, IA64_RS_CR, IA64_RS_DBR,
  IA64_RS_FR, IA64_RS_FRb, IA64_RS_GR0, IA64_RS_GR,
  IA64_RS_IBR, IA64_RS_INSERVICE, IA64_RS_MSR, IA64_RS_PKR,
  IA64_RS_PMC, IA64_RS_PMD, IA64_RS_PR, IA64_RS_PRr,
  IA64_RS_PR63, IA64_RS_RR, IA64_RS_ARX, IA64_RS_CRX,
  IA64_RS_PSR, IA64_RS_RSE, IA64_RS_AR_FPSR
}
enum  ia64_rse_resource {
  IA64_RSE_N_STACKED_PHYS, IA64_RSE_BOF, IA64_RSE_STORE_REG, IA64_RSE_LOAD_REG,
  IA64_RSE_BSPLOAD, IA64_RSE_RNATBITINDEX, IA64_RSE_CFLE, IA64_RSE_NDIRTY
}
enum  ia64_operand_class {
  IA64_OPND_CLASS_CST, IA64_OPND_CLASS_REG, IA64_OPND_CLASS_IND, IA64_OPND_CLASS_ABS,
  IA64_OPND_CLASS_REL
}

Functions/Subroutines

struct ia64_opcodeia64_find_opcode (const char *name)
struct ia64_opcodeia64_find_next_opcode (struct ia64_opcode *ent)
struct ia64_opcodeia64_dis_opcode (ia64_insn insn, enum ia64_insn_type type)
void ia64_free_opcode (struct ia64_opcode *ent)
struct ia64_dependencyia64_find_dependency (int index)

Variables

struct ia64_templ_desc ia64_templ_desc [16]
struct ia64_opcode ia64_opcodes_a []
struct ia64_opcode ia64_opcodes_i []
struct ia64_opcode ia64_opcodes_m []
struct ia64_opcode ia64_opcodes_b []
struct ia64_opcode ia64_opcodes_f []
struct ia64_opcode ia64_opcodes_d []
struct ia64_operand elf64_ia64_operands [IA64_OPND_COUNT]


Define Documentation

#define DEP ( X   )     ((X)&0x7FF)

#define IA64_OP ( i   )     (((i) >> 37) & 0xf)

Definition at line 314 of file ia64.h.

Referenced by unit_to_type().

#define IA64_OPCODE_F2_EQ_F3   (1<<7)

Definition at line 308 of file ia64.h.

Referenced by opcode_verify().

#define IA64_OPCODE_FIRST   (1<<0)

Definition at line 301 of file ia64.h.

#define IA64_OPCODE_LAST   (1<<2)

Definition at line 303 of file ia64.h.

#define IA64_OPCODE_LEN_EQ_64MCNT   (1<<8)

Definition at line 309 of file ia64.h.

Referenced by opcode_verify().

#define IA64_OPCODE_MOD_RRBS   (1<<9)

Definition at line 310 of file ia64.h.

#define IA64_OPCODE_NO_PRED   (1<<5)

Definition at line 306 of file ia64.h.

Referenced by print_insn_ia64().

#define IA64_OPCODE_POSTINC   (1<<10)

Definition at line 311 of file ia64.h.

Referenced by in_iclass().

#define IA64_OPCODE_PRIV   (1<<3)

Definition at line 304 of file ia64.h.

#define IA64_OPCODE_PSEUDO   (1<<6)

Definition at line 307 of file ia64.h.

#define IA64_OPCODE_SLOT2   (1<<4)

Definition at line 305 of file ia64.h.

#define IA64_OPCODE_X_IN_MLX   (1<<1)

Definition at line 302 of file ia64.h.

#define IA64_OPND_FLAG_DECIMAL_SIGNED   (1<<0)

Definition at line 367 of file ia64.h.

Referenced by print_insn_ia64().

#define IA64_OPND_FLAG_DECIMAL_UNSIGNED   (1<<1)

Definition at line 369 of file ia64.h.

Referenced by print_insn_ia64().

#define NOTE ( X   )     (((X)>>11)&0x1F)

Definition at line 246 of file ia64.h.

#define RDEP ( N,
X   )     (((N)<<11)|(X))

Definition at line 245 of file ia64.h.

Referenced by insert_opcode_dependencies().

#define REG_NONE   (-1)

Definition at line 224 of file ia64.h.

Referenced by lookup_regindex().


Typedef Documentation

typedef BFD_HOST_U_64_BIT ia64_insn

Definition at line 17 of file ia64.h.


Enumeration Type Documentation

Enumerator:
IA64_DV_RAW 
IA64_DV_WAW 
IA64_DV_WAR 

Definition at line 145 of file ia64.h.

Enumerator:
IA64_DVS_NONE 
IA64_DVS_IMPLIED 
IA64_DVS_IMPLIEDF 
IA64_DVS_DATA 
IA64_DVS_INSTR 
IA64_DVS_SPECIFIC 
IA64_DVS_STOP 
IA64_DVS_OTHER 

Definition at line 152 of file ia64.h.

Enumerator:
IA64_TYPE_NIL 
IA64_TYPE_A 
IA64_TYPE_I 
IA64_TYPE_M 
IA64_TYPE_B 
IA64_TYPE_F 
IA64_TYPE_X 
IA64_TYPE_DYN 
IA64_NUM_TYPES 

Definition at line 19 of file ia64.h.

Enumerator:
IA64_OPND_CLASS_CST 
IA64_OPND_CLASS_REG 
IA64_OPND_CLASS_IND 
IA64_OPND_CLASS_ABS 
IA64_OPND_CLASS_REL 

Definition at line 316 of file ia64.h.

enum ia64_opnd

Enumerator:
IA64_OPND_NIL 
IA64_OPND_AR_CSD 
IA64_OPND_AR_CCV 
IA64_OPND_AR_PFS 
IA64_OPND_C1 
IA64_OPND_C8 
IA64_OPND_C16 
IA64_OPND_GR0 
IA64_OPND_IP 
IA64_OPND_PR 
IA64_OPND_PR_ROT 
IA64_OPND_PSR 
IA64_OPND_PSR_L 
IA64_OPND_PSR_UM 
IA64_OPND_AR3 
IA64_OPND_B1 
IA64_OPND_B2 
IA64_OPND_CR3 
IA64_OPND_F1 
IA64_OPND_F2 
IA64_OPND_F3 
IA64_OPND_F4 
IA64_OPND_P1 
IA64_OPND_P2 
IA64_OPND_R1 
IA64_OPND_R2 
IA64_OPND_R3 
IA64_OPND_R3_2 
IA64_OPND_CPUID_R3 
IA64_OPND_DBR_R3 
IA64_OPND_DTR_R3 
IA64_OPND_ITR_R3 
IA64_OPND_IBR_R3 
IA64_OPND_MR3 
IA64_OPND_MSR_R3 
IA64_OPND_PKR_R3 
IA64_OPND_PMC_R3 
IA64_OPND_PMD_R3 
IA64_OPND_RR_R3 
IA64_OPND_CCNT5 
IA64_OPND_CNT2a 
IA64_OPND_CNT2b 
IA64_OPND_CNT2c 
IA64_OPND_CNT5 
IA64_OPND_CNT6 
IA64_OPND_CPOS6a 
IA64_OPND_CPOS6b 
IA64_OPND_CPOS6c 
IA64_OPND_IMM1 
IA64_OPND_IMMU2 
IA64_OPND_IMMU7a 
IA64_OPND_IMMU7b 
IA64_OPND_SOF 
IA64_OPND_SOL 
IA64_OPND_SOR 
IA64_OPND_IMM8 
IA64_OPND_IMM8U4 
IA64_OPND_IMM8M1 
IA64_OPND_IMM8M1U4 
IA64_OPND_IMM8M1U8 
IA64_OPND_IMMU9 
IA64_OPND_IMM9a 
IA64_OPND_IMM9b 
IA64_OPND_IMM14 
IA64_OPND_IMM17 
IA64_OPND_IMMU21 
IA64_OPND_IMM22 
IA64_OPND_IMMU24 
IA64_OPND_IMM44 
IA64_OPND_IMMU62 
IA64_OPND_IMMU64 
IA64_OPND_INC3 
IA64_OPND_LEN4 
IA64_OPND_LEN6 
IA64_OPND_MBTYPE4 
IA64_OPND_MHTYPE8 
IA64_OPND_POS6 
IA64_OPND_TAG13 
IA64_OPND_TAG13b 
IA64_OPND_TGT25 
IA64_OPND_TGT25b 
IA64_OPND_TGT25c 
IA64_OPND_TGT64 
IA64_OPND_LDXMOV 
IA64_OPND_COUNT 

Definition at line 47 of file ia64.h.

Enumerator:
IA64_RS_ANY 
IA64_RS_AR_K 
IA64_RS_AR_UNAT 
IA64_RS_AR 
IA64_RS_ARb 
IA64_RS_BR 
IA64_RS_CFM 
IA64_RS_CPUID 
IA64_RS_CR_IRR 
IA64_RS_CR_LRR 
IA64_RS_CR 
IA64_RS_DBR 
IA64_RS_FR 
IA64_RS_FRb 
IA64_RS_GR0 
IA64_RS_GR 
IA64_RS_IBR 
IA64_RS_INSERVICE 
IA64_RS_MSR 
IA64_RS_PKR 
IA64_RS_PMC 
IA64_RS_PMD 
IA64_RS_PR 
IA64_RS_PRr 
IA64_RS_PR63 
IA64_RS_RR 
IA64_RS_ARX 
IA64_RS_CRX 
IA64_RS_PSR 
IA64_RS_RSE 
IA64_RS_AR_FPSR 

Definition at line 164 of file ia64.h.

Enumerator:
IA64_RSE_N_STACKED_PHYS 
IA64_RSE_BOF 
IA64_RSE_STORE_REG 
IA64_RSE_LOAD_REG 
IA64_RSE_BSPLOAD 
IA64_RSE_RNATBITINDEX 
IA64_RSE_CFLE 
IA64_RSE_NDIRTY 

Definition at line 200 of file ia64.h.

enum ia64_unit

Enumerator:
IA64_UNIT_NIL 
IA64_UNIT_I 
IA64_UNIT_M 
IA64_UNIT_B 
IA64_UNIT_F 
IA64_UNIT_L 
IA64_UNIT_X 
IA64_NUM_UNITS 

Definition at line 32 of file ia64.h.


Function Documentation

struct ia64_opcode* ia64_dis_opcode ( ia64_insn  insn,
enum ia64_insn_type  type 
) [read]

struct ia64_dependency* ia64_find_dependency ( int  index  )  [read]

Definition at line 725 of file ia64-opc.c.

References DEP, dependencies, and NULL.

struct ia64_opcode* ia64_find_next_opcode ( struct ia64_opcode ent  )  [read]

struct ia64_opcode* ia64_find_opcode ( const char *  name  )  [read]

void ia64_free_opcode ( struct ia64_opcode ent  ) 

Definition at line 718 of file ia64-opc.c.

References free(), and ia64_opcode::name.

Referenced by print_insn_ia64().


Variable Documentation

Definition at line 412 of file cpu-ia64-opc.c.

Referenced by elfNN_ia64_install_value(), opcode_verify(), and print_insn_ia64().

Definition at line 94 of file ia64-opc-a.c.

Referenced by main().

Definition at line 76 of file ia64-opc-b.c.

Referenced by main().

Definition at line 26 of file ia64-opc-d.c.

Referenced by main().

Definition at line 85 of file ia64-opc-f.c.

Referenced by main().

Definition at line 108 of file ia64-opc-i.c.

Referenced by main().

Definition at line 80 of file ia64-opc-m.c.

Referenced by main().

Definition at line 46 of file ia64-opc.c.


Generated on Wed Apr 8 14:55:42 2009 for Open64 by  doxygen 1.5.6