SIMD integer store

1.3k Views Asked by At

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 ;)

1

There are 1 best solutions below

2
On

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.