我正在寻找GCC选项(如果存在)来自动优化我的代码,用于现代英特尔架构,如AVX或更高版本。
据我所知,GCC有-march=core-avx2
编译选项,但它生成的代码无法在以前的架构上运行。
据我所知,英特尔编译器具有-axAVX
(在-xarch之前注释字母'a')编译选项,该选项可在AVX进行特殊优化的位置生成函数版本控制。
这允许编译的二进制文件更快地在现代架构上工作(具有AVX扩展)并保持与先前架构的兼容性。
能否请您推荐GCC编译器选项与英特尔编译器-axAVX
类似?
我看到了__attribute__(target_clones ...)
的解决方案,但由于需要进行大量代码更改,因此无法接受。
操作系统:Linux
编译器:gcc版本4.4.7 20120313(Red Hat 4.4.7-17)(GCC)