]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
arm: Fix MVE vmlas encoding
authorRichard Ball <Richard.Ball@arm.com>
Fri, 16 Jan 2026 12:19:01 +0000 (12:19 +0000)
committerRichard Ball <Richard.Ball@arm.com>
Fri, 16 Jan 2026 12:19:11 +0000 (12:19 +0000)
commit542ed77ff7b1173843f3ea73650dccfb90a47047
tree9a66ce161a099d6f8260d87239f37abfa6023d1c
parentd8e004f124877849c654c0f24c2960970dbc1ee8
arm: Fix MVE vmlas encoding

Continuation of fix to VMLA

Bit 12 of the first halfword in the VMLAS 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 vmlas.i8 (16,32) in addition to
vmlas.u8 and vmlas.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.
gas/config/tc-arm.c
gas/testsuite/gas/arm/mve-vmlas.d
gas/testsuite/gas/arm/mve-vmlas.s
opcodes/arm-dis.c