#[macro_export]
macro_rules! dot4x_simd16_avx2 {
($i:ident, $len:expr, { $($simd:tt)* }) => {
while $i + 16 <= $len {
{ $($simd)* }
$i += 16;
}
};
}
#[macro_export]
macro_rules! dot4x_simd8_avx2 {
($i:ident, $len:expr, { $($simd:tt)* }) => {
while $i + 8 <= $len {
{ $($simd)* }
$i += 8;
}
};
}
#[macro_export]
macro_rules! dot4x_simd8_avx2_tail2 {
($i:ident, $len:expr, { $($simd:tt)* }, { $($tail2:tt)* }) => {
while $i + 8 <= $len {
{ $($simd)* }
$i += 8;
}
while $i + 2 <= $len {
{ $($tail2)* }
$i += 2;
}
};
}
#[macro_export]
macro_rules! dot4x_simd4 {
($i:ident, $len:expr, { $($simd:tt)* }) => {
while $i + 4 <= $len {
{ $($simd)* }
$i += 4;
}
};
}