1#![allow(non_camel_case_types)]
2
3pub mod bits;
4mod traits;
5
6cfg_if::cfg_if! {
8 if #[cfg(target_feature = "sse2")] {
9 mod sse2;
10 use self::sse2::*;
11 } else if #[cfg(all(target_feature="neon", target_arch="aarch64"))] {
12 pub mod neon;
13 use self::neon::*;
14 } else {
15 mod v128;
17 use self::v128::*;
18 }
19}
20
21cfg_if::cfg_if! {
23 if #[cfg(target_feature = "avx2")] {
24 mod avx2;
25 use self::avx2::*;
26 } else {
27 mod v256;
28 use self::v256::*;
29 }
30}
31
32pub use self::traits::{BitMask, Mask, Simd};
33mod v512;
36use self::v512::*;
37
38pub type u8x16 = Simd128u;
39pub type u8x32 = Simd256u;
40pub type u8x64 = Simd512u;
41
42pub type i8x16 = Simd128i;
43pub type i8x32 = Simd256i;
44pub type i8x64 = Simd512i;
45
46pub type m8x32 = Mask256;