En fait, j'ai 2 questions:Comment tester si votre support Linux SSE2
- Est-SSE2 un problème de compatibilité CPU ou problème compilateur?
- Comment vérifier si votre CPU ou le support du compilateur SSE2?
J'utilise la version GCC:
gcc (GCC) 4.5.1
Quand j'ai essayé de compiler un code, il me donne cette erreur:
$ gcc -O3 -msse2 -fno-strict-aliasing -DHAVE_SSE2=1 -DMEXP=19937 -o test-sse2-M19937 test.c
cc1: error: unrecognized command line option "-msse2"
Et cpuinfo
a montré ceci:
processor : 0
vendor : GenuineIntel
arch : IA-64
family : 32
model : 1
model name : Dual-Core Intel(R) Itanium(R) Processor 9140M
revision : 1
archrev : 0
features : branchlong, 16-byte atomic ops
cpu number : 0
cpu regs : 4
cpu MHz : 1669.000503
itc MHz : 416.875000
BogoMIPS : 3325.95
siblings : 2
physical id: 0
core id : 0
thread id : 0
Vous utilisez un GCC qui cible IA64 par défaut. Le jeu d'instructions IA64 est radicalement différent du jeu d'instructions x86. Si vous voulez compiler pour x86 vous devez essentiellement compiler votre binaire. – thkala
Vous disposez également d'un processeur Itanium2, qui ne prend pas en charge le jeu d'instructions x86 en mode natif. Même si vous compilez votre binaire pour x86, le tester sur ce système sera difficile, voire impossible. – thkala
Quelle distribution Linux utilisez-vous d'ailleurs? – thkala