Date: Sat, 8 Apr 2000 14:34:43 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Kris Kennaway <kris@FreeBSD.ORG> Cc: "Alexey N. Dokuchaev" <danfe@inet.ssc.nsu.ru>, freebsd-hackers@FreeBSD.ORG Subject: Re: What are the best gcc optimization options for Pentium 200 MMX Message-ID: <200004082134.OAA12743@apollo.backplane.com> References: <Pine.BSF.4.21.0004081416110.70551-100000@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
: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
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004082134.OAA12743>
