Montagesyntax für maskierte Vektorintel AVX-512 Anweisungen
-
21-12-2019 - |
Frage
Für Testzwecke schreibe ich kurze Montage-Snippets für Intel's Xeon Phi mit dem ICC-Inline-Assembler.Jetzt wollte ich maskierte Vektoranweisungen verwenden, aber ich versägte sie nicht, sie an den Inline-Assembler zu füttern.
für den Code so:
generasacodicetagpre.Ich erhalte die Fehlermeldung
generasacodicetagpre.Ich habe viele verschiedene Kombinationen ausprobiert, aber nichts hat funktioniert.Die Compiler-Version ist Intel64 / 13.1UP03 unter Linux unter Verwendung von Gassyntax.
edit: Der obige Code arbeitet tatsächlich mit nicht erweiterter Assembler.Also das:
generasacodicetagpre.funktioniert, während das folgende nicht ist:
generasacodicetagpre.Ich denke, es hat etwas mit der Notwendigkeit, mit der Notwendigkeit zu tun, ein doppelte% vor Registernamen im erweiterten Modus zu verwenden.Aber nein, ein einzelner% für das k funktioniert auch nicht.
Lösung
Ich habe die gleiche Frage in der Intel Developer Zone http://software.intel.com/en-us/forums/topic/intel.com/en-us/forums/topic/499145#comment/topic/499145#comment/topic/499145#comment/topic/499145#comment/topic/49563 , die Antwort ist, dass, um die Maskenregister auf dem Xeon PHI im erweiterten Inline-Assembler verwenden zu könnenVerwenden Sie doppelte gelockte Klammern um den Maskenregistermodifikator.
generasacodicetagpre.Andere Tipps
Ich denke, Sie müssen die maskierte Variante der Anweisung verwenden: vmaskmovpd