From 904b6a0eefb5a84e02dcf8a18437f0d115fc5527 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Thu, 20 Apr 2006 01:54:20 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/sh/sh.md | 2 ++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 402493335f6..023894bfc0c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-04-20 Kaz Kojima + + 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 Nathan Sidwell diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index ff36d9a932a..d05fc10f840 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]) -- 2.30.2