diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2022-03-04 22:58:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-04 22:58:34 +0100 |
| commit | 18a07a78a52d9678c3b00ff675c94865a835d8cb (patch) | |
| tree | a24c9303359498be1bdc6a33b68edbf39f1c9228 | |
| parent | afa85f08410aaa874f628c2704818ef2fb126f00 (diff) | |
| parent | 50e7450bac9fd9faafb7adb7540ab07ddea896d1 (diff) | |
| download | rust-18a07a78a52d9678c3b00ff675c94865a835d8cb.tar.gz rust-18a07a78a52d9678c3b00ff675c94865a835d8cb.zip | |
Rollup merge of #94577 - RalfJung:simd-miri, r=scottmcm
only disable SIMD for doctests in Miri (not for the stdlib build itself) Also we can enable library/core/tests/simd.rs now, Miri supports enough SIMD for that.
| -rw-r--r-- | library/core/src/lib.rs | 4 | ||||
| -rw-r--r-- | library/core/src/slice/mod.rs | 6 | ||||
| -rw-r--r-- | library/core/tests/simd.rs | 2 | ||||
| -rw-r--r-- | library/core/tests/slice.rs | 2 |
4 files changed, 7 insertions, 7 deletions
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs index e7896b2cb66..45fbcf44b35 100644 --- a/library/core/src/lib.rs +++ b/library/core/src/lib.rs @@ -408,12 +408,12 @@ pub mod arch { #[allow(missing_debug_implementations, dead_code, unsafe_op_in_unsafe_fn, unused_unsafe)] #[allow(rustdoc::bare_urls)] #[unstable(feature = "portable_simd", issue = "86656")] -#[cfg(not(all(miri, doctest)))] // Miri does not support all SIMD intrinsics +#[cfg(not(all(miri, doctest)))] // Skip SIMD doctests in Miri mod core_simd; #[doc = include_str!("../../portable-simd/crates/core_simd/src/core_simd_docs.md")] #[unstable(feature = "portable_simd", issue = "86656")] -#[cfg(not(all(miri, doctest)))] // Miri does not support all SIMD intrinsics +#[cfg(not(all(miri, doctest)))] // Skip SIMD doctests in Miri pub mod simd { #[unstable(feature = "portable_simd", issue = "86656")] pub use crate::core_simd::simd::*; diff --git a/library/core/src/slice/mod.rs b/library/core/src/slice/mod.rs index 08b95d791a3..9467c7f54ba 100644 --- a/library/core/src/slice/mod.rs +++ b/library/core/src/slice/mod.rs @@ -16,7 +16,7 @@ use crate::option::Option::{None, Some}; use crate::ptr; use crate::result::Result; use crate::result::Result::{Err, Ok}; -#[cfg(not(miri))] // Miri does not support all SIMD intrinsics +#[cfg(not(all(miri, doctest)))] // Miri skips SIMD doctests use crate::simd::{self, Simd}; use crate::slice; @@ -3540,7 +3540,7 @@ impl<T> [T] { /// assert_eq!(basic_simd_sum(&numbers[1..99]), 4949.0); /// ``` #[unstable(feature = "portable_simd", issue = "86656")] - #[cfg(not(miri))] // Miri does not support all SIMD intrinsics + #[cfg(not(all(miri, doctest)))] // Miri skips SIMD doctests pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T]) where Simd<T, LANES>: AsRef<[T; LANES]>, @@ -3584,7 +3584,7 @@ impl<T> [T] { /// be lifted in a way that would make it possible to see panics from this /// method for something like `LANES == 3`. #[unstable(feature = "portable_simd", issue = "86656")] - #[cfg(not(miri))] // Miri does not support all SIMD intrinsics + #[cfg(not(all(miri, doctest)))] // Miri skips SIMD doctests pub fn as_simd_mut<const LANES: usize>(&mut self) -> (&mut [T], &mut [Simd<T, LANES>], &mut [T]) where Simd<T, LANES>: AsMut<[T; LANES]>, diff --git a/library/core/tests/simd.rs b/library/core/tests/simd.rs index b84f3228e78..5b516a72360 100644 --- a/library/core/tests/simd.rs +++ b/library/core/tests/simd.rs @@ -1,5 +1,3 @@ -#![cfg(not(miri))] // Miri does not support all SIMD intrinsics - use core::simd::f32x4; #[test] diff --git a/library/core/tests/slice.rs b/library/core/tests/slice.rs index 06a30d7096c..7c4d2f266f9 100644 --- a/library/core/tests/slice.rs +++ b/library/core/tests/slice.rs @@ -2457,9 +2457,11 @@ take_tests! { (take_last_mut_empty, (), None, &mut []), } +#[cfg(not(miri))] // unused in Miri const EMPTY_MAX: &'static [()] = &[(); usize::MAX]; // can't be a constant due to const mutability rules +#[cfg(not(miri))] // unused in Miri macro_rules! empty_max_mut { () => { &mut [(); usize::MAX] as _ |
