David Schultz wrote:
Thus spake Marcin Dalecki <[EMAIL PROTECTED]>:

David Schultz wrote:

Strangely, gcc in FreeBSD 5.0 actually generates *slower* code
when compiling for more recent architectures than when compiling
for a 386.  I don't know whether that is a bug in gcc or whether
gcc is using some fancy feature like SSE that the kernel handles
poorly on context switches.  I think there was some discussion on
the lists about it earlier.
The reason is that the optimization done by GCC are ill balanced.
All the scheduling of instractions and what a not - which would be
fine on a micro scope level is causing so much higher pressure
on the CPUs caches that the code is actually loosing.

Interesting.  So they redid the code generation for gcc 3 and
their new tricks backfired.  But at least they fixed the
completely braindead things gcc 2.9x was doing with alignment,
floating point, and combinations thereof, and they got the
compiler to do more reasonable things on ia64.  Any idea when they
will have fixed the i386 anti-optimizations?
Well one of the aims seems currently to fix the most hideous design
idiocy inside GCC. Namely: optimizing on the code generation level only
instead of the parse tree. However at the current speed of things they will
maybe only in about 10 years there. It would make much more sense
to support efforts like www.tendra.org or www.openwatcom.org instead
of giving any kind of hope to GCC.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to