binius_field/arch/portable/
packed_aes_32.rs1use cfg_if::cfg_if;
4
5use crate::{
6 arch::{
7 PairwiseTableStrategy,
8 portable::packed_macros::{portable_macros::*, *},
9 },
10 arithmetic_traits::{impl_invert_with, impl_mul_alpha_with, impl_mul_with, impl_square_with},
11};
12
13define_packed_binary_fields!(
14 underlier: u32,
15 packed_fields: [
16 packed_field {
17 name: PackedAESBinaryField4x8b,
18 scalar: AESTowerField8b,
19 mul: (if gfni_x86 PackedAESBinaryField16x8b else PairwiseTableStrategy),
20 square: (PairwiseTableStrategy),
21 invert: (if gfni_x86 PackedAESBinaryField16x8b else PairwiseTableStrategy),
22 mul_alpha: (PairwiseTableStrategy),
23 transform: (PackedStrategy),
24 },
25 ]
26);