1 | use crate::simd::*; |
2 | |
3 | #[cfg (target_arch = "x86" )] |
4 | use core::arch::x86::*; |
5 | |
6 | #[cfg (target_arch = "x86_64" )] |
7 | use core::arch::x86_64::*; |
8 | |
9 | from_transmute! { unsafe u8x16 => __m128i } |
10 | from_transmute! { unsafe u8x32 => __m256i } |
11 | from_transmute! { unsafe u8x64 => __m512i } |
12 | from_transmute! { unsafe i8x16 => __m128i } |
13 | from_transmute! { unsafe i8x32 => __m256i } |
14 | from_transmute! { unsafe i8x64 => __m512i } |
15 | |
16 | from_transmute! { unsafe u16x8 => __m128i } |
17 | from_transmute! { unsafe u16x16 => __m256i } |
18 | from_transmute! { unsafe u16x32 => __m512i } |
19 | from_transmute! { unsafe i16x8 => __m128i } |
20 | from_transmute! { unsafe i16x16 => __m256i } |
21 | from_transmute! { unsafe i16x32 => __m512i } |
22 | |
23 | from_transmute! { unsafe u32x4 => __m128i } |
24 | from_transmute! { unsafe u32x8 => __m256i } |
25 | from_transmute! { unsafe u32x16 => __m512i } |
26 | from_transmute! { unsafe i32x4 => __m128i } |
27 | from_transmute! { unsafe i32x8 => __m256i } |
28 | from_transmute! { unsafe i32x16 => __m512i } |
29 | from_transmute! { unsafe f32x4 => __m128 } |
30 | from_transmute! { unsafe f32x8 => __m256 } |
31 | from_transmute! { unsafe f32x16 => __m512 } |
32 | |
33 | from_transmute! { unsafe u64x2 => __m128i } |
34 | from_transmute! { unsafe u64x4 => __m256i } |
35 | from_transmute! { unsafe u64x8 => __m512i } |
36 | from_transmute! { unsafe i64x2 => __m128i } |
37 | from_transmute! { unsafe i64x4 => __m256i } |
38 | from_transmute! { unsafe i64x8 => __m512i } |
39 | from_transmute! { unsafe f64x2 => __m128d } |
40 | from_transmute! { unsafe f64x4 => __m256d } |
41 | from_transmute! { unsafe f64x8 => __m512d } |
42 | |
43 | #[cfg (target_pointer_width = "32" )] |
44 | mod p32 { |
45 | use super::*; |
46 | from_transmute! { unsafe usizex4 => __m128i } |
47 | from_transmute! { unsafe usizex8 => __m256i } |
48 | from_transmute! { unsafe Simd<usize, 16> => __m512i } |
49 | from_transmute! { unsafe isizex4 => __m128i } |
50 | from_transmute! { unsafe isizex8 => __m256i } |
51 | from_transmute! { unsafe Simd<isize, 16> => __m512i } |
52 | } |
53 | |
54 | #[cfg (target_pointer_width = "64" )] |
55 | mod p64 { |
56 | use super::*; |
57 | from_transmute! { unsafe usizex2 => __m128i } |
58 | from_transmute! { unsafe usizex4 => __m256i } |
59 | from_transmute! { unsafe usizex8 => __m512i } |
60 | from_transmute! { unsafe isizex2 => __m128i } |
61 | from_transmute! { unsafe isizex4 => __m256i } |
62 | from_transmute! { unsafe isizex8 => __m512i } |
63 | } |
64 | |