binius_field/arch/x86_64/
mod.rs1use cfg_if::cfg_if;
4
5#[cfg(target_feature = "gfni")]
6mod gfni;
7
8#[cfg(target_feature = "pclmulqdq")]
9mod pclmul;
10mod simd;
11
12cfg_if! {
13 if #[cfg(target_feature = "sse2")] {
14 pub(super) mod m128;
15 pub mod packed_128;
16 pub mod packed_polyval_128;
17 pub mod packed_aes_128;
18 } else {
19 pub use super::portable::packed_128;
20 pub use super::portable::packed_aes_128;
21 pub use super::portable::packed_polyval_128;
22 }
23}
24
25cfg_if! {
26 if #[cfg(target_feature = "avx2")] {
27 pub(super) mod m256;
28 pub mod packed_256;
29 pub mod packed_polyval_256;
30 pub mod packed_aes_256;
31 } else {
32 pub use super::portable::packed_256;
33 pub use super::portable::packed_aes_256;
34 pub use super::portable::packed_polyval_256;
35 }
36}
37
38cfg_if! {
39 if #[cfg(target_feature = "avx512f")] {
40 pub(super) mod m512;
41 pub mod packed_512;
42 pub mod packed_polyval_512;
43 pub mod packed_aes_512;
44 } else {
45 pub use super::portable::packed_512;
46 pub use super::portable::packed_aes_512;
47 pub use super::portable::packed_polyval_512;
48 }
49}