about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crates/core_simd/examples/matrix_inversion.rs4
-rw-r--r--crates/core_simd/src/lib.rs2
-rw-r--r--crates/core_simd/src/swizzle.rs28
3 files changed, 19 insertions, 15 deletions
diff --git a/crates/core_simd/examples/matrix_inversion.rs b/crates/core_simd/examples/matrix_inversion.rs
index 468319325e2..fcee1b96ae1 100644
--- a/crates/core_simd/examples/matrix_inversion.rs
+++ b/crates/core_simd/examples/matrix_inversion.rs
@@ -2,8 +2,8 @@
 // Code ported from the `packed_simd` crate
 // Run this code with `cargo test --example matrix_inversion`
 #![feature(array_chunks, portable_simd)]
-use core_simd::Which::*;
-use core_simd::*;
+use core_simd::simd::*;
+use Which::*;
 
 // Gotta define our own 4x4 matrix since Rust doesn't ship multidim arrays yet :^)
 #[derive(Copy, Clone, Debug, PartialEq, PartialOrd)]
diff --git a/crates/core_simd/src/lib.rs b/crates/core_simd/src/lib.rs
index 037779200b8..960a6640083 100644
--- a/crates/core_simd/src/lib.rs
+++ b/crates/core_simd/src/lib.rs
@@ -1,7 +1,7 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 #![feature(
     const_fn_trait_bound,
-    const_panic,
+    decl_macro,
     platform_intrinsics,
     repr_simd,
     simd_ffi,
diff --git a/crates/core_simd/src/swizzle.rs b/crates/core_simd/src/swizzle.rs
index d4d171d570e..88e7f3b223e 100644
--- a/crates/core_simd/src/swizzle.rs
+++ b/crates/core_simd/src/swizzle.rs
@@ -1,5 +1,5 @@
 use crate::simd::intrinsics;
-use crate::{LaneCount, Simd, SimdElement, SupportedLaneCount};
+use crate::simd::{LaneCount, Simd, SimdElement, SupportedLaneCount};
 
 /// Constructs a new vector by selecting values from the lanes of the source vector or vectors to use.
 ///
@@ -12,7 +12,8 @@ use crate::{LaneCount, Simd, SimdElement, SupportedLaneCount};
 /// ## One source vector
 /// ```
 /// # #![feature(portable_simd)]
-/// # use core_simd::{Simd, simd_swizzle};
+/// # #[cfg(feature = "std")] use core_simd::{Simd, simd_swizzle};
+/// # #[cfg(not(feature = "std"))] use core::simd::{Simd, simd_swizzle};
 /// let v = Simd::<f32, 4>::from_array([0., 1., 2., 3.]);
 ///
 /// // Keeping the same size
@@ -27,7 +28,8 @@ use crate::{LaneCount, Simd, SimdElement, SupportedLaneCount};
 /// ## Two source vectors
 /// ```
 /// # #![feature(portable_simd)]
-/// # use core_simd::{Simd, simd_swizzle, Which};
+/// # #[cfg(feature = "std")] use core_simd::{Simd, simd_swizzle, Which};
+/// # #[cfg(not(feature = "std"))] use core::simd::{Simd, simd_swizzle, Which};
 /// use Which::*;
 /// let a = Simd::<f32, 4>::from_array([0., 1., 2., 3.]);
 /// let b = Simd::<f32, 4>::from_array([4., 5., 6., 7.]);
@@ -40,11 +42,11 @@ use crate::{LaneCount, Simd, SimdElement, SupportedLaneCount};
 /// let r = simd_swizzle!(a, b, [First(0), Second(0)]);
 /// assert_eq!(r.to_array(), [0., 4.]);
 /// ```
-#[macro_export]
-macro_rules! simd_swizzle {
-    {
+#[allow(unused_macros)]
+pub macro simd_swizzle {
+    (
         $vector:expr, $index:expr $(,)?
-    } => {
+    ) => {
         {
             use $crate::simd::Swizzle;
             struct Impl;
@@ -53,10 +55,10 @@ macro_rules! simd_swizzle {
             }
             Impl::swizzle($vector)
         }
-    };
-    {
+    },
+    (
         $first:expr, $second:expr, $index:expr $(,)?
-    } => {
+    ) => {
         {
             use $crate::simd::{Which, Swizzle2};
             struct Impl;
@@ -262,7 +264,8 @@ where
     ///
     /// ```
     /// #![feature(portable_simd)]
-    /// # use core_simd::Simd;
+    /// # #[cfg(feature = "std")] use core_simd::Simd;
+    /// # #[cfg(not(feature = "std"))] use core::simd::Simd;
     /// let a = Simd::from_array([0, 1, 2, 3]);
     /// let b = Simd::from_array([4, 5, 6, 7]);
     /// let (x, y) = a.interleave(b);
@@ -324,7 +327,8 @@ where
     ///
     /// ```
     /// #![feature(portable_simd)]
-    /// # use core_simd::Simd;
+    /// # #[cfg(feature = "std")] use core_simd::Simd;
+    /// # #[cfg(not(feature = "std"))] use core::simd::Simd;
     /// let a = Simd::from_array([0, 4, 1, 5]);
     /// let b = Simd::from_array([2, 6, 3, 7]);
     /// let (x, y) = a.deinterleave(b);