:On Sat, 8 Apr 2000, Alexey N. Dokuchaev wrote:
:
:> AFAIK, Linux Mandrake has it's kernel and userland highly optimized for
:> Pentium architecture. However, they have additional gcc optimization
:> flags turned on by default, including -O3 and -mfast_math.
:
:Can you say "gimmick"? :-) gcc often produces demonstrably broken code for
:optimisation levels higher than -O.
:
:Probably the only useful and safe option apart from -O is the
:-march=pentium/pentiumpro/pentiumii/etc option for using
:processor-specific opcodes and instruction scheduling.
:Kris
I use -Os for everything. I wouldn't bother with anything else. Someone
ran a bunch of benchmarks with various gcc/egcs options a while back
and, frankly, the top half dozen combinations were so close to each
other performance-wise that it just didn't matter. -Os was in that
group, but also produced significantly smaller binaries.
I wouldn't touch the -march stuff at all, nor would I use -O3 (which
tries to inline standard static functions verses -O2) - that's useless
on IA32 because call/returns are very fast (I had an argument with John
Dyson about call/return overhead verses an L1 cache miss and
we ran a bunch of timings. I lost the argument :-) call/return won the
race handily).
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message