use crate::simd::align::*;
pub trait ValidLayout: crate::simd::seal::ValidLayout {}
macro_rules! valid_num_layouts {
{ $([$Elm:ty; $len:literal] = { Align = $Align:ty$(,)? } $(= $feature:literal)?),*$(,)? } => {$(
$(#[cfg(feature = $feature)])?
unsafe impl ::polylane::simd::seal::ValidLayout for ::polylane::simd::Layout<$Elm, $len> {
type Align = $Align;
}
$(#[cfg(feature = $feature)])?
impl ::polylane::simd::ValidLayout for ::polylane::simd::Layout<$Elm, $len> {}
)*};
}
macro_rules! valid_const_ptr_layouts {
{ $([*const _; $len:literal] = { Align = $Align:ty$(,)? }),*$(,)? } => {$(
unsafe impl<T: ::core::marker::Sized> ::polylane::simd::seal::ValidLayout for ::polylane::simd::Layout<*const T, $len> {
type Align = $Align;
}
impl<T: ::core::marker::Sized> ::polylane::simd::ValidLayout for ::polylane::simd::Layout<*const T, $len> {}
)*};
}
macro_rules! valid_mut_ptr_layouts {
{ $([*mut _; $len:literal] = { Align = $Align:ty$(,)? }),*$(,)? } => {$(
unsafe impl<T: ::core::marker::Sized> ::polylane::simd::seal::ValidLayout for ::polylane::simd::Layout<*mut T, $len> {
type Align = $Align;
}
impl<T: ::core::marker::Sized> ::polylane::simd::ValidLayout for ::polylane::simd::Layout<*mut T, $len> {}
)*};
}
valid_num_layouts! {
[u8; 01] = { Align = AlignByteX1 },
[u8; 02] = { Align = AlignByteX2 },
[u8; 03] = { Align = AlignByteX1 },
[u8; 04] = { Align = AlignByteX4 },
[u8; 05] = { Align = AlignByteX1 },
[u8; 06] = { Align = AlignByteX2 },
[u8; 07] = { Align = AlignByteX1 },
[u8; 08] = { Align = AlignByteX8 },
[u8; 09] = { Align = AlignByteX1 },
[u8; 10] = { Align = AlignByteX2 },
[u8; 11] = { Align = AlignByteX1 },
[u8; 12] = { Align = AlignByteX4 },
[u8; 13] = { Align = AlignByteX1 },
[u8; 14] = { Align = AlignByteX2 },
[u8; 15] = { Align = AlignByteX1 },
[u8; 16] = { Align = AlignByteX16 },
[u8; 17] = { Align = AlignByteX1 },
[u8; 18] = { Align = AlignByteX2 },
[u8; 19] = { Align = AlignByteX1 },
[u8; 20] = { Align = AlignByteX4 },
[u8; 21] = { Align = AlignByteX1 },
[u8; 22] = { Align = AlignByteX2 },
[u8; 23] = { Align = AlignByteX1 },
[u8; 24] = { Align = AlignByteX8 },
[u8; 25] = { Align = AlignByteX1 },
[u8; 26] = { Align = AlignByteX2 },
[u8; 27] = { Align = AlignByteX1 },
[u8; 28] = { Align = AlignByteX4 },
[u8; 29] = { Align = AlignByteX1 },
[u8; 30] = { Align = AlignByteX2 },
[u8; 31] = { Align = AlignByteX1 },
[u8; 32] = { Align = AlignByteX32 },
[u8; 33] = { Align = AlignByteX1 },
[u8; 34] = { Align = AlignByteX2 },
[u8; 35] = { Align = AlignByteX1 },
[u8; 36] = { Align = AlignByteX4 },
[u8; 37] = { Align = AlignByteX1 },
[u8; 38] = { Align = AlignByteX2 },
[u8; 39] = { Align = AlignByteX1 },
[u8; 40] = { Align = AlignByteX8 },
[u8; 41] = { Align = AlignByteX1 },
[u8; 42] = { Align = AlignByteX2 },
[u8; 43] = { Align = AlignByteX1 },
[u8; 44] = { Align = AlignByteX4 },
[u8; 45] = { Align = AlignByteX1 },
[u8; 46] = { Align = AlignByteX2 },
[u8; 47] = { Align = AlignByteX1 },
[u8; 48] = { Align = AlignByteX16 },
[u8; 49] = { Align = AlignByteX1 },
[u8; 50] = { Align = AlignByteX2 },
[u8; 51] = { Align = AlignByteX1 },
[u8; 52] = { Align = AlignByteX4 },
[u8; 53] = { Align = AlignByteX1 },
[u8; 54] = { Align = AlignByteX2 },
[u8; 55] = { Align = AlignByteX1 },
[u8; 56] = { Align = AlignByteX8 },
[u8; 57] = { Align = AlignByteX1 },
[u8; 58] = { Align = AlignByteX2 },
[u8; 59] = { Align = AlignByteX1 },
[u8; 60] = { Align = AlignByteX4 },
[u8; 61] = { Align = AlignByteX1 },
[u8; 62] = { Align = AlignByteX2 },
[u8; 63] = { Align = AlignByteX1 },
[u8; 64] = { Align = AlignByteX64 },
[i8; 01] = { Align = AlignByteX1 },
[i8; 02] = { Align = AlignByteX2 },
[i8; 03] = { Align = AlignByteX1 },
[i8; 04] = { Align = AlignByteX4 },
[i8; 05] = { Align = AlignByteX1 },
[i8; 06] = { Align = AlignByteX2 },
[i8; 07] = { Align = AlignByteX1 },
[i8; 08] = { Align = AlignByteX8 },
[i8; 09] = { Align = AlignByteX1 },
[i8; 10] = { Align = AlignByteX2 },
[i8; 11] = { Align = AlignByteX1 },
[i8; 12] = { Align = AlignByteX4 },
[i8; 13] = { Align = AlignByteX1 },
[i8; 14] = { Align = AlignByteX2 },
[i8; 15] = { Align = AlignByteX1 },
[i8; 16] = { Align = AlignByteX16 },
[i8; 17] = { Align = AlignByteX1 },
[i8; 18] = { Align = AlignByteX2 },
[i8; 19] = { Align = AlignByteX1 },
[i8; 20] = { Align = AlignByteX4 },
[i8; 21] = { Align = AlignByteX1 },
[i8; 22] = { Align = AlignByteX2 },
[i8; 23] = { Align = AlignByteX1 },
[i8; 24] = { Align = AlignByteX8 },
[i8; 25] = { Align = AlignByteX1 },
[i8; 26] = { Align = AlignByteX2 },
[i8; 27] = { Align = AlignByteX1 },
[i8; 28] = { Align = AlignByteX4 },
[i8; 29] = { Align = AlignByteX1 },
[i8; 30] = { Align = AlignByteX2 },
[i8; 31] = { Align = AlignByteX1 },
[i8; 32] = { Align = AlignByteX32 },
[i8; 33] = { Align = AlignByteX1 },
[i8; 34] = { Align = AlignByteX2 },
[i8; 35] = { Align = AlignByteX1 },
[i8; 36] = { Align = AlignByteX4 },
[i8; 37] = { Align = AlignByteX1 },
[i8; 38] = { Align = AlignByteX2 },
[i8; 39] = { Align = AlignByteX1 },
[i8; 40] = { Align = AlignByteX8 },
[i8; 41] = { Align = AlignByteX1 },
[i8; 42] = { Align = AlignByteX2 },
[i8; 43] = { Align = AlignByteX1 },
[i8; 44] = { Align = AlignByteX4 },
[i8; 45] = { Align = AlignByteX1 },
[i8; 46] = { Align = AlignByteX2 },
[i8; 47] = { Align = AlignByteX1 },
[i8; 48] = { Align = AlignByteX16 },
[i8; 49] = { Align = AlignByteX1 },
[i8; 50] = { Align = AlignByteX2 },
[i8; 51] = { Align = AlignByteX1 },
[i8; 52] = { Align = AlignByteX4 },
[i8; 53] = { Align = AlignByteX1 },
[i8; 54] = { Align = AlignByteX2 },
[i8; 55] = { Align = AlignByteX1 },
[i8; 56] = { Align = AlignByteX8 },
[i8; 57] = { Align = AlignByteX1 },
[i8; 58] = { Align = AlignByteX2 },
[i8; 59] = { Align = AlignByteX1 },
[i8; 60] = { Align = AlignByteX4 },
[i8; 61] = { Align = AlignByteX1 },
[i8; 62] = { Align = AlignByteX2 },
[i8; 63] = { Align = AlignByteX1 },
[i8; 64] = { Align = AlignByteX64 },
[u16; 01] = { Align = AlignByteX2 },
[u16; 02] = { Align = AlignByteX4 },
[u16; 03] = { Align = AlignByteX2 },
[u16; 04] = { Align = AlignByteX8 },
[u16; 05] = { Align = AlignByteX2 },
[u16; 06] = { Align = AlignByteX4 },
[u16; 07] = { Align = AlignByteX2 },
[u16; 08] = { Align = AlignByteX16 },
[u16; 09] = { Align = AlignByteX2 },
[u16; 10] = { Align = AlignByteX4 },
[u16; 11] = { Align = AlignByteX2 },
[u16; 12] = { Align = AlignByteX8 },
[u16; 13] = { Align = AlignByteX2 },
[u16; 14] = { Align = AlignByteX4 },
[u16; 15] = { Align = AlignByteX2 },
[u16; 16] = { Align = AlignByteX32 },
[u16; 17] = { Align = AlignByteX2 },
[u16; 18] = { Align = AlignByteX4 },
[u16; 19] = { Align = AlignByteX2 },
[u16; 20] = { Align = AlignByteX8 },
[u16; 21] = { Align = AlignByteX2 },
[u16; 22] = { Align = AlignByteX4 },
[u16; 23] = { Align = AlignByteX2 },
[u16; 24] = { Align = AlignByteX16 },
[u16; 25] = { Align = AlignByteX2 },
[u16; 26] = { Align = AlignByteX4 },
[u16; 27] = { Align = AlignByteX2 },
[u16; 28] = { Align = AlignByteX8 },
[u16; 29] = { Align = AlignByteX2 },
[u16; 30] = { Align = AlignByteX4 },
[u16; 31] = { Align = AlignByteX2 },
[u16; 32] = { Align = AlignByteX64 },
[u16; 33] = { Align = AlignByteX2 },
[u16; 34] = { Align = AlignByteX4 },
[u16; 35] = { Align = AlignByteX2 },
[u16; 36] = { Align = AlignByteX8 },
[u16; 37] = { Align = AlignByteX2 },
[u16; 38] = { Align = AlignByteX4 },
[u16; 39] = { Align = AlignByteX2 },
[u16; 40] = { Align = AlignByteX16 },
[u16; 41] = { Align = AlignByteX2 },
[u16; 42] = { Align = AlignByteX4 },
[u16; 43] = { Align = AlignByteX2 },
[u16; 44] = { Align = AlignByteX8 },
[u16; 45] = { Align = AlignByteX2 },
[u16; 46] = { Align = AlignByteX4 },
[u16; 47] = { Align = AlignByteX2 },
[u16; 48] = { Align = AlignByteX32 },
[u16; 49] = { Align = AlignByteX2 },
[u16; 50] = { Align = AlignByteX4 },
[u16; 51] = { Align = AlignByteX2 },
[u16; 52] = { Align = AlignByteX8 },
[u16; 53] = { Align = AlignByteX2 },
[u16; 54] = { Align = AlignByteX4 },
[u16; 55] = { Align = AlignByteX2 },
[u16; 56] = { Align = AlignByteX16 },
[u16; 57] = { Align = AlignByteX2 },
[u16; 58] = { Align = AlignByteX4 },
[u16; 59] = { Align = AlignByteX2 },
[u16; 60] = { Align = AlignByteX8 },
[u16; 61] = { Align = AlignByteX2 },
[u16; 62] = { Align = AlignByteX4 },
[u16; 63] = { Align = AlignByteX2 },
[u16; 64] = { Align = AlignByteX128 },
[i16; 01] = { Align = AlignByteX2 },
[i16; 02] = { Align = AlignByteX4 },
[i16; 03] = { Align = AlignByteX2 },
[i16; 04] = { Align = AlignByteX8 },
[i16; 05] = { Align = AlignByteX2 },
[i16; 06] = { Align = AlignByteX4 },
[i16; 07] = { Align = AlignByteX2 },
[i16; 08] = { Align = AlignByteX16 },
[i16; 09] = { Align = AlignByteX2 },
[i16; 10] = { Align = AlignByteX4 },
[i16; 11] = { Align = AlignByteX2 },
[i16; 12] = { Align = AlignByteX8 },
[i16; 13] = { Align = AlignByteX2 },
[i16; 14] = { Align = AlignByteX4 },
[i16; 15] = { Align = AlignByteX2 },
[i16; 16] = { Align = AlignByteX32 },
[i16; 17] = { Align = AlignByteX2 },
[i16; 18] = { Align = AlignByteX4 },
[i16; 19] = { Align = AlignByteX2 },
[i16; 20] = { Align = AlignByteX8 },
[i16; 21] = { Align = AlignByteX2 },
[i16; 22] = { Align = AlignByteX4 },
[i16; 23] = { Align = AlignByteX2 },
[i16; 24] = { Align = AlignByteX16 },
[i16; 25] = { Align = AlignByteX2 },
[i16; 26] = { Align = AlignByteX4 },
[i16; 27] = { Align = AlignByteX2 },
[i16; 28] = { Align = AlignByteX8 },
[i16; 29] = { Align = AlignByteX2 },
[i16; 30] = { Align = AlignByteX4 },
[i16; 31] = { Align = AlignByteX2 },
[i16; 32] = { Align = AlignByteX64 },
[i16; 33] = { Align = AlignByteX2 },
[i16; 34] = { Align = AlignByteX4 },
[i16; 35] = { Align = AlignByteX2 },
[i16; 36] = { Align = AlignByteX8 },
[i16; 37] = { Align = AlignByteX2 },
[i16; 38] = { Align = AlignByteX4 },
[i16; 39] = { Align = AlignByteX2 },
[i16; 40] = { Align = AlignByteX16 },
[i16; 41] = { Align = AlignByteX2 },
[i16; 42] = { Align = AlignByteX4 },
[i16; 43] = { Align = AlignByteX2 },
[i16; 44] = { Align = AlignByteX8 },
[i16; 45] = { Align = AlignByteX2 },
[i16; 46] = { Align = AlignByteX4 },
[i16; 47] = { Align = AlignByteX2 },
[i16; 48] = { Align = AlignByteX32 },
[i16; 49] = { Align = AlignByteX2 },
[i16; 50] = { Align = AlignByteX4 },
[i16; 51] = { Align = AlignByteX2 },
[i16; 52] = { Align = AlignByteX8 },
[i16; 53] = { Align = AlignByteX2 },
[i16; 54] = { Align = AlignByteX4 },
[i16; 55] = { Align = AlignByteX2 },
[i16; 56] = { Align = AlignByteX16 },
[i16; 57] = { Align = AlignByteX2 },
[i16; 58] = { Align = AlignByteX4 },
[i16; 59] = { Align = AlignByteX2 },
[i16; 60] = { Align = AlignByteX8 },
[i16; 61] = { Align = AlignByteX2 },
[i16; 62] = { Align = AlignByteX4 },
[i16; 63] = { Align = AlignByteX2 },
[i16; 64] = { Align = AlignByteX128 },
[u32; 01] = { Align = AlignByteX4 },
[u32; 02] = { Align = AlignByteX8 },
[u32; 03] = { Align = AlignByteX4 },
[u32; 04] = { Align = AlignByteX16 },
[u32; 05] = { Align = AlignByteX4 },
[u32; 06] = { Align = AlignByteX8 },
[u32; 07] = { Align = AlignByteX4 },
[u32; 08] = { Align = AlignByteX32 },
[u32; 09] = { Align = AlignByteX4 },
[u32; 10] = { Align = AlignByteX8 },
[u32; 11] = { Align = AlignByteX4 },
[u32; 12] = { Align = AlignByteX16 },
[u32; 13] = { Align = AlignByteX4 },
[u32; 14] = { Align = AlignByteX8 },
[u32; 15] = { Align = AlignByteX4 },
[u32; 16] = { Align = AlignByteX64 },
[u32; 17] = { Align = AlignByteX4 },
[u32; 18] = { Align = AlignByteX8 },
[u32; 19] = { Align = AlignByteX4 },
[u32; 20] = { Align = AlignByteX16 },
[u32; 21] = { Align = AlignByteX4 },
[u32; 22] = { Align = AlignByteX8 },
[u32; 23] = { Align = AlignByteX4 },
[u32; 24] = { Align = AlignByteX32 },
[u32; 25] = { Align = AlignByteX4 },
[u32; 26] = { Align = AlignByteX8 },
[u32; 27] = { Align = AlignByteX4 },
[u32; 28] = { Align = AlignByteX16 },
[u32; 29] = { Align = AlignByteX4 },
[u32; 30] = { Align = AlignByteX8 },
[u32; 31] = { Align = AlignByteX4 },
[u32; 32] = { Align = AlignByteX128 },
[u32; 33] = { Align = AlignByteX4 },
[u32; 34] = { Align = AlignByteX8 },
[u32; 35] = { Align = AlignByteX4 },
[u32; 36] = { Align = AlignByteX16 },
[u32; 37] = { Align = AlignByteX4 },
[u32; 38] = { Align = AlignByteX8 },
[u32; 39] = { Align = AlignByteX4 },
[u32; 40] = { Align = AlignByteX32 },
[u32; 41] = { Align = AlignByteX4 },
[u32; 42] = { Align = AlignByteX8 },
[u32; 43] = { Align = AlignByteX4 },
[u32; 44] = { Align = AlignByteX16 },
[u32; 45] = { Align = AlignByteX4 },
[u32; 46] = { Align = AlignByteX8 },
[u32; 47] = { Align = AlignByteX4 },
[u32; 48] = { Align = AlignByteX64 },
[u32; 49] = { Align = AlignByteX4 },
[u32; 50] = { Align = AlignByteX8 },
[u32; 51] = { Align = AlignByteX4 },
[u32; 52] = { Align = AlignByteX16 },
[u32; 53] = { Align = AlignByteX4 },
[u32; 54] = { Align = AlignByteX8 },
[u32; 55] = { Align = AlignByteX4 },
[u32; 56] = { Align = AlignByteX32 },
[u32; 57] = { Align = AlignByteX4 },
[u32; 58] = { Align = AlignByteX8 },
[u32; 59] = { Align = AlignByteX4 },
[u32; 60] = { Align = AlignByteX16 },
[u32; 61] = { Align = AlignByteX4 },
[u32; 62] = { Align = AlignByteX8 },
[u32; 63] = { Align = AlignByteX4 },
[u32; 64] = { Align = AlignByteX256 },
[i32; 01] = { Align = AlignByteX4 },
[i32; 02] = { Align = AlignByteX8 },
[i32; 03] = { Align = AlignByteX4 },
[i32; 04] = { Align = AlignByteX16 },
[i32; 05] = { Align = AlignByteX4 },
[i32; 06] = { Align = AlignByteX8 },
[i32; 07] = { Align = AlignByteX4 },
[i32; 08] = { Align = AlignByteX32 },
[i32; 09] = { Align = AlignByteX4 },
[i32; 10] = { Align = AlignByteX8 },
[i32; 11] = { Align = AlignByteX4 },
[i32; 12] = { Align = AlignByteX16 },
[i32; 13] = { Align = AlignByteX4 },
[i32; 14] = { Align = AlignByteX8 },
[i32; 15] = { Align = AlignByteX4 },
[i32; 16] = { Align = AlignByteX64 },
[i32; 17] = { Align = AlignByteX4 },
[i32; 18] = { Align = AlignByteX8 },
[i32; 19] = { Align = AlignByteX4 },
[i32; 20] = { Align = AlignByteX16 },
[i32; 21] = { Align = AlignByteX4 },
[i32; 22] = { Align = AlignByteX8 },
[i32; 23] = { Align = AlignByteX4 },
[i32; 24] = { Align = AlignByteX32 },
[i32; 25] = { Align = AlignByteX4 },
[i32; 26] = { Align = AlignByteX8 },
[i32; 27] = { Align = AlignByteX4 },
[i32; 28] = { Align = AlignByteX16 },
[i32; 29] = { Align = AlignByteX4 },
[i32; 30] = { Align = AlignByteX8 },
[i32; 31] = { Align = AlignByteX4 },
[i32; 32] = { Align = AlignByteX128 },
[i32; 33] = { Align = AlignByteX4 },
[i32; 34] = { Align = AlignByteX8 },
[i32; 35] = { Align = AlignByteX4 },
[i32; 36] = { Align = AlignByteX16 },
[i32; 37] = { Align = AlignByteX4 },
[i32; 38] = { Align = AlignByteX8 },
[i32; 39] = { Align = AlignByteX4 },
[i32; 40] = { Align = AlignByteX32 },
[i32; 41] = { Align = AlignByteX4 },
[i32; 42] = { Align = AlignByteX8 },
[i32; 43] = { Align = AlignByteX4 },
[i32; 44] = { Align = AlignByteX16 },
[i32; 45] = { Align = AlignByteX4 },
[i32; 46] = { Align = AlignByteX8 },
[i32; 47] = { Align = AlignByteX4 },
[i32; 48] = { Align = AlignByteX64 },
[i32; 49] = { Align = AlignByteX4 },
[i32; 50] = { Align = AlignByteX8 },
[i32; 51] = { Align = AlignByteX4 },
[i32; 52] = { Align = AlignByteX16 },
[i32; 53] = { Align = AlignByteX4 },
[i32; 54] = { Align = AlignByteX8 },
[i32; 55] = { Align = AlignByteX4 },
[i32; 56] = { Align = AlignByteX32 },
[i32; 57] = { Align = AlignByteX4 },
[i32; 58] = { Align = AlignByteX8 },
[i32; 59] = { Align = AlignByteX4 },
[i32; 60] = { Align = AlignByteX16 },
[i32; 61] = { Align = AlignByteX4 },
[i32; 62] = { Align = AlignByteX8 },
[i32; 63] = { Align = AlignByteX4 },
[i32; 64] = { Align = AlignByteX256 },
[u64; 01] = { Align = AlignByteX8 },
[u64; 02] = { Align = AlignByteX16 },
[u64; 03] = { Align = AlignByteX8 },
[u64; 04] = { Align = AlignByteX32 },
[u64; 05] = { Align = AlignByteX8 },
[u64; 06] = { Align = AlignByteX16 },
[u64; 07] = { Align = AlignByteX8 },
[u64; 08] = { Align = AlignByteX64 },
[u64; 09] = { Align = AlignByteX8 },
[u64; 10] = { Align = AlignByteX16 },
[u64; 11] = { Align = AlignByteX8 },
[u64; 12] = { Align = AlignByteX32 },
[u64; 13] = { Align = AlignByteX8 },
[u64; 14] = { Align = AlignByteX16 },
[u64; 15] = { Align = AlignByteX8 },
[u64; 16] = { Align = AlignByteX128 },
[u64; 17] = { Align = AlignByteX8 },
[u64; 18] = { Align = AlignByteX16 },
[u64; 19] = { Align = AlignByteX8 },
[u64; 20] = { Align = AlignByteX32 },
[u64; 21] = { Align = AlignByteX8 },
[u64; 22] = { Align = AlignByteX16 },
[u64; 23] = { Align = AlignByteX8 },
[u64; 24] = { Align = AlignByteX64 },
[u64; 25] = { Align = AlignByteX8 },
[u64; 26] = { Align = AlignByteX16 },
[u64; 27] = { Align = AlignByteX8 },
[u64; 28] = { Align = AlignByteX32 },
[u64; 29] = { Align = AlignByteX8 },
[u64; 30] = { Align = AlignByteX16 },
[u64; 31] = { Align = AlignByteX8 },
[u64; 32] = { Align = AlignByteX256 },
[u64; 33] = { Align = AlignByteX8 },
[u64; 34] = { Align = AlignByteX16 },
[u64; 35] = { Align = AlignByteX8 },
[u64; 36] = { Align = AlignByteX32 },
[u64; 37] = { Align = AlignByteX8 },
[u64; 38] = { Align = AlignByteX16 },
[u64; 39] = { Align = AlignByteX8 },
[u64; 40] = { Align = AlignByteX64 },
[u64; 41] = { Align = AlignByteX8 },
[u64; 42] = { Align = AlignByteX16 },
[u64; 43] = { Align = AlignByteX8 },
[u64; 44] = { Align = AlignByteX32 },
[u64; 45] = { Align = AlignByteX8 },
[u64; 46] = { Align = AlignByteX16 },
[u64; 47] = { Align = AlignByteX8 },
[u64; 48] = { Align = AlignByteX128 },
[u64; 49] = { Align = AlignByteX8 },
[u64; 50] = { Align = AlignByteX16 },
[u64; 51] = { Align = AlignByteX8 },
[u64; 52] = { Align = AlignByteX32 },
[u64; 53] = { Align = AlignByteX8 },
[u64; 54] = { Align = AlignByteX16 },
[u64; 55] = { Align = AlignByteX8 },
[u64; 56] = { Align = AlignByteX64 },
[u64; 57] = { Align = AlignByteX8 },
[u64; 58] = { Align = AlignByteX16 },
[u64; 59] = { Align = AlignByteX8 },
[u64; 60] = { Align = AlignByteX32 },
[u64; 61] = { Align = AlignByteX8 },
[u64; 62] = { Align = AlignByteX16 },
[u64; 63] = { Align = AlignByteX8 },
[u64; 64] = { Align = AlignByteX512 },
[i64; 01] = { Align = AlignByteX8 },
[i64; 02] = { Align = AlignByteX16 },
[i64; 03] = { Align = AlignByteX8 },
[i64; 04] = { Align = AlignByteX32 },
[i64; 05] = { Align = AlignByteX8 },
[i64; 06] = { Align = AlignByteX16 },
[i64; 07] = { Align = AlignByteX8 },
[i64; 08] = { Align = AlignByteX64 },
[i64; 09] = { Align = AlignByteX8 },
[i64; 10] = { Align = AlignByteX16 },
[i64; 11] = { Align = AlignByteX8 },
[i64; 12] = { Align = AlignByteX32 },
[i64; 13] = { Align = AlignByteX8 },
[i64; 14] = { Align = AlignByteX16 },
[i64; 15] = { Align = AlignByteX8 },
[i64; 16] = { Align = AlignByteX128 },
[i64; 17] = { Align = AlignByteX8 },
[i64; 18] = { Align = AlignByteX16 },
[i64; 19] = { Align = AlignByteX8 },
[i64; 20] = { Align = AlignByteX32 },
[i64; 21] = { Align = AlignByteX8 },
[i64; 22] = { Align = AlignByteX16 },
[i64; 23] = { Align = AlignByteX8 },
[i64; 24] = { Align = AlignByteX64 },
[i64; 25] = { Align = AlignByteX8 },
[i64; 26] = { Align = AlignByteX16 },
[i64; 27] = { Align = AlignByteX8 },
[i64; 28] = { Align = AlignByteX32 },
[i64; 29] = { Align = AlignByteX8 },
[i64; 30] = { Align = AlignByteX16 },
[i64; 31] = { Align = AlignByteX8 },
[i64; 32] = { Align = AlignByteX256 },
[i64; 33] = { Align = AlignByteX8 },
[i64; 34] = { Align = AlignByteX16 },
[i64; 35] = { Align = AlignByteX8 },
[i64; 36] = { Align = AlignByteX32 },
[i64; 37] = { Align = AlignByteX8 },
[i64; 38] = { Align = AlignByteX16 },
[i64; 39] = { Align = AlignByteX8 },
[i64; 40] = { Align = AlignByteX64 },
[i64; 41] = { Align = AlignByteX8 },
[i64; 42] = { Align = AlignByteX16 },
[i64; 43] = { Align = AlignByteX8 },
[i64; 44] = { Align = AlignByteX32 },
[i64; 45] = { Align = AlignByteX8 },
[i64; 46] = { Align = AlignByteX16 },
[i64; 47] = { Align = AlignByteX8 },
[i64; 48] = { Align = AlignByteX128 },
[i64; 49] = { Align = AlignByteX8 },
[i64; 50] = { Align = AlignByteX16 },
[i64; 51] = { Align = AlignByteX8 },
[i64; 52] = { Align = AlignByteX32 },
[i64; 53] = { Align = AlignByteX8 },
[i64; 54] = { Align = AlignByteX16 },
[i64; 55] = { Align = AlignByteX8 },
[i64; 56] = { Align = AlignByteX64 },
[i64; 57] = { Align = AlignByteX8 },
[i64; 58] = { Align = AlignByteX16 },
[i64; 59] = { Align = AlignByteX8 },
[i64; 60] = { Align = AlignByteX32 },
[i64; 61] = { Align = AlignByteX8 },
[i64; 62] = { Align = AlignByteX16 },
[i64; 63] = { Align = AlignByteX8 },
[i64; 64] = { Align = AlignByteX512 },
[u128; 01] = { Align = AlignByteX16 },
[u128; 02] = { Align = AlignByteX32 },
[u128; 03] = { Align = AlignByteX16 },
[u128; 04] = { Align = AlignByteX64 },
[u128; 05] = { Align = AlignByteX16 },
[u128; 06] = { Align = AlignByteX32 },
[u128; 07] = { Align = AlignByteX16 },
[u128; 08] = { Align = AlignByteX128 },
[u128; 09] = { Align = AlignByteX16 },
[u128; 10] = { Align = AlignByteX32 },
[u128; 11] = { Align = AlignByteX16 },
[u128; 12] = { Align = AlignByteX64 },
[u128; 13] = { Align = AlignByteX16 },
[u128; 14] = { Align = AlignByteX32 },
[u128; 15] = { Align = AlignByteX16 },
[u128; 16] = { Align = AlignByteX256 },
[u128; 17] = { Align = AlignByteX16 },
[u128; 18] = { Align = AlignByteX32 },
[u128; 19] = { Align = AlignByteX16 },
[u128; 20] = { Align = AlignByteX64 },
[u128; 21] = { Align = AlignByteX16 },
[u128; 22] = { Align = AlignByteX32 },
[u128; 23] = { Align = AlignByteX16 },
[u128; 24] = { Align = AlignByteX128 },
[u128; 25] = { Align = AlignByteX16 },
[u128; 26] = { Align = AlignByteX32 },
[u128; 27] = { Align = AlignByteX16 },
[u128; 28] = { Align = AlignByteX64 },
[u128; 29] = { Align = AlignByteX16 },
[u128; 30] = { Align = AlignByteX32 },
[u128; 31] = { Align = AlignByteX16 },
[u128; 32] = { Align = AlignByteX512 },
[u128; 33] = { Align = AlignByteX16 },
[u128; 34] = { Align = AlignByteX32 },
[u128; 35] = { Align = AlignByteX16 },
[u128; 36] = { Align = AlignByteX64 },
[u128; 37] = { Align = AlignByteX16 },
[u128; 38] = { Align = AlignByteX32 },
[u128; 39] = { Align = AlignByteX16 },
[u128; 40] = { Align = AlignByteX128 },
[u128; 41] = { Align = AlignByteX16 },
[u128; 42] = { Align = AlignByteX32 },
[u128; 43] = { Align = AlignByteX16 },
[u128; 44] = { Align = AlignByteX64 },
[u128; 45] = { Align = AlignByteX16 },
[u128; 46] = { Align = AlignByteX32 },
[u128; 47] = { Align = AlignByteX16 },
[u128; 48] = { Align = AlignByteX256 },
[u128; 49] = { Align = AlignByteX16 },
[u128; 50] = { Align = AlignByteX32 },
[u128; 51] = { Align = AlignByteX16 },
[u128; 52] = { Align = AlignByteX64 },
[u128; 53] = { Align = AlignByteX16 },
[u128; 54] = { Align = AlignByteX32 },
[u128; 55] = { Align = AlignByteX16 },
[u128; 56] = { Align = AlignByteX128 },
[u128; 57] = { Align = AlignByteX16 },
[u128; 58] = { Align = AlignByteX32 },
[u128; 59] = { Align = AlignByteX16 },
[u128; 60] = { Align = AlignByteX64 },
[u128; 61] = { Align = AlignByteX16 },
[u128; 62] = { Align = AlignByteX32 },
[u128; 63] = { Align = AlignByteX16 },
[u128; 64] = { Align = AlignByteX1024 },
[i128; 01] = { Align = AlignByteX16 },
[i128; 02] = { Align = AlignByteX32 },
[i128; 03] = { Align = AlignByteX16 },
[i128; 04] = { Align = AlignByteX64 },
[i128; 05] = { Align = AlignByteX16 },
[i128; 06] = { Align = AlignByteX32 },
[i128; 07] = { Align = AlignByteX16 },
[i128; 08] = { Align = AlignByteX128 },
[i128; 09] = { Align = AlignByteX16 },
[i128; 10] = { Align = AlignByteX32 },
[i128; 11] = { Align = AlignByteX16 },
[i128; 12] = { Align = AlignByteX64 },
[i128; 13] = { Align = AlignByteX16 },
[i128; 14] = { Align = AlignByteX32 },
[i128; 15] = { Align = AlignByteX16 },
[i128; 16] = { Align = AlignByteX256 },
[i128; 17] = { Align = AlignByteX16 },
[i128; 18] = { Align = AlignByteX32 },
[i128; 19] = { Align = AlignByteX16 },
[i128; 20] = { Align = AlignByteX64 },
[i128; 21] = { Align = AlignByteX16 },
[i128; 22] = { Align = AlignByteX32 },
[i128; 23] = { Align = AlignByteX16 },
[i128; 24] = { Align = AlignByteX128 },
[i128; 25] = { Align = AlignByteX16 },
[i128; 26] = { Align = AlignByteX32 },
[i128; 27] = { Align = AlignByteX16 },
[i128; 28] = { Align = AlignByteX64 },
[i128; 29] = { Align = AlignByteX16 },
[i128; 30] = { Align = AlignByteX32 },
[i128; 31] = { Align = AlignByteX16 },
[i128; 32] = { Align = AlignByteX512 },
[i128; 33] = { Align = AlignByteX16 },
[i128; 34] = { Align = AlignByteX32 },
[i128; 35] = { Align = AlignByteX16 },
[i128; 36] = { Align = AlignByteX64 },
[i128; 37] = { Align = AlignByteX16 },
[i128; 38] = { Align = AlignByteX32 },
[i128; 39] = { Align = AlignByteX16 },
[i128; 40] = { Align = AlignByteX128 },
[i128; 41] = { Align = AlignByteX16 },
[i128; 42] = { Align = AlignByteX32 },
[i128; 43] = { Align = AlignByteX16 },
[i128; 44] = { Align = AlignByteX64 },
[i128; 45] = { Align = AlignByteX16 },
[i128; 46] = { Align = AlignByteX32 },
[i128; 47] = { Align = AlignByteX16 },
[i128; 48] = { Align = AlignByteX256 },
[i128; 49] = { Align = AlignByteX16 },
[i128; 50] = { Align = AlignByteX32 },
[i128; 51] = { Align = AlignByteX16 },
[i128; 52] = { Align = AlignByteX64 },
[i128; 53] = { Align = AlignByteX16 },
[i128; 54] = { Align = AlignByteX32 },
[i128; 55] = { Align = AlignByteX16 },
[i128; 56] = { Align = AlignByteX128 },
[i128; 57] = { Align = AlignByteX16 },
[i128; 58] = { Align = AlignByteX32 },
[i128; 59] = { Align = AlignByteX16 },
[i128; 60] = { Align = AlignByteX64 },
[i128; 61] = { Align = AlignByteX16 },
[i128; 62] = { Align = AlignByteX32 },
[i128; 63] = { Align = AlignByteX16 },
[i128; 64] = { Align = AlignByteX1024 },
[usize; 01] = { Align = AlignSizeX1 },
[usize; 02] = { Align = AlignSizeX2 },
[usize; 03] = { Align = AlignSizeX1 },
[usize; 04] = { Align = AlignSizeX4 },
[usize; 05] = { Align = AlignSizeX1 },
[usize; 06] = { Align = AlignSizeX2 },
[usize; 07] = { Align = AlignSizeX1 },
[usize; 08] = { Align = AlignSizeX8 },
[usize; 09] = { Align = AlignSizeX1 },
[usize; 10] = { Align = AlignSizeX2 },
[usize; 11] = { Align = AlignSizeX1 },
[usize; 12] = { Align = AlignSizeX4 },
[usize; 13] = { Align = AlignSizeX1 },
[usize; 14] = { Align = AlignSizeX2 },
[usize; 15] = { Align = AlignSizeX1 },
[usize; 16] = { Align = AlignSizeX16 },
[usize; 17] = { Align = AlignSizeX1 },
[usize; 18] = { Align = AlignSizeX2 },
[usize; 19] = { Align = AlignSizeX1 },
[usize; 20] = { Align = AlignSizeX4 },
[usize; 21] = { Align = AlignSizeX1 },
[usize; 22] = { Align = AlignSizeX2 },
[usize; 23] = { Align = AlignSizeX1 },
[usize; 24] = { Align = AlignSizeX8 },
[usize; 25] = { Align = AlignSizeX1 },
[usize; 26] = { Align = AlignSizeX2 },
[usize; 27] = { Align = AlignSizeX1 },
[usize; 28] = { Align = AlignSizeX4 },
[usize; 29] = { Align = AlignSizeX1 },
[usize; 30] = { Align = AlignSizeX2 },
[usize; 31] = { Align = AlignSizeX1 },
[usize; 32] = { Align = AlignSizeX32 },
[usize; 33] = { Align = AlignSizeX1 },
[usize; 34] = { Align = AlignSizeX2 },
[usize; 35] = { Align = AlignSizeX1 },
[usize; 36] = { Align = AlignSizeX4 },
[usize; 37] = { Align = AlignSizeX1 },
[usize; 38] = { Align = AlignSizeX2 },
[usize; 39] = { Align = AlignSizeX1 },
[usize; 40] = { Align = AlignSizeX8 },
[usize; 41] = { Align = AlignSizeX1 },
[usize; 42] = { Align = AlignSizeX2 },
[usize; 43] = { Align = AlignSizeX1 },
[usize; 44] = { Align = AlignSizeX4 },
[usize; 45] = { Align = AlignSizeX1 },
[usize; 46] = { Align = AlignSizeX2 },
[usize; 47] = { Align = AlignSizeX1 },
[usize; 48] = { Align = AlignSizeX16 },
[usize; 49] = { Align = AlignSizeX1 },
[usize; 50] = { Align = AlignSizeX2 },
[usize; 51] = { Align = AlignSizeX1 },
[usize; 52] = { Align = AlignSizeX4 },
[usize; 53] = { Align = AlignSizeX1 },
[usize; 54] = { Align = AlignSizeX2 },
[usize; 55] = { Align = AlignSizeX1 },
[usize; 56] = { Align = AlignSizeX8 },
[usize; 57] = { Align = AlignSizeX1 },
[usize; 58] = { Align = AlignSizeX2 },
[usize; 59] = { Align = AlignSizeX1 },
[usize; 60] = { Align = AlignSizeX4 },
[usize; 61] = { Align = AlignSizeX1 },
[usize; 62] = { Align = AlignSizeX2 },
[usize; 63] = { Align = AlignSizeX1 },
[usize; 64] = { Align = AlignSizeX64 },
[isize; 01] = { Align = AlignSizeX1 },
[isize; 02] = { Align = AlignSizeX2 },
[isize; 03] = { Align = AlignSizeX1 },
[isize; 04] = { Align = AlignSizeX4 },
[isize; 05] = { Align = AlignSizeX1 },
[isize; 06] = { Align = AlignSizeX2 },
[isize; 07] = { Align = AlignSizeX1 },
[isize; 08] = { Align = AlignSizeX8 },
[isize; 09] = { Align = AlignSizeX1 },
[isize; 10] = { Align = AlignSizeX2 },
[isize; 11] = { Align = AlignSizeX1 },
[isize; 12] = { Align = AlignSizeX4 },
[isize; 13] = { Align = AlignSizeX1 },
[isize; 14] = { Align = AlignSizeX2 },
[isize; 15] = { Align = AlignSizeX1 },
[isize; 16] = { Align = AlignSizeX16 },
[isize; 17] = { Align = AlignSizeX1 },
[isize; 18] = { Align = AlignSizeX2 },
[isize; 19] = { Align = AlignSizeX1 },
[isize; 20] = { Align = AlignSizeX4 },
[isize; 21] = { Align = AlignSizeX1 },
[isize; 22] = { Align = AlignSizeX2 },
[isize; 23] = { Align = AlignSizeX1 },
[isize; 24] = { Align = AlignSizeX8 },
[isize; 25] = { Align = AlignSizeX1 },
[isize; 26] = { Align = AlignSizeX2 },
[isize; 27] = { Align = AlignSizeX1 },
[isize; 28] = { Align = AlignSizeX4 },
[isize; 29] = { Align = AlignSizeX1 },
[isize; 30] = { Align = AlignSizeX2 },
[isize; 31] = { Align = AlignSizeX1 },
[isize; 32] = { Align = AlignSizeX32 },
[isize; 33] = { Align = AlignSizeX1 },
[isize; 34] = { Align = AlignSizeX2 },
[isize; 35] = { Align = AlignSizeX1 },
[isize; 36] = { Align = AlignSizeX4 },
[isize; 37] = { Align = AlignSizeX1 },
[isize; 38] = { Align = AlignSizeX2 },
[isize; 39] = { Align = AlignSizeX1 },
[isize; 40] = { Align = AlignSizeX8 },
[isize; 41] = { Align = AlignSizeX1 },
[isize; 42] = { Align = AlignSizeX2 },
[isize; 43] = { Align = AlignSizeX1 },
[isize; 44] = { Align = AlignSizeX4 },
[isize; 45] = { Align = AlignSizeX1 },
[isize; 46] = { Align = AlignSizeX2 },
[isize; 47] = { Align = AlignSizeX1 },
[isize; 48] = { Align = AlignSizeX16 },
[isize; 49] = { Align = AlignSizeX1 },
[isize; 50] = { Align = AlignSizeX2 },
[isize; 51] = { Align = AlignSizeX1 },
[isize; 52] = { Align = AlignSizeX4 },
[isize; 53] = { Align = AlignSizeX1 },
[isize; 54] = { Align = AlignSizeX2 },
[isize; 55] = { Align = AlignSizeX1 },
[isize; 56] = { Align = AlignSizeX8 },
[isize; 57] = { Align = AlignSizeX1 },
[isize; 58] = { Align = AlignSizeX2 },
[isize; 59] = { Align = AlignSizeX1 },
[isize; 60] = { Align = AlignSizeX4 },
[isize; 61] = { Align = AlignSizeX1 },
[isize; 62] = { Align = AlignSizeX2 },
[isize; 63] = { Align = AlignSizeX1 },
[isize; 64] = { Align = AlignSizeX64 },
[f16; 01] = { Align = AlignByteX2 } = "f16",
[f16; 02] = { Align = AlignByteX4 } = "f16",
[f16; 03] = { Align = AlignByteX2 } = "f16",
[f16; 04] = { Align = AlignByteX8 } = "f16",
[f16; 05] = { Align = AlignByteX2 } = "f16",
[f16; 06] = { Align = AlignByteX4 } = "f16",
[f16; 07] = { Align = AlignByteX2 } = "f16",
[f16; 08] = { Align = AlignByteX16 } = "f16",
[f16; 09] = { Align = AlignByteX2 } = "f16",
[f16; 10] = { Align = AlignByteX4 } = "f16",
[f16; 11] = { Align = AlignByteX2 } = "f16",
[f16; 12] = { Align = AlignByteX8 } = "f16",
[f16; 13] = { Align = AlignByteX2 } = "f16",
[f16; 14] = { Align = AlignByteX4 } = "f16",
[f16; 15] = { Align = AlignByteX2 } = "f16",
[f16; 16] = { Align = AlignByteX32 } = "f16",
[f16; 17] = { Align = AlignByteX2 } = "f16",
[f16; 18] = { Align = AlignByteX4 } = "f16",
[f16; 19] = { Align = AlignByteX2 } = "f16",
[f16; 20] = { Align = AlignByteX8 } = "f16",
[f16; 21] = { Align = AlignByteX2 } = "f16",
[f16; 22] = { Align = AlignByteX4 } = "f16",
[f16; 23] = { Align = AlignByteX2 } = "f16",
[f16; 24] = { Align = AlignByteX16 } = "f16",
[f16; 25] = { Align = AlignByteX2 } = "f16",
[f16; 26] = { Align = AlignByteX4 } = "f16",
[f16; 27] = { Align = AlignByteX2 } = "f16",
[f16; 28] = { Align = AlignByteX8 } = "f16",
[f16; 29] = { Align = AlignByteX2 } = "f16",
[f16; 30] = { Align = AlignByteX4 } = "f16",
[f16; 31] = { Align = AlignByteX2 } = "f16",
[f16; 32] = { Align = AlignByteX64 } = "f16",
[f16; 33] = { Align = AlignByteX2 } = "f16",
[f16; 34] = { Align = AlignByteX4 } = "f16",
[f16; 35] = { Align = AlignByteX2 } = "f16",
[f16; 36] = { Align = AlignByteX8 } = "f16",
[f16; 37] = { Align = AlignByteX2 } = "f16",
[f16; 38] = { Align = AlignByteX4 } = "f16",
[f16; 39] = { Align = AlignByteX2 } = "f16",
[f16; 40] = { Align = AlignByteX16 } = "f16",
[f16; 41] = { Align = AlignByteX2 } = "f16",
[f16; 42] = { Align = AlignByteX4 } = "f16",
[f16; 43] = { Align = AlignByteX2 } = "f16",
[f16; 44] = { Align = AlignByteX8 } = "f16",
[f16; 45] = { Align = AlignByteX2 } = "f16",
[f16; 46] = { Align = AlignByteX4 } = "f16",
[f16; 47] = { Align = AlignByteX2 } = "f16",
[f16; 48] = { Align = AlignByteX32 } = "f16",
[f16; 49] = { Align = AlignByteX2 } = "f16",
[f16; 50] = { Align = AlignByteX4 } = "f16",
[f16; 51] = { Align = AlignByteX2 } = "f16",
[f16; 52] = { Align = AlignByteX8 } = "f16",
[f16; 53] = { Align = AlignByteX2 } = "f16",
[f16; 54] = { Align = AlignByteX4 } = "f16",
[f16; 55] = { Align = AlignByteX2 } = "f16",
[f16; 56] = { Align = AlignByteX16 } = "f16",
[f16; 57] = { Align = AlignByteX2 } = "f16",
[f16; 58] = { Align = AlignByteX4 } = "f16",
[f16; 59] = { Align = AlignByteX2 } = "f16",
[f16; 60] = { Align = AlignByteX8 } = "f16",
[f16; 61] = { Align = AlignByteX2 } = "f16",
[f16; 62] = { Align = AlignByteX4 } = "f16",
[f16; 63] = { Align = AlignByteX2 } = "f16",
[f16; 64] = { Align = AlignByteX128 } = "f16",
[f32; 01] = { Align = AlignByteX4 },
[f32; 02] = { Align = AlignByteX8 },
[f32; 03] = { Align = AlignByteX4 },
[f32; 04] = { Align = AlignByteX16 },
[f32; 05] = { Align = AlignByteX4 },
[f32; 06] = { Align = AlignByteX8 },
[f32; 07] = { Align = AlignByteX4 },
[f32; 08] = { Align = AlignByteX32 },
[f32; 09] = { Align = AlignByteX4 },
[f32; 10] = { Align = AlignByteX8 },
[f32; 11] = { Align = AlignByteX4 },
[f32; 12] = { Align = AlignByteX16 },
[f32; 13] = { Align = AlignByteX4 },
[f32; 14] = { Align = AlignByteX8 },
[f32; 15] = { Align = AlignByteX4 },
[f32; 16] = { Align = AlignByteX64 },
[f32; 17] = { Align = AlignByteX4 },
[f32; 18] = { Align = AlignByteX8 },
[f32; 19] = { Align = AlignByteX4 },
[f32; 20] = { Align = AlignByteX16 },
[f32; 21] = { Align = AlignByteX4 },
[f32; 22] = { Align = AlignByteX8 },
[f32; 23] = { Align = AlignByteX4 },
[f32; 24] = { Align = AlignByteX32 },
[f32; 25] = { Align = AlignByteX4 },
[f32; 26] = { Align = AlignByteX8 },
[f32; 27] = { Align = AlignByteX4 },
[f32; 28] = { Align = AlignByteX16 },
[f32; 29] = { Align = AlignByteX4 },
[f32; 30] = { Align = AlignByteX8 },
[f32; 31] = { Align = AlignByteX4 },
[f32; 32] = { Align = AlignByteX128 },
[f32; 33] = { Align = AlignByteX4 },
[f32; 34] = { Align = AlignByteX8 },
[f32; 35] = { Align = AlignByteX4 },
[f32; 36] = { Align = AlignByteX16 },
[f32; 37] = { Align = AlignByteX4 },
[f32; 38] = { Align = AlignByteX8 },
[f32; 39] = { Align = AlignByteX4 },
[f32; 40] = { Align = AlignByteX32 },
[f32; 41] = { Align = AlignByteX4 },
[f32; 42] = { Align = AlignByteX8 },
[f32; 43] = { Align = AlignByteX4 },
[f32; 44] = { Align = AlignByteX16 },
[f32; 45] = { Align = AlignByteX4 },
[f32; 46] = { Align = AlignByteX8 },
[f32; 47] = { Align = AlignByteX4 },
[f32; 48] = { Align = AlignByteX64 },
[f32; 49] = { Align = AlignByteX4 },
[f32; 50] = { Align = AlignByteX8 },
[f32; 51] = { Align = AlignByteX4 },
[f32; 52] = { Align = AlignByteX16 },
[f32; 53] = { Align = AlignByteX4 },
[f32; 54] = { Align = AlignByteX8 },
[f32; 55] = { Align = AlignByteX4 },
[f32; 56] = { Align = AlignByteX32 },
[f32; 57] = { Align = AlignByteX4 },
[f32; 58] = { Align = AlignByteX8 },
[f32; 59] = { Align = AlignByteX4 },
[f32; 60] = { Align = AlignByteX16 },
[f32; 61] = { Align = AlignByteX4 },
[f32; 62] = { Align = AlignByteX8 },
[f32; 63] = { Align = AlignByteX4 },
[f32; 64] = { Align = AlignByteX256 },
[f64; 01] = { Align = AlignByteX8 },
[f64; 02] = { Align = AlignByteX16 },
[f64; 03] = { Align = AlignByteX8 },
[f64; 04] = { Align = AlignByteX32 },
[f64; 05] = { Align = AlignByteX8 },
[f64; 06] = { Align = AlignByteX16 },
[f64; 07] = { Align = AlignByteX8 },
[f64; 08] = { Align = AlignByteX64 },
[f64; 09] = { Align = AlignByteX8 },
[f64; 10] = { Align = AlignByteX16 },
[f64; 11] = { Align = AlignByteX8 },
[f64; 12] = { Align = AlignByteX32 },
[f64; 13] = { Align = AlignByteX8 },
[f64; 14] = { Align = AlignByteX16 },
[f64; 15] = { Align = AlignByteX8 },
[f64; 16] = { Align = AlignByteX128 },
[f64; 17] = { Align = AlignByteX8 },
[f64; 18] = { Align = AlignByteX16 },
[f64; 19] = { Align = AlignByteX8 },
[f64; 20] = { Align = AlignByteX32 },
[f64; 21] = { Align = AlignByteX8 },
[f64; 22] = { Align = AlignByteX16 },
[f64; 23] = { Align = AlignByteX8 },
[f64; 24] = { Align = AlignByteX64 },
[f64; 25] = { Align = AlignByteX8 },
[f64; 26] = { Align = AlignByteX16 },
[f64; 27] = { Align = AlignByteX8 },
[f64; 28] = { Align = AlignByteX32 },
[f64; 29] = { Align = AlignByteX8 },
[f64; 30] = { Align = AlignByteX16 },
[f64; 31] = { Align = AlignByteX8 },
[f64; 32] = { Align = AlignByteX256 },
[f64; 33] = { Align = AlignByteX8 },
[f64; 34] = { Align = AlignByteX16 },
[f64; 35] = { Align = AlignByteX8 },
[f64; 36] = { Align = AlignByteX32 },
[f64; 37] = { Align = AlignByteX8 },
[f64; 38] = { Align = AlignByteX16 },
[f64; 39] = { Align = AlignByteX8 },
[f64; 40] = { Align = AlignByteX64 },
[f64; 41] = { Align = AlignByteX8 },
[f64; 42] = { Align = AlignByteX16 },
[f64; 43] = { Align = AlignByteX8 },
[f64; 44] = { Align = AlignByteX32 },
[f64; 45] = { Align = AlignByteX8 },
[f64; 46] = { Align = AlignByteX16 },
[f64; 47] = { Align = AlignByteX8 },
[f64; 48] = { Align = AlignByteX128 },
[f64; 49] = { Align = AlignByteX8 },
[f64; 50] = { Align = AlignByteX16 },
[f64; 51] = { Align = AlignByteX8 },
[f64; 52] = { Align = AlignByteX32 },
[f64; 53] = { Align = AlignByteX8 },
[f64; 54] = { Align = AlignByteX16 },
[f64; 55] = { Align = AlignByteX8 },
[f64; 56] = { Align = AlignByteX64 },
[f64; 57] = { Align = AlignByteX8 },
[f64; 58] = { Align = AlignByteX16 },
[f64; 59] = { Align = AlignByteX8 },
[f64; 60] = { Align = AlignByteX32 },
[f64; 61] = { Align = AlignByteX8 },
[f64; 62] = { Align = AlignByteX16 },
[f64; 63] = { Align = AlignByteX8 },
[f64; 64] = { Align = AlignByteX512 },
[f128; 01] = { Align = AlignByteX16 } = "f128",
[f128; 02] = { Align = AlignByteX32 } = "f128",
[f128; 03] = { Align = AlignByteX16 } = "f128",
[f128; 04] = { Align = AlignByteX64 } = "f128",
[f128; 05] = { Align = AlignByteX16 } = "f128",
[f128; 06] = { Align = AlignByteX32 } = "f128",
[f128; 07] = { Align = AlignByteX16 } = "f128",
[f128; 08] = { Align = AlignByteX128 } = "f128",
[f128; 09] = { Align = AlignByteX16 } = "f128",
[f128; 10] = { Align = AlignByteX32 } = "f128",
[f128; 11] = { Align = AlignByteX16 } = "f128",
[f128; 12] = { Align = AlignByteX64 } = "f128",
[f128; 13] = { Align = AlignByteX16 } = "f128",
[f128; 14] = { Align = AlignByteX32 } = "f128",
[f128; 15] = { Align = AlignByteX16 } = "f128",
[f128; 16] = { Align = AlignByteX256 } = "f128",
[f128; 17] = { Align = AlignByteX16 } = "f128",
[f128; 18] = { Align = AlignByteX32 } = "f128",
[f128; 19] = { Align = AlignByteX16 } = "f128",
[f128; 20] = { Align = AlignByteX64 } = "f128",
[f128; 21] = { Align = AlignByteX16 } = "f128",
[f128; 22] = { Align = AlignByteX32 } = "f128",
[f128; 23] = { Align = AlignByteX16 } = "f128",
[f128; 24] = { Align = AlignByteX128 } = "f128",
[f128; 25] = { Align = AlignByteX16 } = "f128",
[f128; 26] = { Align = AlignByteX32 } = "f128",
[f128; 27] = { Align = AlignByteX16 } = "f128",
[f128; 28] = { Align = AlignByteX64 } = "f128",
[f128; 29] = { Align = AlignByteX16 } = "f128",
[f128; 30] = { Align = AlignByteX32 } = "f128",
[f128; 31] = { Align = AlignByteX16 } = "f128",
[f128; 32] = { Align = AlignByteX512 } = "f128",
[f128; 33] = { Align = AlignByteX16 } = "f128",
[f128; 34] = { Align = AlignByteX32 } = "f128",
[f128; 35] = { Align = AlignByteX16 } = "f128",
[f128; 36] = { Align = AlignByteX64 } = "f128",
[f128; 37] = { Align = AlignByteX16 } = "f128",
[f128; 38] = { Align = AlignByteX32 } = "f128",
[f128; 39] = { Align = AlignByteX16 } = "f128",
[f128; 40] = { Align = AlignByteX128 } = "f128",
[f128; 41] = { Align = AlignByteX16 } = "f128",
[f128; 42] = { Align = AlignByteX32 } = "f128",
[f128; 43] = { Align = AlignByteX16 } = "f128",
[f128; 44] = { Align = AlignByteX64 } = "f128",
[f128; 45] = { Align = AlignByteX16 } = "f128",
[f128; 46] = { Align = AlignByteX32 } = "f128",
[f128; 47] = { Align = AlignByteX16 } = "f128",
[f128; 48] = { Align = AlignByteX256 } = "f128",
[f128; 49] = { Align = AlignByteX16 } = "f128",
[f128; 50] = { Align = AlignByteX32 } = "f128",
[f128; 51] = { Align = AlignByteX16 } = "f128",
[f128; 52] = { Align = AlignByteX64 } = "f128",
[f128; 53] = { Align = AlignByteX16 } = "f128",
[f128; 54] = { Align = AlignByteX32 } = "f128",
[f128; 55] = { Align = AlignByteX16 } = "f128",
[f128; 56] = { Align = AlignByteX128 } = "f128",
[f128; 57] = { Align = AlignByteX16 } = "f128",
[f128; 58] = { Align = AlignByteX32 } = "f128",
[f128; 59] = { Align = AlignByteX16 } = "f128",
[f128; 60] = { Align = AlignByteX64 } = "f128",
[f128; 61] = { Align = AlignByteX16 } = "f128",
[f128; 62] = { Align = AlignByteX32 } = "f128",
[f128; 63] = { Align = AlignByteX16 } = "f128",
[f128; 64] = { Align = AlignByteX1024 } = "f128",
[(); 01] = { Align = AlignByteX1 },
[(); 02] = { Align = AlignByteX1 },
[(); 03] = { Align = AlignByteX1 },
[(); 04] = { Align = AlignByteX1 },
[(); 05] = { Align = AlignByteX1 },
[(); 06] = { Align = AlignByteX1 },
[(); 07] = { Align = AlignByteX1 },
[(); 08] = { Align = AlignByteX1 },
[(); 09] = { Align = AlignByteX1 },
[(); 10] = { Align = AlignByteX1 },
[(); 11] = { Align = AlignByteX1 },
[(); 12] = { Align = AlignByteX1 },
[(); 13] = { Align = AlignByteX1 },
[(); 14] = { Align = AlignByteX1 },
[(); 15] = { Align = AlignByteX1 },
[(); 16] = { Align = AlignByteX1 },
[(); 17] = { Align = AlignByteX1 },
[(); 18] = { Align = AlignByteX1 },
[(); 19] = { Align = AlignByteX1 },
[(); 20] = { Align = AlignByteX1 },
[(); 21] = { Align = AlignByteX1 },
[(); 22] = { Align = AlignByteX1 },
[(); 23] = { Align = AlignByteX1 },
[(); 24] = { Align = AlignByteX1 },
[(); 25] = { Align = AlignByteX1 },
[(); 26] = { Align = AlignByteX1 },
[(); 27] = { Align = AlignByteX1 },
[(); 28] = { Align = AlignByteX1 },
[(); 29] = { Align = AlignByteX1 },
[(); 30] = { Align = AlignByteX1 },
[(); 31] = { Align = AlignByteX1 },
[(); 32] = { Align = AlignByteX1 },
[(); 33] = { Align = AlignByteX1 },
[(); 34] = { Align = AlignByteX1 },
[(); 35] = { Align = AlignByteX1 },
[(); 36] = { Align = AlignByteX1 },
[(); 37] = { Align = AlignByteX1 },
[(); 38] = { Align = AlignByteX1 },
[(); 39] = { Align = AlignByteX1 },
[(); 40] = { Align = AlignByteX1 },
[(); 41] = { Align = AlignByteX1 },
[(); 42] = { Align = AlignByteX1 },
[(); 43] = { Align = AlignByteX1 },
[(); 44] = { Align = AlignByteX1 },
[(); 45] = { Align = AlignByteX1 },
[(); 46] = { Align = AlignByteX1 },
[(); 47] = { Align = AlignByteX1 },
[(); 48] = { Align = AlignByteX1 },
[(); 49] = { Align = AlignByteX1 },
[(); 50] = { Align = AlignByteX1 },
[(); 51] = { Align = AlignByteX1 },
[(); 52] = { Align = AlignByteX1 },
[(); 53] = { Align = AlignByteX1 },
[(); 54] = { Align = AlignByteX1 },
[(); 55] = { Align = AlignByteX1 },
[(); 56] = { Align = AlignByteX1 },
[(); 57] = { Align = AlignByteX1 },
[(); 58] = { Align = AlignByteX1 },
[(); 59] = { Align = AlignByteX1 },
[(); 60] = { Align = AlignByteX1 },
[(); 61] = { Align = AlignByteX1 },
[(); 62] = { Align = AlignByteX1 },
[(); 63] = { Align = AlignByteX1 },
[(); 64] = { Align = AlignByteX1 },
}
valid_const_ptr_layouts! {
[*const _; 01] = { Align = AlignSizeX1 },
[*const _; 02] = { Align = AlignSizeX2 },
[*const _; 03] = { Align = AlignSizeX1 },
[*const _; 04] = { Align = AlignSizeX4 },
[*const _; 05] = { Align = AlignSizeX1 },
[*const _; 06] = { Align = AlignSizeX2 },
[*const _; 07] = { Align = AlignSizeX1 },
[*const _; 08] = { Align = AlignSizeX8 },
[*const _; 09] = { Align = AlignSizeX1 },
[*const _; 10] = { Align = AlignSizeX2 },
[*const _; 11] = { Align = AlignSizeX1 },
[*const _; 12] = { Align = AlignSizeX4 },
[*const _; 13] = { Align = AlignSizeX1 },
[*const _; 14] = { Align = AlignSizeX2 },
[*const _; 15] = { Align = AlignSizeX1 },
[*const _; 16] = { Align = AlignSizeX16 },
[*const _; 17] = { Align = AlignSizeX1 },
[*const _; 18] = { Align = AlignSizeX2 },
[*const _; 19] = { Align = AlignSizeX1 },
[*const _; 20] = { Align = AlignSizeX4 },
[*const _; 21] = { Align = AlignSizeX1 },
[*const _; 22] = { Align = AlignSizeX2 },
[*const _; 23] = { Align = AlignSizeX1 },
[*const _; 24] = { Align = AlignSizeX8 },
[*const _; 25] = { Align = AlignSizeX1 },
[*const _; 26] = { Align = AlignSizeX2 },
[*const _; 27] = { Align = AlignSizeX1 },
[*const _; 28] = { Align = AlignSizeX4 },
[*const _; 29] = { Align = AlignSizeX1 },
[*const _; 30] = { Align = AlignSizeX2 },
[*const _; 31] = { Align = AlignSizeX1 },
[*const _; 32] = { Align = AlignSizeX32 },
[*const _; 33] = { Align = AlignSizeX1 },
[*const _; 34] = { Align = AlignSizeX2 },
[*const _; 35] = { Align = AlignSizeX1 },
[*const _; 36] = { Align = AlignSizeX4 },
[*const _; 37] = { Align = AlignSizeX1 },
[*const _; 38] = { Align = AlignSizeX2 },
[*const _; 39] = { Align = AlignSizeX1 },
[*const _; 40] = { Align = AlignSizeX8 },
[*const _; 41] = { Align = AlignSizeX1 },
[*const _; 42] = { Align = AlignSizeX2 },
[*const _; 43] = { Align = AlignSizeX1 },
[*const _; 44] = { Align = AlignSizeX4 },
[*const _; 45] = { Align = AlignSizeX1 },
[*const _; 46] = { Align = AlignSizeX2 },
[*const _; 47] = { Align = AlignSizeX1 },
[*const _; 48] = { Align = AlignSizeX16 },
[*const _; 49] = { Align = AlignSizeX1 },
[*const _; 50] = { Align = AlignSizeX2 },
[*const _; 51] = { Align = AlignSizeX1 },
[*const _; 52] = { Align = AlignSizeX4 },
[*const _; 53] = { Align = AlignSizeX1 },
[*const _; 54] = { Align = AlignSizeX2 },
[*const _; 55] = { Align = AlignSizeX1 },
[*const _; 56] = { Align = AlignSizeX8 },
[*const _; 57] = { Align = AlignSizeX1 },
[*const _; 58] = { Align = AlignSizeX2 },
[*const _; 59] = { Align = AlignSizeX1 },
[*const _; 60] = { Align = AlignSizeX4 },
[*const _; 61] = { Align = AlignSizeX1 },
[*const _; 62] = { Align = AlignSizeX2 },
[*const _; 63] = { Align = AlignSizeX1 },
[*const _; 64] = { Align = AlignSizeX64 },
}
valid_mut_ptr_layouts! {
[*mut _; 01] = { Align = AlignSizeX1 },
[*mut _; 02] = { Align = AlignSizeX2 },
[*mut _; 03] = { Align = AlignSizeX1 },
[*mut _; 04] = { Align = AlignSizeX4 },
[*mut _; 05] = { Align = AlignSizeX1 },
[*mut _; 06] = { Align = AlignSizeX2 },
[*mut _; 07] = { Align = AlignSizeX1 },
[*mut _; 08] = { Align = AlignSizeX8 },
[*mut _; 09] = { Align = AlignSizeX1 },
[*mut _; 10] = { Align = AlignSizeX2 },
[*mut _; 11] = { Align = AlignSizeX1 },
[*mut _; 12] = { Align = AlignSizeX4 },
[*mut _; 13] = { Align = AlignSizeX1 },
[*mut _; 14] = { Align = AlignSizeX2 },
[*mut _; 15] = { Align = AlignSizeX1 },
[*mut _; 16] = { Align = AlignSizeX16 },
[*mut _; 17] = { Align = AlignSizeX1 },
[*mut _; 18] = { Align = AlignSizeX2 },
[*mut _; 19] = { Align = AlignSizeX1 },
[*mut _; 20] = { Align = AlignSizeX4 },
[*mut _; 21] = { Align = AlignSizeX1 },
[*mut _; 22] = { Align = AlignSizeX2 },
[*mut _; 23] = { Align = AlignSizeX1 },
[*mut _; 24] = { Align = AlignSizeX8 },
[*mut _; 25] = { Align = AlignSizeX1 },
[*mut _; 26] = { Align = AlignSizeX2 },
[*mut _; 27] = { Align = AlignSizeX1 },
[*mut _; 28] = { Align = AlignSizeX4 },
[*mut _; 29] = { Align = AlignSizeX1 },
[*mut _; 30] = { Align = AlignSizeX2 },
[*mut _; 31] = { Align = AlignSizeX1 },
[*mut _; 32] = { Align = AlignSizeX32 },
[*mut _; 33] = { Align = AlignSizeX1 },
[*mut _; 34] = { Align = AlignSizeX2 },
[*mut _; 35] = { Align = AlignSizeX1 },
[*mut _; 36] = { Align = AlignSizeX4 },
[*mut _; 37] = { Align = AlignSizeX1 },
[*mut _; 38] = { Align = AlignSizeX2 },
[*mut _; 39] = { Align = AlignSizeX1 },
[*mut _; 40] = { Align = AlignSizeX8 },
[*mut _; 41] = { Align = AlignSizeX1 },
[*mut _; 42] = { Align = AlignSizeX2 },
[*mut _; 43] = { Align = AlignSizeX1 },
[*mut _; 44] = { Align = AlignSizeX4 },
[*mut _; 45] = { Align = AlignSizeX1 },
[*mut _; 46] = { Align = AlignSizeX2 },
[*mut _; 47] = { Align = AlignSizeX1 },
[*mut _; 48] = { Align = AlignSizeX16 },
[*mut _; 49] = { Align = AlignSizeX1 },
[*mut _; 50] = { Align = AlignSizeX2 },
[*mut _; 51] = { Align = AlignSizeX1 },
[*mut _; 52] = { Align = AlignSizeX4 },
[*mut _; 53] = { Align = AlignSizeX1 },
[*mut _; 54] = { Align = AlignSizeX2 },
[*mut _; 55] = { Align = AlignSizeX1 },
[*mut _; 56] = { Align = AlignSizeX8 },
[*mut _; 57] = { Align = AlignSizeX1 },
[*mut _; 58] = { Align = AlignSizeX2 },
[*mut _; 59] = { Align = AlignSizeX1 },
[*mut _; 60] = { Align = AlignSizeX4 },
[*mut _; 61] = { Align = AlignSizeX1 },
[*mut _; 62] = { Align = AlignSizeX2 },
[*mut _; 63] = { Align = AlignSizeX1 },
[*mut _; 64] = { Align = AlignSizeX64 },
}