2 comments
For function-multiversioning, the intrinsic headers in both gcc and clang have logic to take care of selecting targets. You also don't need to do dispatch manually when writing manual optimizations--the same function name with different targets is supported and dispatches automatically.
While using C extensions, and yes Microslop rather have you using C++.<p><a href="https://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/" rel="nofollow">https://herbsutter.com/2012/05/03/reader-qa-what-about-vc-an...</a><p>Even if in recent years after tbat post they added support for C11 and C17, minus some stuff like aligned mallocs.