In the case of Rust, the toolchains are powered by LLVM and/or GCC for code generation; so the targets should be available for just about all platforms. This works even when targeting MSVC.
In the case of those building with Visual C++, templates should target Clang/LLVM; which unlocks the ability to target microarchitecture levels (and currently seem to generate better codegen anyway). Lastly, for those strictly requiring MSVC for whichever reason, we can approximate with the /arch flags. This should work because the /arch flags represent a subset of the individual microArch levels.
The current documentation, for example https://reloaded-project.github.io/Reloaded-III/Loader/Backends/Native/ segregates various CPU features by the inclusion of direct instruction set extensions.
A more optimal approach to this would be instead grouping by Microarchitecture Levels.
In the case of Rust, the toolchains are powered by LLVM and/or GCC for code generation; so the targets should be available for just about all platforms. This works even when targeting MSVC.
In the case of those building with Visual C++, templates should target Clang/LLVM; which unlocks the ability to target microarchitecture levels (and currently seem to generate better codegen anyway). Lastly, for those strictly requiring MSVC for whichever reason, we can approximate with the /arch flags. This should work because the
/arch
flags represent a subset of the individual microArch levels.