Hi Tim, hi all, i have been having some troubles compiling devel_0_38 with the new SIMD extensions. Now that it works for OSX it doesn't work for MSVC. It also doesn't work if compiled with DONTUSESIMD. It seems that it only works very well with gcc under linux and SIMD enabled. Ok, in principle it would be easy to just throw in some function prototypes etc., but i think that won't be as elegant as it should be. Originally, when i introduced the SIMD code into PD the idea was that there is this central m_simd.h file, where depending on some compilation parameters either m_simd_def.h (no SIMD support) or m_simd_*.h (platform-dependant files) are included. All the necessary prototypes for SIMD functions should also be in these m_simd_* headers, not in the PD files using them and the platform-dependant SIMD implementation files should be symmetrical so that it's easy to maintain cross-platformity without having to test for all platforms all the time. Now, trying to fix things, it seems that i have lost orientation where to search for function declarations and implementations, because i miss the symmetry between the several implementations. It seems to have gone lost mostly because there are new functions that don't fit very well into the scheme. Tim, i think it's easy for you to re-introduce some order, and maybe also some lines of associated documentation, so that others can also find things if necessary.
best greetings, Thomas
hi thomas, hi all,
first of all, sorry for the inconvenience ... only coded and tested on linux for now ...
after messing with the simd stuff for a while now, i'm sure, i have to do a big cleanup in the next few days ... also, since we are sure to have aligned signals in devel, we don't need the test for alignment in the _dsp functions any more ...
also, i'll have to think about a good api for providing simd functions to externals developers ... not sure about a good way, yet ... maybe just include m_simd.h in m_pd.h ...
cheers ... tim