Yes, I realized that I didn't take that into account. A follow up though: could a executable loader find and "trim" implementations that aren't optimize for the processor it's using, if it's properly marked in the binary?
Something like this is done by gcc & clang:
https://gcc.gnu.org/wiki/FunctionMultiVersioning
https://lwn.net/Articles/691932/
https://llvm.org/devmtg/2014-10/Slides/Christopher-Function%...
You'd tell the compiler "target a machine with <basic instruction set>", so it's not allowed to use advanced features like FMA because it can't assume they're supported. With this library, you'd check at run-time if FMA is supported, and then change functions accordingly.