+2017-12-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR 22529
+ * config/tc-aarch64.c (vectype_to_qualifier): Support AARCH64_OPND_QLF_V_4B.
+ * gas/testsuite/gas/aarch64/pr22529.s: New.
+ * gas/testsuite/gas/aarch64/pr22529.d: New.
+ * gas/testsuite/gas/aarch64/pr22529.l: New.
+
2017-12-18 Nick Clifton <nickc@redhat.com>
PR 22493
= {1, 2, 4, 8, 16};
const unsigned int ele_base [5] =
{
- AARCH64_OPND_QLF_V_8B,
+ AARCH64_OPND_QLF_V_4B,
AARCH64_OPND_QLF_V_2H,
AARCH64_OPND_QLF_V_2S,
AARCH64_OPND_QLF_V_1D,
a vector-type dependent amount. */
shift = 0;
if (vectype->type == NT_b)
- shift = 4;
+ shift = 3;
else if (vectype->type == NT_h || vectype->type == NT_s)
shift = 2;
else if (vectype->type >= NT_d)
gas_assert (0);
offset = ele_base [vectype->type] + (vectype->width >> shift);
- gas_assert (AARCH64_OPND_QLF_V_8B <= offset
+ gas_assert (AARCH64_OPND_QLF_V_4B <= offset
&& offset <= AARCH64_OPND_QLF_V_1Q);
return offset;
}
--- /dev/null
+#as: -march=armv8.4-a
+#source: pr22529.s
+#error-output: pr22529.l
+
--- /dev/null
+[^:]*: Assembler messages:
+[^:]*:1: Error: operand mismatch -- `udot v0\.2s,v1\.8b,v2\.4b'
+[^:]*:1: Info: did you mean this\?
+[^:]*:1: Info: udot v0\.2s, v1\.8b, v2\.8b
+[^:]*:1: Info: other valid variant\(s\):
+[^:]*:1: Info: udot v0\.4s, v1\.16b, v2\.16b
+[^:]*:2: Error: operand mismatch -- `udot v0\.2s,v1\.4b,v2\.8b'
+[^:]*:2: Info: did you mean this\?
+[^:]*:2: Info: udot v0\.2s, v1\.8b, v2\.8b
+[^:]*:2: Info: other valid variant\(s\):
+[^:]*:2: Info: udot v0\.4s, v1\.16b, v2\.16b
+[^:]*:3: Error: operand mismatch -- `udot v0\.2s,v1\.4b,v2\.4b'
+[^:]*:3: Info: did you mean this\?
+[^:]*:3: Info: udot v0\.2s, v1\.8b, v2\.8b
+[^:]*:3: Info: other valid variant\(s\):
+[^:]*:3: Info: udot v0\.4s, v1\.16b, v2\.16b
+
--- /dev/null
+udot v0.2s, v1.8b, v2.4b
+udot v0.2s, v1.4b, v2.8b
+udot v0.2s, v1.4b, v2.4b
+2017-12-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR gas/22529
+ * opcode/aarch64.h (aarch64_opnd_qualifier): Add AARCH64_OPND_QLF_V_4B.
+
2017-12-11 Stephen Crane <sjc@immunant.com>
* plugin-api.h: Add new plugin hook to allow processing of input
a use is only for the ease of operand encoding/decoding and qualifier
sequence matching; such a use should not be applied widely; use the value
constraint qualifiers for immediate operands wherever possible. */
+ AARCH64_OPND_QLF_V_4B,
AARCH64_OPND_QLF_V_8B,
AARCH64_OPND_QLF_V_16B,
AARCH64_OPND_QLF_V_2H,
+2017-12-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR gas/22529
+ * aarch64-opc.c (aarch64_opnd_qualifiers): Add 4b variant.
+
2017-12-18 Jan Beulich <jbeulich@suse.com>
* i386-gen.c (operand_type_init): Delete OPERAND_TYPE_REGYMM and
{8, 1, 0x3, "d", OQK_OPD_VARIANT},
{16, 1, 0x4, "q", OQK_OPD_VARIANT},
+ {1, 4, 0x0, "4b", OQK_OPD_VARIANT},
{1, 8, 0x0, "8b", OQK_OPD_VARIANT},
{1, 16, 0x1, "16b", OQK_OPD_VARIANT},
{2, 2, 0x0, "2h", OQK_OPD_VARIANT},