0

コマンド ライン オプション (または) を使用したMinGWへの-march=corei7-avx -mtune=corei7-avxまたは-march=corei7 -mtune=corei7 -mavxコマンド ライン オプションは、数学ルーチンにAVX命令を使用できるようにしますか? from hereは機能しないことに注意してください( MinGWの最近のビルドでは「認識されないオプション」です)。-mfpmath=sse-mfpmath=both--with-fpmath=avx

4

1 に答える 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 に答える