
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_opcode * | arc_opcode_lookup_asm (const char *) |
| struct arc_opcode * | arc_opcode_lookup_dis (unsigned int) |
| int | arc_opcode_limm_p (long *) |
| struct arc_operand_value * | arc_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_value * | get_ext_suffix (char *) |
| int | arc_get_noshortcut_flag (void) |
Variables | |
| struct arc_opcode * | arc_ext_opcodes |
| struct arc_ext_operand_value * | arc_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 A | ( | x | ) | (((x) & ARC_MASK_REG) << ARC_SHIFT_REGA) |
Definition at line 77 of file arc.h.
Referenced by __adddf3(), __addsf3(), __addtf3(), __divdf3(), __divsf3(), __divtf3(), __eqdf2(), __eqsf2(), __eqtf2(), __extenddftf2(), __extendsfdf2(), __extendsftf2(), __fixdfdi(), __fixdfsi(), __fixsfdi(), __fixsfsi(), __fixtfdi(), __fixtfsi(), __fixunsdfdi(), __fixunsdfsi(), __fixunssfdi(), __fixunssfsi(), __fixunstfdi(), __fixunstfsi(), __floatdidf(), __floatdisf(), __floatditf(), __floatsidf(), __floatsisf(), __floatsitf(), __floatundidf(), __floatundisf(), __floatunditf(), __floatunsidf(), __floatunsisf(), __floatunsitf(), __gedf2(), __gesf2(), __getf2(), __ledf2(), __lesf2(), __letf2(), __muldf3(), __mulsf3(), __multf3(), __negdf2(), __negsf2(), __negtf2(), __subdf3(), __subsf3(), __subtf3(), __truncdfsf2(), __trunctfdf2(), __trunctfsf2(), __unorddf2(), __unordsf2(), __unordtf2(), _type_f(), analyze_subscript_affine_affine(), ar_sim(), arc_insn_not_jl(), dsmOneArcInst(), e_d(), hash1(), lambda_compute_auxillary_space(), md5_process_block(), process_command(), rd_ed(), Simd_Compute_Best_Align(), sort_by_bb_frequency(), strrevcmp(), strrevcmp_align(), and w_ed().
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_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_MASK_REG 63 |
| #define ARC_MOD_AUXREG 0x4000 |
| #define ARC_OPCODE_CPU | ( | bits | ) | ((bits) & ARC_MACH_CPU_MASK) |
| #define ARC_OPERAND_LOAD 0x8000 |
| #define ARC_OPERAND_SIGNED 0x20 |
Definition at line 161 of file arc.h.
Referenced by extract_ld_offset(), extract_reg(), extract_reladdr(), extract_st_offset(), and insert_offset().
| #define ARC_OPERAND_STORE 0x10000 |
| #define ARC_REG_CONSTANT_P | ( | REG | ) | ((REG) >= 61) |
| #define ARC_REG_LIMM 62 |
Definition at line 275 of file arc.h.
Referenced by arc_limm_fixup_adjust(), extract_reg(), insert_base(), insert_offset(), insert_reg(), and insert_st_syntax().
| #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 |
| #define ARC_REGISTER_NOSHORT_CUT 0x04 |
| #define ARC_REGISTER_READONLY 0x01 |
| #define ARC_REGISTER_WRITEONLY 0x02 |
| #define ARC_SHIFT_REGB 15 |
| #define ARC_SHIFT_REGC 9 |
| #define I | ( | x | ) | (((x) & 31) << 27) |
Definition at line 76 of file arc.h.
Referenced by _type_f(), ar_sim(), arc_insn_is_j(), arc_insn_not_jl(), arc_limm_fixup_adjust(), compute_predicate_codes(), CYCLE_STATE::Do_Bundling(), e_d(), extract_ld_offset(), extract_ld_syntax(), extract_reg(), insert_ld_syntax(), insert_offset(), insert_reg(), lambda_matrix_project_to_null(), CYCLE_STATE::Legality_Chk(), rd_ed(), and w_ed().
| int arc_get_noshortcut_flag | ( | void | ) |
| 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_not_jl | ( | arc_insn | ) |
| 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().
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 | ) |
Definition at line 534 of file arc-opc.c.
References ARC_HASH_ICODE, ARC_HASH_OPCODE, i, memset, n, arc_opcode::next_asm, arc_opcode::next_dis, and arc_opcode::syntax.
| struct arc_opcode* arc_opcode_lookup_asm | ( | const char * | ) | [read] |
| struct arc_opcode* arc_opcode_lookup_dis | ( | unsigned | int | ) | [read] |
| 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 | ) |
| int arc_opval_supported | ( | const struct arc_operand_value * | ) |
| struct arc_operand_value* get_ext_suffix | ( | char * | ) | [read] |
Definition at line 1808 of file arc-opc.c.
References COND, arc_operand_value::name, arc_ext_operand_value::next, NULL, arc_ext_operand_value::operand, strcmp(), and arc_operand_value::type.
| const int arc_opcodes_count |
| const int arc_operand_count |
| unsigned char arc_operand_map[] |
| const int arc_reg_names_count |
| const int arc_suffixes_count |
1.5.6