1use crate::simd::*;
2
3#[cfg(target_arch = "x86")]
4use core::arch::x86::*;
5
6#[cfg(target_arch = "x86_64")]
7use core::arch::x86_64::*;
8
9from_transmute! { unsafe u8x16 => __m128i }
10from_transmute! { unsafe u8x32 => __m256i }
11from_transmute! { unsafe u8x64 => __m512i }
12from_transmute! { unsafe i8x16 => __m128i }
13from_transmute! { unsafe i8x32 => __m256i }
14from_transmute! { unsafe i8x64 => __m512i }
15
16from_transmute! { unsafe u16x8 => __m128i }
17from_transmute! { unsafe u16x16 => __m256i }
18from_transmute! { unsafe u16x32 => __m512i }
19from_transmute! { unsafe i16x8 => __m128i }
20from_transmute! { unsafe i16x16 => __m256i }
21from_transmute! { unsafe i16x32 => __m512i }
22
23from_transmute! { unsafe u32x4 => __m128i }
24from_transmute! { unsafe u32x8 => __m256i }
25from_transmute! { unsafe u32x16 => __m512i }
26from_transmute! { unsafe i32x4 => __m128i }
27from_transmute! { unsafe i32x8 => __m256i }
28from_transmute! { unsafe i32x16 => __m512i }
29from_transmute! { unsafe f32x4 => __m128 }
30from_transmute! { unsafe f32x8 => __m256 }
31from_transmute! { unsafe f32x16 => __m512 }
32
33from_transmute! { unsafe u64x2 => __m128i }
34from_transmute! { unsafe u64x4 => __m256i }
35from_transmute! { unsafe u64x8 => __m512i }
36from_transmute! { unsafe i64x2 => __m128i }
37from_transmute! { unsafe i64x4 => __m256i }
38from_transmute! { unsafe i64x8 => __m512i }
39from_transmute! { unsafe f64x2 => __m128d }
40from_transmute! { unsafe f64x4 => __m256d }
41from_transmute! { unsafe f64x8 => __m512d }
42
43#[cfg(target_pointer_width = "32")]
44mod 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")]
55mod 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