Frage

Ich bin mit Intel Core2Duo E4500 Prozessor. Es wird angenommen, SSE3 haben, SSSE3 Einrichtungen. Aber wenn ich versuche, sie in Programmen zu verwenden, es zeigt die folgende Fehlermeldung „SSE3 Befehlssatz nicht aktiviert“

Irgendwelche Ideen?

War es hilfreich?

Lösung

Verwenden Sie CPU-Z verfügbaren Befehlssätze zu überprüfen.

Wenn Sie Visual Studio verwenden, gibt es eine Option in C/C++ -> Code Generation -> Enable Enhanced Instruction Set.

Hier ist, wie es zu ermöglichen, in gcc .

Aus dem obigen Link:

-msse3
-mssse3

Andere Tipps

Unter Linux hat einen Blick auf dem flags Bereich des Ausgangs des cat /proc/cpuinfo

Versuchen Sie, diese gcc Befehlszeilenoptionen hinzufügen:

-march=core2 -msse3

Und wahrscheinlich ist auch eine gute Idee, auf sse Optimierungen drehen Punktoperationen für floating:

-mfpmath=sse

Wenn Sie auf der gleichen Maschine kompilieren, wo Sie Ihren Code ausgeführt wird, mit jedem letzten gcc sollten Sie in der Lage sein -march=native nutzen die Vorteile aller CPU-Funktionen zu nutzen. Es sollte Ihnen während der Kompilierung sagt dann, wenn Sie nicht unterstützte Anweisungen in Ihrem asm verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top