public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Shaokun Zhang <zhangshaokun@hisilicon.com>
To: <binutils@sourceware.org>, Richard Earnshaw <rearnsha@arm.com>,
	Marcus Shawcroft <marcus.shawcroft@arm.com>
Cc: Jingtao Cai <caijingtao@huawei.com>,
	Jan Beulich <jbeulich@suse.com>, Bo Dong <dongbo4@huawei.com>
Subject: Re: [PATCH RESEND v2] Aarch64: Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
Date: Thu, 10 Mar 2022 20:27:01 +0800	[thread overview]
Message-ID: <71b85950-164e-1185-0d28-29414e74d510@hisilicon.com> (raw)
In-Reply-To: <20220216005311.26184-1-zhangshaokun@hisilicon.com>

Loop Richard & Marcus,

Apologies that we don't cc the AARCH64 maintainers, any comments are welcome.

Thanks,
Shaokun


On 2022/2/16 8:53, Shaokun Zhang wrote:
> From: Jingtao Cai <caijingtao@huawei.com>
> 
> Omitting predicate size specifier in vector form of {sq, uq, }{decp, incp} is deprecated and will be prohibited in a future release of the aarch64,
> see https://developer.arm.com/documentation/ddi0602/2021-09/SVE-Instructions/DECP--vector---Decrement-vector-by-count-of-true-predicate-elements-.
> 
> This allows explicit size specifier, e.g. `decp z0.h, p0.h`, for predicate operand of these SVE instructions.
> The exsiting behaviour of not requiring the specifier is preserved, but will be warned.
> And the disasembly is with the specifier with this patch.
> 
> The GAS tests passed under our local tests.
> 
> opcodes/
> 
> * aarch64-tbl.h (aarch64_opcode_table): Add QUALS's type OP_SVE_VV_HSD for decp, incp, sqdecp, sqincp, uqdecp and uqincp.
> * aarch64-dis-2.c : Regenerate.
> 
> gas/config/
> 
> * tc-aarch64.c (warn_deprecated) : New warn_deprecated() function, check for deprecated usages and give a warning.
> 
> gas/testsuite/gas/aarch64/
> 
> * sve-movprfx_23.s: update movprfx_23 testcase's test_sametwo macro, where take the predicate size specifier.
> * sve-movprfx_23.d: update movprfx_23 testcase's expected disassembly.
> * sve-movprfx_23.l: update movprfx_23 testcase's expected assembler messages.
> * sve.s: add sve testcase's instructions for decp, incp, sqdecp, sqincp, uqdecp and uqincp, which take the predicate size specifier.
> * sve.d: update sve testcase's expected disassembly.
> * sve.l: New file, add sve testcase's expected assembler messages.
> 
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Bo Dong <dongbo4@huawei.com>
> Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
> Signed-off-by: Jingtao Cai <caijingtao@huawei.com>
> ---
> Tip:
> The 'aARCH64-dis-2.c' is needed to be regenerated and is not included in this patch,
> because of with this modification, 'Message body is too big: 848058 bytes with a limit
> of 400 KB' and the patch will being held.
> 
>  gas/config/tc-aarch64.c                    |  28 ++
>  gas/testsuite/gas/aarch64/sve-movprfx_23.d |  24 +-
>  gas/testsuite/gas/aarch64/sve-movprfx_23.l |  24 +-
>  gas/testsuite/gas/aarch64/sve-movprfx_23.s |   2 +-
>  gas/testsuite/gas/aarch64/sve.d            | 543 ++++++++++++++-------
>  gas/testsuite/gas/aarch64/sve.l            | 181 +++++++
>  gas/testsuite/gas/aarch64/sve.s            | 181 +++++++
>  opcodes/aarch64-tbl.h                      |   6 +
>  8 files changed, 784 insertions(+), 205 deletions(-)
>  create mode 100644 gas/testsuite/gas/aarch64/sve.l
> 
> diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
> index a4ef65274e49..6c5309ea24a7 100644
> --- a/gas/config/tc-aarch64.c
> +++ b/gas/config/tc-aarch64.c
> @@ -7840,6 +7840,32 @@ warn_unpredictable_ldst (aarch64_instruction *instr, char *str)
>      }
>  }
>  
> +/* Check for deprecated usages that will be prohibited in future.  */
> +static void
> +warn_deprecated (aarch64_instruction *instr, char *str)
> +{
> +  aarch64_inst *base = &instr->base;
> +  const aarch64_opcode *opcode = base->opcode;
> +  const aarch64_opnd_info *opnds = base->operands;
> +  switch (opcode->iclass)
> +    {
> +    case sve_size_hsd:
> +      /* For {sq, uq, }{incp, decp}, the omitted predicate size specifier
> +         is deprecated and will be prohibited in future.  */
> +      if (opnds[0].type == AARCH64_OPND_SVE_Zd
> +      && opnds[1].type == AARCH64_OPND_SVE_Pg4_5
> +      && opnds[1].qualifier == AARCH64_OPND_QLF_NIL)
> +        as_warn
> +          (_("omitting predicate size specifier is deprecated and will be "
> +         "prohibited in future -- `%s'"),str);
> +      break;
> +
> +    default:
> +      break;
> +    }
> +
> +}
> +
>  static void
>  force_automatic_sequence_close (void)
>  {
> @@ -8016,6 +8042,8 @@ md_assemble (char *str)
>  
>  	  warn_unpredictable_ldst (&inst, str);
>  
> +	  warn_deprecated (&inst, str);
> +
>  	  if (inst.reloc.type == BFD_RELOC_UNUSED
>  	      || !inst.reloc.need_libopcodes_p)
>  	    output_inst (NULL);
> diff --git a/gas/testsuite/gas/aarch64/sve-movprfx_23.d b/gas/testsuite/gas/aarch64/sve-movprfx_23.d
> index 60448704174a..e1c6c2c2ccef 100644
> --- a/gas/testsuite/gas/aarch64/sve-movprfx_23.d
> +++ b/gas/testsuite/gas/aarch64/sve-movprfx_23.d
> @@ -9,29 +9,29 @@ Disassembly of section .*:
>  
>  0+ <.*>:
>  [^:]+:	04512461 	movprfx	z1.h, p1/m, z3.h
> -[^:]+:	256c8021 	incp	z1.h, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	256c8021 	incp	z1.h, p1.h  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04912461 	movprfx	z1.s, p1/m, z3.s
> -[^:]+:	25ac8021 	incp	z1.s, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25ac8021 	incp	z1.s, p1.s  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04d12461 	movprfx	z1.d, p1/m, z3.d
> -[^:]+:	25ec8021 	incp	z1.d, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25ec8021 	incp	z1.d, p1.d  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04512461 	movprfx	z1.h, p1/m, z3.h
> -[^:]+:	256d8021 	decp	z1.h, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	256d8021 	decp	z1.h, p1.h  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04912461 	movprfx	z1.s, p1/m, z3.s
> -[^:]+:	25ad8021 	decp	z1.s, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25ad8021 	decp	z1.s, p1.s  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04d12461 	movprfx	z1.d, p1/m, z3.d
> -[^:]+:	25ed8021 	decp	z1.d, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25ed8021 	decp	z1.d, p1.d  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04512461 	movprfx	z1.h, p1/m, z3.h
> -[^:]+:	25688021 	sqincp	z1.h, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25688021 	sqincp	z1.h, p1.h  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04912461 	movprfx	z1.s, p1/m, z3.s
> -[^:]+:	25a88021 	sqincp	z1.s, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25a88021 	sqincp	z1.s, p1.s  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04d12461 	movprfx	z1.d, p1/m, z3.d
> -[^:]+:	25e88021 	sqincp	z1.d, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25e88021 	sqincp	z1.d, p1.d  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04512461 	movprfx	z1.h, p1/m, z3.h
> -[^:]+:	256a8021 	sqdecp	z1.h, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	256a8021 	sqdecp	z1.h, p1.h  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04912461 	movprfx	z1.s, p1/m, z3.s
> -[^:]+:	25aa8021 	sqdecp	z1.s, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25aa8021 	sqdecp	z1.s, p1.s  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04d12461 	movprfx	z1.d, p1/m, z3.d
> -[^:]+:	25ea8021 	sqdecp	z1.d, p1  // note: merging predicate expected due to preceding `movprfx' at operand 2
> +[^:]+:	25ea8021 	sqdecp	z1.d, p1.d  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04112461 	movprfx	z1.b, p1/m, z3.b
>  [^:]+:	05288421 	clasta	z1.b, p1, z1.b, z1.b  // note: merging predicate expected due to preceding `movprfx' at operand 2
>  [^:]+:	04512461 	movprfx	z1.h, p1/m, z3.h
> diff --git a/gas/testsuite/gas/aarch64/sve-movprfx_23.l b/gas/testsuite/gas/aarch64/sve-movprfx_23.l
> index ff25ee712ed3..ac491df61893 100644
> --- a/gas/testsuite/gas/aarch64/sve-movprfx_23.l
> +++ b/gas/testsuite/gas/aarch64/sve-movprfx_23.l
> @@ -1,16 +1,16 @@
>  [^:]*: Assembler messages:
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `incp z1.h,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `incp z1.s,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `incp z1.d,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `decp z1.h,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `decp z1.s,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `decp z1.d,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqincp z1.h,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqincp z1.s,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqincp z1.d,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqdecp z1.h,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqdecp z1.s,p1'
> -.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqdecp z1.d,p1'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `incp z1.h,p1.h'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `incp z1.s,p1.s'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `incp z1.d,p1.d'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `decp z1.h,p1.h'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `decp z1.s,p1.s'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `decp z1.d,p1.d'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqincp z1.h,p1.h'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqincp z1.s,p1.s'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqincp z1.d,p1.d'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqdecp z1.h,p1.h'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqdecp z1.s,p1.s'
> +.*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `sqdecp z1.d,p1.d'
>  .*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `clasta z1.b,p1,z1.b,z1.b'
>  .*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `clasta z1.h,p1,z1.h,z1.h'
>  .*: Warning: merging predicate expected due to preceding `movprfx' at operand 2 -- `clasta z1.s,p1,z1.s,z1.s'
> diff --git a/gas/testsuite/gas/aarch64/sve-movprfx_23.s b/gas/testsuite/gas/aarch64/sve-movprfx_23.s
> index 709d81aa8a04..22697b37cf5f 100644
> --- a/gas/testsuite/gas/aarch64/sve-movprfx_23.s
> +++ b/gas/testsuite/gas/aarch64/sve-movprfx_23.s
> @@ -9,7 +9,7 @@
>     .macro test_sametwo inst
>     .irp sz, h,s,d
>     movprfx z1.\sz, p1/m, z3.\sz
> -   \inst z1.\sz, p1
> +   \inst z1.\sz, p1.\sz
>     .endr
>     .endm
>  
> diff --git a/gas/testsuite/gas/aarch64/sve.d b/gas/testsuite/gas/aarch64/sve.d
> index 5d6d7562646f..502e01e3d926 100644
> --- a/gas/testsuite/gas/aarch64/sve.d
> +++ b/gas/testsuite/gas/aarch64/sve.d
> @@ -1,6 +1,9 @@
> +#source: sve.s
> +#warning_output: sve.l
>  #as: -march=armv8-a+sve -I$srcdir/$subdir
>  #objdump: -dr
>  
> +
>  .* file format .*
>  
>  Disassembly of section .*:
> @@ -7205,36 +7208,66 @@ Disassembly of section .*:
>  [^:]+:	0479e400 	dech	x0, pow2, mul #10
>  [^:]+:	047fe400 	dech	x0, pow2, mul #16
>  [^:]+:	047fe400 	dech	x0, pow2, mul #16
> -[^:]+:	256d8000 	decp	z0.h, p0
> -[^:]+:	256d8000 	decp	z0.h, p0
> -[^:]+:	256d8001 	decp	z1.h, p0
> -[^:]+:	256d8001 	decp	z1.h, p0
> -[^:]+:	256d801f 	decp	z31.h, p0
> -[^:]+:	256d801f 	decp	z31.h, p0
> -[^:]+:	256d8040 	decp	z0.h, p2
> -[^:]+:	256d8040 	decp	z0.h, p2
> -[^:]+:	256d81e0 	decp	z0.h, p15
> -[^:]+:	256d81e0 	decp	z0.h, p15
> -[^:]+:	25ad8000 	decp	z0.s, p0
> -[^:]+:	25ad8000 	decp	z0.s, p0
> -[^:]+:	25ad8001 	decp	z1.s, p0
> -[^:]+:	25ad8001 	decp	z1.s, p0
> -[^:]+:	25ad801f 	decp	z31.s, p0
> -[^:]+:	25ad801f 	decp	z31.s, p0
> -[^:]+:	25ad8040 	decp	z0.s, p2
> -[^:]+:	25ad8040 	decp	z0.s, p2
> -[^:]+:	25ad81e0 	decp	z0.s, p15
> -[^:]+:	25ad81e0 	decp	z0.s, p15
> -[^:]+:	25ed8000 	decp	z0.d, p0
> -[^:]+:	25ed8000 	decp	z0.d, p0
> -[^:]+:	25ed8001 	decp	z1.d, p0
> -[^:]+:	25ed8001 	decp	z1.d, p0
> -[^:]+:	25ed801f 	decp	z31.d, p0
> -[^:]+:	25ed801f 	decp	z31.d, p0
> -[^:]+:	25ed8040 	decp	z0.d, p2
> -[^:]+:	25ed8040 	decp	z0.d, p2
> -[^:]+:	25ed81e0 	decp	z0.d, p15
> -[^:]+:	25ed81e0 	decp	z0.d, p15
> +[^:]+:	256d8000 	decp	z0.h, p0.h
> +[^:]+:	256d8000 	decp	z0.h, p0.h
> +[^:]+:	256d8001 	decp	z1.h, p0.h
> +[^:]+:	256d8001 	decp	z1.h, p0.h
> +[^:]+:	256d801f 	decp	z31.h, p0.h
> +[^:]+:	256d801f 	decp	z31.h, p0.h
> +[^:]+:	256d8040 	decp	z0.h, p2.h
> +[^:]+:	256d8040 	decp	z0.h, p2.h
> +[^:]+:	256d81e0 	decp	z0.h, p15.h
> +[^:]+:	256d81e0 	decp	z0.h, p15.h
> +[^:]+:	25ad8000 	decp	z0.s, p0.s
> +[^:]+:	25ad8000 	decp	z0.s, p0.s
> +[^:]+:	25ad8001 	decp	z1.s, p0.s
> +[^:]+:	25ad8001 	decp	z1.s, p0.s
> +[^:]+:	25ad801f 	decp	z31.s, p0.s
> +[^:]+:	25ad801f 	decp	z31.s, p0.s
> +[^:]+:	25ad8040 	decp	z0.s, p2.s
> +[^:]+:	25ad8040 	decp	z0.s, p2.s
> +[^:]+:	25ad81e0 	decp	z0.s, p15.s
> +[^:]+:	25ad81e0 	decp	z0.s, p15.s
> +[^:]+:	25ed8000 	decp	z0.d, p0.d
> +[^:]+:	25ed8000 	decp	z0.d, p0.d
> +[^:]+:	25ed8001 	decp	z1.d, p0.d
> +[^:]+:	25ed8001 	decp	z1.d, p0.d
> +[^:]+:	25ed801f 	decp	z31.d, p0.d
> +[^:]+:	25ed801f 	decp	z31.d, p0.d
> +[^:]+:	25ed8040 	decp	z0.d, p2.d
> +[^:]+:	25ed8040 	decp	z0.d, p2.d
> +[^:]+:	25ed81e0 	decp	z0.d, p15.d
> +[^:]+:	25ed81e0 	decp	z0.d, p15.d
> +[^:]+:	256d8000 	decp	z0.h, p0.h
> +[^:]+:	256d8000 	decp	z0.h, p0.h
> +[^:]+:	256d8001 	decp	z1.h, p0.h
> +[^:]+:	256d8001 	decp	z1.h, p0.h
> +[^:]+:	256d801f 	decp	z31.h, p0.h
> +[^:]+:	256d801f 	decp	z31.h, p0.h
> +[^:]+:	256d8040 	decp	z0.h, p2.h
> +[^:]+:	256d8040 	decp	z0.h, p2.h
> +[^:]+:	256d81e0 	decp	z0.h, p15.h
> +[^:]+:	256d81e0 	decp	z0.h, p15.h
> +[^:]+:	25ad8000 	decp	z0.s, p0.s
> +[^:]+:	25ad8000 	decp	z0.s, p0.s
> +[^:]+:	25ad8001 	decp	z1.s, p0.s
> +[^:]+:	25ad8001 	decp	z1.s, p0.s
> +[^:]+:	25ad801f 	decp	z31.s, p0.s
> +[^:]+:	25ad801f 	decp	z31.s, p0.s
> +[^:]+:	25ad8040 	decp	z0.s, p2.s
> +[^:]+:	25ad8040 	decp	z0.s, p2.s
> +[^:]+:	25ad81e0 	decp	z0.s, p15.s
> +[^:]+:	25ad81e0 	decp	z0.s, p15.s
> +[^:]+:	25ed8000 	decp	z0.d, p0.d
> +[^:]+:	25ed8000 	decp	z0.d, p0.d
> +[^:]+:	25ed8001 	decp	z1.d, p0.d
> +[^:]+:	25ed8001 	decp	z1.d, p0.d
> +[^:]+:	25ed801f 	decp	z31.d, p0.d
> +[^:]+:	25ed801f 	decp	z31.d, p0.d
> +[^:]+:	25ed8040 	decp	z0.d, p2.d
> +[^:]+:	25ed8040 	decp	z0.d, p2.d
> +[^:]+:	25ed81e0 	decp	z0.d, p15.d
> +[^:]+:	25ed81e0 	decp	z0.d, p15.d
>  [^:]+:	252d8800 	decp	x0, p0.b
>  [^:]+:	252d8800 	decp	x0, p0.b
>  [^:]+:	252d8801 	decp	x1, p0.b
> @@ -13031,36 +13064,66 @@ Disassembly of section .*:
>  [^:]+:	0479e000 	inch	x0, pow2, mul #10
>  [^:]+:	047fe000 	inch	x0, pow2, mul #16
>  [^:]+:	047fe000 	inch	x0, pow2, mul #16
> -[^:]+:	256c8000 	incp	z0.h, p0
> -[^:]+:	256c8000 	incp	z0.h, p0
> -[^:]+:	256c8001 	incp	z1.h, p0
> -[^:]+:	256c8001 	incp	z1.h, p0
> -[^:]+:	256c801f 	incp	z31.h, p0
> -[^:]+:	256c801f 	incp	z31.h, p0
> -[^:]+:	256c8040 	incp	z0.h, p2
> -[^:]+:	256c8040 	incp	z0.h, p2
> -[^:]+:	256c81e0 	incp	z0.h, p15
> -[^:]+:	256c81e0 	incp	z0.h, p15
> -[^:]+:	25ac8000 	incp	z0.s, p0
> -[^:]+:	25ac8000 	incp	z0.s, p0
> -[^:]+:	25ac8001 	incp	z1.s, p0
> -[^:]+:	25ac8001 	incp	z1.s, p0
> -[^:]+:	25ac801f 	incp	z31.s, p0
> -[^:]+:	25ac801f 	incp	z31.s, p0
> -[^:]+:	25ac8040 	incp	z0.s, p2
> -[^:]+:	25ac8040 	incp	z0.s, p2
> -[^:]+:	25ac81e0 	incp	z0.s, p15
> -[^:]+:	25ac81e0 	incp	z0.s, p15
> -[^:]+:	25ec8000 	incp	z0.d, p0
> -[^:]+:	25ec8000 	incp	z0.d, p0
> -[^:]+:	25ec8001 	incp	z1.d, p0
> -[^:]+:	25ec8001 	incp	z1.d, p0
> -[^:]+:	25ec801f 	incp	z31.d, p0
> -[^:]+:	25ec801f 	incp	z31.d, p0
> -[^:]+:	25ec8040 	incp	z0.d, p2
> -[^:]+:	25ec8040 	incp	z0.d, p2
> -[^:]+:	25ec81e0 	incp	z0.d, p15
> -[^:]+:	25ec81e0 	incp	z0.d, p15
> +[^:]+:	256c8000 	incp	z0.h, p0.h
> +[^:]+:	256c8000 	incp	z0.h, p0.h
> +[^:]+:	256c8001 	incp	z1.h, p0.h
> +[^:]+:	256c8001 	incp	z1.h, p0.h
> +[^:]+:	256c801f 	incp	z31.h, p0.h
> +[^:]+:	256c801f 	incp	z31.h, p0.h
> +[^:]+:	256c8040 	incp	z0.h, p2.h
> +[^:]+:	256c8040 	incp	z0.h, p2.h
> +[^:]+:	256c81e0 	incp	z0.h, p15.h
> +[^:]+:	256c81e0 	incp	z0.h, p15.h
> +[^:]+:	25ac8000 	incp	z0.s, p0.s
> +[^:]+:	25ac8000 	incp	z0.s, p0.s
> +[^:]+:	25ac8001 	incp	z1.s, p0.s
> +[^:]+:	25ac8001 	incp	z1.s, p0.s
> +[^:]+:	25ac801f 	incp	z31.s, p0.s
> +[^:]+:	25ac801f 	incp	z31.s, p0.s
> +[^:]+:	25ac8040 	incp	z0.s, p2.s
> +[^:]+:	25ac8040 	incp	z0.s, p2.s
> +[^:]+:	25ac81e0 	incp	z0.s, p15.s
> +[^:]+:	25ac81e0 	incp	z0.s, p15.s
> +[^:]+:	25ec8000 	incp	z0.d, p0.d
> +[^:]+:	25ec8000 	incp	z0.d, p0.d
> +[^:]+:	25ec8001 	incp	z1.d, p0.d
> +[^:]+:	25ec8001 	incp	z1.d, p0.d
> +[^:]+:	25ec801f 	incp	z31.d, p0.d
> +[^:]+:	25ec801f 	incp	z31.d, p0.d
> +[^:]+:	25ec8040 	incp	z0.d, p2.d
> +[^:]+:	25ec8040 	incp	z0.d, p2.d
> +[^:]+:	25ec81e0 	incp	z0.d, p15.d
> +[^:]+:	25ec81e0 	incp	z0.d, p15.d
> +[^:]+:	256c8000 	incp	z0.h, p0.h
> +[^:]+:	256c8000 	incp	z0.h, p0.h
> +[^:]+:	256c8001 	incp	z1.h, p0.h
> +[^:]+:	256c8001 	incp	z1.h, p0.h
> +[^:]+:	256c801f 	incp	z31.h, p0.h
> +[^:]+:	256c801f 	incp	z31.h, p0.h
> +[^:]+:	256c8040 	incp	z0.h, p2.h
> +[^:]+:	256c8040 	incp	z0.h, p2.h
> +[^:]+:	256c81e0 	incp	z0.h, p15.h
> +[^:]+:	256c81e0 	incp	z0.h, p15.h
> +[^:]+:	25ac8000 	incp	z0.s, p0.s
> +[^:]+:	25ac8000 	incp	z0.s, p0.s
> +[^:]+:	25ac8001 	incp	z1.s, p0.s
> +[^:]+:	25ac8001 	incp	z1.s, p0.s
> +[^:]+:	25ac801f 	incp	z31.s, p0.s
> +[^:]+:	25ac801f 	incp	z31.s, p0.s
> +[^:]+:	25ac8040 	incp	z0.s, p2.s
> +[^:]+:	25ac8040 	incp	z0.s, p2.s
> +[^:]+:	25ac81e0 	incp	z0.s, p15.s
> +[^:]+:	25ac81e0 	incp	z0.s, p15.s
> +[^:]+:	25ec8000 	incp	z0.d, p0.d
> +[^:]+:	25ec8000 	incp	z0.d, p0.d
> +[^:]+:	25ec8001 	incp	z1.d, p0.d
> +[^:]+:	25ec8001 	incp	z1.d, p0.d
> +[^:]+:	25ec801f 	incp	z31.d, p0.d
> +[^:]+:	25ec801f 	incp	z31.d, p0.d
> +[^:]+:	25ec8040 	incp	z0.d, p2.d
> +[^:]+:	25ec8040 	incp	z0.d, p2.d
> +[^:]+:	25ec81e0 	incp	z0.d, p15.d
> +[^:]+:	25ec81e0 	incp	z0.d, p15.d
>  [^:]+:	252c8800 	incp	x0, p0.b
>  [^:]+:	252c8800 	incp	x0, p0.b
>  [^:]+:	252c8801 	incp	x1, p0.b
> @@ -28800,36 +28863,66 @@ Disassembly of section .*:
>  [^:]+:	0469f800 	sqdech	x0, w0, pow2, mul #10
>  [^:]+:	046ff800 	sqdech	x0, w0, pow2, mul #16
>  [^:]+:	046ff800 	sqdech	x0, w0, pow2, mul #16
> -[^:]+:	256a8000 	sqdecp	z0.h, p0
> -[^:]+:	256a8000 	sqdecp	z0.h, p0
> -[^:]+:	256a8001 	sqdecp	z1.h, p0
> -[^:]+:	256a8001 	sqdecp	z1.h, p0
> -[^:]+:	256a801f 	sqdecp	z31.h, p0
> -[^:]+:	256a801f 	sqdecp	z31.h, p0
> -[^:]+:	256a8040 	sqdecp	z0.h, p2
> -[^:]+:	256a8040 	sqdecp	z0.h, p2
> -[^:]+:	256a81e0 	sqdecp	z0.h, p15
> -[^:]+:	256a81e0 	sqdecp	z0.h, p15
> -[^:]+:	25aa8000 	sqdecp	z0.s, p0
> -[^:]+:	25aa8000 	sqdecp	z0.s, p0
> -[^:]+:	25aa8001 	sqdecp	z1.s, p0
> -[^:]+:	25aa8001 	sqdecp	z1.s, p0
> -[^:]+:	25aa801f 	sqdecp	z31.s, p0
> -[^:]+:	25aa801f 	sqdecp	z31.s, p0
> -[^:]+:	25aa8040 	sqdecp	z0.s, p2
> -[^:]+:	25aa8040 	sqdecp	z0.s, p2
> -[^:]+:	25aa81e0 	sqdecp	z0.s, p15
> -[^:]+:	25aa81e0 	sqdecp	z0.s, p15
> -[^:]+:	25ea8000 	sqdecp	z0.d, p0
> -[^:]+:	25ea8000 	sqdecp	z0.d, p0
> -[^:]+:	25ea8001 	sqdecp	z1.d, p0
> -[^:]+:	25ea8001 	sqdecp	z1.d, p0
> -[^:]+:	25ea801f 	sqdecp	z31.d, p0
> -[^:]+:	25ea801f 	sqdecp	z31.d, p0
> -[^:]+:	25ea8040 	sqdecp	z0.d, p2
> -[^:]+:	25ea8040 	sqdecp	z0.d, p2
> -[^:]+:	25ea81e0 	sqdecp	z0.d, p15
> -[^:]+:	25ea81e0 	sqdecp	z0.d, p15
> +[^:]+:	256a8000 	sqdecp	z0.h, p0.h
> +[^:]+:	256a8000 	sqdecp	z0.h, p0.h
> +[^:]+:	256a8001 	sqdecp	z1.h, p0.h
> +[^:]+:	256a8001 	sqdecp	z1.h, p0.h
> +[^:]+:	256a801f 	sqdecp	z31.h, p0.h
> +[^:]+:	256a801f 	sqdecp	z31.h, p0.h
> +[^:]+:	256a8040 	sqdecp	z0.h, p2.h
> +[^:]+:	256a8040 	sqdecp	z0.h, p2.h
> +[^:]+:	256a81e0 	sqdecp	z0.h, p15.h
> +[^:]+:	256a81e0 	sqdecp	z0.h, p15.h
> +[^:]+:	25aa8000 	sqdecp	z0.s, p0.s
> +[^:]+:	25aa8000 	sqdecp	z0.s, p0.s
> +[^:]+:	25aa8001 	sqdecp	z1.s, p0.s
> +[^:]+:	25aa8001 	sqdecp	z1.s, p0.s
> +[^:]+:	25aa801f 	sqdecp	z31.s, p0.s
> +[^:]+:	25aa801f 	sqdecp	z31.s, p0.s
> +[^:]+:	25aa8040 	sqdecp	z0.s, p2.s
> +[^:]+:	25aa8040 	sqdecp	z0.s, p2.s
> +[^:]+:	25aa81e0 	sqdecp	z0.s, p15.s
> +[^:]+:	25aa81e0 	sqdecp	z0.s, p15.s
> +[^:]+:	25ea8000 	sqdecp	z0.d, p0.d
> +[^:]+:	25ea8000 	sqdecp	z0.d, p0.d
> +[^:]+:	25ea8001 	sqdecp	z1.d, p0.d
> +[^:]+:	25ea8001 	sqdecp	z1.d, p0.d
> +[^:]+:	25ea801f 	sqdecp	z31.d, p0.d
> +[^:]+:	25ea801f 	sqdecp	z31.d, p0.d
> +[^:]+:	25ea8040 	sqdecp	z0.d, p2.d
> +[^:]+:	25ea8040 	sqdecp	z0.d, p2.d
> +[^:]+:	25ea81e0 	sqdecp	z0.d, p15.d
> +[^:]+:	25ea81e0 	sqdecp	z0.d, p15.d
> +[^:]+:	256a8000 	sqdecp	z0.h, p0.h
> +[^:]+:	256a8000 	sqdecp	z0.h, p0.h
> +[^:]+:	256a8001 	sqdecp	z1.h, p0.h
> +[^:]+:	256a8001 	sqdecp	z1.h, p0.h
> +[^:]+:	256a801f 	sqdecp	z31.h, p0.h
> +[^:]+:	256a801f 	sqdecp	z31.h, p0.h
> +[^:]+:	256a8040 	sqdecp	z0.h, p2.h
> +[^:]+:	256a8040 	sqdecp	z0.h, p2.h
> +[^:]+:	256a81e0 	sqdecp	z0.h, p15.h
> +[^:]+:	256a81e0 	sqdecp	z0.h, p15.h
> +[^:]+:	25aa8000 	sqdecp	z0.s, p0.s
> +[^:]+:	25aa8000 	sqdecp	z0.s, p0.s
> +[^:]+:	25aa8001 	sqdecp	z1.s, p0.s
> +[^:]+:	25aa8001 	sqdecp	z1.s, p0.s
> +[^:]+:	25aa801f 	sqdecp	z31.s, p0.s
> +[^:]+:	25aa801f 	sqdecp	z31.s, p0.s
> +[^:]+:	25aa8040 	sqdecp	z0.s, p2.s
> +[^:]+:	25aa8040 	sqdecp	z0.s, p2.s
> +[^:]+:	25aa81e0 	sqdecp	z0.s, p15.s
> +[^:]+:	25aa81e0 	sqdecp	z0.s, p15.s
> +[^:]+:	25ea8000 	sqdecp	z0.d, p0.d
> +[^:]+:	25ea8000 	sqdecp	z0.d, p0.d
> +[^:]+:	25ea8001 	sqdecp	z1.d, p0.d
> +[^:]+:	25ea8001 	sqdecp	z1.d, p0.d
> +[^:]+:	25ea801f 	sqdecp	z31.d, p0.d
> +[^:]+:	25ea801f 	sqdecp	z31.d, p0.d
> +[^:]+:	25ea8040 	sqdecp	z0.d, p2.d
> +[^:]+:	25ea8040 	sqdecp	z0.d, p2.d
> +[^:]+:	25ea81e0 	sqdecp	z0.d, p15.d
> +[^:]+:	25ea81e0 	sqdecp	z0.d, p15.d
>  [^:]+:	252a8c00 	sqdecp	x0, p0.b
>  [^:]+:	252a8c00 	sqdecp	x0, p0.b
>  [^:]+:	252a8c01 	sqdecp	x1, p0.b
> @@ -30151,36 +30244,66 @@ Disassembly of section .*:
>  [^:]+:	0469f000 	sqinch	x0, w0, pow2, mul #10
>  [^:]+:	046ff000 	sqinch	x0, w0, pow2, mul #16
>  [^:]+:	046ff000 	sqinch	x0, w0, pow2, mul #16
> -[^:]+:	25688000 	sqincp	z0.h, p0
> -[^:]+:	25688000 	sqincp	z0.h, p0
> -[^:]+:	25688001 	sqincp	z1.h, p0
> -[^:]+:	25688001 	sqincp	z1.h, p0
> -[^:]+:	2568801f 	sqincp	z31.h, p0
> -[^:]+:	2568801f 	sqincp	z31.h, p0
> -[^:]+:	25688040 	sqincp	z0.h, p2
> -[^:]+:	25688040 	sqincp	z0.h, p2
> -[^:]+:	256881e0 	sqincp	z0.h, p15
> -[^:]+:	256881e0 	sqincp	z0.h, p15
> -[^:]+:	25a88000 	sqincp	z0.s, p0
> -[^:]+:	25a88000 	sqincp	z0.s, p0
> -[^:]+:	25a88001 	sqincp	z1.s, p0
> -[^:]+:	25a88001 	sqincp	z1.s, p0
> -[^:]+:	25a8801f 	sqincp	z31.s, p0
> -[^:]+:	25a8801f 	sqincp	z31.s, p0
> -[^:]+:	25a88040 	sqincp	z0.s, p2
> -[^:]+:	25a88040 	sqincp	z0.s, p2
> -[^:]+:	25a881e0 	sqincp	z0.s, p15
> -[^:]+:	25a881e0 	sqincp	z0.s, p15
> -[^:]+:	25e88000 	sqincp	z0.d, p0
> -[^:]+:	25e88000 	sqincp	z0.d, p0
> -[^:]+:	25e88001 	sqincp	z1.d, p0
> -[^:]+:	25e88001 	sqincp	z1.d, p0
> -[^:]+:	25e8801f 	sqincp	z31.d, p0
> -[^:]+:	25e8801f 	sqincp	z31.d, p0
> -[^:]+:	25e88040 	sqincp	z0.d, p2
> -[^:]+:	25e88040 	sqincp	z0.d, p2
> -[^:]+:	25e881e0 	sqincp	z0.d, p15
> -[^:]+:	25e881e0 	sqincp	z0.d, p15
> +[^:]+:	25688000 	sqincp	z0.h, p0.h
> +[^:]+:	25688000 	sqincp	z0.h, p0.h
> +[^:]+:	25688001 	sqincp	z1.h, p0.h
> +[^:]+:	25688001 	sqincp	z1.h, p0.h
> +[^:]+:	2568801f 	sqincp	z31.h, p0.h
> +[^:]+:	2568801f 	sqincp	z31.h, p0.h
> +[^:]+:	25688040 	sqincp	z0.h, p2.h
> +[^:]+:	25688040 	sqincp	z0.h, p2.h
> +[^:]+:	256881e0 	sqincp	z0.h, p15.h
> +[^:]+:	256881e0 	sqincp	z0.h, p15.h
> +[^:]+:	25a88000 	sqincp	z0.s, p0.s
> +[^:]+:	25a88000 	sqincp	z0.s, p0.s
> +[^:]+:	25a88001 	sqincp	z1.s, p0.s
> +[^:]+:	25a88001 	sqincp	z1.s, p0.s
> +[^:]+:	25a8801f 	sqincp	z31.s, p0.s
> +[^:]+:	25a8801f 	sqincp	z31.s, p0.s
> +[^:]+:	25a88040 	sqincp	z0.s, p2.s
> +[^:]+:	25a88040 	sqincp	z0.s, p2.s
> +[^:]+:	25a881e0 	sqincp	z0.s, p15.s
> +[^:]+:	25a881e0 	sqincp	z0.s, p15.s
> +[^:]+:	25e88000 	sqincp	z0.d, p0.d
> +[^:]+:	25e88000 	sqincp	z0.d, p0.d
> +[^:]+:	25e88001 	sqincp	z1.d, p0.d
> +[^:]+:	25e88001 	sqincp	z1.d, p0.d
> +[^:]+:	25e8801f 	sqincp	z31.d, p0.d
> +[^:]+:	25e8801f 	sqincp	z31.d, p0.d
> +[^:]+:	25e88040 	sqincp	z0.d, p2.d
> +[^:]+:	25e88040 	sqincp	z0.d, p2.d
> +[^:]+:	25e881e0 	sqincp	z0.d, p15.d
> +[^:]+:	25e881e0 	sqincp	z0.d, p15.d
> +[^:]+:	25688000 	sqincp	z0.h, p0.h
> +[^:]+:	25688000 	sqincp	z0.h, p0.h
> +[^:]+:	25688001 	sqincp	z1.h, p0.h
> +[^:]+:	25688001 	sqincp	z1.h, p0.h
> +[^:]+:	2568801f 	sqincp	z31.h, p0.h
> +[^:]+:	2568801f 	sqincp	z31.h, p0.h
> +[^:]+:	25688040 	sqincp	z0.h, p2.h
> +[^:]+:	25688040 	sqincp	z0.h, p2.h
> +[^:]+:	256881e0 	sqincp	z0.h, p15.h
> +[^:]+:	256881e0 	sqincp	z0.h, p15.h
> +[^:]+:	25a88000 	sqincp	z0.s, p0.s
> +[^:]+:	25a88000 	sqincp	z0.s, p0.s
> +[^:]+:	25a88001 	sqincp	z1.s, p0.s
> +[^:]+:	25a88001 	sqincp	z1.s, p0.s
> +[^:]+:	25a8801f 	sqincp	z31.s, p0.s
> +[^:]+:	25a8801f 	sqincp	z31.s, p0.s
> +[^:]+:	25a88040 	sqincp	z0.s, p2.s
> +[^:]+:	25a88040 	sqincp	z0.s, p2.s
> +[^:]+:	25a881e0 	sqincp	z0.s, p15.s
> +[^:]+:	25a881e0 	sqincp	z0.s, p15.s
> +[^:]+:	25e88000 	sqincp	z0.d, p0.d
> +[^:]+:	25e88000 	sqincp	z0.d, p0.d
> +[^:]+:	25e88001 	sqincp	z1.d, p0.d
> +[^:]+:	25e88001 	sqincp	z1.d, p0.d
> +[^:]+:	25e8801f 	sqincp	z31.d, p0.d
> +[^:]+:	25e8801f 	sqincp	z31.d, p0.d
> +[^:]+:	25e88040 	sqincp	z0.d, p2.d
> +[^:]+:	25e88040 	sqincp	z0.d, p2.d
> +[^:]+:	25e881e0 	sqincp	z0.d, p15.d
> +[^:]+:	25e881e0 	sqincp	z0.d, p15.d
>  [^:]+:	25288c00 	sqincp	x0, p0.b
>  [^:]+:	25288c00 	sqincp	x0, p0.b
>  [^:]+:	25288c01 	sqincp	x1, p0.b
> @@ -36646,36 +36769,66 @@ Disassembly of section .*:
>  [^:]+:	0479fc00 	uqdech	x0, pow2, mul #10
>  [^:]+:	047ffc00 	uqdech	x0, pow2, mul #16
>  [^:]+:	047ffc00 	uqdech	x0, pow2, mul #16
> -[^:]+:	256b8000 	uqdecp	z0.h, p0
> -[^:]+:	256b8000 	uqdecp	z0.h, p0
> -[^:]+:	256b8001 	uqdecp	z1.h, p0
> -[^:]+:	256b8001 	uqdecp	z1.h, p0
> -[^:]+:	256b801f 	uqdecp	z31.h, p0
> -[^:]+:	256b801f 	uqdecp	z31.h, p0
> -[^:]+:	256b8040 	uqdecp	z0.h, p2
> -[^:]+:	256b8040 	uqdecp	z0.h, p2
> -[^:]+:	256b81e0 	uqdecp	z0.h, p15
> -[^:]+:	256b81e0 	uqdecp	z0.h, p15
> -[^:]+:	25ab8000 	uqdecp	z0.s, p0
> -[^:]+:	25ab8000 	uqdecp	z0.s, p0
> -[^:]+:	25ab8001 	uqdecp	z1.s, p0
> -[^:]+:	25ab8001 	uqdecp	z1.s, p0
> -[^:]+:	25ab801f 	uqdecp	z31.s, p0
> -[^:]+:	25ab801f 	uqdecp	z31.s, p0
> -[^:]+:	25ab8040 	uqdecp	z0.s, p2
> -[^:]+:	25ab8040 	uqdecp	z0.s, p2
> -[^:]+:	25ab81e0 	uqdecp	z0.s, p15
> -[^:]+:	25ab81e0 	uqdecp	z0.s, p15
> -[^:]+:	25eb8000 	uqdecp	z0.d, p0
> -[^:]+:	25eb8000 	uqdecp	z0.d, p0
> -[^:]+:	25eb8001 	uqdecp	z1.d, p0
> -[^:]+:	25eb8001 	uqdecp	z1.d, p0
> -[^:]+:	25eb801f 	uqdecp	z31.d, p0
> -[^:]+:	25eb801f 	uqdecp	z31.d, p0
> -[^:]+:	25eb8040 	uqdecp	z0.d, p2
> -[^:]+:	25eb8040 	uqdecp	z0.d, p2
> -[^:]+:	25eb81e0 	uqdecp	z0.d, p15
> -[^:]+:	25eb81e0 	uqdecp	z0.d, p15
> +[^:]+:	256b8000 	uqdecp	z0.h, p0.h
> +[^:]+:	256b8000 	uqdecp	z0.h, p0.h
> +[^:]+:	256b8001 	uqdecp	z1.h, p0.h
> +[^:]+:	256b8001 	uqdecp	z1.h, p0.h
> +[^:]+:	256b801f 	uqdecp	z31.h, p0.h
> +[^:]+:	256b801f 	uqdecp	z31.h, p0.h
> +[^:]+:	256b8040 	uqdecp	z0.h, p2.h
> +[^:]+:	256b8040 	uqdecp	z0.h, p2.h
> +[^:]+:	256b81e0 	uqdecp	z0.h, p15.h
> +[^:]+:	256b81e0 	uqdecp	z0.h, p15.h
> +[^:]+:	25ab8000 	uqdecp	z0.s, p0.s
> +[^:]+:	25ab8000 	uqdecp	z0.s, p0.s
> +[^:]+:	25ab8001 	uqdecp	z1.s, p0.s
> +[^:]+:	25ab8001 	uqdecp	z1.s, p0.s
> +[^:]+:	25ab801f 	uqdecp	z31.s, p0.s
> +[^:]+:	25ab801f 	uqdecp	z31.s, p0.s
> +[^:]+:	25ab8040 	uqdecp	z0.s, p2.s
> +[^:]+:	25ab8040 	uqdecp	z0.s, p2.s
> +[^:]+:	25ab81e0 	uqdecp	z0.s, p15.s
> +[^:]+:	25ab81e0 	uqdecp	z0.s, p15.s
> +[^:]+:	25eb8000 	uqdecp	z0.d, p0.d
> +[^:]+:	25eb8000 	uqdecp	z0.d, p0.d
> +[^:]+:	25eb8001 	uqdecp	z1.d, p0.d
> +[^:]+:	25eb8001 	uqdecp	z1.d, p0.d
> +[^:]+:	25eb801f 	uqdecp	z31.d, p0.d
> +[^:]+:	25eb801f 	uqdecp	z31.d, p0.d
> +[^:]+:	25eb8040 	uqdecp	z0.d, p2.d
> +[^:]+:	25eb8040 	uqdecp	z0.d, p2.d
> +[^:]+:	25eb81e0 	uqdecp	z0.d, p15.d
> +[^:]+:	25eb81e0 	uqdecp	z0.d, p15.d
> +[^:]+:	256b8000 	uqdecp	z0.h, p0.h
> +[^:]+:	256b8000 	uqdecp	z0.h, p0.h
> +[^:]+:	256b8001 	uqdecp	z1.h, p0.h
> +[^:]+:	256b8001 	uqdecp	z1.h, p0.h
> +[^:]+:	256b801f 	uqdecp	z31.h, p0.h
> +[^:]+:	256b801f 	uqdecp	z31.h, p0.h
> +[^:]+:	256b8040 	uqdecp	z0.h, p2.h
> +[^:]+:	256b8040 	uqdecp	z0.h, p2.h
> +[^:]+:	256b81e0 	uqdecp	z0.h, p15.h
> +[^:]+:	256b81e0 	uqdecp	z0.h, p15.h
> +[^:]+:	25ab8000 	uqdecp	z0.s, p0.s
> +[^:]+:	25ab8000 	uqdecp	z0.s, p0.s
> +[^:]+:	25ab8001 	uqdecp	z1.s, p0.s
> +[^:]+:	25ab8001 	uqdecp	z1.s, p0.s
> +[^:]+:	25ab801f 	uqdecp	z31.s, p0.s
> +[^:]+:	25ab801f 	uqdecp	z31.s, p0.s
> +[^:]+:	25ab8040 	uqdecp	z0.s, p2.s
> +[^:]+:	25ab8040 	uqdecp	z0.s, p2.s
> +[^:]+:	25ab81e0 	uqdecp	z0.s, p15.s
> +[^:]+:	25ab81e0 	uqdecp	z0.s, p15.s
> +[^:]+:	25eb8000 	uqdecp	z0.d, p0.d
> +[^:]+:	25eb8000 	uqdecp	z0.d, p0.d
> +[^:]+:	25eb8001 	uqdecp	z1.d, p0.d
> +[^:]+:	25eb8001 	uqdecp	z1.d, p0.d
> +[^:]+:	25eb801f 	uqdecp	z31.d, p0.d
> +[^:]+:	25eb801f 	uqdecp	z31.d, p0.d
> +[^:]+:	25eb8040 	uqdecp	z0.d, p2.d
> +[^:]+:	25eb8040 	uqdecp	z0.d, p2.d
> +[^:]+:	25eb81e0 	uqdecp	z0.d, p15.d
> +[^:]+:	25eb81e0 	uqdecp	z0.d, p15.d
>  [^:]+:	252b8800 	uqdecp	w0, p0.b
>  [^:]+:	252b8800 	uqdecp	w0, p0.b
>  [^:]+:	252b8801 	uqdecp	w1, p0.b
> @@ -37977,36 +38130,66 @@ Disassembly of section .*:
>  [^:]+:	0479f400 	uqinch	x0, pow2, mul #10
>  [^:]+:	047ff400 	uqinch	x0, pow2, mul #16
>  [^:]+:	047ff400 	uqinch	x0, pow2, mul #16
> -[^:]+:	25698000 	uqincp	z0.h, p0
> -[^:]+:	25698000 	uqincp	z0.h, p0
> -[^:]+:	25698001 	uqincp	z1.h, p0
> -[^:]+:	25698001 	uqincp	z1.h, p0
> -[^:]+:	2569801f 	uqincp	z31.h, p0
> -[^:]+:	2569801f 	uqincp	z31.h, p0
> -[^:]+:	25698040 	uqincp	z0.h, p2
> -[^:]+:	25698040 	uqincp	z0.h, p2
> -[^:]+:	256981e0 	uqincp	z0.h, p15
> -[^:]+:	256981e0 	uqincp	z0.h, p15
> -[^:]+:	25a98000 	uqincp	z0.s, p0
> -[^:]+:	25a98000 	uqincp	z0.s, p0
> -[^:]+:	25a98001 	uqincp	z1.s, p0
> -[^:]+:	25a98001 	uqincp	z1.s, p0
> -[^:]+:	25a9801f 	uqincp	z31.s, p0
> -[^:]+:	25a9801f 	uqincp	z31.s, p0
> -[^:]+:	25a98040 	uqincp	z0.s, p2
> -[^:]+:	25a98040 	uqincp	z0.s, p2
> -[^:]+:	25a981e0 	uqincp	z0.s, p15
> -[^:]+:	25a981e0 	uqincp	z0.s, p15
> -[^:]+:	25e98000 	uqincp	z0.d, p0
> -[^:]+:	25e98000 	uqincp	z0.d, p0
> -[^:]+:	25e98001 	uqincp	z1.d, p0
> -[^:]+:	25e98001 	uqincp	z1.d, p0
> -[^:]+:	25e9801f 	uqincp	z31.d, p0
> -[^:]+:	25e9801f 	uqincp	z31.d, p0
> -[^:]+:	25e98040 	uqincp	z0.d, p2
> -[^:]+:	25e98040 	uqincp	z0.d, p2
> -[^:]+:	25e981e0 	uqincp	z0.d, p15
> -[^:]+:	25e981e0 	uqincp	z0.d, p15
> +[^:]+:	25698000 	uqincp	z0.h, p0.h
> +[^:]+:	25698000 	uqincp	z0.h, p0.h
> +[^:]+:	25698001 	uqincp	z1.h, p0.h
> +[^:]+:	25698001 	uqincp	z1.h, p0.h
> +[^:]+:	2569801f 	uqincp	z31.h, p0.h
> +[^:]+:	2569801f 	uqincp	z31.h, p0.h
> +[^:]+:	25698040 	uqincp	z0.h, p2.h
> +[^:]+:	25698040 	uqincp	z0.h, p2.h
> +[^:]+:	256981e0 	uqincp	z0.h, p15.h
> +[^:]+:	256981e0 	uqincp	z0.h, p15.h
> +[^:]+:	25a98000 	uqincp	z0.s, p0.s
> +[^:]+:	25a98000 	uqincp	z0.s, p0.s
> +[^:]+:	25a98001 	uqincp	z1.s, p0.s
> +[^:]+:	25a98001 	uqincp	z1.s, p0.s
> +[^:]+:	25a9801f 	uqincp	z31.s, p0.s
> +[^:]+:	25a9801f 	uqincp	z31.s, p0.s
> +[^:]+:	25a98040 	uqincp	z0.s, p2.s
> +[^:]+:	25a98040 	uqincp	z0.s, p2.s
> +[^:]+:	25a981e0 	uqincp	z0.s, p15.s
> +[^:]+:	25a981e0 	uqincp	z0.s, p15.s
> +[^:]+:	25e98000 	uqincp	z0.d, p0.d
> +[^:]+:	25e98000 	uqincp	z0.d, p0.d
> +[^:]+:	25e98001 	uqincp	z1.d, p0.d
> +[^:]+:	25e98001 	uqincp	z1.d, p0.d
> +[^:]+:	25e9801f 	uqincp	z31.d, p0.d
> +[^:]+:	25e9801f 	uqincp	z31.d, p0.d
> +[^:]+:	25e98040 	uqincp	z0.d, p2.d
> +[^:]+:	25e98040 	uqincp	z0.d, p2.d
> +[^:]+:	25e981e0 	uqincp	z0.d, p15.d
> +[^:]+:	25e981e0 	uqincp	z0.d, p15.d
> +[^:]+:	25698000 	uqincp	z0.h, p0.h
> +[^:]+:	25698000 	uqincp	z0.h, p0.h
> +[^:]+:	25698001 	uqincp	z1.h, p0.h
> +[^:]+:	25698001 	uqincp	z1.h, p0.h
> +[^:]+:	2569801f 	uqincp	z31.h, p0.h
> +[^:]+:	2569801f 	uqincp	z31.h, p0.h
> +[^:]+:	25698040 	uqincp	z0.h, p2.h
> +[^:]+:	25698040 	uqincp	z0.h, p2.h
> +[^:]+:	256981e0 	uqincp	z0.h, p15.h
> +[^:]+:	256981e0 	uqincp	z0.h, p15.h
> +[^:]+:	25a98000 	uqincp	z0.s, p0.s
> +[^:]+:	25a98000 	uqincp	z0.s, p0.s
> +[^:]+:	25a98001 	uqincp	z1.s, p0.s
> +[^:]+:	25a98001 	uqincp	z1.s, p0.s
> +[^:]+:	25a9801f 	uqincp	z31.s, p0.s
> +[^:]+:	25a9801f 	uqincp	z31.s, p0.s
> +[^:]+:	25a98040 	uqincp	z0.s, p2.s
> +[^:]+:	25a98040 	uqincp	z0.s, p2.s
> +[^:]+:	25a981e0 	uqincp	z0.s, p15.s
> +[^:]+:	25a981e0 	uqincp	z0.s, p15.s
> +[^:]+:	25e98000 	uqincp	z0.d, p0.d
> +[^:]+:	25e98000 	uqincp	z0.d, p0.d
> +[^:]+:	25e98001 	uqincp	z1.d, p0.d
> +[^:]+:	25e98001 	uqincp	z1.d, p0.d
> +[^:]+:	25e9801f 	uqincp	z31.d, p0.d
> +[^:]+:	25e9801f 	uqincp	z31.d, p0.d
> +[^:]+:	25e98040 	uqincp	z0.d, p2.d
> +[^:]+:	25e98040 	uqincp	z0.d, p2.d
> +[^:]+:	25e981e0 	uqincp	z0.d, p15.d
> +[^:]+:	25e981e0 	uqincp	z0.d, p15.d
>  [^:]+:	25298800 	uqincp	w0, p0.b
>  [^:]+:	25298800 	uqincp	w0, p0.b
>  [^:]+:	25298801 	uqincp	w1, p0.b
> diff --git a/gas/testsuite/gas/aarch64/sve.l b/gas/testsuite/gas/aarch64/sve.l
> new file mode 100644
> index 000000000000..802a94a1e0b5
> --- /dev/null
> +++ b/gas/testsuite/gas/aarch64/sve.l
> @@ -0,0 +1,181 @@
> +[^:]*: Assembler messages:
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z1.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z1.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z31.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z31.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.h,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.H,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.h,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.H,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z1.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z1.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z31.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z31.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.s,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.S,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.s,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.S,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z1.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z1.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z31.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z31.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.d,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.D,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp z0.d,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `decp Z0.D,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z1.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z1.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z31.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z31.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.h,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.H,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.h,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.H,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z1.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z1.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z31.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z31.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.s,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.S,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.s,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.S,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z1.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z1.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z31.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z31.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.d,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.D,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp z0.d,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `incp Z0.D,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z1.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z1.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z31.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z31.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.h,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.H,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.h,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.H,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z1.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z1.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z31.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z31.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.s,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.S,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.s,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.S,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z1.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z1.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z31.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z31.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.d,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.D,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp z0.d,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqdecp Z0.D,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z1.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z1.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z31.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z31.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.h,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.H,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.h,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.H,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z1.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z1.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z31.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z31.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.s,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.S,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.s,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.S,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z1.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z1.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z31.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z31.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.d,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.D,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp z0.d,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `sqincp Z0.D,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z1.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z1.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z31.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z31.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.h,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.H,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.h,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.H,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z1.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z1.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z31.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z31.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.s,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.S,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.s,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.S,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z1.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z1.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z31.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z31.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.d,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.D,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp z0.d,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqdecp Z0.D,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z1.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z1.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z31.h,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z31.H,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.h,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.H,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.h,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.H,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z1.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z1.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z31.s,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z31.S,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.s,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.S,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.s,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.S,P15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z1.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z1.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z31.d,p0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z31.D,P0'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.d,p2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.D,P2'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp z0.d,p15'
> +.*: Warning: omitting predicate size specifier is deprecated and will be prohibited in future -- `uqincp Z0.D,P15'
> diff --git a/gas/testsuite/gas/aarch64/sve.s b/gas/testsuite/gas/aarch64/sve.s
> index f3ca5e886733..11cf4cc7fc00 100644
> --- a/gas/testsuite/gas/aarch64/sve.s
> +++ b/gas/testsuite/gas/aarch64/sve.s
> @@ -7244,6 +7244,36 @@
>  	DECP      Z0.D, P2
>  	decp      z0.d, p15
>  	DECP      Z0.D, P15
> +	decp      z0.h, p0.h
> +	DECP      Z0.H, P0.H
> +	decp      z1.h, p0.h
> +	DECP      Z1.H, P0.H
> +	decp      z31.h, p0.h
> +	DECP      Z31.H, P0.H
> +	decp      z0.h, p2.h
> +	DECP      Z0.H, P2.H
> +	decp      z0.h, p15.h
> +	DECP      Z0.H, P15.H
> +	decp      z0.s, p0.s
> +	DECP      Z0.S, P0.S
> +	decp      z1.s, p0.s
> +	DECP      Z1.S, P0.S
> +	decp      z31.s, p0.s
> +	DECP      Z31.S, P0.S
> +	decp      z0.s, p2.s
> +	DECP      Z0.S, P2.S
> +	decp      z0.s, p15.s
> +	DECP      Z0.S, P15.S
> +	decp      z0.d, p0.d
> +	DECP      Z0.D, P0.D
> +	decp      z1.d, p0.d
> +	DECP      Z1.D, P0.D
> +	decp      z31.d, p0.d
> +	DECP      Z31.D, P0.D
> +	decp      z0.d, p2.d
> +	DECP      Z0.D, P2.D
> +	decp      z0.d, p15.d
> +	DECP      Z0.D, P15.D
>  	decp      x0, p0.b
>  	DECP      X0, P0.B
>  	decp      x1, p0.b
> @@ -13070,6 +13100,36 @@
>  	INCP      Z0.D, P2
>  	incp      z0.d, p15
>  	INCP      Z0.D, P15
> +	incp      z0.h, p0.h
> +	INCP      Z0.H, P0.H
> +	incp      z1.h, p0.h
> +	INCP      Z1.H, P0.H
> +	incp      z31.h, p0.h
> +	INCP      Z31.H, P0.H
> +	incp      z0.h, p2.h
> +	INCP      Z0.H, P2.H
> +	incp      z0.h, p15.h
> +	INCP      Z0.H, P15.H
> +	incp      z0.s, p0.s
> +	INCP      Z0.S, P0.S
> +	incp      z1.s, p0.s
> +	INCP      Z1.S, P0.S
> +	incp      z31.s, p0.s
> +	INCP      Z31.S, P0.S
> +	incp      z0.s, p2.s
> +	INCP      Z0.S, P2.S
> +	incp      z0.s, p15.s
> +	INCP      Z0.S, P15.S
> +	incp      z0.d, p0.d
> +	INCP      Z0.D, P0.D
> +	incp      z1.d, p0.d
> +	INCP      Z1.D, P0.D
> +	incp      z31.d, p0.d
> +	INCP      Z31.D, P0.D
> +	incp      z0.d, p2.d
> +	INCP      Z0.D, P2.D
> +	incp      z0.d, p15.d
> +	INCP      Z0.D, P15.D
>  	incp      x0, p0.b
>  	INCP      X0, P0.B
>  	incp      x1, p0.b
> @@ -28839,6 +28899,36 @@
>  	SQDECP    Z0.D, P2
>  	sqdecp    z0.d, p15
>  	SQDECP    Z0.D, P15
> +	sqdecp    z0.h, p0.h
> +	SQDECP    Z0.H, P0.H
> +	sqdecp    z1.h, p0.h
> +	SQDECP    Z1.H, P0.H
> +	sqdecp    z31.h, p0.h
> +	SQDECP    Z31.H, P0.H
> +	sqdecp    z0.h, p2.h
> +	SQDECP    Z0.H, P2.H
> +	sqdecp    z0.h, p15.h
> +	SQDECP    Z0.H, P15.H
> +	sqdecp    z0.s, p0.s
> +	SQDECP    Z0.S, P0.S
> +	sqdecp    z1.s, p0.s
> +	SQDECP    Z1.S, P0.S
> +	sqdecp    z31.s, p0.s
> +	SQDECP    Z31.S, P0.S
> +	sqdecp    z0.s, p2.s
> +	SQDECP    Z0.S, P2.S
> +	sqdecp    z0.s, p15.s
> +	SQDECP    Z0.S, P15.S
> +	sqdecp    z0.d, p0.d
> +	SQDECP    Z0.D, P0.D
> +	sqdecp    z1.d, p0.d
> +	SQDECP    Z1.D, P0.D
> +	sqdecp    z31.d, p0.d
> +	SQDECP    Z31.D, P0.D
> +	sqdecp    z0.d, p2.d
> +	SQDECP    Z0.D, P2.D
> +	sqdecp    z0.d, p15.d
> +	SQDECP    Z0.D, P15.D
>  	sqdecp    x0, p0.b
>  	SQDECP    X0, P0.B
>  	sqdecp    x1, p0.b
> @@ -30190,6 +30280,37 @@
>  	SQINCP    Z0.D, P2
>  	sqincp    z0.d, p15
>  	SQINCP    Z0.D, P15
> +	sqincp    z0.h, p0.h
> +	SQINCP    Z0.H, P0.H
> +	sqincp    z1.h, p0.h
> +	SQINCP    Z1.H, P0.H
> +	sqincp    z31.h, p0.h
> +	SQINCP    Z31.H, P0.H
> +	sqincp    z0.h, p2.h
> +	SQINCP    Z0.H, P2.H
> +	sqincp    z0.h, p15.h
> +	SQINCP    Z0.H, P15.H
> +	sqincp    z0.s, p0.s
> +	SQINCP    Z0.S, P0.S
> +	sqincp    z1.s, p0.s
> +	SQINCP    Z1.S, P0.S
> +	sqincp    z31.s, p0.s
> +	SQINCP    Z31.S, P0.S
> +	sqincp    z0.s, p2.s
> +	SQINCP    Z0.S, P2.S
> +	sqincp    z0.s, p15.s
> +	SQINCP    Z0.S, P15.S
> +	sqincp    z0.d, p0.d
> +	SQINCP    Z0.D, P0.D
> +	sqincp    z1.d, p0.d
> +	SQINCP    Z1.D, P0.D
> +	sqincp    z31.d, p0.d
> +	SQINCP    Z31.D, P0.D
> +	sqincp    z0.d, p2.d
> +	SQINCP    Z0.D, P2.D
> +	sqincp    z0.d, p15.d
> +	SQINCP    Z0.D, P15.D
> +
>  	sqincp    x0, p0.b
>  	SQINCP    X0, P0.B
>  	sqincp    x1, p0.b
> @@ -36685,6 +36806,36 @@
>  	UQDECP    Z0.D, P2
>  	uqdecp    z0.d, p15
>  	UQDECP    Z0.D, P15
> +	uqdecp    z0.h, p0.h
> +	UQDECP    Z0.H, P0.H
> +	uqdecp    z1.h, p0.h
> +	UQDECP    Z1.H, P0.H
> +	uqdecp    z31.h, p0.h
> +	UQDECP    Z31.H, P0.H
> +	uqdecp    z0.h, p2.h
> +	UQDECP    Z0.H, P2.H
> +	uqdecp    z0.h, p15.h
> +	UQDECP    Z0.H, P15.H
> +	uqdecp    z0.s, p0.s
> +	UQDECP    Z0.S, P0.S
> +	uqdecp    z1.s, p0.s
> +	UQDECP    Z1.S, P0.S
> +	uqdecp    z31.s, p0.s
> +	UQDECP    Z31.S, P0.S
> +	uqdecp    z0.s, p2.s
> +	UQDECP    Z0.S, P2.S
> +	uqdecp    z0.s, p15.s
> +	UQDECP    Z0.S, P15.S
> +	uqdecp    z0.d, p0.d
> +	UQDECP    Z0.D, P0.D
> +	uqdecp    z1.d, p0.d
> +	UQDECP    Z1.D, P0.D
> +	uqdecp    z31.d, p0.d
> +	UQDECP    Z31.D, P0.D
> +	uqdecp    z0.d, p2.d
> +	UQDECP    Z0.D, P2.D
> +	uqdecp    z0.d, p15.d
> +	UQDECP    Z0.D, P15.D
>  	uqdecp    w0, p0.b
>  	UQDECP    W0, P0.B
>  	uqdecp    w1, p0.b
> @@ -38016,6 +38167,36 @@
>  	UQINCP    Z0.D, P2
>  	uqincp    z0.d, p15
>  	UQINCP    Z0.D, P15
> +	uqincp    z0.h, p0.h
> +	UQINCP    Z0.H, P0.H
> +	uqincp    z1.h, p0.h
> +	UQINCP    Z1.H, P0.H
> +	uqincp    z31.h, p0.h
> +	UQINCP    Z31.H, P0.H
> +	uqincp    z0.h, p2.h
> +	UQINCP    Z0.H, P2.H
> +	uqincp    z0.h, p15.h
> +	UQINCP    Z0.H, P15.H
> +	uqincp    z0.s, p0.s
> +	UQINCP    Z0.S, P0.S
> +	uqincp    z1.s, p0.s
> +	UQINCP    Z1.S, P0.S
> +	uqincp    z31.s, p0.s
> +	UQINCP    Z31.S, P0.S
> +	uqincp    z0.s, p2.s
> +	UQINCP    Z0.S, P2.S
> +	uqincp    z0.s, p15.s
> +	UQINCP    Z0.S, P15.S
> +	uqincp    z0.d, p0.d
> +	UQINCP    Z0.D, P0.D
> +	uqincp    z1.d, p0.d
> +	UQINCP    Z1.D, P0.D
> +	uqincp    z31.d, p0.d
> +	UQINCP    Z31.D, P0.D
> +	uqincp    z0.d, p2.d
> +	UQINCP    Z0.D, P2.D
> +	uqincp    z0.d, p15.d
> +	UQINCP    Z0.D, P15.D
>  	uqincp    w0, p0.b
>  	UQINCP    W0, P0.B
>  	uqincp    w1, p0.b
> diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
> index cb039d63eba3..794e2d24f528 100644
> --- a/opcodes/aarch64-tbl.h
> +++ b/opcodes/aarch64-tbl.h
> @@ -4200,6 +4200,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
>    _SVE_INSN ("decd", 0x04f0e400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
>    _SVE_INSNC ("dech", 0x0470c400, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_HU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("dech", 0x0470e400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
> +  _SVE_INSNC ("decp", 0x252d8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VV_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSNC ("decp", 0x252d8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VU_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("decp", 0x252d8800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
>    _SVE_INSNC ("decw", 0x04b0c400, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_SU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
> @@ -4325,6 +4326,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
>    _SVE_INSN ("incd", 0x04f0e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
>    _SVE_INSNC ("inch", 0x0470c000, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_HU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("inch", 0x0470e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
> +  _SVE_INSNC ("incp", 0x252c8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VV_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSNC ("incp", 0x252c8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VU_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("incp", 0x252c8800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
>    _SVE_INSNC ("incw", 0x04b0c000, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_SU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
> @@ -4688,6 +4690,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
>    _SVE_INSNC ("sqdech", 0x0460c800, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_HU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("sqdech", 0x0470f800, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
>    _SVE_INSN ("sqdech", 0x0460f800, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
> +  _SVE_INSNC ("sqdecp", 0x252a8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VV_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSNC ("sqdecp", 0x252a8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VU_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("sqdecp", 0x252a8c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
>    _SVE_INSN ("sqdecp", 0x252a8800, 0xff3ffe00, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg4_5, Rd), OP_SVE_XVW_BHSD, 0, 2),
> @@ -4702,6 +4705,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
>    _SVE_INSNC ("sqinch", 0x0460c000, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_HU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("sqinch", 0x0470f000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
>    _SVE_INSN ("sqinch", 0x0460f000, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
> +  _SVE_INSNC ("sqincp", 0x25288000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VV_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSNC ("sqincp", 0x25288000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VU_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("sqincp", 0x25288c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
>    _SVE_INSN ("sqincp", 0x25288800, 0xff3ffe00, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg4_5, Rd), OP_SVE_XVW_BHSD, 0, 2),
> @@ -4836,6 +4840,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
>    _SVE_INSNC ("uqdech", 0x0460cc00, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_HU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("uqdech", 0x0460fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
>    _SVE_INSN ("uqdech", 0x0470fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
> +  _SVE_INSNC ("uqdecp", 0x252b8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VV_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSNC ("uqdecp", 0x252b8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VU_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("uqdecp", 0x252b8800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_WV_BHSD, 0, 0),
>    _SVE_INSN ("uqdecp", 0x252b8c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
> @@ -4850,6 +4855,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
>    _SVE_INSNC ("uqinch", 0x0460c400, 0xfff0fc00, sve_misc, 0, OP2 (SVE_Zd, SVE_PATTERN_SCALED), OP_SVE_HU, F_OPD1_OPT | F_DEFAULT(31), C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("uqinch", 0x0460f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
>    _SVE_INSN ("uqinch", 0x0470f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
> +  _SVE_INSNC ("uqincp", 0x25298000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VV_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSNC ("uqincp", 0x25298000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_VU_HSD, 0, C_SCAN_MOVPRFX, 0),
>    _SVE_INSN ("uqincp", 0x25298800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_WV_BHSD, 0, 0),
>    _SVE_INSN ("uqincp", 0x25298c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
> 

  parent reply	other threads:[~2022-03-10 12:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-16  0:53 Shaokun Zhang
2022-02-21 13:13 ` Jan Beulich
2022-03-02  7:36   ` Shaokun Zhang
2022-03-10  9:38     ` Shaokun Zhang
2022-03-10 10:38       ` Jan Beulich
2022-03-10 11:33         ` Shaokun Zhang
2022-03-10 11:50           ` Jan Beulich
2022-03-10 12:24             ` Shaokun Zhang
2022-03-10 12:27 ` Shaokun Zhang [this message]
2022-09-12  8:17 ` Richard Sandiford
2022-09-12  8:27   ` Jan Beulich
2022-09-12  9:38     ` Richard Sandiford
2022-09-28  2:19   ` dongbo (E)
2022-09-30 14:54     ` Richard Sandiford
2022-10-09  1:31       ` dongbo (E)
2022-10-10 10:25         ` Richard Sandiford
2022-10-11  2:19           ` dongbo (E)
2022-10-17  9:33             ` Richard Sandiford
2022-10-18  5:57               ` dongbo (E)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=71b85950-164e-1185-0d28-29414e74d510@hisilicon.com \
    --to=zhangshaokun@hisilicon.com \
    --cc=binutils@sourceware.org \
    --cc=caijingtao@huawei.com \
    --cc=dongbo4@huawei.com \
    --cc=jbeulich@suse.com \
    --cc=marcus.shawcroft@arm.com \
    --cc=rearnsha@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).