From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1130) id D55F83858C53; Thu, 30 Mar 2023 10:12:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D55F83858C53 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Richard Sandiford To: bfd-cvs@sourceware.org Subject: [binutils-gdb] aarch64: Rework reporting of failed register checks X-Act-Checkin: binutils-gdb X-Git-Author: Richard Sandiford X-Git-Refname: refs/heads/master X-Git-Oldrev: 405f0c4131cbdf540d9e9559ba5d6e4f445a3818 X-Git-Newrev: e426521ed1f44468cf0d8418f3f29a856af70b25 Message-Id: <20230330101245.D55F83858C53@sourceware.org> Date: Thu, 30 Mar 2023 10:12:45 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Mar 2023 10:12:46 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3De426521ed1f4= 4468cf0d8418f3f29a856af70b25 commit e426521ed1f44468cf0d8418f3f29a856af70b25 Author: Richard Sandiford Date: Thu Mar 30 11:09:06 2023 +0100 aarch64: Rework reporting of failed register checks =20 There are many opcode table entries that share the same mnemonic. Trying to parse an invalid assembly line will trigger an error for each of these entries, but the specific error might vary from one entry to another, depending on the exact nature of the problem. =20 GAS has quite an elaborate system for picking the most appropriate error out of all the failed matches. And in many cases it works well. However, one of the limitations is that the error is always reported against a single opcode table entry. If that table entry isn't the one that the user intended to use, then the error can end up being overly specific. =20 This is particularly true if an instruction has a typoed register name, or uses a type of register that is not accepted by any opcode table entry. For example, one of the expected error matches for an attempted SVE2 instruction is: =20 Error: operand 1 must be a SIMD scalar register -- `addp z32\.s,p0/m,= z32\.s,z0\.s' =20 even though the hypothetical user was presumably attempting to use the SVE form of ADDP rather than the Advanced SIMD one. There are many other instances of this in the testsuite. =20 The problem becomes especially acute with SME2, since many SME2 instructions reuse existing mnemonics. This could lead to us reporting an SME-related error against a non-SME instruction, or a non-SME-related error against an SME instruction. =20 This patch tries to improve things by collecting together all the register types that an opcode table entry expected for a given operand. It also records what kind of register was actually seen, if any. It then tries to summarise all this in a more directed way, falling back to a generic error if the combination defies a neat summary. =20 The patch includes tests for all new messages except REG_TYPE_ZA, which only triggers with SME2. =20 To test this, I created an assembly file that contained the cross product of all known mnemonics and one example from each register class. I then looked for cases where the new routines fell back on the generic errors ("expected a register" or "unexpected register type"). I locally added dummy messages for each one until there were no more hits. The patch adds a specimen instruction to diagnostics.s for each of these combinations. In each case, the combination didn't seem like something that could be summarised in a natural way, so the generic messages seemed better. There's always going to be an element of personal taste around this kind of thing though. =20 Adding more register types made 1<type]; +} =20 - switch (reg_type) - { - case REG_TYPE_R_32: - msg =3D N_("integer 32-bit register expected"); - break; - case REG_TYPE_R_64: - msg =3D N_("integer 64-bit register expected"); - break; - case REG_TYPE_R_N: - msg =3D N_("integer register expected"); - break; - case REG_TYPE_R64_SP: - msg =3D N_("64-bit integer or SP register expected"); - break; - case REG_TYPE_SVE_BASE: - msg =3D N_("base register expected"); - break; - case REG_TYPE_R_Z: - msg =3D N_("integer or zero register expected"); - break; - case REG_TYPE_SVE_OFFSET: - msg =3D N_("offset register expected"); - break; - case REG_TYPE_R_SP: - msg =3D N_("integer or SP register expected"); - break; - case REG_TYPE_R_Z_SP: - msg =3D N_("integer, zero or SP register expected"); - break; - case REG_TYPE_FP_B: - msg =3D N_("8-bit SIMD scalar register expected"); - break; - case REG_TYPE_FP_H: - msg =3D N_("16-bit SIMD scalar or floating-point half precision " - "register expected"); - break; - case REG_TYPE_FP_S: - msg =3D N_("32-bit SIMD scalar or floating-point single precision " - "register expected"); - break; - case REG_TYPE_FP_D: - msg =3D N_("64-bit SIMD scalar or floating-point double precision " - "register expected"); - break; - case REG_TYPE_FP_Q: - msg =3D N_("128-bit SIMD scalar or floating-point quad precision " - "register expected"); - break; - case REG_TYPE_R_Z_BHSDQ_V: - case REG_TYPE_R_Z_SP_BHSDQ_VZP: - msg =3D N_("register expected"); - break; - case REG_TYPE_BHSDQ: /* any [BHSDQ]P FP */ - msg =3D N_("SIMD scalar or floating-point register expected"); - break; - case REG_TYPE_VN: /* any V reg */ - msg =3D N_("vector register expected"); - break; - case REG_TYPE_ZN: - msg =3D N_("SVE vector register expected"); - break; - case REG_TYPE_PN: - msg =3D N_("SVE predicate register expected"); - break; - default: - as_fatal (_("invalid register type %d"), reg_type); - } - return msg; +/* Record that we expected a register list containing registers of type TY= PE, + but didn't see the opening '{'. If we saw a register instead, REG is t= he + register that we saw, otherwise it is null. */ + +static inline void +set_expected_reglist_error (aarch64_reg_type type, const reg_entry *reg) +{ + set_error (AARCH64_OPDE_SYNTAX_ERROR, NULL); + inst.parsing_error.data[1].i =3D reg_type_masks[type]; + if (reg) + inst.parsing_error.data[2].i =3D reg_type_masks[reg->type]; } =20 /* Some well known registers that we refer to directly elsewhere. */ @@ -1092,6 +1181,7 @@ parse_typed_reg (char **ccp, aarch64_reg_type type, struct vector_type_el atype; struct vector_type_el parsetype; bool is_typed_vecreg =3D false; + unsigned int err_flags =3D (flags & PTR_IN_REGLIST) ? SEF_IN_REGLIST : 0; =20 atype.defined =3D 0; atype.type =3D NT_invtype; @@ -1108,7 +1198,7 @@ parse_typed_reg (char **ccp, aarch64_reg_type type, else if (flags & PTR_GOOD_MATCH) set_fatal_syntax_error (NULL); else - set_default_error (); + set_expected_reg_error (type, reg, err_flags); return NULL; } =20 @@ -1118,7 +1208,7 @@ parse_typed_reg (char **ccp, aarch64_reg_type type, if (flags & PTR_GOOD_MATCH) set_fatal_syntax_error (NULL); else - set_default_error (); + set_expected_reg_error (type, reg, err_flags); return NULL; } type =3D reg->type; @@ -1275,7 +1365,7 @@ parse_vector_reg_list (char **ccp, aarch64_reg_type t= ype, =20 if (*str !=3D '{') { - set_syntax_error (_("expecting {")); + set_expected_reglist_error (type, parse_reg (&str)); return PARSE_FAIL; } str++; @@ -3612,7 +3702,7 @@ parse_shifter_operand (char **str, aarch64_opnd_info = *operand, =20 if (!aarch64_check_reg_type (reg, REG_TYPE_R_Z)) { - set_syntax_error (_(get_reg_expected_msg (REG_TYPE_R_Z))); + set_expected_reg_error (REG_TYPE_R_Z, reg, 0); return false; } =20 @@ -4110,7 +4200,7 @@ parse_x0_to_x30 (char **str, aarch64_opnd_info *opera= nd) const reg_entry *reg =3D parse_reg (str); if (!reg || !aarch64_check_reg_type (reg, REG_TYPE_R_64)) { - set_syntax_error (_(get_reg_expected_msg (REG_TYPE_R_64))); + set_expected_reg_error (REG_TYPE_R_64, reg, 0); return false; } operand->reg.regno =3D reg->number; @@ -4509,7 +4599,7 @@ parse_sme_za_hv_tiles_operand_with_braces (char **str, { if (!skip_past_char (str, '{')) { - set_syntax_error (_("expected '{'")); + set_expected_reglist_error (REG_TYPE_ZATHV, parse_reg (str)); return false; } =20 @@ -4783,17 +4873,14 @@ parse_sys_ins_reg (char **str, htab_t sys_ins_regs) #define po_reg_or_fail(regtype) do { \ reg =3D aarch64_reg_parse (&str, regtype, NULL); \ if (!reg) \ - { \ - set_default_error (); \ - goto failure; \ - } \ + goto failure; \ } while (0) =20 #define po_int_fp_reg_or_fail(reg_type) do { \ reg =3D parse_reg (&str); \ if (!reg || !aarch64_check_reg_type (reg, reg_type)) \ { \ - set_default_error (); \ + set_expected_reg_error (reg_type, reg, 0); \ goto failure; \ } \ info->reg.regno =3D reg->number; \ @@ -5389,6 +5476,64 @@ output_info (const char *format, ...) (void) putc ('\n', stderr); } =20 +/* See if the AARCH64_OPDE_SYNTAX_ERROR error described by DETAIL + relates to registers or register lists. If so, return a string that + reports the error against "operand %d", otherwise return null. */ + +static const char * +get_reg_error_message (const aarch64_operand_error *detail) +{ + /* Handle the case where we found a register that was expected + to be in a register list outside of a register list. */ + if ((detail->data[1].i & detail->data[2].i) !=3D 0 + && (detail->data[1].i & SEF_IN_REGLIST) =3D=3D 0) + return _("missing braces at operand %d"); + + /* If some opcodes expected a register, and we found a register, + complain about the difference. */ + if (detail->data[2].i) + { + unsigned int expected =3D (detail->data[1].i & SEF_IN_REGLIST + ? detail->data[1].i & ~SEF_IN_REGLIST + : detail->data[0].i & ~SEF_DEFAULT_ERROR); + const char *msg =3D get_reg_expected_msg (expected, detail->data[2].= i); + if (!msg) + msg =3D N_("unexpected register type at operand %d"); + return msg; + } + + /* Handle the case where we got to the point of trying to parse a + register within a register list, but didn't find a known register. */ + if (detail->data[1].i & SEF_IN_REGLIST) + { + unsigned int expected =3D detail->data[1].i & ~SEF_IN_REGLIST; + const char *msg =3D get_reg_expected_msg (expected, 0); + if (!msg) + msg =3D _("invalid register list at operand %d"); + return msg; + } + + /* Punt if register-related problems weren't the only errors. */ + if (detail->data[0].i & SEF_DEFAULT_ERROR) + return NULL; + + /* Handle the case where the only acceptable things are registers. */ + if (detail->data[1].i =3D=3D 0) + { + const char *msg =3D get_reg_expected_msg (detail->data[0].i, 0); + if (!msg) + msg =3D _("expected a register at operand %d"); + return msg; + } + + /* Handle the case where the only acceptable things are register lists, + and there was no opening '{'. */ + if (detail->data[0].i =3D=3D 0) + return _("expected '{' at operand %d"); + + return _("expected a register or register list at operand %d"); +} + /* Output one operand error record. */ =20 static void @@ -5402,6 +5547,7 @@ output_operand_error_record (const operand_error_reco= rd *record, char *str) =20 typedef void (*handler_t)(const char *format, ...); handler_t handler =3D detail->non_fatal ? as_warn : as_bad; + const char *msg =3D detail->error; =20 switch (detail->kind) { @@ -5422,18 +5568,31 @@ output_operand_error_record (const operand_error_re= cord *record, char *str) break; =20 case AARCH64_OPDE_SYNTAX_ERROR: + if (!msg && idx >=3D 0) + { + msg =3D get_reg_error_message (detail); + if (msg) + { + char *full_msg =3D xasprintf (msg, idx + 1); + handler (_("%s -- `%s'"), full_msg, str); + free (full_msg); + break; + } + } + /* Fall through. */ + case AARCH64_OPDE_RECOVERABLE: case AARCH64_OPDE_FATAL_SYNTAX_ERROR: case AARCH64_OPDE_OTHER_ERROR: /* Use the prepared error message if there is, otherwise use the operand description string to describe the error. */ - if (detail->error !=3D NULL) + if (msg !=3D NULL) { if (idx < 0) - handler (_("%s -- `%s'"), detail->error, str); + handler (_("%s -- `%s'"), msg, str); else handler (_("%s at operand %d -- `%s'"), - detail->error, idx + 1, str); + msg, idx + 1, str); } else { @@ -5554,11 +5713,11 @@ output_operand_error_record (const operand_error_re= cord *record, char *str) case AARCH64_OPDE_OUT_OF_RANGE: if (detail->data[0].i !=3D detail->data[1].i) handler (_("%s out of range %d to %d at operand %d -- `%s'"), - detail->error ? detail->error : _("immediate value"), + msg ? msg : _("immediate value"), detail->data[0].i, detail->data[1].i, idx + 1, str); else handler (_("%s must be %d at operand %d -- `%s'"), - detail->error ? detail->error : _("immediate value"), + msg ? msg : _("immediate value"), detail->data[0].i, idx + 1, str); break; =20 @@ -5600,8 +5759,6 @@ output_operand_error_record (const operand_error_reco= rd *record, char *str) static void output_operand_error_report (char *str, bool non_fatal_only) { - int largest_error_pos; - const char *msg =3D NULL; enum aarch64_operand_error_kind kind; operand_error_record *curr; operand_error_record *head =3D operand_error_report.head; @@ -5633,7 +5790,17 @@ output_operand_error_report (char *str, bool non_fat= al_only) for (curr =3D head; curr !=3D NULL; curr =3D curr->next) { gas_assert (curr->detail.kind !=3D AARCH64_OPDE_NIL); - DEBUG_TRACE ("\t%s", operand_mismatch_kind_names[curr->detail.kind]); + if (curr->detail.kind =3D=3D AARCH64_OPDE_SYNTAX_ERROR) + { + DEBUG_TRACE ("\t%s [%x, %x, %x]", + operand_mismatch_kind_names[curr->detail.kind], + curr->detail.data[0].i, curr->detail.data[1].i, + curr->detail.data[2].i); + } + else + { + DEBUG_TRACE ("\t%s", operand_mismatch_kind_names[curr->detail.kind]); + } if (operand_error_higher_severity_p (curr->detail.kind, kind) && (!non_fatal_only || (non_fatal_only && curr->detail.non_fatal))) kind =3D curr->detail.kind; @@ -5642,7 +5809,6 @@ output_operand_error_report (char *str, bool non_fata= l_only) gas_assert (kind !=3D AARCH64_OPDE_NIL || non_fatal_only); =20 /* Pick up one of errors of KIND to report. */ - largest_error_pos =3D -2; /* Index can be -1 which means unknown index. = */ for (curr =3D head; curr !=3D NULL; curr =3D curr->next) { /* If we don't want to print non-fatal errors then don't consider th= em @@ -5654,13 +5820,23 @@ output_operand_error_report (char *str, bool non_fa= tal_only) mismatching operand index. In the case of multiple errors with the equally highest operand index, pick up the first one or the first one with non-NULL error message. */ - if (curr->detail.index > largest_error_pos - || (curr->detail.index =3D=3D largest_error_pos && msg =3D=3D NULL - && curr->detail.error !=3D NULL)) + if (!record || curr->detail.index > record->detail.index) + record =3D curr; + else if (curr->detail.index =3D=3D record->detail.index + && !record->detail.error) { - largest_error_pos =3D curr->detail.index; - record =3D curr; - msg =3D record->detail.error; + if (curr->detail.error) + record =3D curr; + else if (kind =3D=3D AARCH64_OPDE_SYNTAX_ERROR) + { + record->detail.data[0].i |=3D curr->detail.data[0].i; + record->detail.data[1].i |=3D curr->detail.data[1].i; + record->detail.data[2].i |=3D curr->detail.data[2].i; + DEBUG_TRACE ("\t--> %s [%x, %x, %x]", + operand_mismatch_kind_names[kind], + curr->detail.data[0].i, curr->detail.data[1].i, + curr->detail.data[2].i); + } } } =20 @@ -5675,9 +5851,9 @@ output_operand_error_report (char *str, bool non_fata= l_only) if (non_fatal_only && !record) return; =20 - gas_assert (largest_error_pos !=3D -2 && record !=3D NULL); + gas_assert (record); DEBUG_TRACE ("Pick up error kind %s to report", - operand_mismatch_kind_names[record->detail.kind]); + operand_mismatch_kind_names[kind]); =20 /* Output. */ output_operand_error_record (record, str); @@ -6299,10 +6475,7 @@ parse_operands (char *str, const aarch64_opcode *opc= ode) vector_reg: reg =3D aarch64_reg_parse (&str, reg_type, &vectype); if (!reg) - { - first_error (_(get_reg_expected_msg (reg_type))); - goto failure; - } + goto failure; if (vectype.defined & NTA_HASINDEX) goto failure; =20 @@ -6325,10 +6498,7 @@ parse_operands (char *str, const aarch64_opcode *opc= ode) case AARCH64_OPND_VnD1: reg =3D aarch64_reg_parse (&str, REG_TYPE_VN, &vectype); if (!reg) - { - set_first_syntax_error (_(get_reg_expected_msg (REG_TYPE_VN))); - goto failure; - } + goto failure; if (vectype.type !=3D NT_d || vectype.index !=3D 1) { set_fatal_syntax_error @@ -6361,10 +6531,7 @@ parse_operands (char *str, const aarch64_opcode *opc= ode) vector_reg_index: reg =3D aarch64_reg_parse (&str, reg_type, &vectype); if (!reg) - { - first_error (_(get_reg_expected_msg (reg_type))); - goto failure; - } + goto failure; if (vectype.type =3D=3D NT_invtype || !(vectype.defined & NTA_HASINDEX)) goto failure; =20 @@ -6392,10 +6559,7 @@ parse_operands (char *str, const aarch64_opcode *opc= ode) { reg =3D aarch64_reg_parse (&str, reg_type, &vectype); if (!reg) - { - first_error (_(get_reg_expected_msg (reg_type))); - goto failure; - } + goto failure; info->reglist.first_regno =3D reg->number; info->reglist.num_regs =3D 1; } diff --git a/gas/testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.l b/ga= s/testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.l index d31a0b0b27e..066123d4475 100644 --- a/gas/testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.l +++ b/gas/testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.l @@ -1,9 +1,9 @@ [^:]+: Assembler messages: -[^:]+:[0-9]+: Error: operand 1 must be a floating-point register -- `sha51= 2h X0,Q0,V1.2D' +[^:]+:[0-9]+: Error: expected a scalar SIMD or floating-point register at = operand 1 -- `sha512h X0,Q0,V1.2D' [^:]+:[0-9]+: Error: operand mismatch -- `sha512h Q0,Q1,V2.16B' [^:]+:[0-9]+: Info: did you mean this\? [^:]+:[0-9]+: Info: sha512h q0, q1, v2.2d -[^:]+:[0-9]+: Error: operand 1 must be a floating-point register -- `sha51= 2h2 X0,Q0,V1.2D' +[^:]+:[0-9]+: Error: expected a scalar SIMD or floating-point register at = operand 1 -- `sha512h2 X0,Q0,V1.2D' [^:]+:[0-9]+: Error: operand mismatch -- `sha512h2 Q0,Q1,V2.16B' [^:]+:[0-9]+: Info: did you mean this\? [^:]+:[0-9]+: Info: sha512h2 q0, q1, v2.2d @@ -11,7 +11,7 @@ [^:]+:[0-9]+: Info: did you mean this\? [^:]+:[0-9]+: Info: sha512su0 v1.2d, v2.2d [^:]+:[0-9]+: Error: invalid use of vector register at operand 1 -- `sha51= 2su0 V0,V2.2D' -[^:]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `sha512su= 1 X0,X1,X2' +[^:]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand = 1 -- `sha512su1 X0,X1,X2' [^:]+:[0-9]+: Error: operand mismatch -- `sha512su1 V1.2D,V2.16B,V2.2D' [^:]+:[0-9]+: Info: did you mean this\? [^:]+:[0-9]+: Info: sha512su1 v1.2d, v2.2d, v2.2d diff --git a/gas/testsuite/gas/aarch64/diagnostic.l b/gas/testsuite/gas/aar= ch64/diagnostic.l index 99359891c5f..52365319283 100644 --- a/gas/testsuite/gas/aarch64/diagnostic.l +++ b/gas/testsuite/gas/aarch64/diagnostic.l @@ -51,7 +51,7 @@ [^:]*:53: Error: invalid floating-point constant at operand 2 -- `fmov s3,= 1.01' [^:]*:54: Error: invalid floating-point constant at operand 2 -- `fmov d3,= 1.01' [^:]*:55: Error: immediate zero expected at operand 2 -- `fcmp d0,#1.0' -[^:]*:56: Error: operand 2 must be a floating-point register -- `fcmp d0,x= 0' +[^:]*:56: Error: expected a scalar SIMD or floating-point register at oper= and 2 -- `fcmp d0,x0' [^:]*:57: Error: immediate zero expected at operand 3 -- `cmgt v0.4s,v2.4s= ,#1' [^:]*:58: Error: unexpected characters following instruction at operand 2 = -- `fmov d3,1.00,lsl#3' [^:]*:59: Error: invalid offset register at operand 2 -- `st2 {v0.4s,v1.4s= },\[sp\],sp' @@ -59,7 +59,7 @@ [^:]*:61: Error: invalid shift for the register offset addressing mode at = operand 2 -- `ldr q0,\[x0,w0,lsr#4\]' [^:]*:62: Error: only 'LSL' shift is permitted at operand 3 -- `adds x1,sp= ,2134,uxtw#12' [^:]*:63: Error: shift amount out of range 0 to 63 at operand 2 -- `movz x= 0,2134,lsl#64' -[^:]*:64: Error: operand 1 must be an integer register -- `adds sp,sp,2134= ,lsl#12' +[^:]*:64: Error: expected an integer or zero register at operand 1 -- `add= s sp,sp,2134,lsl#12' [^:]*:65: Error: the optional immediate offset can only be 0 at operand 2 = -- `ldxrb w2,\[x0,#1\]' [^:]*:66: Error: invalid addressing mode at operand 2 -- `ldrb w0,x1,x2,sx= tx' [^:]*:67: Error: invalid shift amount at operand 2 -- `prfm PLDL3KEEP,\[x9= ,x15,sxtx#2\]' @@ -98,11 +98,11 @@ [^:]*:100: Error: operand 3 must be one of the standard conditions, exclud= ing AL and NV. -- `cinc w0,w1,nv' [^:]*:101: Error: operand 2 must be one of the standard conditions, exclud= ing AL and NV. -- `cset w0,al' [^:]*:102: Error: operand 2 must be one of the standard conditions, exclud= ing AL and NV. -- `cset w0,nv' -[^:]*:106: Error: operand 1 must be an integer register -- `ret kk' +[^:]*:106: Error: expected an integer or zero register at operand 1 -- `re= t kk' [^:]*:107: Error: immediate operand required at operand 1 -- `clrex x0' [^:]*:108: Error: immediate operand required at operand 1 -- `clrex w0' [^:]*:109: Error: constant expression required at operand 1 -- `clrex kk' -[^:]*:110: Error: operand 5 must be an integer register -- `sys #0,c0,c0,#= 0,kk' +[^:]*:110: Error: expected an integer or zero register at operand 5 -- `sy= s #0,c0,c0,#0,kk' [^:]*:111: Error: unexpected comma before the omitted optional operand at = operand 5 -- `sys #0,c0,c0,#0,' [^:]*:113: Error: selected processor does not support `casp w0,w1,w2,w3,\[= x4\]' [^:]*:116: Warning: unpredictable load of register pair -- `ldp x0,x0,\[sp= \]' @@ -186,3 +186,21 @@ [^:]*:317: Error: expected a base register at operand 2 -- `ldr x0,\[1\]' [^:]*:318: Error: expected a base register at operand 2 -- `ldr x0,\[\]' [^:]*:319: Error: expected a base register at operand 2 -- `ldr x0,\[,xzr\= ]' +[^:]*:321: Error: expected a vector or predicate register at operand 1 -- = `zip2 x1' +[^:]*:322: Error: expected an integer register or SVE vector register at o= perand 1 -- `uxtw d2' +[^:]*:323: Error: unexpected register type at operand 1 -- `usra x3' +[^:]*:324: Error: unexpected register type at operand 1 -- `ushr z4' +[^:]*:325: Error: expected an integer register or Advanced SIMD vector reg= ister at operand 1 -- `umull z5' +[^:]*:326: Error: expected an integer or vector register at operand 1 -- `= umin d6' +[^:]*:327: Error: unexpected register type at operand 1 -- `stur v7' +[^:]*:328: Error: expected an SVE vector or predicate register at operand = 1 -- `sel v8' +[^:]*:329: Error: expected an integer, vector or predicate register at ope= rand 1 -- `orn d9' +[^:]*:330: Error: unexpected register type at operand 1 -- `frecpx v10' +[^:]*:331: Error: expected an integer or predicate register at operand 1 -= - `bics z11' +[^:]*:332: Error: unexpected register type at operand 1 -- `rev wsp' +[^:]*:333: Error: unexpected register type at operand 1 -- `orr b12' +[^:]*:334: Error: unexpected register type at operand 1 -- `neg p13' +[^:]*:335: Error: unexpected register type at operand 1 -- `fcvtpu za14h' +[^:]*:336: Error: unexpected register type at operand 1 -- `fcmlt z15' +[^:]*:337: Error: unexpected register type at operand 1 -- `clastb sp' +[^:]*:338: Error: unexpected register type at operand 1 -- `ldr sp' diff --git a/gas/testsuite/gas/aarch64/diagnostic.s b/gas/testsuite/gas/aar= ch64/diagnostic.s index 014e0abe332..5f3c7791180 100644 --- a/gas/testsuite/gas/aarch64/diagnostic.s +++ b/gas/testsuite/gas/aarch64/diagnostic.s @@ -317,3 +317,22 @@ ldr x0, [1] ldr x0, [] ldr x0, [,xzr] + + zip2 x1 + uxtw d2 + usra x3 + ushr z4 + umull z5 + umin d6 + stur v7 + sel v8 + orn d9 + frecpx v10 + bics z11 + rev wsp + orr b12 + neg p13 + fcvtpu za14h + fcmlt z15 + clastb sp + ldr sp diff --git a/gas/testsuite/gas/aarch64/illegal-bfloat16.l b/gas/testsuite/g= as/aarch64/illegal-bfloat16.l index c20f132de38..e513c3cc64c 100644 --- a/gas/testsuite/gas/aarch64/illegal-bfloat16.l +++ b/gas/testsuite/gas/aarch64/illegal-bfloat16.l @@ -25,28 +25,28 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalt z0\.s,z0\.h,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalt z0\.s, z0\.h, z0\.h -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalt= z32\.s,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bfmlalt= z0\.s,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- = `bfmlalt z0\.s,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalt = z32\.s,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bfm= lalt z0\.s,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bfm= lalt z0\.s,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `bfmlalt z0\.s,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalt z0\.s,z0\.h,z0\.s\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalt z0\.s, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalt= z32\.s,z0\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bfmlalt= z0\.s,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalt = z32\.s,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bfm= lalt z0\.s,z32\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `bfmlalt z0\.s,z0\.h,= z8\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalb z0\.s,z0\.h,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalb z0\.s, z0\.h, z0\.h -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalb= z32\.s,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bfmlalb= z0\.s,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- = `bfmlalb z0\.s,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalb = z32\.s,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bfm= lalb z0\.s,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bfm= lalb z0\.s,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `bfmlalb z0\.s,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalb z0\.s,z0\.h,z0\.s\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalb z0\.s, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalb= z32\.s,z0\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bfmlalb= z0\.s,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalb = z32\.s,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bfm= lalb z0\.s,z32\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `bfmlalb z0\.s,z0\.h,= z8\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `bfdot v0\.2s,v1\.4h,v2\.2s\[3\]' [^ :]+:[0-9]+: Info: did you mean this\? @@ -61,18 +61,18 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalb v0\.4s,v0\.4h,v0\.8h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalb v0\.4s, v0\.8h, v0\.8h -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalb= v32\.4s,v0\.8h,v0\.8h' -[^ :]+:[0-9]+: Error: operand 2 must be a SIMD vector register -- `bfmlalb= v0\.4s,v32\.8h,v0\.8h' -[^ :]+:[0-9]+: Error: operand 3 must be a SIMD vector register -- `bfmlalb= v0\.4s,v0\.8h,v32\.8h' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalb = v32\.4s,v0\.8h,v0\.8h' +[^ :]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand= 2 -- `bfmlalb v0\.4s,v32\.8h,v0\.8h' +[^ :]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand= 3 -- `bfmlalb v0\.4s,v0\.8h,v32\.8h' [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalt v0\.4s,v0\.8h,v0\.4h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalt v0\.4s, v0\.8h, v0\.8h -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalt= v32\.4s,v0\.8h,v0\.8h' -[^ :]+:[0-9]+: Error: operand 2 must be a SIMD vector register -- `bfmlalt= v0\.4s,v32\.8h,v0\.8h' -[^ :]+:[0-9]+: Error: operand 3 must be a SIMD vector register -- `bfmlalt= v0\.4s,v0\.8h,v32\.8h' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalt = v32\.4s,v0\.8h,v0\.8h' +[^ :]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand= 2 -- `bfmlalt v0\.4s,v32\.8h,v0\.8h' +[^ :]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand= 3 -- `bfmlalt v0\.4s,v0\.8h,v32\.8h' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `bfmlalb v0\.4s,v0\.8h,v0\.h\[8\]' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalb= v32\.4s,v0\.8h,v0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be a SIMD vector register -- `bfmlalb= v0\.4s,v32\.8h,v0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalb = v32\.4s,v0\.8h,v0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand= 2 -- `bfmlalb v0\.4s,v32\.8h,v0\.h\[0\]' [^ :]+:[0-9]+: Error: register number out of range 0 to 15 at operand 3 --= `bfmlalb v0\.4s,v0\.8h,v16\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `bfmlalb v0\.4s,v0\.4h,v0\.h\[0\= ]' [^ :]+:[0-9]+: Info: did you mean this\? @@ -87,8 +87,8 @@ [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bfmlalt v0\.4s, v0\.8h, v0\.h\[0\] [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `bfmlalt v0\.4s,v0\.8h,v0\.h\[8\]' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bfmlalt= v32\.4s,v0\.8h,v0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be a SIMD vector register -- `bfmlalt= v0\.4s,v32\.8h,v0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bfmlalt = v32\.4s,v0\.8h,v0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an Advanced SIMD vector register at operand= 2 -- `bfmlalt v0\.4s,v32\.8h,v0\.h\[0\]' [^ :]+:[0-9]+: Error: register number out of range 0 to 15 at operand 3 --= `bfmlalt v0\.4s,v0\.8h,v16\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `bfcvt h0,h1' [^ :]+:[0-9]+: Info: did you mean this\? diff --git a/gas/testsuite/gas/aarch64/illegal-fjcvtzs.l b/gas/testsuite/ga= s/aarch64/illegal-fjcvtzs.l index 7a38ddca5a7..8431dc3b3a9 100644 --- a/gas/testsuite/gas/aarch64/illegal-fjcvtzs.l +++ b/gas/testsuite/gas/aarch64/illegal-fjcvtzs.l @@ -1,8 +1,8 @@ [^:]+: Assembler messages: -[^:]+:8: Error: operand 1 must be an integer register -- `fjcvtzs d0,d1' -[^:]+:9: Error: operand 1 must be an integer register -- `fjcvtzs s0,d1' +[^:]+:8: Error: expected an integer or zero register at operand 1 -- `fjcv= tzs d0,d1' +[^:]+:9: Error: expected an integer or zero register at operand 1 -- `fjcv= tzs s0,d1' [^:]+:10: Error: operand mismatch -- `fjcvtzs x0,d1' [^:]+:11: Error: operand mismatch -- `fjcvtzs w0,s1' [^:]+:12: Error: operand mismatch -- `fjcvtzs w0,h1' [^:]+:13: Error: operand mismatch -- `fjcvtzs w0,q1' -[^:]+:14: Error: operand 2 must be a floating-point register -- `fjcvtzs w= 0,x1' +[^:]+:14: Error: expected a scalar SIMD or floating-point register at oper= and 2 -- `fjcvtzs w0,x1' diff --git a/gas/testsuite/gas/aarch64/illegal-memtag.l b/gas/testsuite/gas= /aarch64/illegal-memtag.l index 7e48f0a71e9..476c345d366 100644 --- a/gas/testsuite/gas/aarch64/illegal-memtag.l +++ b/gas/testsuite/gas/aarch64/illegal-memtag.l @@ -18,38 +18,38 @@ [^:]*:[0-9]+: Error: invalid addressing mode at operand 2 -- `ldgm x4,\[x5= ,#16\]!' [^:]*:[0-9]+: Error: the optional immediate offset can only be 0 at operan= d 2 -- `stgm x2,\[x3,#16\]' [^:]*:[0-9]+: Error: invalid addressing mode at operand 2 -- `stgm x4,\[x5= ,#16\]!' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `irg xzr,x2,x3' -[^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer registe= r -- `irg x1,xzr,x3' -[^:]*:[0-9]+: Error: operand 3 must be an integer register -- `irg x1,x2,s= p' -[^:]*:[0-9]+: Error: operand 3 must be an integer register -- `gmi x1,x2,s= p' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `gmi sp,x2,x= 3' -[^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer registe= r -- `gmi x1,xzr,x3' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `addg xzr,x2,#0,#0' -[^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer registe= r -- `subg x1,xzr,#0,#0' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `subp sp,x1,= x2' -[^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer registe= r -- `subp x1,xzr,x2' -[^:]*:[0-9]+: Error: operand 3 must be an integer or stack pointer registe= r -- `subp x1,x2,xzr' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `subps sp,x1= ,x2' -[^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer registe= r -- `subps x1,xzr,x2' -[^:]*:[0-9]+: Error: operand 3 must be an integer or stack pointer registe= r -- `subps x1,x2,xzr' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `cmpp xzr,x2' -[^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer registe= r -- `cmpp x2,xzr' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `irg xzr,x2,x3' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 2 -- `irg x1,xzr,x3' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 3 -- = `irg x1,x2,sp' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 3 -- = `gmi x1,x2,sp' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `gmi sp,x2,x3' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 2 -- `gmi x1,xzr,x3' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `addg xzr,x2,#0,#0' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 2 -- `subg x1,xzr,#0,#0' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `subp sp,x1,x2' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 2 -- `subp x1,xzr,x2' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 3 -- `subp x1,x2,xzr' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `subps sp,x1,x2' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 2 -- `subps x1,xzr,x2' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 3 -- `subps x1,x2,xzr' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `cmpp xzr,x2' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 2 -- `cmpp x2,xzr' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `stg x2,\[xzr,#= 0\]' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `st2g x2,\[xzr,= #0\]!' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `stzg x2,\[xzr\= ],#0' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `stz2g x2,\[xzr= ,#0\]' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `stg xzr,\[x2,#0\]' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `st2g xzr,\[x2,#0\]!' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `stzg xzr,\[x2\],#0' -[^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer registe= r -- `stz2g xzr,\[x2,#0\]' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `stgp sp,x2,= \[x3\]' -[^:]*:[0-9]+: Error: operand 2 must be an integer register -- `stgp x1,sp,= \[x3\]' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `stg xzr,\[x2,#0\]' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `st2g xzr,\[x2,#0\]!' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `stzg xzr,\[x2\],#0' +[^:]*:[0-9]+: Error: expected an integer or stack pointer register at oper= and 1 -- `stz2g xzr,\[x2,#0\]' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `stgp sp,x2,\[x3\]' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 2 -- = `stgp x1,sp,\[x3\]' [^:]*:[0-9]+: Error: invalid base register at operand 3 -- `stgp x0,x0,\[x= zr\]' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `ldg sp,\[x0= ,#16\]' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `ldg sp,\[x0,#16\]' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `ldg x0,\[xzr,#= 16\]' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `stzgm x0,\[xzr= \]' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `stzgm sp,\[= x3\]' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `stzgm sp,\[x3\]' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `ldgm x0,\[xzr\= ]' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `ldgm sp,\[x= 3\]' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `ldgm sp,\[x3\]' [^:]*:[0-9]+: Error: invalid base register at operand 2 -- `stgm x0,\[xzr\= ]' -[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `stgm sp,\[x= 3\]' +[^:]*:[0-9]+: Error: expected an integer or zero register at operand 1 -- = `stgm sp,\[x3\]' diff --git a/gas/testsuite/gas/aarch64/illegal-sve2.l b/gas/testsuite/gas/a= arch64/illegal-sve2.l index 13df21b4a4e..d41f6f23ba5 100644 --- a/gas/testsuite/gas/aarch64/illegal-sve2.l +++ b/gas/testsuite/gas/aarch64/illegal-sve2.l @@ -8,35 +8,35 @@ [^ :]+:[0-9]+: Info: adclb z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: adclb z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `adclb z= 32\.d,z0\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `adclb z= 0\.d,z32\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `adclb z= 0\.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `adc= lb z32\.d,z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `adc= lb z0\.d,z32\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `adc= lb z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `adclt z0\.d,z0\.s,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: adclt z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: adclt z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `adclt z= 32\.s,z0\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `adclt z= 0\.s,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `adclt z= 0\.s,z0\.s,z32\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `adc= lt z32\.s,z0\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `adc= lt z0\.s,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `adc= lt z0\.s,z0\.s,z32\.s' [^ :]+:[0-9]+: Error: operand mismatch -- `addhnb z0\.b,z0\.h,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: addhnb z0\.b, z0\.h, z0\.h [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: addhnb z0\.h, z0\.s, z0\.s [^ :]+:[0-9]+: Info: addhnb z0\.s, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `addhnb = z32\.b,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `addhnb = z0\.b,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `addhnb = z0\.b,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `add= hnb z32\.b,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `add= hnb z0\.b,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `add= hnb z0\.b,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `addhnt z0\.b,z0\.h,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: addhnt z0\.b, z0\.h, z0\.h [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: addhnt z0\.h, z0\.s, z0\.s [^ :]+:[0-9]+: Info: addhnt z0\.s, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `addhnt = z32\.b,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `addhnt = z0\.b,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `addhnt = z0\.b,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `add= hnt z32\.b,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `add= hnt z0\.b,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `add= hnt z0\.b,z0\.h,z32\.h' [^ :]+:[0-9]+: Warning: register size not compatible with previous `movprf= x' at operand 1 -- `addp z0\.b,p0/m,z0\.b,z1\.b' [^ :]+:[0-9]+: Warning: predicate register differs from that in preceding = `movprfx' at operand 2 -- `addp z0\.d,p1/m,z0\.d,z1\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `addp z0\.b,p0/z,z0\.b,z0\.b' @@ -47,35 +47,35 @@ [^ :]+:[0-9]+: Info: addp z0\.s, p0/m, z0\.s, z0\.s [^ :]+:[0-9]+: Info: addp z0\.d, p0/m, z0\.d, z0\.d [^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- = `addp z0\.h,p0/m,z1\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD scalar register -- `addp z3= 2\.s,p0/m,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `addp z0= \.s,p0/m,z0\.s,z32\.s' +[^ :]+:[0-9]+: Error: expected a register at operand 1 -- `addp z32\.s,p0/= m,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `add= p z0\.s,p0/m,z0\.s,z32\.s' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `addp z0\.s,p8/m,z0\.= s,z0\.s' [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= aesd z0\.b,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `aesd z0\.b,z1\.b,z0\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aesd z0\.b,z0\.s,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aesd z0\.b, z0\.b, z0\.b -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `aesd z3= 2\.b,z0\.b,z0\.b' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `aesd z0= \.b,z0\.b,z32\.b' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aesd z32= \.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `aes= d z0\.b,z0\.b,z32\.b' [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= aese z0\.b,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `aese z0\.b,z1\.b,z0\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aese z0\.b,z0\.s,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aese z0\.b, z0\.b, z0\.b -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `aese z3= 2\.b,z0\.b,z0\.b' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `aese z0= \.b,z0\.b,z32\.b' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aese z32= \.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `aes= e z0\.b,z0\.b,z32\.b' [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= aesimc z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `aesimc z0\.b,z1\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aesimc z0\.b,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aesimc z0\.b, z0\.b -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `aesimc = z32\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aesimc z= 32\.b,z0\.b' [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= aesmc z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `aesmc z0\.b,z1\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aesmc z0\.b,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aesmc z0\.b, z0\.b -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `aesmc z= 32\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aesmc z3= 2\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `bcax z0\.d,z1\.d,z0\.d,z0\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bcax z0\.d,z0\.d,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? @@ -83,9 +83,9 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `bcax z0\.d,z0\.h,z0\.d,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bcax z0\.d, z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `bcax z3= 2\.d,z32\.d,z0\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bcax z0= \.d,z0\.d,z32\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `bcax z0= \.d,z0\.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bcax z32= \.d,z32\.d,z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bca= x z0\.d,z0\.d,z32\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `bca= x z0\.d,z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `bsl z0\.d,z1\.d,z0\.d,z0\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bsl z0\.d,z0\.d,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? @@ -93,9 +93,9 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `bsl z0\.d,z0\.h,z0\.d,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bsl z0\.d, z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bsl z32= \.d,z32\.d,z0\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bsl z0\= .d,z0\.d,z32\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `bsl z0\= .d,z0\.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `bsl z32\= .d,z32\.d,z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bsl= z0\.d,z0\.d,z32\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `bsl= z0\.d,z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `bsl1n z0\.d,z1\.d,z0\.d,z0\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bsl1n z0\.d,z0\.d,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? @@ -103,9 +103,9 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `bsl1n z0\.d,z0\.h,z0\.d,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bsl1n z0\.d, z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bsl1n z= 32\.d,z32\.d,z0\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bsl1n z= 0\.d,z0\.d,z32\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `bsl1n z= 0\.d,z0\.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `bsl= 1n z32\.d,z32\.d,z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bsl= 1n z0\.d,z0\.d,z32\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `bsl= 1n z0\.d,z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `bsl2n z0\.d,z1\.d,z0\.d,z0\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bsl2n z0\.d,z0\.d,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? @@ -113,9 +113,9 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `bsl2n z0\.d,z0\.h,z0\.d,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bsl2n z0\.d, z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bsl2n z= 32\.d,z32\.d,z0\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bsl2n z= 0\.d,z0\.d,z32\.d,z0\.d' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `bsl2n z= 0\.d,z0\.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `bsl= 2n z32\.d,z32\.d,z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bsl= 2n z0\.d,z0\.d,z32\.d,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `bsl= 2n z0\.d,z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bdep z0\.b,z0\.h,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bdep z0\.b, z0\.b, z0\.b @@ -123,9 +123,9 @@ [^ :]+:[0-9]+: Info: bdep z0\.h, z0\.h, z0\.h [^ :]+:[0-9]+: Info: bdep z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: bdep z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bdep z3= 2\.h,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bdep z0= \.s,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bdep z0= \.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `bde= p z32\.h,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bde= p z0\.s,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bde= p z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bext z0\.b,z0\.h,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bext z0\.b, z0\.b, z0\.b @@ -133,9 +133,9 @@ [^ :]+:[0-9]+: Info: bext z0\.h, z0\.h, z0\.h [^ :]+:[0-9]+: Info: bext z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: bext z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bext z3= 2\.h,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bext z0= \.s,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bext z0= \.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `bex= t z32\.h,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bex= t z0\.s,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bex= t z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `bgrp z0\.b,z0\.h,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: bgrp z0\.b, z0\.b, z0\.b @@ -143,9 +143,9 @@ [^ :]+:[0-9]+: Info: bgrp z0\.h, z0\.h, z0\.h [^ :]+:[0-9]+: Info: bgrp z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: bgrp z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `bgrp z3= 2\.h,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `bgrp z0= \.s,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `bgrp z0= \.d,z0\.d,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `bgr= p z32\.h,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `bgr= p z0\.s,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `bgr= p z0\.d,z0\.d,z32\.d' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- = `cadd z18\.b,z17\.b,z21\.b,#90' [^ :]+:[0-9]+: Error: rotate expected to be 90 or 270 at operand 4 -- `cad= d z0\.b,z0\.b,z0\.b,#91' [^ :]+:[0-9]+: Error: operand mismatch -- `cadd z0\.b,z0\.h,z0\.h,#90' @@ -160,19 +160,19 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `cdot z0\.s,z0\.d,z0\.b\[0\],#0' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: cdot z0\.d, z0\.h, z0\.h\[0\], #0 -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `cdot z3= 2\.s,z0\.b,z0\.b\[0\],#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `cdot z0= \.s,z32\.b,z0\.b\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `cdo= t z32\.s,z0\.b,z0\.b\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `cdo= t z0\.s,z32\.b,z0\.b\[0\],#0' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `cdot z0\.s,z0\.b,z8\= .b\[0\],#0' [^ :]+:[0-9]+: Error: rotate expected to be 0, 90, 180 or 270 at operand 4= -- `cdot z0\.d,z0\.h,z0\.h\[0\],#1' [^ :]+:[0-9]+: Error: operand mismatch -- `cdot z0\.d,z0\.d,z0\.h\[0\],#0' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: cdot z0\.d, z0\.h, z0\.h\[0\], #0 -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `cdot z3= 2\.d,z0\.h,z0\.h\[0\],#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `cdot z0= \.d,z32\.h,z0\.h\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `cdo= t z32\.d,z0\.h,z0\.h\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `cdo= t z0\.d,z32\.h,z0\.h\[0\],#0' [^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `cdot z0\.d,z0\.h,z1= 6\.h\[0\],#0' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `cdot z3= 2\.s,z0\.b,z0\.b,#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `cdot z0= \.s,z32\.b,z0\.b,#0' -[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- = `cdot z0\.s,z0\.b,z32\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `cdo= t z32\.s,z0\.b,z0\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `cdo= t z0\.s,z32\.b,z0\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `cdo= t z0\.s,z0\.b,z32\.b,#0' [^ :]+:[0-9]+: Error: operand mismatch -- `cdot z0\.s,z0\.b,z0\.s,#0' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: cdot z0\.s, z0\.b, z0\.b, #0 @@ -184,25 +184,25 @@ [^ :]+:[0-9]+: Info: cdot z0\.d, z0\.h, z0\.h, #0 [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: cdot z0\.s, z0\.b, z0\.b, #0 -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `cmla z3= 2\.h,z0\.h,z0\.h\[0\],#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `cmla z0= \.h,z32\.h,z0\.h\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `cml= a z32\.h,z0\.h,z0\.h\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `cml= a z0\.h,z32\.h,z0\.h\[0\],#0' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `cmla z0\.h,z0\.h,z8\= .h\[0\],#0' [^ :]+:[0-9]+: Error: operand mismatch -- `cmla z0\.h,z0\.h,z0\.d\[0\],#0' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: cmla z0\.h, z0\.h, z0\.h\[0\], #0 [^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operan= d 3 -- `cmla z0\.h,z0\.h,z0\.h\[4\],#0' [^ :]+:[0-9]+: Error: rotate expected to be 0, 90, 180 or 270 at operand 4= -- `cmla z0\.h,z0\.h,z0\.h\[0\],#1' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `cmla z3= 2\.s,z0\.s,z0\.s\[0\],#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `cmla z0= \.s,z32\.s,z0\.s\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `cml= a z32\.s,z0\.s,z0\.s\[0\],#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `cml= a z0\.s,z32\.s,z0\.s\[0\],#0' [^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `cmla z0\.s,z0\.s,z1= 6\.s\[0\],#0' [^ :]+:[0-9]+: Error: operand mismatch -- `cmla z0\.s,z0\.s,z0\.d\[0\],#0' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: cmla z0\.h, z0\.h, z0\.h\[0\], #0 [^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operan= d 3 -- `cmla z0\.s,z0\.s,z0\.s\[2\],#0' [^ :]+:[0-9]+: Error: rotate expected to be 0, 90, 180 or 270 at operand 4= -- `cmla z0\.s,z0\.s,z0\.s\[0\],#1' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `cmla z3= 2\.b,z0\.b,z0\.b,#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `cmla z0= \.b,z32\.b,z0\.b,#0' -[^ :]+:[0-9]+: Error: operand 3 must be an indexed SVE vector register -- = `cmla z0\.b,z0\.b,z32\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `cml= a z32\.b,z0\.b,z0\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `cml= a z0\.b,z32\.b,z0\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `cml= a z0\.b,z0\.b,z32\.b,#0' [^ :]+:[0-9]+: Error: operand mismatch -- `cmla z0\.b,z0\.b,z0\.h,#0' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: cmla z0\.b, z0\.b, z0\.b, #0 @@ -225,9 +225,9 @@ [^ :]+:[0-9]+: Info: eorbt z0\.h, z0\.h, z0\.h [^ :]+:[0-9]+: Info: eorbt z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: eorbt z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `eorbt z= 32\.h,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `eorbt z= 0\.s,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `eorbt z= 0\.s,z0\.s,z32\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `eor= bt z32\.h,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `eor= bt z0\.s,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `eor= bt z0\.s,z0\.s,z32\.s' [^ :]+:[0-9]+: Error: operand mismatch -- `eortb z0\.b,z0\.h,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: eortb z0\.b, z0\.b, z0\.b @@ -235,9 +235,9 @@ [^ :]+:[0-9]+: Info: eortb z0\.h, z0\.h, z0\.h [^ :]+:[0-9]+: Info: eortb z0\.s, z0\.s, z0\.s [^ :]+:[0-9]+: Info: eortb z0\.d, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `eortb z= 32\.h,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `eortb z= 0\.s,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `eortb z= 0\.s,z0\.s,z32\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `eor= tb z32\.h,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `eor= tb z0\.s,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `eor= tb z0\.s,z0\.s,z32\.s' [^ :]+:[0-9]+: Error: syntax error in register list at operand 2 -- `ext z= 0\.b,{,},#0' [^ :]+:[0-9]+: Error: invalid register list at operand 2 -- `ext z0\.b,{z0= \.b,z2\.b},#0' [^ :]+:[0-9]+: Error: operand mismatch -- `ext z0\.h,{z0\.b,z1\.b},#0' @@ -250,16 +250,16 @@ [^ :]+:[0-9]+: Info: ext z0\.b, {z0\.b, z1\.b}, #0 [^ :]+:[0-9]+: Error: invalid register list at operand 2 -- `ext z0\.b,{z0= \.b,z1\.b,z2\.b},#0' [^ :]+:[0-9]+: Error: invalid register list at operand 2 -- `ext z0\.b,{z0= \.b},#0' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `ext z0\= .b,z0\.b,#0' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `ext= z0\.b,z0\.b,#0' [^ :]+:[0-9]+: Error: invalid register list at operand 2 -- `ext z0\.b,{z3= 1\.b,z1\.b},#0' [^ :]+:[0-9]+: Error: invalid register list at operand 2 -- `ext z0\.b,{z0= \.b,z31\.b},#0' [^ :]+:[0-9]+: Error: immediate value out of range 0 to 255 at operand 3 -= - `ext z0\.b,{z0\.b,z1\.b},#256' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `ext z32= \.b,{z0\.b,z1\.b},#0' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `ext z32\= .b,{z0\.b,z1\.b},#0' [^ :]+:[0-9]+: Error: operand 2 must be a list of SVE vector registers -- = `ext z0\.b,{z31\.b,z32\.b},#0' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `ext z0\= .b,{z32\.b,z33\.b},#0' -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `faddp z= 32\.h,p0/m,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `ext= z0\.b,{z32\.b,z33\.b},#0' +[^ :]+:[0-9]+: Error: expected a register at operand 1 -- `faddp z32\.h,p0= /m,z32\.h,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `faddp z0\.h,p8/m,z0\= .h,z0\.h' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `faddp z= 0\.h,p0/m,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `fad= dp z0\.h,p0/m,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- = `faddp z0\.h,p0/m,z1\.h,z0\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `faddp z0\.h,p0/z,z0\.h,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? @@ -274,18 +274,18 @@ [^ :]+:[0-9]+: Info: faddp z0\.s, p0/m, z0\.s, z0\.s [^ :]+:[0-9]+: Info: faddp z0\.d, p0/m, z0\.d, z0\.d [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= fcvtlt z0\.s,p0/m,z0\.h' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fcvtlt = z32\.s,p0/m,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fcv= tlt z32\.s,p0/m,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fcvtlt z0\.s,p8/m,z0= \.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fcvtlt = z0\.s,p0/m,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fcv= tlt z0\.s,p0/m,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtlt z0\.s,p0/m,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtlt z0\.d, p0/m, z0\.s [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtlt z0\.s,p0/z,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtlt z0\.d, p0/m, z0\.s -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fcvtlt = z32\.d,p0/m,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fcv= tlt z32\.d,p0/m,z0\.s' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fcvtlt z0\.d,p8/m,z0= \.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fcvtlt = z0\.d,p0/m,z32\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fcv= tlt z0\.d,p0/m,z32\.s' [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtlt z0\.d,p0/m,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtlt z0\.d, p0/m, z0\.s @@ -293,27 +293,27 @@ [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtlt z0\.d, p0/m, z0\.s [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= fcvtnt z0\.h,p0/m,z0\.s' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fcvtnt = z32\.h,p0/m,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fcv= tnt z32\.h,p0/m,z0\.s' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fcvtnt z0\.h,p8/m,z0= \.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fcvtnt = z0\.h,p0/m,z32\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fcv= tnt z0\.h,p0/m,z32\.s' [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtnt z0\.h,p0/m,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtnt z0\.s, p0/m, z0\.d [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtnt z0\.h,p0/z,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtnt z0\.s, p0/m, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fcvtnt = z32\.s,p0/m,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fcv= tnt z32\.s,p0/m,z0\.d' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fcvtnt z0\.s,p8/m,z0= \.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fcvtnt = z0\.s,p0/m,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fcv= tnt z0\.s,p0/m,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtnt z0\.s,p0/m,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtnt z0\.s, p0/m, z0\.d [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtnt z0\.s,p0/z,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtnt z0\.s, p0/m, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fcvtx z= 32\.s,p0/m,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fcv= tx z32\.s,p0/m,z0\.d' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fcvtx z0\.s,p8/m,z0\= .d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fcvtx z= 0\.s,p0/m,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fcv= tx z0\.s,p0/m,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtx z0\.s,p0/m,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtx z0\.s, p0/m, z0\.d @@ -322,9 +322,9 @@ [^ :]+:[0-9]+: Info: fcvtx z0\.s, p0/m, z0\.d [^ :]+:[0-9]+: Warning: register size not compatible with previous `movprf= x' at operand 1 -- `fcvtx z0\.s,p0/m,z2\.d' [^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `= fcvtxnt z0\.s,p0/m,z0\.d' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fcvtxnt= z32\.s,p0/m,z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fcv= txnt z32\.s,p0/m,z0\.d' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fcvtxnt z0\.s,p8/m,z= 0\.d' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fcvtxnt= z0\.s,p0/m,z32\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fcv= txnt z0\.s,p0/m,z32\.d' [^ :]+:[0-9]+: Error: operand mismatch -- `fcvtxnt z0\.s,p0/m,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fcvtxnt z0\.s, p0/m, z0\.d @@ -349,9 +349,9 @@ [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: flogb z0\.s, p0/m, z0\.s [^ :]+:[0-9]+: Info: flogb z0\.d, p0/m, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `flogb z= 32\.h,p0/m,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `flo= gb z32\.h,p0/m,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `flogb z0\.h,p8/m,z0\= .h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `flogb z= 0\.h,p0/m,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `flo= gb z0\.h,p0/m,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fmaxnmp z0\.b,p0/m,z0\.h,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmaxnmp z0\.h, p0/m, z0\.h, z0\.h @@ -365,9 +365,9 @@ [^ :]+:[0-9]+: Info: fmaxnmp z0\.s, p0/m, z0\.s, z0\.s [^ :]+:[0-9]+: Info: fmaxnmp z0\.d, p0/m, z0\.d, z0\.d [^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- = `fmaxnmp z1\.h,p0/m,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `fmaxnmp= z32\.h,p0/m,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected a register at operand 1 -- `fmaxnmp z32\.h,= p0/m,z32\.h,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fmaxnmp z0\.h,p8/m,z= 0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `fmaxnmp= z0\.h,p0/m,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `fma= xnmp z0\.h,p0/m,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fmaxp z0\.b,p0/m,z0\.h,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmaxp z0\.h, p0/m, z0\.h, z0\.h @@ -381,9 +381,9 @@ [^ :]+:[0-9]+: Info: fmaxp z0\.s, p0/m, z0\.s, z0\.s [^ :]+:[0-9]+: Info: fmaxp z0\.d, p0/m, z0\.d, z0\.d [^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- = `fmaxp z1\.h,p0/m,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `fmaxp z= 32\.h,p0/m,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected a register at operand 1 -- `fmaxp z32\.h,p0= /m,z32\.h,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fmaxp z0\.h,p8/m,z0\= .h,z0\.h' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `fmaxp z= 0\.h,p0/m,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `fma= xp z0\.h,p0/m,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fminnmp z0\.b,p0/m,z0\.h,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fminnmp z0\.h, p0/m, z0\.h, z0\.h @@ -397,9 +397,9 @@ [^ :]+:[0-9]+: Info: fminnmp z0\.s, p0/m, z0\.s, z0\.s [^ :]+:[0-9]+: Info: fminnmp z0\.d, p0/m, z0\.d, z0\.d [^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- = `fminnmp z1\.h,p0/m,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `fminnmp= z32\.h,p0/m,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected a register at operand 1 -- `fminnmp z32\.h,= p0/m,z32\.h,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fminnmp z0\.h,p8/m,z= 0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `fminnmp= z0\.h,p0/m,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `fmi= nnmp z0\.h,p0/m,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fminp z0\.b,p0/m,z0\.h,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fminp z0\.h, p0/m, z0\.h, z0\.h @@ -413,65 +413,65 @@ [^ :]+:[0-9]+: Info: fminp z0\.s, p0/m, z0\.s, z0\.s [^ :]+:[0-9]+: Info: fminp z0\.d, p0/m, z0\.d, z0\.d [^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- = `fminp z1\.h,p0/m,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `fminp z= 32\.h,p0/m,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected a register at operand 1 -- `fminp z32\.h,p0= /m,z32\.h,z0\.h' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `fminp z0\.h,p8/m,z0\= .h,z0\.h' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `fminp z= 0\.h,p0/m,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `fmi= np z0\.h,p0/m,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `fmlalb z0\.s,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `fmlalb z0\.s,z0\.h,z= 8\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlalb = z0\.s,z32\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlalb = z32\.s,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= alb z0\.s,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= alb z32\.s,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlalb z0\.h,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlalb z0\.s, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlalb = z32\.s,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlalb = z0\.s,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fmlalb = z0\.s,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= alb z32\.s,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= alb z0\.s,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fml= alb z0\.s,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlalb z0\.s,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlalb z0\.s, z0\.h, z0\.h [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `fmlalt z0\.s,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `fmlalt z0\.s,z0\.h,z= 8\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlalt = z0\.s,z32\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlalt = z32\.s,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= alt z0\.s,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= alt z32\.s,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlalt z0\.h,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlalt z0\.s, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlalt = z32\.s,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlalt = z0\.s,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fmlalt = z0\.s,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= alt z32\.s,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= alt z0\.s,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fml= alt z0\.s,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlalt z0\.s,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlalt z0\.s, z0\.h, z0\.h [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `fmlslb z0\.s,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `fmlslb z0\.s,z0\.h,z= 8\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlslb = z0\.s,z32\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlslb = z32\.s,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= slb z0\.s,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= slb z32\.s,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlslb z0\.h,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlslb z0\.s, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlslb = z32\.s,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlslb = z0\.s,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fmlslb = z0\.s,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= slb z32\.s,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= slb z0\.s,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fml= slb z0\.s,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlslb z0\.s,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlslb z0\.s, z0\.h, z0\.h [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `fmlslt z0\.s,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `fmlslt z0\.s,z0\.h,z= 8\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlslt = z0\.s,z32\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlslt = z32\.s,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= slt z0\.s,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= slt z32\.s,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlslt z0\.h,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlslt z0\.s, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `fmlslt = z32\.s,z0\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `fmlslt = z0\.s,z32\.h,z0\.h' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `fmlslt = z0\.s,z0\.h,z32\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `fml= slt z32\.s,z0\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `fml= slt z0\.s,z32\.h,z0\.h' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `fml= slt z0\.s,z0\.h,z32\.h' [^ :]+:[0-9]+: Error: operand mismatch -- `fmlslt z0\.s,z0\.h,z0\.d' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: fmlslt z0\.s, z0\.h, z0\.h -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `histcnt= z32\.s,p0/z,z0\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `his= tcnt z32\.s,p0/z,z0\.s,z0\.s' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `histcnt z0\.s,p8/z,z= 0\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `histcnt= z0\.s,p0/z,z32\.s,z0\.s' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `histcnt= z0\.s,p0/z,z0\.s,z32\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `his= tcnt z0\.s,p0/z,z32\.s,z0\.s' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `his= tcnt z0\.s,p0/z,z0\.s,z32\.s' [^ :]+:[0-9]+: Error: operand mismatch -- `histcnt z0\.s,p0/m,z0\.s,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: histcnt z0\.s, p0/z, z0\.s, z0\.s @@ -482,9 +482,9 @@ [^ :]+:[0-9]+: Info: histcnt z0\.s, p0/z, z0\.s, z0\.s [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: histcnt z0\.d, p0/z, z0\.d, z0\.d -[^ :]+:[0-9]+: Error: operand 1 must be an SVE vector register -- `histseg= z32\.b,z0\.b,z0\.b' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `histseg= z0\.b,z32\.b,z0\.b' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `histseg= z0\.b,z0\.b,z32\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `his= tseg z32\.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `his= tseg z0\.b,z32\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `his= tseg z0\.b,z0\.b,z32\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `histseg z0\.b,z0\.b,z0\.h' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: histseg z0\.b, z0\.b, z0\.b @@ -492,7 +492,7 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `ldnt1b {z0\.d},p0/m,\[z0\.d\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1b {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1b {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1b {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1b {z0\.d},p8/z,= \[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1b {z0\.d= },p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1b {z0\= .d},p0/z,\[z0\.d,sp\]' @@ -509,7 +509,7 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `ldnt1b {z0\.s},p0/m,\[z0\.s\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1b {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1b {z32\.s},p0/z,\[z0\.s\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1b {z32\.s},p0/z,\[z0\.s\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1b {z0\.s},p8/z,= \[z0\.s\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1b {z0\.s= },p0/z,\[z32\.s\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1b {z0\= .s},p0/z,\[z0\.s,sp\]' @@ -519,7 +519,7 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `ldnt1d {z0\.d},p0/m,\[z0\.d\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1d {z0\.d}, p0/z, \[z0\.d, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1d {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1d {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1d {z0\.d},p8/z,= \[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1d {z0\.d= },p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1d {z0\= .d},p0/z,\[z0\.d,sp\]' @@ -539,7 +539,7 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `ldnt1h {z0\.d},p0/m,\[z0\.d\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1h {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1h {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1h {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1h {z0\.d},p8/z,= \[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1h {z0\.d= },p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1h {z0\= .d},p0/z,\[z0\.d,sp\]' @@ -550,7 +550,7 @@ [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1h {z0\.s}, p0/z, \[z0\.s, xzr\] [^ :]+:[0-9]+: Error: type mismatch in vector register list at operand 1 -= - `ldnt1h {z0\.s,z1\.d},p0/z,\[z0\.s,x0\]' -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1h {z32\.s},p0/z,\[z0\.s\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1h {z32\.s},p0/z,\[z0\.s\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1h {z0\.s},p8/z,= \[z0\.s\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1h {z0\.s= },p0/z,\[z32\.s\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1h {z0\= .s},p0/z,\[z0\.s,sp\]' @@ -562,7 +562,7 @@ [^ :]+:[0-9]+: Info: ldnt1sb {z0\.d}, p0/z, \[z0\.d, xzr\] [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: ldnt1sb {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1sb {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1sb {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1sb {z0\.d},p8/z= ,\[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1sb {z0\.= d},p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1sb {z0= \.d},p0/z,\[z0\.d,sp\]' @@ -575,7 +575,7 @@ [^ :]+:[0-9]+: Info: ldnt1sh {z0\.d}, p0/z, \[z0\.d, xzr\] [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: ldnt1sh {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1sh {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1sh {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1sh {z0\.d},p8/z= ,\[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1sh {z0\.= d},p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1sh {z0= \.d},p0/z,\[z0\.d,sp\]' @@ -588,7 +588,7 @@ [^ :]+:[0-9]+: Info: ldnt1sh {z0\.d}, p0/z, \[z0\.d, xzr\] [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: ldnt1sh {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1sh {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1sh {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1sh {z0\.d},p8/z= ,\[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1sh {z0\.= d},p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1sh {z0= \.d},p0/z,\[z0\.d,sp\]' @@ -599,7 +599,7 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `ldnt1w {z0\.d},p0/m,\[z0\.d\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1w {z0\.s}, p0/z, \[z0\.s, xzr\] -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1w {z32\.d},p0/z,\[z0\.d\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1w {z32\.d},p0/z,\[z0\.d\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1w {z0\.d},p8/z,= \[z0\.d\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1w {z0\.d= },p0/z,\[z32\.d\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1w {z0\= .d},p0/z,\[z0\.d,sp\]' @@ -610,7 +610,7 @@ [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: ldnt1w {z0\.s}, p0/z, \[z0\.s, xzr\] [^ :]+:[0-9]+: Error: type mismatch in vector register list at operand 1 -= - `ldnt1w {z0\.s,z1\.d},p0/z,\[z0\.s,x0\]' -[^ :]+:[0-9]+: Error: operand 1 must be a list of SVE vector registers -- = `ldnt1w {z32\.s},p0/z,\[z0\.s\]' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `ldn= t1w {z32\.s},p0/z,\[z0\.s\]' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `ldnt1w {z0\.s},p8/z,= \[z0\.s\]' [^ :]+:[0-9]+: Error: invalid base register at operand 3 -- `ldnt1w {z0\.s= },p0/z,\[z32\.s\]' [^ :]+:[0-9]+: Error: invalid offset register at operand 3 -- `ldnt1w {z0\= .s},p0/z,\[z0\.s,sp\]' @@ -621,10 +621,10 @@ [^ :]+:[0-9]+: Info: match p0\.b, p0/z, z0\.b, z0\.b [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: match p0\.h, p0/z, z0\.h, z0\.h -[^ :]+:[0-9]+: Error: operand 1 must be an SVE predicate register -- `matc= h p16\.b,p0/z,z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `= match p16\.b,p0/z,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `match p0\.b,p8/z,z0\= .b,z0\.b' -[^ :]+:[0-9]+: Error: operand 3 must be an SVE vector register -- `match p= 0\.b,p0/z,z32\.b,z0\.b' -[^ :]+:[0-9]+: Error: operand 4 must be an SVE vector register -- `match p= 0\.b,p0/z,z0\.b,z32\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `mat= ch p0\.b,p0/z,z32\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `mat= ch p0\.b,p0/z,z0\.b,z32\.b' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `mla z0\.h,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mla z0\.s,z0\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? @@ -632,8 +632,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mla z0\.h,z0\.h,z0\.s\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mla z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mla z32= \.h,z0\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE predicate register -- `mla = z0\.h,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `mla z32\= .h,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mla z0\.h,z32\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `mla z0\.h,z0\.h,z8\.= h\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operan= d 3 -- `mla z0\.s,z0\.s,z0\.s\[4\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mla z0\.h,z0\.s,z0\.s\[0\]' @@ -642,8 +642,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mla z0\.s,z0\.s,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mla z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mla z32= \.s,z0\.s,z0\.s\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE predicate register -- `mla = z0\.s,z32\.s,z0\.s\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `mla z32\= .s,z0\.s,z0\.s\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mla z0\.s,z32\.s,z0\.s\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `mla z0\.s,z0\.s,z8\.= s\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operan= d 3 -- `mla z0\.d,z0\.d,z0\.d\[2\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mla z0\.h,z0\.d,z0\.d\[0\]' @@ -652,8 +652,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mla z0\.d,z0\.d,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mla z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mla z32= \.d,z0\.d,z0\.d\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE predicate register -- `mla = z0\.d,z32\.d,z0\.d\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `mla z32\= .d,z0\.d,z0\.d\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mla z0\.d,z32\.d,z0\.d\[0\]' [^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `mla z0\.d,z0\.d,z16= \.d\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `mls z0\.h,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mls z0\.s,z0\.h,z0\.h\[0\]' @@ -662,8 +662,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mls z0\.h,z0\.h,z0\.s\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mls z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mls z32= \.h,z0\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE predicate register -- `mls = z0\.h,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `mls z32\= .h,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mls z0\.h,z32\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `mls z0\.h,z0\.h,z8\.= h\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operan= d 3 -- `mls z0\.s,z0\.s,z0\.s\[4\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mls z0\.h,z0\.s,z0\.s\[0\]' @@ -672,8 +672,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mls z0\.s,z0\.s,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mls z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mls z32= \.s,z0\.s,z0\.s\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE predicate register -- `mls = z0\.s,z32\.s,z0\.s\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `mls z32\= .s,z0\.s,z0\.s\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mls z0\.s,z32\.s,z0\.s\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `mls z0\.s,z0\.s,z8\.= s\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operan= d 3 -- `mls z0\.d,z0\.d,z0\.d\[2\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mls z0\.h,z0\.d,z0\.d\[0\]' @@ -682,8 +682,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mls z0\.d,z0\.d,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mls z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mls z32= \.d,z0\.d,z0\.d\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE predicate register -- `mls = z0\.d,z32\.d,z0\.d\[0\]' +[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `mls z32\= .d,z0\.d,z0\.d\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mls z0\.d,z32\.d,z0\.d\[0\]' [^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `mls z0\.d,z0\.d,z16= \.d\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 7 at operan= d 3 -- `mul z0\.h,z0\.h,z0\.h\[8\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mul z0\.s,z0\.h,z0\.h\[0\]' @@ -692,8 +692,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mul z0\.h,z0\.h,z0\.s\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mul z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mul z32= \.h,z0\.h,z0\.h\[0\]' -[^ :]+:[0-9]+: Error: operand 2 must be an SVE vector register -- `mul z0\= .h,z32\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an integer or vector register at operand 1 = -- `mul z32\.h,z0\.h,z0\.h\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE vector or predicate register at oper= and 2 -- `mul z0\.h,z32\.h,z0\.h\[0\]' [^ :]+:[0-9]+: Error: z0-z7 expected at operand 3 -- `mul z0\.h,z0\.h,z8\.= h\[0\]' [^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operan= d 3 -- `mul z0\.s,z0\.s,z0\.s\[4\]' [^ :]+:[0-9]+: Error: operand mismatch -- `mul z0\.h,z0\.s,z0\.s\[0\]' @@ -702,8 +702,8 @@ [^ :]+:[0-9]+: Error: operand mismatch -- `mul z0\.s,z0\.s,z0\.h\[0\]' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: mul z0\.h, z0\.h, z0\.h\[0\] -[^ :]+:[0-9]+: Error: operand 1 must be a SIMD vector register -- `mul z32= \.s,z0\.s,z0\.s\[0\]' -[^ [...] [diff truncated at 100000 bytes]