Lines Matching refs:info

73 int inst_ARM_is_indirect_branch(uint32_t inst, struct decode_info *info)  in inst_ARM_is_indirect_branch()  argument
86 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* BX LR */ in inst_ARM_is_indirect_branch()
92 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; in inst_ARM_is_indirect_branch()
96 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* LDR PC, [SP], #imm */ in inst_ARM_is_indirect_branch()
102 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* MOV PC, R14 */ in inst_ARM_is_indirect_branch()
126 int inst_Thumb_is_direct_branch(uint32_t inst, struct decode_info *info) in inst_Thumb_is_direct_branch() argument
129 return inst_Thumb_is_direct_branch_link(inst, &link, &cond, info); in inst_Thumb_is_direct_branch()
132 …_is_direct_branch_link(uint32_t inst, uint8_t *is_link, uint8_t *is_cond, struct decode_info *info) in inst_Thumb_is_direct_branch_link() argument
148 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_Thumb_is_direct_branch_link()
153 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_Thumb_is_direct_branch_link()
179 int inst_Thumb_is_indirect_branch(uint32_t inst, struct decode_info *info) in inst_Thumb_is_indirect_branch() argument
182 return inst_Thumb_is_indirect_branch_link(inst, &link, info); in inst_Thumb_is_indirect_branch()
185 int inst_Thumb_is_indirect_branch_link(uint32_t inst, uint8_t *is_link, struct decode_info *info) in inst_Thumb_is_indirect_branch_link() argument
194 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_Thumb_is_indirect_branch_link()
197 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* BX LR */ in inst_Thumb_is_indirect_branch_link()
203 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; in inst_Thumb_is_indirect_branch_link()
207 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* MOV PC,LR */ in inst_Thumb_is_indirect_branch_link()
223 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* LDR PC, [SP], #imm*/ in inst_Thumb_is_indirect_branch_link()
229 info->instr_sub_type = OCSD_S_INSTR_V7_IMPLIED_RET; /* POP {...,pc} */ in inst_Thumb_is_indirect_branch_link()
236 int inst_A64_is_direct_branch(uint32_t inst, struct decode_info *info) in inst_A64_is_direct_branch() argument
239 return inst_A64_is_direct_branch_link(inst, &link, info); in inst_A64_is_direct_branch()
242 int inst_A64_is_direct_branch_link(uint32_t inst, uint8_t *is_link, struct decode_info *info) in inst_A64_is_direct_branch_link() argument
254 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_direct_branch_link()
262 int inst_A64_wfiwfe(uint32_t inst, struct decode_info *info) in inst_A64_wfiwfe() argument
269 if (OCSD_IS_ARCH_MINVER(info->arch_version, ARCH_AA64)) in inst_A64_wfiwfe()
285 int inst_A64_is_indirect_branch(uint32_t inst, struct decode_info *info) in inst_A64_is_indirect_branch() argument
288 return inst_A64_is_indirect_branch_link(inst, &link, info); in inst_A64_is_indirect_branch()
291 int inst_A64_is_indirect_branch_link(uint32_t inst, uint8_t *is_link, struct decode_info *info) in inst_A64_is_indirect_branch_link() argument
299 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_indirect_branch_link()
302 info->instr_sub_type = OCSD_S_INSTR_V8_RET; in inst_A64_is_indirect_branch_link()
306 info->instr_sub_type = OCSD_S_INSTR_V8_ERET; in inst_A64_is_indirect_branch_link()
307 } else if (OCSD_IS_ARCH_MINVER(info->arch_version, ARCH_V8r3)) { in inst_A64_is_indirect_branch_link()
313 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_indirect_branch_link()
319 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_indirect_branch_link()
323 info->instr_sub_type = OCSD_S_INSTR_V8_ERET; in inst_A64_is_indirect_branch_link()
326 info->instr_sub_type = OCSD_S_INSTR_V8_RET; in inst_A64_is_indirect_branch_link()
440 int inst_ARM_is_branch(uint32_t inst, struct decode_info *info) in inst_ARM_is_branch() argument
442 return inst_ARM_is_indirect_branch(inst, info) || in inst_ARM_is_branch()
446 int inst_Thumb_is_branch(uint32_t inst, struct decode_info *info) in inst_Thumb_is_branch() argument
448 return inst_Thumb_is_indirect_branch(inst, info) || in inst_Thumb_is_branch()
449 inst_Thumb_is_direct_branch(inst, info); in inst_Thumb_is_branch()
452 int inst_A64_is_branch(uint32_t inst, struct decode_info *info) in inst_A64_is_branch() argument
454 return inst_A64_is_indirect_branch(inst, info) || in inst_A64_is_branch()
455 inst_A64_is_direct_branch(inst, info); in inst_A64_is_branch()
458 int inst_ARM_is_branch_and_link(uint32_t inst, struct decode_info *info) in inst_ARM_is_branch_and_link() argument
463 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_ARM_is_branch_and_link()
469 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_ARM_is_branch_and_link()
472 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_ARM_is_branch_and_link()
480 int inst_Thumb_is_branch_and_link(uint32_t inst, struct decode_info *info) in inst_Thumb_is_branch_and_link() argument
484 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_Thumb_is_branch_and_link()
487 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_Thumb_is_branch_and_link()
495 int inst_A64_is_branch_and_link(uint32_t inst, struct decode_info *info) in inst_A64_is_branch_and_link() argument
500 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_branch_and_link()
503 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_branch_and_link()
504 } else if (OCSD_IS_ARCH_MINVER(info->arch_version, ARCH_V8r3)) { in inst_A64_is_branch_and_link()
508 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_branch_and_link()
511 info->instr_sub_type = OCSD_S_INSTR_BR_LINK; in inst_A64_is_branch_and_link()