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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.