Got it. You can see the work the dev who tried before did in this string of github issues if you want.
As to the prefix to all the _mm yeah the way I would do that is in surge (the submodules of surge-rack) add a directory called “src/arm_support” or some such and then add an “arm_intrinsics” and at the same time add the simde library as a submodule in libs. Then that file looks like
#define _mm_ps_zero simde_mm_ps_zero
I presume. Then in the appropriate place (probably globals.h where we include xmmtrim) do a #ifdef, add the #ifdef to the cmake file for headless and go.
Headless is a standalone exe which is the smallest code path to make any sound with surge indeed. I did it so I could run valgrind and stuff without a DAW; but then the headless code became (most of) the code path I used for surge-rack. (There are a few other rack differences; on windows we compile with visual studio for the VST and gcc for rack etc… and so the surge code has TARGET_RACK).
But anyway if you are interested in having a change like that be part of the surge code base so you don’t always have to merge it in, I would be happy to have that fired in as a PR and work with you to get it merged and so on.
And then perhaps I can finally build that physical surge keyboard with an embedded PI!