Skip to content

Commit 71766b8

Browse files
Julien Thierrywilldeacon
authored andcommitted
arm64: insn: Add load/store decoding helpers
Provide some function to group different load/store instructions. Signed-off-by: Julien Thierry <jthierry@redhat.com> Link: https://lore.kernel.org/r/20210303170536.1838032-9-jthierry@redhat.com Signed-off-by: Will Deacon <will@kernel.org>
1 parent 5488004 commit 71766b8

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

arch/arm64/include/asm/insn.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,34 @@ static inline bool aarch64_insn_is_barrier(u32 insn)
411411
aarch64_insn_is_pssbb(insn);
412412
}
413413

414+
static inline bool aarch64_insn_is_store_single(u32 insn)
415+
{
416+
return aarch64_insn_is_store_imm(insn) ||
417+
aarch64_insn_is_store_pre(insn) ||
418+
aarch64_insn_is_store_post(insn);
419+
}
420+
421+
static inline bool aarch64_insn_is_store_pair(u32 insn)
422+
{
423+
return aarch64_insn_is_stp(insn) ||
424+
aarch64_insn_is_stp_pre(insn) ||
425+
aarch64_insn_is_stp_post(insn);
426+
}
427+
428+
static inline bool aarch64_insn_is_load_single(u32 insn)
429+
{
430+
return aarch64_insn_is_load_imm(insn) ||
431+
aarch64_insn_is_load_pre(insn) ||
432+
aarch64_insn_is_load_post(insn);
433+
}
434+
435+
static inline bool aarch64_insn_is_load_pair(u32 insn)
436+
{
437+
return aarch64_insn_is_ldp(insn) ||
438+
aarch64_insn_is_ldp_pre(insn) ||
439+
aarch64_insn_is_ldp_post(insn);
440+
}
441+
414442
enum aarch64_insn_encoding_class aarch64_get_insn_class(u32 insn);
415443
bool aarch64_insn_uses_literal(u32 insn);
416444
bool aarch64_insn_is_branch(u32 insn);

0 commit comments

Comments
 (0)