[PATCH 7/57][Arm][GAS] Add support for MVE instructions: vstr/vldr
commitf5f10c66f8dc5466536181a1e5cce2419a5bcbd7
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Wed, 15 May 2019 16:20:46 +0000 (15 17:20 +0100)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Thu, 16 May 2019 15:22:09 +0000 (16 16:22 +0100)
tree89eb436c9a481c9e8f36f6479541431b731060ba
parent35c228db7089caf9525c1ef4cb35f6a8335eeea9
[PATCH 7/57][Arm][GAS] Add support for MVE instructions: vstr/vldr

gas/ChangeLog:
2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/tc-arm.c (struct arm_it): Make immisreg field larger to hold
type of register.
(enum shift_kind): Add SHIFT_UXTW shift kind.
(enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode.
(parse_shift): Handle new shift type.
(parse_address_main): Accept new addressing modes.
(M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd,
 M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New
instruction encodings.
(do_mve_vstr_vldr_QI): New encoding functions.
(do_mve_vstr_vldr_RQ): Likewise.
(do_mve_vstr_vldr_RI): Likewise.
(do_mve_vstr_vldr): Likewise.
* testsuite/gas/arm/mve-vldr-bad-1.d: New test.
* testsuite/gas/arm/mve-vldr-bad-1.l: New test.
* testsuite/gas/arm/mve-vldr-bad-1.s: New test.
* testsuite/gas/arm/mve-vldr-bad-2.d: New test.
* testsuite/gas/arm/mve-vldr-bad-2.l: New test.
* testsuite/gas/arm/mve-vldr-bad-2.s: New test.
* testsuite/gas/arm/mve-vldr-bad-3.d: New test.
* testsuite/gas/arm/mve-vldr-bad-3.l: New test.
* testsuite/gas/arm/mve-vldr-bad-3.s: New test.
* testsuite/gas/arm/mve-vstr-bad-1.d: New test.
* testsuite/gas/arm/mve-vstr-bad-1.l: New test.
* testsuite/gas/arm/mve-vstr-bad-1.s: New test.
* testsuite/gas/arm/mve-vstr-bad-2.d: New test.
* testsuite/gas/arm/mve-vstr-bad-2.l: New test.
* testsuite/gas/arm/mve-vstr-bad-2.s: New test.
* testsuite/gas/arm/mve-vstr-bad-3.d: New test.
* testsuite/gas/arm/mve-vstr-bad-3.l: New test.
* testsuite/gas/arm/mve-vstr-bad-3.s: New test.
20 files changed:
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/gas/arm/mve-vldr-bad-1.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-1.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-1.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-2.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-2.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-2.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-3.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-3.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vldr-bad-3.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-1.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-1.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-1.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-2.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-2.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-2.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-3.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-3.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vstr-bad-3.s [new file with mode: 0644]