[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: i686 ---> i586, i386 ---> i586, x86_64 stays the same



Will Woods (wwoods redhat com) said: 
> Again: the only difference between i586 and i686 is the CMOV family of
> instructions, which are generally *slower* than the i586 version.
> 
> You can read Linus' detailed explanation here:
> http://ondioline.org/mail/cmov-a-bad-idea-on-out-of-order-cpus
> 
> Building for i686 gives *no* real performance benefit[1], but breaks
> support for i586 machines - Via C7-based netbooks, AMD Geode (e.g. the
> OLPC XO-1), and so on.
> 
> -w
> 
> [1] except on in-order CPUs like Atom and the original Pentium

Actually, in some testing I did, the fasted was '-march=i686
-mtune=generic' (which was ~1% faster than '-march=i586 -mtune=generic'),
tested across Core2Duo, Athlon64, and Atom.

Twiddling the instruction scheduling (-mtune) invariably made things
worse, across the board.

Bill


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]