I486_CPU and I586_CPU removed from GENERIC kernel [was Re: svn commit: r205307 - head/sys/i386/conf]

Valentin Nechayev netch at netch.kiev.ua
Fri Mar 19 16:22:56 UTC 2010


 Fri, Mar 19, 2010 at 17:13:00, ivoras wrote about "Re: I486_CPU and I586_CPU removed from GENERIC kernel [was Re: svn commit: r205307 - head/sys/i386/conf]": 

> SSE in the userland you mean? Regardless, I don't think there is now
> reason for compiling everything as for i386. E.g. why not add at least
> -mtune=generic or even also -march=i686 to default gcc options?
> 
> http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html

Having userland compiled with i686 will give the same effect as i686-only
kernel: it won't boot on machines which doesn't conform to. If it is
supposed to boot on i486 and higher, no more than -march=i486 can be used.

OTOH it would be quite popular for most desktops and big servers to
orient to fresh hardware, so one can (if having enough resources) to split
targets:
1) - for most, which would have e.g.
CFLAGS=... -march=pentium3 -mmmx -msse -mfpmath=sse,387 -mtune=generic
COPTFLAGS=... -march=pentium3 -mtune=generic
2) for small/embedded/etc. with defaults to i486

and make separate binary distributions for them.

OT3H it isn't proven to give real effect except very limited cases
(CPU-intensive (mplayer, etc.), graphics-intensive apps (KDE)). Mplayer
usually uses differently compiled modules for different CPUs. There are
quite few applications which can get real benefit.


-netch-


More information about the svn-src-head mailing list