It's a shame that SIMD is still a dark art. I've looked at writing a few simple algorithms with it but have to do it in my own time as it'll be difficult to justify it with my employer. I do know that gcc is generally terrible at auto-vectorising code, clang is much better but far from perfect. Using intrinsics directly will just lead to code that's unmaintainable by others not versed in the dark art. Even wrappers o…
Suggest you look at the Julia Language, a high-level but still capable of C-like speed.
It has built in support for SIMD (and GPU) processing.
Julia is designed to support Scientific Computing, with a growing library spanning different domains.