[PATCH 0/3] arm: Fix encoding/disassembly of MVE vq[r]shr[u]n insns
Alex Coplan
alex.coplan@arm.com
Wed Apr 3 10:52:28 GMT 2024
This patch series fixes the encoding of vqshr[u]n insns which are
currently incorrectly encoded as the rounding vqrshr[u]n variants
(i.e. with the LSB set).
It also fixes the disassembly of both sets of insns (rounding and
non-rounding) where we currently fail to properly decode the immediate.
See patch 2/3 for a concrete of example of what goes wrong in both
cases.
The series is organised as follows:
- 1/3 is a non-functional refactoring that should make 3/3 easier to
review.
- 2/3 fixes the encoding of the non-rounding vqshr[u]n insns.
- 3/3 fixes the disassembly of the immediate for both sets of insns,
updates an existing (incorrect) test, and adds a test for the
non-rounding insns.
Tested as a series on arm-none-eabi, no regressions. OK for trunk and
backports?
Thanks,
Alex
Alex Coplan (3):
arm: Refactor condition for print_mve_shift_n
arm: Fix encoding of MVE vqshr[u]n
arm: Fix disassembly of MVE vq[r]shr[u]n
gas/config/tc-arm.c | 8 +-
gas/testsuite/gas/arm/mve-vqrshrn.d | 3616 +++++++++++++--------------
gas/testsuite/gas/arm/mve-vqshrn.d | 27 +
gas/testsuite/gas/arm/mve-vqshrn.s | 40 +
opcodes/arm-dis.c | 39 +-
5 files changed, 1908 insertions(+), 1822 deletions(-)
create mode 100644 gas/testsuite/gas/arm/mve-vqshrn.d
create mode 100644 gas/testsuite/gas/arm/mve-vqshrn.s
More information about the Binutils
mailing list