i686 build of Fedora Core

Alan Cox alan at redhat.com
Wed Jul 28 20:01:36 UTC 2004


On Wed, Jul 28, 2004 at 09:50:11PM +0200, Angelo wrote:
> Sure, but what can do optimization without using the *hardcoded* cpu
> instructions inserted in the architecture ?

90% of the optimisation work is scheduling instructions - picking which one
to use and how to lay them out. The actual instructions added by 486 and
later are not much use. Essentially it adds

	bswap		- 	which nothing uses except kernel net code
	cmov		- 	which is now slower than avoiding it

and a collection of locked operations that are great for threading and
are a big reason glibc has a i686 version since it contains all the pthreads
stuff.

The kind of things that do matter are the choice of instructions - the
compiler knows the relative performance of things like addl $1, %eax and
incl %eax. It also knows how far apart to move instructions using the same
register to avoid stalling the processor. This is where all the benefits come
from and this is the 686 optimisation we turn on to get the best intel
results (AMD re-orders so much that it doesnt seem to matter what its fed)





More information about the fedora-devel-list mailing list