diff options
Diffstat (limited to 'opcodes/aarch64-asm.c')
-rw-r--r-- | opcodes/aarch64-asm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c index 6d2c75a..345d599 100644 --- a/opcodes/aarch64-asm.c +++ b/opcodes/aarch64-asm.c @@ -121,6 +121,20 @@ aarch64_ins_reglane (const aarch64_operand *self, const aarch64_opnd_info *info, insert_field (FLD_imm5, code, value, 0); } } + else if (inst->opcode->iclass == dotproduct) + { + unsigned reglane_index = info->reglane.index; + switch (info->qualifier) + { + case AARCH64_OPND_QLF_S_B: + /* L:H */ + assert (reglane_index < 4); + insert_fields (code, reglane_index, 0, 2, FLD_L, FLD_H); + break; + default: + assert (0); + } + } else { /* index for e.g. SQDMLAL <Va><d>, <Vb><n>, <Vm>.<Ts>[<index>] |