Bit Manipulation Instruction Sets
{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (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[Bearbeiten]
ABM[Bearbeiten]
| Instruktion | Beschreibung<ref name="amd64apiv3">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig AMD64 Architecture Programmer's Manual, Volume 3: General-Purpose and System Instructions.] (PDF) In: amd.com. AMD, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 2. Januar 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> |
|---|---|
POPCNT
|
Anzahl gesetzter Bits |
LZCNT
|
Anzahl führender Nullen |
BMI1[Bearbeiten]
| Instruktion | Beschreibung<ref name="intelavx">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Intel Advanced Vector Extensions Programming Reference.] (PDF) In: intel.com. Intel, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Januar 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> | Ausdruck in C<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig bmiintrin.h from GCC 4.8.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 17. März 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> |
|---|---|---|
ANDN
|
AND NOT | ~x & y
|
BEXTR
|
Bitfeld extrahieren | (src >> start) & ((1 << len)-1)<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Chess Programming BMI1.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. April 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
|
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[Bearbeiten]
| Instruktion | Beschreibung |
|---|---|
BZHI
|
Alle höheren Bits ab dem angegebenen löschen |
MULX
|
Vorzeichenlose (unsigned) Multiplikation ohne Einfluss auf Flags (für RSA)<ref name="hascrypt">Haswell Cryptographic Performance, Juli 2013</ref> |
PDEP
|
Paralleler Bit-Deposit |
PEXT
|
Paralleler Bit-Extrakt |
RORX
|
Bitweise Rotation nach rechts ohne Einfluss auf Flags (für SHA)<ref name="hascrypt" /> |
SARX
|
Arithmetische Verschiebung nach rechts |
SHRX
|
Logische Verschiebung nach rechts |
SHLX
|
Logische Verschiebung nach links |
TBM[Bearbeiten]
| Instruktion | Beschreibung (englisch)<ref name="amd64apiv3" /> | Ausdruck in C<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig tbmintrin.h from GCC 4.8.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 17. März 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> |
|---|---|---|
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[Bearbeiten]
<references />
Die Seite Vorlage:Erweiterte Navigationsleiste/styles legacy.css hat keinen Inhalt.Vorlage:Klappleiste/Anfang
| Betriebsmodi |
Real Mode • Protected Mode • Virtual 8086 Mode • System Management Mode • Long Mode • Compatibility Mode |
| Befehlssatzerweiterungen |
x87 ⬝
PAE ⬝
NX ⬝
AMD64/Intel 64 (x64) ⬝
HTT ⬝
VT-x/AMD-V/VIA VT ⬝
3DNow! ⬝
MMX ⬝
SSE ⬝
SSE2 ⬝
PadLock ⬝
SSE3 ⬝
SSSE3 ⬝
SSE4 ⬝
SSE4a ⬝
|