mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-11 13:02:10 +08:00
This patch is part of a series that adds support for the Armv8.m ARMv8.m Custom Datapath Extension to binutils. This patch introduces the Custom Instructions Class 1/2/3 (Single/ Dual, Accumulator/Non-accumulator varianats) to the arm backend. The following Custom Instructions are added: cx1, cx1a, cx1d, cx1da, cx2, cx2a, cx2d, cx2da, cx3, cx3a, cx3d, cx3da. Specification can be found at https://developer.arm.com/docs/ddi0607/latest This patch distinguishes between enabling CDE for different coprocessor numbers by defining multiple architecture flags. This means that the parsing of the architecture extension flags is kept entirely in the existing code path. We introduce a new IT block state to indicate the behaviour of these instructions. This new state allows being used in an IT block or outside an IT block, but does not allow the instruction to be used inside a VPT block. We need this since the CX*A instruction versions can be used in IT blocks, but they aren't to have the conditional suffixes on them. Hence we need to mark an instruction as allowed in either position. We also need a new flag to objdump, in order to determine whether to disassemble an instruction as CDE related or not. Successfully regression tested on arm-none-eabi, and arm-wince-pe. gas/ChangeLog: 2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com> Matthew Malcomson <matthew.malcomson@arm.com> * config/tc-arm.c (arm_ext_cde*): New feature sets for each CDE coprocessor that can be enabled. (enum pred_instruction_type): New pred type. (BAD_NO_VPT): New error message. (BAD_CDE): New error message. (BAD_CDE_COPROC): New error message. (enum operand_parse_code): Add new immediate operands. (parse_operands): Account for new immediate operands. (check_cde_operand): New. (cde_coproc_enabled): New. (cde_coproc_pos): New. (cde_handle_coproc): New. (cxn_handle_predication): New. (do_custom_instruction_1): New. (do_custom_instruction_2): New. (do_custom_instruction_3): New. (do_cx1): New. (do_cx1a): New. (do_cx1d): New. (do_cx1da): New. (do_cx2): New. (do_cx2a): New. (do_cx2d): New. (do_cx2da): New. (do_cx3): New. (do_cx3a): New. (do_cx3d): New. (do_cx3da): New. (handle_pred_state): Define new IT block behaviour. (insns): Add newn CX*{,d}{,a} instructions. (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table): Define new cdecp extension strings. * doc/c-arm.texi: Document new cdecp extension arguments. * testsuite/gas/arm/cde-scalar.d: New test. * testsuite/gas/arm/cde-scalar.s: New test. * testsuite/gas/arm/cde-warnings.d: New test. * testsuite/gas/arm/cde-warnings.l: New test. * testsuite/gas/arm/cde-warnings.s: New test. * testsuite/gas/arm/cde.d: New test. * testsuite/gas/arm/cde.s: New test. include/ChangeLog: 2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com> Matthew Malcomson <matthew.malcomson@arm.com> * opcode/arm.h (ARM_EXT2_CDE): New extension macro. (ARM_EXT2_CDE0): New extension macro. (ARM_EXT2_CDE1): New extension macro. (ARM_EXT2_CDE2): New extension macro. (ARM_EXT2_CDE3): New extension macro. (ARM_EXT2_CDE4): New extension macro. (ARM_EXT2_CDE5): New extension macro. (ARM_EXT2_CDE6): New extension macro. (ARM_EXT2_CDE7): New extension macro. opcodes/ChangeLog: 2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com> Matthew Malcomson <matthew.malcomson@arm.com> * arm-dis.c (struct cdeopcode32): New. (CDE_OPCODE): New macro. (cde_opcodes): New disassembly table. (regnames): New option to table. (cde_coprocs): New global variable. (print_insn_cde): New (print_insn_thumb32): Use print_insn_cde. (parse_arm_disassembler_options): Parse coprocN args.
134 lines
3.8 KiB
Plaintext
134 lines
3.8 KiB
Plaintext
2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
|
||
Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/arm.h (ARM_EXT2_CDE): New extension macro.
|
||
(ARM_EXT2_CDE0): New extension macro.
|
||
(ARM_EXT2_CDE1): New extension macro.
|
||
(ARM_EXT2_CDE2): New extension macro.
|
||
(ARM_EXT2_CDE3): New extension macro.
|
||
(ARM_EXT2_CDE4): New extension macro.
|
||
(ARM_EXT2_CDE5): New extension macro.
|
||
(ARM_EXT2_CDE6): New extension macro.
|
||
(ARM_EXT2_CDE7): New extension macro.
|
||
|
||
2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
PR 25469
|
||
* coff/internal.h (R_IMM16BE): Define.
|
||
* elf/z80.h (EF_Z80_MACH_Z80N): Define.
|
||
(R_Z80_16_BE): New reloc.
|
||
|
||
2020-02-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/d30v.h (struct pd_reg): Make value field unsigned.
|
||
|
||
2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
|
||
|
||
* coff/internal.h (PE_IMAGE_DEBUG_TYPE_VC_FEATURE)
|
||
(PE_IMAGE_DEBUG_TYPE_POGO, PE_IMAGE_DEBUG_TYPE_ILTCG)
|
||
(PE_IMAGE_DEBUG_TYPE_MPX, PE_IMAGE_DEBUG_TYPE_REPRO): Add.
|
||
|
||
2020-01-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
Binutils 2.34 branch created.
|
||
|
||
2020-01-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Import from gcc mainline:
|
||
2019-06-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): New macro.
|
||
* libiberty.h (xmalloc): Use it.
|
||
(xrealloc): Likewise.
|
||
(xcalloc): Likewise.
|
||
(xstrdup): Likewise.
|
||
(xstrndup): Likewise.
|
||
(xmemdup): Likewise.
|
||
|
||
2019-06-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* ansidecl.h:
|
||
(ATTRIBUTE_RESULT_SIZE_1): Define new macro.
|
||
(ATTRIBUTE_RESULT_SIZE_2): Likewise.
|
||
(ATTRIBUTE_RESULT_SIZE_1_2): Likewise.
|
||
* libiberty.h (xmalloc): Add RESULT_SIZE attribute.
|
||
(xrealloc): Likewise.
|
||
(xcalloc): Likewise.
|
||
|
||
2019-11-16 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||
|
||
* demangle.h (struct demangle_component): Add member
|
||
d_counting.
|
||
|
||
2019-11-16 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||
|
||
* demangle.h (rust_demangle_callback): Add.
|
||
|
||
2019-07-18 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||
|
||
* demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
|
||
(rust_demangle_sym): Move to libiberty/rust-demangle.h.
|
||
|
||
2020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR 25376
|
||
* opcodes/arm.h (FPU_MVE, FPU_MVE_FPU): Move these features to...
|
||
(ARM_EXT2_MVE, ARM_EXT2_MVE_FP): ... the CORE_HIGH space.
|
||
(ARM_ANY): Redefine to not include any MVE bits.
|
||
(ARM_FEATURE_ALL): Removed.
|
||
|
||
2020-01-15 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* opcode/msp430.h (enum msp430_expp_e): New.
|
||
(struct msp430_operand_s): Add expp member to struct.
|
||
|
||
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||
|
||
* elf/arc-cpu.def: Update ARC cpu list.
|
||
|
||
2020-01-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/tic4x.h (EXTR): Delete.
|
||
(EXTRU, EXTRS, INSERTU, INSERTS): Rewrite without zero/sign
|
||
extension using shifts. Do trim INSERTU value to specified bitfield.
|
||
|
||
2020-01-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/spu.h: Formatting.
|
||
(UNSIGNED_EXTRACT): Use 1u.
|
||
(SIGNED_EXTRACT): Don't sign extend with shifts.
|
||
(DECODE_INSN_I9a, DECODE_INSN_I9b): Avoid left shift of signed value.
|
||
Keep result signed.
|
||
(DECODE_INSN_U9a, DECODE_INSN_U9b): Delete.
|
||
|
||
2020-01-07 Shahab Vahedi <shahab@synopsys.com>
|
||
|
||
* opcode/arc.h (insn_class_t): Add 'LLOCK' and 'SCOND'.
|
||
|
||
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
* coff/internal.h: Add defintions of Z80 reloc names.
|
||
|
||
2020-01-02 Christian Biesinger <cbiesinger@google.com>
|
||
|
||
* opcode/s12z.h: Undef REG_Y.
|
||
|
||
2020-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2019
|
||
|
||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|