osprey/cygnus/opcodes/dlx-dis.c File Reference

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

Include dependency graph for dlx-dis.c:

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 Documentation

#define FUNC (  )     (x & 0x7FF)

Definition at line 34 of file dlx-dis.c.

#define IAL_TYPE   0x5

Definition at line 27 of file dlx-dis.c.

Referenced by dlx_aluI_type(), and print_insn_dlx().

#define IBR_TYPE   0x6

Definition at line 28 of file dlx-dis.c.

Referenced by dlx_br_type(), and print_insn_dlx().

#define IJ_TYPE   0x7

Definition at line 29 of file dlx-dis.c.

Referenced by dlx_jmp_type(), and print_insn_dlx().

#define IJR_TYPE   0x8

Definition at line 30 of file dlx-dis.c.

Referenced by dlx_jr_type(), and print_insn_dlx().

#define ILD_TYPE   0x3

Definition at line 25 of file dlx-dis.c.

Referenced by dlx_load_type(), and print_insn_dlx().

#define IST_TYPE   0x4

Definition at line 26 of file dlx-dis.c.

Referenced by dlx_store_type(), and print_insn_dlx().

#define NIL   0x9

Definition at line 31 of file dlx-dis.c.

#define OPC (  )     ((x >> 26) & 0x3F)

#define R_ERROR   0x1

Definition at line 23 of file dlx-dis.c.

Referenced by dlx_r_type(), and print_insn_dlx().

#define R_TYPE   0x2

Definition at line 24 of file dlx-dis.c.

Referenced by dlx_r_type(), and print_insn_dlx().


Typedef Documentation

typedef unsigned char dlx_insn PARAMS((struct disassemble_info *))

Definition at line 456 of file dlx-dis.c.


Function Documentation

static unsigned char dlx_aluI_type ( struct disassemble_info info  )  [static]

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 long dlx_get_func ( unsigned long  opcode  )  [static]

Definition at line 87 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned long dlx_get_imm16 ( unsigned long  opcode  )  [static]

Definition at line 94 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned long dlx_get_imm26 ( unsigned long  opcode  )  [static]

Definition at line 101 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned char dlx_get_opcode ( unsigned long  opcode  )  [static]

Definition at line 59 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned char dlx_get_rdR ( unsigned long  opcode  )  [static]

Definition at line 80 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned char dlx_get_rs1 ( unsigned long  opcode  )  [static]

Definition at line 66 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned char dlx_get_rs2 ( unsigned long  opcode  )  [static]

Definition at line 73 of file dlx-dis.c.

Referenced by print_insn_dlx().

static unsigned char dlx_jmp_type ( struct disassemble_info info  )  [static]

Definition at line 387 of file dlx-dis.c.

References BREAKOP, current_insn_addr, idx, IJ_TYPE, imm26, JALOP, JOP, NIL, OPC, opc, opcode, operand_deliminator(), RFEOP, and TRAPOP.

Referenced by print_insn_dlx().

static unsigned char dlx_jr_type ( struct disassemble_info info  )  [static]

Definition at line 428 of file dlx-dis.c.

References idx, IJR_TYPE, JALROP, JROP, NIL, OPC, opc, opcode, operand_deliminator(), and rs1.

Referenced by print_insn_dlx().

static unsigned char dlx_load_type ( struct disassemble_info info  )  [static]

Definition at line 205 of file dlx-dis.c.

References idx, ILD_TYPE, imm16, int, LBOP, LBUOP, LHIOP, LHOP, LHUOP, LSBUOP, LSHUOP, LSWOP, LWOP, NIL, OPC, opc, opcode, operand_deliminator(), rs1, and rs2.

Referenced by print_insn_dlx().

static unsigned char dlx_r_type ( struct disassemble_info info  )  [static]

static unsigned char dlx_store_type ( struct disassemble_info info  )  [static]

Definition at line 256 of file dlx-dis.c.

References idx, imm16, int, IST_TYPE, NIL, OPC, opc, opcode, operand_deliminator(), rs1, rs2, SBOP, SHOP, and SWOP.

Referenced by print_insn_dlx().

static void operand_deliminator ( struct disassemble_info info,
char *  ptr 
) [static]

Definition at line 109 of file dlx-dis.c.

References int, and strlen().

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 
)


Variable Documentation

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().

unsigned long imm16

unsigned long imm26

Definition at line 37 of file dlx-dis.c.

Referenced by dlx_jmp_type(), and print_insn_dlx().

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

unsigned char rs1

unsigned char rs2


Generated on Wed Apr 8 15:04:36 2009 for Open64 by  doxygen 1.5.6