MIPS/GAS: Implement microMIPS branch/jump compaction
[deliverable/binutils-gdb.git] / gas / ChangeLog
index 7126569e79d76b3f53cfa9cc185323807fd49aee..0273942ea189edb7007459d9cedff733d4e117af 100644 (file)
@@ -1,3 +1,158 @@
+2016-07-27  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `nods' flag.
+       (RELAX_MICROMIPS_RELAX32, RELAX_MICROMIPS_TOOFAR16)
+       (RELAX_MICROMIPS_MARK_TOOFAR16, RELAX_MICROMIPS_CLEAR_TOOFAR16)
+       (RELAX_MICROMIPS_TOOFAR32, RELAX_MICROMIPS_MARK_TOOFAR32)
+       (RELAX_MICROMIPS_CLEAR_TOOFAR32): Shift bits.
+       (get_append_method): Also return APPEND_ADD_COMPACT for
+       microMIPS instructions.
+       (find_altered_mips16_opcode): Exclude macros from matching.
+       Factor code out...
+       (find_altered_opcode): ... to this new function.
+       (find_altered_micromips_opcode): New function.
+       (frag_branch_delay_slot_size): Likewise.
+       (append_insn): Handle microMIPS branch/jump compaction.
+       (macro_start): Likewise.
+       (relaxed_micromips_32bit_branch_length): Likewise.
+       (md_convert_frag): Likewise.
+       * testsuite/gas/mips/micromips.s: Add conditional explicit NOPs
+       for delay slot filling.
+       * testsuite/gas/mips/micromips-b16.s: Add explicit NOPs for
+       delay slot filling.
+       * testsuite/gas/mips/micromips-size-1.s: Likewise.
+       * testsuite/gas/mips/micromips.l: Adjust line numbers.
+       * testsuite/gas/mips/micromips-warn.l: Likewise.
+       * testsuite/gas/mips/micromips-size-1.l: Likewise.
+       * testsuite/gas/mips/micromips.d: Adjust padding.
+       * testsuite/gas/mips/micromips-trap.d: Likewise.
+       * testsuite/gas/mips/micromips-insn32.d: Likewise.
+       * testsuite/gas/mips/micromips-noinsn32.d: Likewise.
+       * testsuite/gas/mips/micromips@beq.d: Update patterns for
+       branch/jump compaction.
+       * testsuite/gas/mips/micromips@bge.d: Likewise.
+       * testsuite/gas/mips/micromips@bgeu.d: Likewise.
+       * testsuite/gas/mips/micromips@blt.d: Likewise.
+       * testsuite/gas/mips/micromips@bltu.d: Likewise.
+       * testsuite/gas/mips/micromips@branch-misc-4.d: Likewise.
+       * testsuite/gas/mips/micromips@branch-misc-4-64.d: Likewise.
+       * testsuite/gas/mips/micromips@branch-misc-5.d: Likewise.
+       * testsuite/gas/mips/micromips@branch-misc-5pic.d: Likewise.
+       * testsuite/gas/mips/micromips@branch-misc-5-64.d: Likewise.
+       * testsuite/gas/mips/micromips@branch-misc-5pic-64.d: Likewise.
+       * testsuite/gas/mips/micromips@jal-svr4pic-local.d: Likewise.
+       * testsuite/gas/mips/micromips@jal-svr4pic-local-n32.d:
+       Likewise.
+       * testsuite/gas/mips/micromips@jal-svr4pic-local-n64.d:
+       Likewise.
+       * testsuite/gas/mips/micromips@loc-swap.d: Likewise.
+       * testsuite/gas/mips/micromips@loc-swap-dis.d: Likewise.
+       * testsuite/gas/mips/micromips@relax.d: Likewise.
+       * testsuite/gas/mips/micromips@relax-at.d: Likewise.
+       * testsuite/gas/mips/micromips@relax-swap3.d: Likewise.
+       * testsuite/gas/mips/branch-extern-2.d: Likewise.
+       * testsuite/gas/mips/branch-extern-4.d: Likewise.
+       * testsuite/gas/mips/branch-section-2.d: Likewise.
+       * testsuite/gas/mips/branch-section-4.d: Likewise.
+       * testsuite/gas/mips/branch-weak-2.d: Likewise.
+       * testsuite/gas/mips/branch-weak-5.d: Likewise.
+       * testsuite/gas/mips/micromips-branch-absolute.d: Likewise.
+       * testsuite/gas/mips/micromips-branch-absolute-n32.d: Likewise.
+       * testsuite/gas/mips/micromips-branch-absolute-n64.d: Likewise.
+       * testsuite/gas/mips/micromips-branch-absolute-addend.d:
+       Likewise.
+       * testsuite/gas/mips/micromips-branch-absolute-addend-n32.d:
+       Likewise.
+       * testsuite/gas/mips/micromips-branch-absolute-addend-n64.d:
+       Likewise.
+       * testsuite/gas/mips/micromips-compact.d: New test.
+       * testsuite/gas/mips/mips.exp: Run the new test.
+
+2016-07-27  Graham Markall  <graham.markall@embecosm.com>
+
+        * config/tc-arc.c: Add new global arc_addrtype_hash.
+        Define O_colon and O_addrtype.
+        (debug_exp): Add O_colon and O_addrtype.
+        (tokenize_arguments): Handle colon and address type
+        tokens.
+        (declare_addrtype): New function.
+        (md_begin): Initialise arc_addrtype_hash.
+        (arc_parse_name): Add lookup of address types.
+       (assemble_insn): Handle colons and address types by
+        ignoring them.
+        * testsuite/gas/arc/nps400-8.s: New file.
+        * testsuite/gas/arc/nps400-8.d: New file.
+        * testsuite/gas/arc/nps400-8.s: Add PMU instruction tests.
+        * testsuite/gas/arc/nps400-8.d: Add expected PMU
+        instruction output.
+
+2016-07-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `insn32' flag.
+       (RELAX_MICROMIPS_INSN32): New macro.
+       (RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT)
+       (RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_RELAX32)
+       (RELAX_MICROMIPS_TOOFAR16, RELAX_MICROMIPS_MARK_TOOFAR16)
+       (RELAX_MICROMIPS_CLEAR_TOOFAR16, RELAX_MICROMIPS_TOOFAR32)
+       (RELAX_MICROMIPS_MARK_TOOFAR32, RELAX_MICROMIPS_CLEAR_TOOFAR32):
+       Shift bits.
+       (append_insn): Record `mips_opts.insn32' with relaxed microMIPS
+       branches.
+       (relaxed_micromips_32bit_branch_length): Handle the `insn32'
+       mode.
+       (md_convert_frag): Likewise.
+       * testsuite/gas/mips/micromips-branch-relax.s: Add `insn32'
+       conditionals.
+       * testsuite/gas/mips/micromips-branch-relax.l: Update line
+       numbers accordingly.
+       * testsuite/gas/mips/micromips-branch-relax-pic.l: Likewise.
+       * testsuite/gas/mips/micromips-branch-relax-insn32.d: New test.
+       * testsuite/gas/mips/micromips-branch-relax-insn32-pic.d: New
+       test.
+       * testsuite/gas/mips/micromips-branch-relax-insn32.l: New
+       stderr output.
+       * testsuite/gas/mips/micromips-branch-relax-insn32-pic.l: New
+       stderr output.
+       * testsuite/gas/mips/mips.exp: Run the new tests.
+
+2016-07-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2016-07-20  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * testsuite/gas/arc/dsp.d: New file.
+       * testsuite/gas/arc/dsp.s: Likewise.
+       * testsuite/gas/arc/fpu.d: Likewise.
+       * testsuite/gas/arc/fpu.s: Likewise.
+       * testsuite/gas/arc/ext2op.d: Add specific disassembler option.
+       * testsuite/gas/arc/ext3op.d: Likewise.
+       * testsuite/gas/arc/tdpfp.d: Likewise.
+       * testsuite/gas/arc/tfpuda.d: Likewise.
+
+2016-07-20  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * config/tc-mips.c (mips_force_relocation): Remove
+       R_MIPS_PC26_S2 and R_MIPS_PC21_S2.
+
+2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * config/tc-mips.c (mips_force_relocation, mips_fix_adjustable):
+       Adjust comments for BAL to JALX linker conversion.
+       (fix_bad_cross_mode_branch_p): Accept cross-mode BAL.
+       * testsuite/gas/mips/unaligned-branch-1.l: Update error messages
+       expected.
+       * testsuite/gas/mips/unaligned-branch-micromips-1.l: Likewise.
+       * testsuite/gas/mips/branch-local-4.d: New test.
+       * testsuite/gas/mips/branch-local-n32-4.d: New test.
+       * testsuite/gas/mips/branch-local-n64-4.d: New test.
+       * testsuite/gas/mips/branch-addend.d: New test.
+       * testsuite/gas/mips/branch-addend-n32.d: New test.
+       * testsuite/gas/mips/branch-addend-n64.d: New test.
+       * testsuite/gas/mips/branch-local-4.s: New test source.
+       * testsuite/gas/mips/branch-addend.s: New test source.
+       * testsuite/gas/mips/mips.exp: Run the new tests.
+
 2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
 
        * config/tc-mips.c (mips_force_relocation): Also retain branch
This page took 0.025223 seconds and 4 git commands to generate.