diff options
author | Srinath Parvathaneni <srinath.parvathaneni@arm.com> | 2019-08-30 10:44:18 +0100 |
---|---|---|
committer | Srinath Parvathaneni <srinath.parvathaneni@arm.com> | 2019-08-30 10:44:32 +0100 |
commit | 1c1e0fe58b9389bd40f5f642d20dc2e1befd4541 (patch) | |
tree | 0781866ff31b797ceec933a67ae7903d737a3998 /gas/config | |
parent | cd18a823d1ad0787cb0745bf71c7ba447db10c58 (diff) | |
download | gdb-1c1e0fe58b9389bd40f5f642d20dc2e1befd4541.zip gdb-1c1e0fe58b9389bd40f5f642d20dc2e1befd4541.tar.gz gdb-1c1e0fe58b9389bd40f5f642d20dc2e1befd4541.tar.bz2 |
[PATCH][ARM][GAS]: Assembler support to interpret MVE VMOV instruction correctly.
This patch make changes to the assembler to encode MVE VMOV instruction "a" same as "b".
a: VMOV<c><q> <Dd>, <Dm>
b: VMOV<c><q>.F64 <Dd>, <Dm>
gas/ChangeLog:
2019-08-30 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
* config/tc-arm.c (do_neon_mov): Modify "if" statement.
* testsuite/gas/arm/mve-vmov-bad-3.d: New test.
* testsuite/gas/arm/mve-vmov-bad-3.l: Likewise.
* testsuite/gas/arm/mve-vmov-bad-3.s: Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-arm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 9a367ca..9273bb5 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -19859,7 +19859,13 @@ do_neon_mov (void) et = neon_check_type (2, rs, N_EQK, N_F64 | N_KEY); /* It is not an error here if no type is given. */ inst.error = NULL; - if (et.type == NT_float && et.size == 64) + + /* In MVE we interpret the following instructions as same, so ignoring + the following type (float) and size (64) checks. + a: VMOV<c><q> <Dd>, <Dm> + b: VMOV<c><q>.F64 <Dd>, <Dm>. */ + if ((et.type == NT_float && et.size == 64) + || (ARM_CPU_HAS_FEATURE (cpu_variant, mve_ext))) { do_vfp_nsyn_opcode ("fcpyd"); break; |