Vio*_*ffe 5 c++ gcc vectorization avx fma
如何使用AVX和FMA指令禁用自动矢量化?我仍然希望编译器自动使用SSE和SSE2,而不是FMA和AVX.
我的代码使用AVX检查其可用性,但GCC在自动矢量化时不会这样做.因此,如果我-mfma在Haswell之前编译并在任何CPU上运行代码,我会得到SIGILL.如何解决这个问题?
您要做的是为您要定位的每个指令集编译不同的目标文件.然后创建一个cpu调度程序,它向CPUID请求可用的指令集,然后跳转到该函数的相应版本.
我已经在几个不同的问题和答案中描述了这一点
| 归档时间: |
|
| 查看次数: |
6514 次 |
| 最近记录: |