mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-24 10:37:42 +00:00
In rust-lang/rust#47743 the SIMD types in the Rust ABI are being switched to getting passed through memory unconditionally rather than through LLVM's immediate registers. This means that a bunch of our assert_instr invocations started breaking as LLVM has more efficient methods of dealing with memory than the instructions themselves. This switches `assert_instr` to unconditionally use a shim that is an `extern` function which should revert back to the previous behavior, using the simd types as immediates and testing the same.
stdsimd
Experimental support for SIMD destined to eventually become part of Rust's standard library
This is a work in progress.
- Documentation - i686
- Documentation - x86_64
- Documentation - arm
- Documentation - aarch64
- 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.