#[cfg(all(
feature = "simd-avx2",
target_arch = "x86_64",
not(target_env = "msvc"),
not(any(target_os = "android", target_os = "ios"))
))]
pub(crate) mod avx2;
#[cfg(all(
feature = "simd-avx512",
target_arch = "x86_64",
not(target_env = "msvc"),
not(any(target_os = "android", target_os = "ios"))
))]
pub(crate) mod avx512;
#[cfg(all(
feature = "simd-gfni",
target_arch = "x86_64",
not(target_env = "msvc"),
not(any(target_os = "android", target_os = "ios"))
))]
pub(crate) mod gfni;
#[cfg(all(
feature = "simd-ssse3",
target_arch = "x86_64",
not(target_env = "msvc"),
not(any(target_os = "android", target_os = "ios"))
))]
pub(crate) mod ssse3;
pub(crate) mod codegen;
#[cfg(all(
any(
feature = "simd-ssse3",
feature = "simd-avx2",
feature = "simd-avx512",
feature = "simd-gfni"
),
target_arch = "x86_64",
not(target_env = "msvc"),
not(any(target_os = "android", target_os = "ios"))
))]
#[inline]
fn load_table_halves(c: u8) -> (&'static [u8; 16], &'static [u8; 16]) {
(
&super::MUL_TABLE_LOW[c as usize],
&super::MUL_TABLE_HIGH[c as usize],
)
}