]> git.lizzy.rs Git - rust.git/blob - crates/core_simd/src/vectors_i32.rs
Finish refactoring vector types
[rust.git] / crates / core_simd / src / vectors_i32.rs
1 #![allow(non_camel_case_types)]
2
3 /// A SIMD vector of containing `LANES` `i32` values.
4 #[repr(simd)]
5 pub struct SimdI32<const LANES: usize>([i32; LANES]);
6
7 impl_integer_vector! { SimdI32, i32 }
8
9 /// Vector of two `i32` values
10 pub type i32x2 = SimdI32<2>;
11
12 /// Vector of four `i32` values
13 pub type i32x4 = SimdI32<4>;
14
15 /// Vector of eight `i32` values
16 pub type i32x8 = SimdI32<8>;
17
18 /// Vector of 16 `i32` values
19 pub type i32x16 = SimdI32<16>;
20
21 from_transmute_x86! { unsafe i32x4 => __m128i }
22 from_transmute_x86! { unsafe i32x8 => __m256i }
23 //from_transmute_x86! { unsafe i32x16 => __m512i }