OSDN Git Service

2005-09-06 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Tue, 6 Sep 2005 16:59:24 +0000 (16:59 +0000)
committerPaul Brook <paul@codesourcery.com>
Tue, 6 Sep 2005 16:59:24 +0000 (16:59 +0000)
commit707e1f5fa2f2535dd237a311da84d1f1692c1768
tree8ac14c3ac8ad29a55618236bf4f9c78cb3eb3f8a
parent4604602fb65ef872712c07d3f287bc27e1a1ae56
2005-09-06  Paul Brook  <paul@codesourcery.com>

gas/
* config/tc-arm.c (arm_it): Add relax field.
(T16_32_TAB): Add addi, addis, add_pc, add_sp, dec_sp, inc_sp,
b, bcond, ldr_pc, ldr_pc2, ldr_sp, str_sp, subi, subis.
(do_t_add_sub, do_t_addr, do_t_branch, do_t_ldst,
do_t_mov_cmp): Allow relaxation.
(output_relax_insn): New function.
(put_thumb32_insn): New function.
(output_inst): Use new functions.
(md_assemble): Don't throw error on relaxable instructions.
(insns): Change "b" entry from TCE(...) to tCE(...).
(md_estimate_size_before_relax): Return 2.
(md_convert_frag, relax_immediate, relax_adr, relax_addsub,
relax_branch, arm_relax_frag): New functions.
(arm_force_relocation): Return 0 for Thumb-2 immediate operand
relocations.
* config/tc-arm.h (md_convert_frag): Remove definition.
(md_relax_frag): Define.
(arm_relax_frag): Add prototype.
gas/testsuite/
* gas/arm/thumb2_relax.d: New test.
* gas/arm/thumb2_relax.s: New test.
* gas/arm/thumb32.d: Adjust expected results to include relaxation.
* gas/arm/thumb32.s: Tweak for better coverage of relaxable
instructions.  Remove load/store tests.
gas/ChangeLog
gas/config/tc-arm.c
gas/config/tc-arm.h
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/thumb2_relax.d [new file with mode: 0644]
gas/testsuite/gas/arm/thumb2_relax.s [new file with mode: 0644]
gas/testsuite/gas/arm/thumb32.d
gas/testsuite/gas/arm/thumb32.s