Code C équivalent pour les fonctions de type _mm_

Quel est le code C simple et équivalent pour surmonter les __ fonctions telles que _mm_store_ps , _mm_add_ps , etc. Veuillez spécifier la fonction de n’importe qui par le biais d’un exemple avec le code C équivalent.

Pourquoi ces fonctions sont-elles utilisées?

D’après vos précédentes questions similaires, il semblerait que vous essayiez de résoudre le mauvais problème. Vous avez un code SSE existant pour la détection des visages qui se bloque car vous transmettez des données mal alignées à des routines SSE nécessitant des données alignées sur 16 octets. Dans des questions précédentes, des personnes vous ont expliqué comment corriger ce désalignement (utilisez _mm_malloc sous Windows ou memalign / posix_memalign sous Linux), mais vous semblez ignorer ce conseil et vous pensez à tort que vous devez réécrire tout le code SSE. . Prenez le temps de comprendre ce qu’est le SSE, comment fonctionne votre code SSE, pourquoi il faut un alignement sur 16 octets et comment y parvenir. Votre code SSE existant devrait fonctionner correctement sous Windows ou Linux tant que vous résolvez le problème de désalignement des données, ce qui devrait être une tâche relativement simple une fois que vous avez compris ce que vous faites.

MSDN affiche le code pseudo pour la première fonction,

 void _mm_store_ps(float *p, __m128 a ); 

Résultats:

 p[0] := a0 p[1] := a1 p[2] := a2 p[3] := a3 

http://msdn.microsoft.com/en-us/library/s3h4ay6y(v=vs.80).aspx