Typedefs |
| | typedef int32 | inst_t |
Enumerations |
| | enum | OPCD_codes { opcd_Branch,
opcd_BranchConditional,
opcd_BranchConditionalToSpecialRegister,
opcd_ConditionRegisterLogical,
opcd_AndImmediate,
opcd_AndImmediateShifted,
opcd_OrImmediate,
opcd_OrImmediateShifted,
opcd_XorImmediate,
opcd_XorImmediateShifted,
opcd_CompareImmediate,
opcd_CompareLogicalImmediate,
opcd_AddImmediate,
opcd_AddImmediateShifted,
opcd_AddImmediateCarrying,
opcd_AddImmediateCarryingAndRecord,
opcd_SubtractFromImmediateCarrying,
opcd_MultiplyLowImmediate,
opcd_LoadByteAndZero,
opcd_LoadByteAndZeroWithUpdate,
opcd_LoadHalfwordAndZero,
opcd_LoadHalfwordAndZeroWithUpdate,
opcd_LoadHalfwordAlgebraic,
opcd_LoadHalfwordAlgebraicWithUpdate,
opcd_LoadWordAndZero,
opcd_LoadWordAndZeroWithUpdate,
opcd_LoadDS,
opcd_StoreByte,
opcd_StoreByteWithUpdate,
opcd_StoreHalfword,
opcd_StoreHalfwordWithUpdate,
opcd_StoreWord,
opcd_StoreWordWithUpdate,
opcd_StoreDS,
opcd_LoadMultipleWord,
opcd_StoreMultipleWord,
opcd_XO,
opcd_SystemCall,
opcd_TrapWordImmediate,
opcd_TrapDoublewordImmediate,
opcd_DoublewordRotate,
opcd_RotateLeftWordThenAndMaskImm,
opcd_RotateLeftWordThenAndMask,
opcd_RotateLeftWordImmThenMaskInsert
} |
| | enum | XOpExts { BcrLinkRegXOp,
BcrCountRegXOp,
CrlAndXOp,
CrlOrXOp,
CrlXorXOp,
CrlNandXOp,
CrlNorXOp,
CrlEqvXOp,
CrlAndcXOp,
CrlOrcXOp,
LoadByteAndZeroXOp,
LoadByteAndZeroUpdateXOp,
LoadHalfwordAndZeroXOp,
LoadHalfwordAndZeroUpdateXOp,
LoadHalfwordAlgebraicXOp,
LoadHalfwordAlgebraicUpdateXOp,
LoadWordAndZeroXOp,
LoadWordAndZeroUpdateXOp,
LoadWordAlgebraicXOp,
LoadWordAlgebraicUpdateXOp,
LoadDoublewordXOp,
LoadDoublewordUpdateXOp,
StoreByteXOp,
StoreByteUpdateXOp,
StoreHalfwordXOp,
StoreHalfwordUpdateXOp,
StoreWordXOp,
StoreWordUpdateXOp,
StoreDoublewordXOp,
StoreDoublewordUpdateXOp,
LoadHalfwordByteReversedXOp,
LoadWordByteReversedXOp,
StoreHalfwordByteReversedXOp,
StoreWordByteReveresedXOp,
LoadStringWordXOp,
StoreStringWordXOp,
LoadStringWordImmediateXOp,
StoreStringWordImmediateXOp,
LoadWordAndReserveXOp,
LoadDoublewordAndReserveXOp,
StoreWordConditionalXOp,
StoreDoublewordConditionalXOp,
SynchronizeXOp,
AddXOp,
SubtractFromXOp,
AddCarryingXOp,
SubtractFromCarryingXOp,
AddExtendedXOp,
SubtractFromExtendedXOp,
AddToMinusOneExtendedXOp,
SubtractFromMinusOneExtendedXOp,
AddToZeroExtendedXOp,
SubtractFromZeroExtendedXOp,
NegateXOp,
MultiplyLowDoublewordXOp,
MultiplyLowWordXOp,
MultiplyHighDoublewordXOp,
MultiplyHighWordXOp,
MultiplyHighDoublewordUnsignedXOp,
MultiplyHighWordUnsignedXOp,
DivideDoublewordXOp,
DivideWordXOp,
DivideDoublewordUnsignedXOp,
DivideWordUnsignedXOp,
CompareXOp,
CompareLogicalXOp,
TrapWordXOp,
TrapDoublewordXOp,
AndXOp,
OrXOp,
XorXOp,
NandXOp,
NorXOp,
EquivalentXOp,
AndWithComplementXOp,
OrWithComplementXOp,
ExtendSignByteXOp,
ExtendSignHalfwordXOp,
ExtendSignWordXOp,
CountLeadingZerosDoublewordXOp,
CountLeadingZerosWordXOp,
MoveToSpecialRegXOp,
MoveFromSpecialRegXOp,
MoveToConditionRegisterXOp,
MoveToConditionRegisterFromXERXOp,
MoveFromConditionRegisterXOp,
ShiftLeftDoublewordXOp,
ShiftLeftWordXOp,
ShiftRightDoublewordXOp,
ShiftRightWordXOp,
ShiftRightAlgebraicDoublewordXOp,
ShiftRightAlgebraicWordXOp,
ShiftRightAlgebraicDoublewordImmediateXOp,
ShiftRightAlgebraicWordImmediateXOp
} |
| | enum | DSXOp { dsx_WordAlgebraic,
dsx_Doubleword,
dsx_DoublewordUpdate
} |
| | enum | SPR_code { spr_XER,
spr_LR,
spr_CTR
} |
Functions |
| | fint | OP (inst_t inst) |
| | fint | XOP1 (inst_t inst) |
| | fint | SPR (inst_t inst) |
| | bool | isAddingInst (inst_t inst) |
| | inst_t | signExtend (int32 field_bit_size, int32 i) |
| | inst_t | linkBit (inst_t inst) |
| | inst_t | absoluteBit (inst_t inst) |
| | inst_t | RA (inst_t inst) |
| | inst_t | RT (inst_t inst) |
| | inst_t | RS (inst_t inst) |
| | inst_t | UI (inst_t i) |
| | void | set_ui (inst_t* instp, uint16 newVal) |
| | int32 | SI (inst_t i) |
| | void | set_si (inst_t* instp, int16 newVal) |
| | bool | fits_within_li (int32 i) |
| | bool | fits_within_si (int32 i) |
| | bool | fits_within_ui (int32 i) |
| | bool | is_immediate_pair (inst_t* instp) |
| | int32 | immediate_pair_target (inst_t* instp) |
| | bool | isBranch (inst_t* instp) |
| | bool | isImmediateBranch (inst_t* instp) |
| | bool | is_ori (inst_t inst) |
| | bool | is_oris (inst_t inst) |
| | bool | is_branch_to_ctr (inst_t inst) |
| | bool | is_branch_to_lr (inst_t inst) |
| | bool | is_addi (inst_t inst) |
| | bool | is_addis (inst_t inst) |
| | bool | is_lis (inst_t inst) |
| | bool | is_mtctr (inst_t inst) |
| | bool | is_mtlr (inst_t inst) |
| | bool | is_mflr (inst_t inst) |
| | bool | isCall (inst_t* instp) |
| | bool | isImmediateCall (inst_t* instp) |
| | bool | isBranchAbsolute (inst_t inst) |
| | bool | is_lmw (pc_t x) |
| | bool | is_stmw (pc_t x) |
| | bool | is_stw (inst_t i) |
| | bool | is_stwu (inst_t i) |
| | bool | is_lwz (inst_t i) |
| | bool | isLoadWord (int* instp) |
| | int32 | getArithImm (int* instp) |
| | bool | is_load_store_immediate (inst_t i) |
| | bool | isUnconditionalImmediateBranch (inst_t inst) |
| | int32 | unconditionalImmediateBranch_target (inst_t* instp) |
| | int32 | conditionalImmediateBranch_target (inst_t* instp) |
| | void | set_unconditionalImmediateBranch_target (inst_t* instp, int32 nv) |
| | void | set_conditionalImmediateBranch_target (inst_t* instp, int32 nv) |
| | void | set_immediate_pair_target (inst_t *instp, int32 nv) |
| | int32 | displacementBits (inst_t inst) |
| | pc_t | get_target_of_branch_instruction (inst_t* instp) |
| | pc_t | get_target_of_Self_call_site ( inst_t* instp) |
| | pc_t | get_target_of_C_call_site ( inst_t* instp) |
| | void | set_target_of_branch_instruction (inst_t* instp, void* target) |
| | void | set_target_of_Self_call_site ( inst_t* instp, void* target) |
Variables |
| | const | li_bits |
| | const | bd_bits |
| | const | ui_bits |
| | const | si_bits |
| | const | li_mask |
| | const | bd_mask |
| | const | ui_mask |
| | const | si_mask |