如何使用AVX和FMA指令禁用自动矢量化?我仍然希望编译器自动使用SSE和SSE2,而不是FMA和AVX.
我的代码使用AVX检查其可用性,但GCC在自动矢量化时不会这样做.因此,如果我-mfma在Haswell之前编译并在任何CPU上运行代码,我会得到SIGILL.如何解决这个问题?
-mfma
SIGILL
c++ gcc vectorization avx fma
avx ×1
c++ ×1
fma ×1
gcc ×1
vectorization ×1