x86 intrinsics for rust
This crate will implement C-like x86 intrinsics with the similar names
to what intel uses (removing prefix underscore; e.g. __m128i -> m128i
,
_mm_set_epi32 -> mm_set_epi32
).
I actually need various integer SIMD arithmetics, so such functions will be implmeneted with priority.
Currently most of SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, and AVX are implemented. Some of the functions cannot be implemented since rust is not exposing necessary functions.
AVX2 implementation is ongoing.
After all done, I'd like to contribute to rust libraries to support missing functions.
To build with cargo
, you need to set target-cpu
or target-feature
in RUSTFLAGS
.
For example:
$ RUSTFLAGS="-C target-cpu=native" cargo build
$ RUSTFLAGS="-C target-feature=+sse3" cargo build