On Thu, 11 Nov 2010, Ian Lance Taylor wrote:

> roy rosen <roy.1ro...@gmail.com> writes:
> 
> > If I have two insns:
> > r2 = r3
> > r3 = r4
> > It seems to me that the dependency analysis creates a dependency
> > between the two and prevent parallelization. Although there is a
> > dependency (because of r3) I want GCC to parallelize them together.
> > Since if the insns are processed together the old value of r3 is used
> > for the first insn before it is written by the second insn.
> > How do I let GCC know about these things (When exactly each operand is
> > used and when it is written)?
> > Is it in these hooks?
> > In which port can I see a good example for that?
> 
> I was under the impression that an anti-dependence in the same cycle was
> permitted to execute.  But perhaps I am mistaken.

No, you are right.  That is the norm when compiling for ia64, for example.  I
don't think the backend should specifically care about it: the anti-dependency
gets zero latency, and the scheduler is able to issue the second instruction
on the same cycle after issuing the first.

Alexander

Reply via email to