gcc/
commit394e78ee55165f1a02c72b29e59192d7015fde8f
authorolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jan 2015 23:46:34 +0000 (14 23:46 +0000)
committerolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jan 2015 23:46:34 +0000 (14 23:46 +0000)
treec350038554cd489a1334d9caa397aa1aad59d472
parenta336442d78dcc43d256e3c1f98b9d2ba9189ba8d
gcc/
PR target/53988
* config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
reg-reg copies.
(sh_extending_set_of_reg): New struct.
(sh_find_extending_set_of_reg, sh_split_tst_subregs,
sh_remove_reg_dead_or_unused_notes): New Declarations.
* config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
sh_find_extending_set_of_reg, sh_split_tst_subregs,
sh_extending_set_of_reg::use_as_extended_reg): New functions.
* config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
convert to insn_and_split and use new function sh_split_tst_subregs.

gcc/testsuite/
PR target/53988
* gcc.target/sh/pr53988-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219623 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/sh/sh-protos.h
gcc/config/sh/sh.c
gcc/config/sh/sh.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sh/pr53988-1.c [new file with mode: 0644]