aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2015-07-25 14:07:17 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2015-07-25 14:07:17 +0000
commit9354f9e7e2e50b1fd2527537e352404460bf77dd (patch)
treef4bd2caa72921b8d33ed77ddd988c609b6e17588 /gcc
parent97157e0f9e31de266329c9160fdf3087995fe087 (diff)
downloadgcc-9354f9e7e2e50b1fd2527537e352404460bf77dd.zip
gcc-9354f9e7e2e50b1fd2527537e352404460bf77dd.tar.gz
gcc-9354f9e7e2e50b1fd2527537e352404460bf77dd.tar.bz2
re PR target/66930 (gengtype.c is miscompiled during stage2)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3178e2b..37b0ded 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index fe4cf4d..f429193 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -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))