This patch addresses the change in the June Armv8.1-M Mainline specification, that...
authorBarnaby Wilks <barnaby.wilks@arm.com>
Mon, 22 Jul 2019 12:18:27 +0000 (13:18 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 22 Jul 2019 12:18:27 +0000 (13:18 +0100)
commit236ab0c60c9cedecd4fc23b526a588ee25636c13
treeca2cdfce2d4daa32dcc3f4e46df6aacbe43f9f81
parenta8e9d2471806ef86ff7aec43164a6fe347efba3b
This patch addresses the change in the June Armv8.1-M Mainline specification, that marks certain MVE instructions as no longer UNPREDICTABLE when a source operand is the same as a destination operand for a 32-bit element size.

The instructions that this change apply to are:

  VQDMLADH, VQRDMLADH, VQDMLSDH, VQRDMLSDH

The updated documentation is here: https://static.docs.arm.com/ddi0553/bh/DDI0553B_h_armv8m_arm.pdf

Fixed this by removing the check for this warning from GAS as well as opcodes.

Added testcases to test that the warning is not generated for the instructions that have a 32-bit element size
and the same source and destination operand. Also fixed tests that would previously check for this warning.

gas * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE.
* testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests.
* testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests.
* testsuite/gas/arm/mve-vqdmladh.d: New tests.
* testsuite/gas/arm/mve-vqdmladh.s: New tests.
* testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests.
* testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests.
* testsuite/gas/arm/mve-vqdmlsdh.d: New tests.
* testsuite/gas/arm/mve-vqdmlsdh.s: New tests.

opcodes * arm-dis.c (is_mve_unpredictable): Stop marking some MVE
instructions as UNPREDICTABLE.
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/gas/arm/mve-vqdmladh-bad.l
gas/testsuite/gas/arm/mve-vqdmladh-bad.s
gas/testsuite/gas/arm/mve-vqdmladh.d
gas/testsuite/gas/arm/mve-vqdmladh.s
gas/testsuite/gas/arm/mve-vqdmlsdh-bad.l
gas/testsuite/gas/arm/mve-vqdmlsdh-bad.s
gas/testsuite/gas/arm/mve-vqdmlsdh.d
gas/testsuite/gas/arm/mve-vqdmlsdh.s
opcodes/arm-dis.c
This page took 0.048318 seconds and 4 git commands to generate.