On Sat, 2008-04-19 at 00:44 +0300, Jussi Laako wrote:
Jens M Andreasen wrote:
engine.o.586 # plain C, runs everywhere but
probably pretty terrible
engine.o.sse # vectorized but has some kludges
engine.o.sse2 # vectorized and no kludges, works for AMD, recomended!
The pre-install script then looks in /proc/cpuinfo and decides which
engine to rename to engine.o, links the objects in a jiffy, strips the
binary and continues installation.
I believe the implementation jack has, to dynamically select suitable
versions of some functions at runtime is nicer... ;)
Which is also what Ardour does. This allows distribution packagers to
package binaries which will work on basically any x86 system, but which
use the extremely important optimizations when SSE is available at
runtime.
(just nitpicking: we don't read /proc/cpuinfo, but access the CPU flags
via asm as in the x86 specification)
Sampo