Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stabilize x86/x86_64 SIMD #49664

Merged
merged 2 commits into from
Apr 17, 2018
Merged

Stabilize x86/x86_64 SIMD #49664

merged 2 commits into from
Apr 17, 2018

Commits on Apr 16, 2018

  1. 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/stdarch#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 rust-lang#29717
    Closes rust-lang#44839
    Closes rust-lang#48556
    alexcrichton committed Apr 16, 2018
    Configuration menu
    Copy the full SHA
    598d836 View commit details
    Browse the repository at this point in the history
  2. Separately gate each target_feature feature

    Use an explicit whitelist for what features are actually stable and can be
    enabled.
    alexcrichton committed Apr 16, 2018
    Configuration menu
    Copy the full SHA
    1217d70 View commit details
    Browse the repository at this point in the history