This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/51244] SH Target: Inefficient conditional branch
- From: "olegendo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 05 Mar 2012 23:12:27 +0000
- Subject: [Bug target/51244] SH Target: Inefficient conditional branch
- Auto-submitted: auto-generated
- References: <bug-51244-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #12 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-03-05 23:12:27 UTC ---
Author: olegendo
Date: Mon Mar 5 23:12:20 2012
New Revision: 184966
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=184966
Log:
PR target/51244
* config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
and use unified expansion logic.
* config/sh/sh.md (xorsi3_movrt): Rename to movrt. Move
closer to the existing movt insn.
(negc): Rename insn to *negc. Add new expander.
(movnegt): Use xor pattern for T bit negation. Reserve helper
constant for negc pattern.
(*movnegt): New insn and splitter.
PR target/51244
* gcc.target/sh/pr51244-1.c: New.
* gcc.target/sh/pr51244-2.c: New.
* gcc.target/sh/pr51244-3.c: New.
Added:
trunk/gcc/testsuite/gcc.target/sh/pr48596.c
trunk/gcc/testsuite/gcc.target/sh/pr51244-1.c
trunk/gcc/testsuite/gcc.target/sh/pr51244-2.c
trunk/gcc/testsuite/gcc.target/sh/pr51244-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.c
trunk/gcc/config/sh/sh.md
trunk/gcc/testsuite/ChangeLog