From: Eric Botcazou Date: Sun, 5 Jun 2011 23:19:58 +0000 (+0000) Subject: sparc.c (output_return): Fix thinko in the output of an EH return when delayed branch... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=679e70dfea4208e65fdc2cec6af2181b5a167bb3;p=gcc.git sparc.c (output_return): Fix thinko in the output of an EH return when delayed branches are disabled. * config/sparc/sparc.c (output_return): Fix thinko in the output of an EH return when delayed branches are disabled. From-SVN: r174670 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c1f2a35529b..98e1c08fec5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-06-05 Eric Botcazou + + * config/sparc/sparc.c (output_return): Fix thinko in the output of an + EH return when delayed branches are disabled. + 2011-06-05 Uros Bizjak * config/i386/i386.md (*movdf_internal_rex64) : diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index d5d043def0f..59738af89ac 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -4752,18 +4752,20 @@ output_return (rtx insn) machinery occupies the delay slot. */ gcc_assert (! final_sequence); - if (! flag_delayed_branch) - fputs ("\tadd\t%fp, %g1, %fp\n", asm_out_file); - - if (TARGET_V9) - fputs ("\treturn\t%i7+8\n", asm_out_file); - else - fputs ("\trestore\n\tjmp\t%o7+8\n", asm_out_file); + if (flag_delayed_branch) + { + if (TARGET_V9) + fputs ("\treturn\t%i7+8\n", asm_out_file); + else + fputs ("\trestore\n\tjmp\t%o7+8\n", asm_out_file); - if (flag_delayed_branch) - fputs ("\t add\t%sp, %g1, %sp\n", asm_out_file); + fputs ("\t add\t%sp, %g1, %sp\n", asm_out_file); + } else - fputs ("\t nop\n", asm_out_file); + { + fputs ("\trestore\n\tadd\t%sp, %g1, %sp\n", asm_out_file); + fputs ("\tjmp\t%o7+8\n\t nop\n", asm_out_file); + } } else if (final_sequence) {