Zwischenspeichern von Unterstützung für Streaming SIMD-Erweiterungen 2 ganzzahlige Vorgänge
[Diese Dokumentation ist nur eine Vorschau und wird in späteren Versionen ggf. geändert. Blank topics are included as placeholders.]
Microsoft-spezifisch
Eine Erläuterung der Syntax, die in den Codebeispielen in diesem Thema verwendet wird, finden Sie unter Float systeminterne Funktionen mit Streaming SIMD-Erweiterungen.
Systeminterne Funktionen verwenden, __m128SSE2-Anweisungen __m128iund __m128d Datentypen, die nicht von Prozessoren der Itanium-Prozessorfamilie (IPF) unterstützt werden. Es werden keine systeminterne Funktionen SSE2-Anweisungen, die den __m64 Datentyp verwenden, werden nicht auf x64 Prozessoren unterstützt.
Die emmintrin.h-Headerdatei enthält die Deklarationen für die systeminternen Funktionen der Anweisungen SSE2-Anweisungen.
void _mm_stream_si128(__m128i *p, __m128i a)
MOVNTDQ
Speichert die Daten in a auf die Adresse p , ohne den Cache zu verunreinigen. Wenn die Vorlage Cache p Adresse, die die Zeile enthält bereits im Cache vorhanden ist, wird der Cache aktualisiert. Adresse p muss das 16-Byte ausgerichtet sein.
*p := a
void _mm_stream_si32(int *p, int a)
MOVNTI
Speichert die Daten in a auf die Adresse p , ohne den Cache zu verunreinigen. Wenn die Vorlage Cache p Adresse, die die Zeile enthält bereits im Cache vorhanden ist, wird der Cache aktualisiert.
*p := a
void _mm_clflush(void const*p)
CLFLUSH
Die Zeile, die p Cache wird von allen Caches geleert und in der Anwendungsdomäne Kohärenz ungültig.
void _mm_lfence(void)
LFENCE
Stellt sicher, dass jede Ladeanweisung in der Reihenfolge Programm, der Auslastung zaun Statement vorausgeht, bevor alle Ladeanweisung global sichtbar ist, die dem Zaun Programm in der Reihenfolge entspricht.
void _mm_mfence(void)
MFENCE
Stellt sicher, dass jeder Speicherzugriff, der in der Reihenfolge Programm Arbeitsspeicherumgrenzung Statement vorausgeht, bevor alle Speicher Anweisung global sichtbar ist, die dem Zaun Programm in der Reihenfolge entspricht.
void _mm_pause(void)
PAUSE
Die Ausführung der folgenden Anweisung wird eine Implementierung spezifisch dauer verzögert. Die Anweisung ändert nicht den Zustand der Architektur. Dies bietet systeminterne besonders erhebliche Leistungssteigerung.