Rizin
unix-like reverse engineering framework and cli tools
|
#include "sysdep.h"
#include "disas-asm.h"
#include "libiberty.h"
#include "opintl.h"
#include "aarch64-dis.h"
#include "elf-bfd.h"
Go to the source code of this file.
Macros | |
#define | ERR_OK 0 |
#define | ERR_UND -1 |
#define | ERR_UNP -3 |
#define | ERR_NYI -5 |
#define | INSNLEN 4 |
Enumerations | |
enum | map_type { MAP_INSN , MAP_DATA } |
Variables | |
static enum map_type | last_type |
static int | last_mapping_sym = -1 |
static bfd_vma | last_mapping_addr = 0 |
static int | no_aliases = 0 |
static int | no_notes = 1 |
#define ERR_NYI -5 |
Definition at line 34 of file aarch64-dis.c.
#define ERR_OK 0 |
Definition at line 31 of file aarch64-dis.c.
#define ERR_UND -1 |
Definition at line 32 of file aarch64-dis.c.
#define ERR_UNP -3 |
Definition at line 33 of file aarch64-dis.c.
#define INSNLEN 4 |
Definition at line 36 of file aarch64-dis.c.
enum map_type |
int aarch64_decode_insn | ( | aarch64_insn | insn, |
aarch64_inst * | inst, | ||
bfd_boolean | noaliases_p, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 2958 of file aarch64-dis.c.
References aarch64_find_next_opcode(), aarch64_opcode_decode(), aarch64_opcode_lookup(), DEBUG_TRACE, ERR_OK, ERR_UND, NULL, printf(), and autogen_x86imm::tmp.
Referenced by print_insn_aarch64_word().
|
static |
Definition at line 2734 of file aarch64-dis.c.
References AARCH64_MAX_OPND_NUM, extract_field(), extract_fields(), FALSE, FLD_imm5, FLD_size, FLD_SVE_M_14, FLD_SVE_M_16, FLD_SVE_M_4, FLD_SVE_sz, FLD_SVE_tszh, FLD_SVE_tszl_19, FLD_SVE_tszl_8, i, aarch64_opcode::iclass, aarch64_inst::opcode, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opcode::qualifiers_list, sve_cpy, sve_index, sve_limm, sve_misc, sve_movprfx, sve_pred_zm, sve_shift_pred, sve_shift_unpred, sve_size_bhs, sve_size_bhsd, sve_size_hsd, sve_size_sd, TRUE, and aarch64_inst::value.
Referenced by aarch64_opcode_decode().
bfd_boolean aarch64_ext_addr_offset | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1003 of file aarch64-dis.c.
References extract_field(), extract_fields(), get_expected_qualifier(), imm, info(), sign_extend(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_addr_regoff | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1026 of file aarch64-dis.c.
References aarch64_get_operand_modifier_from_value(), aarch64_get_qualifier_esize(), AARCH64_MOD_LSL, AARCH64_MOD_UXTX, extract_field(), FLD_option, FLD_Rm, FLD_Rn, FLD_S, get_expected_qualifier(), get_logsz(), info(), S, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_addr_simm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1070 of file aarch64-dis.c.
References aarch64_get_qualifier_esize(), extract_field(), fields, FLD_imm7, FLD_Rn, get_expected_qualifier(), aarch64_opcode::iclass, imm, info(), ldst_unpriv, ldst_unscaled, ldstnapair_offs, ldstpair_off, aarch64_inst::opcode, sign_extend(), TRUE, and aarch64_field::width.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_addr_simm10 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1123 of file aarch64-dis.c.
References extract_field(), extract_fields(), get_expected_qualifier(), imm, info(), sign_extend(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_addr_simple | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 989 of file aarch64-dis.c.
References extract_field(), FLD_Rn, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_addr_uimm12 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1106 of file aarch64-dis.c.
References aarch64_get_qualifier_esize(), extract_field(), get_expected_qualifier(), get_logsz(), info(), shift(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_advsimd_imm_modified | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 697 of file aarch64-dis.c.
References aarch64_get_qualifier_esize(), AARCH64_MOD_LSL, AARCH64_MOD_MSL, AARCH64_MOD_NONE, AARCH64_OPND_QLF_LSL, AARCH64_OPND_QLF_MSL, AARCH64_OPND_QLF_NIL, AARCH64_OPND_SIMD_FPIMM, assert(), extract_field_2(), extract_fields(), FALSE, FLD_abc, FLD_cmode, FLD_defgh, gen_sub_field(), get_expected_qualifier(), i, imm, info(), TRUE, and rz_bin_info_t::type.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_advsimd_imm_shift | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 573 of file aarch64-dis.c.
References AARCH64_OPND_IMM_VLSL, AARCH64_OPND_IMM_VLSR, asimdshf, asisdshf, assert(), extract_field(), extract_fields(), FALSE, FLD_immb, FLD_immh, FLD_Q, get_sreg_qualifier_from_value(), get_vreg_qualifier_from_value(), aarch64_opcode::iclass, imm, info(), aarch64_inst::opcode, pos, Q, TRUE, and rz_bin_info_t::type.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_aimm | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 816 of file aarch64-dis.c.
References AARCH64_MOD_LSL, extract_field(), FALSE, FLD_imm12, FLD_shift, info(), TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_barrier | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1280 of file aarch64-dis.c.
References aarch64_barrier_options, extract_field(), FLD_CRm, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_cond | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1180 of file aarch64-dis.c.
References extract_field(), FLD_cond, get_cond_from_value(), info(), TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_fbits | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 804 of file aarch64-dis.c.
References extract_field(), FLD_scale, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_fpimm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 766 of file aarch64-dis.c.
References extract_all_fields(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_ft | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 948 of file aarch64-dis.c.
References AARCH64_OPND_QLF_S_D, AARCH64_OPND_QLF_S_Q, AARCH64_OPND_QLF_S_S, extract_field(), extract_fields(), FALSE, FLD_ldst_size, FLD_opc1, FLD_Rt, get_sreg_qualifier_from_value(), aarch64_opcode::iclass, info(), ldstnapair_offs, ldstpair_indexed, ldstpair_off, loadlit, aarch64_inst::opcode, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_hint | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1309 of file aarch64-dis.c.
References aarch64_hint_options, extract_fields(), FALSE, FLD_CRm, FLD_op2, i, info(), aarch64_name_value_pair::name, NULL, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_imm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 659 of file aarch64-dis.c.
References AARCH64_OPND_ADDR_ADRP, extract_all_fields(), get_operand_fields_width(), imm, info(), operand_need_shift_by_two(), operand_need_sign_extension(), sign_extend(), TRUE, and rz_bin_info_t::type.
Referenced by aarch64_ext_imm_half(), aarch64_ext_sve_aimm(), aarch64_ext_sve_asimm(), aarch64_ext_sve_scale(), aarch64_ext_sve_shlimm(), aarch64_ext_sve_shrimm(), and aarch64_extract_operand().
bfd_boolean aarch64_ext_imm_half | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 683 of file aarch64-dis.c.
References aarch64_ext_imm(), AARCH64_MOD_LSL, extract_field(), FLD_hw, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_imm_rotate1 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 778 of file aarch64-dis.c.
References assert(), extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_imm_rotate2 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 791 of file aarch64-dis.c.
References assert(), extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_inv_limm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 934 of file aarch64-dis.c.
References aarch64_ext_limm(), FALSE, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_ldst_elemlist | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 503 of file aarch64-dis.c.
References AARCH64_OPND_QLF_S_B, AARCH64_OPND_QLF_S_D, AARCH64_OPND_QLF_S_H, AARCH64_OPND_QLF_S_S, assert(), extract_field(), extract_field_2(), extract_fields(), FALSE, FLD_asisdlso_opcode, FLD_Q, FLD_Rt, FLD_S, FLD_vldst_size, gen_sub_field(), get_opcode_dependent_value(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_ldst_reglist | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 431 of file aarch64-dis.c.
References ARRAY_SIZE, extract_field(), FALSE, FLD_opcode, FLD_Rt, get_opcode_dependent_value(), info(), aarch64_inst::opcode, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_ldst_reglist_r | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 476 of file aarch64-dis.c.
References assert(), extract_field(), FLD_Rt, FLD_S, get_opcode_dependent_value(), info(), aarch64_inst::opcode, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_limm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 918 of file aarch64-dis.c.
References aarch64_get_qualifier_esize(), decode_limm(), extract_fields(), info(), aarch64_inst::operands, aarch64_opnd_info::qualifier, and value.
Referenced by aarch64_ext_inv_limm(), aarch64_ext_sve_limm_mov(), and aarch64_extract_operand().
bfd_boolean aarch64_ext_prfop | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1295 of file aarch64-dis.c.
References aarch64_prfops, extract_field(), FLD_Rt, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_pstatefield | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1223 of file aarch64-dis.c.
References aarch64_pstatefields, extract_fields(), FALSE, FLD_op1, FLD_op2, i, info(), aarch64_sys_reg::name, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_reg_extended | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1336 of file aarch64-dis.c.
References aarch64_get_operand_modifier_from_value(), AARCH64_MOD_SXTX, AARCH64_MOD_UXTX, AARCH64_OPND_QLF_NIL, AARCH64_OPND_QLF_W, AARCH64_OPND_QLF_X, assert(), extract_field(), FLD_imm3, FLD_option, FLD_Rm, info(), TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_reg_shifted | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1370 of file aarch64-dis.c.
References aarch64_get_operand_modifier_from_value(), AARCH64_MOD_ROR, extract_field(), FALSE, FLD_imm6, FLD_Rm, FLD_shift, info(), log_shift, TRUE, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_reglane | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 304 of file aarch64-dis.c.
References aarch64_get_qualifier_esize(), AARCH64_OPND_Ed, AARCH64_OPND_Em16, AARCH64_OPND_En, AARCH64_OPND_QLF_S_4B, AARCH64_OPND_QLF_S_D, AARCH64_OPND_QLF_S_H, AARCH64_OPND_QLF_S_S, asimdins, asisdone, assert(), cryptosm3, dotproduct, extract_field(), extract_fields(), FALSE, FLD_H, FLD_imm4, FLD_imm5, FLD_L, FLD_M, FLD_SM3_imm2, get_expected_qualifier(), get_logsz(), get_sreg_qualifier_from_value(), info(), OP_FCMLA_ELEM, pos, shift(), TRUE, rz_bin_info_t::type, unsigned, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_reglist | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 417 of file aarch64-dis.c.
References extract_field(), FLD_len, info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_regno | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 262 of file aarch64-dis.c.
References extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_regno_pair | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn code | ATTRIBUTE_UNUSED, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
bfd_boolean aarch64_ext_regrt_sysins | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 285 of file aarch64-dis.c.
References aarch64_get_operand_class(), AARCH64_OPND_CLASS_SYSTEM, aarch64_sys_ins_reg_has_xt(), assert(), extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_shll_imm | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 637 of file aarch64-dis.c.
References extract_field(), FALSE, FLD_size, imm, info(), TRUE, and val.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_simd_addr_post | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1146 of file aarch64-dis.c.
References aarch64_get_qualifier_esize(), aarch64_get_qualifier_nelem(), AARCH64_OPND_LVt_AL, extract_field(), FLD_Rm, FLD_Rn, get_opcode_dependent_value(), info(), aarch64_inst::opcode, aarch64_opcode::operands, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opnd_info::reglist, and TRUE.
Referenced by aarch64_extract_operand().
|
static |
Definition at line 1477 of file aarch64-dis.c.
References extract_field(), FALSE, get_operand_specific_data(), info(), and TRUE.
Referenced by aarch64_ext_sve_addr_ri_s4(), aarch64_ext_sve_addr_ri_u6(), and aarch64_ext_sve_addr_zi_u5().
|
static |
Definition at line 1403 of file aarch64-dis.c.
References AARCH64_MOD_MUL_VL, extract_field(), FALSE, get_operand_specific_data(), info(), and TRUE.
Referenced by aarch64_ext_sve_addr_ri_s4xvl(), aarch64_ext_sve_addr_ri_s6xvl(), and aarch64_ext_sve_addr_ri_s9xvl().
bfd_boolean aarch64_ext_sve_addr_ri_s4 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1495 of file aarch64-dis.c.
References aarch64_ext_sve_addr_reg_imm(), extract_field(), FLD_SVE_imm4, info(), and sign_extend().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_ri_s4xvl | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1425 of file aarch64-dis.c.
References aarch64_ext_sve_addr_reg_mul_vl(), extract_field(), FLD_SVE_imm4, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_ri_s6xvl | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1442 of file aarch64-dis.c.
References aarch64_ext_sve_addr_reg_mul_vl(), extract_field(), FLD_SVE_imm6, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_ri_s9xvl | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1460 of file aarch64-dis.c.
References aarch64_ext_sve_addr_reg_mul_vl(), extract_fields(), FLD_imm3, FLD_SVE_imm6, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_ri_u6 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1508 of file aarch64-dis.c.
References aarch64_ext_sve_addr_reg_imm(), extract_field(), FLD_SVE_imm6, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_rr_lsl | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1521 of file aarch64-dis.c.
References AARCH64_MOD_LSL, extract_field(), FALSE, get_operand_specific_data(), info(), OPD_F_NO_ZR, and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_rz_xtw | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1549 of file aarch64-dis.c.
References AARCH64_MOD_SXTW, AARCH64_MOD_UXTW, extract_field(), FALSE, get_operand_specific_data(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_zi_u5 | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1573 of file aarch64-dis.c.
References aarch64_ext_sve_addr_reg_imm(), extract_field(), FLD_imm5, and info().
Referenced by aarch64_extract_operand().
|
static |
Definition at line 1587 of file aarch64-dis.c.
References AARCH64_MOD_LSL, extract_field(), FALSE, FLD_SVE_msz, info(), and TRUE.
Referenced by aarch64_ext_sve_addr_zz_lsl(), aarch64_ext_sve_addr_zz_sxtw(), and aarch64_ext_sve_addr_zz_uxtw().
bfd_boolean aarch64_ext_sve_addr_zz_lsl | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1607 of file aarch64-dis.c.
References aarch64_ext_sve_addr_zz(), AARCH64_MOD_LSL, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_zz_sxtw | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1619 of file aarch64-dis.c.
References aarch64_ext_sve_addr_zz(), AARCH64_MOD_SXTW, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_addr_zz_uxtw | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1631 of file aarch64-dis.c.
References aarch64_ext_sve_addr_zz(), AARCH64_MOD_UXTW, and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_aimm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 1662 of file aarch64-dis.c.
References aarch64_ext_imm(), decode_sve_aimm(), and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_asimm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 1673 of file aarch64-dis.c.
References aarch64_ext_imm(), decode_sve_aimm(), and info().
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_float_half_one | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1685 of file aarch64-dis.c.
References extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_float_half_two | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1701 of file aarch64-dis.c.
References extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_float_zero_one | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1717 of file aarch64-dis.c.
References extract_field(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_index | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1735 of file aarch64-dis.c.
References extract_field(), extract_fields(), FLD_imm5, FLD_SVE_tszh, info(), TRUE, and val.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_limm_mov | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 1754 of file aarch64-dis.c.
References aarch64_ext_limm(), aarch64_get_qualifier_esize(), aarch64_sve_dupm_mov_immediate_p(), info(), aarch64_inst::operands, and aarch64_opnd_info::qualifier.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_quad_index | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1768 of file aarch64-dis.c.
References extract_all_fields(), get_operand_specific_data(), info(), reg_bits(), TRUE, and val.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_reglist | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1784 of file aarch64-dis.c.
References extract_field(), get_opcode_dependent_value(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_scale | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 1798 of file aarch64-dis.c.
References aarch64_ext_imm(), AARCH64_MOD_MUL, extract_field(), FALSE, FLD_SVE_imm4, info(), TRUE, and val.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_shlimm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 1826 of file aarch64-dis.c.
References aarch64_ext_imm(), FALSE, get_top_bit(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sve_shrimm | ( | const aarch64_operand * | self, |
aarch64_opnd_info * | info, | ||
const aarch64_insn | code, | ||
const aarch64_inst * | inst, | ||
aarch64_operand_error * | errors | ||
) |
Definition at line 1840 of file aarch64-dis.c.
References aarch64_ext_imm(), FALSE, get_top_bit(), info(), and TRUE.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sysins_op | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1240 of file aarch64-dis.c.
References AARCH64_OPND_SYSREG_AT, AARCH64_OPND_SYSREG_DC, AARCH64_OPND_SYSREG_IC, AARCH64_OPND_SYSREG_TLBI, aarch64_sys_ins_reg_has_xt(), aarch64_sys_regs_at, aarch64_sys_regs_dc, aarch64_sys_regs_ic, aarch64_sys_regs_tlbi, assert(), DEBUG_TRACE, extract_fields(), FALSE, FLD_CRm, FLD_CRn, FLD_op0, FLD_op1, FLD_op2, i, info(), aarch64_sys_ins_reg::name, TRUE, rz_bin_info_t::type, and value.
Referenced by aarch64_extract_operand().
bfd_boolean aarch64_ext_sysreg | ( | const aarch64_operand *self | ATTRIBUTE_UNUSED, |
aarch64_opnd_info * | info, | ||
aarch64_insn | code, | ||
const aarch64_inst *inst | ATTRIBUTE_UNUSED, | ||
aarch64_operand_error *errors | ATTRIBUTE_UNUSED | ||
) |
Definition at line 1194 of file aarch64-dis.c.
References extract_fields(), F_REG_READ, F_REG_WRITE, F_SYS_READ, F_SYS_WRITE, FLD_CRm, FLD_CRn, FLD_op0, FLD_op1, FLD_op2, ic_system, info(), and TRUE.
Referenced by aarch64_extract_operand().
|
static |
Definition at line 2835 of file aarch64-dis.c.
References aarch64_decode_variant_using_iclass(), aarch64_extract_operand(), aarch64_match_operands_constraint(), AARCH64_MAX_OPND_NUM, aarch64_operands, AARCH64_OPND_NIL, assert(), code, DEBUG_TRACE, determine_disassembling_preference(), do_special_decoding(), FALSE, i, aarch64_opnd_info::idx, aarch64_opcode::mask, memset(), aarch64_opcode::name, NULL, aarch64_opcode::opcode, aarch64_inst::opcode, opcode_has_special_coder(), operand_has_extractor(), aarch64_opcode::operands, aarch64_inst::operands, TRUE, aarch64_opnd_info::type, type, aarch64_inst::value, and aarch64_opcode::verifier.
Referenced by aarch64_decode_insn(), and determine_disassembling_preference().
bfd_boolean aarch64_symbol_is_valid | ( | asymbol * | sym, |
struct disassemble_info *info | ATTRIBUTE_UNUSED | ||
) |
Definition at line 3167 of file aarch64-dis.c.
References bfd_asymbol_name, FALSE, name, and NULL.
|
static |
Definition at line 2370 of file aarch64-dis.c.
References AARCH64_OPND_NIL, AARCH64_OPND_QLF_imm_0_31, assert(), copy_operand_info(), aarch64_opnd_info::imm, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opnd_info::reg, reset_operand_qualifier(), aarch64_opnd_info::type, and val.
Referenced by convert_to_alias().
|
static |
Definition at line 2343 of file aarch64-dis.c.
References AARCH64_OPND_QLF_imm_0_31, aarch64_opnd_info::imm, aarch64_inst::operands, aarch64_opnd_info::qualifier, reset_operand_qualifier(), and val.
Referenced by convert_to_alias().
|
static |
Definition at line 2316 of file aarch64-dis.c.
References aarch64_opnd_info::imm, aarch64_inst::operands, and reset_operand_qualifier().
Referenced by convert_to_alias().
|
static |
Definition at line 2280 of file aarch64-dis.c.
References AARCH64_OPND_NIL, AARCH64_OPND_QLF_imm_0_31, aarch64_opnd_info::imm, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opnd_info::type, and val.
Referenced by convert_to_alias().
|
static |
Definition at line 2451 of file aarch64-dis.c.
References AARCH64_OPND_NIL, aarch64_opnd_info::cond, copy_operand_info(), get_inverted_cond(), aarch64_inst::operands, aarch64_opnd_info::reg, aarch64_opnd_info::type, and aarch64_cond::value.
Referenced by convert_to_alias().
|
static |
Definition at line 2250 of file aarch64-dis.c.
References AARCH64_OPND_NIL, copy_operand_info(), aarch64_inst::operands, aarch64_opnd_info::reg, and aarch64_opnd_info::type.
Referenced by convert_to_alias().
|
static |
Definition at line 2432 of file aarch64-dis.c.
References AARCH64_OPND_NIL, aarch64_opnd_info::cond, copy_operand_info(), get_inverted_cond(), aarch64_inst::operands, aarch64_opnd_info::reg, aarch64_opnd_info::type, and aarch64_cond::value.
Referenced by convert_to_alias().
|
static |
Definition at line 2512 of file aarch64-dis.c.
References AARCH64_OPND_IMM_MOV, AARCH64_OPND_NIL, AARCH64_OPND_QLF_W, aarch64_wide_constant_p(), assert(), copy_operand_info(), aarch64_opnd_info::imm, NULL, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opnd_info::reg, aarch64_opnd_info::type, and value.
Referenced by convert_to_alias().
|
static |
Definition at line 2477 of file aarch64-dis.c.
References AARCH64_MOD_NONE, AARCH64_OPND_IMM_MOV, AARCH64_OPND_QLF_W, aarch64_wide_constant_p(), aarch64_opnd_info::amount, aarch64_opnd_info::imm, aarch64_opnd_info::kind, NULL, aarch64_opcode::op, OP_MOVN, aarch64_inst::opcode, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opnd_info::shifter, aarch64_opnd_info::type, and value.
Referenced by convert_to_alias().
|
static |
Definition at line 2297 of file aarch64-dis.c.
References AARCH64_OPND_NIL, aarch64_inst::operands, aarch64_opnd_info::reg, and aarch64_opnd_info::type.
Referenced by convert_to_alias().
|
static |
Definition at line 2265 of file aarch64-dis.c.
References AARCH64_OPND_NIL, aarch64_opnd_info::imm, aarch64_inst::operands, and aarch64_opnd_info::type.
Referenced by convert_to_alias().
|
static |
Definition at line 2538 of file aarch64-dis.c.
References convert_bfm_to_bfc(), convert_bfm_to_bfi(), convert_bfm_to_bfx(), convert_bfm_to_sr(), convert_csinc_to_cset(), convert_extr_to_ror(), convert_from_csel(), convert_movebitmask_to_mov(), convert_movewide_to_mov(), convert_orr_to_mov(), convert_shll_to_xtl(), convert_ubfm_to_lsl(), aarch64_opcode::op, OP_ASR_IMM, OP_BFC, OP_BFI, OP_BFXIL, OP_CINC, OP_CINV, OP_CNEG, OP_CSET, OP_CSETM, OP_LSL_IMM, OP_LSR_IMM, OP_MOV_IMM_LOG, OP_MOV_IMM_WIDE, OP_MOV_IMM_WIDEN, OP_MOV_V, OP_ROR_IMM, OP_SBFIZ, OP_SBFX, OP_SXTL, OP_SXTL2, OP_UBFIZ, OP_UBFX, OP_UXTL, and OP_UXTL2.
Referenced by determine_disassembling_preference().
|
static |
Definition at line 2409 of file aarch64-dis.c.
References AARCH64_OPND_NIL, AARCH64_OPND_QLF_imm_0_31, aarch64_opnd_info::imm, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opnd_info::type, and val.
Referenced by convert_to_alias().
|
static |
Definition at line 1978 of file aarch64-dis.c.
References AARCH64_OPND_QLF_V_2D, AARCH64_OPND_QLF_V_4S, assert(), extract_field_2(), FLD_size, gen_sub_field(), aarch64_opcode::op, OP_FCVTL, OP_FCVTL2, OP_FCVTN, OP_FCVTN2, aarch64_inst::opcode, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_inst::value, and value.
Referenced by do_misc_decoding().
|
static |
Definition at line 2012 of file aarch64-dis.c.
References AARCH64_OPND_QLF_S_S, extract_field_2(), FLD_size, gen_sub_field(), aarch64_inst::operands, aarch64_opnd_info::qualifier, and aarch64_inst::value.
Referenced by do_misc_decoding().
|
static |
Definition at line 2024 of file aarch64-dis.c.
References AARCH64_OPND_QLF_S_D, AARCH64_OPND_QLF_S_H, AARCH64_OPND_QLF_S_S, extract_field_2(), aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_inst::value, and value.
Referenced by do_misc_decoding().
|
static |
|
static |
Definition at line 1913 of file aarch64-dis.c.
References aarch64_get_qualifier_name(), AARCH64_MAX_QLF_SEQ_NUM, AARCH64_OPND_QLF_NIL, aarch64_select_operand_for_sizeq_field_coding(), asisdlse, asisdlsep, asisdlso, asisdlsop, code, DEBUG_TRACE, extract_fields(), FLD_Q, FLD_size, FLD_vldst_size, get_operand_possible_qualifiers(), get_qualifier_from_partial_encoding(), get_vreg_qualifier_from_value(), i, aarch64_opcode::iclass, setup::idx, mask, aarch64_opcode::mask, aarch64_inst::opcode, aarch64_inst::operands, aarch64_opnd_info::qualifier, aarch64_opcode::qualifiers_list, aarch64_inst::value, and value.
Referenced by do_special_decoding().
|
static |
Definition at line 1642 of file aarch64-dis.c.
References AARCH64_MOD_LSL, info(), TRUE, and value.
Referenced by aarch64_ext_sve_aimm(), and aarch64_ext_sve_asimm().
|
static |
Definition at line 2641 of file aarch64-dis.c.
References aarch64_find_alias_opcode(), aarch64_find_next_alias_opcode(), aarch64_match_operands_constraint(), aarch64_num_of_operands(), aarch64_opcode_decode(), aarch64_replace_opcode(), alias_opcode_p(), assert(), convert_to_alias(), DEBUG_TRACE, F_CONV, aarch64_opcode::flags, aarch64_opcode::mask, memcpy(), memset(), aarch64_opcode::name, NULL, aarch64_opcode::opcode, aarch64_inst::opcode, opcode_has_alias(), printf(), pseudo_opcode_p(), autogen_x86imm::tmp, and aarch64_inst::value.
Referenced by aarch64_opcode_decode().
|
static |
Definition at line 2048 of file aarch64-dis.c.
References decode_asimd_fcvt(), decode_asisd_fcvtxn(), decode_fcvt(), extract_field(), extract_fields(), FLD_imm5, FLD_SVE_Pd, FLD_SVE_Pg4_10, FLD_SVE_Pm, FLD_SVE_Pn, FLD_SVE_tszh, FLD_SVE_Zd, FLD_SVE_Zm_16, FLD_SVE_Zn, aarch64_opcode::op, OP_FCVT, OP_FCVTL, OP_FCVTL2, OP_FCVTN, OP_FCVTN2, OP_FCVTXN_S, OP_MOV_P_P, OP_MOV_Z_P_Z, OP_MOV_Z_V, OP_MOV_Z_Z, OP_MOV_Z_Zi, OP_MOVM_P_P_P, OP_MOVS_P_P, OP_MOVZ_P_P_P, OP_MOVZS_P_P_P, OP_NOT_P_P_P_Z, OP_NOTS_P_P_P_Z, aarch64_inst::opcode, aarch64_inst::value, and value.
Referenced by do_special_decoding().
|
static |
Definition at line 2115 of file aarch64-dis.c.
References aarch64_get_operand_class(), AARCH64_MAX_QLF_SEQ_NUM, aarch64_operand_index(), AARCH64_OPND_CLASS_INT_REG, AARCH64_OPND_CLASS_SIMD_REG, AARCH64_OPND_QLF_S_D, AARCH64_OPND_QLF_S_H, AARCH64_OPND_QLF_S_S, AARCH64_OPND_QLF_W, AARCH64_OPND_QLF_X, AARCH64_OPND_Rt, assert(), aarch64_inst::cond, decode_sizeq(), do_misc_decoding(), extract_field(), extract_field_2(), F_COND, F_FPTYPE, F_GPRSIZE_IN_Q, F_LDS_SIZE, F_LSE_SZ, F_MISC, F_N, F_SF, F_SIZEQ, F_SSIZE, F_T, aarch64_opcode::flags, FLD_cond2, FLD_imm5, FLD_lse_sz, FLD_N, FLD_opc, FLD_Q, FLD_sf, FLD_size, FLD_type, gen_sub_field(), get_cond_from_value(), get_greg_qualifier_from_value(), get_operand_possible_qualifiers(), get_qualifier_from_partial_encoding(), get_sreg_qualifier_from_value(), get_vreg_qualifier_from_value(), setup::idx, mask, aarch64_opcode::mask, num, aarch64_inst::opcode, aarch64_opcode::operands, aarch64_inst::operands, Q, aarch64_opnd_info::qualifier, aarch64_opcode::qualifiers_list, select_operand_for_fptype_field_coding(), select_operand_for_scalar_size_field_coding(), select_operand_for_sf_field_coding(), unsigned, val, aarch64_inst::value, and value.
Referenced by aarch64_opcode_decode().
|
static |
Definition at line 168 of file aarch64-dis.c.
References ARRAY_SIZE, extract_field(), fields, FLD_NIL, i, value, and aarch64_field::width.
Referenced by aarch64_ext_fpimm(), aarch64_ext_imm(), and aarch64_ext_sve_quad_index().
aarch64_insn extract_fields | ( | aarch64_insn | code, |
aarch64_insn | mask, | ||
... | |||
) |
Definition at line 142 of file aarch64-dis.c.
References assert(), extract_field(), fields, mask, num, value, and aarch64_field::width.
Referenced by aarch64_decode_variant_using_iclass(), aarch64_ext_addr_offset(), aarch64_ext_addr_simm10(), aarch64_ext_advsimd_imm_modified(), aarch64_ext_advsimd_imm_shift(), aarch64_ext_ft(), aarch64_ext_hint(), aarch64_ext_ldst_elemlist(), aarch64_ext_limm(), aarch64_ext_pstatefield(), aarch64_ext_reglane(), aarch64_ext_sve_addr_ri_s9xvl(), aarch64_ext_sve_index(), aarch64_ext_sysins_op(), aarch64_ext_sysreg(), decode_sizeq(), and do_misc_decoding().
|
static |
Definition at line 247 of file aarch64-dis.c.
References aarch64_find_best_match(), AARCH64_OPND_QLF_NIL, assert(), i, aarch64_inst::opcode, aarch64_inst::operands, aarch64_opnd_info::qualifier, and aarch64_opcode::qualifiers_list.
Referenced by aarch64_ext_addr_offset(), aarch64_ext_addr_regoff(), aarch64_ext_addr_simm(), aarch64_ext_addr_simm10(), aarch64_ext_addr_uimm12(), aarch64_ext_advsimd_imm_modified(), and aarch64_ext_reglane().
|
inlinestatic |
Definition at line 186 of file aarch64-dis.c.
References assert(), i, val, and value.
Referenced by do_special_decoding().
|
static |
Definition at line 1897 of file aarch64-dis.c.
References AARCH64_MAX_QLF_SEQ_NUM, AARCH64_OPND_QLF_NIL, i, setup::idx, and list().
Referenced by decode_sizeq(), and do_special_decoding().
|
static |
Definition at line 1840 of file aarch64-dis.c.
Referenced by decode_sizeq(), and do_special_decoding().
|
inlinestatic |
Definition at line 186 of file aarch64-dis.c.
Referenced by aarch64_ext_advsimd_imm_shift(), aarch64_ext_ft(), aarch64_ext_reglane(), and do_special_decoding().
|
static |
Definition at line 3211 of file aarch64-dis.c.
References bfd_asymbol_name, ELF_ST_TYPE, FALSE, info(), elf_symbol_type::internal_elf_sym, MAP_DATA, MAP_INSN, n, name, NULL, elf_internal_sym::st_info, STT_FUNC, TRUE, and type.
Referenced by print_insn_aarch64().
Definition at line 1817 of file aarch64-dis.c.
References value.
Referenced by aarch64_ext_sve_shlimm(), and aarch64_ext_sve_shrimm().
|
inlinestatic |
Definition at line 186 of file aarch64-dis.c.
Referenced by aarch64_ext_advsimd_imm_shift(), decode_sizeq(), and do_special_decoding().
|
static |
Definition at line 60 of file aarch64-dis.c.
References _, CONST_STRNEQ, no_aliases, and no_notes.
Referenced by parse_aarch64_dis_options().
|
static |
Definition at line 100 of file aarch64-dis.c.
References NULL, options, and parse_aarch64_dis_option().
Referenced by print_insn_aarch64().
void print_aarch64_disassembler_options | ( | FILE * | stream | ) |
|
static |
Definition at line 3094 of file aarch64-dis.c.
References info(), aarch64_inst::opcode, aarch64_inst::operands, pc, print_comment(), print_mnemonic_name(), and print_operands().
Referenced by print_insn_aarch64_word().
|
static |
Definition at line 3074 of file aarch64-dis.c.
References ARRAY_SIZE, aarch64_inst::cond, F_COND, aarch64_opcode::flags, i, info(), name, aarch64_cond::names, aarch64_inst::opcode, and remove_dot_suffix().
Referenced by do_ref_search(), print_aarch64_insn(), and rz_analysis_xrefs_to_list_handler().
int print_insn_aarch64 | ( | bfd_vma | pc, |
struct disassemble_info * | info | ||
) |
Definition at line 3248 of file aarch64-dis.c.
References addr, bfd_asymbol_flavour, bfd_asymbol_value, BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, bfd_get_bits(), bfd_target_elf_flavour, FALSE, found, get_sym_code_type(), info(), INSNLEN, last_mapping_addr, last_mapping_sym, last_type, MAP_DATA, MAP_INSN, n, NULL, parse_aarch64_dis_options(), pc, print_insn_aarch64_word(), print_insn_data(), set_default_aarch64_dis_options(), status, TRUE, and type.
|
static |
Definition at line 3105 of file aarch64-dis.c.
References aarch64_decode_insn(), assert(), dis_noninsn, ERR_NYI, ERR_OK, ERR_UND, ERR_UNP, info(), INSN_HAS_RELOC, no_aliases, pc, print_aarch64_insn(), and user_friendly_fixup().
Referenced by print_insn_aarch64().
|
static |
Definition at line 3186 of file aarch64-dis.c.
References info().
Referenced by print_insn_aarch64().
|
static |
Definition at line 3054 of file aarch64-dis.c.
References aarch64_inst::cond, F_COND, aarch64_opcode::flags, info(), aarch64_opcode::name, aarch64_cond::names, aarch64_inst::opcode, and remove_dot_suffix().
Referenced by print_aarch64_insn().
|
static |
Definition at line 2998 of file aarch64-dis.c.
References AARCH64_MAX_OPND_NUM, AARCH64_OPND_NIL, aarch64_print_operand(), i, info(), no_notes, NULL, aarch64_opcode::operands, pc, cmd_descs_generate::str, and aarch64_opnd_info::type.
Referenced by print_aarch64_insn().
|
static |
Definition at line 3038 of file aarch64-dis.c.
References assert(), aarch64_inst::cond, len, aarch64_opcode::name, and aarch64_inst::opcode.
Referenced by print_comment(), and print_mnemonic_name().
|
static |
|
inlinestatic |
Definition at line 186 of file aarch64-dis.c.
Referenced by aarch64_ext_addr_offset(), aarch64_ext_addr_simm(), aarch64_ext_addr_simm10(), aarch64_ext_imm(), and aarch64_ext_sve_addr_ri_s4().
|
static |
Definition at line 2935 of file aarch64-dis.c.
References AARCH64_OPND_QLF_W, aarch64_opcode::iclass, aarch64_opnd_info::imm, aarch64_inst::opcode, aarch64_inst::operands, aarch64_opnd_info::qualifier, and testbranch.
Referenced by print_insn_aarch64_word().
|
static |
Definition at line 47 of file aarch64-dis.c.
Referenced by print_insn_aarch64().
|
static |
Definition at line 46 of file aarch64-dis.c.
Referenced by print_insn_aarch64().
|
static |
Definition at line 1 of file aarch64-dis.c.
Referenced by parseOperand(), and print_insn_aarch64().
|
static |
Definition at line 50 of file aarch64-dis.c.
Referenced by parse_aarch64_dis_option(), and print_insn_aarch64_word().
|
static |
Definition at line 51 of file aarch64-dis.c.
Referenced by parse_aarch64_dis_option(), and print_operands().