1

gcc の-O3または-O2 オプションを使用すると、非常に奇妙な動作が発生することがわかりました。

プログラムがデバッグ モード ( -g ) で実行されている場合は問題ありません。しかし、 -O3または-O2をオンにすると、セグメンテーション違反が発生します。

内部でSSE2マクロを使用して関数を実行すると、セグメンテーションが発生します。お気に入り

_m128i polynomial = _mm_set1_epi8(0x1d)

これはコードの一部にすぎません。

16 バイトのアドレス アラインメントの状況は既に解消されていると思います。-g モードと-O2または-O3モードの動作が異なるように配線されています。

実際のところ、このバグが SSE2 に関連しているかどうかはわかりません。

gcc 4.4.3を使用しています。

同じ問題に遭遇しましたか?

または、それに対処する方法について何か提案をしてもらえますか?

4

1 に答える 1

2

http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=解決済み&解決=修正済み&target_milestone=4.4.4

GCC の新しいバージョンに更新します。

于 2012-11-07T10:06:36.957 に答える