Hi,
Quoting guenter geiger geiger@xdv.org:
- SIMD functions for Windows (added by Thomas)
I think the SIMD functions are a great thing, and eventually it would be good to have these on all architectures. In this case it would be nice to have the assembler blocks in macros, and eventually in a different file (might be a .h as well).
Where are these SIMD (MMX? SSE? SSE2?) functions in the CVS? I just did a checkout of the maiin branch and don't see where they are. I'd like to do some Altivec for pd at some point (GEM, LAME are ahead of it on the list), and want to see the x86 code.
the SIMD (SSE) functions are only in the devel branch of the CVS. Some major functions dealing with copying, setting, adding, multiplying data have been adapted. Please also note that for meaningful usage of SIMD the signal vectors have to be aligned (which is also taken care of in the devel version). In flext exists a detector function for various SIMD capabilities (in flsimd.cpp) too which i haven't implemented in PD yet (maybe flext should be implemented into PD ;-) )
In principle i also think that external assembler blocks would be better but i wasn't sure how to do it right since i'm not too familiar with the GNU assembler.
good gain, Thomas