SSE Chargement INTS dans __M128
Question
Quel est l'intrinsèque du GCC pour le chargement 4 ints
dans __m128
et 8 int dans __m256
(aligné / non aligné)? Qu'en est-il de unsigned ints
?
La solution
En utilisant les intrraliques SSE d'Intel, celles que vous recherchez sont:
_mm_load_si128()
_mm_loadu_si128()
_mm256_load_si256()
_mm256_loadu_si256()
Documentation:
- https://software.intel.com/sites/landingpage/intrinsicsguide/#text=_mm_load_si128
- https://software.intel.com/sites/landingpage/intrinsicsguide/#text=_mm256_load_si256
Il n'y a pas de distinction entre signé ou non signé. Vous devrez jeter le pointeur pour __m128i*
ou __m256i*
.
Notez qu'il s'agit d'intrinsèques SSE d'Intel et fonctionnera dans GCC, Clang, MSVC et ICC.
L'intrinssique du GCC ne travaille que dans le gcc afaik de.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow