From ce760a762093d59a3faab07fff895b484071977c Mon Sep 17 00:00:00 2001 From: Mihail Ionescu Date: Tue, 12 Nov 2019 13:55:37 +0000 Subject: [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 * 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 * 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/config/tc-arm.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'gas/config/tc-arm.c') diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 167d039..a76aaf3 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -19545,8 +19545,6 @@ do_neon_mvn (void) if (ARM_CPU_HAS_FEATURE (cpu_variant, mve_ext)) { constraint (!inst.operands[1].isreg && !inst.operands[0].isquad, BAD_FPU); - constraint ((inst.instruction & 0xd00) == 0xd00, - _("immediate value out of range")); } } -- cgit v1.1