21 releases

0.3.0 Jun 20, 2019
0.2.0 May 11, 2018
0.1.18 Feb 23, 2017
0.1.14 Jan 31, 2017

#164 in Hardware support

Download history 3170/week @ 2023-12-18 3152/week @ 2023-12-25 3303/week @ 2024-01-01 3596/week @ 2024-01-08 3802/week @ 2024-01-15 3090/week @ 2024-01-22 3391/week @ 2024-01-29 5269/week @ 2024-02-05 4827/week @ 2024-02-12 4577/week @ 2024-02-19 3954/week @ 2024-02-26 4561/week @ 2024-03-04 5472/week @ 2024-03-11 4671/week @ 2024-03-18 4573/week @ 2024-03-25 4942/week @ 2024-04-01

20,457 downloads per month
Used in 10 crates (7 directly)

MIT license

63KB
1K SLoC

Rust 1K SLoC // 0.0% comments Python 107 SLoC // 0.0% comments Assembly 53 SLoC Shell 27 SLoC // 0.2% comments

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.

No runtime deps