mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
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:
@ -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>
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
* config/tc-mips.c (macro): Handle M_PREF_AB.
|
* 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. */
|
out that the branch was out-of-range, we'll get an error. */
|
||||||
&& !mips_opts.warn_about_macros
|
&& !mips_opts.warn_about_macros
|
||||||
&& (mips_opts.at || mips_pic == NO_PIC)
|
&& (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)
|
&& !mips_opts.mips16)
|
||||||
{
|
{
|
||||||
relaxed_branch = TRUE;
|
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>
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
* gas/mips/relax-at.d: New test for branch relaxation with .set
|
* 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-mips1"
|
||||||
run_dump_test "relax-swap1-mips2"
|
run_dump_test "relax-swap1-mips2"
|
||||||
run_dump_test "relax-swap2"
|
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 "illegal" "-32"
|
||||||
run_list_test "baddata1" "-32"
|
run_list_test "baddata1" "-32"
|
||||||
|
5
gas/testsuite/gas/mips/relax-bposge.l
Normal file
5
gas/testsuite/gas/mips/relax-bposge.l
Normal file
@ -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
|
12
gas/testsuite/gas/mips/relax-bposge.s
Normal file
12
gas/testsuite/gas/mips/relax-bposge.s
Normal file
@ -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:
|
Reference in New Issue
Block a user