[GEM-dev] nightly builds using Gem build system

IOhannes m zmölnig zmoelnig at iem.at
Sat Jul 23 16:09:24 CEST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/21/2011 10:29 PM, Hans-Christoph Steiner wrote:

>> however, i don't understand your "tweaked configure flags for Gem on
>> MinGW" commit that does:
>> <snip>
>> +        --disable-mmx \
>> +        --enable-sse2 \
>> </snip>
>>
>> why would you want to disable "MMX" if you are enabling "SSE2"?
> 
> 
> I was under the impression that SSE2 replaces MMX, and that if you're
> using SSE2, you should not use MMX at all.  But I could be wrong.  If
> anyone knows better than me, please adjust accordingly.

SSE2 is just an aditional instruction set that targets the same problem:
SIMD;

virtually any CPU that supports SSE2 will _also_ support MMX (i don't
know/think whether this is required though)

they are not mutually exclusive at all.
e.g. Gem has a number of SIMD optimized functions that use MMX, and a
few that are optimized using SSE2;

which means that enabling SSE2 and disabling MMX would in generally
result in poorer performance.

luckily things don't work that way, because as soon as you turn on SSE2
optimization, you are also turrning on MMX optimization, so in this
specific case you still get both (the only thing "--disable-mmx" flag
does here, is to prevent the "-mmmx" flag to  be added to the CFLAGS;
the "-msse2" flag (added by --enable-sse2) will automatically turn on
MMX as well)

so adding "--disable-mmx" does no real harm, but adds confusion, as it
pretends to turn a feature off, which in reality is still enabled.

fgmasdr
IOhannes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk4q1hQACgkQkX2Xpv6ydvTwqQCgmoByzB5JcttCKz4LkI3E6kBn
n6gAn10VLCHPRddNpA6h76H02pTRF9dc
=3vS2
-----END PGP SIGNATURE-----



More information about the GEM-dev mailing list