# x86-simd
This crate provides safe (and some unsafe) interfaces to (some) x86 (and x86_64) SIMD intrinsics.
This crate is not exhaustive about what it does but is rather a "best-effort" to support/wrap many commonly used
SSE2+ and AVX types and functions.
This crate is built on the stable version of the rust compiler and standard library and does not required nightly
portable SIMD features.
This crate has zero dependencies and it can be built with or without the standard library. This crate does not use
the `alloc` crate. Building with the standard library (enabling the `std` feature, which is on by default) allows
this crate to detect CPU features at run-time, which can be incredibly useful when compiling without knowing exactly
which SIMD features will be available on a user's machine. Without the `std` feature, this crate relies entirely on the
features that the compiler lists as available. This can be configured using flags to `rustc` -- see
<https://rust-lang.github.io/packed_simd/perf-guide/target-feature/rustflags.html>.
If you attempt to compile or depend on this crate on an architecture that is not `x86` or `x86_64`, this crate will
produce a compiler error.
This crate may be depended on conditionally by moving it to the
`[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies]` section in your `Cargo.toml`
and making any reference to it in your code `#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]`.
### Badges
| Cargo Check Status |  |
| Cargo Test Status |  |
| Cargo Clippy Status |  |
| Code Coverage (Coveralls) | [](https://coveralls.io/github/vcfxb/x86-simd?branch=main) |
| Code Coverage (Codecov.io) | [](https://codecov.io/github/vcfxb/x86-simd/commits?branch=main) |
| Docs.rs | [](https://docs.rs/x86-simd) |
| Crates.io | [](https://crates.io/crates/x86-simd) |
| Crates.io | [](https://crates.io/crates/x86-simd) |