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