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=RESOLVED&resolution=FIXED&target_milestone=4.4.4

更新到较新版本的 GCC。

于 2012-11-07T10:06:36.957 回答