[PATCH] Fix the disassembly of the AArch64 SVE DECP/INCP/SQDECP/SQINCP instruction.

Jan Beulich jbeulich@suse.com
Mon Feb 7 09:44:38 GMT 2022


On 07.02.2022 10:34, Shaokun Zhang via Binutils wrote:
> From: Jingtao Cai <caijingtao@huawei.com>
> 
> This patch fix qualifier for the AArch64 SVE DECP/INCP/SQDECP/SQINCP instruction, which take the predicate size specifier:
> 	DECP <Zdn>.<T>, <Pm>.<T>
> 	INCP <Zdn>.<T>, <Pm>.<T>
> 	SQINCP <Zdn>.<T>, <Pm>.<T>
> 	SQDECP <Zdn>.<T>, <Pm>.<T>
> 
> Omitted predicate size specifier will be prohibited in a future release of the architecture, please refer to Arm A64 Instruction set documentation for Armv8-A
> architecture profile, see document[0].
> 
> [0]: https://developer.arm.com/documentation/ddi0596/2021-12/SVE-Instructions/DECP--vector---Decrement-vector-by-count-of-true-predicate-elements-
> 
> E.g. :
> 
> DECP Z1.H, P0.H
> 
> This patch adds support for this kind of operand.
> 
> DECP Z1.H, P0
> 
> This instruction leads to messages:
> Assembler messages:
> Error: operand mismatch -- `decp Z1.h,P0'

IOW unlike the title suggests you change not only the disassembly
logic. Wouldn't it be better to make this a warning initially, and
convert to an error only a few releases later? That way people
don't need to immediately fix their code.

> 	did you mean this?
> 		decp z1.h, p0.h
> 	other valid variant(s):
> 		decp z1.s, p0
> 		decp z1.d, p0

Isn't this misleading? Should these "other valid variant(s)" also
be output with suffixes?

Jan



More information about the Binutils mailing list