#[cfg(all(
target_arch = "x86_64",
target_feature = "vpclmulqdq",
any(target_feature = "avx2", target_feature = "avx512f")
))]
mod x86_64;
#[cfg(any(
test,
all(
target_arch = "x86_64",
target_feature = "vpclmulqdq",
any(target_feature = "avx2", target_feature = "avx512f")
)
))]
pub(crate) mod split;
#[cfg(all(
target_arch = "x86_64",
target_feature = "vpclmulqdq",
any(target_feature = "avx2", target_feature = "avx512f")
))]
pub(crate) use PackedGhash128 as Packing;
#[cfg(all(
target_arch = "x86_64",
target_feature = "vpclmulqdq",
any(target_feature = "avx2", target_feature = "avx512f")
))]
pub use x86_64::PackedGhash128;
#[cfg(all(
target_arch = "x86_64",
target_feature = "vpclmulqdq",
any(target_feature = "avx2", target_feature = "avx512f")
))]
pub(crate) use x86_64::lanes;
#[cfg(not(all(
target_arch = "x86_64",
target_feature = "vpclmulqdq",
any(target_feature = "avx2", target_feature = "avx512f")
)))]
pub(crate) use crate::Ghash128 as Packing;