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