about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2021-06-10 07:11:23 -0700
committerAlex Crichton <alex@alexcrichton.com>2021-06-10 19:42:05 -0700
commite05bb26d9fdcfe69e9a6d225fe1b3ce07b7ffefd (patch)
treecc027bc2a643eef2cc76761a0eaa945029dcde45
parent0279cb11ed98bdc589c66572477fd27f1dd3e0ac (diff)
downloadrust-e05bb26d9fdcfe69e9a6d225fe1b3ce07b7ffefd.tar.gz
rust-e05bb26d9fdcfe69e9a6d225fe1b3ce07b7ffefd.zip
std: Stabilize wasm simd intrinsics
This commit performs two changes to stabilize Rust support for
WebAssembly simd intrinsics:

* The stdarch submodule is updated to pull in rust-lang/stdarch#1179.
* The `wasm_target_feature` feature gate requirement for the `simd128`
  feature has been removed, stabilizing the name `simd128`.

This should conclude the FCP started on #74372 and...

Closes #74372
-rw-r--r--compiler/rustc_codegen_ssa/src/target_features.rs2
-rw-r--r--library/core/src/lib.rs1
m---------library/stdarch0
-rw-r--r--src/test/rustdoc-ui/wasm-safe.rs2
-rw-r--r--src/test/ui/simd/wasm-simd-indirect.rs2
5 files changed, 2 insertions, 5 deletions
diff --git a/compiler/rustc_codegen_ssa/src/target_features.rs b/compiler/rustc_codegen_ssa/src/target_features.rs
index b10de567744..c89d42ecc58 100644
--- a/compiler/rustc_codegen_ssa/src/target_features.rs
+++ b/compiler/rustc_codegen_ssa/src/target_features.rs
@@ -205,7 +205,7 @@ const RISCV_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
 ];
 
 const WASM_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
-    ("simd128", Some(sym::wasm_target_feature)),
+    ("simd128", None),
     ("atomics", Some(sym::wasm_target_feature)),
     ("nontrapping-fptoint", Some(sym::wasm_target_feature)),
 ];
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs
index d4e4c5b0d3e..d261fc85ba6 100644
--- a/library/core/src/lib.rs
+++ b/library/core/src/lib.rs
@@ -165,6 +165,7 @@
 #![feature(no_niche)] // rust-lang/rust#68303
 #![feature(no_coverage)] // rust-lang/rust#84605
 #![feature(int_error_matching)]
+#![cfg_attr(bootstrap, feature(target_feature_11))]
 #![deny(unsafe_op_in_unsafe_fn)]
 #![deny(or_patterns_back_compat)]
 
diff --git a/library/stdarch b/library/stdarch
-Subproject 37d6e1886369ea0176356286dc7fbd42ee5aa79
+Subproject 1e05dffbeeb80ba61bf59cc63b222d538d7825e
diff --git a/src/test/rustdoc-ui/wasm-safe.rs b/src/test/rustdoc-ui/wasm-safe.rs
index 80b15ace0ee..ba971342b46 100644
--- a/src/test/rustdoc-ui/wasm-safe.rs
+++ b/src/test/rustdoc-ui/wasm-safe.rs
@@ -1,7 +1,5 @@
 // check-pass
 
-#![feature(wasm_target_feature)]
-
 #[cfg(any(target_arch = "wasm32", doc))]
 #[target_feature(enable = "simd128")]
 pub fn foo() {}
diff --git a/src/test/ui/simd/wasm-simd-indirect.rs b/src/test/ui/simd/wasm-simd-indirect.rs
index deac593df43..88f92fce2b2 100644
--- a/src/test/ui/simd/wasm-simd-indirect.rs
+++ b/src/test/ui/simd/wasm-simd-indirect.rs
@@ -1,7 +1,5 @@
 // build-pass
 
-#![cfg_attr(target_arch = "wasm32", feature(wasm_simd, wasm_target_feature))]
-
 #[cfg(target_arch = "wasm32")]
 fn main() {
     unsafe {