]> git.lizzy.rs Git - rust.git/commit
Auto merge of #49664 - alexcrichton:stable-simd, r=BurntSushi
authorbors <bors@rust-lang.org>
Tue, 17 Apr 2018 03:57:22 +0000 (03:57 +0000)
committerbors <bors@rust-lang.org>
Tue, 17 Apr 2018 03:57:22 +0000 (03:57 +0000)
commit186db76159c57f4af442d8aa5e7c1a330ee0004b
tree83a1c14f92519e4bd4748cf4d7bc4ebc982aac28
parent94516c5038b1203988a3be1d7912d08a6db86202
parent1217d70465edb2079880347fea4baaac56895f51
Auto merge of #49664 - alexcrichton:stable-simd, r=BurntSushi

Stabilize x86/x86_64 SIMD

This commit stabilizes the SIMD in Rust for the x86/x86_64 platforms. Notably
this commit is stabilizing:

* The `std::arch::{x86, x86_64}` modules and the intrinsics contained inside.
* The `is_x86_feature_detected!` macro in the standard library
* The `#[target_feature(enable = "...")]` attribute
* The `#[cfg(target_feature = "...")]` matcher

Stabilization of the module and intrinsics were primarily done in
rust-lang-nursery/stdsimd#414 and the two attribute stabilizations are done in
this commit. The standard library is also tweaked a bit with the new way that
stdsimd is integrated.

Note that other architectures like `std::arch::arm` are not stabilized as part
of this commit, they will likely stabilize in the future after they've been
implemented and fleshed out. Similarly the `std::simd` module is also not being
stabilized in this commit, only `std::arch`. Finally, nothing related to `__m64`
is stabilized in this commit either (MMX), only SSE and up types and intrinsics
are stabilized.

Closes #29717
Closes #44839
Closes #48556
src/libstd/lib.rs
src/libsyntax/feature_gate.rs