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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/20/05, Simon Strandman <[email protected]> wrote:
> Denis Vlasenko skrev:
> 
> >
> >Why do you care? I bet that differences between i686 code and pentium4 code
> >are well below noise level.
> >--
> >vda
> >
> For x86_64 the flags -mno-sse -mno-mmx -mno-sse2 -mno-3dnow are always
> used for compilation. Why is'nt the same thing done for x86 instead of
> using -march=i686 -mtune=?.
> 
> -march=athlon and -march=k6 includes -m3dnow and -mmmx, are those ok for
> the kernel but -msse isn't?
> 

As Kerin pointed out, gcc 4.0 supports auto-vectorization, so in
theory, these options might provide better performance on some
compilers. Apparently SSE is not enabled by default any more for P4
because of a known bug w/ some compilers. People using gcc > 4.0 can
obviously override it.

Really, w/out the presence of auto-vectorization support in the
compiler none of the vector extensions are necessary. The only things
that really matter are -mcpu and -mtune: what instruction set your CPU
supports and the optimum instruction scheduling characteristics for
your CPU, respectively.

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux