Re: Noob question. Why is the for-pentium4 kernel built with -march=i686 ?

From: Denis Vlasenko
Date: Wed Jul 20 2005 - 05:39:37 EST


On Wednesday 20 July 2005 12:25, Ivan Yosifov wrote:
> > > > Also, I believe that the -march=pentium4 option /was/ actually used up
> > > > until kernel 2.6.10 where it was dropped because of a risk that some
> > > > versions of gcc would cause the kernel to use SSE registers for data
> > > > movement (which is a no-no).
> > > >
> > >
> > > You seem right. I fetched a 2.6.9 tarball and it is really built with
> > > -march=pentium4. Do you know which are versions of gcc in question ?
> > >
> >
> > No, I'm afraid not. I only know that the advice came from Richard
> > Henderson who (I think) is one of the core glibc hackers. You can see
> > the point at which it was introduced by Linus in the ChangeLog (2nd
> > message from last):
> >
> > http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10
>
> Seems to be this one:
>
> <torvalds@xxxxxxxxxxxxxxx>
> Don't use "-march=pentium3" for gcc tuning.
>
> rth tells me that some versions of gcc may end up using the
> SSE registers for data movement when you do that.
>
> Use "-march=i686 -mtune=xxxx" instead.
>
> (We do the same thing for march=pentium2/4 too, just for
> consistency).
>
>
> The way it is worded it seems that it is a problem with *some* versions
> of gcc only on p3, not p4.

Why do you care? I bet that differences between i686 code and pentium4 code
are well below noise level.
--
vda

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/