re PR target/66930 (gengtype.c is miscompiled during stage2)
authorOleg Endo <olegendo@gcc.gnu.org>
Sat, 25 Jul 2015 14:07:17 +0000 (14:07 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Sat, 25 Jul 2015 14:07:17 +0000 (14:07 +0000)
gcc/
PR target/66930
* config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
T bit register modified_between_p check.

From-SVN: r226218

gcc/ChangeLog
gcc/config/sh/sh.c

index 3178e2b..37b0ded 100644 (file)
@@ -1,3 +1,9 @@
+2015-07-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/66930
+       * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
+       T bit register modified_between_p check.
+
 2015-07-25  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.c: Use SUBREG_P predicate.
index fe4cf4d..f429193 100644 (file)
@@ -13888,6 +13888,7 @@ sh_split_movrt_negc_to_movt_xor (rtx_insn* curr_insn, rtx operands[])
       && !sh_insn_operands_modified_between_p (t_before_negc.insn,
                                               t_before_negc.insn,
                                               t_after_negc.insn)
+      && !modified_between_p (get_t_reg_rtx (), curr_insn, t_after_negc.insn)
       && !sh_unspec_insn_p (t_after_negc.insn)
       && !volatile_insn_p (PATTERN (t_after_negc.insn))
       && !side_effects_p (PATTERN (t_after_negc.insn))