Back to index

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

Go to the source code of this file.

Classes

struct  tic4x_register
struct  tic4x_cond
struct  tic4x_indirect
struct  tic4x_inst

Defines

#define IS_CPU_TIC3X(v)   ((v) == 30 || (v) == 31 || (v) == 32 || (v) == 33)
#define IS_CPU_TIC4X(v)   ((v) == 0 || (v) == 40 || (v) == 44)
#define EXTR(inst, m, l)   ((inst) << (31 - (m)) >> (31 - ((m) - (l))))
#define EXTRU(inst, m, l)   EXTR ((unsigned long)(inst), (m), (l))
#define EXTRS(inst, m, l)   EXTR ((long)(inst), (m), (l))
#define INSERTU(inst, val, m, l)   (inst |= ((val) << (l)))
#define INSERTS(inst, val, m, l)   INSERTU (inst, ((val) & ((1 << ((m) - (l) + 1)) - 1)), m, l)
#define REG_IE   REG_DIE /* C3x only */
#define REG_IF   REG_IIE /* C3x only */
#define REG_IOF   REG_IIF /* C3x only */
#define TIC3X_REG_MAX   REG_RC
#define TIC4X_REG_MAX   REG_TVTP
#define REG_TABLE_SIZE   (TIC4X_REG_MAX + 1)
#define TIC3X_MODN_MAX   0x19
#define TIC4X_OPERANDS_MAX   7 /* Max number of operands for an inst. */
#define TIC4X_NAME_MAX   16 /* Max number of chars in parallel name. */
#define OP_C3X   0x1 /* C30 support - supported by all */
#define OP_C4X   0x2 /* C40 support - C40, C44 */
#define OP_ENH
#define OP_LPWR
#define OP_IDLE2
#define A_CLASS_INSN(name, opcode, level)
#define AB_CLASS_INSN(name, opcode, level)
#define AU_CLASS_INSN(name, opcode, level)
#define AF_CLASS_INSN(name, opcode, level)
#define A2_CLASS_INSN(name, opcode, level)
#define A3_CLASS_INSN(name, opcode, level)
#define A6_CLASS_INSN(name, opcode, level)
#define A7_CLASS_INSN(name, opcode, level)
#define AY_CLASS_INSN(name, opcode, level)
#define B_CLASS_INSN(name, opcode, level)
#define BA_CLASS_INSN(name, opcode, level)
#define BB_CLASS_INSN(name, opcode, level)
#define BI_CLASS_INSN(name, opcode, level)
#define B6_CLASS_INSN(name, opcode, level)
#define B7_CLASS_INSN(name, opcode, level)
#define D_CLASS_INSN(name1, name2, opcode, level)
#define J_CLASS_INSN(name1, name2, opcode, level)
#define LL_CLASS_INSN(name, opcode, level)
#define LS_CLASS_INSN(name, opcode, level)
#define M_CLASS_INSN(namea, nameb, opcode, level)
#define P_CLASS_INSN(namea, nameb, opcode, level)
#define Q_CLASS_INSN(namea, nameb, opcode, level)
#define QC_CLASS_INSN(namea, nameb, opcode, level)
#define R_CLASS_INSN(name, opcode, level)   { name, opcode, 0xffe0ffff, "R", level }
#define RF_CLASS_INSN(name, opcode, level)   { name, opcode, 0xffe0ffff, "r", level }
#define S_CLASS_INSN(name, opcode, level)
#define SC_CLASS_INSN(name, opcode, level)
#define S2_CLASS_INSN(name, opcode, level)
#define T_CLASS_INSN(name, opcode, level)
#define TC_CLASS_INSN(name, opcode, level)
#define T2_CLASS_INSN(name, opcode, level)
#define T2C_CLASS_INSN(name, opcode, level)

Typedefs

typedef struct tic4x_register
typedef struct tic4x_cond
typedef struct tic4x_indirect
typedef struct tic4x_inst

Enumerations

enum  c4x_reg_t {
  REG_R0, REG_R1, REG_R2, REG_R3,
  REG_R4, REG_R5, REG_R6, REG_R7,
  REG_AR0, REG_AR1, REG_AR2, REG_AR3,
  REG_AR4, REG_AR5, REG_AR6, REG_AR7,
  REG_DP, REG_IR0, REG_IR1, REG_BK,
  REG_SP, REG_ST, REG_DIE, REG_IIE,
  REG_IIF, REG_RS, REG_RE, REG_RC,
  REG_R8, REG_R9, REG_R10, REG_R11,
  REG_IVTP, REG_TVTP
}

Variables

static const tic4x_register_t tic3x_registers []
const unsigned int tic3x_num_registers = (((sizeof tic3x_registers) / (sizeof tic3x_registers[0])) - 1)
static const tic4x_register_t tic4x_registers []
const unsigned int tic4x_num_registers = (((sizeof tic4x_registers) / (sizeof tic4x_registers[0])) - 1)
static const tic4x_cond_t tic4x_conds []
const unsigned int tic4x_num_conds = (((sizeof tic4x_conds) / (sizeof tic4x_conds[0])) - 1)
static const tic4x_indirect_t tic4x_indirects []
const unsigned int tic4x_num_indirects = (((sizeof tic4x_indirects) / (sizeof tic4x_indirects[0])) - 1)
static const tic4x_inst_t tic4x_insts []
const unsigned int tic4x_num_insts = (((sizeof tic4x_insts) / (sizeof tic4x_insts[0])) - 1)

Class Documentation

struct tic4x_register

Definition at line 59 of file tic4x.h.

Class Members
char * name
unsigned long regno
struct tic4x_cond

Definition at line 132 of file tic4x.h.

Class Members
unsigned long cond
char * name
struct tic4x_indirect

Definition at line 172 of file tic4x.h.

Class Members
unsigned long modn
char * name
struct tic4x_inst

Definition at line 224 of file tic4x.h.

Class Members
char * args
char * name
unsigned long opcode
unsigned long oplevel
unsigned long opmask

Define Documentation

#define A2_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "Q", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*", level }, \
  { name, opcode|0x00000000, 0xffe00000, "" , level }

Definition at line 353 of file tic4x.h.

#define A3_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffff0000, "Q", level }, \
  { name, opcode|0x00200000, 0xffff0000, "@", level }, \
  { name, opcode|0x00400000, 0xffff0000, "*", level }, \
  { name, opcode|0x00600000, 0xffff0000, "U", level }

Definition at line 363 of file tic4x.h.

#define A6_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00200000, 0xffe00000, "@,R", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,R", level }

Definition at line 375 of file tic4x.h.

#define A7_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00200000, 0xffe00000, "R,@", level }, \
  { name, opcode|0x00400000, 0xffe00000, "R,*", level }

Definition at line 385 of file tic4x.h.

#define A_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "Q;R", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,R", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,R", level }, \
  { name, opcode|0x00600000, 0xffe00000, "S,R", level }

Definition at line 305 of file tic4x.h.

#define AB_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x40000000, 0xf0600000, "Q;R", level }, \
  { name, opcode|0x40200000, 0xf0600000, "@,R", level }, \
  { name, opcode|0x40400000, 0xf0600000, "*,R", level }, \
  { name, opcode|0x40600000, 0xf0600000, "S,R", level }

Definition at line 318 of file tic4x.h.

#define AF_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "q;R", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,R", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,R", level }, \
  { name, opcode|0x00600000, 0xffe00000, "F,R", level }

Definition at line 342 of file tic4x.h.

#define AU_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "Q;R", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,R", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,R", level }, \
  { name, opcode|0x00600000, 0xffe00000, "U,R", level }

Definition at line 330 of file tic4x.h.

#define AY_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "Q,Y", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,Y", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,Y", level }, \
  { name, opcode|0x00600000, 0xffe00000, "S,Y", level }

Definition at line 396 of file tic4x.h.

#define B6_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00200000, 0xffe00000, "@,r", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,r", level }

Definition at line 458 of file tic4x.h.

#define B7_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00200000, 0xffe00000, "r,@", level }, \
  { name, opcode|0x00400000, 0xffe00000, "r,*", level }

Definition at line 468 of file tic4x.h.

#define B_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "q;r", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,r", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,r", level }, \
  { name, opcode|0x00600000, 0xffe00000, "F,r", level }

Definition at line 409 of file tic4x.h.

#define BA_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "Q;r", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,r", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,r", level }, \
  { name, opcode|0x00600000, 0xffe00000, "F,r", level }

Definition at line 421 of file tic4x.h.

#define BB_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x40000000, 0xf0600000, "q;r", level }, \
  { name, opcode|0x40200000, 0xf0600000, "@,r", level }, \
  { name, opcode|0x40400000, 0xf0600000, "*,r", level }, \
  { name, opcode|0x40600000, 0xf0600000, "F,r", level }

Definition at line 434 of file tic4x.h.

#define BI_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x00000000, 0xffe00000, "Q;r", level }, \
  { name, opcode|0x00200000, 0xffe00000, "@,r", level }, \
  { name, opcode|0x00400000, 0xffe00000, "*,r", level }, \
  { name, opcode|0x00600000, 0xffe00000, "S,r", level }

Definition at line 446 of file tic4x.h.

#define D_CLASS_INSN (   name1,
  name2,
  opcode,
  level 
)
Value:
{ name1, opcode|0x00000000, 0xfe200000, "A,Q", level }, \
  { name1, opcode|0x02000000, 0xfe200000, "A,P", level }, \
  { name2, opcode|0x00000000, 0xfe200000, "A,Q", level }, \
  { name2, opcode|0x02000000, 0xfe200000, "A,P", level }

Definition at line 480 of file tic4x.h.

#define EXTR (   inst,
  m,
  l 
)    ((inst) << (31 - (m)) >> (31 - ((m) - (l))))

Definition at line 26 of file tic4x.h.

#define EXTRS (   inst,
  m,
  l 
)    EXTR ((long)(inst), (m), (l))

Definition at line 28 of file tic4x.h.

#define EXTRU (   inst,
  m,
  l 
)    EXTR ((unsigned long)(inst), (m), (l))

Definition at line 27 of file tic4x.h.

#define INSERTS (   inst,
  val,
  m,
  l 
)    INSERTU (inst, ((val) & ((1 << ((m) - (l) + 1)) - 1)), m, l)

Definition at line 30 of file tic4x.h.

#define INSERTU (   inst,
  val,
  m,
  l 
)    (inst |= ((val) << (l)))

Definition at line 29 of file tic4x.h.

#define IS_CPU_TIC3X (   v)    ((v) == 30 || (v) == 31 || (v) == 32 || (v) == 33)

Definition at line 22 of file tic4x.h.

#define IS_CPU_TIC4X (   v)    ((v) == 0 || (v) == 40 || (v) == 44)

Definition at line 23 of file tic4x.h.

#define J_CLASS_INSN (   name1,
  name2,
  opcode,
  level 
)
Value:
{ name1, opcode|0x00000000, 0xffe00000, "Q", level }, \
  { name1, opcode|0x02000000, 0xffe00000, "P", level }, \
  { name2, opcode|0x00000000, 0xffe00000, "Q", level }, \
  { name2, opcode|0x02000000, 0xffe00000, "P", level }

Definition at line 505 of file tic4x.h.

#define LL_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name "_"  name    , opcode, 0xfe000000, "i;L|J,K", level }, \
  { name "2_" name "1", opcode, 0xfe000000, "i;L|J,K", level }, \
  { name "1_" name "2", opcode, 0xfe000000, "J,K|i;L", level }

Definition at line 527 of file tic4x.h.

#define LS_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name "_"  name    , opcode, 0xfe000000, "L;i|H,J", level }, \
  { name "2_" name "1", opcode, 0xfe000000, "L;i|H,J", level }, \
  { name "1_" name "2", opcode, 0xfe000000, "H,J|L;i", level }

Definition at line 541 of file tic4x.h.

#define M_CLASS_INSN (   namea,
  nameb,
  opcode,
  level 
)

Definition at line 562 of file tic4x.h.

#define OP_C3X   0x1 /* C30 support - supported by all */

Definition at line 285 of file tic4x.h.

#define OP_C4X   0x2 /* C40 support - C40, C44 */

Definition at line 286 of file tic4x.h.

#define OP_ENH
Value:
0x4   /* Class LL,LS,M,P,Q,QC enhancements. Argument type
                          I and J is enhanced in these classes - C31>=6.0,
                          C32>=2.0, C33 */

Definition at line 287 of file tic4x.h.

#define OP_IDLE2
Value:
0x10  /* Idle2 support (IDLE2) - C30>=7.0, LC31, C31>=5.0,
                          C32, C33, C40>=5.0, C44 */

Definition at line 289 of file tic4x.h.

#define OP_LPWR
Value:
0x8   /* Low power support (LOPOWER, MAXSPEED) - C30>=7.0,
                          LC31, C31>=5.0, C32 */

Definition at line 288 of file tic4x.h.

#define P_CLASS_INSN (   namea,
  nameb,
  opcode,
  level 
)
Value:
{ namea "_" nameb, opcode, 0xfe000000, "i;L|H,J", level }, \
  { nameb "_" namea, opcode, 0xfe000000, "H,J|i;L", level }

Definition at line 623 of file tic4x.h.

#define Q_CLASS_INSN (   namea,
  nameb,
  opcode,
  level 
)
Value:
{ namea "_"  nameb    , opcode, 0xfe000000, "K,i;L|H,J", level }, \
  { nameb "_"  namea    , opcode, 0xfe000000, "H,J|K,i;L", level }, \
  { namea "3_" nameb    , opcode, 0xfe000000, "K,i;L|H,J", level }, \
  { nameb "_"  namea "3", opcode, 0xfe000000, "H,J|K,i;L", level }

Definition at line 637 of file tic4x.h.

#define QC_CLASS_INSN (   namea,
  nameb,
  opcode,
  level 
)
Value:
{ namea "_"  nameb    , opcode, 0xfe000000, "i;K;L|H,J", level }, \
  { namea "_"  nameb    , opcode, 0xfe000000, "K;i;L|H,J", level }, \
  { nameb "_"  namea    , opcode, 0xfe000000, "H,J|i;K;L", level }, \
  { nameb "_"  namea    , opcode, 0xfe000000, "H,J|K;i;L", level }, \
  { namea "3_" nameb    , opcode, 0xfe000000, "i;K;L|H,J", level }, \
  { namea "3_" nameb    , opcode, 0xfe000000, "K;i;L|H,J", level }, \
  { nameb "_"  namea "3", opcode, 0xfe000000, "H,J|i;K;L", level }, \
  { nameb "_"  namea "3", opcode, 0xfe000000, "H,J|K;i;L", level }

Definition at line 655 of file tic4x.h.

#define R_CLASS_INSN (   name,
  opcode,
  level 
)    { name, opcode, 0xffe0ffff, "R", level }

Definition at line 670 of file tic4x.h.

#define REG_IE   REG_DIE /* C3x only */

Definition at line 49 of file tic4x.h.

#define REG_IF   REG_IIE /* C3x only */

Definition at line 50 of file tic4x.h.

#define REG_IOF   REG_IIF /* C3x only */

Definition at line 51 of file tic4x.h.

#define REG_TABLE_SIZE   (TIC4X_REG_MAX + 1)

Definition at line 57 of file tic4x.h.

#define RF_CLASS_INSN (   name,
  opcode,
  level 
)    { name, opcode, 0xffe0ffff, "r", level }

Definition at line 678 of file tic4x.h.

#define S2_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "e,g", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "e,J", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,g", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J", level  }, \
  { name, opcode|0x30200000, 0xffe00000, "C,g", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "e,g", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "e,J", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,g", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J", level  }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,g", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }

Definition at line 735 of file tic4x.h.

#define S_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \
  { name, opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }

Definition at line 689 of file tic4x.h.

#define SC_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \
  { name, opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "g,C,r", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \
  { name "3", opcode|0x30200000, 0xffe00000, "g,C,r", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }

Definition at line 712 of file tic4x.h.

#define T2_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "E,G", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "E,J", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,G", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J", level  }, \
  { name, opcode|0x30000000, 0xffe00000, "W,G", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "C,G", OP_C4X }, \
  { name, opcode|0x30400000, 0xffe00000, "W,O", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "E,G", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "E,J", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,G", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J", level  }, \
  { name "3", opcode|0x30000000, 0xffe00000, "W,G", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,G", OP_C4X }, \
  { name "3", opcode|0x30400000, 0xffe00000, "W,O", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }

Definition at line 815 of file tic4x.h.

#define T2C_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "E,G", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "E,J", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,G", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J", level  }, \
  { name, opcode|0x30000000, 0xffe00000, "W,G", OP_C4X }, \
  { name, opcode|0x30000000, 0xffe00000, "G,W", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "C,G", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "G,C", OP_C4X }, \
  { name, opcode|0x30400000, 0xffe00000, "W,O", OP_C4X }, \
  { name, opcode|0x30400000, 0xffe00000, "O,W", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "E,G", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "E,J", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,G", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J", level  }, \
  { name "3", opcode|0x30000000, 0xffe00000, "W,G", OP_C4X }, \
  { name "3", opcode|0x30000000, 0xffe00000, "G,W", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,G", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "G,C", OP_C4X }, \
  { name "3", opcode|0x30400000, 0xffe00000, "W,O", OP_C4X }, \
  { name "3", opcode|0x30400000, 0xffe00000, "O,W", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }

Definition at line 841 of file tic4x.h.

#define T_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \
  { name, opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \
  { name, opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \
  { name "3", opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \
  { name "3", opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }

Definition at line 757 of file tic4x.h.

#define TC_CLASS_INSN (   name,
  opcode,
  level 
)
Value:
{ name, opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \
  { name, opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \
  { name, opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \
  { name, opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \
  { name, opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \
  { name, opcode|0x30000000, 0xffe00000, "G,W,R", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \
  { name, opcode|0x30200000, 0xffe00000, "G,C,R", OP_C4X }, \
  { name, opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \
  { name, opcode|0x30400000, 0xffe00000, "O,W,R", OP_C4X }, \
  { name, opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }, \
  { name "3", opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \
  { name "3", opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \
  { name "3", opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \
  { name "3", opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \
  { name "3", opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \
  { name "3", opcode|0x30000000, 0xffe00000, "G,W,R", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \
  { name "3", opcode|0x30200000, 0xffe00000, "G,C,R", OP_C4X }, \
  { name "3", opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \
  { name "3", opcode|0x30400000, 0xffe00000, "O,W,R", OP_C4X }, \
  { name "3", opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }

Definition at line 784 of file tic4x.h.

#define TIC3X_MODN_MAX   0x19

Definition at line 219 of file tic4x.h.

#define TIC3X_REG_MAX   REG_RC

Definition at line 53 of file tic4x.h.

#define TIC4X_NAME_MAX   16 /* Max number of chars in parallel name. */

Definition at line 282 of file tic4x.h.

#define TIC4X_OPERANDS_MAX   7 /* Max number of operands for an inst. */

Definition at line 281 of file tic4x.h.

#define TIC4X_REG_MAX   REG_TVTP

Definition at line 54 of file tic4x.h.


Typedef Documentation

typedef struct tic4x_cond

Definition at line 138 of file tic4x.h.

Definition at line 178 of file tic4x.h.

typedef struct tic4x_inst

Definition at line 233 of file tic4x.h.

Definition at line 65 of file tic4x.h.


Enumeration Type Documentation

enum c4x_reg_t
Enumerator:
REG_R0 
REG_R1 
REG_R2 
REG_R3 
REG_R4 
REG_R5 
REG_R6 
REG_R7 
REG_AR0 
REG_AR1 
REG_AR2 
REG_AR3 
REG_AR4 
REG_AR5 
REG_AR6 
REG_AR7 
REG_DP 
REG_IR0 
REG_IR1 
REG_BK 
REG_SP 
REG_ST 
REG_DIE 
REG_IIE 
REG_IIF 
REG_RS 
REG_RE 
REG_RC 
REG_R8 
REG_R9 
REG_R10 
REG_R11 
REG_IVTP 
REG_TVTP 

Definition at line 33 of file tic4x.h.


Variable Documentation

Definition at line 109 of file tic4x.h.

const tic4x_register_t tic3x_registers[] [static]

Definition at line 68 of file tic4x.h.

const tic4x_cond_t tic4x_conds[] [static]
Initial value:
{
  { "u",    0x00 },
  { "c",    0x01 }, { "lo",  0x01 },
  { "ls",   0x02 },
  { "hi",   0x03 },
  { "nc",   0x04 }, { "hs",  0x04 },
  { "z",    0x05 }, { "eq",  0x05 },
  { "nz",   0x06 }, { "ne",  0x06 },
  { "n",    0x07 }, { "l",   0x07 }, { "lt",  0x07 },
  { "le",   0x08 },
  { "p",    0x09 }, { "gt",  0x09 },
  { "nn",   0x0a }, { "ge",  0x0a },
  { "nv",   0x0c },
  { "v",    0x0d },
  { "nuf",  0x0e },
  { "uf",   0x0f },
  { "nlv",  0x10 },
  { "lv",   0x11 },
  { "nluf", 0x12 },
  { "luf",  0x13 },
  { "zuf",  0x14 },
  
  { "",      0x0}
}

Definition at line 142 of file tic4x.h.

const tic4x_indirect_t tic4x_indirects[] [static]

Definition at line 185 of file tic4x.h.

const tic4x_inst_t tic4x_insts[] [static]

Definition at line 873 of file tic4x.h.

const unsigned int tic4x_num_conds = (((sizeof tic4x_conds) / (sizeof tic4x_conds[0])) - 1)

Definition at line 170 of file tic4x.h.

Definition at line 221 of file tic4x.h.

const unsigned int tic4x_num_insts = (((sizeof tic4x_insts) / (sizeof tic4x_insts[0])) - 1)

Definition at line 1075 of file tic4x.h.

Definition at line 130 of file tic4x.h.

const tic4x_register_t tic4x_registers[] [static]
Initial value:
{
  {"die", REG_DIE},         
  {"iie", REG_IIE},         
  {"iif", REG_IIF},         
  {"f8",  REG_R8},
  {"r8",  REG_R8},
  {"f9",  REG_R9},
  {"r9",  REG_R9},
  {"f10", REG_R10},
  {"r10", REG_R10},
  {"f11", REG_R11},
  {"r11", REG_R11},
  {"ivtp", REG_IVTP},
  {"tvtp", REG_TVTP},
  {"", 0}
}

Definition at line 112 of file tic4x.h.