I just saw that PDP has some MMX assembly (old school ;). Do you think it would be worth turning on, even tho MMX seems to be deprecated? The code is in externals/pdp/system/mmx
Auto-vectorization only got about 5 or 6 loops.
.hc
------------------------------------------------------------------------ ----
I have the audacity to believe that peoples everywhere can have three meals a day for their bodies, education and culture for their minds, and dignity, equality and freedom for their spirits. - Martin Luther King, Jr.
On Oct 29, 2007, at 1:38 PM, IOhannes m zmoelnig wrote:
Well, AFAIK, there is no further development on MMX, while there is with SSE. And it seems that SSE is meant to replace MMX, instead of complement it. Plus if IIRC, MMX has some serious drawbacks to it. It seems to be something like SSE v0 ;)
.hc
------------------------------------------------------------------------ ----
Mistrust authority - promote decentralization. - the hacker ethic
Hans-Christoph Steiner wrote:
Well, AFAIK, there is no further development on MMX, while there is with
there is: it is called SSE
SSE. And it seems that SSE is meant to replace MMX, instead of complement it. Plus if IIRC, MMX has some serious drawbacks to it. It
i don't know of any "drawbacks" of MMX.
seems to be something like SSE v0 ;)
as said above: it is (imho)
still i don not see any "deprecation" in this. afaik, every processor that supports SSE3 (or whatever is current) also supports MMX. i have never read anything like "it seems you are running MMX; please consider upgrading to SSE2" to the like
mfg.asdr IOhannes
On Oct 29, 2007, at 3:10 PM, IOhannes m zmoelnig wrote:
One I know of is that is takes 50 cycles to switch from the FP unit to the MMX unit.
Here's the question:
Do MMX and SSE have different instruction sets? If so, is SSE preferred over MMX?
.hc
------------------------------------------------------------------------ ----
Mistrust authority - promote decentralization. - the hacker ethic
Hans-Christoph Steiner wrote:
Do MMX and SSE have different instruction sets? If so, is SSE preferred over MMX?
yes they have different instruction sets: MMX can only handle integer values, while SSE can only handle floating point values. (only SSE2 added floating point support)
SSE2 is generally preferred over MMX since you can handle even more data with single instructions (and/or other types)
otoh, what do we want to prove with this? i remember well that i had to remove the automatic use of SSE2 instructions in Gem because upset users (the most prominent of them being you) demanded it, since not all hardware supported it at that time. virtually each and every x86 based machine has support for MMX though. there are still many machines around that do not have SSE2 support.
fgmadsr. IOhannes
On Oct 29, 2007, at 3:29 PM, IOhannes m zmoelnig wrote:
I just wanted to know whether it would be useful to enable MMX instructions in a build that is tailored towards SSE2.
I believe I just wanted default builds to not use SSE2 so it could be widely deployed. Hopefully you didn't remove that code (I doubt you did ;). It would be very nice to have full SSE2 builds of Pd-extended.
.ch
------------------------------------------------------------------------ ----
Access to computers should be unlimited and total. - the hacker ethic
Hans-Christoph Steiner wrote:
hmm, if you enable SSE2 you automatically enable MMX.
I believe I just wanted default builds to not use SSE2 so it could be widely deployed. Hopefully you didn't remove that code (I doubt you did
you have to explicitely tell configure that you do want to use SSE2 (as opposed to checking whether the compiler supports it and use it automatically, as is with MMX)
fa.r IOhannes
On 10/29/07, IOhannes m zmoelnig zmoelnig@iem.at wrote:
SSE2 is generally preferred over MMX since you can handle even more data with single instructions (and/or other types)
A big chunk of SSE2 is a direct replacement for MMX as well. The MMX code could serve as a template for the SSE2 replacement. You still have the problem of nearly half a dozen SIMD variants to test for on x86 which is an ass pain.