summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog.linaro10
-rw-r--r--opcodes/aarch64-asm.c2
-rw-r--r--opcodes/aarch64-dis.c2
-rw-r--r--opcodes/aarch64-opc.c1
-rw-r--r--opcodes/aarch64-tbl.h4
5 files changed, 15 insertions, 4 deletions
diff --git a/opcodes/ChangeLog.linaro b/opcodes/ChangeLog.linaro
index ddaea513e8e..403939af170 100644
--- a/opcodes/ChangeLog.linaro
+++ b/opcodes/ChangeLog.linaro
@@ -4,6 +4,16 @@
2017-12-19 Tamar Christina <tamar.christina@arm.com>
+ PR gas/22559
+ * aarch64-asm.c (aarch64_ins_reglane): Change AARCH64_OPND_QLF_S_B to
+ AARCH64_OPND_QLF_S_4B
+ * aarch64-dis.c (aarch64_ext_reglane): Change AARCH64_OPND_QLF_S_B to
+ AARCH64_OPND_QLF_S_4B
+ * aarch64-opc.c (aarch64_opnd_qualifiers): Add 4b variant.
+ * aarch64-tbl.h (QL_V2DOT): Change S_B to S_4B.
+
+ 2017-12-19 Tamar Christina <tamar.christina@arm.com>
+
PR gas/22529
* aarch64-opc.c (aarch64_opnd_qualifiers): Add 4b variant.
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index a8173b3c28f..8e8d61dc145 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -126,7 +126,7 @@ aarch64_ins_reglane (const aarch64_operand *self, const aarch64_opnd_info *info,
unsigned reglane_index = info->reglane.index;
switch (info->qualifier)
{
- case AARCH64_OPND_QLF_S_B:
+ case AARCH64_OPND_QLF_S_4B:
/* L:H */
assert (reglane_index < 4);
insert_fields (code, reglane_index, 0, 2, FLD_L, FLD_H);
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index 7d771f99854..bd5dcaa036f 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -331,7 +331,7 @@ aarch64_ext_reglane (const aarch64_operand *self, aarch64_opnd_info *info,
info->qualifier = get_expected_qualifier (inst, info->idx);
switch (info->qualifier)
{
- case AARCH64_OPND_QLF_S_B:
+ case AARCH64_OPND_QLF_S_4B:
/* L:H */
info->reglane.index = extract_fields (code, 0, 2, FLD_H, FLD_L);
info->reglane.regno &= 0x1f;
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 86f40a280a7..4eaea8afe74 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -695,6 +695,7 @@ struct operand_qualifier_data aarch64_opnd_qualifiers[] =
{4, 1, 0x2, "s", OQK_OPD_VARIANT},
{8, 1, 0x3, "d", OQK_OPD_VARIANT},
{16, 1, 0x4, "q", OQK_OPD_VARIANT},
+ {1, 4, 0x0, "4b", OQK_OPD_VARIANT},
{1, 4, 0x0, "4b", OQK_OPD_VARIANT},
{1, 8, 0x0, "8b", OQK_OPD_VARIANT},
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 5a2ec4312e7..b142442b470 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -1992,8 +1992,8 @@
/* e.g. UDOT <Vd>.2S, <Vn>.8B, <Vm>.4B[<index>]. */
#define QL_V2DOT \
{ \
- QLF3(V_2S, V_8B, S_B),\
- QLF3(V_4S, V_16B, S_B),\
+ QLF3(V_2S, V_8B, S_4B),\
+ QLF3(V_4S, V_16B, S_4B),\
}
/* Opcode table. */