]> 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:40:03 +0000 (13:40 +0000)
commita9ca89e3dd83553b4cee4350740beac38a506287
tree3858c48d8dc2c4a1083a4b6d81d1003df6538db1
parent5251ab5f608ef47b83cc39625191cad9884a4581
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]