Question

J'utilise le processeur Intel Core2Duo E4500. Il est censé avoir SSE3, installations SSSE3. Mais si je tente de les utiliser dans les programmes, il montre l'erreur suivante « instruction SSE3 pas encore défini activé »

Toutes les idées?

Était-ce utile?

La solution

Utilisez CPU-Z pour vérifier les jeux d'instructions disponibles.

Si vous utilisez Visual Studio, il y a une option dans C/C++ -> Code Generation -> Enable Enhanced Instruction Set.

Voici comment activer dans gcc .

À partir du lien ci-dessus:

-msse3
-mssse3

Autres conseils

Sur Linux, un regard sur le champ flags de la sortie de cat /proc/cpuinfo

Essayez d'ajouter cette commande gcc options de ligne:

-march=core2 -msse3

Et est sans doute aussi une bonne idée d'activer les optimisations sse pour opérations à virgule flottante:

-mfpmath=sse

Si vous compilez sur la même machine où vous exécuteront votre code, avec toute récente gcc, vous devriez être en mesure d'utiliser -march=native pour profiter de toutes les fonctionnalités de votre CPU. Il faut vous dire lors de la compilation puis, si vous utilisez des instructions non pris en charge dans votre asm.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top