Comment faire pour tester si votre Linux Support SSE2

En fait j'ai 2 questions:

  1. Est SSE2 Compatibilité d'un PROCESSEUR question ou le Compilateur problème?
  2. Comment vérifier si votre PROCESSEUR ou de la prise en charge du Compilateur SSE2?

Je suis en utilisant la Version de GCC:

gcc (GCC) 4.5.1

Quand j'ai essayé de compiler un code 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 GCC qui est destiné à IA64 par défaut. Le IA64 jeu d'instructions est radicalement différente de la x86. Si vous voulez compiler pour x86, vous devez essentiellement cross-compiler le binaire.
Vous avez également une Itanium2 processeur, qui n'a pas de support natif pour le jeu d'instructions x86. Même si vous ne le cross-compiler le binaire pour les architectures x86, les tests sur ce système va être difficile, si pas impossible.
Quelle distribution Linux utilisez-vous en chemin ?
Si vous voulais tester le SSE2 version de la Mersenne Twister sur un Itanium. Vous devriez avoir demandé en premier lieu: "Pourquoi je ne peux pas compiler le SSE2 version de MT sur un Itanium?" et vous avez tout de suite eu une réponse utile.

OriginalL'auteur neversaint | 2010-11-17