コマンド ライン オプション (または) を使用したMinGWへの-march=corei7-avx -mtune=corei7-avxまたは-march=corei7 -mtune=corei7 -mavxコマンド ライン オプションは、数学ルーチンにAVX命令を使用できるようにしますか? from hereは機能しないことに注意してください( MinGWの最近のビルドでは「認識されないオプション」です)。-mfpmath=sse-mfpmath=both--with-fpmath=avx
1117 次
1 に答える
3
AVX は、 または のいずれ-march=corei7-avxかによって有効になります-mavx。この-mtuneオプションは、AVX を有効にするために必要でも十分でもありません。
A-mfpmath=avxは、このスイッチを使用してスカラー浮動小数点コードの生成を制御するため、意味がありません。4 float ベクトル レジスタの float を 1 つだけ使用する場合も、8 float ベクトル レジスタの要素を 1 つだけ使用する場合も、違いはありません。有効にした場合march=avx、スカラー浮動小数点命令はとにかく VEX エンコーディングを使用し、いくつかの mov 命令を節約します。
x86_64 ではデ-mfpmathフォルトで SSE になることに注意してください。そのため、何をしているのか正確にわからない場合、このスイッチを使用する必要はなく、有害でさえあることに注意してください。
于 2012-12-06T09:43:33.917 に答える