This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: SH: cmpeqdi splitter messes up the CFG
- To: aoliva at redhat dot com (Alexandre Oliva)
- Subject: Re: SH: cmpeqdi splitter messes up the CFG
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Fri, 8 Sep 2000 03:46:35 +0100
- Cc: gcc-patches at gcc dot gnu dot org dot amylaar@redhat dot com dot jason at redhat dot com
- Newsgroups: cygnus.egcs.patches
In article <orzoluv9si.fsf@guarana.lsd.ic.unicamp.br> you wrote:
: * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
: (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
: and labels.
This is wrong. The cmpeqsi_ior_t and cmpeqsi_and_t insn are not as cheap
as they look to the compiler; their presence will likely pessimize code.
Moreover, branches should go to labels, lest reaxing can go awry.
I have reinstated the old cmpeqdi_t splitter, but with the split
conditionalized on optimize, and added output patterns to cmpeqdi_t.
I couldn't test my patch because I don't have the "md5.h" header file.