Problem with _mm_load_si128

Problem with _mm_load_si128

imagem de pranith

Hi, I am having trouble when I use the _mm_load_si128 intrinsic on Intel 3770k processor.

__m128i packed_image128 = _mm_load_si128((__m128i*)packed_image);

Is causing a seg fault on this processor with both icpc 13.0 and g++ 4.6.3. I made sure that packed_image is 16 byte aligned.

My flags are -march=native -O0 -g -msse4.2. This works fine if compiled using -O2.

Any ideas on how I can proceed on this?

Thanks.

4 posts / 0 new
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.
imagem de Sergey Kostrov

Hi everybody,

>>...
>>My flags are -march=native -O0 -g -msse4.2. This works fine if compiled using -O2.
>>
>>Any ideas on how I can proceed on this?
>>...

I tried to reproduce it on a Windows platform without success ( sorry, I don't have a Linux ) and I think the thread has to be moved to Intel C++ compiler forum. My test-case was as follows:

...
_RTUNALIGN RTbyte packed_imageU[128] = { 0x1, 0x1, 0x1, 0x1 };
__m128i packed_image128U = _mm_loadu_si128( ( __m128i * )packed_imageU ); // No Problems

_RTALIGN16 RTbyte packed_imageA[128] = { 0x2, 0x2, 0x2, 0x2 };
__m128i packed_image128A = _mm_load_si128( ( __m128i * )packed_imageA ); // No Problems
...

[ To Pranith ] How did you declare 'packed_image' variable?

imagem de pranith

This works currently with 13.0.1. Thanks!

imagem de Sergey Kostrov

>>...This works currently with 13.0.1...

What is it fixed with the latest Intel C++ compiler update? Anyway, thank you for the update.

Faça login para deixar um comentário.