[PATCH] arm: Fix MVE vmla encoding
Claudio Bantaloukas
claudio.bantaloukas@arm.com
Mon Apr 15 10:00:20 GMT 2024
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(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-arm-Fix-MVE-vmla-encoding.patch
Type: text/x-patch
Size: 132878 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20240415/32612e8d/attachment-0001.bin>
More information about the Binutils
mailing list