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/
	PR target/63783
	PR target/51244
	* config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
	Do not emit bitwise not insn.  Emit logical not insn sequence instead.
	Adjust related comments throughout the file.

gcc/testsuite/
	PR target/63783
	PR target/51244
	* gcc.target/sh/torture/pr63783-1.c: New.
	* gcc.target/sh/torture/pr63783-2.c: New.
	* gcc.target/sh/pr51244-20.c: Adjust.
	* gcc.target/sh/pr51244-20-sh2a.c: Adjust.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217969 138bc75d-0d04-0410-961f-82ee72b054a4