[PATCH] [ARC] Add support for 48 and 64 bit instructions

Claudiu Zissulescu claziss@gmail.com
Thu May 12 12:53:00 GMT 2016


> gas/ChangeLog:
>
> 	* config/tc-arc.c (parse_opcode_flags): New function.
> 	(find_opcode_match): Move flag parsing code out to new function.
> 	Ignore operands marked IGNORE.
> 	(build_fake_opcode_hash_entry): New function.
> 	(find_special_case_long_opcode): New function.
> 	(find_special_case): Lookup long opcodes.
> 	* testsuite/gas/arc/nps400-7.d: New file.
> 	* testsuite/gas/arc/nps400-7.s: New file.
>
> include/ChangeLog:
>
> 	* opcode/arc.h (MAX_INSN_ARGS): Increase to 16.
> 	(struct arc_long_opcode): New structure.
> 	(arc_long_opcodes): Declare.
> 	(arc_num_long_opcodes): Declare.
>
> opcodes/ChangeLog:
>
> 	* arc-dis.c (struct arc_operand_iterator): New structure.
> 	(find_format_from_table): All the old content from find_format,
> 	with some minor adjustments, and parameter renaming.
> 	(find_format_long_instructions): New function.
> 	(find_format): Rewritten.
> 	(arc_insn_length): Add LSB parameter.
> 	(extract_operand_value): New function.
> 	(operand_iterator_next): New function.
> 	(print_insn_arc): Use new functions to find opcode, and iterator
> 	over operands.
> 	* arc-opc.c (insert_nps_3bit_dst_short): New function.
> 	(extract_nps_3bit_dst_short): New function.
> 	(insert_nps_3bit_src2_short): New function.
> 	(extract_nps_3bit_src2_short): New function.
> 	(insert_nps_bitop1_size): New function.
> 	(extract_nps_bitop1_size): New function.
> 	(insert_nps_bitop2_size): New function.
> 	(extract_nps_bitop2_size): New function.
> 	(insert_nps_bitop_mod4_msb): New function.
> 	(extract_nps_bitop_mod4_msb): New function.
> 	(insert_nps_bitop_mod4_lsb): New function.
> 	(extract_nps_bitop_mod4_lsb): New function.
> 	(insert_nps_bitop_dst_pos3_pos4): New function.
> 	(extract_nps_bitop_dst_pos3_pos4): New function.
> 	(insert_nps_bitop_ins_ext): New function.
> 	(extract_nps_bitop_ins_ext): New function.
> 	(arc_operands): Add new operands.
> 	(arc_long_opcodes): New global array.
> 	(arc_num_long_opcodes): New global.
> 	* arc-nps400-tbl.h: Add comments referencing arc_long_opcodes.

This patch seems alright to me.

//Claudiu



More information about the Binutils mailing list