2016-02-24 14:55:30 +01:00
|
|
|
|
2016-02-24 Renlin Li <renlin.li@arm.com>
|
|
|
|
|
|
|
|
|
|
* arm-dis.c (print_insn_coprocessor): Fix mask for vsel, vmaxnm,
|
|
|
|
|
vminnm, vrint(mpna).
|
|
|
|
|
|
2016-02-24 14:48:59 +01:00
|
|
|
|
2016-02-24 Renlin Li <renlin.li@arm.com>
|
|
|
|
|
|
|
|
|
|
* arm-dis.c (print_insn_coprocessor): Check co-processor number for
|
|
|
|
|
cpd/cpd2, mcr/mcr2, mrc/mrc2, ldc/ldc2, stc/stc2.
|
|
|
|
|
|
2016-02-16 00:58:42 +01:00
|
|
|
|
2016-02-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* i386-dis.c (print_insn): Parenthesize expression to prevent
|
|
|
|
|
truncated addresses.
|
|
|
|
|
(OP_J): Likewise.
|
|
|
|
|
|
Add support for ARC instruction relaxation in the assembler.
gas/
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
Janek van Oirschot <jvanoirs@synopsys.com>
* config/tc-arc.h (TC_FRAG_TYPE, TC_PCREL_ADJUST, MAX_INSN_ARGS)
(MAX_INSN_FLGS, MAX_FLAG_NAME_LENGHT, TC_GENERIC_RELAX_TABLE):
Define.
(arc_flags, arc_relax_type): New structure.
* config/tc-arc.c (FRAG_MAX_GROWTH, RELAX_TABLE_ENTRY)
(RELAX_TABLE_ENTRY_MAX): New define.
(relaxation_state, md_relax_table, arc_relaxable_insns)
(arc_num_relaxable_ins): New variable.
(rlx_operand_type, arc_rlx_types): New enums.
(arc_relaxable_ins): New structure.
(OPTION_RELAX): New option.
(arc_insn): New relax member.
(arc_flags): Remove.
(relax_insn_p): New function.
(apply_fixups): Likewise.
(relaxable_operand): Likewise.
(may_relax_expr): Likewise.
(relaxable_flag): Likewise.
(arc_pcrel_adjust): Likewise.
(md_estimate_size_before_relax): Implement.
(md_convert_frag): Likewise.
(md_parse_option): Handle new mrelax option.
(md_show_usage): Likewise.
(assemble_insn): Set relax member.
(emit_insn0): New function.
(emit_insn1): Likewise.
(emit_insn): Handle relaxation case.
* NEWS: Mention the new relaxation option.
* doc/c-arc.texi (ARC Options): Document new mrelax option.
gas/testsuite
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
* gas/arc/relax-avoid1.d: New file.
* gas/arc/relax-avoid1.s: Likewise.
* gas/arc/relax-avoid2.d: Likewise.
* gas/arc/relax-avoid2.s: Likewise.
* gas/arc/relax-avoid3.d: Likewise.
* gas/arc/relax-avoid3.s: Likewise.
* gas/arc/relax-b.d: Likewise.
* gas/arc/relax-b.s: Likewise.
include/opcode/
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
Janek van Oirschot <jvanoirs@synopsys.com>
* arc.h (arc_opcode arc_relax_opcodes, arc_num_relax_opcodes):
Declare.
opcodes/
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
Janek van Oirschot <jvanoirs@synopsys.com>
* arc-opc.c (arc_relax_opcodes, arc_num_relax_opcodes): New
variable.
2016-02-10 13:09:01 +01:00
|
|
|
|
2016-02-10 Claudiu Zissulescu <claziss@synopsys.com>
|
|
|
|
|
Janek van Oirschot <jvanoirs@synopsys.com>
|
|
|
|
|
|
|
|
|
|
* arc-opc.c (arc_relax_opcodes, arc_num_relax_opcodes): New
|
|
|
|
|
variable.
|
|
|
|
|
|
2016-02-04 10:55:10 +01:00
|
|
|
|
2016-02-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR target/19561
|
|
|
|
|
* msp430-dis.c (print_insn_msp430): Add a special case for
|
|
|
|
|
decoding an RRC instruction with the ZC bit set in the extension
|
|
|
|
|
word.
|
|
|
|
|
|
opcodes/cgen: Rework calculation of shift when inserting fields
The calculation of the shift amount, used to insert fields into the
instruction buffer, is not correct when the following conditions are all
true:
- CGEN_INT_INSN_P is defined, and true.
- CGEN_INSN_LSB0_P is true
- Total instruction length is greater than the length of a single
instruction word (the instruction is made of multiple words)
- The word offset is non-zero (the field is outside the first word)
When the above conditions are all true, the calculated shift fails to
take account of the total instruction length.
After this commit the calculation of the shift amount is split into two
parts, first we calculate the shift required to get to BIT0 of the word
in which the field lives, then we calculate the shift required to place
the field within the instruction word.
The change in this commit only effects the CGEN_INT_INSN_P defined true
case, but changes the code for both CGEN_INSN_LSB0_P true, and false.
In the case of CGEN_INSN_LSB0_P being false, the code used to say:
shift = total_length - (word_offset + start + length);
Now it says:
shift_to_word = total_length - (word_offset + word_length);
shift_within_word = word_length - start - length;
shift = shift_to_word + shift_within_word;
From which we can see that in all cases the computed shift value should
be unchanged.
In the case of CGEN_INSN_LSB0_P being true, the code used to say:
shift = (word_offset + start + 1) - length;
Now it says:
shift_to_word = total_length - (word_offset + word_length);
shift_within_word = start + 1 - length;
shift = shift_to_word + shift_within_word;
In the case where 'total_length == word_length' AND 'word_offset ==
0' (which indicates an instruction of a single word), we see that the
computed shift value will be unchanged. However, when the total_length
and word_length are different, and the word_offset is non-zero then the
computed shift value will be different (and correct).
opcodes/ChangeLog:
* cgen-ibld.in (insert_normal): Rework calculation of shift.
* epiphany-ibld.c: Regenerate.
* fr30-ibld.c: Regenerate.
* frv-ibld.c: Regenerate.
* ip2k-ibld.c: Regenerate.
* iq2000-ibld.c: Regenerate.
* lm32-ibld.c: Regenerate.
* m32c-ibld.c: Regenerate.
* m32r-ibld.c: Regenerate.
* mep-ibld.c: Regenerate.
* mt-ibld.c: Regenerate.
* or1k-ibld.c: Regenerate.
* xc16x-ibld.c: Regenerate.
* xstormy16-ibld.c: Regenerate.
2016-01-31 01:41:12 +01:00
|
|
|
|
2016-02-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* cgen-ibld.in (insert_normal): Rework calculation of shift.
|
|
|
|
|
* epiphany-ibld.c: Regenerate.
|
|
|
|
|
* fr30-ibld.c: Regenerate.
|
|
|
|
|
* frv-ibld.c: Regenerate.
|
|
|
|
|
* ip2k-ibld.c: Regenerate.
|
|
|
|
|
* iq2000-ibld.c: Regenerate.
|
|
|
|
|
* lm32-ibld.c: Regenerate.
|
|
|
|
|
* m32c-ibld.c: Regenerate.
|
|
|
|
|
* m32r-ibld.c: Regenerate.
|
|
|
|
|
* mep-ibld.c: Regenerate.
|
|
|
|
|
* mt-ibld.c: Regenerate.
|
|
|
|
|
* or1k-ibld.c: Regenerate.
|
|
|
|
|
* xc16x-ibld.c: Regenerate.
|
|
|
|
|
* xstormy16-ibld.c: Regenerate.
|
|
|
|
|
|
2016-02-01 19:21:37 +01:00
|
|
|
|
2016-02-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* epiphany-dis.c: Regenerated from latest cpu files.
|
|
|
|
|
|
2016-02-01 11:41:32 +01:00
|
|
|
|
2016-02-01 Michael McConville <mmcco@mykolab.com>
|
|
|
|
|
|
|
|
|
|
* cgen-dis.c (count_decodable_bits): Use unsigned value for mask
|
|
|
|
|
test bit.
|
|
|
|
|
|
2016-01-25 16:06:54 +01:00
|
|
|
|
2016-01-25 Renlin Li <renlin.li@arm.com>
|
|
|
|
|
|
|
|
|
|
* arm-dis.c (mapping_symbol_for_insn): New function.
|
|
|
|
|
(find_ifthen_state): Call mapping_symbol_for_insn().
|
|
|
|
|
|
2016-01-20 15:25:46 +01:00
|
|
|
|
2016-01-20 Matthew Wahab <matthew.wahab@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-opc.c (operand_general_constraint_met_p): Check validity
|
|
|
|
|
of MSR UAO immediate operand.
|
|
|
|
|
|
MIPS: Remove remnants of 48-bit microMIPS instruction support
The POOL48A major opcode was defined in early revisions of the 64-bit
microMIPS ISA, has never been implemented, and was removed before the
64-bit microMIPS ISA specification[1] has been finalized.
This complements commit a6c7053929dd ("MIPS/opcodes: Remove microMIPS
48-bit LI instruction").
References:
[1] "MIPS Architecture for Programmers, Volume II-B: The microMIPS64
Instruction Set", MIPS Technologies, Inc., Document Number: MD00594,
Revision 3.06, October 17, 2012, Table 6.2 "microMIPS64 Encoding of
Major Opcode Field", p. 578
gas/
* config/tc-mips.c (micromips_insn_length): Remove the mention
of 48-bit microMIPS instructions.
gdb/
* mips-tdep.c (mips_insn_size): Remove 48-bit microMIPS
instruction support.
(micromips_next_pc): Likewise.
(micromips_scan_prologue): Likewise.
(micromips_deal_with_atomic_sequence): Likewise.
(micromips_stack_frame_destroyed_p): Likewise.
(mips_breakpoint_from_pc): Likewise.
opcodes/
* mips-dis.c (print_insn_micromips): Remove 48-bit microMIPS
instruction support.
2016-01-18 22:29:37 +01:00
|
|
|
|
2016-01-18 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* mips-dis.c (print_insn_micromips): Remove 48-bit microMIPS
|
|
|
|
|
instruction support.
|
|
|
|
|
|
2016-01-17 02:50:55 +01:00
|
|
|
|
2016-01-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2016-01-14 17:23:35 +01:00
|
|
|
|
2016-01-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* rl78-decode.opc (rl78_decode_opcode): Add 's' operand to movw
|
|
|
|
|
instructions that can support stack pointer operations.
|
|
|
|
|
* rl78-decode.c: Regenerate.
|
|
|
|
|
* rl78-dis.c: Fix display of stack pointer in MOVW based
|
|
|
|
|
instructions.
|
|
|
|
|
|
2016-01-14 11:55:11 +01:00
|
|
|
|
2016-01-14 Matthew Wahab <matthew.wahab@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-opc.c (aarch64_sys_reg_supported_p): Merge conditionals
|
|
|
|
|
testing for RAS support. Add checks for erxfr_el1, erxctlr_el1,
|
|
|
|
|
erxtatus_el1 and erxaddr_el1.
|
|
|
|
|
|
2016-01-12 17:35:30 +01:00
|
|
|
|
2016-01-12 Matthew Wahab <matthew.wahab@arm.com>
|
|
|
|
|
|
|
|
|
|
* arm-dis.c (arm_opcodes): Add "esb".
|
|
|
|
|
(thumb_opcodes): Likewise.
|
|
|
|
|
|
2016-01-11 18:54:58 +01:00
|
|
|
|
2016-01-11 Peter Bergner <bergner@vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-opc.c <xscmpnedp>: Delete.
|
|
|
|
|
<xvcmpnedp>: Likewise.
|
|
|
|
|
<xvcmpnedp.>: Likewise.
|
|
|
|
|
<xvcmpnesp>: Likewise.
|
|
|
|
|
<xvcmpnesp.>: Likewise.
|
|
|
|
|
|
2016-01-08 11:38:00 +01:00
|
|
|
|
2016-01-08 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
PR gas/13050
|
|
|
|
|
* m68k-opc.c (moveb, movew): For ISA_B/C only allow #,d(An) in
|
|
|
|
|
addition to ISA_A.
|
|
|
|
|
|
2016-01-01 12:25:12 +01:00
|
|
|
|
2016-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2016-01-01 11:44:31 +01:00
|
|
|
|
For older changes see ChangeLog-2015
|
|
|
|
|
|
|
|
|
|
Copyright (C) 2016 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:
|