bitintr 0.2.0

Portable Bit Manipulation Intrinsics.

Portable Bitwise Manipulation Intrinsics version Travis build status code coverage Docs License


This library exposes safe and _portable low-level bit manipulation instruction set architectures. It is #![no_std] but requires the core::{intrinsics, arch} components when compiled with nightly rust.

For higher-level bitwise manipulations check the bitwise crate.

This library compiles on stable Rust, but provides an unstable crate feature that makes uses of the following nightly features:

  • cfg_target_feature for target-feature dependent behavior,
  • stdsimd: for core::arch intrinsics,
  • core_intrinsics: for core::intrinsics.

The intrinsics are exposed via traits named after their CPU instruction. These traits are implemented for all integer types except u128/i128.

The following ISAs are implemented:

The actual code generated depends on the integer types involved and the features supported by the target architecture.

Verified assembly

The script verifies the generated assembly of the intrinsics. It compiles the asm/arch_feature_*.rs for the appropriate architectures and target features and compares the assembly generated by rustc with that included in the corresponding asm/arch_feature_*.asm files.


Licensed under the MIT license.


Yes please! Just note that all contributions shall be licensed as above without any additional terms or conditions.