Lines Matching refs:inst
136 static aarch64_instruction inst; variable
161 inst.parsing_error.kind = AARCH64_OPDE_NIL; in clear_error()
162 inst.parsing_error.error = NULL; in clear_error()
168 return inst.parsing_error.kind != AARCH64_OPDE_NIL; in error_p()
174 return inst.parsing_error.error; in get_error_message()
180 inst.parsing_error.error = error; in set_error_message()
186 return inst.parsing_error.kind; in get_error_kind()
192 inst.parsing_error.kind = kind; in set_error_kind()
198 inst.parsing_error.kind = kind; in set_error()
199 inst.parsing_error.error = error; in set_error()
2238 my_get_expression (&inst.reloc.exp, &ptr, GE_OPT_PREFIX, 1); in parse_big_immediate()
2240 if (inst.reloc.exp.X_op == O_constant) in parse_big_immediate()
2241 *imm = inst.reloc.exp.X_add_number; in parse_big_immediate()
2269 return inst.reloc.type == BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP; in aarch64_gas_internal_fixup_p()
2723 if (! my_get_expression (&inst.reloc.exp, &p, GE_OPT_PREFIX, 1)) in parse_shifter_operand_imm()
2846 if (! my_get_expression (&inst.reloc.exp, str, GE_NO_PREFIX, 1)) in parse_shifter_operand_reloc()
2850 inst.reloc.type = entry->add_type; in parse_shifter_operand_reloc()
2851 inst.reloc.pc_rel = entry->pc_rel; in parse_shifter_operand_reloc()
2923 expressionS *exp = &inst.reloc.exp; in parse_address_main()
2963 inst.reloc.type = entry->ldst_type; in parse_address_main()
2964 inst.reloc.pc_rel = entry->pc_rel; in parse_address_main()
2971 inst.gen_lit_pool = 1; in parse_address_main()
3073 inst.reloc.type = entry->ldst_type; in parse_address_main()
3074 inst.reloc.pc_rel = entry->pc_rel; in parse_address_main()
3146 inst.reloc.exp.X_op = O_constant; in parse_address_main()
3147 inst.reloc.exp.X_add_number = 0; in parse_address_main()
3202 inst.reloc.type = entry->movw_type; in parse_half()
3213 if (! my_get_expression (&inst.reloc.exp, &p, GE_NO_PREFIX, 1)) in parse_half()
3249 inst.reloc.type = entry->adrp_type; in parse_adrp()
3252 inst.reloc.type = BFD_RELOC_AARCH64_ADR_HI21_PCREL; in parse_adrp()
3254 inst.reloc.pc_rel = 1; in parse_adrp()
3256 if (! my_get_expression (&inst.reloc.exp, &p, GE_NO_PREFIX, 1)) in parse_adrp()
4010 aarch64_inst *inst_base = &inst.base; in output_operand_error_record()
4014 reset_aarch64_instruction (&inst); in output_operand_error_record()
4023 && programmer_friendly_fixup (&inst); in output_operand_error_record()
4209 put_aarch64_insn (to, inst.base.value); in output_inst()
4211 if (inst.reloc.type != BFD_RELOC_UNUSED) in output_inst()
4214 INSN_SIZE, &inst.reloc.exp, in output_inst()
4215 inst.reloc.pc_rel, in output_inst()
4216 inst.reloc.type); in output_inst()
4222 fixp->tc_fix_data.inst = new_inst; in output_inst()
4225 gas_assert (inst.reloc.opnd != AARCH64_OPND_NIL); in output_inst()
4226 fixp->tc_fix_data.opnd = inst.reloc.opnd; in output_inst()
4227 fixp->fx_addnumber = inst.reloc.flags; in output_inst()
4274 inst.cond = COND_ALWAYS; in opcode_lookup()
4282 inst.cond = cond->value; in opcode_lookup()
4296 if (inst.cond == COND_ALWAYS) in opcode_lookup()
4420 inst.reloc.type = BFD_RELOC_UNUSED; in process_omitted_operand()
4440 is32 = inst.base.operands[0].qualifier == AARCH64_OPND_QLF_W ? 1 : 0; in process_movw_reloc_info()
4442 if (inst.base.opcode->op == OP_MOVK) in process_movw_reloc_info()
4443 switch (inst.reloc.type) in process_movw_reloc_info()
4460 switch (inst.reloc.type) in process_movw_reloc_info()
4506 inst.base.operands[1].shifter.amount = shift; in process_movw_reloc_info()
4533 enum aarch64_opnd_qualifier opd0_qlf = inst.base.operands[0].qualifier; in ldst_lo12_determine_real_reloc_type()
4534 enum aarch64_opnd_qualifier opd1_qlf = inst.base.operands[1].qualifier; in ldst_lo12_determine_real_reloc_type()
4542 gas_assert (inst.reloc.type == BFD_RELOC_AARCH64_LDST_LO12); in ldst_lo12_determine_real_reloc_type()
4543 gas_assert (inst.base.opcode->operands[1] == AARCH64_OPND_ADDR_UIMM12); in ldst_lo12_determine_real_reloc_type()
4547 aarch64_get_expected_qualifier (inst.base.opcode->qualifiers_list, in ldst_lo12_determine_real_reloc_type()
4610 aarch64_opnd_info *info = &inst.base.operands[i]; in parse_operands()
4787 inst.base.operands[i].reg.regno = val; in parse_operands()
4857 po_misc_or_fail (my_get_expression (&inst.reloc.exp, &str, in parse_operands()
4864 aarch64_set_gas_internal_fixup (&inst.reloc, info, 1); in parse_operands()
4865 inst.base.operands[i].skip = 1; in parse_operands()
4873 assign_imm_if_const_or_fixup_later (&inst.reloc, info, in parse_operands()
4900 = (aarch64_get_qualifier_esize (inst.base.operands[0].qualifier) in parse_operands()
4909 inst.base.operands[i].imm.value = encode_imm_float_bits (qfloat); in parse_operands()
4910 inst.base.operands[i].imm.is_fp = 1; in parse_operands()
4923 assign_imm_if_const_or_fixup_later (&inst.reloc, info, in parse_operands()
4937 switch (inst.reloc.type) in parse_operands()
4943 aarch64_set_gas_internal_fixup (&inst.reloc, info, 0); in parse_operands()
4945 inst.reloc.flags = FIXUP_F_HAS_EXPLICIT_SHIFT; in parse_operands()
4946 inst.reloc.pc_rel = 0; in parse_operands()
4967 aarch64_set_gas_internal_fixup (&inst.reloc, info, 0); in parse_operands()
4981 inst.base.operands[i].shifter.amount = 0; in parse_operands()
4982 inst.base.operands[i].shifter.kind = AARCH64_MOD_LSL; in parse_operands()
4983 inst.base.operands[i].imm.value = 0; in parse_operands()
4990 po_misc_or_fail (parse_immediate_expression (&str, &inst.reloc.exp)); in parse_operands()
4991 assign_imm_if_const_or_fixup_later (&inst.reloc, info, in parse_operands()
5045 if (inst.gen_lit_pool in parse_operands()
5053 if (inst.reloc.exp.X_op == O_symbol && find_reloc_table_entry (&str)) in parse_operands()
5058 if (inst.reloc.exp.X_op == O_constant && !inst.gen_lit_pool) in parse_operands()
5060 info->imm.value = inst.reloc.exp.X_add_number; in parse_operands()
5061 inst.reloc.type = BFD_RELOC_UNUSED; in parse_operands()
5066 if (inst.reloc.type == BFD_RELOC_UNUSED) in parse_operands()
5073 inst.reloc.type = BFD_RELOC_AARCH64_BRANCH19; in parse_operands()
5078 inst.reloc.type = BFD_RELOC_AARCH64_TSTBR14; in parse_operands()
5083 inst.reloc.type = in parse_operands()
5089 inst.reloc.type = BFD_RELOC_AARCH64_LD_LO19_PCREL; in parse_operands()
5093 inst.reloc.type = BFD_RELOC_AARCH64_ADR_LO21_PCREL; in parse_operands()
5099 inst.reloc.pc_rel = 1; in parse_operands()
5152 assign_imm_if_const_or_fixup_later (&inst.reloc, info, in parse_operands()
5169 if (inst.reloc.type != BFD_RELOC_UNUSED) in parse_operands()
5174 assign_imm_if_const_or_fixup_later (&inst.reloc, info, in parse_operands()
5188 if (inst.reloc.type == BFD_RELOC_UNUSED) in parse_operands()
5189 aarch64_set_gas_internal_fixup (&inst.reloc, info, 1); in parse_operands()
5190 else if (inst.reloc.type == BFD_RELOC_AARCH64_LDST_LO12) in parse_operands()
5191 inst.reloc.type = ldst_lo12_determine_real_reloc_type (); in parse_operands()
5205 if (inst.reloc.exp.X_op == O_constant) in parse_operands()
5206 info->addr.offset.imm = inst.reloc.exp.X_add_number; in parse_operands()
5224 inst.base.operands[i].sysreg = val; in parse_operands()
5234 inst.base.operands[i].pstatefield = val; in parse_operands()
5238 inst.base.operands[i].sysins_op = in parse_operands()
5242 inst.base.operands[i].sysins_op = in parse_operands()
5246 inst.base.operands[i].sysins_op = in parse_operands()
5250 inst.base.operands[i].sysins_op = in parse_operands()
5253 if (inst.base.operands[i].sysins_op == NULL) in parse_operands()
5284 inst.base.operands[i].prfop = aarch64_prfops + val; in parse_operands()
5292 inst.base.operands[i].present = 1; in parse_operands()
5355 for (i -= 1; i >= 0 && !inst.base.operands[i].present; --i) in parse_operands()
5549 inst.reloc.type = BFD_RELOC_UNUSED; in md_assemble()
5576 saved_cond = inst.cond; in md_assemble()
5577 reset_aarch64_instruction (&inst); in md_assemble()
5578 inst.cond = saved_cond; in md_assemble()
5593 inst_base = &inst.base; in md_assemble()
5599 gas_assert (inst.cond != COND_ALWAYS); in md_assemble()
5600 inst_base->cond = get_cond_from_value (inst.cond); in md_assemble()
5603 else if (inst.cond != COND_ALWAYS) in md_assemble()
5612 && programmer_friendly_fixup (&inst) in md_assemble()
5613 && do_encode (inst_base->opcode, &inst.base, &inst_base->value)) in md_assemble()
5623 if (inst.reloc.type == BFD_RELOC_UNUSED in md_assemble()
5624 || !inst.reloc.need_libopcodes_p) in md_assemble()
5631 gas_assert (inst.reloc.type != BFD_RELOC_UNUSED); in md_assemble()
5634 memcpy (copy, &inst.base, sizeof (struct aarch64_inst)); in md_assemble()
5643 reset_aarch64_instruction (&inst); in md_assemble()
5644 inst.cond = saved_cond; in md_assemble()
6197 aarch64_inst *new_inst = fixP->tc_fix_data.inst; in fix_insn()
6664 if (fixP->tc_fix_data.inst != NULL) in md_apply_fix()
6665 free (fixP->tc_fix_data.inst); in md_apply_fix()