Messages in this thread | | | Date | Tue, 10 Nov 2009 21:54:45 +0100 | From | Pavel Machek <> | Subject | Re: i686 quirk for AMD Geode |
| |
Hi!
> Indeed, but there is a difference between [cmpxchg, bswap, cmov, nopl] > on one side and [sse*] on the other : distros are built assuming the > former are always available while they are not always. And the > distro
Well, fix the distros...
> which make the difference have to provide an dedicated build for earlier > systems just for compatibility. SSE*, 3dnow* etc... are only used by a > handful of media players/converters/encoders which are able to detect > themselves what to use and already have the necessary fallbacks because > these instruction sets vary too much between processors and vendors. > > One could argue that cmpxchg/bswap/xadd are supported by 486 and that > implementing them for 386 is almost useless now (though it costs almost > nothing to provide them, I did a few years ago). > > CMOV/NOPL are rarely used, thus have no reason to cause a massive > performance drop, but are frequent enough (at least cmov) for almost
*One* CMOV in the inner loop will make your performance go down 20x.
Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |