sse类型数组:分段错误

时间:2011-03-07 09:11:01

标签: c++ sse sse2

今天我尝试初始化一个sse类型__m128d的数组。不幸的是它不起作用 - 为什么?通常不可能创建sse类型的数组(因为它们是寄存器类型?)。以下代码在循环中的赋值处进行了段落。

__m128d* _buffers = new __m128d[32];
for(int i=0;i<32;i++)
    _buffers[i] = _mm_setzero_pd();

此致  +热潮

1 个答案:

答案 0 :(得分:4)

您必须使用_mm_malloc()或_aligned_malloc(),具体取决于编译器上的首选函数名称。 __m128 [di]与new结合使用几乎总是坏事。