[PATCH 4/57][Arm][GAS] Add support for MVE instructions: vabav, vmladav and vmlsdav
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Wed, 15 May 2019 15:54:23 +0000 (16:54 +0100)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Thu, 16 May 2019 15:22:04 +0000 (16:22 +0100)
commita302e574182dc12e95850dec078dac93701f1bde
tree5847c7bf920d7ad1d3d205b447300b33ad792cde
parent485dee97c6431267b662b723eb092a6abfa4167c
[PATCH 4/57][Arm][GAS] Add support for MVE instructions: vabav, vmladav and vmlsdav

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

* config/tc-arm.c (struct asm_opcode): Make avalue a full int.
(BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors.
(enum operand_parse_code): Handle new operands.
(parse_operands): Likewise.
(M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx,
 M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx,
 M_MNEM_vmlsdavax): Define new encodings.
(NEON_SHAPE_DEF): Add new shape.
(neon_check_type): Use BAD_SIMD_TYPE.
(mve_encode_rqq): New encoding helper function.
(do_mve_vabav, do_mve_vmladav): New encoding functions.
(mCEF): New MACRO.
* testsuite/gas/arm/mve-vabav-bad.d: New test.
* testsuite/gas/arm/mve-vabav-bad.l: New test.
* testsuite/gas/arm/mve-vabav-bad.s: New test.
* testsuite/gas/arm/mve-vmladav-bad.d: New test.
* testsuite/gas/arm/mve-vmladav-bad.l: New test.
* testsuite/gas/arm/mve-vmladav-bad.s: New test.
* testsuite/gas/arm/mve-vmlav-bad.d: New test.
* testsuite/gas/arm/mve-vmlav-bad.l: New test.
* testsuite/gas/arm/mve-vmlav-bad.s: New test.
* testsuite/gas/arm/mve-vmlsdav-bad.d: New test.
* testsuite/gas/arm/mve-vmlsdav-bad.l: New test.
* testsuite/gas/arm/mve-vmlsdav-bad.s: New test.
14 files changed:
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/gas/arm/mve-vabav-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vabav-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vabav-bad.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmladav-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmladav-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmladav-bad.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmlav-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmlav-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmlav-bad.s [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmlsdav-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmlsdav-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/mve-vmlsdav-bad.s [new file with mode: 0644]