/rust/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/stdarch_x86.rs
Line | Count | Source |
1 | | use core::mem; |
2 | | |
3 | | pub use core::arch::x86_64::*; |
4 | | |
5 | 0 | pub const fn _MM_SHUFFLE(z: u32, y: u32, x: u32, w: u32) -> i32 { |
6 | 0 | ((z << 6) | (y << 4) | (x << 2) | w) as i32 |
7 | 0 | } |
8 | | |
9 | 0 | pub const fn _mm_set_epi64x(e1: i64, e0: i64) -> __m128i { |
10 | 0 | unsafe { mem::transmute([e0, e1]) } |
11 | 0 | } |
12 | | |
13 | 0 | pub const fn _mm_set_epi32(e3: i32, e2: i32, e1: i32, e0: i32) -> __m128i { |
14 | 0 | unsafe { mem::transmute([e0, e1, e2, e3]) } |
15 | 0 | } |
16 | | |
17 | 0 | pub const fn _mm_set_epi16( |
18 | 0 | e7: i16, |
19 | 0 | e6: i16, |
20 | 0 | e5: i16, |
21 | 0 | e4: i16, |
22 | 0 | e3: i16, |
23 | 0 | e2: i16, |
24 | 0 | e1: i16, |
25 | 0 | e0: i16, |
26 | 0 | ) -> __m128i { |
27 | 0 | unsafe { mem::transmute([e0, e1, e2, e3, e4, e5, e6, e7]) } |
28 | 0 | } |
29 | | |
30 | 0 | pub const fn _mm_set_epi8( |
31 | 0 | e15: i8, |
32 | 0 | e14: i8, |
33 | 0 | e13: i8, |
34 | 0 | e12: i8, |
35 | 0 | e11: i8, |
36 | 0 | e10: i8, |
37 | 0 | e9: i8, |
38 | 0 | e8: i8, |
39 | 0 | e7: i8, |
40 | 0 | e6: i8, |
41 | 0 | e5: i8, |
42 | 0 | e4: i8, |
43 | 0 | e3: i8, |
44 | 0 | e2: i8, |
45 | 0 | e1: i8, |
46 | 0 | e0: i8, |
47 | 0 | ) -> __m128i { |
48 | | unsafe { |
49 | 0 | mem::transmute([ |
50 | 0 | e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, |
51 | 0 | ]) |
52 | | } |
53 | 0 | } |
54 | | |
55 | 0 | pub const fn _mm_set1_epi64x(a: i64) -> __m128i { |
56 | 0 | _mm_set_epi64x(a, a) |
57 | 0 | } |
58 | | |
59 | 0 | pub const fn _mm_set1_epi32(a: i32) -> __m128i { |
60 | 0 | _mm_set_epi32(a, a, a, a) |
61 | 0 | } |
62 | | |
63 | 0 | pub const fn _mm_set1_epi16(a: i16) -> __m128i { |
64 | 0 | _mm_set_epi16(a, a, a, a, a, a, a, a) |
65 | 0 | } |