diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2015-07-25 14:07:17 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2015-07-25 14:07:17 +0000 |
commit | 9354f9e7e2e50b1fd2527537e352404460bf77dd (patch) | |
tree | f4bd2caa72921b8d33ed77ddd988c609b6e17588 /gcc | |
parent | 97157e0f9e31de266329c9160fdf3087995fe087 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 1 |
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)) |