This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch 2/2] PR27313 Transform conditional stores


On 5/15/07, Michael Matz <matz@suse.de> wrote:
Hi,

On Tue, 15 May 2007, Andrew Pinski wrote:

> On 5/15/07, Michael Matz <matz@suse.de> wrote:
> > Hmm, wait, you say that making conditional stores unconditional is bad,
> > but doing the same for conditional loads is good?  Wasn't the basis for
> > the former the fear for load-store hazards in one constructed example?  A
> > similar example can be constructed for the moved load.  So, what has
> > changed?
>
> Two different parts of the Cell have different behaviors :).  The SPU
> wants way less branches while the PowerPC part you have to take into
> account the load hit store hazzard.

Oh I see, the SPU<->ppc difference :)

> Yes this they are different targets.  This is why GCC have to
> becareful when implementing any kind of optimization, including this
> one.

Okay, to perhaps move forward with this, do you have any suggestion on a
sensible heuristic when to not do the transformation I want?  Otherwise
I'm tempted to simply activate them by default on x86* (at least the SPEC
results support that), and leave other architectures alone.

I suppose you can check BRANCH_COST - it's 20 for SPU, 3 for PPC and between 1 and 5 on x86{_64}.

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]