[instrinsics] Visual C++ 2010 problème d'execution
Bonsoir
j'ai entendu parlé de cette magie d'exécuté des opérations mathématique simultanément par un seul thread hier. Aujourd'hui, je me suis donc mis à instrinsics. J'ai pu compilé sous mac os (64 bits) avec Xcode et gcc, et cela fonctionnait parfaitement. Mais l'ordi le plus puissant que je dispose tourne sous windows 7 32bit sur un intel i7 930. Dans visual c++ expresse 2010, la librairie de instrinsics est dans les Includes, du moin ... Le fichier xmmintrin.h existe.
Je compile donc ... aucune érreur !
Seulement, l'execution plante.
Voici donc le code compilé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#include "stdio.h"
#include <xmmintrin.h>
void add (const float *a, const float *b, float * c)
{
__m128 t0, t1;
t0 = _mm_load_ps (a);
t1 = _mm_load_ps (b);
t0 = _mm_add_ps (t0, t1);
_mm_store_ps (c, t0);
}
int main (int argc, char * argv[])
{
const float a[] = { 2.0f,2.0f,2.0f ,2.0f };
const float b[] = { 1.0f,2.0f,3.0f ,4.0f };
float c[4] ;
add (a, b, c);
for(int i = 0; i < 4; i++)
printf("Resultat %d = %.2f\n", i, c[i]);
return 0;
} |
Pouvez vous m'aider à ce que cela fonctionne ?
Merci de votre lecture ainsi que de vos réponse éventuel.