blob: f8d10b4d6206a59cb8ccaa45974b9dbbd5cac623 [file] [log] [blame] [view]
`core::arch` - Rust's core library architecture-specific intrinsics
=======
[![Travis-CI Status]][travis] [![Appveyor Status]][appveyor] [![core_arch_crate_badge]][core_arch_crate_link] [![core_arch_docs_badge]][core_arch_docs_link]
The `core::arch` module implements architecture-dependent intrinsics (e.g. SIMD).
# Usage
`core::arch` is available as part of `libcore` and it is re-exported by
`libstd`. Prefer using it via `core::arch` or `std::arch` than via this crate.
Unstable features are often available in nightly Rust via the
`feature(stdsimd)`.
Using `core::arch` via this crate requires nightly Rust, and it can (and does)
break often. The only cases in which you should consider using it via this crate
are:
* if you need to re-compile `core::arch` yourself, e.g., with particular
target-features enabled that are not enabled for `libcore`/`libstd`. Note: if
you need to re-compile it for a non-standard target, please prefer using
`xargo` and re-compiling `libcore`/`libstd` as appropriate instead of using
this crate.
* using some features that might not be available even behind unstable Rust
features. We try to keep these to a minimum. If you need to use some of these
features, please open an issue so that we can expose them in nightly Rust and
you can use them from there.
# 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/core_arch/
[x86_64]: https://rust-lang-nursery.github.io/stdsimd/x86_64/core_arch/
[arm]: https://rust-lang-nursery.github.io/stdsimd/arm/core_arch/
[aarch64]: https://rust-lang-nursery.github.io/stdsimd/aarch64/core_arch/
[powerpc]: https://rust-lang-nursery.github.io/stdsimd/powerpc/core_arch/
[powerpc64]: https://rust-lang-nursery.github.io/stdsimd/powerpc64/core_arch/
# License
`core_arch` 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.
# Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in `core_arch` by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.
[travis]: https://travis-ci.com/rust-lang-nursery/stdsimd
[Travis-CI Status]: https://travis-ci.com/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
[core_arch_crate_badge]: https://img.shields.io/crates/v/core_arch.svg
[core_arch_crate_link]: https://crates.io/crates/core_arch
[core_arch_docs_badge]: https://docs.rs/core_arch/badge.svg
[core_arch_docs_link]: https://docs.rs/core_arch/