Skip to main content

crc32fast/specialized/
mod.rs

1// The SIMD backends are the only modules allowed to use `unsafe`.
2cfg_if::cfg_if! {
3    if #[cfg(all(
4        target_feature = "sse2",
5        any(target_arch = "x86", target_arch = "x86_64")
6    ))] {
7        #[allow(unsafe_code)]
8        mod pclmulqdq;
9        pub use self::pclmulqdq::State;
10    } else if #[cfg(all(stable_arm_crc32_intrinsics, target_arch = "aarch64"))] {
11        #[allow(unsafe_code)]
12        mod aarch64;
13        pub use self::aarch64::State;
14    } else {
15        #[derive(Clone)]
16        pub enum State {}
17        impl State {
18            pub fn new() -> Option<Self> {
19                None
20            }
21
22            pub fn update(&self, _state: u32, _buf: &[u8]) -> u32 {
23                match *self {}
24            }
25        }
26    }
27}