gnzlbg / bitintr

Portable Bitwise Manipulation Intrinsics

Home Page:https://gnzlbg.github.io/bitintr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Portable Bitwise Manipulation Intrinsics

crates.io version Travis build status Coveralls.io code coverage Docs License

0b0000_0010_1001_1010

This #![no_std] library exposes safe and portable low-level bit manipulation instruction set architectures. The Minimum Supported Rust Version is 1.36.0.

For higher-level bitwise manipulations check the bitwise crate.

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 check_asm.py 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.

License

Licensed under the MIT license.

Contribution

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

About

Portable Bitwise Manipulation Intrinsics

https://gnzlbg.github.io/bitintr

License:MIT License


Languages

Language:Rust 88.6%Language:Python 8.2%Language:Shell 2.0%Language:Assembly 1.2%