-----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