2011-03-07 5 views
2

오늘 sse 유형 __m128d의 배열을 초기화하려고했습니다. 불행히도 그것은 작동하지 않았다 - 왜? 일반적으로 sse 유형의 배열을 만드는 것은 불가능합니다 (레지스터 유형이므로?). 다음 코드는 루프에서 할당시 segfaults.sse 유형의 배열 : 분할 오류

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

감사 + 붐

답변

4

당신은 사용해야합니다 _mm_malloc() 또는 _aligned_malloc(), 컴파일러에 원하는 함수 이름을 무엇에 따라 달라집니다. __m128 [di]는 새로운 것과 거의 항상 나쁜 모조입니다.

+0

+1 mojo의 경우 ... – Mehrdad

+0

정답은 +1입니다. mojo가 아닙니다. –

+0

예, 감사합니다! 위대한 작품 – Boom