This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: new cpu's for rs6000 target
- To: Richard Henderson <rth at redhat dot com>
- Subject: Re: new cpu's for rs6000 target
- From: Dale Johannesen <dalej at apple dot com>
- Date: Mon, 24 Sep 2001 11:27:43 -0700
- Cc: Dale Johannesen <dalej at apple dot com>, Daniel Egger <egger at suse dot de>, gcc-patches at gcc dot gnu dot org
On Friday, September 21, 2001, at 03:40 PM, Richard Henderson wrote:
> On Fri, Sep 21, 2001 at 12:35:09PM -0700, Dale Johannesen wrote:
>>>> (define_function_unit "iu" 1 0
>>>> (and (eq_attr "type" "compare,delayed_compare")
>>>> (eq_attr "cpu" "ppc750,ppc7400"))
>>>> 1 1 [(eq_attr "type" "!branch")])
>>>>
>>>> (define_function_unit "iu" 1 0
>>>> (and (eq_attr "type" "compare,delayed_compare")
>>>> (eq_attr "cpu" "ppc750,ppc7400"))
>>>> 3 1 [(eq_attr "type" "branch")])
>>>
>> This means: if the compare/delayed_compare is followed by a dependent
>> branch, assume a 3-cycle issue delay; if followed by anything else,
>> assume
>> a 1-cycle issue delay.
>
> Not really. This doesn't model a producer/consumer relationship,
> only a before/after issue relationship. What you want is to
> manipulate ADJUST_COST.
Thanks for clarifying this.
After further experimentation with benchmarks I've concluded the following:
- Daniel Egger's suggestion to change the timings for
compare/delayed_compare to
match the books is a good one, worth 1-2% in some cases (the threshold of
measurability, but real).
- Changing ADJUST_COST (current spelling is TARGET_SCHED_ADJUST_COST) to
try to
get rid of mispredicts (as above) almost doesn't matter. The effect
appears
to be consistently positive or neutral, but is so small that it's well
below
the margin of error. I would prefer to include this change, but could be
convinced otherwise.
What's the status of the original patch? I can rewrite it to include
these changes,
or submit an incremental patch later.