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]

Re: new cpu's for rs6000 target



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.


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