]> git.lizzy.rs Git - rust.git/blob - crates/core_simd/src/lanes_at_most_64.rs
Limit all types to 64 lanes
[rust.git] / crates / core_simd / src / lanes_at_most_64.rs
1 /// Implemented for bitmask sizes that are supported by the implementation.
2 pub trait LanesAtMost64 {}
3
4 macro_rules! impl_for {
5     { $name:ident } => {
6         impl LanesAtMost64 for $name<1> {}
7         impl LanesAtMost64 for $name<2> {}
8         impl LanesAtMost64 for $name<4> {}
9         impl LanesAtMost64 for $name<8> {}
10         impl LanesAtMost64 for $name<16> {}
11         impl LanesAtMost64 for $name<32> {}
12         impl LanesAtMost64 for $name<64> {}
13     }
14 }
15
16 use crate::*;
17
18 impl_for! { SimdU8 }
19 impl_for! { SimdU16 }
20 impl_for! { SimdU32 }
21 impl_for! { SimdU64 }
22 impl_for! { SimdU128 }
23 impl_for! { SimdUsize }
24
25 impl_for! { SimdI8 }
26 impl_for! { SimdI16 }
27 impl_for! { SimdI32 }
28 impl_for! { SimdI64 }
29 impl_for! { SimdI128 }
30 impl_for! { SimdIsize }
31
32 impl_for! { SimdF32 }
33 impl_for! { SimdF64 }
34
35 impl_for! { BitMask }