Matthew Malcomson
5aae9ae97f
[binutils][arm] Implement Custom Datapath Extensions for MVE
...
Here we implement the custom datapath extensions for MVE.
This required the following changes:
- Adding a new register argument type (that takes either an MVE vector or
a Neon S or D register).
- Adding two new immediate operands types (0-127 and 0-4095).
- Using the Neon type machinery to distinguish between instruction
types. This required the introduction of new neon shapes to account
for the coprocessor operands to these instructions.
- Adding a new disassembly character to `print_insn_cde` to handle the
new register types.
Specification can be found at
https://developer.arm.com/docs/ddi0607/latest
Successfully regression tested on arm-none-eabi, and arm-wince-pe.
gas/ChangeLog:
2020-02-10 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
instructions that can have 5 arguments.
(enum operand_parse_code): Add new operands.
(parse_operands): Account for new operands.
(S5): New macro.
(enum neon_shape_el): Introduce P suffixes for coprocessor.
(neon_select_shape): Account for P suffix.
(LOW1): Move macro to global position.
(HI4): Move macro to global position.
(vcx_assign_vec_d): New.
(vcx_assign_vec_m): New.
(vcx_assign_vec_n): New.
(enum vcx_reg_type): New.
(vcx_get_reg_type): New.
(vcx_size_pos): New.
(vcx_vec_pos): New.
(vcx_handle_shape): New.
(vcx_ensure_register_in_range): New.
(vcx_handle_register_arguments): New.
(vcx_handle_insn_block): New.
(vcx_handle_common_checks): New.
(do_vcx1): New.
(do_vcx2): New.
(do_vcx3): New.
* testsuite/gas/arm/cde-missing-fp.d: New test.
* testsuite/gas/arm/cde-missing-fp.l: New test.
* testsuite/gas/arm/cde-missing-mve.d: New test.
* testsuite/gas/arm/cde-missing-mve.l: New test.
* testsuite/gas/arm/cde-mve-or-neon.d: New test.
* testsuite/gas/arm/cde-mve-or-neon.s: New test.
* testsuite/gas/arm/cde-mve.s: New test.
* testsuite/gas/arm/cde-warnings.l:
* testsuite/gas/arm/cde-warnings.s:
* testsuite/gas/arm/cde.d:
* testsuite/gas/arm/cde.s:
opcodes/ChangeLog:
2020-02-10 Matthew Malcomson <matthew.malcomson@arm.com>
* arm-dis.c (print_insn_cde): Define 'V' parse character.
(cde_opcodes): Add VCX* instructions.
2020-02-10 16:50:14 +00:00
..
2020-01-20 15:10:23 +00:00
2020-01-27 10:55:41 +00:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-27 10:55:41 +00:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-27 10:55:41 +00:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-31 13:22:46 +00:00
2018-09-21 10:27:49 -04:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 10:25:50 +02:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2018-09-20 15:49:00 +01:00
2020-01-13 11:16:47 +02:00
2020-01-01 18:42:54 +10:30
2020-01-07 15:25:34 +02:00
2020-02-10 16:50:14 +00:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-30 13:59:04 +01:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-10 16:50:14 +00:00
2019-01-01 21:25:40 +10:30
2020-01-01 18:12:08 +10:30
2020-01-18 14:12:07 +00:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-04 19:20:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-04 19:20:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-04 14:10:40 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 12:12:05 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-01 23:23:18 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-20 15:45:50 +10:30
2019-06-27 13:39:32 -07:00
2019-07-01 08:23:41 +02:00
2020-01-31 14:29:18 +01:00
2019-06-21 13:18:41 -07:00
2019-07-01 08:23:41 +02:00
2019-06-21 13:18:41 -07:00
2020-01-31 14:29:18 +01:00
2020-02-10 08:37:36 -08:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-10 08:37:36 -08:00
2020-02-10 08:37:36 -08:00
2020-01-01 18:42:54 +10:30
2020-02-10 08:37:36 -08:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-03 15:59:08 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-04 19:20:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 18:43:34 +10:30
2020-01-01 18:42:54 +10:30
2020-01-17 12:34:03 -06:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 12:12:41 +10:30
2020-01-13 12:12:41 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-30 17:06:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 16:44:27 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 12:12:05 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-14 10:57:52 +10:30
2020-01-08 21:51:32 +10:30
2020-01-08 21:51:32 +10:30
2020-02-07 14:53:46 +00:00