diff --git a/sonic-simd/src/avx2.rs b/sonic-simd/src/avx2.rs index e9a8d606..924e442d 100644 --- a/sonic-simd/src/avx2.rs +++ b/sonic-simd/src/avx2.rs @@ -1,7 +1,8 @@ -use core::{ - arch::x86_64::*, - ops::{BitAnd, BitOr, BitOrAssign}, -}; +#[cfg(target_arch = "x86")] +use core::arch::x86::*; +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; +use core::ops::{BitAnd, BitOr, BitOrAssign}; use super::{Mask, Simd}; diff --git a/sonic-simd/src/avx512.rs b/sonic-simd/src/avx512.rs index 5d3267cc..b6d64816 100644 --- a/sonic-simd/src/avx512.rs +++ b/sonic-simd/src/avx512.rs @@ -1,7 +1,8 @@ -use core::{ - arch::x86_64::*, - ops::{BitAnd, BitOr, BitOrAssign}, -}; +#[cfg(target_arch = "x86")] +use core::arch::x86::*; +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; +use core::ops::{BitAnd, BitOr, BitOrAssign}; use super::{Mask, Simd}; diff --git a/sonic-simd/src/sse2.rs b/sonic-simd/src/sse2.rs index 13906cb6..9c6a2033 100644 --- a/sonic-simd/src/sse2.rs +++ b/sonic-simd/src/sse2.rs @@ -1,7 +1,8 @@ -use core::{ - arch::x86_64::*, - ops::{BitAnd, BitOr, BitOrAssign}, -}; +#[cfg(target_arch = "x86")] +use core::arch::x86::*; +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; +use core::ops::{BitAnd, BitOr, BitOrAssign}; use super::{Mask, Simd}; diff --git a/src/value/node.rs b/src/value/node.rs index 386aca87..88f82399 100644 --- a/src/value/node.rs +++ b/src/value/node.rs @@ -1536,6 +1536,8 @@ impl<'a> DocumentVisitor<'a> { #[repr(C)] struct MetaNode { shared: *const Shared, + #[cfg(target_pointer_width = "32")] + _padding: u32, canary: u64, } @@ -1549,6 +1551,8 @@ impl MetaNode { let canary = b"SONICRS\0"; MetaNode { shared, + #[cfg(target_pointer_width = "32")] + _padding: 0, canary: u64::from_ne_bytes(*canary), } }