]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gas, arm: PR25660L Fix vadd/vsub with lt and le condition codes for MVE
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 13 Mar 2020 13:31:56 +0000 (13:31 +0000)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 13 Mar 2020 13:37:44 +0000 (13:37 +0000)
commitb3174859c4b609242effbff5901c01935003537a
treed72c1e5a51625902746ce64593c0c54b0478aa0f
parentde9c1b7cfe6e57ea8b677dc2de06e83de50f47c2
gas, arm: PR25660L Fix vadd/vsub with lt and le condition codes for MVE

As explained in the PR, the addition of MVE makes the parser strip 't' and 'e'
as suffixes when MVE is enabled.  This leads to vadd and vsub in it blocks with
lt and le conditions to be initially parsed as vaddl and vsubl.  This means the
operand parsing for these must allow for the same operands as the scalar vadd
and vsub.  I had forgotten to do this and this patch remedies that oversight.

gas/ChangeLog:
2020-03-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

Backport from mainline.
2020-03-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

PR 25660
*  config/tc-arm.c (operand_parse_code): Add OP_RNSDMQR and OP_oRNSDMQ.
(parse_operands): Handle new operand codes.
(do_neon_dyadic_long): Make shape check accept the scalar variants.
(asm_opcode_insns): Fix operand codes for vaddl and vsubl.
* testsuite/gas/arm/mve-vaddsub-it.s: New test.
* testsuite/gas/arm/mve-vaddsub-it.d: New test.
* testsuite/gas/arm/mve-vaddsub-it-bad.s: New test.
* testsuite/gas/arm/mve-vaddsub-it-bad.l: New test.
* testsuite/gas/arm/mve-vaddsub-it-bad.d: New test.
* testsuite/gas/arm/nomve-vaddsub-it.d: New test.
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/gas/arm/mve-vaddsub-it-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vaddsub-it-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vaddsub-it-bad.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vaddsub-it.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vaddsub-it.s [new file with mode: 0644]
gas/testsuite/gas/arm/nomve-vaddsub-it.d [new file with mode: 0644]