2017-03-26 16 views
-1

いくつかのプロジェクトでSIMD命令を使用しようとしていますが、_mm_set1_epi32(x)コマンドを使用できない点を除いてすべて正常に動作しています(_mm_set_epi32(x、x、 x)とそれは正常に動作しますが、コマンドが使用されている別のソースからコードを使用したい場合は、「メモリアクセスエラー」というメッセージが表示されます(エラーの正しい英語翻訳がない、私は)それがSpeicherzugriffsfehlerここで、ドイツ語からそれを翻訳してみました_mm_set1_epi32のランタイムエラー

いくつかの追加情報:

  • は私がコマンドを使用する以外何もしない空のプロジェクトでエラーが出ます
  • Iなし、他のコマンドコード例について

と、この問題は、ここに投稿するには何かがこの除き、実際にはありませんしまった。

int main() { 
    __m128i test = _mm_set1_epi32(1); 
} 

エラーは、実行時にコンパイルするには問題はありません。

+1

[MCVE]、これはコンパイラのバージョンをどのようなオプションを備えた、など –

+0

を私のメイクファイルに続いて: CXX = clang ++ CXXFLAGS = -Wall -v -g -std = C++ 11 -Wall -pedantic -msse -mmmx -msse2 -msse4.1 -v -mavx2 – uv239

+0

まだ[mcve]はありませんか? –

答えて

0

私はこの問題を解決しました。私が間違ったところでコンパイルするのに使用したフラグ、コードを入れなかった理由は、コマンドを実行しようとする行が1行になり、main関数にインクルードが含まれます。

ので液に、私が今使用します。

-g -std=c++11 -Wall -pedantic -msse4.1 -v 

と私は使用する前に:

私が使用
-g -std=c++11 -Wall -pedantic -msse -mmmx -msse2 -msse4.1 -v -mavx2