[speex-dev] SIMD interest

Ian Ollmann iano at cco.caltech.edu
Sat Jan 17 14:29:48 PST 2004



On MacOS, the preferred way to detect AltiVec is to query the OS. The OS
itself does a runtime detection of the hardware capabilities. If it was
staticly defined at compile time, someone could just compile the OS on one
machine and write the OS onto a hard drive, move the drive to another
machine, try to boot off it and crash.

There are a couple of different ways to do this on MacOS. These are
described here:

        http://developer.apple.com/hardware/ve/g3_compatibility.html

On Intel, there is a instruction you can use to find out what version of
the CPU you have and by extension what level of vector support it
provides. One problem is that this instruction isn't on every processor
you are likely to run across, so you still have to do the try/catch method
to determine if that instruction is available. Intel has written some code
that does this into libpr0n, which is the native image library for
Mozilla. You can take a peak at that if you like. They also discuss it in
their software optimization manuals.

Ian

---------------------------------------------------
   Ian Ollmann, Ph.D.       iano at cco.caltech.edu
---------------------------------------------------

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Speex-dev mailing list