使用-march=corei7-avx -mtune=corei7-avx
命令行选项(或甚至使用-march=corei7 -mtune=corei7 -mavx
)的 MinGW 的-mfpmath=sse
或-mfpmath=both
命令行选项是否支持使用数学例程的 AVX 指令?请注意,来自here的--with-fpmath=avx
不起作用(对于 MinGW 上的最近版本,这是“无法识别的选项”)。
答案 0 :(得分:3)
AVX由-march=corei7-avx
或-mavx
启用。 -mtune
选项既不是必需也不足以启用AVX。
-mfpmath=avx
没有任何意义,因为使用此开关可以控制标量浮点代码的生成。如果仅使用4个浮点向量寄存器中的一个浮点数或仅使用8个浮点向量寄存器中的一个元素,则没有区别。如果您启用了march=avx
,则标量浮点指令将使用VEX编码,这将保存一些mov指令。
请注意,在x86_64 -mfpmath
上默认为SSE,因此如果您不确切知道自己在做什么,使用此开关通常不是必需的,甚至是有害的。