2012-12-06 72 views
0

是否-march=corei7-avx -mtune=corei7-avx-march=corei7 -mtune=corei7 -mavx命令行選項來MinGW的-mfpmath=sse命令行選項(或甚至-mfpmath=both)允許使用爲數學例程AVX指令的?請注意,來自here--with-fpmath=avx不起作用(對於MinGW最近的版本,這是「無法識別的選項」)。mfpmath選項MinGW的(甚至GCC)

回答

3

AVX由-march=corei7-avx-mavx啓用。對於啓用AVX,-mtune選項既不必要也不足夠。

A -mfpmath=avx沒有任何意義,因爲使用此開關可以控制標量浮點代碼的生成。如果僅使用4浮點向量寄存器的一個浮點或8浮點向量寄存器中的一個元素,則沒有區別。如果啓用了march=avx,則標量浮點指令將使用VEX編碼,這將保存幾條mov指令。

請注意,在x86_64上-mfpmath默認爲SSE,因此如果您不完全知道自己在做什麼,則使用此開關通常不是必需的,甚至是有害的。