gcc の-O3または-O2 オプションを使用すると、非常に奇妙な動作が発生することがわかりました。
プログラムがデバッグ モード ( -g ) で実行されている場合は問題ありません。しかし、 -O3または-O2をオンにすると、セグメンテーション違反が発生します。
内部でSSE2マクロを使用して関数を実行すると、セグメンテーションが発生します。お気に入り
_m128i polynomial = _mm_set1_epi8(0x1d)
これはコードの一部にすぎません。
16 バイトのアドレス アラインメントの状況は既に解消されていると思います。-g モードと-O2または-O3モードの動作が異なるように配線されています。
実際のところ、このバグが SSE2 に関連しているかどうかはわかりません。
gcc 4.4.3を使用しています。
同じ問題に遭遇しましたか?
または、それに対処する方法について何か提案をしてもらえますか?