aboutsummaryrefslogtreecommitdiff
path: root/opcodes/aarch64-asm-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/aarch64-asm-2.c')
-rw-r--r--opcodes/aarch64-asm-2.c119
1 files changed, 60 insertions, 59 deletions
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index 7987384..01bc0e1 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -579,10 +579,11 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
return aarch64_opcode_table + value;
}
-const char*
+bfd_boolean
aarch64_insert_operand (const aarch64_operand *self,
const aarch64_opnd_info *info,
- aarch64_insn *code, const aarch64_inst *inst)
+ aarch64_insn *code, const aarch64_inst *inst,
+ aarch64_operand_error *errors)
{
/* Use the index as the key. */
int key = self - aarch64_operands;
@@ -634,26 +635,26 @@ aarch64_insert_operand (const aarch64_operand *self,
case 182:
case 186:
case 189:
- return aarch64_ins_regno (self, info, code, inst);
+ return aarch64_ins_regno (self, info, code, inst, errors);
case 13:
- return aarch64_ins_reg_extended (self, info, code, inst);
+ return aarch64_ins_reg_extended (self, info, code, inst, errors);
case 14:
- return aarch64_ins_reg_shifted (self, info, code, inst);
+ return aarch64_ins_reg_shifted (self, info, code, inst, errors);
case 19:
- return aarch64_ins_ft (self, info, code, inst);
+ return aarch64_ins_ft (self, info, code, inst, errors);
case 30:
case 31:
case 32:
case 191:
- return aarch64_ins_reglane (self, info, code, inst);
+ return aarch64_ins_reglane (self, info, code, inst, errors);
case 33:
- return aarch64_ins_reglist (self, info, code, inst);
+ return aarch64_ins_reglist (self, info, code, inst, errors);
case 34:
- return aarch64_ins_ldst_reglist (self, info, code, inst);
+ return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
case 35:
- return aarch64_ins_ldst_reglist_r (self, info, code, inst);
+ return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
case 36:
- return aarch64_ins_ldst_elemlist (self, info, code, inst);
+ return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
case 37:
case 38:
case 39:
@@ -686,85 +687,85 @@ aarch64_insert_operand (const aarch64_operand *self,
case 171:
case 172:
case 173:
- return aarch64_ins_imm (self, info, code, inst);
+ return aarch64_ins_imm (self, info, code, inst, errors);
case 41:
case 42:
- return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
+ return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
case 43:
case 44:
case 45:
- return aarch64_ins_advsimd_imm_modified (self, info, code, inst);
+ return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
case 49:
case 140:
- return aarch64_ins_fpimm (self, info, code, inst);
+ return aarch64_ins_fpimm (self, info, code, inst, errors);
case 64:
case 147:
- return aarch64_ins_limm (self, info, code, inst);
+ return aarch64_ins_limm (self, info, code, inst, errors);
case 65:
- return aarch64_ins_aimm (self, info, code, inst);
+ return aarch64_ins_aimm (self, info, code, inst, errors);
case 66:
- return aarch64_ins_imm_half (self, info, code, inst);
+ return aarch64_ins_imm_half (self, info, code, inst, errors);
case 67:
- return aarch64_ins_fbits (self, info, code, inst);
+ return aarch64_ins_fbits (self, info, code, inst, errors);
case 69:
case 70:
case 145:
- return aarch64_ins_imm_rotate2 (self, info, code, inst);
+ return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
case 71:
case 144:
- return aarch64_ins_imm_rotate1 (self, info, code, inst);
+ return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
case 72:
case 73:
- return aarch64_ins_cond (self, info, code, inst);
+ return aarch64_ins_cond (self, info, code, inst, errors);
case 79:
case 86:
- return aarch64_ins_addr_simple (self, info, code, inst);
+ return aarch64_ins_addr_simple (self, info, code, inst, errors);
case 80:
- return aarch64_ins_addr_regoff (self, info, code, inst);
+ return aarch64_ins_addr_regoff (self, info, code, inst, errors);
case 81:
case 82:
case 83:
- return aarch64_ins_addr_simm (self, info, code, inst);
+ return aarch64_ins_addr_simm (self, info, code, inst, errors);
case 84:
- return aarch64_ins_addr_simm10 (self, info, code, inst);
+ return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
case 85:
- return aarch64_ins_addr_uimm12 (self, info, code, inst);
+ return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
case 87:
- return aarch64_ins_addr_offset (self, info, code, inst);
+ return aarch64_ins_addr_offset (self, info, code, inst, errors);
case 88:
- return aarch64_ins_simd_addr_post (self, info, code, inst);
+ return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
case 89:
- return aarch64_ins_sysreg (self, info, code, inst);
+ return aarch64_ins_sysreg (self, info, code, inst, errors);
case 90:
- return aarch64_ins_pstatefield (self, info, code, inst);
+ return aarch64_ins_pstatefield (self, info, code, inst, errors);
case 91:
case 92:
case 93:
case 94:
- return aarch64_ins_sysins_op (self, info, code, inst);
+ return aarch64_ins_sysins_op (self, info, code, inst, errors);
case 95:
case 96:
- return aarch64_ins_barrier (self, info, code, inst);
+ return aarch64_ins_barrier (self, info, code, inst, errors);
case 97:
- return aarch64_ins_prfop (self, info, code, inst);
+ return aarch64_ins_prfop (self, info, code, inst, errors);
case 98:
- return aarch64_ins_hint (self, info, code, inst);
+ return aarch64_ins_hint (self, info, code, inst, errors);
case 99:
- return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst);
+ return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case 100:
case 101:
case 102:
case 103:
- return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst);
+ return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 104:
- return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst);
+ return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case 105:
- return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst);
+ return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 106:
case 107:
case 108:
case 109:
- return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst);
+ return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 110:
case 111:
case 112:
@@ -778,7 +779,7 @@ aarch64_insert_operand (const aarch64_operand *self,
case 120:
case 121:
case 122:
- return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst);
+ return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 123:
case 124:
case 125:
@@ -787,49 +788,49 @@ aarch64_insert_operand (const aarch64_operand *self,
case 128:
case 129:
case 130:
- return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst);
+ return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 131:
case 132:
case 133:
case 134:
- return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst);
+ return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case 135:
- return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst);
+ return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
case 136:
- return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst);
+ return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
case 137:
- return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst);
+ return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
case 138:
- return aarch64_ins_sve_aimm (self, info, code, inst);
+ return aarch64_ins_sve_aimm (self, info, code, inst, errors);
case 139:
- return aarch64_ins_sve_asimm (self, info, code, inst);
+ return aarch64_ins_sve_asimm (self, info, code, inst, errors);
case 141:
- return aarch64_ins_sve_float_half_one (self, info, code, inst);
+ return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
case 142:
- return aarch64_ins_sve_float_half_two (self, info, code, inst);
+ return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
case 143:
- return aarch64_ins_sve_float_zero_one (self, info, code, inst);
+ return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
case 146:
- return aarch64_ins_inv_limm (self, info, code, inst);
+ return aarch64_ins_inv_limm (self, info, code, inst, errors);
case 148:
- return aarch64_ins_sve_limm_mov (self, info, code, inst);
+ return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
case 150:
- return aarch64_ins_sve_scale (self, info, code, inst);
+ return aarch64_ins_sve_scale (self, info, code, inst, errors);
case 162:
case 163:
- return aarch64_ins_sve_shlimm (self, info, code, inst);
+ return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
case 164:
case 165:
- return aarch64_ins_sve_shrimm (self, info, code, inst);
+ return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
case 183:
case 184:
case 185:
- return aarch64_ins_sve_quad_index (self, info, code, inst);
+ return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
case 187:
- return aarch64_ins_sve_index (self, info, code, inst);
+ return aarch64_ins_sve_index (self, info, code, inst, errors);
case 188:
case 190:
- return aarch64_ins_sve_reglist (self, info, code, inst);
+ return aarch64_ins_sve_reglist (self, info, code, inst, errors);
default: assert (0); abort ();
}
}