Ich möchte mit einigen AVX-Anweisungen (erweiterte Vektorerweiterung) beginnen und spielen. Ich weiß, dass Intel einen Emulator zur Verfügung stellt, um Software zu testen, die diese Anweisungen enthält (siehe diese Frage ), Aber da ich Hex-Code nicht manuell schreiben möchte, stellt sich die Frage, zu welchem Assembler der AVX-Befehlssatz derzeit bekannt ist?
Ich würde mich am meisten für Assembler interessieren, die unter Windows laufen und die Intel-Syntax akzeptieren können.
MASM 64Bits (ML64.EXE) scheint AVX-Befehlssatz zu unterstützen.
Aus MS vcblog heißt es:
Unterstützung für AVX in Intel und AMD Prozessoren: Intel AVX (Intel Advanced Vector Extensions) ist eine 256 Bit-Befehlssatz-Erweiterung zu SSE und ist für Anwendungen konzipiert, die sind Fließkomma intensiv [...].
In VS2010-Release, alle AVX-Funktionen und Anweisungen werden vollständig über unterstützt intrinsic und / arch: AVX. Viele Optimierungen wurden hinzugefügt Verbessern Sie die Codequalität von AVX-Code Generation, die beschrieben wird mit mehr Details in einem kommenden Blog Post. Zusätzlich zu AVX Unterstützung in der Compiler, das Microsoft Macro Assembler (MASM) in VS2010 auch unterstützt den Intel AVX Befehlssatz für x86 und x64.
BEARBEITEN:
YASM und NASM scheinen auch Intel AVX zu unterstützen, laut dieser Seite: Ссылка
Abgesehen von masm unterstützen auch Yasm und Gas von heute Avx und auch der Inline-Assembler von gcc.