From: Steve Ellcey Date: Fri, 29 Jan 2016 16:29:58 +0000 (+0000) Subject: re PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck... X-Git-Tag: basepoints/gcc-7~1215 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87a5ab58c5ffe762d4ff8f76daa41846cdffa472;p=thirdparty%2Fgcc.git re PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck-zero-division) PR target/65604 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch. From-SVN: r232985 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f998427113f..2450e4fca91b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-01-29 Steve Ellcey + + PR target/65604 + * config/mips/mips.c (mips_output_division): Check flag_delayed_branch. + 2016-01-29 Jakub Jelinek PR target/69551 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 84fbc9776df9..9ec2dcb8f86d 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -13712,9 +13712,17 @@ mips_output_division (const char *division, rtx *operands) } else { - output_asm_insn ("%(bne\t%2,%.,1f", operands); - output_asm_insn (s, operands); - s = "break\t7%)\n1:"; + if (flag_delayed_branch) + { + output_asm_insn ("%(bne\t%2,%.,1f", operands); + output_asm_insn (s, operands); + s = "break\t7%)\n1:"; + } + else + { + output_asm_insn (s, operands); + s = "bne\t%2,%.,1f\n\tnop\n\tbreak\t7\n1:"; + } } } return s;