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

Bruce Evans brde at optusnet.com.au
Fri Mar 19 17:46:26 UTC 2010


On Fri, 19 Mar 2010, John Baldwin wrote:

> On Friday 19 March 2010 12:13:00 pm Ivan Voras wrote:
>> 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
>
> I actually suggested using -mtune=i686 several years ago for i386.  Using
> -mtune=generic probably would be a good thing to use when CPUTYPE is not
> specified for i386 and amd64 now.

Er, isn't -mtune=generic the default in gcc-4.2?  I once fought with
gcc-4.2 to produce kernels with similar size and compile time to ones
produced by gcc-3 (impossible for the runtime since gcc got another
40% slower and kernel source size and complications expanded another
40% even when the object size didn't bloat much).  It took -i386
and a couple of other flags like -fno-inline-functions-called-once
(the latter is also needed to unbreak debugging with ddb and profiling).
The flags had very little difference on runtime efficiency, partly because
I ran the kernels mainly on Athlons which run old i386-optimized code
amazingly well but gain on benefits from i686 optimizations.  Optimizing
Athlon kernels for Athlons also makes little difference but I usually do
it.

Bruce


More information about the svn-src-all mailing list