re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures)
authorOleg Endo <olegendo@gcc.gnu.org>
Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)
commit355e99758bceb3ffed95a0c4fc41fb348e0109d3
treea124a99e1ec7b525dc213a2adf31d53765f0f129
parent9ce85efc60a2089ee2aa950d5d05bc9ab73e9c58
re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures)

gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend): Use rtx_insn* for insn argument.
(sh_split_movrt_negc_to_movt_xor): New function.
(sh_find_set_of_reg): Move to ...
* config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert
to template function.
(set_of_reg): Use rtx_insn* for insn member.
(sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use
rtx_insn* for insn argument.
* config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor
sequence using new sh_split_movrt_negc_to_movt_xor function.
(movrt_xor): Allow also for SH2A.
(*movt_movrt): Delete insns and splits.

From-SVN: r217968
gcc/ChangeLog
gcc/config/sh/sh-protos.h
gcc/config/sh/sh.c
gcc/config/sh/sh.md