Not by hand, but the FFT I wrote for the spectral analyzer is compiled with -ffast-math and gcc vectorizes it (verified with objdump). Same thing with the functions that change the filter parameters.
Thanks. I actually found your repo before seeing this post and sent you an email. Definitely going to port it back to C and merge it in. Thanks so much for this. Hand vectorizing this was on my TODO.
I can't link with fftw3 since it's GPL. The other libraries that were permissive licensed had confusing APIs and the output binaries were almost as large as my entire project. CPU usage is high but because of one poorly designed part of the GUI (eqhover.cpp)
Why not license your software under the GPL? For end-user applications like these, there's no reason software shouldn't be GPL, and if fact it would be better for you since it prevents companies from exploiting your work that you intended to serve the greater good for purposes of their own profit.
Automatic vectorization is extremely limited, in all compilers.
Check this out, feel free to merge if it works in reality not just in the test: https://github.com/Const-me/prettyeq/tree/master