Problem with _mm_load_si128

Problem with _mm_load_si128

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?


4 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

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?

This works currently with 13.0.1. Thanks!

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

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

Laisser un commentaire

Veuillez ouvrir une session pour ajouter un commentaire. Pas encore membre ? Rejoignez-nous dès aujourd’hui