This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: cr logical insn implementation for rs6000
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: cr logical insn implementation for rs6000
- From: Geoff Keating <geoffk at cygnus dot com>
- Date: 06 Sep 2000 11:54:01 -0700
- CC: gcc-patches at gcc dot gnu dot org
- References: <200009061811.OAA28088@mal-ach.watson.ibm.com>
David Edelsohn <dje@watson.ibm.com> writes:
> Given this recent change, I would like to refer back to my
> proposed patch of about a month ago cleaning up some of the sCOND
> patterns. As far as I can tell, some of the patterns are better done by
> GCC's portable code, especially when not on the POWER architecture.
The patch looks good. Anything that saves me from having to rewrite
those patterns :-).
> Also, the function unit information has a number of errors
> following the addition of cr_logical attribute. I also do not understand
> why cr_logical instructions are assigned a latency of 4 cycles when they
> all operate in 1 cycle.
They're execute-synchronized according to the docs on the 604 and 750.
I expect that they will usually have a latency of 3-4 cycles, as it'll
take 2-3 cycles for the pipeline to flush. There doesn't seem to be
an easy way to explain execute-synchronization to the old scheduler,
and I'm unwilling to spend much time on it when it'll all go away RSN
with the DFA-based pipeline descriptions.
> My patch below contains both the sCOND improvements and the cr
> logical instruction unit rearrangement, but I did not change the latency
> information until I hear whether 4 cycles was a typo or intended.
>
> Thanks, David
>
> P.S. Geoff, in the future, please contact me for function unit
> information.
If you happen to have a POWER3 data book handy, one that describes the
instruction timings in detail, that'd be very useful. Especially in
PDF form...
--
- Geoffrey Keating <geoffk@cygnus.com>