Crate bitintr [−] [src]
bitintr
offers portable bit manipulation intrinsics
(@github,
@crates.io).
The intrinsics are named after their CPU instruction and organized in
traits of the same name. These traits are implemented for all integer types
except u128/i128
.
The std::arch
intrinsics are used when the required features are enabled
in the target. You might manually enable features via -C target-feature=+...
and/or -C target-cpu=...
.
Traits
Andn |
Logical and not |
Bextr |
Bit field extract |
Blcfill |
Fill from lowest clear bit |
Blci |
Isolate lowest clear bit |
Blcic |
Isolate lowest clear bit |
Blcmsk |
Mask from lowest clear bit. |
Blcs |
Set lowest clear bit |
Blsfill |
Fill from lowest set bit |
Blsi |
Extract lowest set isolated bit. |
Blsic |
Isolate lowest set bit and complement |
Blsmsk |
Get mask up to lowest set bit. |
Blsr |
Resets lowest set bit. |
Bzhi |
Zero high bits |
Cls |
Count leading sign bits |
Lzcnt |
Count leading zeros |
Mulx |
Unsigned multiply without affecting flags. |
Pdep |
Parallel bits deposit |
Pext |
Parallel bits extract |
Popcnt |
Count bits set. |
Rbit |
Bit reverse |
Rev |
Byte reverse |
T1mskc |
Inverse mask from trailing ones |
Tzcnt |
Counts trailing zero bits |
Tzmsk |
Mask from trailing zeros |