Lines Matching refs:insn
431 static __always_inline bool aarch64_insn_is_steppable_hint(u32 insn) in aarch64_insn_is_steppable_hint() argument
433 if (!aarch64_insn_is_hint(insn)) in aarch64_insn_is_steppable_hint()
436 switch (insn & 0xFE0) { in aarch64_insn_is_steppable_hint()
455 static __always_inline bool aarch64_insn_is_branch(u32 insn) in aarch64_insn_is_branch() argument
459 return aarch64_insn_is_b(insn) || in aarch64_insn_is_branch()
460 aarch64_insn_is_bl(insn) || in aarch64_insn_is_branch()
461 aarch64_insn_is_cbz(insn) || in aarch64_insn_is_branch()
462 aarch64_insn_is_cbnz(insn) || in aarch64_insn_is_branch()
463 aarch64_insn_is_tbz(insn) || in aarch64_insn_is_branch()
464 aarch64_insn_is_tbnz(insn) || in aarch64_insn_is_branch()
465 aarch64_insn_is_ret(insn) || in aarch64_insn_is_branch()
466 aarch64_insn_is_ret_auth(insn) || in aarch64_insn_is_branch()
467 aarch64_insn_is_br(insn) || in aarch64_insn_is_branch()
468 aarch64_insn_is_br_auth(insn) || in aarch64_insn_is_branch()
469 aarch64_insn_is_blr(insn) || in aarch64_insn_is_branch()
470 aarch64_insn_is_blr_auth(insn) || in aarch64_insn_is_branch()
471 aarch64_insn_is_bcond(insn); in aarch64_insn_is_branch()
474 static __always_inline bool aarch64_insn_is_branch_imm(u32 insn) in aarch64_insn_is_branch_imm() argument
476 return aarch64_insn_is_b(insn) || in aarch64_insn_is_branch_imm()
477 aarch64_insn_is_bl(insn) || in aarch64_insn_is_branch_imm()
478 aarch64_insn_is_tbz(insn) || in aarch64_insn_is_branch_imm()
479 aarch64_insn_is_tbnz(insn) || in aarch64_insn_is_branch_imm()
480 aarch64_insn_is_cbz(insn) || in aarch64_insn_is_branch_imm()
481 aarch64_insn_is_cbnz(insn) || in aarch64_insn_is_branch_imm()
482 aarch64_insn_is_bcond(insn); in aarch64_insn_is_branch_imm()
485 static __always_inline bool aarch64_insn_is_adr_adrp(u32 insn) in aarch64_insn_is_adr_adrp() argument
487 return aarch64_insn_is_adr(insn) || in aarch64_insn_is_adr_adrp()
488 aarch64_insn_is_adrp(insn); in aarch64_insn_is_adr_adrp()
491 static __always_inline bool aarch64_insn_is_dsb(u32 insn) in aarch64_insn_is_dsb() argument
493 return aarch64_insn_is_dsb_base(insn) || in aarch64_insn_is_dsb()
494 aarch64_insn_is_dsb_nxs(insn); in aarch64_insn_is_dsb()
497 static __always_inline bool aarch64_insn_is_barrier(u32 insn) in aarch64_insn_is_barrier() argument
499 return aarch64_insn_is_dmb(insn) || in aarch64_insn_is_barrier()
500 aarch64_insn_is_dsb(insn) || in aarch64_insn_is_barrier()
501 aarch64_insn_is_isb(insn) || in aarch64_insn_is_barrier()
502 aarch64_insn_is_sb(insn) || in aarch64_insn_is_barrier()
503 aarch64_insn_is_clrex(insn) || in aarch64_insn_is_barrier()
504 aarch64_insn_is_ssbb(insn) || in aarch64_insn_is_barrier()
505 aarch64_insn_is_pssbb(insn); in aarch64_insn_is_barrier()
508 static __always_inline bool aarch64_insn_is_store_single(u32 insn) in aarch64_insn_is_store_single() argument
510 return aarch64_insn_is_store_imm(insn) || in aarch64_insn_is_store_single()
511 aarch64_insn_is_store_pre(insn) || in aarch64_insn_is_store_single()
512 aarch64_insn_is_store_post(insn); in aarch64_insn_is_store_single()
515 static __always_inline bool aarch64_insn_is_store_pair(u32 insn) in aarch64_insn_is_store_pair() argument
517 return aarch64_insn_is_stp(insn) || in aarch64_insn_is_store_pair()
518 aarch64_insn_is_stp_pre(insn) || in aarch64_insn_is_store_pair()
519 aarch64_insn_is_stp_post(insn); in aarch64_insn_is_store_pair()
522 static __always_inline bool aarch64_insn_is_load_single(u32 insn) in aarch64_insn_is_load_single() argument
524 return aarch64_insn_is_load_imm(insn) || in aarch64_insn_is_load_single()
525 aarch64_insn_is_load_pre(insn) || in aarch64_insn_is_load_single()
526 aarch64_insn_is_load_post(insn); in aarch64_insn_is_load_single()
529 static __always_inline bool aarch64_insn_is_load_pair(u32 insn) in aarch64_insn_is_load_pair() argument
531 return aarch64_insn_is_ldp(insn) || in aarch64_insn_is_load_pair()
532 aarch64_insn_is_ldp_pre(insn) || in aarch64_insn_is_load_pair()
533 aarch64_insn_is_ldp_post(insn); in aarch64_insn_is_load_pair()
536 static __always_inline bool aarch64_insn_uses_literal(u32 insn) in aarch64_insn_uses_literal() argument
540 return aarch64_insn_is_ldr_lit(insn) || in aarch64_insn_uses_literal()
541 aarch64_insn_is_ldrsw_lit(insn) || in aarch64_insn_uses_literal()
542 aarch64_insn_is_adr_adrp(insn) || in aarch64_insn_uses_literal()
543 aarch64_insn_is_prfm_lit(insn); in aarch64_insn_uses_literal()
546 enum aarch64_insn_encoding_class aarch64_get_insn_class(u32 insn);
547 u64 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn);
549 u32 insn, u64 imm);
551 u32 insn);
690 s32 aarch64_get_branch_offset(u32 insn);
691 u32 aarch64_set_branch_offset(u32 insn, s32 offset);
693 s32 aarch64_insn_adrp_get_offset(u32 insn);
694 u32 aarch64_insn_adrp_set_offset(u32 insn, s32 offset);
696 bool aarch32_insn_is_wide(u32 insn);
702 u32 aarch64_insn_extract_system_reg(u32 insn);
703 u32 aarch32_insn_extract_reg_num(u32 insn, int offset);
704 u32 aarch32_insn_mcr_extract_opc2(u32 insn);
705 u32 aarch32_insn_mcr_extract_crm(u32 insn);