Spätestens wenn Intel irgendwann im Sommer mit dem Haswell-Prozessor und der umfangreichen AVX2-Instruktionssatzerweiterung herauskommt, dürften die von AMD mit dem Piledriver-Kern schon eingeführten neuen Bit-Befehle, die sich hinter BMI, Bit Manipulation Instructions, verbergen, aus ihrem Dornröschenschlaf erwachen. Bis dahin hat man also noch ein bisschen Zeit, und so stehen im Rahmen dieser kleinen Intrinsic-Serie zunächst einmal die klassischen Bit-Befehle, ergänzt um die beiden modernen Bitscan-Verfeinerungen lzcnt und tzcnt, auf dem Programm. AMD hat darüber hinaus unter TBM, Trailing Bit Manipulation, noch ein paar mehr Instruktionen in der Hinterhand, die Intel (noch) nicht übernommen hat.
Manche Compiler unterstützen „Bit“ als originären Datentyp. Fortran hat zumindest seit Version 77 zahlreiche Bitbefehle. Bei anderen Compilern wie C++ muss man entweder durch entsprechende Funktionen oder besser Klassen, durch Intrinsics oder notfalls mit Inline-Assembler nachhelfen. Immerhin kann man bei C++ von Haus aus die Strukturelemente bitgenau definieren. Für allgemeines Bitmanagement sind hier üblicherweise die bitset-Klassen in der Standard Template Library (einzubinden mit #include <bitset>) zuständig. Diese Klassen unterstützen allerdings nur Bitfelder mit konstanter Größe. ...
