#include "sysdep.h"#include "dis-asm.h"#include "opcode/dlx.h"

Go to the source code of this file.
Defines | |
| #define | R_ERROR 0x1 |
| #define | R_TYPE 0x2 |
| #define | ILD_TYPE 0x3 |
| #define | IST_TYPE 0x4 |
| #define | IAL_TYPE 0x5 |
| #define | IBR_TYPE 0x6 |
| #define | IJ_TYPE 0x7 |
| #define | IJR_TYPE 0x8 |
| #define | NIL 0x9 |
| #define | OPC(x) ((x >> 26) & 0x3F) |
| #define | FUNC(x) (x & 0x7FF) |
Typedefs | |
| typedef unsigned char dlx_insn | PARAMS ((struct disassemble_info *)) |
Functions/Subroutines | |
| static unsigned char dlx_get_opcode | PARAMS ((unsigned long)) |
| static void operand_deliminator | PARAMS ((struct disassemble_info *, char *)) |
| static unsigned char dlx_r_type | PARAMS ((struct disassemble_info *)) |
| static unsigned char | dlx_get_opcode (unsigned long opcode) |
| static unsigned char | dlx_get_rs1 (unsigned long opcode) |
| static unsigned char | dlx_get_rs2 (unsigned long opcode) |
| static unsigned char | dlx_get_rdR (unsigned long opcode) |
| static unsigned long | dlx_get_func (unsigned long opcode) |
| static unsigned long | dlx_get_imm16 (unsigned long opcode) |
| static unsigned long | dlx_get_imm26 (unsigned long opcode) |
| static void | operand_deliminator (struct disassemble_info *info, char *ptr) |
| static unsigned char | dlx_r_type (struct disassemble_info *info) |
| static unsigned char | dlx_load_type (struct disassemble_info *info) |
| static unsigned char | dlx_store_type (struct disassemble_info *info) |
| static unsigned char | dlx_aluI_type (struct disassemble_info *info) |
| static unsigned char | dlx_br_type (struct disassemble_info *info) |
| static unsigned char | dlx_jmp_type (struct disassemble_info *info) |
| static unsigned char | dlx_jr_type (struct disassemble_info *info) |
| int | print_insn_dlx (bfd_vma memaddr, struct disassemble_info *info) |
Variables | |
| unsigned char | opc |
| unsigned char | rs1 |
| unsigned char | rs2 |
| unsigned char | rd |
| unsigned long | imm26 |
| unsigned long | imm16 |
| unsigned long | func |
| unsigned long | current_insn_addr |
| #define IAL_TYPE 0x5 |
| #define IBR_TYPE 0x6 |
| #define IJ_TYPE 0x7 |
| #define IJR_TYPE 0x8 |
| #define ILD_TYPE 0x3 |
| #define IST_TYPE 0x4 |
| #define OPC | ( | x | ) | ((x >> 26) & 0x3F) |
Definition at line 33 of file dlx-dis.c.
Referenced by dlx_aluI_type(), dlx_br_type(), dlx_jmp_type(), dlx_jr_type(), dlx_load_type(), dlx_r_type(), and dlx_store_type().
| #define R_ERROR 0x1 |
| #define R_TYPE 0x2 |
| typedef unsigned char dlx_insn PARAMS((struct disassemble_info *)) |
| static unsigned char dlx_aluI_type | ( | struct disassemble_info* | info | ) | [static] |
Definition at line 290 of file dlx-dis.c.
References ADDIOP, ADDUIOP, ANDIOP, IAL_TYPE, idx, imm16, NIL, OPC, opc, opcode, operand_deliminator(), ORIOP, rs1, rs2, SEQIOP, SEQUIOP, SGEIOP, SGEUIOP, SGTIOP, SGTUIOP, SLEIOP, SLEUIOP, SLLIOP, SLTIOP, SLTUIOP, SNEIOP, SNEUIOP, SRAIOP, SRLIOP, SUBIOP, SUBUIOP, and XORIOP.
Referenced by print_insn_dlx().
| static unsigned char dlx_br_type | ( | struct disassemble_info* | info | ) | [static] |
Definition at line 349 of file dlx-dis.c.
References BEQOP, BNEOP, current_insn_addr, IBR_TYPE, idx, imm16, NIL, OPC, opc, opcode, operand_deliminator(), and rs1.
Referenced by print_insn_dlx().
| static unsigned char dlx_get_opcode | ( | unsigned long | opcode | ) | [static] |
| static unsigned char dlx_get_rdR | ( | unsigned long | opcode | ) | [static] |
| static unsigned char dlx_get_rs1 | ( | unsigned long | opcode | ) | [static] |
| static unsigned char dlx_get_rs2 | ( | unsigned long | opcode | ) | [static] |
| static unsigned char dlx_jmp_type | ( | struct disassemble_info* | info | ) | [static] |
| static unsigned char dlx_jr_type | ( | struct disassemble_info* | info | ) | [static] |
| static unsigned char dlx_load_type | ( | struct disassemble_info* | info | ) | [static] |
| static unsigned char dlx_r_type | ( | struct disassemble_info * | info | ) | [static] |
Definition at line 124 of file dlx-dis.c.
References ADDF, ADDUF, ALUOP, ANDF, BSWAPF, DIVF, DIVUF, func, idx, LUTF, MULTF, MULTUF, MVFSF, MVTSF, NIL, NOPF, OPC, opc, operand_deliminator(), ORF, R_ERROR, R_TYPE, rd, rs1, rs2, SEQF, SEQUF, SGEF, SGEUF, SGTF, SGTUF, SLEF, SLEUF, SLLF, SLTF, SLTUF, SNEF, SNEUF, SRAF, SRLF, SUBF, SUBUF, and XORF.
Referenced by print_insn_dlx().
| static unsigned char dlx_store_type | ( | struct disassemble_info* | info | ) | [static] |
| static void operand_deliminator | ( | struct disassemble_info * | info, | |
| char * | ptr | |||
| ) | [static] |
Definition at line 109 of file dlx-dis.c.
Referenced by dlx_aluI_type(), dlx_br_type(), dlx_jmp_type(), dlx_jr_type(), dlx_load_type(), dlx_r_type(), and dlx_store_type().
| static unsigned char dlx_r_type PARAMS | ( | (struct disassemble_info *) | ) | [static] |
| static void operand_deliminator PARAMS | ( | (struct disassemble_info *, char *) | ) | [static] |
| static unsigned char dlx_get_opcode PARAMS | ( | (unsigned long) | ) | [static] |
| int print_insn_dlx | ( | bfd_vma | memaddr, | |
| struct disassemble_info* | info | |||
| ) |
Definition at line 461 of file dlx-dis.c.
References bfd_getb32(), current_insn_addr, dlx_aluI_type(), dlx_br_type(), dlx_get_func(), dlx_get_imm16(), dlx_get_imm26(), dlx_get_opcode(), dlx_get_rdR(), dlx_get_rs1(), dlx_get_rs2(), dlx_jmp_type(), dlx_jr_type(), dlx_load_type(), dlx_r_type(), dlx_store_type(), disassemble_info::fprintf_func, func, IAL_TYPE, IBR_TYPE, IJ_TYPE, IJR_TYPE, ILD_TYPE, imm16, imm26, IST_TYPE, long, disassemble_info::memory_error_func, NIL, NULL, opc, printf(), R_ERROR, R_TYPE, rd, disassemble_info::read_memory_func, rs1, rs2, and disassemble_info::stream.
Referenced by disassembler().
| unsigned long current_insn_addr |
Definition at line 37 of file dlx-dis.c.
Referenced by dlx_br_type(), dlx_jmp_type(), and print_insn_dlx().
| unsigned long func |
Definition at line 37 of file dlx-dis.c.
Referenced by __gthr_win32_once(), __gthread_once(), _iochunk(), _stride_dv(), _strip_mine(), _Unwind_Find_FDE(), _xfer_iolist(), alpha_emit_xfloating_arith(), alpha_emit_xfloating_compare(), alpha_emit_xfloating_cvt(), alpha_lookup_xfloating_lib_func(), ar_sim(), arm_decode_shift(), bfd_boolean(), bfd_hash_traverse(), bfd_link_hash_traverse(), bfd_section_already_linked_table_traverse(), build_invokevirtual(), build_known_method_ref(), c4x_pr_CODE_SECTION(), c4x_pr_DATA_SECTION(), c4x_pr_FUNC_IS_PURE(), c4x_pr_FUNC_NEVER_RETURNS(), c4x_pr_INTERRUPT(), check_init(), close_dump_file(), constant_val_insert(), decodeInstr(), dlx_r_type(), dwarf_func_cu_offset(), dwarf_func_die_offset(), dwarf_func_name_offsets(), dwarf_funcname(), elf64_hppa_dyn_hash_traverse(), elf_find_function(), elfNN_ia64_dyn_sym_traverse(), emit_soft_tfmode_binop(), emit_soft_tfmode_cvt(), emit_soft_tfmode_unop(), examine_objects(), expand_ashiftrt(), expand_invoke(), ffecom_gen_sfuncdef_(), find_tail_calls(), function_value(), gas(), gen_default_init_code(), gen_entry_dope_code(), handle_spec_function(), hard_function_value(), hash_traverse(), Instrument_Address(), internal(), ipa_method_compute_modify(), ix86_function_ok_for_sibcall(), lang_for_each_file(), lang_for_each_input_file(), lang_for_each_statement(), lang_for_each_statement_worker(), m32c_prepare_shift(), main(), pass_over(), pexecute(), Preorder_Process_PUs(), print_insn_arm(), print_insn_dlx(), print_insn_h8500(), print_insn_thumb(), print_symbol(), process_cpnt_inits(), put_reg_into_stack(), scan_unit_for_functions(), search_path_exhausted(), sparc64_elf_output_arch_syms(), and Update_formal_dref().
Definition at line 37 of file dlx-dis.c.
Referenced by dlx_aluI_type(), dlx_br_type(), dlx_load_type(), dlx_store_type(), print_insn_dlx(), and r_assemble_op().
| unsigned char opc |
Definition at line 36 of file dlx-dis.c.
Referenced by _dwarf_pro_generate_debugline(), _dwarf_pro_get_opc(), VN_IVC::_get_literal_diff(), VALNUM_FRE::_ivc_insert_initval_diff(), VN::_valnum_implicit_integral_cvt(), VN::_valnum_memloc_store(), VN::_valnum_op(), Actual_result_type(), CODEMAP::Add_def(), CFG::Add_one_stmt(), aliased_node(), WB_BROWSER::Aliased_Node(), OPT_STAB::Allocate_mu_chi_and_virtual_var(), Analyze_OP_For_Unwind_Info(), BB_NODE::Branch_wn(), TRANSPOSE_DIRECTED_GRAPH16::Build_Snl_Arrays(), Build_wn_tree_from_bits(), Calculate_Min_Resource_II(), WN_Verifier::Call_children_are_PARM(), WN_Verifier::CALL_parent_LDID(), Calls_Alloca(), CODEMAP::Canon_base(), CANON_EXPR::Canon_expr(), CODEMAP::Canon_rhs(), CG_SCHED_EST_Ignore_Op(), CGEXP_Expand_Integer_Divide_By_Constant(), CGSPILL_Attach_Const_Remat(), CGSPILL_Attach_Lda_Remat(), AUX_STAB_ENTRY::Change_to_new_preg(), Check_Arrays(), Check_Divide(), NORMALIZE_LOOP::Check_if_index_is_passed(), Choose_Vector_Opcode(), IP_ALIAS_CLASSIFICATION::Classify_deref_of_expr(), ALIAS_CLASSIFICATION::Classify_deref_of_expr(), IP_ALIAS_CLASSIFICATION::Classify_wn_and_kids(), ALIAS_CLASSIFICATION::Classify_wn_and_kids(), Cleanup_Ordered(), OPT_STAB::Compute_black_box_mu_chi(), Contains_FP_Non_Load(), Contains_Indirect_Load(), Contains_Load(), Contains_Varying_Indirect_Load(), Contains_Work(), CODEREP::Convert_type(), OPT_REVISE_SSA::Create_COMPOSE_BITS(), OPT_STAB::Create_entry_chi_stmt(), Create_Simple_Shackle_Loops(), CODEMAP::Cur_def(), cwh_ceiling_floor(), cwh_expr_binop(), cwh_expr_binop_shift(), cwh_expr_compare(), cwh_expr_compare_bitwise(), cwh_expr_restore_arrayexp(), cwh_expr_unop(), cwh_funny_fp_intrinsic(), cwh_intrin_build(), cwh_intrin_call(), cwh_intrin_op(), cwh_make_typed_opcode(), cwh_stmt_append_truebr(), cwh_stmt_call_helper(), cwh_stmt_falsebr(), cwh_stmt_truebr(), dlx_aluI_type(), dlx_br_type(), dlx_jmp_type(), dlx_jr_type(), dlx_load_type(), dlx_r_type(), dlx_store_type(), do_simple(), Doacross_Init(), DRA_Collect_Commons(), dump_whirl_node(), Dump_Whirl_Node(), ALIAS_MANAGER::Dup_tree_alias_id(), EMITTER::Duplicate_sr_cr_connections(), dV_tree_stmt(), dwarf_fde_cfa_offset(), dwarf_lne_end_sequence(), dwarf_lne_set_address(), emit_builtin_compare_and_swap(), emit_builtin_lock_release(), emit_builtin_lock_test_and_set(), emit_builtin_sync_fetch_op(), RVI_EMIT::Emit_lda_wn_annotations(), Emit_Vector(), RVI_EMIT::Emit_wn_annotations(), SNL_ANAL_INFO::Enter_Deps(), Enter_Guarded_WNs(), STMTREP::Enter_lhs(), Execution_Cost_Expr(), Exp_Call(), Exp_COPY(), Exp_Pred_Set(), Expand_Abs(), Expand_Add(), Expand_Binary_And(), Expand_Binary_Complement(), Expand_Binary_Or(), Expand_Binary_Xor(), Expand_Bool_To_Int(), Expand_Const(), Expand_Convert_Length(), Expand_Copy(), Expand_Divide(), Expand_Equal(), Expand_Flop(), Expand_Greater(), Expand_Greater_Equal(), Expand_High_Multiply(), Expand_Integer_Divide_By_Constant(), Expand_Less(), Expand_Less_Equal(), Expand_Logical_And(), Expand_Logical_Not(), Expand_Logical_Or(), Expand_Max(), Expand_Min(), Expand_Mod(), Expand_Mtype_Immediate(), Expand_Multiply(), Expand_Neg(), Expand_Not_Equal(), Expand_Power_Of_2_Divide(), Expand_Power_Of_2_Rem(), Expand_Select(), Expand_Shift(), Expand_Statement(), Expand_Sub(), fei_arith_goto(), fei_bneg(), fei_multiply_high(), fei_round(), ALIAS_CLASSIFICATION::Finalize_ac_map(), IP_ALIAS_CLASSIFICATION::Finalize_ac_map(), ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), IP_ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), NORMALIZE_LOOP::Find_barrier_in_tree(), Find_Break_Point(), Find_Ls(), Find_one_variant(), Fiss_Gather_Inner_Loop(), CODEREP::Fixup_type(), Fiz_Fuse(), Fiz_Fuse_Phase(), Flip_Le_And_Ge(), Form_Loops(), fr30_cgen_build_insn_regex(), frv_cgen_build_insn_regex(), Fuse(), DISTRIBUTION::Gather_Arrays(), TRANSPOSE_DIRECTED_GRAPH16::Gather_Arrays(), Gather_Scatter_Walk(), ALIAS_MANAGER::Gen_black_box_alias(), Gen_exp_wn(), Gen_Parm_WN(), Gen_stmt_wn(), get_intrinsic_name(), get_ioitem_name(), get_iostatement_name(), Get_Only_Loop_Inside(), Get_Stmt_For_Stmt_Dep_Graph(), RVI::Get_wn_local_attributes(), RVI::Get_wn_local_lda_attributes(), ALIAS_CLASSIFICATION::Handle_call(), IP_ALIAS_CLASSIFICATION::Handle_call(), RVI_CTAB::Hash(), CODEMAP::Hash_Ivar(), Hoist_Reshaped_Reference(), HoistIf_Walk(), If_While_Region_Fiz_Fuse(), Increase_By(), Inner_Fission_Phase_Walk(), EXP_WORKLST::Insert_occurrence(), IO_Copy_Defs(), ip2k_cgen_build_insn_regex(), IPO_Pad_Arrays(), iq2000_cgen_build_insn_regex(), DSE::Is_deleted_statement(), EXP_OCCURS::Is_DPO_less_than(), Is_Rty_Opr(), Is_Rty_Opr2(), WN_Verifier::LDA_ty_not_NULL(), LNO_Insert_Pragmas(), RVI::Load_from_preg_cvtl(), EXP_OCCURS::Load_use_cr(), LWN_Delete_Tree(), LWN_Process_FF_Pragmas_Walk_r(), m32r_cgen_build_insn_regex(), Make_Const(), Mark_Auto_Vectorizable_Loops(), Mark_Concurrent_Call(), RVI_NODE::Match_constant(), MIR_Replace(), Mono(), RVI_NODE::Mtype(), RVI_NODE::Name(), NORMALIZE_LOOP::Normalize_do_loop(), NORMALIZE_LOOP::Normalize_loop_stmt(), Numprocs(), openrisc_cgen_build_insn_regex(), Optimize_Select(), Outer_Loop_Fusion_Walk(), TRANSPOSE_DIRECTED_GRAPH16::Outermore_Parallelizable(), Pad_Arrays(), Pad_Local_Arrays_In_Whirl(), WN_Verifier::Param_parent_is_Call(), Perfectly_Nested(), Preg_Is_Rematerializable(), prepare_move_operands(), RVI_NODE::Print(), PRINT_HOMING_INFO(), print_insn_dlx(), print_insn_hppa(), print_insn_m68k(), print_insn_xtensa(), RAIL::Process_block(), Process_Fill_Align_Pragmas_Recursive(), Prompf_Id_Type(), Recompute_addr_saved_stmt(), REGION_update_alias_info(), SSA::Rename(), Rename_Privatized_COMMON(), SSA::Rename_rhs(), Rewrite_Bounds(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Same_Invariant_Expression(), ETABLE::Save_replace_rhs_by_preg(), CSE::Save_shrunk_lr_def(), EXP_WORKLST::Save_use_cr(), Scalar_Equivalence_Class(), SCC_reorder(), Set_addr_saved_expr(), Set_addr_saved_stmt(), Simd_Walk(), simple_intrinsic(), simple_intrinsic_nt(), CODEREP::Skip_opnd(), SNL_Distribute(), SNL_INFO::SNL_INFO(), SPRE_insert_load_to_preg(), RVI_NODE::St(), STD_Canonicalize_Upper_Bound(), WN_Verifier::STID_check_st_class(), RVI::Store_to_preg_and_mem(), RVI::Store_to_preg_cvtl(), TRANSPOSE_DIRECTED_GRAPH16::Transpose(), Try_Hoist_Expression(), Twod_Setbound(), Types_are_compatible(), REDUCTION_MANAGER::Unroll_Update_Rec(), Unrolled_DU_Update_V(), SUMMARIZE< program >::Update_Addr_Passed_Count(), DSE::Update_MU_list_for_call(), ACCESS_VECTOR::Update_Non_Const_Loops(), ACCESS_ARRAY::Update_Non_Const_Loops(), Upper_Bound_Standardize(), CODEREP::Var_type_conversion(), Vector_Is_Possible(), DU_MANAGER::Verify_scalar_usage(), VHO_Lower_Mstid(), VHO_Lower_Mstore(), Vintrinsic_Fission(), Vintrinsic_Fission_Walk(), SX_INFO::Walk(), WB_access(), WB_RR_Map(), WB_Whirl_Symbol(), WB_Whirl_Symbol_Type(), Whirl_Symbol_Type(), WN2C_initialize(), WN2F_Expr_initialize(), WN_Create_Intrinsic(), WN_CreateComma(), WN_CreateConst(), WN_CreateCvtl(), WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateIlda(), WN_CreateIload(), WN_CreateIloadx(), WN_CreateIntconst(), WN_CreateIstore(), WN_CreateIstorex(), WN_CreateLda(), WN_CreateLdid(), WN_CreateRcomma(), WN_CreateStid(), wn_dumpexpr(), WN_Flip_Le_And_Ge(), WN_has_chi(), WN_has_mu(), WN_Is_Volatile_Mem(), WN_Upper_Bound_Standardize(), xstormy16_cgen_build_insn_regex(), and xtensa_opcode_decode().
| unsigned char rd |
Definition at line 36 of file dlx-dis.c.
Referenced by SYSTEM_OF_EQUATIONS::Add_Work_Le_Non_Simple_Redundant(), browse_tree(), build_inter_loop_deps(), create_duplicates(), dlx_r_type(), elf32_sparc_relocate_section(), fixup_template_block(), print_insn_dlx(), print_insn_h8500(), and redirect_edges().
| unsigned char rs1 |
Definition at line 36 of file dlx-dis.c.
Referenced by dlx_aluI_type(), dlx_br_type(), dlx_jr_type(), dlx_load_type(), dlx_r_type(), dlx_store_type(), Expand_C3_Mode1(), Expand_C3_Mode11(), Expand_C3_Mode2(), Expand_C3_Mode4(), Expand_C3_Mode5(), Expand_C3_Mode9(), Expand_C3_PTR(), Expand_Copy_HI(), Expand_Init_HI(), legitimate_address_p(), and print_insn_dlx().
| unsigned char rs2 |
Definition at line 36 of file dlx-dis.c.
Referenced by dlx_aluI_type(), dlx_load_type(), dlx_r_type(), dlx_store_type(), elf32_sparc_relocate_section(), Expand_C3_Mode1(), Expand_C3_Mode2(), legitimate_address_p(), and print_insn_dlx().
1.5.6