diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2006-04-20 01:54:20 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2006-04-20 01:54:20 +0000 |
commit | 904b6a0eefb5a84e02dcf8a18437f0d115fc5527 (patch) | |
tree | dcfd38ae9e8cbd39e3c35e6365b85ee14b40f8a4 /gcc | |
parent | 9dfb66b9fe85b353f0efed3a98745f6c686511c1 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 2 |
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]) |