macro_rules! dispatch {
(
name = {$name:ident},
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
fallback = {$fallback_fn:path},
simd = {$simd_fn:path},
targets = {$($target:tt),+},
fastest = {$($fastest:tt),*},
) => { ... };
(
@iter_resolve_static,
targets = {$x:tt, $($xs:tt),+},
args = {$($arg_name: ident),*},
) => { ... };
(
@iter_resolve_static,
targets = {$x:tt},
args = {$($arg_name: ident),*},
) => { ... };
(@resolve_static, "avx2", $($arg_name: ident),*) => { ... };
(@resolve_static, "sse4.1", $($arg_name: ident),*) => { ... };
(@resolve_static, "ssse3", $($arg_name: ident),*) => { ... };
(@resolve_static, "sse2", $($arg_name: ident),*) => { ... };
(@resolve_static, "neon", $($arg_name: ident),*) => { ... };
(@resolve_static, "simd128", $($arg_name: ident),*) => { ... };
(
@iter_resolve_dynamic,
targets = {$x:tt, $($xs:tt),+},
) => { ... };
(
@iter_resolve_dynamic,
targets = {$x:tt},
) => { ... };
(@resolve_dynamic, "avx2") => { ... };
(@resolve_dynamic, "sse4.1") => { ... };
(@resolve_dynamic, "ssse3") => { ... };
(@resolve_dynamic, "sse2") => { ... };
(@resolve_dynamic, "neon") => { ... };
(@resolve_dynamic, "simd128") => { ... };
(
@iter_compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
targets = {$x:tt, $($xs:tt),+},
) => { ... };
(
@iter_compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
targets = {$x:tt},
) => { ... };
(
@compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
target = {"avx2"},
) => { ... };
(
@compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
target = {"sse4.1"},
) => { ... };
(
@compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
target = {"ssse3"},
) => { ... };
(
@compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
target = {"sse2"},
) => { ... };
(
@compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
target = {"neon"},
) => { ... };
(
@compile,
signature = {$vis:vis unsafe fn($($arg_name: ident: $arg_type: ty),*) -> $ret:ty},
simd = {$simd_fn:path},
target = {"simd128"},
) => { ... };
}