0

带有命令行选项(甚至带有)的MinGW-march=corei7-avx -mtune=corei7-avx的or-march=corei7 -mtune=corei7 -mavx命令行选项是否可以将AVX指令用于数学例程?请注意,从这里开始不起作用(对于MinGW上的最新版本,这是“无法识别的选项” )。-mfpmath=sse-mfpmath=both--with-fpmath=avx

4

1 回答 1

3

AVX 由-march=corei7-avx或启用-mavx。该-mtune选项对于启用 AVX 既不是必要的,也不是充分的。

A-mfpmath=avx没有任何意义,因为使用此开关可以控制标量浮点代码的生成。如果只使用 4 浮点向量寄存器的一个浮点数或仅使用 8 浮点向量寄存器的一个元素,则没有区别。如果march=avx启用,标量浮点指令无论如何都会使用 VEX 编码,这将节省一些 mov 指令。

请注意,在 x86_64 上-mfpmath默认为 SSE,因此如果您不完全了解自己在做什么,通常不需要使用此开关,甚至是有害的。

于 2012-12-06T09:43:33.917 回答