]> git.lizzy.rs Git - rust.git/blob - crates/core_simd/src/vectors_f32.rs
Combine vector definition modules by scalar type
[rust.git] / crates / core_simd / src / vectors_f32.rs
1 define_type! {
2     #[doc = "Vector of two `f32` values"]
3     struct f32x2([f32; 2]);
4 }
5
6 define_type! {
7     #[doc = "Vector of four `f32` values"]
8     struct f32x4([f32; 4]);
9 }
10
11 define_type! {
12     #[doc = "Vector of eight `f32` values"]
13     struct f32x8([f32; 8]);
14 }
15
16 define_type! {
17     #[doc = "Vector of 16 `f32` values"]
18     struct f32x16([f32; 16]);
19 }
20
21 #[cfg(target_arch = "x86")]
22 from_aligned! { unsafe f32x4 |bidirectional| core::arch::x86::__m128 }
23
24 #[cfg(target_arch = "x86_64")]
25 from_aligned! { unsafe f32x4 |bidirectional| core::arch::x86_64::__m128 }
26
27 #[cfg(target_arch = "x86")]
28 from_aligned! { unsafe f32x8 |bidirectional| core::arch::x86::__m256 }
29
30 #[cfg(target_arch = "x86_64")]
31 from_aligned! { unsafe f32x8 |bidirectional| core::arch::x86_64::__m256 }
32
33 /*
34 #[cfg(target_arch = "x86")]
35 from_aligned! { unsafe f32x16 |bidirectional| core::arch::x86::__m512 }
36
37 #[cfg(target_arch = "x86_64")]
38 from_aligned! { unsafe f32x16 |bidirectional| core::arch::x86_64::__m512 }
39 */