Back to index

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

Go to the source code of this file.

Classes

struct  pd_reg
struct  d30v_opcode
struct  d30v_operand
struct  d30v_format
struct  d30v_insn

Defines

#define NOP   0x00F00000
#define MAX_CONTROL_REG   64
#define FM00   0
#define FM01   0x80000000
#define FM10   0x8000000000000000LL
#define FM11   0x8000000080000000LL
#define BRA   0
#define LOGIC   1
#define IMEM   2
#define IALU1   4
#define IALU2   5
#define ECC_AL   0 /* ALways (default) */
#define ECC_TX   1 /* F0=True, F1=Don't care */
#define ECC_FX   2 /* F0=False, F1=Don't care */
#define ECC_XT   3 /* F0=Don't care, F1=True */
#define ECC_XF   4 /* F0=Don't care, F1=False */
#define ECC_TT   5 /* F0=True, F1=True */
#define ECC_TF   6 /* F0=True, F1=False */
#define ECC_RESERVED   7 /* reserved */
#define ECC_MAX   ECC_RESERVED
#define SHORT_M   1
#define SHORT_M2   5 /* for ld2w and st2w */
#define SHORT_A   9
#define SHORT_B1   11
#define SHORT_B2   12
#define SHORT_B2r   13
#define SHORT_B3   14
#define SHORT_B3r   16
#define SHORT_B3b   18
#define SHORT_B3br   20
#define SHORT_D1r   22
#define SHORT_D2   24
#define SHORT_D2r   26
#define SHORT_D2Br   28
#define SHORT_U   30 /* unary SHORT_A. ABS for example */
#define SHORT_F   31 /* SHORT_A with flag registers */
#define SHORT_AF   33 /* SHORT_A with only the first register a flag register */
#define SHORT_T   35 /* for trap instruction */
#define SHORT_A5   36 /* SHORT_A with a 5-bit immediate instead of 6 */
#define SHORT_CMP   38 /* special form for CMPcc */
#define SHORT_CMPU   40 /* special form for CMPUcc */
#define SHORT_A1   42 /* special form of SHORT_A for MACa opcodes where a=1 */
#define SHORT_AA   44 /* SHORT_A with the first register an accumulator */
#define SHORT_RA   46 /* SHORT_A with the second register an accumulator */
#define SHORT_MODINC   48
#define SHORT_MODDEC   49
#define SHORT_C1   50
#define SHORT_C2   51
#define SHORT_UF   52
#define SHORT_A2   53
#define SHORT_NONE   55 /* no operands */
#define SHORT_AR   56 /* like SHORT_AA but only accept register as third parameter */
#define LONG   57
#define LONG_U   58 /* unary LONG */
#define LONG_Ur   59 /* LONG pc-relative */
#define LONG_CMP   60 /* special form for CMPcc and CMPUcc */
#define LONG_M   61 /* Memory long for ldb, stb */
#define LONG_M2   62 /* Memory long for ld2w, st2w */
#define LONG_2   63 /* LONG with 2 operands; jmptnz */
#define LONG_2r   64 /* LONG with 2 operands; bratnz */
#define LONG_2b   65 /* LONG_2 with modifier of 3 */
#define LONG_2br   66 /* LONG_2r with modifier of 3 */
#define LONG_D   67 /* for DJMPI */
#define LONG_Dr   68 /* for DBRAI */
#define LONG_Dbr   69 /* for repeati */
#define EITHER   0
#define IU   1
#define MU   2
#define EITHER_BUT_PREFER_MU   3
#define FLAG_0   (1L<<0)
#define FLAG_1   (1L<<1)
#define FLAG_2   (1L<<2)
#define FLAG_3   (1L<<3)
#define FLAG_4   (1L<<4) /* S (saturation) */
#define FLAG_5   (1L<<5) /* V (overflow) */
#define FLAG_6   (1L<<6) /* VA (accumulated overflow) */
#define FLAG_7   (1L<<7) /* C (carry/borrow) */
#define FLAG_SM   (1L<<8) /* SM (stack mode) */
#define FLAG_RP   (1L<<9) /* RP (repeat enable) */
#define FLAG_CONTROL   (1L<<10) /* control registers */
#define FLAG_A0   (1L<<11) /* A0 */
#define FLAG_A1   (1L<<12) /* A1 */
#define FLAG_JMP   (1L<<13) /* instruction is a branch */
#define FLAG_JSR   (1L<<14) /* subroutine call. must be aligned */
#define FLAG_MEM   (1L<<15) /* reads/writes memory */
#define FLAG_NOT_WITH_ADDSUBppp
#define FLAG_MUL16   (1L<<17) /* 16 bit multiply */
#define FLAG_MUL32   (1L<<18) /* 32 bit multiply */
#define FLAG_ADDSUBppp   (1L<<19) /* ADDppp or SUBppp */
#define FLAG_DELAY   (1L<<20) /* This is a delayed branch or jump */
#define FLAG_LKR   (1L<<21) /* insn in left slot kills right slot */
#define FLAG_CVVA   (FLAG_5|FLAG_6|FLAG_7)
#define FLAG_C   FLAG_7
#define FLAG_ALL
#define RELOC_PCREL   1
#define RELOC_ABS   2
#define OPERAND_DEST   (1)
#define OPERAND_NUM   (2)
#define OPERAND_ADDR   (4)
#define OPERAND_REG   (8)
#define OPERAND_PLUS   (0x10)
#define OPERAND_MINUS   (0x20)
#define OPERAND_SIGNED   (0x40)
#define OPERAND_SHIFT   (0x80)
#define OPERAND_FLAG   (0x100)
#define OPERAND_CONTROL   (0x200)
#define OPERAND_ACC   (0x400)
#define OPERAND_ATSIGN   (0x800)
#define OPERAND_ATPAR   (0x1000)
#define OPERAND_ATMINUS   (0x2000)
#define OPERAND_NAME   (0x4000)
#define OPERAND_SPECIAL   (0x8000)
#define OPERAND_2REG   (0x10000)
#define OPERAND_PCREL   (0x20000)
#define REGISTER_MASK   0xFF

Functions

int reg_name_cnt (void)

Variables

const char * d30v_ecc_names []
const char * d30v_cc_names []
const int d30v_num_opcodes

Class Documentation

struct pd_reg

Definition at line 467 of file tc-hppa.c.

Class Members
char * name
char * pname
int value
struct d30v_opcode

Definition at line 70 of file d30v.h.

Class Members
long flags_set
long flags_used
unsigned char format
const char * name
int op1
int op2
int reloc_flag
int unit
struct d30v_operand

Definition at line 185 of file d30v.h.

Class Members
int bits
long flags
int length
int position
struct d30v_format

Definition at line 261 of file d30v.h.

Class Members
int form
int modifier
unsigned char operands
struct d30v_insn

Definition at line 273 of file d30v.h.

Collaboration diagram for d30v_insn:
Class Members
int ecc
struct d30v_format * form
struct d30v_opcode * op

Define Documentation

#define BRA   0

Definition at line 47 of file d30v.h.

#define ECC_AL   0 /* ALways (default) */

Definition at line 54 of file d30v.h.

#define ECC_FX   2 /* F0=False, F1=Don't care */

Definition at line 56 of file d30v.h.

#define ECC_MAX   ECC_RESERVED

Definition at line 62 of file d30v.h.

#define ECC_RESERVED   7 /* reserved */

Definition at line 61 of file d30v.h.

#define ECC_TF   6 /* F0=True, F1=False */

Definition at line 60 of file d30v.h.

#define ECC_TT   5 /* F0=True, F1=True */

Definition at line 59 of file d30v.h.

#define ECC_TX   1 /* F0=True, F1=Don't care */

Definition at line 55 of file d30v.h.

#define ECC_XF   4 /* F0=Don't care, F1=False */

Definition at line 58 of file d30v.h.

#define ECC_XT   3 /* F0=Don't care, F1=True */

Definition at line 57 of file d30v.h.

#define EITHER   0

Definition at line 131 of file d30v.h.

#define EITHER_BUT_PREFER_MU   3

Definition at line 134 of file d30v.h.

#define FLAG_0   (1L<<0)

Definition at line 140 of file d30v.h.

#define FLAG_1   (1L<<1)

Definition at line 141 of file d30v.h.

#define FLAG_2   (1L<<2)

Definition at line 142 of file d30v.h.

#define FLAG_3   (1L<<3)

Definition at line 143 of file d30v.h.

#define FLAG_4   (1L<<4) /* S (saturation) */

Definition at line 144 of file d30v.h.

#define FLAG_5   (1L<<5) /* V (overflow) */

Definition at line 145 of file d30v.h.

#define FLAG_6   (1L<<6) /* VA (accumulated overflow) */

Definition at line 146 of file d30v.h.

#define FLAG_7   (1L<<7) /* C (carry/borrow) */

Definition at line 147 of file d30v.h.

#define FLAG_A0   (1L<<11) /* A0 */

Definition at line 151 of file d30v.h.

#define FLAG_A1   (1L<<12) /* A1 */

Definition at line 152 of file d30v.h.

#define FLAG_ADDSUBppp   (1L<<19) /* ADDppp or SUBppp */

Definition at line 159 of file d30v.h.

#define FLAG_ALL
Value:
(FLAG_0 | \
                      FLAG_1 | \
                      FLAG_2 | \
                      FLAG_3 | \
                      FLAG_4 | \
                      FLAG_5 | \
                      FLAG_6 | \
                      FLAG_7 | \
                      FLAG_SM | \
                      FLAG_RP | \
                      FLAG_CONTROL)

Definition at line 164 of file d30v.h.

#define FLAG_C   FLAG_7

Definition at line 163 of file d30v.h.

#define FLAG_CONTROL   (1L<<10) /* control registers */

Definition at line 150 of file d30v.h.

#define FLAG_CVVA   (FLAG_5|FLAG_6|FLAG_7)

Definition at line 162 of file d30v.h.

#define FLAG_DELAY   (1L<<20) /* This is a delayed branch or jump */

Definition at line 160 of file d30v.h.

#define FLAG_JMP   (1L<<13) /* instruction is a branch */

Definition at line 153 of file d30v.h.

#define FLAG_JSR   (1L<<14) /* subroutine call. must be aligned */

Definition at line 154 of file d30v.h.

#define FLAG_LKR   (1L<<21) /* insn in left slot kills right slot */

Definition at line 161 of file d30v.h.

#define FLAG_MEM   (1L<<15) /* reads/writes memory */

Definition at line 155 of file d30v.h.

#define FLAG_MUL16   (1L<<17) /* 16 bit multiply */

Definition at line 157 of file d30v.h.

#define FLAG_MUL32   (1L<<18) /* 32 bit multiply */

Definition at line 158 of file d30v.h.

Value:
(1L<<16) /* Old meaning: a 2 word 4 byter operation
                                      New meaning: operation cannot be 
                                      combined in parallel with ADD/SUBppp. */

Definition at line 156 of file d30v.h.

#define FLAG_RP   (1L<<9) /* RP (repeat enable) */

Definition at line 149 of file d30v.h.

#define FLAG_SM   (1L<<8) /* SM (stack mode) */

Definition at line 148 of file d30v.h.

#define FM00   0

Definition at line 41 of file d30v.h.

#define FM01   0x80000000

Definition at line 42 of file d30v.h.

#define FM10   0x8000000000000000LL

Definition at line 43 of file d30v.h.

#define FM11   0x8000000080000000LL

Definition at line 44 of file d30v.h.

#define IALU1   4

Definition at line 50 of file d30v.h.

#define IALU2   5

Definition at line 51 of file d30v.h.

#define IMEM   2

Definition at line 49 of file d30v.h.

#define IU   1

Definition at line 132 of file d30v.h.

#define LOGIC   1

Definition at line 48 of file d30v.h.

#define LONG   57

Definition at line 115 of file d30v.h.

#define LONG_2   63 /* LONG with 2 operands; jmptnz */

Definition at line 121 of file d30v.h.

#define LONG_2b   65 /* LONG_2 with modifier of 3 */

Definition at line 123 of file d30v.h.

#define LONG_2br   66 /* LONG_2r with modifier of 3 */

Definition at line 124 of file d30v.h.

#define LONG_2r   64 /* LONG with 2 operands; bratnz */

Definition at line 122 of file d30v.h.

#define LONG_CMP   60 /* special form for CMPcc and CMPUcc */

Definition at line 118 of file d30v.h.

#define LONG_D   67 /* for DJMPI */

Definition at line 125 of file d30v.h.

#define LONG_Dbr   69 /* for repeati */

Definition at line 127 of file d30v.h.

#define LONG_Dr   68 /* for DBRAI */

Definition at line 126 of file d30v.h.

#define LONG_M   61 /* Memory long for ldb, stb */

Definition at line 119 of file d30v.h.

#define LONG_M2   62 /* Memory long for ld2w, st2w */

Definition at line 120 of file d30v.h.

#define LONG_U   58 /* unary LONG */

Definition at line 116 of file d30v.h.

#define LONG_Ur   59 /* LONG pc-relative */

Definition at line 117 of file d30v.h.

#define MAX_CONTROL_REG   64

Definition at line 38 of file d30v.h.

#define MU   2

Definition at line 133 of file d30v.h.

#define NOP   0x00F00000

Definition at line 24 of file d30v.h.

#define OPERAND_2REG   (0x10000)

Definition at line 254 of file d30v.h.

#define OPERAND_ACC   (0x400)

Definition at line 235 of file d30v.h.

#define OPERAND_ADDR   (4)

Definition at line 211 of file d30v.h.

#define OPERAND_ATMINUS   (0x2000)

Definition at line 244 of file d30v.h.

#define OPERAND_ATPAR   (0x1000)

Definition at line 241 of file d30v.h.

#define OPERAND_ATSIGN   (0x800)

Definition at line 238 of file d30v.h.

#define OPERAND_CONTROL   (0x200)

Definition at line 232 of file d30v.h.

#define OPERAND_DEST   (1)

Definition at line 205 of file d30v.h.

#define OPERAND_FLAG   (0x100)

Definition at line 229 of file d30v.h.

#define OPERAND_MINUS   (0x20)

Definition at line 220 of file d30v.h.

#define OPERAND_NAME   (0x4000)

Definition at line 248 of file d30v.h.

#define OPERAND_NUM   (2)

Definition at line 208 of file d30v.h.

#define OPERAND_PCREL   (0x20000)

Definition at line 258 of file d30v.h.

#define OPERAND_PLUS   (0x10)

Definition at line 217 of file d30v.h.

#define OPERAND_REG   (8)

Definition at line 214 of file d30v.h.

#define OPERAND_SHIFT   (0x80)

Definition at line 226 of file d30v.h.

#define OPERAND_SIGNED   (0x40)

Definition at line 223 of file d30v.h.

#define OPERAND_SPECIAL   (0x8000)

Definition at line 251 of file d30v.h.

#define REGISTER_MASK   0xFF

Definition at line 282 of file d30v.h.

#define RELOC_ABS   2

Definition at line 178 of file d30v.h.

#define RELOC_PCREL   1

Definition at line 177 of file d30v.h.

#define SHORT_A   9

Definition at line 85 of file d30v.h.

#define SHORT_A1   42 /* special form of SHORT_A for MACa opcodes where a=1 */

Definition at line 104 of file d30v.h.

#define SHORT_A2   53

Definition at line 112 of file d30v.h.

#define SHORT_A5   36 /* SHORT_A with a 5-bit immediate instead of 6 */

Definition at line 101 of file d30v.h.

#define SHORT_AA   44 /* SHORT_A with the first register an accumulator */

Definition at line 105 of file d30v.h.

#define SHORT_AF   33 /* SHORT_A with only the first register a flag register */

Definition at line 99 of file d30v.h.

#define SHORT_AR   56 /* like SHORT_AA but only accept register as third parameter */

Definition at line 114 of file d30v.h.

#define SHORT_B1   11

Definition at line 86 of file d30v.h.

#define SHORT_B2   12

Definition at line 87 of file d30v.h.

#define SHORT_B2r   13

Definition at line 88 of file d30v.h.

#define SHORT_B3   14

Definition at line 89 of file d30v.h.

#define SHORT_B3b   18

Definition at line 91 of file d30v.h.

#define SHORT_B3br   20

Definition at line 92 of file d30v.h.

#define SHORT_B3r   16

Definition at line 90 of file d30v.h.

#define SHORT_C1   50

Definition at line 109 of file d30v.h.

#define SHORT_C2   51

Definition at line 110 of file d30v.h.

#define SHORT_CMP   38 /* special form for CMPcc */

Definition at line 102 of file d30v.h.

#define SHORT_CMPU   40 /* special form for CMPUcc */

Definition at line 103 of file d30v.h.

#define SHORT_D1r   22

Definition at line 93 of file d30v.h.

#define SHORT_D2   24

Definition at line 94 of file d30v.h.

#define SHORT_D2Br   28

Definition at line 96 of file d30v.h.

#define SHORT_D2r   26

Definition at line 95 of file d30v.h.

#define SHORT_F   31 /* SHORT_A with flag registers */

Definition at line 98 of file d30v.h.

#define SHORT_M   1

Definition at line 83 of file d30v.h.

#define SHORT_M2   5 /* for ld2w and st2w */

Definition at line 84 of file d30v.h.

#define SHORT_MODDEC   49

Definition at line 108 of file d30v.h.

#define SHORT_MODINC   48

Definition at line 107 of file d30v.h.

#define SHORT_NONE   55 /* no operands */

Definition at line 113 of file d30v.h.

#define SHORT_RA   46 /* SHORT_A with the second register an accumulator */

Definition at line 106 of file d30v.h.

#define SHORT_T   35 /* for trap instruction */

Definition at line 100 of file d30v.h.

#define SHORT_U   30 /* unary SHORT_A. ABS for example */

Definition at line 97 of file d30v.h.

#define SHORT_UF   52

Definition at line 111 of file d30v.h.


Function Documentation

int reg_name_cnt ( void  )

Definition at line 198 of file d30v-opc.c.

{
  return sizeof (pre_defined_registers) / sizeof (struct pd_reg);
}

Here is the caller graph for this function:


Variable Documentation

Definition at line 507 of file d30v-opc.c.

Definition at line 495 of file d30v-opc.c.