]> git.lizzy.rs Git - rust.git/blob - crates/core_simd/src/vectors_u8.rs
Combine vector definition modules by scalar type
[rust.git] / crates / core_simd / src / vectors_u8.rs
1 define_type! {
2     #[doc = "Vector of two `u8` values"]
3     struct u8x2([u8; 2]);
4 }
5
6 define_type! {
7     #[doc = "Vector of four `u8` values"]
8     struct u8x4([u8; 4]);
9 }
10
11 define_type! {
12     #[doc = "Vector of eight `u8` values"]
13     struct u8x8([u8; 8]);
14 }
15
16 define_type! {
17     #[doc = "Vector of 16 `u8` values"]
18     struct u8x16([u8; 16]);
19 }
20
21 define_type! {
22     #[doc = "Vector of 32 `u8` values"]
23     struct u8x32([u8; 32]);
24 }
25
26 define_type! {
27     #[doc = "Vector of 64 `u8` values"]
28     struct u8x64([u8; 64]);
29 }
30
31 #[cfg(target_arch = "x86")]
32 from_aligned! { unsafe u8x16 |bidirectional| core::arch::x86::__m128i }
33
34 #[cfg(target_arch = "x86_64")]
35 from_aligned! { unsafe u8x16 |bidirectional| core::arch::x86_64::__m128i }
36
37 #[cfg(target_arch = "x86")]
38 from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86::__m256i }
39
40 #[cfg(target_arch = "x86_64")]
41 from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86_64::__m256i }
42
43 /*
44 #[cfg(target_arch = "x86")]
45 from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86::__m512i }
46
47 #[cfg(target_arch = "x86_64")]
48 from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86_64::__m512i }
49 */