当-O3打开时SSE中的分段故障

时间:2012-11-07 10:02:06

标签: c++ c performance gcc sse

使用gcc的 -O3 -O2 选项时,我发现了一种非常奇怪的行为。

当我的程序在调试模式( -g )下运行时,它很好;但是当我打开 -O3 -O2 时,它会引发细分问题。

当运行带有 SSE2 宏的函数时,会发生分段;像

_m128i polynomial = _mm_set1_epi8(0x1d)

这只是代码的一部分。

我想我已经消除了16字节地址对齐的情况。它是如此有线,以至于-g模式和 -O2 -O3 模式的行为方式不同。

实际上,我不确定该错误是否与SSE2有关。

我正在使用 gcc 4.4.3

您遇到过同样的问题吗?

或者你能否就如何处理它给我一些建议?

1 个答案:

答案 0 :(得分:2)