(BMI) sind Befehlssatzerweiterungen für Mikroprozessoren von Intel und AMD.

Es gibt mehrere Untermengen von BMI: BMI1 und BMI2 von Intel, die mit der Intel-Haswell-Mikroarchitektur eingeführt wurden sowie ABM und TBM von AMD. ABM (Advanced Bit Manipulation) beinhaltet Instruktionen aus Intels SSE4.2 und BMI1, TBM (Trailing Bit Manipulation) ist eine Erweiterung von BMI1, die mit der Piledriver-Architektur eingeführt wurde.

Neue Instruktionen ABM Instruktion Beschreibung POPCNT Anzahl gesetzter Bits LZCNT Anzahl führender Nullen

BMI1 Instruktion Beschreibung Ausdruck in C ANDN AND NOT ~x & y BEXTR Bitfeld extrahieren (src >> start) & ((1 << len)-1) BLSI Niedrigstes gesetztes Bit isolieren x & -x BLSMSK Alle Bits bis zum niedrigsten gesetzten Bit setzen, alle höheren Bits löschen x ^ (x - 1) BLSR Niedrigstes gesetztes Bit löschen x & (x - 1) TZCNT Anzahl schließender Nullen

BMI2 Instruktion Beschreibung BZHI Alle höheren Bits ab dem angegebenen löschen MULX Vorzeichenlose (unsigned) Multiplikation ohne Einfluss auf Flags (für RSA)Haswell Cryptographic Performance, Juli 2013 PDEP Paralleler Bit-Deposit PEXT Paralleler Bit-Extrakt RORX Bitweise Rotation nach rechts ohne Einfluss auf Flags (für SHA) SARX Arithmetische Verschiebung nach rechts SHRX Logische Verschiebung nach rechts SHLX Logische Verschiebung nach links

TBM Instruktion Beschreibung (englisch) Ausdruck in C BEXTR Bitfeld-Extrakt (unmittelbarer Kontroll-Wert) (src >> start) & ((1 << len)-1) BLCFILL Fill from lowest clear bit x & (x + 1) BLCI Isolate lowest clear bit x | ~(x + 1) BLCIC Isolate lowest clear bit and complement ~x & (x + 1) BLCMASK Mask from lowest clear bit x ^ (x + 1) BLCS Set lowest clear bit x | (x + 1) BLSFILL Fill from lowest set bit x | (x - 1) BLSIC Isolate lowest set bit and complement ~x | (x - 1) T1MSKC Inverse mask from trailing ones ~x | (x + 1) TZMSK Mask from trailing zeros ~x & (x - 1)

Einzelnachweise

Kategorie:Prozessorarchitektur nach Befehlssatz