gcc/
authorolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)
committerolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)
commit33f075eaaa09b30dc47cb376cfcf02e224622d38
treea124a99e1ec7b525dc213a2adf31d53765f0f129
parentdd3041ec706fc47c33787b3ca7d70f3c70d3b871
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217968 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/sh/sh-protos.h
gcc/config/sh/sh.c
gcc/config/sh/sh.md