]> git.proxmox.com Git - rustc.git/blob - src/stdsimd/coresimd/ppsv/v32.rs
New upstream version 1.28.0+dfsg1
[rustc.git] / src / stdsimd / coresimd / ppsv / v32.rs
1 //! 32-bit wide portable packed vector types.
2
3 simd_i_ty! {
4 i16x2: 2, i16, m16x2, i16x2_tests, test_v32 |
5 i16, i16 |
6 x0, x1 |
7 /// A 32-bit wide vector with 2 `i16` lanes.
8 }
9
10 simd_u_ty! {
11 u16x2: 2, u16, m16x2, u16x2_tests, test_v32 |
12 u16, u16 |
13 x0, x1 |
14 /// A 32-bit wide vector with 2 `u16` lanes.
15 }
16
17 simd_m_ty! {
18 m16x2: 2, i16, m16x2_tests, test_v32 |
19 i16, i16 |
20 x0, x1 |
21 /// A 32-bit wide vector mask with 2 lanes.
22 }
23
24 simd_i_ty! {
25 i8x4: 4, i8, m8x4, i8x4_tests, test_v32 |
26 i8, i8, i8, i8 |
27 x0, x1, x2, x3 |
28 /// A 32-bit wide vector with 4 `i8` lanes.
29 }
30
31 simd_u_ty! {
32 u8x4: 4, u8, m8x4, u8x4_tests, test_v32 |
33 u8, u8, u8, u8 |
34 x0, x1, x2, x3 |
35 /// A 32-bit wide vector with 4 `u8` lanes.
36 }
37
38 simd_m_ty! {
39 m8x4: 4, i8, m8x4_tests, test_v32 |
40 i8, i8, i8, i8 |
41 x0, x1, x2, x3 |
42 /// A 32-bit wide vector mask 4 lanes.
43 }
44
45 impl_from_bits!(
46 i16x2: i16,
47 i16x2_from_bits,
48 test_v32 | u16x2,
49 m16x2,
50 i8x4,
51 u8x4,
52 m8x4
53 );
54 impl_from_bits!(
55 u16x2: u16,
56 u16x2_from_bits,
57 test_v32 | i16x2,
58 m16x2,
59 i8x4,
60 u8x4,
61 m8x4
62 );
63 impl_from_bits!(
64 i8x4: i8,
65 i8x2_from_bits,
66 test_v32 | i16x2,
67 u16x2,
68 m16x2,
69 u8x4,
70 m8x4
71 );
72 impl_from_bits!(
73 u8x4: u8,
74 u8x2_from_bits,
75 test_v32 | i16x2,
76 u16x2,
77 m16x2,
78 i8x4,
79 m8x4
80 );
81
82 impl_from!(
83 i16x2: i16,
84 i16x2_from,
85 test_v32 | f64x2,
86 u64x2,
87 i64x2,
88 m64x2,
89 f32x2,
90 u32x2,
91 i32x2,
92 m32x2,
93 u16x2,
94 m16x2,
95 u8x2,
96 i8x2,
97 m8x2
98 );
99
100 impl_from!(
101 u16x2: u16,
102 u16x2_from,
103 test_v32 | f64x2,
104 u64x2,
105 i64x2,
106 m64x2,
107 f32x2,
108 u32x2,
109 i32x2,
110 m32x2,
111 i16x2,
112 m16x2,
113 u8x2,
114 i8x2,
115 m8x2
116 );
117
118 impl_from!(
119 i8x4: i8,
120 i8x4_from,
121 test_v32 | f64x4,
122 u64x4,
123 i64x4,
124 m64x4,
125 u32x4,
126 i32x4,
127 f32x4,
128 m32x4,
129 u16x4,
130 i16x4,
131 m16x4,
132 u8x4,
133 m8x4
134 );
135
136 impl_from!(
137 u8x4: u8,
138 u8x4_from,
139 test_v32 | f64x4,
140 u64x4,
141 i64x4,
142 m64x4,
143 u32x4,
144 i32x4,
145 f32x4,
146 m32x4,
147 u16x4,
148 i16x4,
149 m16x4,
150 i8x4,
151 m8x4
152 );
153
154 impl_from!(
155 m8x4: i8,
156 m8x4_from,
157 test_v32 | m64x4,
158 m32x4,
159 m16x4
160 );
161
162 impl_from!(
163 m16x2: i16,
164 m16x2_from,
165 test_v32 | m64x2,
166 m32x2,
167 m8x2
168 );