re PR target/54236 ([SH] Improve addc and subc insn utilization)
commit6fb917d907f8ae1708f3aea9805957e27992624c
authorOleg Endo <olegendo@gcc.gnu.org>
Mon, 28 Sep 2015 14:00:44 +0000 (28 14:00 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Mon, 28 Sep 2015 14:00:44 +0000 (28 14:00 +0000)
tree6216aae2244aba8041d0560ac893e46a4b569ff6
parentb81f1ee3b33dd046db7f508ebf0e29d0e12c406d
re PR target/54236 ([SH] Improve addc and subc insn utilization)

gcc/
PR target/54236
* config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
and handle ne and eq codes.
* config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
(sh_recog_treg_set_expr): Early accept negt_reg_operand.  Eearly reject
CONST_INT_P.  Use reverse_condition.
(sh_split_treg_set_expr): Likewise.

gcc/testsuite/
PR target/54236
* gcc.target/sh/pr54236-1.c (test_09, test_10, test_11): New.
* gcc.target/sh/pr59533-1.c (test_23, test_24, test_25, test_26,
test_27): New.
* gcc.target/sh/pr54236-5.c: New.
* gcc.target/sh/pr54236-6.c: New.

From-SVN: r228202
gcc/ChangeLog
gcc/config/sh/predicates.md
gcc/config/sh/sh.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sh/pr54236-1.c
gcc/testsuite/gcc.target/sh/pr54236-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr54236-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr59533-1.c