Richtlinien für wenn EMMS verwenden
[Diese Dokumentation ist nur eine Vorschau und wird in späteren Versionen ggf. geändert. Blank topics are included as placeholders.]
Microsoft-spezifisch
Diese Richtlinien helfen Ihnen, zu bestimmen, wann die EMMS-Anweisung verwendet:
Wenn die nächste Anweisung eine Gleitkommaanweisung ist, verwenden Sie _mm_empty nach einer Anweisung MMX (z. B. vor dem diese von Berechnungen auf Gleitkommas, Doubles oder langen Doubles).
Leer, wenn nicht bereits leer. Wenn die folgende Anweisung ein Register MMX verwendet, führt _mm_empty einen Vorgang ohne Nutzen (No-Op).
Verwenden Sie verschiedene Funktionen für Bereiche, die Gleitkommaanweisungen und die Verwendung der Anweisungen verwendet werden, die MMX. Dies schließt das Benötigen eine EMMS-Anweisung im Text einer wichtigen Schleife.
Verwenden Sie _mm_empty während der Laufzeitinitialisierung eines __m64 und FROM FP Datentypen. Dadurch wird das Zurücksetzen des Registers zwischen Datentyp übergängen sicher. Verwenden von SOAP-Codierung finden Sie im folgenden Beispiel.
Korrigieren von EMMS-Verwendung im Initialisierungscode
Falsche Verwendung |
Richtiger Verwendung |
---|---|
|
|
Darüber hinaus müssen Sie sämtliche Situationen berücksichtigen, wenn der Code eine Anweisung MMX generiert:
Wenn MMX direkt verwendet werden.
Wenn die Streaming SIMD-Erweiterungen verwendet werden (für diese systeminternen Funktionen die Daten der Verwendung MMX).
Wenn eine Anweisung durch MMX Inlineassembly verwendet wird.
Wenn eine __m64 Datentyp der Variablen verwiesen wird.
Weitere EMMS Dokumentation finden Sie in der Intel-Dokumentation an.
Systeminterne Funktionen MMX verwenden den __m64 Datentyp, der nicht auf x64 Prozessoren unterstützt wird.