Skip to content
  • Alex Crichton's avatar
    Stabilize x86/x86_64 SIMD · 598d836f
    Alex Crichton authored
    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
    598d836f