diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2023-03-30 11:09:12 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2023-03-30 11:09:12 +0100 |
commit | 99e01a66b4c619fb8c7d6f978038eb7a3661c160 (patch) | |
tree | 7493699028bd43202975111c09e89213f1dd8df7 /gas | |
parent | b408ebbf526e7293f08825d04b34c7d2ad7fc753 (diff) | |
download | binutils-99e01a66b4c619fb8c7d6f978038eb7a3661c160.zip binutils-99e01a66b4c619fb8c7d6f978038eb7a3661c160.tar.gz binutils-99e01a66b4c619fb8c7d6f978038eb7a3661c160.tar.bz2 |
aarch64: Add the SME2 predicate-related instructions
Implementation-wise, the main things to note here are:
- the WHILE* instructions have forms that return a pair of predicate
registers. This is the first time that we've had lists of predicate
registers, and they wrap around after register 15 rather than after
register 31.
- the predicate-as-counter WHILE* instructions have a fourth operand
that specifies the vector length. We can treat this as an enumeration,
except that immediate values aren't allowed.
- PEXT takes an unsuffixed predicate index of the form PN<n>[<imm>].
This is the first instance of a vector/predicate index having
no suffix.
Diffstat (limited to 'gas')
26 files changed, 2680 insertions, 24 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index a61ad5d..a433925 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -474,6 +474,8 @@ get_reg_expected_msg (unsigned int mask, unsigned int seen) PN is expected, and vice versa, so the issue at this point is "predicate-like" vs. "not predicate-like". */ return N_("expected an SVE predicate register at operand %d"); + if (mask == reg_type_masks[REG_TYPE_PN]) + return N_("expected an SVE predicate-as-counter register at operand %d"); if (mask == reg_type_masks[REG_TYPE_VZ]) return N_("expected a vector register at operand %d"); if (mask == reg_type_masks[REG_TYPE_ZP]) @@ -1277,7 +1279,7 @@ parse_typed_reg (char **ccp, aarch64_reg_type type, if (!(flags & PTR_FULL_REG) && skip_past_char (&str, '[')) { /* Reject Sn[index] syntax. */ - if (!is_typed_vecreg) + if (reg->type != REG_TYPE_PN && !is_typed_vecreg) { first_error (_("this type of register can't be indexed")); return NULL; @@ -1344,6 +1346,14 @@ eq_vector_type_el (struct vector_type_el e1, struct vector_type_el e2) && e1.index == e2.index); } +/* Return the register number mask for registers of type REG_TYPE. */ + +static inline int +reg_type_mask (aarch64_reg_type reg_type) +{ + return reg_type == REG_TYPE_P ? 15 : 31; +} + /* This function parses a list of vector registers of type TYPE. On success, it returns the parsed register list information in the following encoded format: @@ -1372,7 +1382,7 @@ parse_vector_reg_list (char **ccp, aarch64_reg_type type, char *str = *ccp; int nb_regs; struct vector_type_el typeinfo, typeinfo_first; - int val, val_range; + int val, val_range, mask; int in_range; int ret_val; bool error = false; @@ -1396,6 +1406,7 @@ parse_vector_reg_list (char **ccp, aarch64_reg_type type, val = -1; val_range = -1; in_range = 0; + mask = reg_type_mask (type); do { if (in_range) @@ -1431,7 +1442,7 @@ parse_vector_reg_list (char **ccp, aarch64_reg_type type, (_("invalid range in vector register list")); error = true; } - val_range = (val_range + 1) & 0x1f; + val_range = (val_range + 1) & mask; } else { @@ -1452,7 +1463,7 @@ parse_vector_reg_list (char **ccp, aarch64_reg_type type, nb_regs++; if (val_range == val) break; - val_range = (val_range + 1) & 0x1f; + val_range = (val_range + 1) & mask; } in_range = 0; ptr_flags |= PTR_GOOD_MATCH; @@ -4316,8 +4327,10 @@ parse_adrp (char **str) /* Parse a symbolic operand such as "pow2" at *STR. ARRAY is an array of SIZE tokens in which index I gives the token for field value I, - or is null if field value I is invalid. REG_TYPE says which register - names should be treated as registers rather than as symbolic immediates. + or is null if field value I is invalid. If the symbolic operand + can also be given as a 0-based integer, REG_TYPE says which register + names should be treated as registers rather than as symbolic immediates + while parsing that integer. REG_TYPE is REG_TYPE_MAX otherwise. Return true on success, moving *STR past the operand and storing the field value in *VAL. */ @@ -4345,6 +4358,9 @@ parse_enum_string (char **str, int64_t *val, const char *const *array, return true; } + if (reg_type == REG_TYPE_MAX) + return false; + if (!parse_immediate_expression (&p, &exp, reg_type)) return false; @@ -4971,6 +4987,12 @@ parse_sys_ins_reg (char **str, htab_t sys_ins_regs) goto failure; \ } while (0) +#define po_strict_enum_or_fail(array) do { \ + if (!parse_enum_string (&str, &val, array, \ + ARRAY_SIZE (array), REG_TYPE_MAX)) \ + goto failure; \ + } while (0) + #define po_misc_or_fail(expr) do { \ if (!expr) \ goto failure; \ @@ -6445,16 +6467,18 @@ ldst_lo12_determine_real_reloc_type (void) return reloc_ldst_lo12[inst.reloc.type - BFD_RELOC_AARCH64_LDST_LO12][logsz]; } -/* Check whether a register list REGINFO is valid. The registers must be - numbered in increasing order (modulo 32). They must also have a - consistent stride. +/* Check whether a register list REGINFO is valid. The registers have type + REG_TYPE and must be numbered in increasing order (modulo the register + bank size). They must have a consistent stride. Return true if the list is valid, describing it in LIST if so. */ static bool -reg_list_valid_p (uint32_t reginfo, struct aarch64_reglist *list) +reg_list_valid_p (uint32_t reginfo, struct aarch64_reglist *list, + aarch64_reg_type reg_type) { - uint32_t i, nb_regs, prev_regno, incr; + uint32_t i, nb_regs, prev_regno, incr, mask; + mask = reg_type_mask (reg_type); nb_regs = 1 + (reginfo & 0x3); reginfo >>= 2; @@ -6469,7 +6493,7 @@ reg_list_valid_p (uint32_t reginfo, struct aarch64_reglist *list) uint32_t curr_regno, curr_incr; reginfo >>= 5; curr_regno = reginfo & 0x1f; - curr_incr = (curr_regno - prev_regno) & 0x1f; + curr_incr = (curr_regno - prev_regno) & mask; if (curr_incr == 0) return false; else if (i == 1) @@ -6638,7 +6662,9 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_SVE_PNg4_10: case AARCH64_OPND_SVE_PNn: case AARCH64_OPND_SVE_PNt: + case AARCH64_OPND_SME_PNd3: case AARCH64_OPND_SME_PNg3: + case AARCH64_OPND_SME_PNn: reg_type = REG_TYPE_PN; goto vector_reg; @@ -6723,6 +6749,8 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_SVE_ZtxN: case AARCH64_OPND_SME_Zdnx2: case AARCH64_OPND_SME_Zdnx4: + case AARCH64_OPND_SME_Zmx2: + case AARCH64_OPND_SME_Zmx4: case AARCH64_OPND_SME_Znx2: case AARCH64_OPND_SME_Znx4: case AARCH64_OPND_SME_Ztx2_STRIDED: @@ -6730,6 +6758,11 @@ parse_operands (char *str, const aarch64_opcode *opcode) reg_type = REG_TYPE_Z; goto vector_reg_list; + case AARCH64_OPND_SME_Pdx2: + case AARCH64_OPND_SME_PdxN: + reg_type = REG_TYPE_P; + goto vector_reg_list; + case AARCH64_OPND_LVn: case AARCH64_OPND_LVt: case AARCH64_OPND_LVt_AL: @@ -6753,7 +6786,7 @@ parse_operands (char *str, const aarch64_opcode *opcode) if (val == PARSE_FAIL) goto failure; - if (! reg_list_valid_p (val, &info->reglist)) + if (! reg_list_valid_p (val, &info->reglist, reg_type)) { set_fatal_syntax_error (_("invalid register list")); goto failure; @@ -6779,7 +6812,7 @@ parse_operands (char *str, const aarch64_opcode *opcode) goto failure; if (!(vectype.defined & NTA_HASTYPE)) { - if (reg_type == REG_TYPE_Z) + if (reg_type == REG_TYPE_Z || reg_type == REG_TYPE_P) set_fatal_syntax_error (_("missing type suffix")); goto failure; } @@ -7707,6 +7740,24 @@ parse_operands (char *str, const aarch64_opcode *opcode) goto failure; break; + case AARCH64_OPND_SME_PNn3_INDEX1: + case AARCH64_OPND_SME_PNn3_INDEX2: + reg = aarch64_reg_parse (&str, REG_TYPE_PN, &vectype); + if (!reg) + goto failure; + if (!(vectype.defined & NTA_HASINDEX)) + { + set_syntax_error (_("missing register index")); + goto failure; + } + info->reglane.regno = reg->number; + info->reglane.index = vectype.index; + if (vectype.type == NT_invtype) + info->qualifier = AARCH64_OPND_QLF_NIL; + else + info->qualifier = vectype_to_qualifier (&vectype); + break; + case AARCH64_OPND_BTI_TARGET: val = parse_bti_operand (&str, &(info->hint_option)); if (val == PARSE_FAIL) @@ -7753,6 +7804,12 @@ parse_operands (char *str, const aarch64_opcode *opcode) info->qualifier = qualifier; break; + case AARCH64_OPND_SME_VLxN_10: + case AARCH64_OPND_SME_VLxN_13: + po_strict_enum_or_fail (aarch64_sme_vlxn_array); + info->imm.value = val; + break; + case AARCH64_OPND_MOPS_ADDR_Rd: case AARCH64_OPND_MOPS_ADDR_Rs: po_char_or_fail ('['); diff --git a/gas/testsuite/gas/aarch64/illegal-sve2.l b/gas/testsuite/gas/aarch64/illegal-sve2.l index f07ef38..5f43b56 100644 --- a/gas/testsuite/gas/aarch64/illegal-sve2.l +++ b/gas/testsuite/gas/aarch64/illegal-sve2.l @@ -3139,7 +3139,7 @@ [^ :]+:[0-9]+: Info: other valid variant\(s\): [^ :]+:[0-9]+: Info: usubwt z0\.s, z0\.s, z0\.h [^ :]+:[0-9]+: Info: usubwt z0\.d, z0\.d, z0\.s -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilege p16\.b,x0,x0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilege p16\.b,x0,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilege p0\.b,x32,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilege p0\.b,x0,x32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilege p0/m,x0,x0' @@ -3165,7 +3165,7 @@ [^ :]+:[0-9]+: Info: whilege p0\.h, x0, x0 [^ :]+:[0-9]+: Info: whilege p0\.s, x0, x0 [^ :]+:[0-9]+: Info: whilege p0\.d, x0, x0 -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilege p16\.b,w0,w0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilege p16\.b,w0,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilege p0\.b,w32,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilege p0\.b,w0,w32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilege p0/m,w0,w0' @@ -3177,7 +3177,7 @@ [^ :]+:[0-9]+: Info: whilege p0\.d, w0, w0 [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilege p0\.b,w31,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilege p0\.b,w0,w31' -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilegt p16\.b,x0,x0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilegt p16\.b,x0,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilegt p0\.b,x32,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilegt p0\.b,x0,x32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilegt p0/m,x0,x0' @@ -3203,7 +3203,7 @@ [^ :]+:[0-9]+: Info: whilegt p0\.h, x0, x0 [^ :]+:[0-9]+: Info: whilegt p0\.s, x0, x0 [^ :]+:[0-9]+: Info: whilegt p0\.d, x0, x0 -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilegt p16\.b,w0,w0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilegt p16\.b,w0,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilegt p0\.b,w32,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilegt p0\.b,w0,w32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilegt p0/m,w0,w0' @@ -3215,7 +3215,7 @@ [^ :]+:[0-9]+: Info: whilegt p0\.d, w0, w0 [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilegt p0\.b,w31,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilegt p0\.b,w0,w31' -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilehi p16\.b,x0,x0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilehi p16\.b,x0,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilehi p0\.b,x32,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilehi p0\.b,x0,x32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilehi p0/m,x0,x0' @@ -3241,7 +3241,7 @@ [^ :]+:[0-9]+: Info: whilehi p0\.h, x0, x0 [^ :]+:[0-9]+: Info: whilehi p0\.s, x0, x0 [^ :]+:[0-9]+: Info: whilehi p0\.d, x0, x0 -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilehi p16\.b,w0,w0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilehi p16\.b,w0,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilehi p0\.b,w32,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilehi p0\.b,w0,w32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilehi p0/m,w0,w0' @@ -3253,7 +3253,7 @@ [^ :]+:[0-9]+: Info: whilehi p0\.d, w0, w0 [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilehi p0\.b,w31,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilehi p0\.b,w0,w31' -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilehs p16\.b,x0,x0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilehs p16\.b,x0,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilehs p0\.b,x32,x0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilehs p0\.b,x0,x32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilehs p0/m,x0,x0' @@ -3279,7 +3279,7 @@ [^ :]+:[0-9]+: Info: whilehs p0\.h, x0, x0 [^ :]+:[0-9]+: Info: whilehs p0\.s, x0, x0 [^ :]+:[0-9]+: Info: whilehs p0\.d, x0, x0 -[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilehs p16\.b,w0,w0' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilehs p16\.b,w0,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilehs p0\.b,w32,w0' [^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilehs p0\.b,w0,w32' [^ :]+:[0-9]+: Error: operand mismatch -- `whilehs p0/m,w0,w0' diff --git a/gas/testsuite/gas/aarch64/sme-9.d b/gas/testsuite/gas/aarch64/sme-9.d index 9a6175c..69b2702 100644 --- a/gas/testsuite/gas/aarch64/sme-9.d +++ b/gas/testsuite/gas/aarch64/sme-9.d @@ -72,5 +72,5 @@ Disassembly of section \.text: f8: 25277c61 psel p1, p15, p3.b\[w15, 0\] fc: 252778a2 psel p2, p14, p5.b\[w15, 0\] 100: 25244200 \.inst 0x25244200 ; undefined - 104: 25244010 \.inst 0x25244010 ; undefined - 108: 25244210 \.inst 0x25244210 ; undefined + 104: 25244010 whilege pn8.b, x0, x4, vlx2 + 108: 25244210 whilege pn8.b, x16, x4, vlx2 diff --git a/gas/testsuite/gas/aarch64/sme2-6-invalid.d b/gas/testsuite/gas/aarch64/sme2-6-invalid.d new file mode 100644 index 0000000..d3e9450 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-6-invalid.s +#error_output: sme2-6-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-6-invalid.l b/gas/testsuite/gas/aarch64/sme2-6-invalid.l new file mode 100644 index 0000000..cac3ec4 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6-invalid.l @@ -0,0 +1,139 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 1 -- `cntp 0,pn0\.b,vlx2' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 2 -- `cntp x0,0,vlx2' +[^ :]+:[0-9]+: Error: operand 3 must be VLx2 or VLx4 -- `cntp x0,pn0\.b,0' +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 1 -- `cntp xsp,pn0\.b,vlx2' +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 1 -- `cntp sp,pn0\.b,vlx2' +[^ :]+:[0-9]+: Error: operand mismatch -- `cntp w0,pn0\.b,vlx2' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: cntp x0, pn0\.b, vlx2 +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: cntp x0, pn0\.h, vlx2 +[^ :]+:[0-9]+: Info: cntp x0, pn0\.s, vlx2 +[^ :]+:[0-9]+: Info: cntp x0, pn0\.d, vlx2 +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 3 -- `cntp x0,p0\.b,vlx2' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 2 -- `cntp x0,pn16\.b,vlx2' +[^ :]+:[0-9]+: Error: operand 3 must be VLx2 or VLx4 -- `cntp x0,pn0\.b,#0' +[^ :]+:[0-9]+: Error: operand 3 must be VLx2 or VLx4 -- `cntp x0,pn0\.b,vl' +[^ :]+:[0-9]+: Error: operand 3 must be VLx2 or VLx4 -- `cntp x0,pn0\.b,vlx3' +[^ :]+:[0-9]+: Error: operand mismatch -- `cntp x0,pn0,vlx2' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: cntp x0, pn0\.b, vlx2 +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: cntp x0, pn0\.h, vlx2 +[^ :]+:[0-9]+: Info: cntp x0, pn0\.s, vlx2 +[^ :]+:[0-9]+: Info: cntp x0, pn0\.d, vlx2 +[^ :]+:[0-9]+: Error: operand mismatch -- `cntp x0,pn0\.q,vlx2' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: cntp x0, pn0\.b, vlx2 +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: cntp x0, pn0\.h, vlx2 +[^ :]+:[0-9]+: Info: cntp x0, pn0\.s, vlx2 +[^ :]+:[0-9]+: Info: cntp x0, pn0\.d, vlx2 +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `pext 0,pn8\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate-as-counter register at operand 2 -- `pext p0\.b,0' +[^ :]+:[0-9]+: Error: expected a predicate-as-mask rather than predicate-as-counter register at operand 1 -- `pext pn8\.b,pn0\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `pext z0\.b,pn8\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate-as-counter register at operand 2 -- `pext p8\.b,z8\[0\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate-as-counter register at operand 2 -- `pext p8\.b,x8' +[^ :]+:[0-9]+: Error: expected a predicate-as-counter rather than predicate-as-mask register at operand 2 -- `pext p8\.b,p8\[0\]' +[^ :]+:[0-9]+: Error: missing register index at operand 2 -- `pext p8\.b,pn8' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 2 -- `pext p8\.b,pn8\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 2 -- `pext p8\.b,pn8\[4\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 2 -- `pext p8\.b,pn8\[1<<32\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `pext p8\.b,pn8\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: pext p8\.b, pn8\[0\] +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: pext p8\.h, pn8\[0\] +[^ :]+:[0-9]+: Info: pext p8\.s, pn8\[0\] +[^ :]+:[0-9]+: Info: pext p8\.d, pn8\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `pext p8\.q,pn8\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: pext p8\.b, pn8\[0\] +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: pext p8\.h, pn8\[0\] +[^ :]+:[0-9]+: Info: pext p8\.s, pn8\[0\] +[^ :]+:[0-9]+: Info: pext p8\.d, pn8\[0\] +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 1 -- `pext {p0\.b-p2\.b},pn8\[0\]' +[^ :]+:[0-9]+: Error: missing type suffix at operand 1 -- `pext {p0-p1},pn8\[0\]' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 2 -- `pext {p0\.b-p1\.b},pn7\[0\]' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 2 -- `pext {p0\.b-p1\.b},pn0\[0\]' +[^ :]+:[0-9]+: Error: missing register index at operand 2 -- `pext {p0\.b-p1\.b},pn8' +[^ :]+:[0-9]+: Error: expected a predicate-as-counter rather than predicate-as-mask register at operand 2 -- `pext {p0\.b-p1\.b},p0\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `pext {p0\.b-p1\.b},pn8\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: pext {p0\.b-p1\.b}, pn8\[0\] +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: pext {p0\.h-p1\.h}, pn8\[0\] +[^ :]+:[0-9]+: Info: pext {p0\.s-p1\.s}, pn8\[0\] +[^ :]+:[0-9]+: Info: pext {p0\.d-p1\.d}, pn8\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operand 2 -- `pext {p0\.b-p1\.b},pn8\[-1\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operand 2 -- `pext {p0\.b-p1\.b},pn8\[2\]' +[^ :]+:[0-9]+: Error: register element index out of range 0 to 1 at operand 2 -- `pext {p0\.b-p1\.b},pn8\[1<<32\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `ptrue 0' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn0\.b' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn7\.b' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn0\.h' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn7\.h' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn0\.s' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn7\.s' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn0\.d' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `ptrue pn7\.d' +[^ :]+:[0-9]+: Error: unexpected characters following instruction at operand 1 -- `ptrue pn8\.b,all' +[^ :]+:[0-9]+: Error: operand mismatch -- `ptrue pn8\.q' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: ptrue pn8\.b +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: ptrue pn8\.h +[^ :]+:[0-9]+: Info: ptrue pn8\.s +[^ :]+:[0-9]+: Info: ptrue pn8\.d +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `sel 0,pn8,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected an SVE predicate-as-counter register at operand 2 -- `sel {z0\.b-z1\.b},0,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected '{' at operand 3 -- `sel {z0\.b-z1\.b},pn8,0,{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected '{' at operand 4 -- `sel {z0\.b-z1\.b},pn8,{z0\.b-z1\.b},0' +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `sel {z1\.b-z2\.b},pn8,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected a predicate-as-counter rather than predicate-as-mask register at operand 2 -- `sel {z0\.b-z1\.b},p8,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 2 -- `sel {z0\.b-z1\.b},pn7,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: operand mismatch -- `sel {z0\.b-z1\.b},pn8/z,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sel {z0\.b-z1\.b}, pn8, {z0\.b-z1\.b}, {z0\.b-z1\.b} +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sel {z0\.h-z1\.h}, pn8, {z0\.h-z1\.h}, {z0\.h-z1\.h} +[^ :]+:[0-9]+: Info: sel {z0\.s-z1\.s}, pn8, {z0\.s-z1\.s}, {z0\.s-z1\.s} +[^ :]+:[0-9]+: Info: sel {z0\.d-z1\.d}, pn8, {z0\.d-z1\.d}, {z0\.d-z1\.d} +[^ :]+:[0-9]+: Error: operand mismatch -- `sel {z0\.b-z1\.b},pn8/m,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sel {z0\.b-z1\.b}, pn8, {z0\.b-z1\.b}, {z0\.b-z1\.b} +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sel {z0\.h-z1\.h}, pn8, {z0\.h-z1\.h}, {z0\.h-z1\.h} +[^ :]+:[0-9]+: Info: sel {z0\.s-z1\.s}, pn8, {z0\.s-z1\.s}, {z0\.s-z1\.s} +[^ :]+:[0-9]+: Info: sel {z0\.d-z1\.d}, pn8, {z0\.d-z1\.d}, {z0\.d-z1\.d} +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 2 -- `sel {z0\.b-z1\.b},pn0,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 3 -- `sel {z0\.b-z1\.b},pn8,{z11\.b-z12\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 4 -- `sel {z0\.b-z1\.b},pn8,{z0\.b-z1\.b},{z17\.b-z18\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `sel {z1\.b-z4\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `sel {z10\.b-z13\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `sel {z15\.b-z18\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 3 -- `sel {z0\.b-z3\.b},pn8,{z1\.b-z4\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 3 -- `sel {z0\.b-z3\.b},pn8,{z22\.b-z25\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 3 -- `sel {z0\.b-z3\.b},pn8,{z27\.b-z30\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 4 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z5\.b-z8\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 4 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z14\.b-z17\.b}' +[^ :]+:[0-9]+: Error: start register out of range at operand 4 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z19\.b-z22\.b}' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 3 -- `sel {z0\.b-z1\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 3 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z1\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 4 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `sel {z0\.b-z2\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 3 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z2\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 4 -- `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z0\.b-z2\.b}' +[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `sel {z0\.b-z2\.b},pn8,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 3 -- `sel {z0\.b-z1\.b},pn8,{z0\.b-z2\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 4 -- `sel {z0\.b-z1\.b},pn8,{z0\.b-z1\.b},{z0\.b-z2\.b}' +[^ :]+:[0-9]+: Error: operand mismatch -- `sel {z0\.q-z1\.q},pn8,{z0\.q-z1\.q},{z0\.q-z1\.q}' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sel {z0\.b-z1\.b}, pn8, {z0\.b-z1\.b}, {z0\.b-z1\.b} +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sel {z0\.h-z1\.h}, pn8, {z0\.h-z1\.h}, {z0\.h-z1\.h} +[^ :]+:[0-9]+: Info: sel {z0\.s-z1\.s}, pn8, {z0\.s-z1\.s}, {z0\.s-z1\.s} +[^ :]+:[0-9]+: Info: sel {z0\.d-z1\.d}, pn8, {z0\.d-z1\.d}, {z0\.d-z1\.d} diff --git a/gas/testsuite/gas/aarch64/sme2-6-invalid.s b/gas/testsuite/gas/aarch64/sme2-6-invalid.s new file mode 100644 index 0000000..b94dcba --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6-invalid.s @@ -0,0 +1,92 @@ + cntp 0, pn0.b, vlx2 + cntp x0, 0, vlx2 + cntp x0, pn0.b, 0 + + cntp xsp, pn0.b, vlx2 + cntp sp, pn0.b, vlx2 + cntp w0, pn0.b, vlx2 + cntp x0, p0.b, vlx2 + cntp x0, pn16.b, vlx2 + cntp x0, pn0.b, #0 + cntp x0, pn0.b, vl + cntp x0, pn0.b, vlx3 + + cntp x0, pn0, vlx2 + cntp x0, pn0.q, vlx2 + + pext 0, pn8[0] + pext p0.b, 0 + + pext pn8.b, pn0[0] + pext z0.b, pn8[0] + pext p8.b, z8[0] + pext p8.b, x8 + pext p8.b, p8[0] + pext p8.b, pn8 + pext p8.b, pn8[-1] + pext p8.b, pn8[4] + pext p8.b, pn8[1 << 32] + pext p8.b, pn8.b[0] + pext p8.q, pn8[0] + + pext { p0.b - p2.b }, pn8[0] + pext { p0 - p1 }, pn8[0] + pext { p0.b - p1.b }, pn7[0] + pext { p0.b - p1.b }, pn0[0] + pext { p0.b - p1.b }, pn8 + pext { p0.b - p1.b }, p0[0] + pext { p0.b - p1.b }, pn8.b[0] + pext { p0.b - p1.b }, pn8[-1] + pext { p0.b - p1.b }, pn8[2] + pext { p0.b - p1.b }, pn8[1 << 32] + + ptrue 0 + + ptrue pn0.b + ptrue pn7.b + ptrue pn0.h + ptrue pn7.h + ptrue pn0.s + ptrue pn7.s + ptrue pn0.d + ptrue pn7.d + ptrue pn8.b, all + ptrue pn8.q + + sel 0, pn8, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, 0, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, 0, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z0.b - z1.b }, 0 + + sel { z1.b - z2.b }, pn8, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, p8, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn7, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8/z, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8/m, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn0, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z11.b - z12.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z0.b - z1.b }, { z17.b - z18.b } + + sel { z1.b - z4.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z10.b - z13.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z15.b - z18.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z1.b - z4.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z22.b - z25.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z27.b - z30.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z5.b - z8.b } + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z14.b - z17.b } + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z19.b - z22.b } + + sel { z0.b - z1.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z0.b - z1.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z0.b - z1.b } + + sel { z0.b - z2.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z0.b - z2.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z0.b - z2.b } + + sel { z0.b - z2.b }, pn8, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z0.b - z2.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z0.b - z1.b }, { z0.b - z2.b } + + sel { z0.q - z1.q }, pn8, { z0.q - z1.q }, { z0.q - z1.q } diff --git a/gas/testsuite/gas/aarch64/sme2-6-noarch.d b/gas/testsuite/gas/aarch64/sme2-6-noarch.d new file mode 100644 index 0000000..5a2f1a5 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sme2-6.s +#error_output: sme2-6-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-6-noarch.l b/gas/testsuite/gas/aarch64/sme2-6-noarch.l new file mode 100644 index 0000000..173e99a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6-noarch.l @@ -0,0 +1,145 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.b,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X0,PN0\.B,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x30,pn0\.b,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp xzr,pn0\.b,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn15\.b,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.b,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X11,PN13\.b,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.h,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X0,PN0\.H,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x30,pn0\.h,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp xzr,pn0\.h,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn15\.h,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.h,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X20,PN9\.h,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.s,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X0,PN0\.s,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x30,pn0\.s,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp xzr,pn0\.s,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn15\.s,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.s,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X15,PN8\.s,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.d,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X0,PN0\.d,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x30,pn0\.d,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp xzr,pn0\.d,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn15\.d,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp x0,pn0\.d,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `cntp X4,PN5\.d,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.b,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext P0\.B,PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p15\.b,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.b,pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.b,pn8\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p4\.b,pn11\[2\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.h,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext P0\.H,PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p15\.h,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.h,pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.h,pn8\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p5\.h,pn14\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.s,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext P0\.S,PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p15\.s,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.s,pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.s,pn8\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p6\.s,pn10\[2\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.d,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext P0\.D,PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p15\.d,pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.d,pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p0\.d,pn8\[3\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext p7\.d,pn9\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.b,p1\.b},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.b-p1\.b},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {P0\.B-P1\.B},PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p14\.b-p15\.b},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.b,p0\.b},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.b-p0\.b},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.b-p1\.b},pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.b-p1\.b},pn8\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p7\.b-p8\.b},pn12\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.h,p1\.h},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.h-p1\.h},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {P0\.H-P1\.H},PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p14\.h-p15\.h},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.h,p0\.h},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.h-p0\.h},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.h-p1\.h},pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.h-p1\.h},pn8\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p2\.h-p3\.h},pn14\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.s,p1\.s},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.s-p1\.s},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {P0\.S-P1\.S},PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p14\.s-p15\.s},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.s,p0\.s},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.s-p0\.s},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.s-p1\.s},pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.s-p1\.s},pn8\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p5\.s-p6\.s},pn13\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.d,p1\.d},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.d-p1\.d},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {P0\.D-P1\.D},PN8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p14\.d-p15\.d},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.d,p0\.d},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p15\.d-p0\.d},pn8\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.d-p1\.d},pn15\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p0\.d-p1\.d},pn8\[1\]' +[^ :]+:[0-9]+: Error: selected processor does not support `pext {p12\.d-p13\.d},pn9\[0\]' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn8\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn11\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn15\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn8\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn9\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn15\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn8\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn14\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn15\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn8\.d' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn12\.d' +[^ :]+:[0-9]+: Error: selected processor does not support `ptrue pn15\.d' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z1\.b},pn8,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z30\.b-z31\.b},pn8,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z1\.b},pn15,{z0\.b-z1\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z1\.b},pn8,{z30\.b-z31\.b},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z1\.b},pn8,{z0\.b-z1\.b},{z30\.b-z31\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z2\.b-z3\.b},pn12,{z6\.b-z7\.b},{z10\.b-z11\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z1\.h},pn8,{z0\.h-z1\.h},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z30\.h-z31\.h},pn8,{z0\.h-z1\.h},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z1\.h},pn15,{z0\.h-z1\.h},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z1\.h},pn8,{z30\.h-z31\.h},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z1\.h},pn8,{z0\.h-z1\.h},{z30\.h-z31\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z12\.h-z13\.h},pn9,{z14\.h-z15\.h},{z16\.h-z17\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z1\.s},pn8,{z0\.s-z1\.s},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z30\.s-z31\.s},pn8,{z0\.s-z1\.s},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z1\.s},pn15,{z0\.s-z1\.s},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z1\.s},pn8,{z30\.s-z31\.s},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z1\.s},pn8,{z0\.s-z1\.s},{z30\.s-z31\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z18\.s-z19\.s},pn11,{z22\.s-z23\.s},{z24\.s-z25\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z1\.d},pn8,{z0\.d-z1\.d},{z0\.d-z1\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z30\.d-z31\.d},pn8,{z0\.d-z1\.d},{z0\.d-z1\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z1\.d},pn15,{z0\.d-z1\.d},{z0\.d-z1\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z1\.d},pn8,{z30\.d-z31\.d},{z0\.d-z1\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z1\.d},pn8,{z0\.d-z1\.d},{z30\.d-z31\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z8\.d-z9\.d},pn14,{z26\.d-z27\.d},{z28\.d-z29\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z28\.b-z31\.b},pn8,{z0\.b-z3\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z3\.b},pn8,{z28\.b-z31\.b},{z0\.b-z3\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.b-z3\.b},pn8,{z0\.b-z3\.b},{z28\.b-z31\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z4\.b-z7\.b},pn10,{z8\.b-z11\.b},{z12\.b-z15\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z3\.h},pn8,{z0\.h-z3\.h},{z0\.h-z3\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z28\.h-z31\.h},pn8,{z0\.h-z3\.h},{z0\.h-z3\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z3\.h},pn8,{z28\.h-z31\.h},{z0\.h-z3\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.h-z3\.h},pn8,{z0\.h-z3\.h},{z28\.h-z31\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z8\.h-z11\.h},pn10,{z16\.h-z19\.h},{z20\.h-z23\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z3\.s},pn8,{z0\.s-z3\.s},{z0\.s-z3\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z28\.s-z31\.s},pn8,{z0\.s-z3\.s},{z0\.s-z3\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z3\.s},pn8,{z28\.s-z31\.s},{z0\.s-z3\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.s-z3\.s},pn8,{z0\.s-z3\.s},{z28\.s-z31\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z16\.s-z19\.s},pn10,{z20\.s-z23\.s},{z24\.s-z27\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z3\.d},pn8,{z0\.d-z3\.d},{z0\.d-z3\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z28\.d-z31\.d},pn8,{z0\.d-z3\.d},{z0\.d-z3\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z3\.d},pn8,{z28\.d-z31\.d},{z0\.d-z3\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z0\.d-z3\.d},pn8,{z0\.d-z3\.d},{z28\.d-z31\.d}' +[^ :]+:[0-9]+: Error: selected processor does not support `sel {z20\.d-z23\.d},pn10,{z4\.d-z7\.d},{z8\.d-z11\.d}' diff --git a/gas/testsuite/gas/aarch64/sme2-6.d b/gas/testsuite/gas/aarch64/sme2-6.d new file mode 100644 index 0000000..488cb09 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6.d @@ -0,0 +1,153 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: 25208200 cntp x0, pn0\.b, vlx2 +[^:]+: 25208200 cntp x0, pn0\.b, vlx2 +[^:]+: 2520821e cntp x30, pn0\.b, vlx2 +[^:]+: 2520821f cntp xzr, pn0\.b, vlx2 +[^:]+: 252083e0 cntp x0, pn15\.b, vlx2 +[^:]+: 25208600 cntp x0, pn0\.b, vlx4 +[^:]+: 252087ab cntp x11, pn13\.b, vlx4 +[^:]+: 25608200 cntp x0, pn0\.h, vlx2 +[^:]+: 25608200 cntp x0, pn0\.h, vlx2 +[^:]+: 2560821e cntp x30, pn0\.h, vlx2 +[^:]+: 2560821f cntp xzr, pn0\.h, vlx2 +[^:]+: 256083e0 cntp x0, pn15\.h, vlx2 +[^:]+: 25608600 cntp x0, pn0\.h, vlx4 +[^:]+: 25608334 cntp x20, pn9\.h, vlx2 +[^:]+: 25a08200 cntp x0, pn0\.s, vlx2 +[^:]+: 25a08200 cntp x0, pn0\.s, vlx2 +[^:]+: 25a0821e cntp x30, pn0\.s, vlx2 +[^:]+: 25a0821f cntp xzr, pn0\.s, vlx2 +[^:]+: 25a083e0 cntp x0, pn15\.s, vlx2 +[^:]+: 25a08600 cntp x0, pn0\.s, vlx4 +[^:]+: 25a0870f cntp x15, pn8\.s, vlx4 +[^:]+: 25e08200 cntp x0, pn0\.d, vlx2 +[^:]+: 25e08200 cntp x0, pn0\.d, vlx2 +[^:]+: 25e0821e cntp x30, pn0\.d, vlx2 +[^:]+: 25e0821f cntp xzr, pn0\.d, vlx2 +[^:]+: 25e083e0 cntp x0, pn15\.d, vlx2 +[^:]+: 25e08600 cntp x0, pn0\.d, vlx4 +[^:]+: 25e082a4 cntp x4, pn5\.d, vlx2 +[^:]+: 25207010 pext p0\.b, pn8\[0\] +[^:]+: 25207010 pext p0\.b, pn8\[0\] +[^:]+: 2520701f pext p15\.b, pn8\[0\] +[^:]+: 252070f0 pext p0\.b, pn15\[0\] +[^:]+: 25207310 pext p0\.b, pn8\[3\] +[^:]+: 25207274 pext p4\.b, pn11\[2\] +[^:]+: 25607010 pext p0\.h, pn8\[0\] +[^:]+: 25607010 pext p0\.h, pn8\[0\] +[^:]+: 2560701f pext p15\.h, pn8\[0\] +[^:]+: 256070f0 pext p0\.h, pn15\[0\] +[^:]+: 25607310 pext p0\.h, pn8\[3\] +[^:]+: 256071d5 pext p5\.h, pn14\[1\] +[^:]+: 25a07010 pext p0\.s, pn8\[0\] +[^:]+: 25a07010 pext p0\.s, pn8\[0\] +[^:]+: 25a0701f pext p15\.s, pn8\[0\] +[^:]+: 25a070f0 pext p0\.s, pn15\[0\] +[^:]+: 25a07310 pext p0\.s, pn8\[3\] +[^:]+: 25a07256 pext p6\.s, pn10\[2\] +[^:]+: 25e07010 pext p0\.d, pn8\[0\] +[^:]+: 25e07010 pext p0\.d, pn8\[0\] +[^:]+: 25e0701f pext p15\.d, pn8\[0\] +[^:]+: 25e070f0 pext p0\.d, pn15\[0\] +[^:]+: 25e07310 pext p0\.d, pn8\[3\] +[^:]+: 25e07137 pext p7\.d, pn9\[1\] +[^:]+: 25207410 pext {p0\.b-p1\.b}, pn8\[0\] +[^:]+: 25207410 pext {p0\.b-p1\.b}, pn8\[0\] +[^:]+: 25207410 pext {p0\.b-p1\.b}, pn8\[0\] +[^:]+: 2520741e pext {p14\.b-p15\.b}, pn8\[0\] +[^:]+: 2520741f pext {p15\.b-p0\.b}, pn8\[0\] +[^:]+: 2520741f pext {p15\.b-p0\.b}, pn8\[0\] +[^:]+: 252074f0 pext {p0\.b-p1\.b}, pn15\[0\] +[^:]+: 25207510 pext {p0\.b-p1\.b}, pn8\[1\] +[^:]+: 25207497 pext {p7\.b-p8\.b}, pn12\[0\] +[^:]+: 25607410 pext {p0\.h-p1\.h}, pn8\[0\] +[^:]+: 25607410 pext {p0\.h-p1\.h}, pn8\[0\] +[^:]+: 25607410 pext {p0\.h-p1\.h}, pn8\[0\] +[^:]+: 2560741e pext {p14\.h-p15\.h}, pn8\[0\] +[^:]+: 2560741f pext {p15\.h-p0\.h}, pn8\[0\] +[^:]+: 2560741f pext {p15\.h-p0\.h}, pn8\[0\] +[^:]+: 256074f0 pext {p0\.h-p1\.h}, pn15\[0\] +[^:]+: 25607510 pext {p0\.h-p1\.h}, pn8\[1\] +[^:]+: 256074d2 pext {p2\.h-p3\.h}, pn14\[0\] +[^:]+: 25a07410 pext {p0\.s-p1\.s}, pn8\[0\] +[^:]+: 25a07410 pext {p0\.s-p1\.s}, pn8\[0\] +[^:]+: 25a07410 pext {p0\.s-p1\.s}, pn8\[0\] +[^:]+: 25a0741e pext {p14\.s-p15\.s}, pn8\[0\] +[^:]+: 25a0741f pext {p15\.s-p0\.s}, pn8\[0\] +[^:]+: 25a0741f pext {p15\.s-p0\.s}, pn8\[0\] +[^:]+: 25a074f0 pext {p0\.s-p1\.s}, pn15\[0\] +[^:]+: 25a07510 pext {p0\.s-p1\.s}, pn8\[1\] +[^:]+: 25a074b5 pext {p5\.s-p6\.s}, pn13\[0\] +[^:]+: 25e07410 pext {p0\.d-p1\.d}, pn8\[0\] +[^:]+: 25e07410 pext {p0\.d-p1\.d}, pn8\[0\] +[^:]+: 25e07410 pext {p0\.d-p1\.d}, pn8\[0\] +[^:]+: 25e0741e pext {p14\.d-p15\.d}, pn8\[0\] +[^:]+: 25e0741f pext {p15\.d-p0\.d}, pn8\[0\] +[^:]+: 25e0741f pext {p15\.d-p0\.d}, pn8\[0\] +[^:]+: 25e074f0 pext {p0\.d-p1\.d}, pn15\[0\] +[^:]+: 25e07510 pext {p0\.d-p1\.d}, pn8\[1\] +[^:]+: 25e0743c pext {p12\.d-p13\.d}, pn9\[0\] +[^:]+: 25207810 ptrue pn8\.b +[^:]+: 25207813 ptrue pn11\.b +[^:]+: 25207817 ptrue pn15\.b +[^:]+: 25607810 ptrue pn8\.h +[^:]+: 25607811 ptrue pn9\.h +[^:]+: 25607817 ptrue pn15\.h +[^:]+: 25a07810 ptrue pn8\.s +[^:]+: 25a07816 ptrue pn14\.s +[^:]+: 25a07817 ptrue pn15\.s +[^:]+: 25e07810 ptrue pn8\.d +[^:]+: 25e07814 ptrue pn12\.d +[^:]+: 25e07817 ptrue pn15\.d +[^:]+: c1208000 sel {z0\.b-z1\.b}, pn8, {z0\.b-z1\.b}, {z0\.b-z1\.b} +[^:]+: c120801e sel {z30\.b-z31\.b}, pn8, {z0\.b-z1\.b}, {z0\.b-z1\.b} +[^:]+: c1209c00 sel {z0\.b-z1\.b}, pn15, {z0\.b-z1\.b}, {z0\.b-z1\.b} +[^:]+: c12083c0 sel {z0\.b-z1\.b}, pn8, {z30\.b-z31\.b}, {z0\.b-z1\.b} +[^:]+: c13e8000 sel {z0\.b-z1\.b}, pn8, {z0\.b-z1\.b}, {z30\.b-z31\.b} +[^:]+: c12a90c2 sel {z2\.b-z3\.b}, pn12, {z6\.b-z7\.b}, {z10\.b-z11\.b} +[^:]+: c1608000 sel {z0\.h-z1\.h}, pn8, {z0\.h-z1\.h}, {z0\.h-z1\.h} +[^:]+: c160801e sel {z30\.h-z31\.h}, pn8, {z0\.h-z1\.h}, {z0\.h-z1\.h} +[^:]+: c1609c00 sel {z0\.h-z1\.h}, pn15, {z0\.h-z1\.h}, {z0\.h-z1\.h} +[^:]+: c16083c0 sel {z0\.h-z1\.h}, pn8, {z30\.h-z31\.h}, {z0\.h-z1\.h} +[^:]+: c17e8000 sel {z0\.h-z1\.h}, pn8, {z0\.h-z1\.h}, {z30\.h-z31\.h} +[^:]+: c17085cc sel {z12\.h-z13\.h}, pn9, {z14\.h-z15\.h}, {z16\.h-z17\.h} +[^:]+: c1a08000 sel {z0\.s-z1\.s}, pn8, {z0\.s-z1\.s}, {z0\.s-z1\.s} +[^:]+: c1a0801e sel {z30\.s-z31\.s}, pn8, {z0\.s-z1\.s}, {z0\.s-z1\.s} +[^:]+: c1a09c00 sel {z0\.s-z1\.s}, pn15, {z0\.s-z1\.s}, {z0\.s-z1\.s} +[^:]+: c1a083c0 sel {z0\.s-z1\.s}, pn8, {z30\.s-z31\.s}, {z0\.s-z1\.s} +[^:]+: c1be8000 sel {z0\.s-z1\.s}, pn8, {z0\.s-z1\.s}, {z30\.s-z31\.s} +[^:]+: c1b88ed2 sel {z18\.s-z19\.s}, pn11, {z22\.s-z23\.s}, {z24\.s-z25\.s} +[^:]+: c1e08000 sel {z0\.d-z1\.d}, pn8, {z0\.d-z1\.d}, {z0\.d-z1\.d} +[^:]+: c1e0801e sel {z30\.d-z31\.d}, pn8, {z0\.d-z1\.d}, {z0\.d-z1\.d} +[^:]+: c1e09c00 sel {z0\.d-z1\.d}, pn15, {z0\.d-z1\.d}, {z0\.d-z1\.d} +[^:]+: c1e083c0 sel {z0\.d-z1\.d}, pn8, {z30\.d-z31\.d}, {z0\.d-z1\.d} +[^:]+: c1fe8000 sel {z0\.d-z1\.d}, pn8, {z0\.d-z1\.d}, {z30\.d-z31\.d} +[^:]+: c1fc9b48 sel {z8\.d-z9\.d}, pn14, {z26\.d-z27\.d}, {z28\.d-z29\.d} +[^:]+: c1218000 sel {z0\.b-z3\.b}, pn8, {z0\.b-z3\.b}, {z0\.b-z3\.b} +[^:]+: c121801c sel {z28\.b-z31\.b}, pn8, {z0\.b-z3\.b}, {z0\.b-z3\.b} +[^:]+: c1218380 sel {z0\.b-z3\.b}, pn8, {z28\.b-z31\.b}, {z0\.b-z3\.b} +[^:]+: c13d8000 sel {z0\.b-z3\.b}, pn8, {z0\.b-z3\.b}, {z28\.b-z31\.b} +[^:]+: c12d8904 sel {z4\.b-z7\.b}, pn10, {z8\.b-z11\.b}, {z12\.b-z15\.b} +[^:]+: c1618000 sel {z0\.h-z3\.h}, pn8, {z0\.h-z3\.h}, {z0\.h-z3\.h} +[^:]+: c161801c sel {z28\.h-z31\.h}, pn8, {z0\.h-z3\.h}, {z0\.h-z3\.h} +[^:]+: c1618380 sel {z0\.h-z3\.h}, pn8, {z28\.h-z31\.h}, {z0\.h-z3\.h} +[^:]+: c17d8000 sel {z0\.h-z3\.h}, pn8, {z0\.h-z3\.h}, {z28\.h-z31\.h} +[^:]+: c1758a08 sel {z8\.h-z11\.h}, pn10, {z16\.h-z19\.h}, {z20\.h-z23\.h} +[^:]+: c1a18000 sel {z0\.s-z3\.s}, pn8, {z0\.s-z3\.s}, {z0\.s-z3\.s} +[^:]+: c1a1801c sel {z28\.s-z31\.s}, pn8, {z0\.s-z3\.s}, {z0\.s-z3\.s} +[^:]+: c1a18380 sel {z0\.s-z3\.s}, pn8, {z28\.s-z31\.s}, {z0\.s-z3\.s} +[^:]+: c1bd8000 sel {z0\.s-z3\.s}, pn8, {z0\.s-z3\.s}, {z28\.s-z31\.s} +[^:]+: c1b98a90 sel {z16\.s-z19\.s}, pn10, {z20\.s-z23\.s}, {z24\.s-z27\.s} +[^:]+: c1e18000 sel {z0\.d-z3\.d}, pn8, {z0\.d-z3\.d}, {z0\.d-z3\.d} +[^:]+: c1e1801c sel {z28\.d-z31\.d}, pn8, {z0\.d-z3\.d}, {z0\.d-z3\.d} +[^:]+: c1e18380 sel {z0\.d-z3\.d}, pn8, {z28\.d-z31\.d}, {z0\.d-z3\.d} +[^:]+: c1fd8000 sel {z0\.d-z3\.d}, pn8, {z0\.d-z3\.d}, {z28\.d-z31\.d} +[^:]+: c1e98894 sel {z20\.d-z23\.d}, pn10, {z4\.d-z7\.d}, {z8\.d-z11\.d} diff --git a/gas/testsuite/gas/aarch64/sme2-6.s b/gas/testsuite/gas/aarch64/sme2-6.s new file mode 100644 index 0000000..0cc00f1 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-6.s @@ -0,0 +1,164 @@ + cntp x0, pn0.b, vlx2 + CNTP X0, PN0.B, VLx2 + cntp x30, pn0.b, vlx2 + cntp xzr, pn0.b, vlx2 + cntp x0, pn15.b, vlx2 + cntp x0, pn0.b, vlx4 + CNTP X11, PN13.b, VLx4 + + cntp x0, pn0.h, vlx2 + CNTP X0, PN0.H, VLx2 + cntp x30, pn0.h, vlx2 + cntp xzr, pn0.h, vlx2 + cntp x0, pn15.h, vlx2 + cntp x0, pn0.h, vlx4 + CNTP X20, PN9.h, VLx2 + + cntp x0, pn0.s, vlx2 + CNTP X0, PN0.s, VLx2 + cntp x30, pn0.s, vlx2 + cntp xzr, pn0.s, vlx2 + cntp x0, pn15.s, vlx2 + cntp x0, pn0.s, vlx4 + CNTP X15, PN8.s, VLx4 + + cntp x0, pn0.d, vlx2 + CNTP X0, PN0.d, VLx2 + cntp x30, pn0.d, vlx2 + cntp xzr, pn0.d, vlx2 + cntp x0, pn15.d, vlx2 + cntp x0, pn0.d, vlx4 + CNTP X4, PN5.d, VLx2 + + pext p0.b, pn8[0] + PEXT P0.B, PN8[0] + pext p15.b, pn8[0] + pext p0.b, pn15[0] + pext p0.b, pn8[3] + pext p4.b, pn11[2] + + pext p0.h, pn8[0] + PEXT P0.H, PN8[0] + pext p15.h, pn8[0] + pext p0.h, pn15[0] + pext p0.h, pn8[3] + pext p5.h, pn14[1] + + pext p0.s, pn8[0] + PEXT P0.S, PN8[0] + pext p15.s, pn8[0] + pext p0.s, pn15[0] + pext p0.s, pn8[3] + pext p6.s, pn10[2] + + pext p0.d, pn8[0] + PEXT P0.D, PN8[0] + pext p15.d, pn8[0] + pext p0.d, pn15[0] + pext p0.d, pn8[3] + pext p7.d, pn9[1] + + pext { p0.b, p1.b }, pn8[0] + pext { p0.b - p1.b }, pn8[0] + PEXT { P0.B - P1.B }, PN8[0] + pext { p14.b - p15.b }, pn8[0] + pext { p15.b, p0.b }, pn8[0] + pext { p15.b - p0.b }, pn8[0] + pext { p0.b - p1.b }, pn15[0] + pext { p0.b - p1.b }, pn8[1] + pext { p7.b - p8.b }, pn12[0] + + pext { p0.h, p1.h }, pn8[0] + pext { p0.h - p1.h }, pn8[0] + PEXT { P0.H - P1.H }, PN8[0] + pext { p14.h - p15.h }, pn8[0] + pext { p15.h, p0.h }, pn8[0] + pext { p15.h - p0.h }, pn8[0] + pext { p0.h - p1.h }, pn15[0] + pext { p0.h - p1.h }, pn8[1] + pext { p2.h - p3.h }, pn14[0] + + pext { p0.s, p1.s }, pn8[0] + pext { p0.s - p1.s }, pn8[0] + PEXT { P0.S - P1.S }, PN8[0] + pext { p14.s - p15.s }, pn8[0] + pext { p15.s, p0.s }, pn8[0] + pext { p15.s - p0.s }, pn8[0] + pext { p0.s - p1.s }, pn15[0] + pext { p0.s - p1.s }, pn8[1] + pext { p5.s - p6.s }, pn13[0] + + pext { p0.d, p1.d }, pn8[0] + pext { p0.d - p1.d }, pn8[0] + PEXT { P0.D - P1.D }, PN8[0] + pext { p14.d - p15.d }, pn8[0] + pext { p15.d, p0.d }, pn8[0] + pext { p15.d - p0.d }, pn8[0] + pext { p0.d - p1.d }, pn15[0] + pext { p0.d - p1.d }, pn8[1] + pext { p12.d - p13.d }, pn9[0] + + ptrue pn8.b + ptrue pn11.b + ptrue pn15.b + ptrue pn8.h + ptrue pn9.h + ptrue pn15.h + ptrue pn8.s + ptrue pn14.s + ptrue pn15.s + ptrue pn8.d + ptrue pn12.d + ptrue pn15.d + + sel { z0.b - z1.b }, pn8, { z0.b - z1.b }, { z0.b - z1.b } + sel { z30.b - z31.b }, pn8, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn15, { z0.b - z1.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z30.b - z31.b }, { z0.b - z1.b } + sel { z0.b - z1.b }, pn8, { z0.b - z1.b }, { z30.b - z31.b } + sel { z2.b - z3.b }, pn12, { z6.b - z7.b }, { z10.b - z11.b } + + sel { z0.h - z1.h }, pn8, { z0.h - z1.h }, { z0.h - z1.h } + sel { z30.h - z31.h }, pn8, { z0.h - z1.h }, { z0.h - z1.h } + sel { z0.h - z1.h }, pn15, { z0.h - z1.h }, { z0.h - z1.h } + sel { z0.h - z1.h }, pn8, { z30.h - z31.h }, { z0.h - z1.h } + sel { z0.h - z1.h }, pn8, { z0.h - z1.h }, { z30.h - z31.h } + sel { z12.h - z13.h }, pn9, { z14.h - z15.h }, { z16.h - z17.h } + + sel { z0.s - z1.s }, pn8, { z0.s - z1.s }, { z0.s - z1.s } + sel { z30.s - z31.s }, pn8, { z0.s - z1.s }, { z0.s - z1.s } + sel { z0.s - z1.s }, pn15, { z0.s - z1.s }, { z0.s - z1.s } + sel { z0.s - z1.s }, pn8, { z30.s - z31.s }, { z0.s - z1.s } + sel { z0.s - z1.s }, pn8, { z0.s - z1.s }, { z30.s - z31.s } + sel { z18.s - z19.s }, pn11, { z22.s - z23.s }, { z24.s - z25.s } + + sel { z0.d - z1.d }, pn8, { z0.d - z1.d }, { z0.d - z1.d } + sel { z30.d - z31.d }, pn8, { z0.d - z1.d }, { z0.d - z1.d } + sel { z0.d - z1.d }, pn15, { z0.d - z1.d }, { z0.d - z1.d } + sel { z0.d - z1.d }, pn8, { z30.d - z31.d }, { z0.d - z1.d } + sel { z0.d - z1.d }, pn8, { z0.d - z1.d }, { z30.d - z31.d } + sel { z8.d - z9.d }, pn14, { z26.d - z27.d }, { z28.d - z29.d } + + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z28.b - z31.b }, pn8, { z0.b - z3.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z28.b - z31.b }, { z0.b - z3.b } + sel { z0.b - z3.b }, pn8, { z0.b - z3.b }, { z28.b - z31.b } + sel { z4.b - z7.b }, pn10, { z8.b - z11.b }, { z12.b - z15.b } + + sel { z0.h - z3.h }, pn8, { z0.h - z3.h }, { z0.h - z3.h } + sel { z28.h - z31.h }, pn8, { z0.h - z3.h }, { z0.h - z3.h } + sel { z0.h - z3.h }, pn8, { z28.h - z31.h }, { z0.h - z3.h } + sel { z0.h - z3.h }, pn8, { z0.h - z3.h }, { z28.h - z31.h } + sel { z8.h - z11.h }, pn10, { z16.h - z19.h }, { z20.h - z23.h } + + sel { z0.s - z3.s }, pn8, { z0.s - z3.s }, { z0.s - z3.s } + sel { z28.s - z31.s }, pn8, { z0.s - z3.s }, { z0.s - z3.s } + sel { z0.s - z3.s }, pn8, { z28.s - z31.s }, { z0.s - z3.s } + sel { z0.s - z3.s }, pn8, { z0.s - z3.s }, { z28.s - z31.s } + sel { z16.s - z19.s }, pn10, { z20.s - z23.s }, { z24.s - z27.s } + + sel { z0.d - z3.d }, pn8, { z0.d - z3.d }, { z0.d - z3.d } + sel { z28.d - z31.d }, pn8, { z0.d - z3.d }, { z0.d - z3.d } + sel { z0.d - z3.d }, pn8, { z28.d - z31.d }, { z0.d - z3.d } + sel { z0.d - z3.d }, pn8, { z0.d - z3.d }, { z28.d - z31.d } + sel { z20.d - z23.d }, pn10, { z4.d - z7.d }, { z8.d - z11.d } diff --git a/gas/testsuite/gas/aarch64/sme2-7-invalid.d b/gas/testsuite/gas/aarch64/sme2-7-invalid.d new file mode 100644 index 0000000..889fd41 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-7-invalid.s +#error_output: sme2-7-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-7-invalid.l b/gas/testsuite/gas/aarch64/sme2-7-invalid.l new file mode 100644 index 0000000..65b4cce --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7-invalid.l @@ -0,0 +1,20 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `whilege 0,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilege pn8\.b,0,x0,vlx2' +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilege pn8\.b,x0,0,vlx2' +[^ :]+:[0-9]+: Error: operand 4 must be VLx2 or VLx4 -- `whilege pn8\.b,x0,x0,0' +[^ :]+:[0-9]+: Error: pn8-pn15 expected at operand 1 -- `whilege pn0\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: unexpected characters following instruction at operand 3 -- `whilege p8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `whilege z8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: comma expected between operands at operand 4 -- `whilege pn8\.b,x0,x0' +[^ :]+:[0-9]+: Error: operand mismatch -- `whilege pn8\.b,w0,w0,vlx2' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: whilege pn8\.b, x0, x0, vlx2 +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: whilege pn8\.h, x0, x0, vlx2 +[^ :]+:[0-9]+: Info: whilege pn8\.s, x0, x0, vlx2 +[^ :]+:[0-9]+: Info: whilege pn8\.d, x0, x0, vlx2 +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilege pn8\.b,sp,x0,vlx2' +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilege pn8\.b,x0,sp,vlx2' +[^ :]+:[0-9]+: Error: operand 4 must be VLx2 or VLx4 -- `whilege pn8\.b,x0,x0,#0' +[^ :]+:[0-9]+: Error: operand 4 must be VLx2 or VLx4 -- `whilege pn8\.b,x0,x0,1' diff --git a/gas/testsuite/gas/aarch64/sme2-7-invalid.s b/gas/testsuite/gas/aarch64/sme2-7-invalid.s new file mode 100644 index 0000000..0840e7f --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7-invalid.s @@ -0,0 +1,14 @@ + whilege 0, x0, x0, vlx2 + whilege pn8.b, 0, x0, vlx2 + whilege pn8.b, x0, 0, vlx2 + whilege pn8.b, x0, x0, 0 + + whilege pn0.b, x0, x0, vlx2 + whilege p8.b, x0, x0, vlx2 + whilege z8.b, x0, x0, vlx2 + whilege pn8.b, x0, x0 + whilege pn8.b, w0, w0, vlx2 + whilege pn8.b, sp, x0, vlx2 + whilege pn8.b, x0, sp, vlx2 + whilege pn8.b, x0, x0, #0 + whilege pn8.b, x0, x0, 1 diff --git a/gas/testsuite/gas/aarch64/sme2-7-noarch.d b/gas/testsuite/gas/aarch64/sme2-7-noarch.d new file mode 100644 index 0000000..50ea07c --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sme2-7.s +#error_output: sme2-7-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-7-noarch.l b/gas/testsuite/gas/aarch64/sme2-7-noarch.l new file mode 100644 index 0000000..b6b3c75 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7-noarch.l @@ -0,0 +1,321 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo pn13\.d,x26,x9,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.b,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.B,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.B,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn15\.b,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.b,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.b,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.b,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.b,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn11\.b,x20,x1,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.h,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.h,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.h,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn15\.h,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.h,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.h,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.h,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.h,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn14\.h,x14,x25,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.s,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.s,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.s,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn15\.s,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.s,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.s,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.s,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.s,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn9\.s,x4,x27,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.d,x0,x0,vlx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.d,X0,X0,VLx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels PN8\.d,X0,X0,VLx4' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn15\.d,x0,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.d,x30,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.d,xzr,x0,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.d,x0,x30,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn8\.d,x0,xzr,vlx2' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels pn13\.d,x26,x9,vlx4' diff --git a/gas/testsuite/gas/aarch64/sme2-7.d b/gas/testsuite/gas/aarch64/sme2-7.d new file mode 100644 index 0000000..8c6fdc5 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7.d @@ -0,0 +1,329 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: 25204010 whilege pn8\.b, x0, x0, vlx2 +[^:]+: 25206010 whilege pn8\.b, x0, x0, vlx4 +[^:]+: 25204010 whilege pn8\.b, x0, x0, vlx2 +[^:]+: 25206010 whilege pn8\.b, x0, x0, vlx4 +[^:]+: 25204017 whilege pn15\.b, x0, x0, vlx2 +[^:]+: 252043d0 whilege pn8\.b, x30, x0, vlx2 +[^:]+: 252043f0 whilege pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4010 whilege pn8\.b, x0, x30, vlx2 +[^:]+: 253f4010 whilege pn8\.b, x0, xzr, vlx2 +[^:]+: 25216293 whilege pn11\.b, x20, x1, vlx4 +[^:]+: 25604010 whilege pn8\.h, x0, x0, vlx2 +[^:]+: 25606010 whilege pn8\.h, x0, x0, vlx4 +[^:]+: 25604010 whilege pn8\.h, x0, x0, vlx2 +[^:]+: 25606010 whilege pn8\.h, x0, x0, vlx4 +[^:]+: 25604017 whilege pn15\.h, x0, x0, vlx2 +[^:]+: 256043d0 whilege pn8\.h, x30, x0, vlx2 +[^:]+: 256043f0 whilege pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4010 whilege pn8\.h, x0, x30, vlx2 +[^:]+: 257f4010 whilege pn8\.h, x0, xzr, vlx2 +[^:]+: 257961d6 whilege pn14\.h, x14, x25, vlx4 +[^:]+: 25a04010 whilege pn8\.s, x0, x0, vlx2 +[^:]+: 25a06010 whilege pn8\.s, x0, x0, vlx4 +[^:]+: 25a04010 whilege pn8\.s, x0, x0, vlx2 +[^:]+: 25a06010 whilege pn8\.s, x0, x0, vlx4 +[^:]+: 25a04017 whilege pn15\.s, x0, x0, vlx2 +[^:]+: 25a043d0 whilege pn8\.s, x30, x0, vlx2 +[^:]+: 25a043f0 whilege pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4010 whilege pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4010 whilege pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4091 whilege pn9\.s, x4, x27, vlx2 +[^:]+: 25e04010 whilege pn8\.d, x0, x0, vlx2 +[^:]+: 25e06010 whilege pn8\.d, x0, x0, vlx4 +[^:]+: 25e04010 whilege pn8\.d, x0, x0, vlx2 +[^:]+: 25e06010 whilege pn8\.d, x0, x0, vlx4 +[^:]+: 25e04017 whilege pn15\.d, x0, x0, vlx2 +[^:]+: 25e043d0 whilege pn8\.d, x30, x0, vlx2 +[^:]+: 25e043f0 whilege pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4010 whilege pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4010 whilege pn8\.d, x0, xzr, vlx2 +[^:]+: 25e96355 whilege pn13\.d, x26, x9, vlx4 +[^:]+: 25204018 whilegt pn8\.b, x0, x0, vlx2 +[^:]+: 25206018 whilegt pn8\.b, x0, x0, vlx4 +[^:]+: 25204018 whilegt pn8\.b, x0, x0, vlx2 +[^:]+: 25206018 whilegt pn8\.b, x0, x0, vlx4 +[^:]+: 2520401f whilegt pn15\.b, x0, x0, vlx2 +[^:]+: 252043d8 whilegt pn8\.b, x30, x0, vlx2 +[^:]+: 252043f8 whilegt pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4018 whilegt pn8\.b, x0, x30, vlx2 +[^:]+: 253f4018 whilegt pn8\.b, x0, xzr, vlx2 +[^:]+: 2521629b whilegt pn11\.b, x20, x1, vlx4 +[^:]+: 25604018 whilegt pn8\.h, x0, x0, vlx2 +[^:]+: 25606018 whilegt pn8\.h, x0, x0, vlx4 +[^:]+: 25604018 whilegt pn8\.h, x0, x0, vlx2 +[^:]+: 25606018 whilegt pn8\.h, x0, x0, vlx4 +[^:]+: 2560401f whilegt pn15\.h, x0, x0, vlx2 +[^:]+: 256043d8 whilegt pn8\.h, x30, x0, vlx2 +[^:]+: 256043f8 whilegt pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4018 whilegt pn8\.h, x0, x30, vlx2 +[^:]+: 257f4018 whilegt pn8\.h, x0, xzr, vlx2 +[^:]+: 257961de whilegt pn14\.h, x14, x25, vlx4 +[^:]+: 25a04018 whilegt pn8\.s, x0, x0, vlx2 +[^:]+: 25a06018 whilegt pn8\.s, x0, x0, vlx4 +[^:]+: 25a04018 whilegt pn8\.s, x0, x0, vlx2 +[^:]+: 25a06018 whilegt pn8\.s, x0, x0, vlx4 +[^:]+: 25a0401f whilegt pn15\.s, x0, x0, vlx2 +[^:]+: 25a043d8 whilegt pn8\.s, x30, x0, vlx2 +[^:]+: 25a043f8 whilegt pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4018 whilegt pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4018 whilegt pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4099 whilegt pn9\.s, x4, x27, vlx2 +[^:]+: 25e04018 whilegt pn8\.d, x0, x0, vlx2 +[^:]+: 25e06018 whilegt pn8\.d, x0, x0, vlx4 +[^:]+: 25e04018 whilegt pn8\.d, x0, x0, vlx2 +[^:]+: 25e06018 whilegt pn8\.d, x0, x0, vlx4 +[^:]+: 25e0401f whilegt pn15\.d, x0, x0, vlx2 +[^:]+: 25e043d8 whilegt pn8\.d, x30, x0, vlx2 +[^:]+: 25e043f8 whilegt pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4018 whilegt pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4018 whilegt pn8\.d, x0, xzr, vlx2 +[^:]+: 25e9635d whilegt pn13\.d, x26, x9, vlx4 +[^:]+: 25204818 whilehi pn8\.b, x0, x0, vlx2 +[^:]+: 25206818 whilehi pn8\.b, x0, x0, vlx4 +[^:]+: 25204818 whilehi pn8\.b, x0, x0, vlx2 +[^:]+: 25206818 whilehi pn8\.b, x0, x0, vlx4 +[^:]+: 2520481f whilehi pn15\.b, x0, x0, vlx2 +[^:]+: 25204bd8 whilehi pn8\.b, x30, x0, vlx2 +[^:]+: 25204bf8 whilehi pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4818 whilehi pn8\.b, x0, x30, vlx2 +[^:]+: 253f4818 whilehi pn8\.b, x0, xzr, vlx2 +[^:]+: 25216a9b whilehi pn11\.b, x20, x1, vlx4 +[^:]+: 25604818 whilehi pn8\.h, x0, x0, vlx2 +[^:]+: 25606818 whilehi pn8\.h, x0, x0, vlx4 +[^:]+: 25604818 whilehi pn8\.h, x0, x0, vlx2 +[^:]+: 25606818 whilehi pn8\.h, x0, x0, vlx4 +[^:]+: 2560481f whilehi pn15\.h, x0, x0, vlx2 +[^:]+: 25604bd8 whilehi pn8\.h, x30, x0, vlx2 +[^:]+: 25604bf8 whilehi pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4818 whilehi pn8\.h, x0, x30, vlx2 +[^:]+: 257f4818 whilehi pn8\.h, x0, xzr, vlx2 +[^:]+: 257969de whilehi pn14\.h, x14, x25, vlx4 +[^:]+: 25a04818 whilehi pn8\.s, x0, x0, vlx2 +[^:]+: 25a06818 whilehi pn8\.s, x0, x0, vlx4 +[^:]+: 25a04818 whilehi pn8\.s, x0, x0, vlx2 +[^:]+: 25a06818 whilehi pn8\.s, x0, x0, vlx4 +[^:]+: 25a0481f whilehi pn15\.s, x0, x0, vlx2 +[^:]+: 25a04bd8 whilehi pn8\.s, x30, x0, vlx2 +[^:]+: 25a04bf8 whilehi pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4818 whilehi pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4818 whilehi pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4899 whilehi pn9\.s, x4, x27, vlx2 +[^:]+: 25e04818 whilehi pn8\.d, x0, x0, vlx2 +[^:]+: 25e06818 whilehi pn8\.d, x0, x0, vlx4 +[^:]+: 25e04818 whilehi pn8\.d, x0, x0, vlx2 +[^:]+: 25e06818 whilehi pn8\.d, x0, x0, vlx4 +[^:]+: 25e0481f whilehi pn15\.d, x0, x0, vlx2 +[^:]+: 25e04bd8 whilehi pn8\.d, x30, x0, vlx2 +[^:]+: 25e04bf8 whilehi pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4818 whilehi pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4818 whilehi pn8\.d, x0, xzr, vlx2 +[^:]+: 25e96b5d whilehi pn13\.d, x26, x9, vlx4 +[^:]+: 25204810 whilehs pn8\.b, x0, x0, vlx2 +[^:]+: 25206810 whilehs pn8\.b, x0, x0, vlx4 +[^:]+: 25204810 whilehs pn8\.b, x0, x0, vlx2 +[^:]+: 25206810 whilehs pn8\.b, x0, x0, vlx4 +[^:]+: 25204817 whilehs pn15\.b, x0, x0, vlx2 +[^:]+: 25204bd0 whilehs pn8\.b, x30, x0, vlx2 +[^:]+: 25204bf0 whilehs pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4810 whilehs pn8\.b, x0, x30, vlx2 +[^:]+: 253f4810 whilehs pn8\.b, x0, xzr, vlx2 +[^:]+: 25216a93 whilehs pn11\.b, x20, x1, vlx4 +[^:]+: 25604810 whilehs pn8\.h, x0, x0, vlx2 +[^:]+: 25606810 whilehs pn8\.h, x0, x0, vlx4 +[^:]+: 25604810 whilehs pn8\.h, x0, x0, vlx2 +[^:]+: 25606810 whilehs pn8\.h, x0, x0, vlx4 +[^:]+: 25604817 whilehs pn15\.h, x0, x0, vlx2 +[^:]+: 25604bd0 whilehs pn8\.h, x30, x0, vlx2 +[^:]+: 25604bf0 whilehs pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4810 whilehs pn8\.h, x0, x30, vlx2 +[^:]+: 257f4810 whilehs pn8\.h, x0, xzr, vlx2 +[^:]+: 257969d6 whilehs pn14\.h, x14, x25, vlx4 +[^:]+: 25a04810 whilehs pn8\.s, x0, x0, vlx2 +[^:]+: 25a06810 whilehs pn8\.s, x0, x0, vlx4 +[^:]+: 25a04810 whilehs pn8\.s, x0, x0, vlx2 +[^:]+: 25a06810 whilehs pn8\.s, x0, x0, vlx4 +[^:]+: 25a04817 whilehs pn15\.s, x0, x0, vlx2 +[^:]+: 25a04bd0 whilehs pn8\.s, x30, x0, vlx2 +[^:]+: 25a04bf0 whilehs pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4810 whilehs pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4810 whilehs pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4891 whilehs pn9\.s, x4, x27, vlx2 +[^:]+: 25e04810 whilehs pn8\.d, x0, x0, vlx2 +[^:]+: 25e06810 whilehs pn8\.d, x0, x0, vlx4 +[^:]+: 25e04810 whilehs pn8\.d, x0, x0, vlx2 +[^:]+: 25e06810 whilehs pn8\.d, x0, x0, vlx4 +[^:]+: 25e04817 whilehs pn15\.d, x0, x0, vlx2 +[^:]+: 25e04bd0 whilehs pn8\.d, x30, x0, vlx2 +[^:]+: 25e04bf0 whilehs pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4810 whilehs pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4810 whilehs pn8\.d, x0, xzr, vlx2 +[^:]+: 25e96b55 whilehs pn13\.d, x26, x9, vlx4 +[^:]+: 25204418 whilele pn8\.b, x0, x0, vlx2 +[^:]+: 25206418 whilele pn8\.b, x0, x0, vlx4 +[^:]+: 25204418 whilele pn8\.b, x0, x0, vlx2 +[^:]+: 25206418 whilele pn8\.b, x0, x0, vlx4 +[^:]+: 2520441f whilele pn15\.b, x0, x0, vlx2 +[^:]+: 252047d8 whilele pn8\.b, x30, x0, vlx2 +[^:]+: 252047f8 whilele pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4418 whilele pn8\.b, x0, x30, vlx2 +[^:]+: 253f4418 whilele pn8\.b, x0, xzr, vlx2 +[^:]+: 2521669b whilele pn11\.b, x20, x1, vlx4 +[^:]+: 25604418 whilele pn8\.h, x0, x0, vlx2 +[^:]+: 25606418 whilele pn8\.h, x0, x0, vlx4 +[^:]+: 25604418 whilele pn8\.h, x0, x0, vlx2 +[^:]+: 25606418 whilele pn8\.h, x0, x0, vlx4 +[^:]+: 2560441f whilele pn15\.h, x0, x0, vlx2 +[^:]+: 256047d8 whilele pn8\.h, x30, x0, vlx2 +[^:]+: 256047f8 whilele pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4418 whilele pn8\.h, x0, x30, vlx2 +[^:]+: 257f4418 whilele pn8\.h, x0, xzr, vlx2 +[^:]+: 257965de whilele pn14\.h, x14, x25, vlx4 +[^:]+: 25a04418 whilele pn8\.s, x0, x0, vlx2 +[^:]+: 25a06418 whilele pn8\.s, x0, x0, vlx4 +[^:]+: 25a04418 whilele pn8\.s, x0, x0, vlx2 +[^:]+: 25a06418 whilele pn8\.s, x0, x0, vlx4 +[^:]+: 25a0441f whilele pn15\.s, x0, x0, vlx2 +[^:]+: 25a047d8 whilele pn8\.s, x30, x0, vlx2 +[^:]+: 25a047f8 whilele pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4418 whilele pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4418 whilele pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4499 whilele pn9\.s, x4, x27, vlx2 +[^:]+: 25e04418 whilele pn8\.d, x0, x0, vlx2 +[^:]+: 25e06418 whilele pn8\.d, x0, x0, vlx4 +[^:]+: 25e04418 whilele pn8\.d, x0, x0, vlx2 +[^:]+: 25e06418 whilele pn8\.d, x0, x0, vlx4 +[^:]+: 25e0441f whilele pn15\.d, x0, x0, vlx2 +[^:]+: 25e047d8 whilele pn8\.d, x30, x0, vlx2 +[^:]+: 25e047f8 whilele pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4418 whilele pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4418 whilele pn8\.d, x0, xzr, vlx2 +[^:]+: 25e9675d whilele pn13\.d, x26, x9, vlx4 +[^:]+: 25204410 whilelt pn8\.b, x0, x0, vlx2 +[^:]+: 25206410 whilelt pn8\.b, x0, x0, vlx4 +[^:]+: 25204410 whilelt pn8\.b, x0, x0, vlx2 +[^:]+: 25206410 whilelt pn8\.b, x0, x0, vlx4 +[^:]+: 25204417 whilelt pn15\.b, x0, x0, vlx2 +[^:]+: 252047d0 whilelt pn8\.b, x30, x0, vlx2 +[^:]+: 252047f0 whilelt pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4410 whilelt pn8\.b, x0, x30, vlx2 +[^:]+: 253f4410 whilelt pn8\.b, x0, xzr, vlx2 +[^:]+: 25216693 whilelt pn11\.b, x20, x1, vlx4 +[^:]+: 25604410 whilelt pn8\.h, x0, x0, vlx2 +[^:]+: 25606410 whilelt pn8\.h, x0, x0, vlx4 +[^:]+: 25604410 whilelt pn8\.h, x0, x0, vlx2 +[^:]+: 25606410 whilelt pn8\.h, x0, x0, vlx4 +[^:]+: 25604417 whilelt pn15\.h, x0, x0, vlx2 +[^:]+: 256047d0 whilelt pn8\.h, x30, x0, vlx2 +[^:]+: 256047f0 whilelt pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4410 whilelt pn8\.h, x0, x30, vlx2 +[^:]+: 257f4410 whilelt pn8\.h, x0, xzr, vlx2 +[^:]+: 257965d6 whilelt pn14\.h, x14, x25, vlx4 +[^:]+: 25a04410 whilelt pn8\.s, x0, x0, vlx2 +[^:]+: 25a06410 whilelt pn8\.s, x0, x0, vlx4 +[^:]+: 25a04410 whilelt pn8\.s, x0, x0, vlx2 +[^:]+: 25a06410 whilelt pn8\.s, x0, x0, vlx4 +[^:]+: 25a04417 whilelt pn15\.s, x0, x0, vlx2 +[^:]+: 25a047d0 whilelt pn8\.s, x30, x0, vlx2 +[^:]+: 25a047f0 whilelt pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4410 whilelt pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4410 whilelt pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4491 whilelt pn9\.s, x4, x27, vlx2 +[^:]+: 25e04410 whilelt pn8\.d, x0, x0, vlx2 +[^:]+: 25e06410 whilelt pn8\.d, x0, x0, vlx4 +[^:]+: 25e04410 whilelt pn8\.d, x0, x0, vlx2 +[^:]+: 25e06410 whilelt pn8\.d, x0, x0, vlx4 +[^:]+: 25e04417 whilelt pn15\.d, x0, x0, vlx2 +[^:]+: 25e047d0 whilelt pn8\.d, x30, x0, vlx2 +[^:]+: 25e047f0 whilelt pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4410 whilelt pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4410 whilelt pn8\.d, x0, xzr, vlx2 +[^:]+: 25e96755 whilelt pn13\.d, x26, x9, vlx4 +[^:]+: 25204c10 whilelo pn8\.b, x0, x0, vlx2 +[^:]+: 25206c10 whilelo pn8\.b, x0, x0, vlx4 +[^:]+: 25204c10 whilelo pn8\.b, x0, x0, vlx2 +[^:]+: 25206c10 whilelo pn8\.b, x0, x0, vlx4 +[^:]+: 25204c17 whilelo pn15\.b, x0, x0, vlx2 +[^:]+: 25204fd0 whilelo pn8\.b, x30, x0, vlx2 +[^:]+: 25204ff0 whilelo pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4c10 whilelo pn8\.b, x0, x30, vlx2 +[^:]+: 253f4c10 whilelo pn8\.b, x0, xzr, vlx2 +[^:]+: 25216e93 whilelo pn11\.b, x20, x1, vlx4 +[^:]+: 25604c10 whilelo pn8\.h, x0, x0, vlx2 +[^:]+: 25606c10 whilelo pn8\.h, x0, x0, vlx4 +[^:]+: 25604c10 whilelo pn8\.h, x0, x0, vlx2 +[^:]+: 25606c10 whilelo pn8\.h, x0, x0, vlx4 +[^:]+: 25604c17 whilelo pn15\.h, x0, x0, vlx2 +[^:]+: 25604fd0 whilelo pn8\.h, x30, x0, vlx2 +[^:]+: 25604ff0 whilelo pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4c10 whilelo pn8\.h, x0, x30, vlx2 +[^:]+: 257f4c10 whilelo pn8\.h, x0, xzr, vlx2 +[^:]+: 25796dd6 whilelo pn14\.h, x14, x25, vlx4 +[^:]+: 25a04c10 whilelo pn8\.s, x0, x0, vlx2 +[^:]+: 25a06c10 whilelo pn8\.s, x0, x0, vlx4 +[^:]+: 25a04c10 whilelo pn8\.s, x0, x0, vlx2 +[^:]+: 25a06c10 whilelo pn8\.s, x0, x0, vlx4 +[^:]+: 25a04c17 whilelo pn15\.s, x0, x0, vlx2 +[^:]+: 25a04fd0 whilelo pn8\.s, x30, x0, vlx2 +[^:]+: 25a04ff0 whilelo pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4c10 whilelo pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4c10 whilelo pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4c91 whilelo pn9\.s, x4, x27, vlx2 +[^:]+: 25e04c10 whilelo pn8\.d, x0, x0, vlx2 +[^:]+: 25e06c10 whilelo pn8\.d, x0, x0, vlx4 +[^:]+: 25e04c10 whilelo pn8\.d, x0, x0, vlx2 +[^:]+: 25e06c10 whilelo pn8\.d, x0, x0, vlx4 +[^:]+: 25e04c17 whilelo pn15\.d, x0, x0, vlx2 +[^:]+: 25e04fd0 whilelo pn8\.d, x30, x0, vlx2 +[^:]+: 25e04ff0 whilelo pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4c10 whilelo pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4c10 whilelo pn8\.d, x0, xzr, vlx2 +[^:]+: 25e96f55 whilelo pn13\.d, x26, x9, vlx4 +[^:]+: 25204c18 whilels pn8\.b, x0, x0, vlx2 +[^:]+: 25206c18 whilels pn8\.b, x0, x0, vlx4 +[^:]+: 25204c18 whilels pn8\.b, x0, x0, vlx2 +[^:]+: 25206c18 whilels pn8\.b, x0, x0, vlx4 +[^:]+: 25204c1f whilels pn15\.b, x0, x0, vlx2 +[^:]+: 25204fd8 whilels pn8\.b, x30, x0, vlx2 +[^:]+: 25204ff8 whilels pn8\.b, xzr, x0, vlx2 +[^:]+: 253e4c18 whilels pn8\.b, x0, x30, vlx2 +[^:]+: 253f4c18 whilels pn8\.b, x0, xzr, vlx2 +[^:]+: 25216e9b whilels pn11\.b, x20, x1, vlx4 +[^:]+: 25604c18 whilels pn8\.h, x0, x0, vlx2 +[^:]+: 25606c18 whilels pn8\.h, x0, x0, vlx4 +[^:]+: 25604c18 whilels pn8\.h, x0, x0, vlx2 +[^:]+: 25606c18 whilels pn8\.h, x0, x0, vlx4 +[^:]+: 25604c1f whilels pn15\.h, x0, x0, vlx2 +[^:]+: 25604fd8 whilels pn8\.h, x30, x0, vlx2 +[^:]+: 25604ff8 whilels pn8\.h, xzr, x0, vlx2 +[^:]+: 257e4c18 whilels pn8\.h, x0, x30, vlx2 +[^:]+: 257f4c18 whilels pn8\.h, x0, xzr, vlx2 +[^:]+: 25796dde whilels pn14\.h, x14, x25, vlx4 +[^:]+: 25a04c18 whilels pn8\.s, x0, x0, vlx2 +[^:]+: 25a06c18 whilels pn8\.s, x0, x0, vlx4 +[^:]+: 25a04c18 whilels pn8\.s, x0, x0, vlx2 +[^:]+: 25a06c18 whilels pn8\.s, x0, x0, vlx4 +[^:]+: 25a04c1f whilels pn15\.s, x0, x0, vlx2 +[^:]+: 25a04fd8 whilels pn8\.s, x30, x0, vlx2 +[^:]+: 25a04ff8 whilels pn8\.s, xzr, x0, vlx2 +[^:]+: 25be4c18 whilels pn8\.s, x0, x30, vlx2 +[^:]+: 25bf4c18 whilels pn8\.s, x0, xzr, vlx2 +[^:]+: 25bb4c99 whilels pn9\.s, x4, x27, vlx2 +[^:]+: 25e04c18 whilels pn8\.d, x0, x0, vlx2 +[^:]+: 25e06c18 whilels pn8\.d, x0, x0, vlx4 +[^:]+: 25e04c18 whilels pn8\.d, x0, x0, vlx2 +[^:]+: 25e06c18 whilels pn8\.d, x0, x0, vlx4 +[^:]+: 25e04c1f whilels pn15\.d, x0, x0, vlx2 +[^:]+: 25e04fd8 whilels pn8\.d, x30, x0, vlx2 +[^:]+: 25e04ff8 whilels pn8\.d, xzr, x0, vlx2 +[^:]+: 25fe4c18 whilels pn8\.d, x0, x30, vlx2 +[^:]+: 25ff4c18 whilels pn8\.d, x0, xzr, vlx2 +[^:]+: 25e96f5d whilels pn13\.d, x26, x9, vlx4 diff --git a/gas/testsuite/gas/aarch64/sme2-7.s b/gas/testsuite/gas/aarch64/sme2-7.s new file mode 100644 index 0000000..e064a6a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-7.s @@ -0,0 +1,351 @@ + whilege pn8.b, x0, x0, vlx2 + whilege pn8.b, x0, x0, vlx4 + WHILEGE PN8.B, X0, X0, VLx2 + WHILEGE PN8.B, X0, X0, VLx4 + whilege pn15.b, x0, x0, vlx2 + whilege pn8.b, x30, x0, vlx2 + whilege pn8.b, xzr, x0, vlx2 + whilege pn8.b, x0, x30, vlx2 + whilege pn8.b, x0, xzr, vlx2 + whilege pn11.b, x20, x1, vlx4 + + whilege pn8.h, x0, x0, vlx2 + whilege pn8.h, x0, x0, vlx4 + WHILEGE PN8.h, X0, X0, VLx2 + WHILEGE PN8.h, X0, X0, VLx4 + whilege pn15.h, x0, x0, vlx2 + whilege pn8.h, x30, x0, vlx2 + whilege pn8.h, xzr, x0, vlx2 + whilege pn8.h, x0, x30, vlx2 + whilege pn8.h, x0, xzr, vlx2 + whilege pn14.h, x14, x25, vlx4 + + whilege pn8.s, x0, x0, vlx2 + whilege pn8.s, x0, x0, vlx4 + WHILEGE PN8.s, X0, X0, VLx2 + WHILEGE PN8.s, X0, X0, VLx4 + whilege pn15.s, x0, x0, vlx2 + whilege pn8.s, x30, x0, vlx2 + whilege pn8.s, xzr, x0, vlx2 + whilege pn8.s, x0, x30, vlx2 + whilege pn8.s, x0, xzr, vlx2 + whilege pn9.s, x4, x27, vlx2 + + whilege pn8.d, x0, x0, vlx2 + whilege pn8.d, x0, x0, vlx4 + WHILEGE PN8.d, X0, X0, VLx2 + WHILEGE PN8.d, X0, X0, VLx4 + whilege pn15.d, x0, x0, vlx2 + whilege pn8.d, x30, x0, vlx2 + whilege pn8.d, xzr, x0, vlx2 + whilege pn8.d, x0, x30, vlx2 + whilege pn8.d, x0, xzr, vlx2 + whilege pn13.d, x26, x9, vlx4 + + whilegt pn8.b, x0, x0, vlx2 + whilegt pn8.b, x0, x0, vlx4 + WHILEGT PN8.B, X0, X0, VLx2 + WHILEGT PN8.B, X0, X0, VLx4 + whilegt pn15.b, x0, x0, vlx2 + whilegt pn8.b, x30, x0, vlx2 + whilegt pn8.b, xzr, x0, vlx2 + whilegt pn8.b, x0, x30, vlx2 + whilegt pn8.b, x0, xzr, vlx2 + whilegt pn11.b, x20, x1, vlx4 + + whilegt pn8.h, x0, x0, vlx2 + whilegt pn8.h, x0, x0, vlx4 + WHILEGT PN8.h, X0, X0, VLx2 + WHILEGT PN8.h, X0, X0, VLx4 + whilegt pn15.h, x0, x0, vlx2 + whilegt pn8.h, x30, x0, vlx2 + whilegt pn8.h, xzr, x0, vlx2 + whilegt pn8.h, x0, x30, vlx2 + whilegt pn8.h, x0, xzr, vlx2 + whilegt pn14.h, x14, x25, vlx4 + + whilegt pn8.s, x0, x0, vlx2 + whilegt pn8.s, x0, x0, vlx4 + WHILEGT PN8.s, X0, X0, VLx2 + WHILEGT PN8.s, X0, X0, VLx4 + whilegt pn15.s, x0, x0, vlx2 + whilegt pn8.s, x30, x0, vlx2 + whilegt pn8.s, xzr, x0, vlx2 + whilegt pn8.s, x0, x30, vlx2 + whilegt pn8.s, x0, xzr, vlx2 + whilegt pn9.s, x4, x27, vlx2 + + whilegt pn8.d, x0, x0, vlx2 + whilegt pn8.d, x0, x0, vlx4 + WHILEGT PN8.d, X0, X0, VLx2 + WHILEGT PN8.d, X0, X0, VLx4 + whilegt pn15.d, x0, x0, vlx2 + whilegt pn8.d, x30, x0, vlx2 + whilegt pn8.d, xzr, x0, vlx2 + whilegt pn8.d, x0, x30, vlx2 + whilegt pn8.d, x0, xzr, vlx2 + whilegt pn13.d, x26, x9, vlx4 + + whilehi pn8.b, x0, x0, vlx2 + whilehi pn8.b, x0, x0, vlx4 + WHILEHI PN8.B, X0, X0, VLx2 + WHILEHI PN8.B, X0, X0, VLx4 + whilehi pn15.b, x0, x0, vlx2 + whilehi pn8.b, x30, x0, vlx2 + whilehi pn8.b, xzr, x0, vlx2 + whilehi pn8.b, x0, x30, vlx2 + whilehi pn8.b, x0, xzr, vlx2 + whilehi pn11.b, x20, x1, vlx4 + + whilehi pn8.h, x0, x0, vlx2 + whilehi pn8.h, x0, x0, vlx4 + WHILEHI PN8.h, X0, X0, VLx2 + WHILEHI PN8.h, X0, X0, VLx4 + whilehi pn15.h, x0, x0, vlx2 + whilehi pn8.h, x30, x0, vlx2 + whilehi pn8.h, xzr, x0, vlx2 + whilehi pn8.h, x0, x30, vlx2 + whilehi pn8.h, x0, xzr, vlx2 + whilehi pn14.h, x14, x25, vlx4 + + whilehi pn8.s, x0, x0, vlx2 + whilehi pn8.s, x0, x0, vlx4 + WHILEHI PN8.s, X0, X0, VLx2 + WHILEHI PN8.s, X0, X0, VLx4 + whilehi pn15.s, x0, x0, vlx2 + whilehi pn8.s, x30, x0, vlx2 + whilehi pn8.s, xzr, x0, vlx2 + whilehi pn8.s, x0, x30, vlx2 + whilehi pn8.s, x0, xzr, vlx2 + whilehi pn9.s, x4, x27, vlx2 + + whilehi pn8.d, x0, x0, vlx2 + whilehi pn8.d, x0, x0, vlx4 + WHILEHI PN8.d, X0, X0, VLx2 + WHILEHI PN8.d, X0, X0, VLx4 + whilehi pn15.d, x0, x0, vlx2 + whilehi pn8.d, x30, x0, vlx2 + whilehi pn8.d, xzr, x0, vlx2 + whilehi pn8.d, x0, x30, vlx2 + whilehi pn8.d, x0, xzr, vlx2 + whilehi pn13.d, x26, x9, vlx4 + + whilehs pn8.b, x0, x0, vlx2 + whilehs pn8.b, x0, x0, vlx4 + WHILEHS PN8.B, X0, X0, VLx2 + WHILEHS PN8.B, X0, X0, VLx4 + whilehs pn15.b, x0, x0, vlx2 + whilehs pn8.b, x30, x0, vlx2 + whilehs pn8.b, xzr, x0, vlx2 + whilehs pn8.b, x0, x30, vlx2 + whilehs pn8.b, x0, xzr, vlx2 + whilehs pn11.b, x20, x1, vlx4 + + whilehs pn8.h, x0, x0, vlx2 + whilehs pn8.h, x0, x0, vlx4 + WHILEHS PN8.h, X0, X0, VLx2 + WHILEHS PN8.h, X0, X0, VLx4 + whilehs pn15.h, x0, x0, vlx2 + whilehs pn8.h, x30, x0, vlx2 + whilehs pn8.h, xzr, x0, vlx2 + whilehs pn8.h, x0, x30, vlx2 + whilehs pn8.h, x0, xzr, vlx2 + whilehs pn14.h, x14, x25, vlx4 + + whilehs pn8.s, x0, x0, vlx2 + whilehs pn8.s, x0, x0, vlx4 + WHILEHS PN8.s, X0, X0, VLx2 + WHILEHS PN8.s, X0, X0, VLx4 + whilehs pn15.s, x0, x0, vlx2 + whilehs pn8.s, x30, x0, vlx2 + whilehs pn8.s, xzr, x0, vlx2 + whilehs pn8.s, x0, x30, vlx2 + whilehs pn8.s, x0, xzr, vlx2 + whilehs pn9.s, x4, x27, vlx2 + + whilehs pn8.d, x0, x0, vlx2 + whilehs pn8.d, x0, x0, vlx4 + WHILEHS PN8.d, X0, X0, VLx2 + WHILEHS PN8.d, X0, X0, VLx4 + whilehs pn15.d, x0, x0, vlx2 + whilehs pn8.d, x30, x0, vlx2 + whilehs pn8.d, xzr, x0, vlx2 + whilehs pn8.d, x0, x30, vlx2 + whilehs pn8.d, x0, xzr, vlx2 + whilehs pn13.d, x26, x9, vlx4 + + whilele pn8.b, x0, x0, vlx2 + whilele pn8.b, x0, x0, vlx4 + WHILELE PN8.B, X0, X0, VLx2 + WHILELE PN8.B, X0, X0, VLx4 + whilele pn15.b, x0, x0, vlx2 + whilele pn8.b, x30, x0, vlx2 + whilele pn8.b, xzr, x0, vlx2 + whilele pn8.b, x0, x30, vlx2 + whilele pn8.b, x0, xzr, vlx2 + whilele pn11.b, x20, x1, vlx4 + + whilele pn8.h, x0, x0, vlx2 + whilele pn8.h, x0, x0, vlx4 + WHILELE PN8.h, X0, X0, VLx2 + WHILELE PN8.h, X0, X0, VLx4 + whilele pn15.h, x0, x0, vlx2 + whilele pn8.h, x30, x0, vlx2 + whilele pn8.h, xzr, x0, vlx2 + whilele pn8.h, x0, x30, vlx2 + whilele pn8.h, x0, xzr, vlx2 + whilele pn14.h, x14, x25, vlx4 + + whilele pn8.s, x0, x0, vlx2 + whilele pn8.s, x0, x0, vlx4 + WHILELE PN8.s, X0, X0, VLx2 + WHILELE PN8.s, X0, X0, VLx4 + whilele pn15.s, x0, x0, vlx2 + whilele pn8.s, x30, x0, vlx2 + whilele pn8.s, xzr, x0, vlx2 + whilele pn8.s, x0, x30, vlx2 + whilele pn8.s, x0, xzr, vlx2 + whilele pn9.s, x4, x27, vlx2 + + whilele pn8.d, x0, x0, vlx2 + whilele pn8.d, x0, x0, vlx4 + WHILELE PN8.d, X0, X0, VLx2 + WHILELE PN8.d, X0, X0, VLx4 + whilele pn15.d, x0, x0, vlx2 + whilele pn8.d, x30, x0, vlx2 + whilele pn8.d, xzr, x0, vlx2 + whilele pn8.d, x0, x30, vlx2 + whilele pn8.d, x0, xzr, vlx2 + whilele pn13.d, x26, x9, vlx4 + + whilelt pn8.b, x0, x0, vlx2 + whilelt pn8.b, x0, x0, vlx4 + WHILELT PN8.B, X0, X0, VLx2 + WHILELT PN8.B, X0, X0, VLx4 + whilelt pn15.b, x0, x0, vlx2 + whilelt pn8.b, x30, x0, vlx2 + whilelt pn8.b, xzr, x0, vlx2 + whilelt pn8.b, x0, x30, vlx2 + whilelt pn8.b, x0, xzr, vlx2 + whilelt pn11.b, x20, x1, vlx4 + + whilelt pn8.h, x0, x0, vlx2 + whilelt pn8.h, x0, x0, vlx4 + WHILELT PN8.h, X0, X0, VLx2 + WHILELT PN8.h, X0, X0, VLx4 + whilelt pn15.h, x0, x0, vlx2 + whilelt pn8.h, x30, x0, vlx2 + whilelt pn8.h, xzr, x0, vlx2 + whilelt pn8.h, x0, x30, vlx2 + whilelt pn8.h, x0, xzr, vlx2 + whilelt pn14.h, x14, x25, vlx4 + + whilelt pn8.s, x0, x0, vlx2 + whilelt pn8.s, x0, x0, vlx4 + WHILELT PN8.s, X0, X0, VLx2 + WHILELT PN8.s, X0, X0, VLx4 + whilelt pn15.s, x0, x0, vlx2 + whilelt pn8.s, x30, x0, vlx2 + whilelt pn8.s, xzr, x0, vlx2 + whilelt pn8.s, x0, x30, vlx2 + whilelt pn8.s, x0, xzr, vlx2 + whilelt pn9.s, x4, x27, vlx2 + + whilelt pn8.d, x0, x0, vlx2 + whilelt pn8.d, x0, x0, vlx4 + WHILELT PN8.d, X0, X0, VLx2 + WHILELT PN8.d, X0, X0, VLx4 + whilelt pn15.d, x0, x0, vlx2 + whilelt pn8.d, x30, x0, vlx2 + whilelt pn8.d, xzr, x0, vlx2 + whilelt pn8.d, x0, x30, vlx2 + whilelt pn8.d, x0, xzr, vlx2 + whilelt pn13.d, x26, x9, vlx4 + + whilelo pn8.b, x0, x0, vlx2 + whilelo pn8.b, x0, x0, vlx4 + WHILELO PN8.B, X0, X0, VLx2 + WHILELO PN8.B, X0, X0, VLx4 + whilelo pn15.b, x0, x0, vlx2 + whilelo pn8.b, x30, x0, vlx2 + whilelo pn8.b, xzr, x0, vlx2 + whilelo pn8.b, x0, x30, vlx2 + whilelo pn8.b, x0, xzr, vlx2 + whilelo pn11.b, x20, x1, vlx4 + + whilelo pn8.h, x0, x0, vlx2 + whilelo pn8.h, x0, x0, vlx4 + WHILELO PN8.h, X0, X0, VLx2 + WHILELO PN8.h, X0, X0, VLx4 + whilelo pn15.h, x0, x0, vlx2 + whilelo pn8.h, x30, x0, vlx2 + whilelo pn8.h, xzr, x0, vlx2 + whilelo pn8.h, x0, x30, vlx2 + whilelo pn8.h, x0, xzr, vlx2 + whilelo pn14.h, x14, x25, vlx4 + + whilelo pn8.s, x0, x0, vlx2 + whilelo pn8.s, x0, x0, vlx4 + WHILELO PN8.s, X0, X0, VLx2 + WHILELO PN8.s, X0, X0, VLx4 + whilelo pn15.s, x0, x0, vlx2 + whilelo pn8.s, x30, x0, vlx2 + whilelo pn8.s, xzr, x0, vlx2 + whilelo pn8.s, x0, x30, vlx2 + whilelo pn8.s, x0, xzr, vlx2 + whilelo pn9.s, x4, x27, vlx2 + + whilelo pn8.d, x0, x0, vlx2 + whilelo pn8.d, x0, x0, vlx4 + WHILELO PN8.d, X0, X0, VLx2 + WHILELO PN8.d, X0, X0, VLx4 + whilelo pn15.d, x0, x0, vlx2 + whilelo pn8.d, x30, x0, vlx2 + whilelo pn8.d, xzr, x0, vlx2 + whilelo pn8.d, x0, x30, vlx2 + whilelo pn8.d, x0, xzr, vlx2 + whilelo pn13.d, x26, x9, vlx4 + + whilels pn8.b, x0, x0, vlx2 + whilels pn8.b, x0, x0, vlx4 + WHILELS PN8.B, X0, X0, VLx2 + WHILELS PN8.B, X0, X0, VLx4 + whilels pn15.b, x0, x0, vlx2 + whilels pn8.b, x30, x0, vlx2 + whilels pn8.b, xzr, x0, vlx2 + whilels pn8.b, x0, x30, vlx2 + whilels pn8.b, x0, xzr, vlx2 + whilels pn11.b, x20, x1, vlx4 + + whilels pn8.h, x0, x0, vlx2 + whilels pn8.h, x0, x0, vlx4 + WHILELS PN8.h, X0, X0, VLx2 + WHILELS PN8.h, X0, X0, VLx4 + whilels pn15.h, x0, x0, vlx2 + whilels pn8.h, x30, x0, vlx2 + whilels pn8.h, xzr, x0, vlx2 + whilels pn8.h, x0, x30, vlx2 + whilels pn8.h, x0, xzr, vlx2 + whilels pn14.h, x14, x25, vlx4 + + whilels pn8.s, x0, x0, vlx2 + whilels pn8.s, x0, x0, vlx4 + WHILELS PN8.s, X0, X0, VLx2 + WHILELS PN8.s, X0, X0, VLx4 + whilels pn15.s, x0, x0, vlx2 + whilels pn8.s, x30, x0, vlx2 + whilels pn8.s, xzr, x0, vlx2 + whilels pn8.s, x0, x30, vlx2 + whilels pn8.s, x0, xzr, vlx2 + whilels pn9.s, x4, x27, vlx2 + + whilels pn8.d, x0, x0, vlx2 + whilels pn8.d, x0, x0, vlx4 + WHILELS PN8.d, X0, X0, VLx2 + WHILELS PN8.d, X0, X0, VLx4 + whilels pn15.d, x0, x0, vlx2 + whilels pn8.d, x30, x0, vlx2 + whilels pn8.d, xzr, x0, vlx2 + whilels pn8.d, x0, x30, vlx2 + whilels pn8.d, x0, xzr, vlx2 + whilels pn13.d, x26, x9, vlx4 diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.l b/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.l index 70cfd59..99aa286 100644 --- a/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.l +++ b/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.l @@ -1,4 +1,7 @@ [^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `psel 0,pn0,p0\.b\[w12,0\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate-as-counter register at operand 2 -- `psel pn0,0,p0\.b\[w12,0\]' +[^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 3 -- `psel pn0,pn0,0' [^ :]+:[0-9]+: Error: expected a predicate-as-counter rather than predicate-as-mask register at operand 2 -- `psel pn0,p0,p0\.b\[w12,0\]' [^ :]+:[0-9]+: Error: expected an SVE predicate register at operand 1 -- `psel pn,pn0,p0\.b\[w12,0\]' [^ :]+:[0-9]+: Error: expected a predicate-as-mask rather than predicate-as-counter register at operand 3 -- `psel p0,p0,pn0\.b\[w12,0\]' diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.s b/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.s index c0da1d7..c131457 100644 --- a/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.s +++ b/gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.s @@ -1,3 +1,7 @@ + psel 0, pn0, p0.b[w12, 0] + psel pn0, 0, p0.b[w12, 0] + psel pn0, pn0, 0 + psel pn0, p0, p0.b[w12, 0] psel pn, pn0, p0.b[w12, 0] psel p0, p0, pn0.b[w12, 0] diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.d b/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.d new file mode 100644 index 0000000..79d4b38 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sve2-sme2-2-invalid.s +#error_output: sve2-sme2-2-invalid.l diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.l b/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.l new file mode 100644 index 0000000..161ea7a --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.l @@ -0,0 +1,25 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 1 -- `whilege {p0\.b},x0,x0' +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `whilege {p1\.b-p2\.b},x0,x0' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 1 -- `whilege {p0\.b-p2\.b},x0,x0' +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 1 -- `whilege {p0\.b-p3\.b},x0,x0' +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `whilege {p15\.b-p0\.b},x0,x0' +[^ :]+:[0-9]+: Error: the register list must have a stride of 1 at operand 1 -- `whilege {p0\.b,p8\.b},x0,x0' +[^ :]+:[0-9]+: Error: expected a predicate-as-mask rather than predicate-as-counter register at operand 1 -- `whilege {pn0\.b-pn1\.b},x0,x0' +[^ :]+:[0-9]+: Error: missing type suffix at operand 1 -- `whilege {p0-p1},x0,x0' +[^ :]+:[0-9]+: Error: operand mismatch -- `whilege {p0\.q-p1\.q},x0,x0' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: whilege {p0\.b-p1\.b}, x0, x0 +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: whilege {p0\.h-p1\.h}, x0, x0 +[^ :]+:[0-9]+: Info: whilege {p0\.s-p1\.s}, x0, x0 +[^ :]+:[0-9]+: Info: whilege {p0\.d-p1\.d}, x0, x0 +[^ :]+:[0-9]+: Error: operand mismatch -- `whilege {p0\.b-p1\.b},w0,w0' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: whilege {p0\.b-p1\.b}, x0, x0 +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: whilege {p0\.h-p1\.h}, x0, x0 +[^ :]+:[0-9]+: Info: whilege {p0\.s-p1\.s}, x0, x0 +[^ :]+:[0-9]+: Info: whilege {p0\.d-p1\.d}, x0, x0 +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 2 -- `whilege {p0\.b-p1\.b},sp,x0' +[^ :]+:[0-9]+: Error: expected an integer or zero register at operand 3 -- `whilege {p0\.b-p1\.b},x0,sp' diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.s b/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.s new file mode 100644 index 0000000..7f23473 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2-invalid.s @@ -0,0 +1,12 @@ + whilege { p0.b }, x0, x0 + whilege { p1.b - p2.b }, x0, x0 + whilege { p0.b - p2.b }, x0, x0 + whilege { p0.b - p3.b }, x0, x0 + whilege { p15.b - p0.b }, x0, x0 + whilege { p0.b, p8.b }, x0, x0 + whilege { pn0.b - pn1.b }, x0, x0 + whilege { p0 - p1 }, x0, x0 + whilege { p0.q - p1.q }, x0, x0 + whilege { p0.b - p1.b }, w0, w0 + whilege { p0.b - p1.b }, sp, x0 + whilege { p0.b - p1.b }, x0, sp diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2-noarch.d b/gas/testsuite/gas/aarch64/sve2-sme2-2-noarch.d new file mode 100644 index 0000000..bbb1787 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sve2-sme2-2.s +#error_output: sve2-sme2-2-noarch.l diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2-noarch.l b/gas/testsuite/gas/aarch64/sve2-sme2-2-noarch.l new file mode 100644 index 0000000..3152dd8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2-noarch.l @@ -0,0 +1,257 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilege {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilegt {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehi {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilehs {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilele {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelo {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilels {p4\.d-p5\.d},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.b-p1\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {P0\.B-P1\.B},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p14\.b-p15\.b},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.b-p1\.b},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.b-p1\.b},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.b-p1\.b},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.b-p1\.b},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p4\.b-p5\.b},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.h-p1\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {P0\.h-P1\.h},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p14\.h-p15\.h},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.h-p1\.h},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.h-p1\.h},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.h-p1\.h},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.h-p1\.h},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p4\.h-p5\.h},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.s-p1\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {P0\.s-P1\.s},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p14\.s-p15\.s},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.s-p1\.s},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.s-p1\.s},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.s-p1\.s},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.s-p1\.s},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p4\.s-p5\.s},x17,x19' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.d-p1\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {P0\.d-P1\.d},X0,X0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p14\.d-p15\.d},x0,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.d-p1\.d},x30,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.d-p1\.d},xzr,x0' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.d-p1\.d},x0,x30' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p0\.d-p1\.d},x0,xzr' +[^ :]+:[0-9]+: Error: selected processor does not support `whilelt {p4\.d-p5\.d},x17,x19' diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2.d b/gas/testsuite/gas/aarch64/sve2-sme2-2.d new file mode 100644 index 0000000..9e60d1f --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2.d @@ -0,0 +1,265 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: 25205010 whilege {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205010 whilege {p0\.b-p1\.b}, x0, x0 +[^:]+: 2520501e whilege {p14\.b-p15\.b}, x0, x0 +[^:]+: 252053d0 whilege {p0\.b-p1\.b}, x30, x0 +[^:]+: 252053f0 whilege {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5010 whilege {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5010 whilege {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335234 whilege {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605010 whilege {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605010 whilege {p0\.h-p1\.h}, x0, x0 +[^:]+: 2560501e whilege {p14\.h-p15\.h}, x0, x0 +[^:]+: 256053d0 whilege {p0\.h-p1\.h}, x30, x0 +[^:]+: 256053f0 whilege {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5010 whilege {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5010 whilege {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735234 whilege {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05010 whilege {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05010 whilege {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a0501e whilege {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a053d0 whilege {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a053f0 whilege {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5010 whilege {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5010 whilege {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35234 whilege {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05010 whilege {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05010 whilege {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e0501e whilege {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e053d0 whilege {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e053f0 whilege {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5010 whilege {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5010 whilege {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35234 whilege {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205011 whilegt {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205011 whilegt {p0\.b-p1\.b}, x0, x0 +[^:]+: 2520501f whilegt {p14\.b-p15\.b}, x0, x0 +[^:]+: 252053d1 whilegt {p0\.b-p1\.b}, x30, x0 +[^:]+: 252053f1 whilegt {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5011 whilegt {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5011 whilegt {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335235 whilegt {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605011 whilegt {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605011 whilegt {p0\.h-p1\.h}, x0, x0 +[^:]+: 2560501f whilegt {p14\.h-p15\.h}, x0, x0 +[^:]+: 256053d1 whilegt {p0\.h-p1\.h}, x30, x0 +[^:]+: 256053f1 whilegt {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5011 whilegt {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5011 whilegt {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735235 whilegt {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05011 whilegt {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05011 whilegt {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a0501f whilegt {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a053d1 whilegt {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a053f1 whilegt {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5011 whilegt {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5011 whilegt {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35235 whilegt {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05011 whilegt {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05011 whilegt {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e0501f whilegt {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e053d1 whilegt {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e053f1 whilegt {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5011 whilegt {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5011 whilegt {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35235 whilegt {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205811 whilehi {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205811 whilehi {p0\.b-p1\.b}, x0, x0 +[^:]+: 2520581f whilehi {p14\.b-p15\.b}, x0, x0 +[^:]+: 25205bd1 whilehi {p0\.b-p1\.b}, x30, x0 +[^:]+: 25205bf1 whilehi {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5811 whilehi {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5811 whilehi {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335a35 whilehi {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605811 whilehi {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605811 whilehi {p0\.h-p1\.h}, x0, x0 +[^:]+: 2560581f whilehi {p14\.h-p15\.h}, x0, x0 +[^:]+: 25605bd1 whilehi {p0\.h-p1\.h}, x30, x0 +[^:]+: 25605bf1 whilehi {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5811 whilehi {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5811 whilehi {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735a35 whilehi {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05811 whilehi {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05811 whilehi {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a0581f whilehi {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a05bd1 whilehi {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a05bf1 whilehi {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5811 whilehi {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5811 whilehi {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35a35 whilehi {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05811 whilehi {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05811 whilehi {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e0581f whilehi {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e05bd1 whilehi {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e05bf1 whilehi {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5811 whilehi {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5811 whilehi {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35a35 whilehi {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205810 whilehs {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205810 whilehs {p0\.b-p1\.b}, x0, x0 +[^:]+: 2520581e whilehs {p14\.b-p15\.b}, x0, x0 +[^:]+: 25205bd0 whilehs {p0\.b-p1\.b}, x30, x0 +[^:]+: 25205bf0 whilehs {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5810 whilehs {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5810 whilehs {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335a34 whilehs {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605810 whilehs {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605810 whilehs {p0\.h-p1\.h}, x0, x0 +[^:]+: 2560581e whilehs {p14\.h-p15\.h}, x0, x0 +[^:]+: 25605bd0 whilehs {p0\.h-p1\.h}, x30, x0 +[^:]+: 25605bf0 whilehs {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5810 whilehs {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5810 whilehs {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735a34 whilehs {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05810 whilehs {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05810 whilehs {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a0581e whilehs {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a05bd0 whilehs {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a05bf0 whilehs {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5810 whilehs {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5810 whilehs {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35a34 whilehs {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05810 whilehs {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05810 whilehs {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e0581e whilehs {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e05bd0 whilehs {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e05bf0 whilehs {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5810 whilehs {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5810 whilehs {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35a34 whilehs {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205411 whilele {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205411 whilele {p0\.b-p1\.b}, x0, x0 +[^:]+: 2520541f whilele {p14\.b-p15\.b}, x0, x0 +[^:]+: 252057d1 whilele {p0\.b-p1\.b}, x30, x0 +[^:]+: 252057f1 whilele {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5411 whilele {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5411 whilele {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335635 whilele {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605411 whilele {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605411 whilele {p0\.h-p1\.h}, x0, x0 +[^:]+: 2560541f whilele {p14\.h-p15\.h}, x0, x0 +[^:]+: 256057d1 whilele {p0\.h-p1\.h}, x30, x0 +[^:]+: 256057f1 whilele {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5411 whilele {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5411 whilele {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735635 whilele {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05411 whilele {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05411 whilele {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a0541f whilele {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a057d1 whilele {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a057f1 whilele {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5411 whilele {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5411 whilele {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35635 whilele {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05411 whilele {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05411 whilele {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e0541f whilele {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e057d1 whilele {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e057f1 whilele {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5411 whilele {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5411 whilele {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35635 whilele {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205c10 whilelo {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205c10 whilelo {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205c1e whilelo {p14\.b-p15\.b}, x0, x0 +[^:]+: 25205fd0 whilelo {p0\.b-p1\.b}, x30, x0 +[^:]+: 25205ff0 whilelo {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5c10 whilelo {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5c10 whilelo {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335e34 whilelo {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605c10 whilelo {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605c10 whilelo {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605c1e whilelo {p14\.h-p15\.h}, x0, x0 +[^:]+: 25605fd0 whilelo {p0\.h-p1\.h}, x30, x0 +[^:]+: 25605ff0 whilelo {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5c10 whilelo {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5c10 whilelo {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735e34 whilelo {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05c10 whilelo {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05c10 whilelo {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05c1e whilelo {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a05fd0 whilelo {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a05ff0 whilelo {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5c10 whilelo {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5c10 whilelo {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35e34 whilelo {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05c10 whilelo {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05c10 whilelo {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05c1e whilelo {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e05fd0 whilelo {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e05ff0 whilelo {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5c10 whilelo {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5c10 whilelo {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35e34 whilelo {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205c11 whilels {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205c11 whilels {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205c1f whilels {p14\.b-p15\.b}, x0, x0 +[^:]+: 25205fd1 whilels {p0\.b-p1\.b}, x30, x0 +[^:]+: 25205ff1 whilels {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5c11 whilels {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5c11 whilels {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335e35 whilels {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605c11 whilels {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605c11 whilels {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605c1f whilels {p14\.h-p15\.h}, x0, x0 +[^:]+: 25605fd1 whilels {p0\.h-p1\.h}, x30, x0 +[^:]+: 25605ff1 whilels {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5c11 whilels {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5c11 whilels {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735e35 whilels {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05c11 whilels {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05c11 whilels {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05c1f whilels {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a05fd1 whilels {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a05ff1 whilels {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5c11 whilels {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5c11 whilels {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35e35 whilels {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05c11 whilels {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05c11 whilels {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05c1f whilels {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e05fd1 whilels {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e05ff1 whilels {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5c11 whilels {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5c11 whilels {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35e35 whilels {p4\.d-p5\.d}, x17, x19 +[^:]+: 25205410 whilelt {p0\.b-p1\.b}, x0, x0 +[^:]+: 25205410 whilelt {p0\.b-p1\.b}, x0, x0 +[^:]+: 2520541e whilelt {p14\.b-p15\.b}, x0, x0 +[^:]+: 252057d0 whilelt {p0\.b-p1\.b}, x30, x0 +[^:]+: 252057f0 whilelt {p0\.b-p1\.b}, xzr, x0 +[^:]+: 253e5410 whilelt {p0\.b-p1\.b}, x0, x30 +[^:]+: 253f5410 whilelt {p0\.b-p1\.b}, x0, xzr +[^:]+: 25335634 whilelt {p4\.b-p5\.b}, x17, x19 +[^:]+: 25605410 whilelt {p0\.h-p1\.h}, x0, x0 +[^:]+: 25605410 whilelt {p0\.h-p1\.h}, x0, x0 +[^:]+: 2560541e whilelt {p14\.h-p15\.h}, x0, x0 +[^:]+: 256057d0 whilelt {p0\.h-p1\.h}, x30, x0 +[^:]+: 256057f0 whilelt {p0\.h-p1\.h}, xzr, x0 +[^:]+: 257e5410 whilelt {p0\.h-p1\.h}, x0, x30 +[^:]+: 257f5410 whilelt {p0\.h-p1\.h}, x0, xzr +[^:]+: 25735634 whilelt {p4\.h-p5\.h}, x17, x19 +[^:]+: 25a05410 whilelt {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a05410 whilelt {p0\.s-p1\.s}, x0, x0 +[^:]+: 25a0541e whilelt {p14\.s-p15\.s}, x0, x0 +[^:]+: 25a057d0 whilelt {p0\.s-p1\.s}, x30, x0 +[^:]+: 25a057f0 whilelt {p0\.s-p1\.s}, xzr, x0 +[^:]+: 25be5410 whilelt {p0\.s-p1\.s}, x0, x30 +[^:]+: 25bf5410 whilelt {p0\.s-p1\.s}, x0, xzr +[^:]+: 25b35634 whilelt {p4\.s-p5\.s}, x17, x19 +[^:]+: 25e05410 whilelt {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e05410 whilelt {p0\.d-p1\.d}, x0, x0 +[^:]+: 25e0541e whilelt {p14\.d-p15\.d}, x0, x0 +[^:]+: 25e057d0 whilelt {p0\.d-p1\.d}, x30, x0 +[^:]+: 25e057f0 whilelt {p0\.d-p1\.d}, xzr, x0 +[^:]+: 25fe5410 whilelt {p0\.d-p1\.d}, x0, x30 +[^:]+: 25ff5410 whilelt {p0\.d-p1\.d}, x0, xzr +[^:]+: 25f35634 whilelt {p4\.d-p5\.d}, x17, x19 diff --git a/gas/testsuite/gas/aarch64/sve2-sme2-2.s b/gas/testsuite/gas/aarch64/sve2-sme2-2.s new file mode 100644 index 0000000..b9175e8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve2-sme2-2.s @@ -0,0 +1,287 @@ + whilege { p0.b - p1.b }, x0, x0 + WHILEGE { P0.B - P1.B }, X0, X0 + whilege { p14.b - p15.b }, x0, x0 + whilege { p0.b - p1.b }, x30, x0 + whilege { p0.b - p1.b }, xzr, x0 + whilege { p0.b - p1.b }, x0, x30 + whilege { p0.b - p1.b }, x0, xzr + whilege { p4.b - p5.b }, x17, x19 + + whilege { p0.h - p1.h }, x0, x0 + WHILEGE { P0.h - P1.h }, X0, X0 + whilege { p14.h - p15.h }, x0, x0 + whilege { p0.h - p1.h }, x30, x0 + whilege { p0.h - p1.h }, xzr, x0 + whilege { p0.h - p1.h }, x0, x30 + whilege { p0.h - p1.h }, x0, xzr + whilege { p4.h - p5.h }, x17, x19 + + whilege { p0.s - p1.s }, x0, x0 + WHILEGE { P0.s - P1.s }, X0, X0 + whilege { p14.s - p15.s }, x0, x0 + whilege { p0.s - p1.s }, x30, x0 + whilege { p0.s - p1.s }, xzr, x0 + whilege { p0.s - p1.s }, x0, x30 + whilege { p0.s - p1.s }, x0, xzr + whilege { p4.s - p5.s }, x17, x19 + + whilege { p0.d - p1.d }, x0, x0 + WHILEGE { P0.d - P1.d }, X0, X0 + whilege { p14.d - p15.d }, x0, x0 + whilege { p0.d - p1.d }, x30, x0 + whilege { p0.d - p1.d }, xzr, x0 + whilege { p0.d - p1.d }, x0, x30 + whilege { p0.d - p1.d }, x0, xzr + whilege { p4.d - p5.d }, x17, x19 + + whilegt { p0.b - p1.b }, x0, x0 + WHILEGT { P0.B - P1.B }, X0, X0 + whilegt { p14.b - p15.b }, x0, x0 + whilegt { p0.b - p1.b }, x30, x0 + whilegt { p0.b - p1.b }, xzr, x0 + whilegt { p0.b - p1.b }, x0, x30 + whilegt { p0.b - p1.b }, x0, xzr + whilegt { p4.b - p5.b }, x17, x19 + + whilegt { p0.h - p1.h }, x0, x0 + WHILEGT { P0.h - P1.h }, X0, X0 + whilegt { p14.h - p15.h }, x0, x0 + whilegt { p0.h - p1.h }, x30, x0 + whilegt { p0.h - p1.h }, xzr, x0 + whilegt { p0.h - p1.h }, x0, x30 + whilegt { p0.h - p1.h }, x0, xzr + whilegt { p4.h - p5.h }, x17, x19 + + whilegt { p0.s - p1.s }, x0, x0 + WHILEGT { P0.s - P1.s }, X0, X0 + whilegt { p14.s - p15.s }, x0, x0 + whilegt { p0.s - p1.s }, x30, x0 + whilegt { p0.s - p1.s }, xzr, x0 + whilegt { p0.s - p1.s }, x0, x30 + whilegt { p0.s - p1.s }, x0, xzr + whilegt { p4.s - p5.s }, x17, x19 + + whilegt { p0.d - p1.d }, x0, x0 + WHILEGT { P0.d - P1.d }, X0, X0 + whilegt { p14.d - p15.d }, x0, x0 + whilegt { p0.d - p1.d }, x30, x0 + whilegt { p0.d - p1.d }, xzr, x0 + whilegt { p0.d - p1.d }, x0, x30 + whilegt { p0.d - p1.d }, x0, xzr + whilegt { p4.d - p5.d }, x17, x19 + + whilehi { p0.b - p1.b }, x0, x0 + WHILEHI { P0.B - P1.B }, X0, X0 + whilehi { p14.b - p15.b }, x0, x0 + whilehi { p0.b - p1.b }, x30, x0 + whilehi { p0.b - p1.b }, xzr, x0 + whilehi { p0.b - p1.b }, x0, x30 + whilehi { p0.b - p1.b }, x0, xzr + whilehi { p4.b - p5.b }, x17, x19 + + whilehi { p0.h - p1.h }, x0, x0 + WHILEHI { P0.h - P1.h }, X0, X0 + whilehi { p14.h - p15.h }, x0, x0 + whilehi { p0.h - p1.h }, x30, x0 + whilehi { p0.h - p1.h }, xzr, x0 + whilehi { p0.h - p1.h }, x0, x30 + whilehi { p0.h - p1.h }, x0, xzr + whilehi { p4.h - p5.h }, x17, x19 + + whilehi { p0.s - p1.s }, x0, x0 + WHILEHI { P0.s - P1.s }, X0, X0 + whilehi { p14.s - p15.s }, x0, x0 + whilehi { p0.s - p1.s }, x30, x0 + whilehi { p0.s - p1.s }, xzr, x0 + whilehi { p0.s - p1.s }, x0, x30 + whilehi { p0.s - p1.s }, x0, xzr + whilehi { p4.s - p5.s }, x17, x19 + + whilehi { p0.d - p1.d }, x0, x0 + WHILEHI { P0.d - P1.d }, X0, X0 + whilehi { p14.d - p15.d }, x0, x0 + whilehi { p0.d - p1.d }, x30, x0 + whilehi { p0.d - p1.d }, xzr, x0 + whilehi { p0.d - p1.d }, x0, x30 + whilehi { p0.d - p1.d }, x0, xzr + whilehi { p4.d - p5.d }, x17, x19 + + whilehs { p0.b - p1.b }, x0, x0 + WHILEHS { P0.B - P1.B }, X0, X0 + whilehs { p14.b - p15.b }, x0, x0 + whilehs { p0.b - p1.b }, x30, x0 + whilehs { p0.b - p1.b }, xzr, x0 + whilehs { p0.b - p1.b }, x0, x30 + whilehs { p0.b - p1.b }, x0, xzr + whilehs { p4.b - p5.b }, x17, x19 + + whilehs { p0.h - p1.h }, x0, x0 + WHILEHS { P0.h - P1.h }, X0, X0 + whilehs { p14.h - p15.h }, x0, x0 + whilehs { p0.h - p1.h }, x30, x0 + whilehs { p0.h - p1.h }, xzr, x0 + whilehs { p0.h - p1.h }, x0, x30 + whilehs { p0.h - p1.h }, x0, xzr + whilehs { p4.h - p5.h }, x17, x19 + + whilehs { p0.s - p1.s }, x0, x0 + WHILEHS { P0.s - P1.s }, X0, X0 + whilehs { p14.s - p15.s }, x0, x0 + whilehs { p0.s - p1.s }, x30, x0 + whilehs { p0.s - p1.s }, xzr, x0 + whilehs { p0.s - p1.s }, x0, x30 + whilehs { p0.s - p1.s }, x0, xzr + whilehs { p4.s - p5.s }, x17, x19 + + whilehs { p0.d - p1.d }, x0, x0 + WHILEHS { P0.d - P1.d }, X0, X0 + whilehs { p14.d - p15.d }, x0, x0 + whilehs { p0.d - p1.d }, x30, x0 + whilehs { p0.d - p1.d }, xzr, x0 + whilehs { p0.d - p1.d }, x0, x30 + whilehs { p0.d - p1.d }, x0, xzr + whilehs { p4.d - p5.d }, x17, x19 + + whilele { p0.b - p1.b }, x0, x0 + WHILELE { P0.B - P1.B }, X0, X0 + whilele { p14.b - p15.b }, x0, x0 + whilele { p0.b - p1.b }, x30, x0 + whilele { p0.b - p1.b }, xzr, x0 + whilele { p0.b - p1.b }, x0, x30 + whilele { p0.b - p1.b }, x0, xzr + whilele { p4.b - p5.b }, x17, x19 + + whilele { p0.h - p1.h }, x0, x0 + WHILELE { P0.h - P1.h }, X0, X0 + whilele { p14.h - p15.h }, x0, x0 + whilele { p0.h - p1.h }, x30, x0 + whilele { p0.h - p1.h }, xzr, x0 + whilele { p0.h - p1.h }, x0, x30 + whilele { p0.h - p1.h }, x0, xzr + whilele { p4.h - p5.h }, x17, x19 + + whilele { p0.s - p1.s }, x0, x0 + WHILELE { P0.s - P1.s }, X0, X0 + whilele { p14.s - p15.s }, x0, x0 + whilele { p0.s - p1.s }, x30, x0 + whilele { p0.s - p1.s }, xzr, x0 + whilele { p0.s - p1.s }, x0, x30 + whilele { p0.s - p1.s }, x0, xzr + whilele { p4.s - p5.s }, x17, x19 + + whilele { p0.d - p1.d }, x0, x0 + WHILELE { P0.d - P1.d }, X0, X0 + whilele { p14.d - p15.d }, x0, x0 + whilele { p0.d - p1.d }, x30, x0 + whilele { p0.d - p1.d }, xzr, x0 + whilele { p0.d - p1.d }, x0, x30 + whilele { p0.d - p1.d }, x0, xzr + whilele { p4.d - p5.d }, x17, x19 + + whilelo { p0.b - p1.b }, x0, x0 + WHILELO { P0.B - P1.B }, X0, X0 + whilelo { p14.b - p15.b }, x0, x0 + whilelo { p0.b - p1.b }, x30, x0 + whilelo { p0.b - p1.b }, xzr, x0 + whilelo { p0.b - p1.b }, x0, x30 + whilelo { p0.b - p1.b }, x0, xzr + whilelo { p4.b - p5.b }, x17, x19 + + whilelo { p0.h - p1.h }, x0, x0 + WHILELO { P0.h - P1.h }, X0, X0 + whilelo { p14.h - p15.h }, x0, x0 + whilelo { p0.h - p1.h }, x30, x0 + whilelo { p0.h - p1.h }, xzr, x0 + whilelo { p0.h - p1.h }, x0, x30 + whilelo { p0.h - p1.h }, x0, xzr + whilelo { p4.h - p5.h }, x17, x19 + + whilelo { p0.s - p1.s }, x0, x0 + WHILELO { P0.s - P1.s }, X0, X0 + whilelo { p14.s - p15.s }, x0, x0 + whilelo { p0.s - p1.s }, x30, x0 + whilelo { p0.s - p1.s }, xzr, x0 + whilelo { p0.s - p1.s }, x0, x30 + whilelo { p0.s - p1.s }, x0, xzr + whilelo { p4.s - p5.s }, x17, x19 + + whilelo { p0.d - p1.d }, x0, x0 + WHILELO { P0.d - P1.d }, X0, X0 + whilelo { p14.d - p15.d }, x0, x0 + whilelo { p0.d - p1.d }, x30, x0 + whilelo { p0.d - p1.d }, xzr, x0 + whilelo { p0.d - p1.d }, x0, x30 + whilelo { p0.d - p1.d }, x0, xzr + whilelo { p4.d - p5.d }, x17, x19 + + whilels { p0.b - p1.b }, x0, x0 + WHILELS { P0.B - P1.B }, X0, X0 + whilels { p14.b - p15.b }, x0, x0 + whilels { p0.b - p1.b }, x30, x0 + whilels { p0.b - p1.b }, xzr, x0 + whilels { p0.b - p1.b }, x0, x30 + whilels { p0.b - p1.b }, x0, xzr + whilels { p4.b - p5.b }, x17, x19 + + whilels { p0.h - p1.h }, x0, x0 + WHILELS { P0.h - P1.h }, X0, X0 + whilels { p14.h - p15.h }, x0, x0 + whilels { p0.h - p1.h }, x30, x0 + whilels { p0.h - p1.h }, xzr, x0 + whilels { p0.h - p1.h }, x0, x30 + whilels { p0.h - p1.h }, x0, xzr + whilels { p4.h - p5.h }, x17, x19 + + whilels { p0.s - p1.s }, x0, x0 + WHILELS { P0.s - P1.s }, X0, X0 + whilels { p14.s - p15.s }, x0, x0 + whilels { p0.s - p1.s }, x30, x0 + whilels { p0.s - p1.s }, xzr, x0 + whilels { p0.s - p1.s }, x0, x30 + whilels { p0.s - p1.s }, x0, xzr + whilels { p4.s - p5.s }, x17, x19 + + whilels { p0.d - p1.d }, x0, x0 + WHILELS { P0.d - P1.d }, X0, X0 + whilels { p14.d - p15.d }, x0, x0 + whilels { p0.d - p1.d }, x30, x0 + whilels { p0.d - p1.d }, xzr, x0 + whilels { p0.d - p1.d }, x0, x30 + whilels { p0.d - p1.d }, x0, xzr + whilels { p4.d - p5.d }, x17, x19 + + whilelt { p0.b - p1.b }, x0, x0 + WHILELT { P0.B - P1.B }, X0, X0 + whilelt { p14.b - p15.b }, x0, x0 + whilelt { p0.b - p1.b }, x30, x0 + whilelt { p0.b - p1.b }, xzr, x0 + whilelt { p0.b - p1.b }, x0, x30 + whilelt { p0.b - p1.b }, x0, xzr + whilelt { p4.b - p5.b }, x17, x19 + + whilelt { p0.h - p1.h }, x0, x0 + WHILELT { P0.h - P1.h }, X0, X0 + whilelt { p14.h - p15.h }, x0, x0 + whilelt { p0.h - p1.h }, x30, x0 + whilelt { p0.h - p1.h }, xzr, x0 + whilelt { p0.h - p1.h }, x0, x30 + whilelt { p0.h - p1.h }, x0, xzr + whilelt { p4.h - p5.h }, x17, x19 + + whilelt { p0.s - p1.s }, x0, x0 + WHILELT { P0.s - P1.s }, X0, X0 + whilelt { p14.s - p15.s }, x0, x0 + whilelt { p0.s - p1.s }, x30, x0 + whilelt { p0.s - p1.s }, xzr, x0 + whilelt { p0.s - p1.s }, x0, x30 + whilelt { p0.s - p1.s }, x0, xzr + whilelt { p4.s - p5.s }, x17, x19 + + whilelt { p0.d - p1.d }, x0, x0 + WHILELT { P0.d - P1.d }, X0, X0 + whilelt { p14.d - p15.d }, x0, x0 + whilelt { p0.d - p1.d }, x30, x0 + whilelt { p0.d - p1.d }, xzr, x0 + whilelt { p0.d - p1.d }, x0, x30 + whilelt { p0.d - p1.d }, x0, xzr + whilelt { p4.d - p5.d }, x17, x19 |