This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: stepanov on sparc; sparc backend scheduling issues
- To: rth at redhat dot com (Richard Henderson)
- Subject: Re: stepanov on sparc; sparc backend scheduling issues
- From: Joe Buck <jbuck at synopsys dot COM>
- Date: Fri, 25 May 2001 18:15:55 -0700 (PDT)
- Cc: jbuck at synopsys dot COM (Joe Buck), dje at watson dot ibm dot com (David Edelsohn), mark at codesourcery dot com (Mark Mitchell), jfm2 at club-internet dot fr, gcc at gcc dot gnu dot org
> On Fri, May 25, 2001 at 05:55:29PM -0700, Joe Buck wrote:
> > So, a question: since I configured the compiler on an Ultrasparc, why
> > doesn't it set -mtune=ultrasparc by default? What are we defaulting to?
>
> config.guess doesn't know you configured on an ultrasparc.
OK, I understand that, since it isn't in the target triplet (though this
seems inconsistent with what we do for the ia32 ports).
> You can use --with-cpu=ultrasparc, but that affects -mcpu,
> not -mtune, which may not be what you want.
>
> Default tuning matches default architecture, which is sparc v7.
But I don't understand this. Why tune by default for an architecture
no one is using? Certainly we are best off by default using only the
v7 instruction set, but I think we should tune for whatever is the
most common architecture currently in use. I don't know if that should
be Ultrasparc, but since the new architectures generally have longer
pipelines, I suspect tuning for a newer architecture will also work
reasonably for older architectures though not vice versa (in this case,
it seems to "push" writes and reads of registers further apart without
making the loop longer).