stdsimd - Rust's standard library SIMD components
Usage
stdsimd is now shipped with Rust's std library - its is part of libcore
and libstd.
The easiest way to use it is just to import it via use std::arch.
The std::arch component for x86 is available in stable Rust. The std::arch
components for other architectures and the std::simd component require nightly
Rust.
Using stdsimd master branch is not recommended. It requires nightly Rust, it
only works with particular Rust nightly versions, and it can (and does) break
often. If you need to use stdsimd master branch, you can add it to your
Cargo.toml as follows:
#[dependencies]
stdsimd = { git = "https://github.com/rust-lang-nursery/stdsimd.git" }
Documentation
- Documentation - i686
- Documentation - x86_64
- Documentation - arm
- Documentation - aarch64
- Documentation - powerpc
- Documentation - powerpc64
- How to get started
- How to help implement intrinsics
Approach
The main goal is to expose APIs defined by vendors with the least amount of
abstraction possible. On x86, for example, the API should correspond to that
provided by emmintrin.h.
License
stdsimd is primarily distributed under the terms of both the MIT license and
the Apache License (Version 2.0), with portions covered by various BSD-like
licenses.
See LICENSE-APACHE, and LICENSE-MIT for details.