[binutils][arm] Update the decoding of MVE VMOV, VMVN
authorMihail Ionescu <mihail.ionescu@arm.com>
Tue, 12 Nov 2019 13:55:37 +0000 (13:55 +0000)
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 12 Nov 2019 14:01:04 +0000 (14:01 +0000)
commitce760a762093d59a3faab07fff895b484071977c
treeeefed25dd6f3445f294c6df9b5eb7c32d8f0c452
parentf439988037a589de3798f44e7268301adaec21a9
[binutils][arm] Update the decoding of MVE VMOV, VMVN

This patch updates the decoding of the VMOV and VMVN instructions which depend on cmode.
Previously VMOV and VMVN with cmode 1101 were not allowed.
The cmode changes also required updating of the MVE conflict checking.
Now instructions with opcodes 0xef800d50 and 0xef800e70 correctly get decoded as VMOV
and VMVN, respectively.

2019-11-12  Mihail Ionescu  <mihail.ionescu@arm.com>

* opcodes/arm-dis.c (mve_opcodes): Enable VMOV imm to vec with
cmode 1101.
(is_mve_encoding_conflict): Update cmode conflict checks for
MVE_VMVN_IMM.

2019-11-12  Mihail Ionescu  <mihail.ionescu@arm.com>

* gas/config/tc-arm.c (do_neon_mvn): Allow mve_ext cmode=0xd.
* testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.s: New test.
* testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.d: Likewise.
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/arm-dis.c