aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2006-04-20 01:54:20 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2006-04-20 01:54:20 +0000
commit904b6a0eefb5a84e02dcf8a18437f0d115fc5527 (patch)
treedcfd38ae9e8cbd39e3c35e6365b85ee14b40f8a4 /gcc
parent9dfb66b9fe85b353f0efed3a98745f6c686511c1 (diff)
downloadgcc-904b6a0eefb5a84e02dcf8a18437f0d115fc5527.zip
gcc-904b6a0eefb5a84e02dcf8a18437f0d115fc5527.tar.gz
gcc-904b6a0eefb5a84e02dcf8a18437f0d115fc5527.tar.bz2
re PR target/27182 (SH: wrong-code generation)
PR target/27182 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case that the last insn has the REG_INC note. From-SVN: r113109
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.md2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4024933..023894b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/27182
+ * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
+ that the last insn has the REG_INC note.
+
2006-04-19 Carlos O'Donell <carlos@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index ff36d9a..d05fc10 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1094,6 +1094,8 @@
"(HARD_REGNO_NREGS (REGNO (operands[0]), GET_MODE (operands[2]))
<= HARD_REGNO_NREGS (REGNO (operands[0]), GET_MODE (operands[0])))
&& peep2_reg_dead_p (3, operands[0]) && peep2_reg_dead_p (3, operands[2])
+ && ! FIND_REG_INC_NOTE (peep2_next_insn (2), operands[0])
+ && ! FIND_REG_INC_NOTE (peep2_next_insn (2), operands[2])
&& ! reg_overlap_mentioned_p (operands[0], operands[3])
&& ! reg_overlap_mentioned_p (operands[2], operands[0])
&& ! reg_overlap_mentioned_p (operands[0], operands[1])