I am writing a program using SSE instructions to multiply and add integer values. I did the same program with floats but I am missing an instruccion for my integer version.
With floats, after I have finished all my operations, I return de values back to a regular float array doing:
_mm_store_ps(temp4,temp3);
temp4 is a float *, and temp3 a __m128.
The problem is that I cannot find a similar intrinsic for intengers. How should I return the values back to a regular array?
Thanks a lot for your answers ;)
See
_mm_load_si128
,_mm_store_si128
(aligned) and_mm_loadu_si128
_mm_storeu_si128
(unaligned).You might have overlooked these because for some reason the types are different compared to the float intrinsics. These are what lower to the
movdqa
/movdqu
that you want.