From 2f14aec3f4ad928d108011f2a2f43b05e27abf5a Mon Sep 17 00:00:00 2001 From: Michael Dyer Date: Wed, 3 Apr 2024 19:16:18 +0200 Subject: [PATCH] Put macro `x86_intrinsic_impl` behind x86 configuration guard --- src/distributions/integer.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/distributions/integer.rs b/src/distributions/integer.rs index 8b9ae4ad40..d7bb988d1b 100644 --- a/src/distributions/integer.rs +++ b/src/distributions/integer.rs @@ -23,7 +23,6 @@ use core::num::{ NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize,NonZeroI128 }; #[cfg(feature = "simd_support")] use core::simd::*; -use core::mem; impl Distribution for Standard { #[inline] @@ -123,6 +122,7 @@ impl_nzint!(NonZeroI64, NonZeroI64::new); impl_nzint!(NonZeroI128, NonZeroI128::new); impl_nzint!(NonZeroIsize, NonZeroIsize::new); +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] macro_rules! x86_intrinsic_impl { ($meta:meta, $($intrinsic:ident),+) => {$( #[cfg($meta)] @@ -132,7 +132,7 @@ macro_rules! x86_intrinsic_impl { fn sample(&self, rng: &mut R) -> $intrinsic { // On proper hardware, this should compile to SIMD instructions // Verified on x86 Haswell with __m128i, __m256i - let mut buf = [0_u8; mem::size_of::<$intrinsic>()]; + let mut buf = [0_u8; core::mem::size_of::<$intrinsic>()]; rng.fill_bytes(&mut buf); // x86 is little endian so no need for conversion zerocopy::transmute!(buf)