Package with x86 vector instruction support
Adam Jackson
ajax at redhat.com
Wed Apr 20 21:32:43 UTC 2011
On 4/20/11 1:59 PM, Jerry James wrote:
> I'm packaging a library that does some heavy mathematical
> computations. The build system tries to cleverly determine whether an
> Intel CPU with vector instructions is being used. Until I can
> convince upstream to do this at runtime, I'll need to build the
> package (a library) for the lowest common denominator. The package
> checks for MMX, SSE, SSE2, SSE3, and SSSE3. For i686, can I assume
> MMX? SSE?
The least capable processor we've gone out of our way to fix things for
is the AMD Geode GX, which has MMX and 3DNow, but is also slightly less
than a proper Pentium Pro in that it doesn't have nopl or cmov.
However, rpm sets --march=i686, which implies only Pentium Pro and does
not imply MMX or anything newer. Not that I know of anyone who's tried
running Fedora on a bare i686 in recent memory.
> I believe I can also build an SSE2 version of the library
> and drop it into /usr/lib/sse2. How about for x86_64? Can I assume
> SSE2 is available? (I thought I could, but I see that /usr/lib64/sse2
> exists on my machine, so now I'm uncertain.) I don't see a
> /usr/lib64/sse3 or /usr/lib64/ssse3, so I just have to forget those,
> right?
All AMD64 and compatible chips support SSE and SSE2, correct. I'm
reasonably sure that path is simply for symmetry with i686 in case some
application was relying on it.
- ajax
More information about the devel
mailing list