I want to know if there has been/is any development on Mono.SIMD (or SIMD-support in general inside Mono) ever since it came out 5(!) years ago. I personally think this was a great step in improving speed for c#. However, I've used it for some time now and I'm feeling that Mono.SIMD is falling behind, as lots of functions are missing.
Some of the problems i'm facing include:
- The lack of a dot product, which can be implemented in 1 operation ever since SSE4.1 (which came out in 2006 and is now supported on 70% of the computers), while it takes 3 operations inside Mono.SIMD. In addition to this, the programmer has to write a function for every version of SSE, a job the JIT should do (since it is created specifically to let the programmer stop worrying about CPU-versions).
- No possibility of adding/multiplying Vector4f and Vector4i (or any other vectors that are different).
- No proper casting of vectors (the bits don't seem change at all, so the results are very strange and almost entirely useless).
- Lots of other function which are not included, such as rounding.
So, does anyone know if something is happening with Mono.SIMD or SIMD-support in general(and if so, what)? Or, alternatively, does anyone know a good solution for any of the problems mentioned?