use core::fmt::Debug;
use core::hash::Hash;
use core::panic::{RefUnwindSafe, UnwindSafe};
#[cfg(feature = "bytemuck")]
use bytemuck::{Pod, Zeroable};
#[cfg(feature = "freeze")]
use core::marker::Freeze;
#[cfg(feature = "zerocopy")]
use zerocopy::{FromBytes, IntoBytes, KnownLayout};
pub trait CoreCompat: Clone + Copy + Debug + Default + Eq + Hash + Ord + PartialEq + PartialOrd + RefUnwindSafe + Send + Sync + Unpin + UnwindSafe { }
impl<T: Clone + Copy + Debug + Default + Eq + Hash + Ord + PartialEq + PartialOrd + RefUnwindSafe + Send + Sync + Unpin + UnwindSafe> CoreCompat for T { }
#[cfg(feature = "bytemuck")]
pub trait BytemuckCompat: Pod + Zeroable { }
#[cfg(feature = "bytemuck")]
impl<T: Pod + Zeroable> BytemuckCompat for T { }
#[cfg(not(feature = "bytemuck"))]
pub trait BytemuckCompat { }
#[cfg(not(feature = "bytemuck"))]
impl<T> BytemuckCompat for T { }
#[cfg(feature = "freeze")]
pub trait FreezeCompat: Freeze { }
#[cfg(feature = "freeze")]
impl<T: Freeze> FreezeCompat for T { }
#[cfg(not(feature = "freeze"))]
pub trait FreezeCompat { }
#[cfg(not(feature = "freeze"))]
impl<T> FreezeCompat for T { }
#[cfg(feature = "zerocopy")]
pub trait ZerocopyCompat: FromBytes + IntoBytes + KnownLayout { }
#[cfg(feature = "zerocopy")]
impl<T: FromBytes + IntoBytes + KnownLayout> ZerocopyCompat for T { }
#[cfg(not(feature = "zerocopy"))]
pub trait ZerocopyCompat { }
#[cfg(not(feature = "zerocopy"))]
impl<T> ZerocopyCompat for T { }
pub trait SimdMarker: CoreCompat + BytemuckCompat + FreezeCompat + ZerocopyCompat {
const NEW: Self;
}
macro_rules! def_simd_markers {
{
$($ident:ident @ $align:expr),*$(,)?
} => {
$(
#[repr(align($align), C)]
#[derive(
::core::clone::Clone,
::core::marker::Copy,
::core::fmt::Debug,
::core::default::Default,
::core::cmp::Eq,
::core::hash::Hash,
::core::cmp::Ord,
::core::cmp::PartialEq,
::core::cmp::PartialOrd,
)]
#[cfg_attr(
feature = "bytemuck",
derive(
::bytemuck::Pod,
::bytemuck::Zeroable,
),
)]
#[cfg_attr(
feature = "zerocopy",
derive(
::zerocopy::FromBytes,
::zerocopy::IntoBytes,
::zerocopy::KnownLayout,
),
)]
pub struct $ident;
impl ::polylane::simd::SimdMarker for $ident {
const NEW: Self = Self;
}
)?
};
}
def_simd_markers! {
SimdMarker8x1 @ 0x001,
SimdMarker8x2 @ 0x002,
SimdMarker8x3 @ 0x001,
SimdMarker8x4 @ 0x004,
SimdMarker8x5 @ 0x001,
SimdMarker8x6 @ 0x002,
SimdMarker8x7 @ 0x001,
SimdMarker8x8 @ 0x008,
SimdMarker8x9 @ 0x001,
SimdMarker8x10 @ 0x002,
SimdMarker8x11 @ 0x001,
SimdMarker8x12 @ 0x004,
SimdMarker8x13 @ 0x001,
SimdMarker8x14 @ 0x002,
SimdMarker8x15 @ 0x001,
SimdMarker8x16 @ 0x010,
SimdMarker8x17 @ 0x001,
SimdMarker8x18 @ 0x002,
SimdMarker8x19 @ 0x001,
SimdMarker8x20 @ 0x004,
SimdMarker8x21 @ 0x001,
SimdMarker8x22 @ 0x002,
SimdMarker8x23 @ 0x001,
SimdMarker8x24 @ 0x008,
SimdMarker8x25 @ 0x001,
SimdMarker8x26 @ 0x002,
SimdMarker8x27 @ 0x001,
SimdMarker8x28 @ 0x004,
SimdMarker8x29 @ 0x001,
SimdMarker8x30 @ 0x002,
SimdMarker8x31 @ 0x001,
SimdMarker8x32 @ 0x020,
SimdMarker8x33 @ 0x001,
SimdMarker8x34 @ 0x002,
SimdMarker8x35 @ 0x001,
SimdMarker8x36 @ 0x004,
SimdMarker8x37 @ 0x001,
SimdMarker8x38 @ 0x002,
SimdMarker8x39 @ 0x001,
SimdMarker8x40 @ 0x008,
SimdMarker8x41 @ 0x001,
SimdMarker8x42 @ 0x002,
SimdMarker8x43 @ 0x001,
SimdMarker8x44 @ 0x004,
SimdMarker8x45 @ 0x001,
SimdMarker8x46 @ 0x002,
SimdMarker8x47 @ 0x001,
SimdMarker8x48 @ 0x010,
SimdMarker8x49 @ 0x001,
SimdMarker8x50 @ 0x002,
SimdMarker8x51 @ 0x001,
SimdMarker8x52 @ 0x004,
SimdMarker8x53 @ 0x001,
SimdMarker8x54 @ 0x002,
SimdMarker8x55 @ 0x001,
SimdMarker8x56 @ 0x008,
SimdMarker8x57 @ 0x001,
SimdMarker8x58 @ 0x002,
SimdMarker8x59 @ 0x001,
SimdMarker8x60 @ 0x004,
SimdMarker8x61 @ 0x001,
SimdMarker8x62 @ 0x002,
SimdMarker8x63 @ 0x001,
SimdMarker8x64 @ 0x040,
SimdMarker16x1 @ 0x002,
SimdMarker16x2 @ 0x004,
SimdMarker16x3 @ 0x002,
SimdMarker16x4 @ 0x008,
SimdMarker16x5 @ 0x002,
SimdMarker16x6 @ 0x004,
SimdMarker16x7 @ 0x002,
SimdMarker16x8 @ 0x010,
SimdMarker16x9 @ 0x002,
SimdMarker16x10 @ 0x004,
SimdMarker16x11 @ 0x002,
SimdMarker16x12 @ 0x008,
SimdMarker16x13 @ 0x002,
SimdMarker16x14 @ 0x004,
SimdMarker16x15 @ 0x002,
SimdMarker16x16 @ 0x020,
SimdMarker16x17 @ 0x002,
SimdMarker16x18 @ 0x004,
SimdMarker16x19 @ 0x002,
SimdMarker16x20 @ 0x008,
SimdMarker16x21 @ 0x002,
SimdMarker16x22 @ 0x004,
SimdMarker16x23 @ 0x002,
SimdMarker16x24 @ 0x010,
SimdMarker16x25 @ 0x002,
SimdMarker16x26 @ 0x004,
SimdMarker16x27 @ 0x002,
SimdMarker16x28 @ 0x008,
SimdMarker16x29 @ 0x002,
SimdMarker16x30 @ 0x004,
SimdMarker16x31 @ 0x002,
SimdMarker16x32 @ 0x040,
SimdMarker16x33 @ 0x002,
SimdMarker16x34 @ 0x004,
SimdMarker16x35 @ 0x002,
SimdMarker16x36 @ 0x008,
SimdMarker16x37 @ 0x002,
SimdMarker16x38 @ 0x004,
SimdMarker16x39 @ 0x002,
SimdMarker16x40 @ 0x010,
SimdMarker16x41 @ 0x002,
SimdMarker16x42 @ 0x004,
SimdMarker16x43 @ 0x002,
SimdMarker16x44 @ 0x008,
SimdMarker16x45 @ 0x002,
SimdMarker16x46 @ 0x004,
SimdMarker16x47 @ 0x002,
SimdMarker16x48 @ 0x020,
SimdMarker16x49 @ 0x002,
SimdMarker16x50 @ 0x004,
SimdMarker16x51 @ 0x002,
SimdMarker16x52 @ 0x008,
SimdMarker16x53 @ 0x002,
SimdMarker16x54 @ 0x004,
SimdMarker16x55 @ 0x002,
SimdMarker16x56 @ 0x010,
SimdMarker16x57 @ 0x002,
SimdMarker16x58 @ 0x004,
SimdMarker16x59 @ 0x002,
SimdMarker16x60 @ 0x008,
SimdMarker16x61 @ 0x002,
SimdMarker16x62 @ 0x004,
SimdMarker16x63 @ 0x002,
SimdMarker16x64 @ 0x080,
SimdMarker32x1 @ 0x004,
SimdMarker32x2 @ 0x008,
SimdMarker32x3 @ 0x004,
SimdMarker32x4 @ 0x010,
SimdMarker32x5 @ 0x004,
SimdMarker32x6 @ 0x008,
SimdMarker32x7 @ 0x004,
SimdMarker32x8 @ 0x020,
SimdMarker32x9 @ 0x004,
SimdMarker32x10 @ 0x008,
SimdMarker32x11 @ 0x004,
SimdMarker32x12 @ 0x010,
SimdMarker32x13 @ 0x004,
SimdMarker32x14 @ 0x008,
SimdMarker32x15 @ 0x004,
SimdMarker32x16 @ 0x040,
SimdMarker32x17 @ 0x004,
SimdMarker32x18 @ 0x008,
SimdMarker32x19 @ 0x004,
SimdMarker32x20 @ 0x010,
SimdMarker32x21 @ 0x004,
SimdMarker32x22 @ 0x008,
SimdMarker32x23 @ 0x004,
SimdMarker32x24 @ 0x020,
SimdMarker32x25 @ 0x004,
SimdMarker32x26 @ 0x008,
SimdMarker32x27 @ 0x004,
SimdMarker32x28 @ 0x010,
SimdMarker32x29 @ 0x004,
SimdMarker32x30 @ 0x008,
SimdMarker32x31 @ 0x004,
SimdMarker32x32 @ 0x080,
SimdMarker32x33 @ 0x004,
SimdMarker32x34 @ 0x008,
SimdMarker32x35 @ 0x004,
SimdMarker32x36 @ 0x010,
SimdMarker32x37 @ 0x004,
SimdMarker32x38 @ 0x008,
SimdMarker32x39 @ 0x004,
SimdMarker32x40 @ 0x020,
SimdMarker32x41 @ 0x004,
SimdMarker32x42 @ 0x008,
SimdMarker32x43 @ 0x004,
SimdMarker32x44 @ 0x010,
SimdMarker32x45 @ 0x004,
SimdMarker32x46 @ 0x008,
SimdMarker32x47 @ 0x004,
SimdMarker32x48 @ 0x040,
SimdMarker32x49 @ 0x004,
SimdMarker32x50 @ 0x008,
SimdMarker32x51 @ 0x004,
SimdMarker32x52 @ 0x010,
SimdMarker32x53 @ 0x004,
SimdMarker32x54 @ 0x008,
SimdMarker32x55 @ 0x004,
SimdMarker32x56 @ 0x020,
SimdMarker32x57 @ 0x004,
SimdMarker32x58 @ 0x008,
SimdMarker32x59 @ 0x004,
SimdMarker32x60 @ 0x010,
SimdMarker32x61 @ 0x004,
SimdMarker32x62 @ 0x008,
SimdMarker32x63 @ 0x004,
SimdMarker32x64 @ 0x100,
SimdMarker64x1 @ 0x008,
SimdMarker64x2 @ 0x010,
SimdMarker64x3 @ 0x008,
SimdMarker64x4 @ 0x020,
SimdMarker64x5 @ 0x008,
SimdMarker64x6 @ 0x010,
SimdMarker64x7 @ 0x008,
SimdMarker64x8 @ 0x040,
SimdMarker64x9 @ 0x008,
SimdMarker64x10 @ 0x010,
SimdMarker64x11 @ 0x008,
SimdMarker64x12 @ 0x020,
SimdMarker64x13 @ 0x008,
SimdMarker64x14 @ 0x010,
SimdMarker64x15 @ 0x008,
SimdMarker64x16 @ 0x080,
SimdMarker64x17 @ 0x008,
SimdMarker64x18 @ 0x010,
SimdMarker64x19 @ 0x008,
SimdMarker64x20 @ 0x020,
SimdMarker64x21 @ 0x008,
SimdMarker64x22 @ 0x010,
SimdMarker64x23 @ 0x008,
SimdMarker64x24 @ 0x040,
SimdMarker64x25 @ 0x008,
SimdMarker64x26 @ 0x010,
SimdMarker64x27 @ 0x008,
SimdMarker64x28 @ 0x020,
SimdMarker64x29 @ 0x008,
SimdMarker64x30 @ 0x010,
SimdMarker64x31 @ 0x008,
SimdMarker64x32 @ 0x100,
SimdMarker64x33 @ 0x008,
SimdMarker64x34 @ 0x010,
SimdMarker64x35 @ 0x008,
SimdMarker64x36 @ 0x020,
SimdMarker64x37 @ 0x008,
SimdMarker64x38 @ 0x010,
SimdMarker64x39 @ 0x008,
SimdMarker64x40 @ 0x040,
SimdMarker64x41 @ 0x008,
SimdMarker64x42 @ 0x010,
SimdMarker64x43 @ 0x008,
SimdMarker64x44 @ 0x020,
SimdMarker64x45 @ 0x008,
SimdMarker64x46 @ 0x010,
SimdMarker64x47 @ 0x008,
SimdMarker64x48 @ 0x080,
SimdMarker64x49 @ 0x008,
SimdMarker64x50 @ 0x010,
SimdMarker64x51 @ 0x008,
SimdMarker64x52 @ 0x020,
SimdMarker64x53 @ 0x008,
SimdMarker64x54 @ 0x010,
SimdMarker64x55 @ 0x008,
SimdMarker64x56 @ 0x040,
SimdMarker64x57 @ 0x008,
SimdMarker64x58 @ 0x010,
SimdMarker64x59 @ 0x008,
SimdMarker64x60 @ 0x020,
SimdMarker64x61 @ 0x008,
SimdMarker64x62 @ 0x010,
SimdMarker64x63 @ 0x008,
SimdMarker64x64 @ 0x200,
SimdMarker128x1 @ 0x010,
SimdMarker128x2 @ 0x020,
SimdMarker128x3 @ 0x010,
SimdMarker128x4 @ 0x040,
SimdMarker128x5 @ 0x010,
SimdMarker128x6 @ 0x020,
SimdMarker128x7 @ 0x010,
SimdMarker128x8 @ 0x080,
SimdMarker128x9 @ 0x010,
SimdMarker128x10 @ 0x020,
SimdMarker128x11 @ 0x010,
SimdMarker128x12 @ 0x040,
SimdMarker128x13 @ 0x010,
SimdMarker128x14 @ 0x020,
SimdMarker128x15 @ 0x010,
SimdMarker128x16 @ 0x100,
SimdMarker128x17 @ 0x010,
SimdMarker128x18 @ 0x020,
SimdMarker128x19 @ 0x010,
SimdMarker128x20 @ 0x040,
SimdMarker128x21 @ 0x010,
SimdMarker128x22 @ 0x020,
SimdMarker128x23 @ 0x010,
SimdMarker128x24 @ 0x080,
SimdMarker128x25 @ 0x010,
SimdMarker128x26 @ 0x020,
SimdMarker128x27 @ 0x010,
SimdMarker128x28 @ 0x040,
SimdMarker128x29 @ 0x010,
SimdMarker128x30 @ 0x020,
SimdMarker128x31 @ 0x010,
SimdMarker128x32 @ 0x200,
SimdMarker128x33 @ 0x010,
SimdMarker128x34 @ 0x020,
SimdMarker128x35 @ 0x010,
SimdMarker128x36 @ 0x040,
SimdMarker128x37 @ 0x010,
SimdMarker128x38 @ 0x020,
SimdMarker128x39 @ 0x010,
SimdMarker128x40 @ 0x080,
SimdMarker128x41 @ 0x010,
SimdMarker128x42 @ 0x020,
SimdMarker128x43 @ 0x010,
SimdMarker128x44 @ 0x040,
SimdMarker128x45 @ 0x010,
SimdMarker128x46 @ 0x020,
SimdMarker128x47 @ 0x010,
SimdMarker128x48 @ 0x100,
SimdMarker128x49 @ 0x010,
SimdMarker128x50 @ 0x020,
SimdMarker128x51 @ 0x010,
SimdMarker128x52 @ 0x040,
SimdMarker128x53 @ 0x010,
SimdMarker128x54 @ 0x020,
SimdMarker128x55 @ 0x010,
SimdMarker128x56 @ 0x080,
SimdMarker128x57 @ 0x010,
SimdMarker128x58 @ 0x020,
SimdMarker128x59 @ 0x010,
SimdMarker128x60 @ 0x040,
SimdMarker128x61 @ 0x010,
SimdMarker128x62 @ 0x020,
SimdMarker128x63 @ 0x010,
SimdMarker128x64 @ 0x0400,
}
#[cfg(target_pointer_width = "16")]
def_simd_markers! {
SimdMarkerSizex1 @ 0x002,
SimdMarkerSizex2 @ 0x004,
SimdMarkerSizex3 @ 0x002,
SimdMarkerSizex4 @ 0x008,
SimdMarkerSizex5 @ 0x002,
SimdMarkerSizex6 @ 0x004,
SimdMarkerSizex7 @ 0x002,
SimdMarkerSizex8 @ 0x010,
SimdMarkerSizex9 @ 0x002,
SimdMarkerSizex10 @ 0x004,
SimdMarkerSizex11 @ 0x002,
SimdMarkerSizex12 @ 0x008,
SimdMarkerSizex13 @ 0x002,
SimdMarkerSizex14 @ 0x004,
SimdMarkerSizex15 @ 0x002,
SimdMarkerSizex16 @ 0x020,
SimdMarkerSizex17 @ 0x002,
SimdMarkerSizex18 @ 0x004,
SimdMarkerSizex19 @ 0x002,
SimdMarkerSizex20 @ 0x008,
SimdMarkerSizex21 @ 0x002,
SimdMarkerSizex22 @ 0x004,
SimdMarkerSizex23 @ 0x002,
SimdMarkerSizex24 @ 0x010,
SimdMarkerSizex25 @ 0x002,
SimdMarkerSizex26 @ 0x004,
SimdMarkerSizex27 @ 0x002,
SimdMarkerSizex28 @ 0x008,
SimdMarkerSizex29 @ 0x002,
SimdMarkerSizex30 @ 0x004,
SimdMarkerSizex31 @ 0x002,
SimdMarkerSizex32 @ 0x040,
SimdMarkerSizex33 @ 0x002,
SimdMarkerSizex34 @ 0x004,
SimdMarkerSizex35 @ 0x002,
SimdMarkerSizex36 @ 0x008,
SimdMarkerSizex37 @ 0x002,
SimdMarkerSizex38 @ 0x004,
SimdMarkerSizex39 @ 0x002,
SimdMarkerSizex40 @ 0x010,
SimdMarkerSizex41 @ 0x002,
SimdMarkerSizex42 @ 0x004,
SimdMarkerSizex43 @ 0x002,
SimdMarkerSizex44 @ 0x008,
SimdMarkerSizex45 @ 0x002,
SimdMarkerSizex46 @ 0x004,
SimdMarkerSizex47 @ 0x002,
SimdMarkerSizex48 @ 0x020,
SimdMarkerSizex49 @ 0x002,
SimdMarkerSizex50 @ 0x004,
SimdMarkerSizex51 @ 0x002,
SimdMarkerSizex52 @ 0x008,
SimdMarkerSizex53 @ 0x002,
SimdMarkerSizex54 @ 0x004,
SimdMarkerSizex55 @ 0x002,
SimdMarkerSizex56 @ 0x010,
SimdMarkerSizex57 @ 0x002,
SimdMarkerSizex58 @ 0x004,
SimdMarkerSizex59 @ 0x002,
SimdMarkerSizex60 @ 0x008,
SimdMarkerSizex61 @ 0x002,
SimdMarkerSizex62 @ 0x004,
SimdMarkerSizex63 @ 0x002,
SimdMarkerSizex64 @ 0x080,
}
#[cfg(target_pointer_width = "32")]
def_simd_markers! {
SimdMarkerSizex1 @ 0x004,
SimdMarkerSizex2 @ 0x008,
SimdMarkerSizex3 @ 0x004,
SimdMarkerSizex4 @ 0x010,
SimdMarkerSizex5 @ 0x004,
SimdMarkerSizex6 @ 0x008,
SimdMarkerSizex7 @ 0x004,
SimdMarkerSizex8 @ 0x020,
SimdMarkerSizex9 @ 0x004,
SimdMarkerSizex10 @ 0x008,
SimdMarkerSizex11 @ 0x004,
SimdMarkerSizex12 @ 0x010,
SimdMarkerSizex13 @ 0x004,
SimdMarkerSizex14 @ 0x008,
SimdMarkerSizex15 @ 0x004,
SimdMarkerSizex16 @ 0x040,
SimdMarkerSizex17 @ 0x004,
SimdMarkerSizex18 @ 0x008,
SimdMarkerSizex19 @ 0x004,
SimdMarkerSizex20 @ 0x010,
SimdMarkerSizex21 @ 0x004,
SimdMarkerSizex22 @ 0x008,
SimdMarkerSizex23 @ 0x004,
SimdMarkerSizex24 @ 0x020,
SimdMarkerSizex25 @ 0x004,
SimdMarkerSizex26 @ 0x008,
SimdMarkerSizex27 @ 0x004,
SimdMarkerSizex28 @ 0x010,
SimdMarkerSizex29 @ 0x004,
SimdMarkerSizex30 @ 0x008,
SimdMarkerSizex31 @ 0x004,
SimdMarkerSizex32 @ 0x080,
SimdMarkerSizex33 @ 0x004,
SimdMarkerSizex34 @ 0x008,
SimdMarkerSizex35 @ 0x004,
SimdMarkerSizex36 @ 0x010,
SimdMarkerSizex37 @ 0x004,
SimdMarkerSizex38 @ 0x008,
SimdMarkerSizex39 @ 0x004,
SimdMarkerSizex40 @ 0x020,
SimdMarkerSizex41 @ 0x004,
SimdMarkerSizex42 @ 0x008,
SimdMarkerSizex43 @ 0x004,
SimdMarkerSizex44 @ 0x010,
SimdMarkerSizex45 @ 0x004,
SimdMarkerSizex46 @ 0x008,
SimdMarkerSizex47 @ 0x004,
SimdMarkerSizex48 @ 0x040,
SimdMarkerSizex49 @ 0x004,
SimdMarkerSizex50 @ 0x008,
SimdMarkerSizex51 @ 0x004,
SimdMarkerSizex52 @ 0x010,
SimdMarkerSizex53 @ 0x004,
SimdMarkerSizex54 @ 0x008,
SimdMarkerSizex55 @ 0x004,
SimdMarkerSizex56 @ 0x020,
SimdMarkerSizex57 @ 0x004,
SimdMarkerSizex58 @ 0x008,
SimdMarkerSizex59 @ 0x004,
SimdMarkerSizex60 @ 0x010,
SimdMarkerSizex61 @ 0x004,
SimdMarkerSizex62 @ 0x008,
SimdMarkerSizex63 @ 0x004,
SimdMarkerSizex64 @ 0x100,
}
#[cfg(target_pointer_width = "64")]
def_simd_markers! {
SimdMarkerSizex1 @ 0x008,
SimdMarkerSizex2 @ 0x010,
SimdMarkerSizex3 @ 0x008,
SimdMarkerSizex4 @ 0x020,
SimdMarkerSizex5 @ 0x008,
SimdMarkerSizex6 @ 0x010,
SimdMarkerSizex7 @ 0x008,
SimdMarkerSizex8 @ 0x040,
SimdMarkerSizex9 @ 0x008,
SimdMarkerSizex10 @ 0x010,
SimdMarkerSizex11 @ 0x008,
SimdMarkerSizex12 @ 0x020,
SimdMarkerSizex13 @ 0x008,
SimdMarkerSizex14 @ 0x010,
SimdMarkerSizex15 @ 0x008,
SimdMarkerSizex16 @ 0x080,
SimdMarkerSizex17 @ 0x008,
SimdMarkerSizex18 @ 0x010,
SimdMarkerSizex19 @ 0x008,
SimdMarkerSizex20 @ 0x020,
SimdMarkerSizex21 @ 0x008,
SimdMarkerSizex22 @ 0x010,
SimdMarkerSizex23 @ 0x008,
SimdMarkerSizex24 @ 0x040,
SimdMarkerSizex25 @ 0x008,
SimdMarkerSizex26 @ 0x010,
SimdMarkerSizex27 @ 0x008,
SimdMarkerSizex28 @ 0x020,
SimdMarkerSizex29 @ 0x008,
SimdMarkerSizex30 @ 0x010,
SimdMarkerSizex31 @ 0x008,
SimdMarkerSizex32 @ 0x100,
SimdMarkerSizex33 @ 0x008,
SimdMarkerSizex34 @ 0x010,
SimdMarkerSizex35 @ 0x008,
SimdMarkerSizex36 @ 0x020,
SimdMarkerSizex37 @ 0x008,
SimdMarkerSizex38 @ 0x010,
SimdMarkerSizex39 @ 0x008,
SimdMarkerSizex40 @ 0x040,
SimdMarkerSizex41 @ 0x008,
SimdMarkerSizex42 @ 0x010,
SimdMarkerSizex43 @ 0x008,
SimdMarkerSizex44 @ 0x020,
SimdMarkerSizex45 @ 0x008,
SimdMarkerSizex46 @ 0x010,
SimdMarkerSizex47 @ 0x008,
SimdMarkerSizex48 @ 0x080,
SimdMarkerSizex49 @ 0x008,
SimdMarkerSizex50 @ 0x010,
SimdMarkerSizex51 @ 0x008,
SimdMarkerSizex52 @ 0x020,
SimdMarkerSizex53 @ 0x008,
SimdMarkerSizex54 @ 0x010,
SimdMarkerSizex55 @ 0x008,
SimdMarkerSizex56 @ 0x040,
SimdMarkerSizex57 @ 0x008,
SimdMarkerSizex58 @ 0x010,
SimdMarkerSizex59 @ 0x008,
SimdMarkerSizex60 @ 0x020,
SimdMarkerSizex61 @ 0x008,
SimdMarkerSizex62 @ 0x010,
SimdMarkerSizex63 @ 0x008,
SimdMarkerSizex64 @ 0x200,
}