[PATCH] arm: Fix MVE vmla encoding
Richard Earnshaw (lists)
Richard.Earnshaw@arm.com
Fri May 17 14:31:12 GMT 2024
On 15/04/2024 11:00, Claudio Bantaloukas wrote:
>
> Bit 12 of the first halfword in the VMLA instruction is listed as (0)
> in the ARMARM (document DDI0553B.w, version ID07072023).
> This means that the instruction does not discriminate between signed
> and unsigned types and processing elements do not use the bit.
> The encoding used by gas was based on an older version
> of the document that made the sign important.
> This change makes it possible to use vmla.i8 (16,32) in addition to
> vmla.u8 and vmla.s8 mnemonics, with the i8, i16 and i32 aliases becoming
> the default when disassembling.
> The generated encoding sets bit 12 to 0, compatibly with other
> assembler implementations.
> ---
> Hi,
>
> Is this Ok for master? I do not have commit rights, if OK, can someone commit on my behalf please?
> Tested on arm-none-eabi.
>
> Thanks,
> Claudio Bantaloukas
>
> gas/config/tc-arm.c | 4 +-
> gas/testsuite/gas/arm/mve-vmla.d | 3383 ++++++++++++++++++------------
> gas/testsuite/gas/arm/mve-vmla.s | 8 +-
> opcodes/arm-dis.c | 2 +-
> 4 files changed, 2041 insertions(+), 1356 deletions(-)
>
I think this patch is incomplete. The current armv8-m Arm ARM also shows that VMLAS was also changed in a similar manner. Were any other instructions affected?
R.
More information about the Binutils
mailing list