gas/
* config/tc-mips.c (append_insn): Disable branch relaxation for DSP instructions. gas/testsuite/ * gas/mips/relax-bposge.l: New test for DSP branch relaxation. * gas/mips/relax-bposge.s: Source for the new test. * gas/mips/mips.exp: Run the new test.
This commit is contained in:
parent
12c5a436a8
commit
d455268f73
|
@ -1,3 +1,8 @@
|
|||
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* config/tc-mips.c (append_insn): Disable branch relaxation for
|
||||
DSP instructions.
|
||||
|
||||
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* config/tc-mips.c (macro): Handle M_PREF_AB.
|
||||
|
|
|
@ -2933,6 +2933,8 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
|
|||
out that the branch was out-of-range, we'll get an error. */
|
||||
&& !mips_opts.warn_about_macros
|
||||
&& (mips_opts.at || mips_pic == NO_PIC)
|
||||
/* Don't relax BPOSGE32/64 as they have no complementing branches. */
|
||||
&& !(ip->insn_mo->membership & (INSN_DSP64 | INSN_DSP))
|
||||
&& !mips_opts.mips16)
|
||||
{
|
||||
relaxed_branch = TRUE;
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* gas/mips/relax-bposge.l: New test for DSP branch relaxation.
|
||||
* gas/mips/relax-bposge.s: Source for the new test.
|
||||
* gas/mips/mips.exp: Run the new test.
|
||||
|
||||
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* gas/mips/relax-at.d: New test for branch relaxation with .set
|
||||
|
|
|
@ -707,6 +707,8 @@ if { [istarget mips*-*-vxworks*] } {
|
|||
run_dump_test "relax-swap1-mips1"
|
||||
run_dump_test "relax-swap1-mips2"
|
||||
run_dump_test "relax-swap2"
|
||||
run_list_test_arches "relax-bposge" "-mdsp -relax-branch" \
|
||||
[mips_arch_list_matching mips64r2]
|
||||
|
||||
run_list_test "illegal" "-32"
|
||||
run_list_test "baddata1" "-32"
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
.*: Assembler messages:
|
||||
.*:6: Warning: Relaxed out-of-range branch into a jump
|
||||
.*:9: Warning: Relaxed out-of-range branch into a jump
|
||||
.*:7: Error: Branch out of range
|
||||
.*:8: Error: Branch out of range
|
|
@ -0,0 +1,12 @@
|
|||
# Source file to test branch relaxation with the BPOSGE32 and BPOSGE64
|
||||
# instructions.
|
||||
|
||||
.text
|
||||
foo:
|
||||
b bar
|
||||
bposge32 bar
|
||||
bposge64 bar
|
||||
bal bar
|
||||
|
||||
.space 0x20000
|
||||
bar:
|
Loading…
Reference in New Issue