about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-06-11 05:02:41 +0000
committerbors <bors@rust-lang.org>2021-06-11 05:02:41 +0000
commit68aa6b2d832579c156bda878a909f1bbb5261b36 (patch)
tree6a09f59c5d3f77109c9ce8112398a1440384b89d
parent72868e017bdade60603a25889e253f556305f996 (diff)
parente05bb26d9fdcfe69e9a6d225fe1b3ce07b7ffefd (diff)
downloadrust-68aa6b2d832579c156bda878a909f1bbb5261b36.tar.gz
rust-68aa6b2d832579c156bda878a909f1bbb5261b36.zip
Auto merge of #86204 - alexcrichton:wasm-simd-stable, r=Amanieu
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 41a4eab3c85..949ef27f018 100644
--- a/library/core/src/lib.rs
+++ b/library/core/src/lib.rs
@@ -166,6 +166,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 {