1
當編譯爲支持AVX
擴展的處理器(比如說-m64 -march=corei7-avx -mtune=corei7-avx
是適用的)時,是否有意義同時使用-mfpmath=both -mavx
鍵?是不是它導致編譯器同時使用三組指令(i87
,SSE
,AVX
)?或者只是i87
的標量(從某種意義上)而AVX
僅適用於矢量?gcc選項使用i87,AVX同時,但也不是SSE
當編譯爲支持AVX
擴展的處理器(比如說-m64 -march=corei7-avx -mtune=corei7-avx
是適用的)時,是否有意義同時使用-mfpmath=both -mavx
鍵?是不是它導致編譯器同時使用三組指令(i87
,SSE
,AVX
)?或者只是i87
的標量(從某種意義上)而AVX
僅適用於矢量?gcc選項使用i87,AVX同時,但也不是SSE
AVX寄存器只是SSE寄存器的擴展。您不能混用SSE和AVX指令來增加可用寄存器的數量(您仍然可以混合使用x87和AVX指令,我認爲這是-mfpmath=both
在這種情況下的作用)。
例如參見this頁面上的「混合AVX和SSE」的討論。