This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH v2 6/7] arc: Change max instruction length to 64-bits
- From: Nick Clifton <nickc at redhat dot com>
- To: Graham Markall <graham dot markall at embecosm dot com>, binutils at sourceware dot org
- Cc: claudiu dot zissulescu at synopsys dot com, noamca at mellanox dot com, rinat at mellanox dot com, guybe at mellanox dot com, andrew dot burgess at embecosm dot com
- Date: Thu, 3 Nov 2016 16:33:49 +0000
- Subject: Re: [PATCH v2 6/7] arc: Change max instruction length to 64-bits
- Authentication-results: sourceware.org; auth=none
- References: <cover.1477580390.git.graham.markall@embecosm.com> <1f51294d6202e5e3b8892f1206f29e0f312c217e.1477580390.git.graham.markall@embecosm.com>
Hi Graham,
> gas/ChangeLog:
>
> * config/tc-arc.c (struct arc_insn): Change type of insn field.
> (md_number_to_chars_midend): Support 6- and 8-byte values.
> (emit_insn0): Update debug output.
> (find_opcode_match): Likewise.
> (build_fake_opcode_hash_entry): Delete.
> (find_special_case_long_opcode): Delete.
> (find_special_case): Remove long format special case handling.
> (insert_operand): Change instruction type and update debug print
> format.
> (assemble_insn): Change instruction type, update debug print
> formats, and remove unneeded assert.
>
> include/ChangeLog:
>
> * opcode/arc.h (struct arc_opcode): Change type of opcode and mask
> fields.
> (struct arc_long_opcode): Delete.
> (struct arc_operand): Change types for insert and extract
> handlers.
>
> opcodes/ChangeLog:
>
> * arc-dis.c (struct arc_operand_iterator): Remove all fields
> relating to long instruction processing, add new limm field.
> (OPCODE): Rename to...
> (OPCODE_32BIT_INSN): ...this.
> (OPCODE_AC): Delete.
> (skip_this_opcode): Handle different instruction lengths, update
> macro name.
> (special_flag_p): Update parameter type.
> (find_format_from_table): Update for more instruction lengths.
> (find_format_long_instructions): Delete.
> (find_format): Update for more instruction lengths.
> (arc_insn_length): Likewise.
> (extract_operand_value): Update for more instruction lengths.
> (operand_iterator_next): Remove code relating to long
> instructions.
> (arc_opcode_to_insn_type): New function.
> (print_insn_arc):Update for more instructions lengths.
> * arc-ext.c (extInstruction_t): Change argument type.
> * arc-ext.h (extInstruction_t): Change argument type.
> * arc-fxi.h: Change type unsigned to unsigned long long
> extensively throughout.
> * arc-nps400-tbl.h: Add long instructions taken from
> arc_long_opcodes table in arc-opc.c.
> * arc-opc.c: Update parameter types on insert/extract handlers.
> (arc_long_opcodes): Delete.
> (arc_num_long_opcodes): Delete.
> (arc_opcode_len): Update for more instruction lengths.
Approved - please apply.
Cheers
Nick