stdsimd - Rust's standard library SIMD components ======= [![Travis-CI Status]][travis] [![Appveyor Status]][appveyor] [![Latest Version]][crates.io] [![docs]][docs.rs] # 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: ```toml #[dependencies] stdsimd = { git = "https://github.com/rust-lang-nursery/stdsimd.git" } ``` # Documentation * [Documentation - i686][i686] * [Documentation - x86\_64][x86_64] * [Documentation - arm][arm] * [Documentation - aarch64][aarch64] * [Documentation - powerpc][powerpc] * [Documentation - powerpc64][powerpc64] * [How to get started][contrib] * [How to help implement intrinsics][help-implement] [contrib]: https://github.com/rust-lang-nursery/stdsimd/blob/master/CONTRIBUTING.md [help-implement]: https://github.com/rust-lang-nursery/stdsimd/issues/40 [i686]: https://rust-lang-nursery.github.io/stdsimd/i686/stdsimd/ [x86_64]: https://rust-lang-nursery.github.io/stdsimd/x86_64/stdsimd/ [arm]: https://rust-lang-nursery.github.io/stdsimd/arm/stdsimd/ [aarch64]: https://rust-lang-nursery.github.io/stdsimd/aarch64/stdsimd/ [powerpc]: https://rust-lang-nursery.github.io/stdsimd/powerpc/stdsimd/ [powerpc64]: https://rust-lang-nursery.github.io/stdsimd/powerpc64/stdsimd/ ### 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. [travis]: https://travis-ci.org/rust-lang-nursery/stdsimd [Travis-CI Status]: https://travis-ci.org/rust-lang-nursery/stdsimd.svg?branch=master [appveyor]: https://ci.appveyor.com/project/rust-lang-libs/stdsimd/branch/master [Appveyor Status]: https://ci.appveyor.com/api/projects/status/ix74qhmilpibn00x/branch/master?svg=true [Latest Version]: https://img.shields.io/crates/v/stdsimd.svg [crates.io]: https://crates.io/crates/stdsimd [docs]: https://docs.rs/stdsimd/badge.svg [docs.rs]: https://docs.rs/stdsimd/