#[cfg(any(feature = "aarch64_neon", target_feature = "neon"))] #[allow(dead_code)] pub(crate) mod neon; #[inline] #[cfg(any(feature = "aarch64_neon", target_feature = "neon"))] pub(crate) unsafe fn validate_utf8_basic(input: &[u8]) -> Result<(), crate::basic::Utf8Error> { if input.len() < super::helpers::SIMD_CHUNK_SIZE { return super::validate_utf8_basic_fallback(input); } validate_utf8_basic_neon(input) } #[inline(never)] #[cfg(any(feature = "aarch64_neon", target_feature = "neon"))] unsafe fn validate_utf8_basic_neon(input: &[u8]) -> Result<(), crate::basic::Utf8Error> { neon::validate_utf8_basic(input) } #[cfg(not(any(feature = "aarch64_neon", target_feature = "neon")))] pub(crate) use super::validate_utf8_basic_fallback as validate_utf8_basic; #[inline] #[cfg(any(feature = "aarch64_neon", target_feature = "neon"))] pub(crate) unsafe fn validate_utf8_compat(input: &[u8]) -> Result<(), crate::compat::Utf8Error> { if input.len() < super::helpers::SIMD_CHUNK_SIZE { return super::validate_utf8_compat_fallback(input); } validate_utf8_compat_neon(input) } #[inline(never)] #[cfg(any(feature = "aarch64_neon", target_feature = "neon"))] unsafe fn validate_utf8_compat_neon(input: &[u8]) -> Result<(), crate::compat::Utf8Error> { neon::validate_utf8_compat(input) } #[cfg(not(any(feature = "aarch64_neon", target_feature = "neon")))] pub(crate) use super::validate_utf8_compat_fallback as validate_utf8_compat;