Add support for the MVE VMOV instruction to the ARM assembler. This instruction copies the value of one vector register to another vector register. The patch also modifies the decoding of VORR instruction which is effecting decoding of VMOV instruction.

gas     * config/tc-arm.c (parse_neon_mov): Add check to accept vector
	register to both the arguments in VMOV instruction.
	* testsuite/gas/arm/mve-vmov-1.d: Modify.
	* testsuite/gas/arm/mve-vmov-1.s: Likewise.
	* testsuite/gas/arm/mve-vorr.d: Likewise.

opcodes	* arm-dis.c (mve_opcodes): Add entry for MVE_VMOV_VEC_TO_VEC.
	(is_mve_undefined): Add case for MVE_VMOV_VEC_TO_VEC.
	(print_insn_mve): Add condition to check Qm==Qn of VORR instruction.
This commit is contained in:
Srinath Parvathaneni 2019-08-27 12:08:21 +01:00 committed by Nick Clifton
parent e8fffdff93
commit c4a23bf878
7 changed files with 272 additions and 202 deletions

View File

@ -1,3 +1,11 @@
2019-08-27 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
* config/tc-arm.c (parse_neon_mov): Add check to accept vector
register to both the arguments in VMOV instruction.
* testsuite/gas/arm/mve-vmov-1.d: Modify.
* testsuite/gas/arm/mve-vmov-1.s: Likewise.
* testsuite/gas/arm/mve-vorr.d: Likewise.
2019-08-23 Nick Clifton <nickc@redhat.com>
* po/sv.po: Updated Swedish translation.

View File

@ -6743,8 +6743,10 @@ parse_neon_mov (char **str, int *which_operand)
inst.operands[i].present = 1;
}
}
else if ((val = arm_typed_reg_parse (&ptr, REG_TYPE_NSDQ, &rtype,
&optype)) != FAIL)
else if (((val = arm_typed_reg_parse (&ptr, REG_TYPE_NSDQ, &rtype,
&optype)) != FAIL)
|| ((val = arm_typed_reg_parse (&ptr, REG_TYPE_MQ, &rtype,
&optype)) != FAIL))
{
/* Case 0: VMOV<c><q> <Qd>, <Qm>
Case 1: VMOV<c><q> <Dd>, <Dm>

View File

@ -4154,3 +4154,28 @@ Disassembly of section .text:
[^>]*> ef80 0e74 vmov.i64 q0, #0x0000000000ff0000
[^>]*> ef80 0e72 vmov.i64 q0, #0x000000000000ff00
[^>]*> ef80 0e71 vmov.i64 q0, #0x00000000000000ff
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef2e e15e vmov q7, q7

View File

@ -130,3 +130,9 @@ vmov.i64 q0, #4278190080 @ 0x00000000FF000000
vmov.i64 q0, #16711680 @ 0x00000000000FF0000
vmov.i64 q0, #65280 @ 0x0000000000000FF00
vmov.i64 q0, #255 @ 0x000000000000000FF
.irp op1, q0, q1, q2, q4, q7
.irp op2, q0, q1, q2, q4, q7
vmov \op1, \op2
.endr
.endr

View File

@ -5,14 +5,14 @@
.*: +file format .*arm.*
Disassembly of section .text:
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vorr q0, q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0150 vmov q0, q0
[^>]*> ef20 0152 vorr q0, q0, q1
[^>]*> ef20 0152 vorr q0, q0, q1
[^>]*> ef20 0152 vorr q0, q0, q1
@ -53,14 +53,14 @@ Disassembly of section .text:
[^>]*> ef22 0150 vorr q0, q1, q0
[^>]*> ef22 0150 vorr q0, q1, q0
[^>]*> ef22 0150 vorr q0, q1, q0
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vorr q0, q1, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0152 vmov q0, q1
[^>]*> ef22 0154 vorr q0, q1, q2
[^>]*> ef22 0154 vorr q0, q1, q2
[^>]*> ef22 0154 vorr q0, q1, q2
@ -101,14 +101,14 @@ Disassembly of section .text:
[^>]*> ef24 0152 vorr q0, q2, q1
[^>]*> ef24 0152 vorr q0, q2, q1
[^>]*> ef24 0152 vorr q0, q2, q1
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vorr q0, q2, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0154 vmov q0, q2
[^>]*> ef24 0158 vorr q0, q2, q4
[^>]*> ef24 0158 vorr q0, q2, q4
[^>]*> ef24 0158 vorr q0, q2, q4
@ -149,14 +149,14 @@ Disassembly of section .text:
[^>]*> ef28 0154 vorr q0, q4, q2
[^>]*> ef28 0154 vorr q0, q4, q2
[^>]*> ef28 0154 vorr q0, q4, q2
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vorr q0, q4, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 0158 vmov q0, q4
[^>]*> ef28 015e vorr q0, q4, q7
[^>]*> ef28 015e vorr q0, q4, q7
[^>]*> ef28 015e vorr q0, q4, q7
@ -197,22 +197,22 @@ Disassembly of section .text:
[^>]*> ef2e 0158 vorr q0, q7, q4
[^>]*> ef2e 0158 vorr q0, q7, q4
[^>]*> ef2e 0158 vorr q0, q7, q4
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef2e 015e vorr q0, q7, q7
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef20 2150 vorr q1, q0, q0
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef2e 015e vmov q0, q7
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2150 vmov q1, q0
[^>]*> ef20 2152 vorr q1, q0, q1
[^>]*> ef20 2152 vorr q1, q0, q1
[^>]*> ef20 2152 vorr q1, q0, q1
@ -253,14 +253,14 @@ Disassembly of section .text:
[^>]*> ef22 2150 vorr q1, q1, q0
[^>]*> ef22 2150 vorr q1, q1, q0
[^>]*> ef22 2150 vorr q1, q1, q0
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vorr q1, q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2152 vmov q1, q1
[^>]*> ef22 2154 vorr q1, q1, q2
[^>]*> ef22 2154 vorr q1, q1, q2
[^>]*> ef22 2154 vorr q1, q1, q2
@ -301,14 +301,14 @@ Disassembly of section .text:
[^>]*> ef24 2152 vorr q1, q2, q1
[^>]*> ef24 2152 vorr q1, q2, q1
[^>]*> ef24 2152 vorr q1, q2, q1
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vorr q1, q2, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2154 vmov q1, q2
[^>]*> ef24 2158 vorr q1, q2, q4
[^>]*> ef24 2158 vorr q1, q2, q4
[^>]*> ef24 2158 vorr q1, q2, q4
@ -349,14 +349,14 @@ Disassembly of section .text:
[^>]*> ef28 2154 vorr q1, q4, q2
[^>]*> ef28 2154 vorr q1, q4, q2
[^>]*> ef28 2154 vorr q1, q4, q2
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vorr q1, q4, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 2158 vmov q1, q4
[^>]*> ef28 215e vorr q1, q4, q7
[^>]*> ef28 215e vorr q1, q4, q7
[^>]*> ef28 215e vorr q1, q4, q7
@ -397,22 +397,22 @@ Disassembly of section .text:
[^>]*> ef2e 2158 vorr q1, q7, q4
[^>]*> ef2e 2158 vorr q1, q7, q4
[^>]*> ef2e 2158 vorr q1, q7, q4
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef2e 215e vorr q1, q7, q7
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef20 4150 vorr q2, q0, q0
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef2e 215e vmov q1, q7
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4150 vmov q2, q0
[^>]*> ef20 4152 vorr q2, q0, q1
[^>]*> ef20 4152 vorr q2, q0, q1
[^>]*> ef20 4152 vorr q2, q0, q1
@ -453,14 +453,14 @@ Disassembly of section .text:
[^>]*> ef22 4150 vorr q2, q1, q0
[^>]*> ef22 4150 vorr q2, q1, q0
[^>]*> ef22 4150 vorr q2, q1, q0
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vorr q2, q1, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4152 vmov q2, q1
[^>]*> ef22 4154 vorr q2, q1, q2
[^>]*> ef22 4154 vorr q2, q1, q2
[^>]*> ef22 4154 vorr q2, q1, q2
@ -501,14 +501,14 @@ Disassembly of section .text:
[^>]*> ef24 4152 vorr q2, q2, q1
[^>]*> ef24 4152 vorr q2, q2, q1
[^>]*> ef24 4152 vorr q2, q2, q1
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vorr q2, q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4154 vmov q2, q2
[^>]*> ef24 4158 vorr q2, q2, q4
[^>]*> ef24 4158 vorr q2, q2, q4
[^>]*> ef24 4158 vorr q2, q2, q4
@ -549,14 +549,14 @@ Disassembly of section .text:
[^>]*> ef28 4154 vorr q2, q4, q2
[^>]*> ef28 4154 vorr q2, q4, q2
[^>]*> ef28 4154 vorr q2, q4, q2
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vorr q2, q4, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 4158 vmov q2, q4
[^>]*> ef28 415e vorr q2, q4, q7
[^>]*> ef28 415e vorr q2, q4, q7
[^>]*> ef28 415e vorr q2, q4, q7
@ -597,22 +597,22 @@ Disassembly of section .text:
[^>]*> ef2e 4158 vorr q2, q7, q4
[^>]*> ef2e 4158 vorr q2, q7, q4
[^>]*> ef2e 4158 vorr q2, q7, q4
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef2e 415e vorr q2, q7, q7
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef20 8150 vorr q4, q0, q0
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef2e 415e vmov q2, q7
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8150 vmov q4, q0
[^>]*> ef20 8152 vorr q4, q0, q1
[^>]*> ef20 8152 vorr q4, q0, q1
[^>]*> ef20 8152 vorr q4, q0, q1
@ -653,14 +653,14 @@ Disassembly of section .text:
[^>]*> ef22 8150 vorr q4, q1, q0
[^>]*> ef22 8150 vorr q4, q1, q0
[^>]*> ef22 8150 vorr q4, q1, q0
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vorr q4, q1, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8152 vmov q4, q1
[^>]*> ef22 8154 vorr q4, q1, q2
[^>]*> ef22 8154 vorr q4, q1, q2
[^>]*> ef22 8154 vorr q4, q1, q2
@ -701,14 +701,14 @@ Disassembly of section .text:
[^>]*> ef24 8152 vorr q4, q2, q1
[^>]*> ef24 8152 vorr q4, q2, q1
[^>]*> ef24 8152 vorr q4, q2, q1
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vorr q4, q2, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8154 vmov q4, q2
[^>]*> ef24 8158 vorr q4, q2, q4
[^>]*> ef24 8158 vorr q4, q2, q4
[^>]*> ef24 8158 vorr q4, q2, q4
@ -749,14 +749,14 @@ Disassembly of section .text:
[^>]*> ef28 8154 vorr q4, q4, q2
[^>]*> ef28 8154 vorr q4, q4, q2
[^>]*> ef28 8154 vorr q4, q4, q2
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vorr q4, q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 8158 vmov q4, q4
[^>]*> ef28 815e vorr q4, q4, q7
[^>]*> ef28 815e vorr q4, q4, q7
[^>]*> ef28 815e vorr q4, q4, q7
@ -797,22 +797,22 @@ Disassembly of section .text:
[^>]*> ef2e 8158 vorr q4, q7, q4
[^>]*> ef2e 8158 vorr q4, q7, q4
[^>]*> ef2e 8158 vorr q4, q7, q4
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef2e 815e vorr q4, q7, q7
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef20 e150 vorr q7, q0, q0
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef2e 815e vmov q4, q7
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e150 vmov q7, q0
[^>]*> ef20 e152 vorr q7, q0, q1
[^>]*> ef20 e152 vorr q7, q0, q1
[^>]*> ef20 e152 vorr q7, q0, q1
@ -853,14 +853,14 @@ Disassembly of section .text:
[^>]*> ef22 e150 vorr q7, q1, q0
[^>]*> ef22 e150 vorr q7, q1, q0
[^>]*> ef22 e150 vorr q7, q1, q0
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vorr q7, q1, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e152 vmov q7, q1
[^>]*> ef22 e154 vorr q7, q1, q2
[^>]*> ef22 e154 vorr q7, q1, q2
[^>]*> ef22 e154 vorr q7, q1, q2
@ -901,14 +901,14 @@ Disassembly of section .text:
[^>]*> ef24 e152 vorr q7, q2, q1
[^>]*> ef24 e152 vorr q7, q2, q1
[^>]*> ef24 e152 vorr q7, q2, q1
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vorr q7, q2, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e154 vmov q7, q2
[^>]*> ef24 e158 vorr q7, q2, q4
[^>]*> ef24 e158 vorr q7, q2, q4
[^>]*> ef24 e158 vorr q7, q2, q4
@ -949,14 +949,14 @@ Disassembly of section .text:
[^>]*> ef28 e154 vorr q7, q4, q2
[^>]*> ef28 e154 vorr q7, q4, q2
[^>]*> ef28 e154 vorr q7, q4, q2
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vorr q7, q4, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e158 vmov q7, q4
[^>]*> ef28 e15e vorr q7, q4, q7
[^>]*> ef28 e15e vorr q7, q4, q7
[^>]*> ef28 e15e vorr q7, q4, q7
@ -997,14 +997,14 @@ Disassembly of section .text:
[^>]*> ef2e e158 vorr q7, q7, q4
[^>]*> ef2e e158 vorr q7, q7, q4
[^>]*> ef2e e158 vorr q7, q7, q4
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vorr q7, q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef2e e15e vmov q7, q7
[^>]*> ef80 0150 vorr.i32 q0, #0 ; 0x00000000
[^>]*> ff87 015f vorr.i32 q0, #255 ; 0x000000ff
[^>]*> ff87 035f vorr.i32 q0, #65280 ; 0x0000ff00

View File

@ -1,3 +1,9 @@
2019-08-27 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
* arm-dis.c (mve_opcodes): Add entry for MVE_VMOV_VEC_TO_VEC.
(is_mve_undefined): Add case for MVE_VMOV_VEC_TO_VEC.
(print_insn_mve): Add condition to check Qm==Qn of VORR instruction.
2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* aarch64-opc.c (aarch64_sys_regs): Update encoding of tfsre0_el1,

View File

@ -2951,6 +2951,16 @@ static const struct mopcode32 mve_opcodes[] =
0xef200150, 0xffb11f51,
"vorr%v\t%13-15,22Q, %17-19,7Q, %1-3,5Q"},
/* Vector VMOV, vector to vector move. While decoding MVE_VORR_REG if
"Qm==Qn", VORR should replaced by its alias VMOV. For that to happen
MVE_VMOV_VEC_TO_VEC need to placed after MVE_VORR_REG in this mve_opcodes
array. */
{ARM_FEATURE_COPROC (FPU_MVE),
MVE_VMOV_VEC_TO_VEC,
0xef200150, 0xffb11f51,
"vmov%v\t%13-15,22Q, %17-19,7Q"},
/* Vector VQDMULL T1 variant. */
{ARM_FEATURE_COPROC (FPU_MVE),
MVE_VQDMULL_T1,
@ -6104,6 +6114,12 @@ is_mve_undefined (unsigned long given, enum mve_instructions matched_insn,
else
return FALSE;
case MVE_VMOV_VEC_TO_VEC:
if ((arm_decode_field (given, 5, 5) == 1)
|| (arm_decode_field (given, 22, 22) == 1))
return TRUE;
return FALSE;
case MVE_VMOV_IMM_TO_VEC:
if (arm_decode_field (given, 5, 5) == 0)
{
@ -9214,6 +9230,13 @@ print_insn_mve (struct disassemble_info *info, long given)
if (is_mve_undefined (given, insn->mve_op, &undefined_cond))
is_undefined = TRUE;
/* In "VORR Qd, Qm, Qn", if Qm==Qn, VORR is nothing but VMOV,
i.e "VMOV Qd, Qm". */
if ((insn->mve_op == MVE_VORR_REG)
&& (arm_decode_field (given, 1, 3)
== arm_decode_field (given, 17, 19)))
continue;
for (c = insn->assembler; *c; c++)
{
if (*c == '%')