1use crate::mem::transmute;
10use super::super::*;
11
12#[allow(improper_ctypes)]
13unsafe extern "unadjusted" {
14 #[link_name = "llvm.loongarch.lsx.vsrar.b"]
15 fn __lsx_vsrar_b(a: __v16i8, b: __v16i8) -> __v16i8;
16 #[link_name = "llvm.loongarch.lsx.vsrar.h"]
17 fn __lsx_vsrar_h(a: __v8i16, b: __v8i16) -> __v8i16;
18 #[link_name = "llvm.loongarch.lsx.vsrar.w"]
19 fn __lsx_vsrar_w(a: __v4i32, b: __v4i32) -> __v4i32;
20 #[link_name = "llvm.loongarch.lsx.vsrar.d"]
21 fn __lsx_vsrar_d(a: __v2i64, b: __v2i64) -> __v2i64;
22 #[link_name = "llvm.loongarch.lsx.vsrari.b"]
23 fn __lsx_vsrari_b(a: __v16i8, b: u32) -> __v16i8;
24 #[link_name = "llvm.loongarch.lsx.vsrari.h"]
25 fn __lsx_vsrari_h(a: __v8i16, b: u32) -> __v8i16;
26 #[link_name = "llvm.loongarch.lsx.vsrari.w"]
27 fn __lsx_vsrari_w(a: __v4i32, b: u32) -> __v4i32;
28 #[link_name = "llvm.loongarch.lsx.vsrari.d"]
29 fn __lsx_vsrari_d(a: __v2i64, b: u32) -> __v2i64;
30 #[link_name = "llvm.loongarch.lsx.vsrlr.b"]
31 fn __lsx_vsrlr_b(a: __v16i8, b: __v16i8) -> __v16i8;
32 #[link_name = "llvm.loongarch.lsx.vsrlr.h"]
33 fn __lsx_vsrlr_h(a: __v8i16, b: __v8i16) -> __v8i16;
34 #[link_name = "llvm.loongarch.lsx.vsrlr.w"]
35 fn __lsx_vsrlr_w(a: __v4i32, b: __v4i32) -> __v4i32;
36 #[link_name = "llvm.loongarch.lsx.vsrlr.d"]
37 fn __lsx_vsrlr_d(a: __v2i64, b: __v2i64) -> __v2i64;
38 #[link_name = "llvm.loongarch.lsx.vsrlri.b"]
39 fn __lsx_vsrlri_b(a: __v16i8, b: u32) -> __v16i8;
40 #[link_name = "llvm.loongarch.lsx.vsrlri.h"]
41 fn __lsx_vsrlri_h(a: __v8i16, b: u32) -> __v8i16;
42 #[link_name = "llvm.loongarch.lsx.vsrlri.w"]
43 fn __lsx_vsrlri_w(a: __v4i32, b: u32) -> __v4i32;
44 #[link_name = "llvm.loongarch.lsx.vsrlri.d"]
45 fn __lsx_vsrlri_d(a: __v2i64, b: u32) -> __v2i64;
46 #[link_name = "llvm.loongarch.lsx.vbitclr.b"]
47 fn __lsx_vbitclr_b(a: __v16u8, b: __v16u8) -> __v16u8;
48 #[link_name = "llvm.loongarch.lsx.vbitclr.h"]
49 fn __lsx_vbitclr_h(a: __v8u16, b: __v8u16) -> __v8u16;
50 #[link_name = "llvm.loongarch.lsx.vbitclr.w"]
51 fn __lsx_vbitclr_w(a: __v4u32, b: __v4u32) -> __v4u32;
52 #[link_name = "llvm.loongarch.lsx.vbitclr.d"]
53 fn __lsx_vbitclr_d(a: __v2u64, b: __v2u64) -> __v2u64;
54 #[link_name = "llvm.loongarch.lsx.vbitclri.b"]
55 fn __lsx_vbitclri_b(a: __v16u8, b: u32) -> __v16u8;
56 #[link_name = "llvm.loongarch.lsx.vbitclri.h"]
57 fn __lsx_vbitclri_h(a: __v8u16, b: u32) -> __v8u16;
58 #[link_name = "llvm.loongarch.lsx.vbitclri.w"]
59 fn __lsx_vbitclri_w(a: __v4u32, b: u32) -> __v4u32;
60 #[link_name = "llvm.loongarch.lsx.vbitclri.d"]
61 fn __lsx_vbitclri_d(a: __v2u64, b: u32) -> __v2u64;
62 #[link_name = "llvm.loongarch.lsx.vbitset.b"]
63 fn __lsx_vbitset_b(a: __v16u8, b: __v16u8) -> __v16u8;
64 #[link_name = "llvm.loongarch.lsx.vbitset.h"]
65 fn __lsx_vbitset_h(a: __v8u16, b: __v8u16) -> __v8u16;
66 #[link_name = "llvm.loongarch.lsx.vbitset.w"]
67 fn __lsx_vbitset_w(a: __v4u32, b: __v4u32) -> __v4u32;
68 #[link_name = "llvm.loongarch.lsx.vbitset.d"]
69 fn __lsx_vbitset_d(a: __v2u64, b: __v2u64) -> __v2u64;
70 #[link_name = "llvm.loongarch.lsx.vbitseti.b"]
71 fn __lsx_vbitseti_b(a: __v16u8, b: u32) -> __v16u8;
72 #[link_name = "llvm.loongarch.lsx.vbitseti.h"]
73 fn __lsx_vbitseti_h(a: __v8u16, b: u32) -> __v8u16;
74 #[link_name = "llvm.loongarch.lsx.vbitseti.w"]
75 fn __lsx_vbitseti_w(a: __v4u32, b: u32) -> __v4u32;
76 #[link_name = "llvm.loongarch.lsx.vbitseti.d"]
77 fn __lsx_vbitseti_d(a: __v2u64, b: u32) -> __v2u64;
78 #[link_name = "llvm.loongarch.lsx.vbitrev.b"]
79 fn __lsx_vbitrev_b(a: __v16u8, b: __v16u8) -> __v16u8;
80 #[link_name = "llvm.loongarch.lsx.vbitrev.h"]
81 fn __lsx_vbitrev_h(a: __v8u16, b: __v8u16) -> __v8u16;
82 #[link_name = "llvm.loongarch.lsx.vbitrev.w"]
83 fn __lsx_vbitrev_w(a: __v4u32, b: __v4u32) -> __v4u32;
84 #[link_name = "llvm.loongarch.lsx.vbitrev.d"]
85 fn __lsx_vbitrev_d(a: __v2u64, b: __v2u64) -> __v2u64;
86 #[link_name = "llvm.loongarch.lsx.vbitrevi.b"]
87 fn __lsx_vbitrevi_b(a: __v16u8, b: u32) -> __v16u8;
88 #[link_name = "llvm.loongarch.lsx.vbitrevi.h"]
89 fn __lsx_vbitrevi_h(a: __v8u16, b: u32) -> __v8u16;
90 #[link_name = "llvm.loongarch.lsx.vbitrevi.w"]
91 fn __lsx_vbitrevi_w(a: __v4u32, b: u32) -> __v4u32;
92 #[link_name = "llvm.loongarch.lsx.vbitrevi.d"]
93 fn __lsx_vbitrevi_d(a: __v2u64, b: u32) -> __v2u64;
94 #[link_name = "llvm.loongarch.lsx.vsubi.bu"]
95 fn __lsx_vsubi_bu(a: __v16i8, b: u32) -> __v16i8;
96 #[link_name = "llvm.loongarch.lsx.vsubi.hu"]
97 fn __lsx_vsubi_hu(a: __v8i16, b: u32) -> __v8i16;
98 #[link_name = "llvm.loongarch.lsx.vsubi.wu"]
99 fn __lsx_vsubi_wu(a: __v4i32, b: u32) -> __v4i32;
100 #[link_name = "llvm.loongarch.lsx.vsubi.du"]
101 fn __lsx_vsubi_du(a: __v2i64, b: u32) -> __v2i64;
102 #[link_name = "llvm.loongarch.lsx.vsat.b"]
103 fn __lsx_vsat_b(a: __v16i8, b: u32) -> __v16i8;
104 #[link_name = "llvm.loongarch.lsx.vsat.h"]
105 fn __lsx_vsat_h(a: __v8i16, b: u32) -> __v8i16;
106 #[link_name = "llvm.loongarch.lsx.vsat.w"]
107 fn __lsx_vsat_w(a: __v4i32, b: u32) -> __v4i32;
108 #[link_name = "llvm.loongarch.lsx.vsat.d"]
109 fn __lsx_vsat_d(a: __v2i64, b: u32) -> __v2i64;
110 #[link_name = "llvm.loongarch.lsx.vsat.bu"]
111 fn __lsx_vsat_bu(a: __v16u8, b: u32) -> __v16u8;
112 #[link_name = "llvm.loongarch.lsx.vsat.hu"]
113 fn __lsx_vsat_hu(a: __v8u16, b: u32) -> __v8u16;
114 #[link_name = "llvm.loongarch.lsx.vsat.wu"]
115 fn __lsx_vsat_wu(a: __v4u32, b: u32) -> __v4u32;
116 #[link_name = "llvm.loongarch.lsx.vsat.du"]
117 fn __lsx_vsat_du(a: __v2u64, b: u32) -> __v2u64;
118 #[link_name = "llvm.loongarch.lsx.vadda.b"]
119 fn __lsx_vadda_b(a: __v16i8, b: __v16i8) -> __v16i8;
120 #[link_name = "llvm.loongarch.lsx.vadda.h"]
121 fn __lsx_vadda_h(a: __v8i16, b: __v8i16) -> __v8i16;
122 #[link_name = "llvm.loongarch.lsx.vadda.w"]
123 fn __lsx_vadda_w(a: __v4i32, b: __v4i32) -> __v4i32;
124 #[link_name = "llvm.loongarch.lsx.vadda.d"]
125 fn __lsx_vadda_d(a: __v2i64, b: __v2i64) -> __v2i64;
126 #[link_name = "llvm.loongarch.lsx.vsadd.b"]
127 fn __lsx_vsadd_b(a: __v16i8, b: __v16i8) -> __v16i8;
128 #[link_name = "llvm.loongarch.lsx.vsadd.h"]
129 fn __lsx_vsadd_h(a: __v8i16, b: __v8i16) -> __v8i16;
130 #[link_name = "llvm.loongarch.lsx.vsadd.w"]
131 fn __lsx_vsadd_w(a: __v4i32, b: __v4i32) -> __v4i32;
132 #[link_name = "llvm.loongarch.lsx.vsadd.d"]
133 fn __lsx_vsadd_d(a: __v2i64, b: __v2i64) -> __v2i64;
134 #[link_name = "llvm.loongarch.lsx.vsadd.bu"]
135 fn __lsx_vsadd_bu(a: __v16u8, b: __v16u8) -> __v16u8;
136 #[link_name = "llvm.loongarch.lsx.vsadd.hu"]
137 fn __lsx_vsadd_hu(a: __v8u16, b: __v8u16) -> __v8u16;
138 #[link_name = "llvm.loongarch.lsx.vsadd.wu"]
139 fn __lsx_vsadd_wu(a: __v4u32, b: __v4u32) -> __v4u32;
140 #[link_name = "llvm.loongarch.lsx.vsadd.du"]
141 fn __lsx_vsadd_du(a: __v2u64, b: __v2u64) -> __v2u64;
142 #[link_name = "llvm.loongarch.lsx.vavg.b"]
143 fn __lsx_vavg_b(a: __v16i8, b: __v16i8) -> __v16i8;
144 #[link_name = "llvm.loongarch.lsx.vavg.h"]
145 fn __lsx_vavg_h(a: __v8i16, b: __v8i16) -> __v8i16;
146 #[link_name = "llvm.loongarch.lsx.vavg.w"]
147 fn __lsx_vavg_w(a: __v4i32, b: __v4i32) -> __v4i32;
148 #[link_name = "llvm.loongarch.lsx.vavg.d"]
149 fn __lsx_vavg_d(a: __v2i64, b: __v2i64) -> __v2i64;
150 #[link_name = "llvm.loongarch.lsx.vavg.bu"]
151 fn __lsx_vavg_bu(a: __v16u8, b: __v16u8) -> __v16u8;
152 #[link_name = "llvm.loongarch.lsx.vavg.hu"]
153 fn __lsx_vavg_hu(a: __v8u16, b: __v8u16) -> __v8u16;
154 #[link_name = "llvm.loongarch.lsx.vavg.wu"]
155 fn __lsx_vavg_wu(a: __v4u32, b: __v4u32) -> __v4u32;
156 #[link_name = "llvm.loongarch.lsx.vavg.du"]
157 fn __lsx_vavg_du(a: __v2u64, b: __v2u64) -> __v2u64;
158 #[link_name = "llvm.loongarch.lsx.vavgr.b"]
159 fn __lsx_vavgr_b(a: __v16i8, b: __v16i8) -> __v16i8;
160 #[link_name = "llvm.loongarch.lsx.vavgr.h"]
161 fn __lsx_vavgr_h(a: __v8i16, b: __v8i16) -> __v8i16;
162 #[link_name = "llvm.loongarch.lsx.vavgr.w"]
163 fn __lsx_vavgr_w(a: __v4i32, b: __v4i32) -> __v4i32;
164 #[link_name = "llvm.loongarch.lsx.vavgr.d"]
165 fn __lsx_vavgr_d(a: __v2i64, b: __v2i64) -> __v2i64;
166 #[link_name = "llvm.loongarch.lsx.vavgr.bu"]
167 fn __lsx_vavgr_bu(a: __v16u8, b: __v16u8) -> __v16u8;
168 #[link_name = "llvm.loongarch.lsx.vavgr.hu"]
169 fn __lsx_vavgr_hu(a: __v8u16, b: __v8u16) -> __v8u16;
170 #[link_name = "llvm.loongarch.lsx.vavgr.wu"]
171 fn __lsx_vavgr_wu(a: __v4u32, b: __v4u32) -> __v4u32;
172 #[link_name = "llvm.loongarch.lsx.vavgr.du"]
173 fn __lsx_vavgr_du(a: __v2u64, b: __v2u64) -> __v2u64;
174 #[link_name = "llvm.loongarch.lsx.vssub.b"]
175 fn __lsx_vssub_b(a: __v16i8, b: __v16i8) -> __v16i8;
176 #[link_name = "llvm.loongarch.lsx.vssub.h"]
177 fn __lsx_vssub_h(a: __v8i16, b: __v8i16) -> __v8i16;
178 #[link_name = "llvm.loongarch.lsx.vssub.w"]
179 fn __lsx_vssub_w(a: __v4i32, b: __v4i32) -> __v4i32;
180 #[link_name = "llvm.loongarch.lsx.vssub.d"]
181 fn __lsx_vssub_d(a: __v2i64, b: __v2i64) -> __v2i64;
182 #[link_name = "llvm.loongarch.lsx.vssub.bu"]
183 fn __lsx_vssub_bu(a: __v16u8, b: __v16u8) -> __v16u8;
184 #[link_name = "llvm.loongarch.lsx.vssub.hu"]
185 fn __lsx_vssub_hu(a: __v8u16, b: __v8u16) -> __v8u16;
186 #[link_name = "llvm.loongarch.lsx.vssub.wu"]
187 fn __lsx_vssub_wu(a: __v4u32, b: __v4u32) -> __v4u32;
188 #[link_name = "llvm.loongarch.lsx.vssub.du"]
189 fn __lsx_vssub_du(a: __v2u64, b: __v2u64) -> __v2u64;
190 #[link_name = "llvm.loongarch.lsx.vabsd.b"]
191 fn __lsx_vabsd_b(a: __v16i8, b: __v16i8) -> __v16i8;
192 #[link_name = "llvm.loongarch.lsx.vabsd.h"]
193 fn __lsx_vabsd_h(a: __v8i16, b: __v8i16) -> __v8i16;
194 #[link_name = "llvm.loongarch.lsx.vabsd.w"]
195 fn __lsx_vabsd_w(a: __v4i32, b: __v4i32) -> __v4i32;
196 #[link_name = "llvm.loongarch.lsx.vabsd.d"]
197 fn __lsx_vabsd_d(a: __v2i64, b: __v2i64) -> __v2i64;
198 #[link_name = "llvm.loongarch.lsx.vabsd.bu"]
199 fn __lsx_vabsd_bu(a: __v16u8, b: __v16u8) -> __v16u8;
200 #[link_name = "llvm.loongarch.lsx.vabsd.hu"]
201 fn __lsx_vabsd_hu(a: __v8u16, b: __v8u16) -> __v8u16;
202 #[link_name = "llvm.loongarch.lsx.vabsd.wu"]
203 fn __lsx_vabsd_wu(a: __v4u32, b: __v4u32) -> __v4u32;
204 #[link_name = "llvm.loongarch.lsx.vabsd.du"]
205 fn __lsx_vabsd_du(a: __v2u64, b: __v2u64) -> __v2u64;
206 #[link_name = "llvm.loongarch.lsx.vhaddw.h.b"]
207 fn __lsx_vhaddw_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
208 #[link_name = "llvm.loongarch.lsx.vhaddw.w.h"]
209 fn __lsx_vhaddw_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
210 #[link_name = "llvm.loongarch.lsx.vhaddw.d.w"]
211 fn __lsx_vhaddw_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
212 #[link_name = "llvm.loongarch.lsx.vhaddw.hu.bu"]
213 fn __lsx_vhaddw_hu_bu(a: __v16u8, b: __v16u8) -> __v8u16;
214 #[link_name = "llvm.loongarch.lsx.vhaddw.wu.hu"]
215 fn __lsx_vhaddw_wu_hu(a: __v8u16, b: __v8u16) -> __v4u32;
216 #[link_name = "llvm.loongarch.lsx.vhaddw.du.wu"]
217 fn __lsx_vhaddw_du_wu(a: __v4u32, b: __v4u32) -> __v2u64;
218 #[link_name = "llvm.loongarch.lsx.vhsubw.h.b"]
219 fn __lsx_vhsubw_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
220 #[link_name = "llvm.loongarch.lsx.vhsubw.w.h"]
221 fn __lsx_vhsubw_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
222 #[link_name = "llvm.loongarch.lsx.vhsubw.d.w"]
223 fn __lsx_vhsubw_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
224 #[link_name = "llvm.loongarch.lsx.vhsubw.hu.bu"]
225 fn __lsx_vhsubw_hu_bu(a: __v16u8, b: __v16u8) -> __v8i16;
226 #[link_name = "llvm.loongarch.lsx.vhsubw.wu.hu"]
227 fn __lsx_vhsubw_wu_hu(a: __v8u16, b: __v8u16) -> __v4i32;
228 #[link_name = "llvm.loongarch.lsx.vhsubw.du.wu"]
229 fn __lsx_vhsubw_du_wu(a: __v4u32, b: __v4u32) -> __v2i64;
230 #[link_name = "llvm.loongarch.lsx.vreplve.b"]
231 fn __lsx_vreplve_b(a: __v16i8, b: i32) -> __v16i8;
232 #[link_name = "llvm.loongarch.lsx.vreplve.h"]
233 fn __lsx_vreplve_h(a: __v8i16, b: i32) -> __v8i16;
234 #[link_name = "llvm.loongarch.lsx.vreplve.w"]
235 fn __lsx_vreplve_w(a: __v4i32, b: i32) -> __v4i32;
236 #[link_name = "llvm.loongarch.lsx.vreplve.d"]
237 fn __lsx_vreplve_d(a: __v2i64, b: i32) -> __v2i64;
238 #[link_name = "llvm.loongarch.lsx.vreplvei.b"]
239 fn __lsx_vreplvei_b(a: __v16i8, b: u32) -> __v16i8;
240 #[link_name = "llvm.loongarch.lsx.vreplvei.h"]
241 fn __lsx_vreplvei_h(a: __v8i16, b: u32) -> __v8i16;
242 #[link_name = "llvm.loongarch.lsx.vreplvei.w"]
243 fn __lsx_vreplvei_w(a: __v4i32, b: u32) -> __v4i32;
244 #[link_name = "llvm.loongarch.lsx.vreplvei.d"]
245 fn __lsx_vreplvei_d(a: __v2i64, b: u32) -> __v2i64;
246 #[link_name = "llvm.loongarch.lsx.vpickev.b"]
247 fn __lsx_vpickev_b(a: __v16i8, b: __v16i8) -> __v16i8;
248 #[link_name = "llvm.loongarch.lsx.vpickev.h"]
249 fn __lsx_vpickev_h(a: __v8i16, b: __v8i16) -> __v8i16;
250 #[link_name = "llvm.loongarch.lsx.vpickev.w"]
251 fn __lsx_vpickev_w(a: __v4i32, b: __v4i32) -> __v4i32;
252 #[link_name = "llvm.loongarch.lsx.vpickev.d"]
253 fn __lsx_vpickev_d(a: __v2i64, b: __v2i64) -> __v2i64;
254 #[link_name = "llvm.loongarch.lsx.vpickod.b"]
255 fn __lsx_vpickod_b(a: __v16i8, b: __v16i8) -> __v16i8;
256 #[link_name = "llvm.loongarch.lsx.vpickod.h"]
257 fn __lsx_vpickod_h(a: __v8i16, b: __v8i16) -> __v8i16;
258 #[link_name = "llvm.loongarch.lsx.vpickod.w"]
259 fn __lsx_vpickod_w(a: __v4i32, b: __v4i32) -> __v4i32;
260 #[link_name = "llvm.loongarch.lsx.vpickod.d"]
261 fn __lsx_vpickod_d(a: __v2i64, b: __v2i64) -> __v2i64;
262 #[link_name = "llvm.loongarch.lsx.vilvh.b"]
263 fn __lsx_vilvh_b(a: __v16i8, b: __v16i8) -> __v16i8;
264 #[link_name = "llvm.loongarch.lsx.vilvh.h"]
265 fn __lsx_vilvh_h(a: __v8i16, b: __v8i16) -> __v8i16;
266 #[link_name = "llvm.loongarch.lsx.vilvh.w"]
267 fn __lsx_vilvh_w(a: __v4i32, b: __v4i32) -> __v4i32;
268 #[link_name = "llvm.loongarch.lsx.vilvh.d"]
269 fn __lsx_vilvh_d(a: __v2i64, b: __v2i64) -> __v2i64;
270 #[link_name = "llvm.loongarch.lsx.vilvl.b"]
271 fn __lsx_vilvl_b(a: __v16i8, b: __v16i8) -> __v16i8;
272 #[link_name = "llvm.loongarch.lsx.vilvl.h"]
273 fn __lsx_vilvl_h(a: __v8i16, b: __v8i16) -> __v8i16;
274 #[link_name = "llvm.loongarch.lsx.vilvl.w"]
275 fn __lsx_vilvl_w(a: __v4i32, b: __v4i32) -> __v4i32;
276 #[link_name = "llvm.loongarch.lsx.vilvl.d"]
277 fn __lsx_vilvl_d(a: __v2i64, b: __v2i64) -> __v2i64;
278 #[link_name = "llvm.loongarch.lsx.vpackev.b"]
279 fn __lsx_vpackev_b(a: __v16i8, b: __v16i8) -> __v16i8;
280 #[link_name = "llvm.loongarch.lsx.vpackev.h"]
281 fn __lsx_vpackev_h(a: __v8i16, b: __v8i16) -> __v8i16;
282 #[link_name = "llvm.loongarch.lsx.vpackev.w"]
283 fn __lsx_vpackev_w(a: __v4i32, b: __v4i32) -> __v4i32;
284 #[link_name = "llvm.loongarch.lsx.vpackev.d"]
285 fn __lsx_vpackev_d(a: __v2i64, b: __v2i64) -> __v2i64;
286 #[link_name = "llvm.loongarch.lsx.vpackod.b"]
287 fn __lsx_vpackod_b(a: __v16i8, b: __v16i8) -> __v16i8;
288 #[link_name = "llvm.loongarch.lsx.vpackod.h"]
289 fn __lsx_vpackod_h(a: __v8i16, b: __v8i16) -> __v8i16;
290 #[link_name = "llvm.loongarch.lsx.vpackod.w"]
291 fn __lsx_vpackod_w(a: __v4i32, b: __v4i32) -> __v4i32;
292 #[link_name = "llvm.loongarch.lsx.vpackod.d"]
293 fn __lsx_vpackod_d(a: __v2i64, b: __v2i64) -> __v2i64;
294 #[link_name = "llvm.loongarch.lsx.vshuf.h"]
295 fn __lsx_vshuf_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
296 #[link_name = "llvm.loongarch.lsx.vshuf.w"]
297 fn __lsx_vshuf_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
298 #[link_name = "llvm.loongarch.lsx.vshuf.d"]
299 fn __lsx_vshuf_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
300 #[link_name = "llvm.loongarch.lsx.vandi.b"]
301 fn __lsx_vandi_b(a: __v16u8, b: u32) -> __v16u8;
302 #[link_name = "llvm.loongarch.lsx.vori.b"]
303 fn __lsx_vori_b(a: __v16u8, b: u32) -> __v16u8;
304 #[link_name = "llvm.loongarch.lsx.vnori.b"]
305 fn __lsx_vnori_b(a: __v16u8, b: u32) -> __v16u8;
306 #[link_name = "llvm.loongarch.lsx.vxori.b"]
307 fn __lsx_vxori_b(a: __v16u8, b: u32) -> __v16u8;
308 #[link_name = "llvm.loongarch.lsx.vbitsel.v"]
309 fn __lsx_vbitsel_v(a: __v16u8, b: __v16u8, c: __v16u8) -> __v16u8;
310 #[link_name = "llvm.loongarch.lsx.vbitseli.b"]
311 fn __lsx_vbitseli_b(a: __v16u8, b: __v16u8, c: u32) -> __v16u8;
312 #[link_name = "llvm.loongarch.lsx.vshuf4i.b"]
313 fn __lsx_vshuf4i_b(a: __v16i8, b: u32) -> __v16i8;
314 #[link_name = "llvm.loongarch.lsx.vshuf4i.h"]
315 fn __lsx_vshuf4i_h(a: __v8i16, b: u32) -> __v8i16;
316 #[link_name = "llvm.loongarch.lsx.vshuf4i.w"]
317 fn __lsx_vshuf4i_w(a: __v4i32, b: u32) -> __v4i32;
318 #[link_name = "llvm.loongarch.lsx.vclo.b"]
319 fn __lsx_vclo_b(a: __v16i8) -> __v16i8;
320 #[link_name = "llvm.loongarch.lsx.vclo.h"]
321 fn __lsx_vclo_h(a: __v8i16) -> __v8i16;
322 #[link_name = "llvm.loongarch.lsx.vclo.w"]
323 fn __lsx_vclo_w(a: __v4i32) -> __v4i32;
324 #[link_name = "llvm.loongarch.lsx.vclo.d"]
325 fn __lsx_vclo_d(a: __v2i64) -> __v2i64;
326 #[link_name = "llvm.loongarch.lsx.vfcvt.h.s"]
327 fn __lsx_vfcvt_h_s(a: __v4f32, b: __v4f32) -> __v8i16;
328 #[link_name = "llvm.loongarch.lsx.vfcvt.s.d"]
329 fn __lsx_vfcvt_s_d(a: __v2f64, b: __v2f64) -> __v4f32;
330 #[link_name = "llvm.loongarch.lsx.vfmin.s"]
331 fn __lsx_vfmin_s(a: __v4f32, b: __v4f32) -> __v4f32;
332 #[link_name = "llvm.loongarch.lsx.vfmin.d"]
333 fn __lsx_vfmin_d(a: __v2f64, b: __v2f64) -> __v2f64;
334 #[link_name = "llvm.loongarch.lsx.vfmina.s"]
335 fn __lsx_vfmina_s(a: __v4f32, b: __v4f32) -> __v4f32;
336 #[link_name = "llvm.loongarch.lsx.vfmina.d"]
337 fn __lsx_vfmina_d(a: __v2f64, b: __v2f64) -> __v2f64;
338 #[link_name = "llvm.loongarch.lsx.vfmax.s"]
339 fn __lsx_vfmax_s(a: __v4f32, b: __v4f32) -> __v4f32;
340 #[link_name = "llvm.loongarch.lsx.vfmax.d"]
341 fn __lsx_vfmax_d(a: __v2f64, b: __v2f64) -> __v2f64;
342 #[link_name = "llvm.loongarch.lsx.vfmaxa.s"]
343 fn __lsx_vfmaxa_s(a: __v4f32, b: __v4f32) -> __v4f32;
344 #[link_name = "llvm.loongarch.lsx.vfmaxa.d"]
345 fn __lsx_vfmaxa_d(a: __v2f64, b: __v2f64) -> __v2f64;
346 #[link_name = "llvm.loongarch.lsx.vfclass.s"]
347 fn __lsx_vfclass_s(a: __v4f32) -> __v4i32;
348 #[link_name = "llvm.loongarch.lsx.vfclass.d"]
349 fn __lsx_vfclass_d(a: __v2f64) -> __v2i64;
350 #[link_name = "llvm.loongarch.lsx.vfrecip.s"]
351 fn __lsx_vfrecip_s(a: __v4f32) -> __v4f32;
352 #[link_name = "llvm.loongarch.lsx.vfrecip.d"]
353 fn __lsx_vfrecip_d(a: __v2f64) -> __v2f64;
354 #[link_name = "llvm.loongarch.lsx.vfrecipe.s"]
355 fn __lsx_vfrecipe_s(a: __v4f32) -> __v4f32;
356 #[link_name = "llvm.loongarch.lsx.vfrecipe.d"]
357 fn __lsx_vfrecipe_d(a: __v2f64) -> __v2f64;
358 #[link_name = "llvm.loongarch.lsx.vfrsqrte.s"]
359 fn __lsx_vfrsqrte_s(a: __v4f32) -> __v4f32;
360 #[link_name = "llvm.loongarch.lsx.vfrsqrte.d"]
361 fn __lsx_vfrsqrte_d(a: __v2f64) -> __v2f64;
362 #[link_name = "llvm.loongarch.lsx.vfrint.s"]
363 fn __lsx_vfrint_s(a: __v4f32) -> __v4f32;
364 #[link_name = "llvm.loongarch.lsx.vfrint.d"]
365 fn __lsx_vfrint_d(a: __v2f64) -> __v2f64;
366 #[link_name = "llvm.loongarch.lsx.vfrsqrt.s"]
367 fn __lsx_vfrsqrt_s(a: __v4f32) -> __v4f32;
368 #[link_name = "llvm.loongarch.lsx.vfrsqrt.d"]
369 fn __lsx_vfrsqrt_d(a: __v2f64) -> __v2f64;
370 #[link_name = "llvm.loongarch.lsx.vflogb.s"]
371 fn __lsx_vflogb_s(a: __v4f32) -> __v4f32;
372 #[link_name = "llvm.loongarch.lsx.vflogb.d"]
373 fn __lsx_vflogb_d(a: __v2f64) -> __v2f64;
374 #[link_name = "llvm.loongarch.lsx.vfcvth.s.h"]
375 fn __lsx_vfcvth_s_h(a: __v8i16) -> __v4f32;
376 #[link_name = "llvm.loongarch.lsx.vfcvth.d.s"]
377 fn __lsx_vfcvth_d_s(a: __v4f32) -> __v2f64;
378 #[link_name = "llvm.loongarch.lsx.vfcvtl.s.h"]
379 fn __lsx_vfcvtl_s_h(a: __v8i16) -> __v4f32;
380 #[link_name = "llvm.loongarch.lsx.vfcvtl.d.s"]
381 fn __lsx_vfcvtl_d_s(a: __v4f32) -> __v2f64;
382 #[link_name = "llvm.loongarch.lsx.vftint.w.s"]
383 fn __lsx_vftint_w_s(a: __v4f32) -> __v4i32;
384 #[link_name = "llvm.loongarch.lsx.vftint.l.d"]
385 fn __lsx_vftint_l_d(a: __v2f64) -> __v2i64;
386 #[link_name = "llvm.loongarch.lsx.vftint.wu.s"]
387 fn __lsx_vftint_wu_s(a: __v4f32) -> __v4u32;
388 #[link_name = "llvm.loongarch.lsx.vftint.lu.d"]
389 fn __lsx_vftint_lu_d(a: __v2f64) -> __v2u64;
390 #[link_name = "llvm.loongarch.lsx.vftintrz.w.s"]
391 fn __lsx_vftintrz_w_s(a: __v4f32) -> __v4i32;
392 #[link_name = "llvm.loongarch.lsx.vftintrz.l.d"]
393 fn __lsx_vftintrz_l_d(a: __v2f64) -> __v2i64;
394 #[link_name = "llvm.loongarch.lsx.vftintrz.wu.s"]
395 fn __lsx_vftintrz_wu_s(a: __v4f32) -> __v4u32;
396 #[link_name = "llvm.loongarch.lsx.vftintrz.lu.d"]
397 fn __lsx_vftintrz_lu_d(a: __v2f64) -> __v2u64;
398 #[link_name = "llvm.loongarch.lsx.vffint.s.w"]
399 fn __lsx_vffint_s_w(a: __v4i32) -> __v4f32;
400 #[link_name = "llvm.loongarch.lsx.vffint.d.l"]
401 fn __lsx_vffint_d_l(a: __v2i64) -> __v2f64;
402 #[link_name = "llvm.loongarch.lsx.vffint.s.wu"]
403 fn __lsx_vffint_s_wu(a: __v4u32) -> __v4f32;
404 #[link_name = "llvm.loongarch.lsx.vffint.d.lu"]
405 fn __lsx_vffint_d_lu(a: __v2u64) -> __v2f64;
406 #[link_name = "llvm.loongarch.lsx.vmuh.b"]
407 fn __lsx_vmuh_b(a: __v16i8, b: __v16i8) -> __v16i8;
408 #[link_name = "llvm.loongarch.lsx.vmuh.h"]
409 fn __lsx_vmuh_h(a: __v8i16, b: __v8i16) -> __v8i16;
410 #[link_name = "llvm.loongarch.lsx.vmuh.w"]
411 fn __lsx_vmuh_w(a: __v4i32, b: __v4i32) -> __v4i32;
412 #[link_name = "llvm.loongarch.lsx.vmuh.d"]
413 fn __lsx_vmuh_d(a: __v2i64, b: __v2i64) -> __v2i64;
414 #[link_name = "llvm.loongarch.lsx.vmuh.bu"]
415 fn __lsx_vmuh_bu(a: __v16u8, b: __v16u8) -> __v16u8;
416 #[link_name = "llvm.loongarch.lsx.vmuh.hu"]
417 fn __lsx_vmuh_hu(a: __v8u16, b: __v8u16) -> __v8u16;
418 #[link_name = "llvm.loongarch.lsx.vmuh.wu"]
419 fn __lsx_vmuh_wu(a: __v4u32, b: __v4u32) -> __v4u32;
420 #[link_name = "llvm.loongarch.lsx.vmuh.du"]
421 fn __lsx_vmuh_du(a: __v2u64, b: __v2u64) -> __v2u64;
422 #[link_name = "llvm.loongarch.lsx.vsllwil.h.b"]
423 fn __lsx_vsllwil_h_b(a: __v16i8, b: u32) -> __v8i16;
424 #[link_name = "llvm.loongarch.lsx.vsllwil.w.h"]
425 fn __lsx_vsllwil_w_h(a: __v8i16, b: u32) -> __v4i32;
426 #[link_name = "llvm.loongarch.lsx.vsllwil.d.w"]
427 fn __lsx_vsllwil_d_w(a: __v4i32, b: u32) -> __v2i64;
428 #[link_name = "llvm.loongarch.lsx.vsllwil.hu.bu"]
429 fn __lsx_vsllwil_hu_bu(a: __v16u8, b: u32) -> __v8u16;
430 #[link_name = "llvm.loongarch.lsx.vsllwil.wu.hu"]
431 fn __lsx_vsllwil_wu_hu(a: __v8u16, b: u32) -> __v4u32;
432 #[link_name = "llvm.loongarch.lsx.vsllwil.du.wu"]
433 fn __lsx_vsllwil_du_wu(a: __v4u32, b: u32) -> __v2u64;
434 #[link_name = "llvm.loongarch.lsx.vsran.b.h"]
435 fn __lsx_vsran_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
436 #[link_name = "llvm.loongarch.lsx.vsran.h.w"]
437 fn __lsx_vsran_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
438 #[link_name = "llvm.loongarch.lsx.vsran.w.d"]
439 fn __lsx_vsran_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
440 #[link_name = "llvm.loongarch.lsx.vssran.b.h"]
441 fn __lsx_vssran_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
442 #[link_name = "llvm.loongarch.lsx.vssran.h.w"]
443 fn __lsx_vssran_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
444 #[link_name = "llvm.loongarch.lsx.vssran.w.d"]
445 fn __lsx_vssran_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
446 #[link_name = "llvm.loongarch.lsx.vssran.bu.h"]
447 fn __lsx_vssran_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
448 #[link_name = "llvm.loongarch.lsx.vssran.hu.w"]
449 fn __lsx_vssran_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
450 #[link_name = "llvm.loongarch.lsx.vssran.wu.d"]
451 fn __lsx_vssran_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
452 #[link_name = "llvm.loongarch.lsx.vsrarn.b.h"]
453 fn __lsx_vsrarn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
454 #[link_name = "llvm.loongarch.lsx.vsrarn.h.w"]
455 fn __lsx_vsrarn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
456 #[link_name = "llvm.loongarch.lsx.vsrarn.w.d"]
457 fn __lsx_vsrarn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
458 #[link_name = "llvm.loongarch.lsx.vssrarn.b.h"]
459 fn __lsx_vssrarn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
460 #[link_name = "llvm.loongarch.lsx.vssrarn.h.w"]
461 fn __lsx_vssrarn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
462 #[link_name = "llvm.loongarch.lsx.vssrarn.w.d"]
463 fn __lsx_vssrarn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
464 #[link_name = "llvm.loongarch.lsx.vssrarn.bu.h"]
465 fn __lsx_vssrarn_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
466 #[link_name = "llvm.loongarch.lsx.vssrarn.hu.w"]
467 fn __lsx_vssrarn_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
468 #[link_name = "llvm.loongarch.lsx.vssrarn.wu.d"]
469 fn __lsx_vssrarn_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
470 #[link_name = "llvm.loongarch.lsx.vsrln.b.h"]
471 fn __lsx_vsrln_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
472 #[link_name = "llvm.loongarch.lsx.vsrln.h.w"]
473 fn __lsx_vsrln_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
474 #[link_name = "llvm.loongarch.lsx.vsrln.w.d"]
475 fn __lsx_vsrln_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
476 #[link_name = "llvm.loongarch.lsx.vssrln.bu.h"]
477 fn __lsx_vssrln_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
478 #[link_name = "llvm.loongarch.lsx.vssrln.hu.w"]
479 fn __lsx_vssrln_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
480 #[link_name = "llvm.loongarch.lsx.vssrln.wu.d"]
481 fn __lsx_vssrln_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
482 #[link_name = "llvm.loongarch.lsx.vsrlrn.b.h"]
483 fn __lsx_vsrlrn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
484 #[link_name = "llvm.loongarch.lsx.vsrlrn.h.w"]
485 fn __lsx_vsrlrn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
486 #[link_name = "llvm.loongarch.lsx.vsrlrn.w.d"]
487 fn __lsx_vsrlrn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
488 #[link_name = "llvm.loongarch.lsx.vssrlrn.bu.h"]
489 fn __lsx_vssrlrn_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
490 #[link_name = "llvm.loongarch.lsx.vssrlrn.hu.w"]
491 fn __lsx_vssrlrn_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
492 #[link_name = "llvm.loongarch.lsx.vssrlrn.wu.d"]
493 fn __lsx_vssrlrn_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
494 #[link_name = "llvm.loongarch.lsx.vfrstpi.b"]
495 fn __lsx_vfrstpi_b(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
496 #[link_name = "llvm.loongarch.lsx.vfrstpi.h"]
497 fn __lsx_vfrstpi_h(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
498 #[link_name = "llvm.loongarch.lsx.vfrstp.b"]
499 fn __lsx_vfrstp_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
500 #[link_name = "llvm.loongarch.lsx.vfrstp.h"]
501 fn __lsx_vfrstp_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
502 #[link_name = "llvm.loongarch.lsx.vshuf4i.d"]
503 fn __lsx_vshuf4i_d(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
504 #[link_name = "llvm.loongarch.lsx.vbsrl.v"]
505 fn __lsx_vbsrl_v(a: __v16i8, b: u32) -> __v16i8;
506 #[link_name = "llvm.loongarch.lsx.vbsll.v"]
507 fn __lsx_vbsll_v(a: __v16i8, b: u32) -> __v16i8;
508 #[link_name = "llvm.loongarch.lsx.vextrins.b"]
509 fn __lsx_vextrins_b(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
510 #[link_name = "llvm.loongarch.lsx.vextrins.h"]
511 fn __lsx_vextrins_h(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
512 #[link_name = "llvm.loongarch.lsx.vextrins.w"]
513 fn __lsx_vextrins_w(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
514 #[link_name = "llvm.loongarch.lsx.vextrins.d"]
515 fn __lsx_vextrins_d(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
516 #[link_name = "llvm.loongarch.lsx.vmskltz.b"]
517 fn __lsx_vmskltz_b(a: __v16i8) -> __v16i8;
518 #[link_name = "llvm.loongarch.lsx.vmskltz.h"]
519 fn __lsx_vmskltz_h(a: __v8i16) -> __v8i16;
520 #[link_name = "llvm.loongarch.lsx.vmskltz.w"]
521 fn __lsx_vmskltz_w(a: __v4i32) -> __v4i32;
522 #[link_name = "llvm.loongarch.lsx.vmskltz.d"]
523 fn __lsx_vmskltz_d(a: __v2i64) -> __v2i64;
524 #[link_name = "llvm.loongarch.lsx.vsigncov.b"]
525 fn __lsx_vsigncov_b(a: __v16i8, b: __v16i8) -> __v16i8;
526 #[link_name = "llvm.loongarch.lsx.vsigncov.h"]
527 fn __lsx_vsigncov_h(a: __v8i16, b: __v8i16) -> __v8i16;
528 #[link_name = "llvm.loongarch.lsx.vsigncov.w"]
529 fn __lsx_vsigncov_w(a: __v4i32, b: __v4i32) -> __v4i32;
530 #[link_name = "llvm.loongarch.lsx.vsigncov.d"]
531 fn __lsx_vsigncov_d(a: __v2i64, b: __v2i64) -> __v2i64;
532 #[link_name = "llvm.loongarch.lsx.vftintrne.w.s"]
533 fn __lsx_vftintrne_w_s(a: __v4f32) -> __v4i32;
534 #[link_name = "llvm.loongarch.lsx.vftintrne.l.d"]
535 fn __lsx_vftintrne_l_d(a: __v2f64) -> __v2i64;
536 #[link_name = "llvm.loongarch.lsx.vftintrp.w.s"]
537 fn __lsx_vftintrp_w_s(a: __v4f32) -> __v4i32;
538 #[link_name = "llvm.loongarch.lsx.vftintrp.l.d"]
539 fn __lsx_vftintrp_l_d(a: __v2f64) -> __v2i64;
540 #[link_name = "llvm.loongarch.lsx.vftintrm.w.s"]
541 fn __lsx_vftintrm_w_s(a: __v4f32) -> __v4i32;
542 #[link_name = "llvm.loongarch.lsx.vftintrm.l.d"]
543 fn __lsx_vftintrm_l_d(a: __v2f64) -> __v2i64;
544 #[link_name = "llvm.loongarch.lsx.vftint.w.d"]
545 fn __lsx_vftint_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
546 #[link_name = "llvm.loongarch.lsx.vffint.s.l"]
547 fn __lsx_vffint_s_l(a: __v2i64, b: __v2i64) -> __v4f32;
548 #[link_name = "llvm.loongarch.lsx.vftintrz.w.d"]
549 fn __lsx_vftintrz_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
550 #[link_name = "llvm.loongarch.lsx.vftintrp.w.d"]
551 fn __lsx_vftintrp_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
552 #[link_name = "llvm.loongarch.lsx.vftintrm.w.d"]
553 fn __lsx_vftintrm_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
554 #[link_name = "llvm.loongarch.lsx.vftintrne.w.d"]
555 fn __lsx_vftintrne_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
556 #[link_name = "llvm.loongarch.lsx.vftintl.l.s"]
557 fn __lsx_vftintl_l_s(a: __v4f32) -> __v2i64;
558 #[link_name = "llvm.loongarch.lsx.vftinth.l.s"]
559 fn __lsx_vftinth_l_s(a: __v4f32) -> __v2i64;
560 #[link_name = "llvm.loongarch.lsx.vffinth.d.w"]
561 fn __lsx_vffinth_d_w(a: __v4i32) -> __v2f64;
562 #[link_name = "llvm.loongarch.lsx.vffintl.d.w"]
563 fn __lsx_vffintl_d_w(a: __v4i32) -> __v2f64;
564 #[link_name = "llvm.loongarch.lsx.vftintrzl.l.s"]
565 fn __lsx_vftintrzl_l_s(a: __v4f32) -> __v2i64;
566 #[link_name = "llvm.loongarch.lsx.vftintrzh.l.s"]
567 fn __lsx_vftintrzh_l_s(a: __v4f32) -> __v2i64;
568 #[link_name = "llvm.loongarch.lsx.vftintrpl.l.s"]
569 fn __lsx_vftintrpl_l_s(a: __v4f32) -> __v2i64;
570 #[link_name = "llvm.loongarch.lsx.vftintrph.l.s"]
571 fn __lsx_vftintrph_l_s(a: __v4f32) -> __v2i64;
572 #[link_name = "llvm.loongarch.lsx.vftintrml.l.s"]
573 fn __lsx_vftintrml_l_s(a: __v4f32) -> __v2i64;
574 #[link_name = "llvm.loongarch.lsx.vftintrmh.l.s"]
575 fn __lsx_vftintrmh_l_s(a: __v4f32) -> __v2i64;
576 #[link_name = "llvm.loongarch.lsx.vftintrnel.l.s"]
577 fn __lsx_vftintrnel_l_s(a: __v4f32) -> __v2i64;
578 #[link_name = "llvm.loongarch.lsx.vftintrneh.l.s"]
579 fn __lsx_vftintrneh_l_s(a: __v4f32) -> __v2i64;
580 #[link_name = "llvm.loongarch.lsx.vfrintrne.s"]
581 fn __lsx_vfrintrne_s(a: __v4f32) -> __v4f32;
582 #[link_name = "llvm.loongarch.lsx.vfrintrne.d"]
583 fn __lsx_vfrintrne_d(a: __v2f64) -> __v2f64;
584 #[link_name = "llvm.loongarch.lsx.vfrintrz.s"]
585 fn __lsx_vfrintrz_s(a: __v4f32) -> __v4f32;
586 #[link_name = "llvm.loongarch.lsx.vfrintrz.d"]
587 fn __lsx_vfrintrz_d(a: __v2f64) -> __v2f64;
588 #[link_name = "llvm.loongarch.lsx.vfrintrp.s"]
589 fn __lsx_vfrintrp_s(a: __v4f32) -> __v4f32;
590 #[link_name = "llvm.loongarch.lsx.vfrintrp.d"]
591 fn __lsx_vfrintrp_d(a: __v2f64) -> __v2f64;
592 #[link_name = "llvm.loongarch.lsx.vfrintrm.s"]
593 fn __lsx_vfrintrm_s(a: __v4f32) -> __v4f32;
594 #[link_name = "llvm.loongarch.lsx.vfrintrm.d"]
595 fn __lsx_vfrintrm_d(a: __v2f64) -> __v2f64;
596 #[link_name = "llvm.loongarch.lsx.vstelm.b"]
597 fn __lsx_vstelm_b(a: __v16i8, b: *mut i8, c: i32, d: u32);
598 #[link_name = "llvm.loongarch.lsx.vstelm.h"]
599 fn __lsx_vstelm_h(a: __v8i16, b: *mut i8, c: i32, d: u32);
600 #[link_name = "llvm.loongarch.lsx.vstelm.w"]
601 fn __lsx_vstelm_w(a: __v4i32, b: *mut i8, c: i32, d: u32);
602 #[link_name = "llvm.loongarch.lsx.vstelm.d"]
603 fn __lsx_vstelm_d(a: __v2i64, b: *mut i8, c: i32, d: u32);
604 #[link_name = "llvm.loongarch.lsx.vaddwev.d.w"]
605 fn __lsx_vaddwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
606 #[link_name = "llvm.loongarch.lsx.vaddwev.w.h"]
607 fn __lsx_vaddwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
608 #[link_name = "llvm.loongarch.lsx.vaddwev.h.b"]
609 fn __lsx_vaddwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
610 #[link_name = "llvm.loongarch.lsx.vaddwod.d.w"]
611 fn __lsx_vaddwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
612 #[link_name = "llvm.loongarch.lsx.vaddwod.w.h"]
613 fn __lsx_vaddwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
614 #[link_name = "llvm.loongarch.lsx.vaddwod.h.b"]
615 fn __lsx_vaddwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
616 #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu"]
617 fn __lsx_vaddwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
618 #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu"]
619 fn __lsx_vaddwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
620 #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu"]
621 fn __lsx_vaddwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
622 #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu"]
623 fn __lsx_vaddwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
624 #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu"]
625 fn __lsx_vaddwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
626 #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu"]
627 fn __lsx_vaddwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
628 #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu.w"]
629 fn __lsx_vaddwev_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
630 #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu.h"]
631 fn __lsx_vaddwev_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
632 #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu.b"]
633 fn __lsx_vaddwev_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
634 #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu.w"]
635 fn __lsx_vaddwod_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
636 #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu.h"]
637 fn __lsx_vaddwod_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
638 #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu.b"]
639 fn __lsx_vaddwod_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
640 #[link_name = "llvm.loongarch.lsx.vsubwev.d.w"]
641 fn __lsx_vsubwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
642 #[link_name = "llvm.loongarch.lsx.vsubwev.w.h"]
643 fn __lsx_vsubwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
644 #[link_name = "llvm.loongarch.lsx.vsubwev.h.b"]
645 fn __lsx_vsubwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
646 #[link_name = "llvm.loongarch.lsx.vsubwod.d.w"]
647 fn __lsx_vsubwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
648 #[link_name = "llvm.loongarch.lsx.vsubwod.w.h"]
649 fn __lsx_vsubwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
650 #[link_name = "llvm.loongarch.lsx.vsubwod.h.b"]
651 fn __lsx_vsubwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
652 #[link_name = "llvm.loongarch.lsx.vsubwev.d.wu"]
653 fn __lsx_vsubwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
654 #[link_name = "llvm.loongarch.lsx.vsubwev.w.hu"]
655 fn __lsx_vsubwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
656 #[link_name = "llvm.loongarch.lsx.vsubwev.h.bu"]
657 fn __lsx_vsubwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
658 #[link_name = "llvm.loongarch.lsx.vsubwod.d.wu"]
659 fn __lsx_vsubwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
660 #[link_name = "llvm.loongarch.lsx.vsubwod.w.hu"]
661 fn __lsx_vsubwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
662 #[link_name = "llvm.loongarch.lsx.vsubwod.h.bu"]
663 fn __lsx_vsubwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
664 #[link_name = "llvm.loongarch.lsx.vaddwev.q.d"]
665 fn __lsx_vaddwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
666 #[link_name = "llvm.loongarch.lsx.vaddwod.q.d"]
667 fn __lsx_vaddwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
668 #[link_name = "llvm.loongarch.lsx.vaddwev.q.du"]
669 fn __lsx_vaddwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
670 #[link_name = "llvm.loongarch.lsx.vaddwod.q.du"]
671 fn __lsx_vaddwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
672 #[link_name = "llvm.loongarch.lsx.vsubwev.q.d"]
673 fn __lsx_vsubwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
674 #[link_name = "llvm.loongarch.lsx.vsubwod.q.d"]
675 fn __lsx_vsubwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
676 #[link_name = "llvm.loongarch.lsx.vsubwev.q.du"]
677 fn __lsx_vsubwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
678 #[link_name = "llvm.loongarch.lsx.vsubwod.q.du"]
679 fn __lsx_vsubwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
680 #[link_name = "llvm.loongarch.lsx.vaddwev.q.du.d"]
681 fn __lsx_vaddwev_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
682 #[link_name = "llvm.loongarch.lsx.vaddwod.q.du.d"]
683 fn __lsx_vaddwod_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
684 #[link_name = "llvm.loongarch.lsx.vmulwev.d.w"]
685 fn __lsx_vmulwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
686 #[link_name = "llvm.loongarch.lsx.vmulwev.w.h"]
687 fn __lsx_vmulwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
688 #[link_name = "llvm.loongarch.lsx.vmulwev.h.b"]
689 fn __lsx_vmulwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
690 #[link_name = "llvm.loongarch.lsx.vmulwod.d.w"]
691 fn __lsx_vmulwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
692 #[link_name = "llvm.loongarch.lsx.vmulwod.w.h"]
693 fn __lsx_vmulwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
694 #[link_name = "llvm.loongarch.lsx.vmulwod.h.b"]
695 fn __lsx_vmulwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
696 #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu"]
697 fn __lsx_vmulwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
698 #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu"]
699 fn __lsx_vmulwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
700 #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu"]
701 fn __lsx_vmulwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
702 #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu"]
703 fn __lsx_vmulwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
704 #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu"]
705 fn __lsx_vmulwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
706 #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu"]
707 fn __lsx_vmulwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
708 #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu.w"]
709 fn __lsx_vmulwev_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
710 #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu.h"]
711 fn __lsx_vmulwev_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
712 #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu.b"]
713 fn __lsx_vmulwev_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
714 #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu.w"]
715 fn __lsx_vmulwod_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
716 #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu.h"]
717 fn __lsx_vmulwod_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
718 #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu.b"]
719 fn __lsx_vmulwod_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
720 #[link_name = "llvm.loongarch.lsx.vmulwev.q.d"]
721 fn __lsx_vmulwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
722 #[link_name = "llvm.loongarch.lsx.vmulwod.q.d"]
723 fn __lsx_vmulwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
724 #[link_name = "llvm.loongarch.lsx.vmulwev.q.du"]
725 fn __lsx_vmulwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
726 #[link_name = "llvm.loongarch.lsx.vmulwod.q.du"]
727 fn __lsx_vmulwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
728 #[link_name = "llvm.loongarch.lsx.vmulwev.q.du.d"]
729 fn __lsx_vmulwev_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
730 #[link_name = "llvm.loongarch.lsx.vmulwod.q.du.d"]
731 fn __lsx_vmulwod_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
732 #[link_name = "llvm.loongarch.lsx.vhaddw.q.d"]
733 fn __lsx_vhaddw_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
734 #[link_name = "llvm.loongarch.lsx.vhaddw.qu.du"]
735 fn __lsx_vhaddw_qu_du(a: __v2u64, b: __v2u64) -> __v2u64;
736 #[link_name = "llvm.loongarch.lsx.vhsubw.q.d"]
737 fn __lsx_vhsubw_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
738 #[link_name = "llvm.loongarch.lsx.vhsubw.qu.du"]
739 fn __lsx_vhsubw_qu_du(a: __v2u64, b: __v2u64) -> __v2u64;
740 #[link_name = "llvm.loongarch.lsx.vmaddwev.d.w"]
741 fn __lsx_vmaddwev_d_w(a: __v2i64, b: __v4i32, c: __v4i32) -> __v2i64;
742 #[link_name = "llvm.loongarch.lsx.vmaddwev.w.h"]
743 fn __lsx_vmaddwev_w_h(a: __v4i32, b: __v8i16, c: __v8i16) -> __v4i32;
744 #[link_name = "llvm.loongarch.lsx.vmaddwev.h.b"]
745 fn __lsx_vmaddwev_h_b(a: __v8i16, b: __v16i8, c: __v16i8) -> __v8i16;
746 #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu"]
747 fn __lsx_vmaddwev_d_wu(a: __v2u64, b: __v4u32, c: __v4u32) -> __v2u64;
748 #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu"]
749 fn __lsx_vmaddwev_w_hu(a: __v4u32, b: __v8u16, c: __v8u16) -> __v4u32;
750 #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu"]
751 fn __lsx_vmaddwev_h_bu(a: __v8u16, b: __v16u8, c: __v16u8) -> __v8u16;
752 #[link_name = "llvm.loongarch.lsx.vmaddwod.d.w"]
753 fn __lsx_vmaddwod_d_w(a: __v2i64, b: __v4i32, c: __v4i32) -> __v2i64;
754 #[link_name = "llvm.loongarch.lsx.vmaddwod.w.h"]
755 fn __lsx_vmaddwod_w_h(a: __v4i32, b: __v8i16, c: __v8i16) -> __v4i32;
756 #[link_name = "llvm.loongarch.lsx.vmaddwod.h.b"]
757 fn __lsx_vmaddwod_h_b(a: __v8i16, b: __v16i8, c: __v16i8) -> __v8i16;
758 #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu"]
759 fn __lsx_vmaddwod_d_wu(a: __v2u64, b: __v4u32, c: __v4u32) -> __v2u64;
760 #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu"]
761 fn __lsx_vmaddwod_w_hu(a: __v4u32, b: __v8u16, c: __v8u16) -> __v4u32;
762 #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu"]
763 fn __lsx_vmaddwod_h_bu(a: __v8u16, b: __v16u8, c: __v16u8) -> __v8u16;
764 #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu.w"]
765 fn __lsx_vmaddwev_d_wu_w(a: __v2i64, b: __v4u32, c: __v4i32) -> __v2i64;
766 #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu.h"]
767 fn __lsx_vmaddwev_w_hu_h(a: __v4i32, b: __v8u16, c: __v8i16) -> __v4i32;
768 #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu.b"]
769 fn __lsx_vmaddwev_h_bu_b(a: __v8i16, b: __v16u8, c: __v16i8) -> __v8i16;
770 #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu.w"]
771 fn __lsx_vmaddwod_d_wu_w(a: __v2i64, b: __v4u32, c: __v4i32) -> __v2i64;
772 #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu.h"]
773 fn __lsx_vmaddwod_w_hu_h(a: __v4i32, b: __v8u16, c: __v8i16) -> __v4i32;
774 #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu.b"]
775 fn __lsx_vmaddwod_h_bu_b(a: __v8i16, b: __v16u8, c: __v16i8) -> __v8i16;
776 #[link_name = "llvm.loongarch.lsx.vmaddwev.q.d"]
777 fn __lsx_vmaddwev_q_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
778 #[link_name = "llvm.loongarch.lsx.vmaddwod.q.d"]
779 fn __lsx_vmaddwod_q_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
780 #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du"]
781 fn __lsx_vmaddwev_q_du(a: __v2u64, b: __v2u64, c: __v2u64) -> __v2u64;
782 #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du"]
783 fn __lsx_vmaddwod_q_du(a: __v2u64, b: __v2u64, c: __v2u64) -> __v2u64;
784 #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du.d"]
785 fn __lsx_vmaddwev_q_du_d(a: __v2i64, b: __v2u64, c: __v2i64) -> __v2i64;
786 #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du.d"]
787 fn __lsx_vmaddwod_q_du_d(a: __v2i64, b: __v2u64, c: __v2i64) -> __v2i64;
788 #[link_name = "llvm.loongarch.lsx.vrotr.b"]
789 fn __lsx_vrotr_b(a: __v16i8, b: __v16i8) -> __v16i8;
790 #[link_name = "llvm.loongarch.lsx.vrotr.h"]
791 fn __lsx_vrotr_h(a: __v8i16, b: __v8i16) -> __v8i16;
792 #[link_name = "llvm.loongarch.lsx.vrotr.w"]
793 fn __lsx_vrotr_w(a: __v4i32, b: __v4i32) -> __v4i32;
794 #[link_name = "llvm.loongarch.lsx.vrotr.d"]
795 fn __lsx_vrotr_d(a: __v2i64, b: __v2i64) -> __v2i64;
796 #[link_name = "llvm.loongarch.lsx.vadd.q"]
797 fn __lsx_vadd_q(a: __v2i64, b: __v2i64) -> __v2i64;
798 #[link_name = "llvm.loongarch.lsx.vsub.q"]
799 fn __lsx_vsub_q(a: __v2i64, b: __v2i64) -> __v2i64;
800 #[link_name = "llvm.loongarch.lsx.vldrepl.b"]
801 fn __lsx_vldrepl_b(a: *const i8, b: i32) -> __v16i8;
802 #[link_name = "llvm.loongarch.lsx.vldrepl.h"]
803 fn __lsx_vldrepl_h(a: *const i8, b: i32) -> __v8i16;
804 #[link_name = "llvm.loongarch.lsx.vldrepl.w"]
805 fn __lsx_vldrepl_w(a: *const i8, b: i32) -> __v4i32;
806 #[link_name = "llvm.loongarch.lsx.vldrepl.d"]
807 fn __lsx_vldrepl_d(a: *const i8, b: i32) -> __v2i64;
808 #[link_name = "llvm.loongarch.lsx.vmskgez.b"]
809 fn __lsx_vmskgez_b(a: __v16i8) -> __v16i8;
810 #[link_name = "llvm.loongarch.lsx.vmsknz.b"]
811 fn __lsx_vmsknz_b(a: __v16i8) -> __v16i8;
812 #[link_name = "llvm.loongarch.lsx.vexth.h.b"]
813 fn __lsx_vexth_h_b(a: __v16i8) -> __v8i16;
814 #[link_name = "llvm.loongarch.lsx.vexth.w.h"]
815 fn __lsx_vexth_w_h(a: __v8i16) -> __v4i32;
816 #[link_name = "llvm.loongarch.lsx.vexth.d.w"]
817 fn __lsx_vexth_d_w(a: __v4i32) -> __v2i64;
818 #[link_name = "llvm.loongarch.lsx.vexth.q.d"]
819 fn __lsx_vexth_q_d(a: __v2i64) -> __v2i64;
820 #[link_name = "llvm.loongarch.lsx.vexth.hu.bu"]
821 fn __lsx_vexth_hu_bu(a: __v16u8) -> __v8u16;
822 #[link_name = "llvm.loongarch.lsx.vexth.wu.hu"]
823 fn __lsx_vexth_wu_hu(a: __v8u16) -> __v4u32;
824 #[link_name = "llvm.loongarch.lsx.vexth.du.wu"]
825 fn __lsx_vexth_du_wu(a: __v4u32) -> __v2u64;
826 #[link_name = "llvm.loongarch.lsx.vexth.qu.du"]
827 fn __lsx_vexth_qu_du(a: __v2u64) -> __v2u64;
828 #[link_name = "llvm.loongarch.lsx.vrotri.b"]
829 fn __lsx_vrotri_b(a: __v16i8, b: u32) -> __v16i8;
830 #[link_name = "llvm.loongarch.lsx.vrotri.h"]
831 fn __lsx_vrotri_h(a: __v8i16, b: u32) -> __v8i16;
832 #[link_name = "llvm.loongarch.lsx.vrotri.w"]
833 fn __lsx_vrotri_w(a: __v4i32, b: u32) -> __v4i32;
834 #[link_name = "llvm.loongarch.lsx.vrotri.d"]
835 fn __lsx_vrotri_d(a: __v2i64, b: u32) -> __v2i64;
836 #[link_name = "llvm.loongarch.lsx.vextl.q.d"]
837 fn __lsx_vextl_q_d(a: __v2i64) -> __v2i64;
838 #[link_name = "llvm.loongarch.lsx.vsrlni.b.h"]
839 fn __lsx_vsrlni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
840 #[link_name = "llvm.loongarch.lsx.vsrlni.h.w"]
841 fn __lsx_vsrlni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
842 #[link_name = "llvm.loongarch.lsx.vsrlni.w.d"]
843 fn __lsx_vsrlni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
844 #[link_name = "llvm.loongarch.lsx.vsrlni.d.q"]
845 fn __lsx_vsrlni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
846 #[link_name = "llvm.loongarch.lsx.vsrlrni.b.h"]
847 fn __lsx_vsrlrni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
848 #[link_name = "llvm.loongarch.lsx.vsrlrni.h.w"]
849 fn __lsx_vsrlrni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
850 #[link_name = "llvm.loongarch.lsx.vsrlrni.w.d"]
851 fn __lsx_vsrlrni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
852 #[link_name = "llvm.loongarch.lsx.vsrlrni.d.q"]
853 fn __lsx_vsrlrni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
854 #[link_name = "llvm.loongarch.lsx.vssrlni.b.h"]
855 fn __lsx_vssrlni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
856 #[link_name = "llvm.loongarch.lsx.vssrlni.h.w"]
857 fn __lsx_vssrlni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
858 #[link_name = "llvm.loongarch.lsx.vssrlni.w.d"]
859 fn __lsx_vssrlni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
860 #[link_name = "llvm.loongarch.lsx.vssrlni.d.q"]
861 fn __lsx_vssrlni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
862 #[link_name = "llvm.loongarch.lsx.vssrlni.bu.h"]
863 fn __lsx_vssrlni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
864 #[link_name = "llvm.loongarch.lsx.vssrlni.hu.w"]
865 fn __lsx_vssrlni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
866 #[link_name = "llvm.loongarch.lsx.vssrlni.wu.d"]
867 fn __lsx_vssrlni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
868 #[link_name = "llvm.loongarch.lsx.vssrlni.du.q"]
869 fn __lsx_vssrlni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
870 #[link_name = "llvm.loongarch.lsx.vssrlrni.b.h"]
871 fn __lsx_vssrlrni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
872 #[link_name = "llvm.loongarch.lsx.vssrlrni.h.w"]
873 fn __lsx_vssrlrni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
874 #[link_name = "llvm.loongarch.lsx.vssrlrni.w.d"]
875 fn __lsx_vssrlrni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
876 #[link_name = "llvm.loongarch.lsx.vssrlrni.d.q"]
877 fn __lsx_vssrlrni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
878 #[link_name = "llvm.loongarch.lsx.vssrlrni.bu.h"]
879 fn __lsx_vssrlrni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
880 #[link_name = "llvm.loongarch.lsx.vssrlrni.hu.w"]
881 fn __lsx_vssrlrni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
882 #[link_name = "llvm.loongarch.lsx.vssrlrni.wu.d"]
883 fn __lsx_vssrlrni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
884 #[link_name = "llvm.loongarch.lsx.vssrlrni.du.q"]
885 fn __lsx_vssrlrni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
886 #[link_name = "llvm.loongarch.lsx.vsrani.b.h"]
887 fn __lsx_vsrani_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
888 #[link_name = "llvm.loongarch.lsx.vsrani.h.w"]
889 fn __lsx_vsrani_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
890 #[link_name = "llvm.loongarch.lsx.vsrani.w.d"]
891 fn __lsx_vsrani_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
892 #[link_name = "llvm.loongarch.lsx.vsrani.d.q"]
893 fn __lsx_vsrani_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
894 #[link_name = "llvm.loongarch.lsx.vsrarni.b.h"]
895 fn __lsx_vsrarni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
896 #[link_name = "llvm.loongarch.lsx.vsrarni.h.w"]
897 fn __lsx_vsrarni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
898 #[link_name = "llvm.loongarch.lsx.vsrarni.w.d"]
899 fn __lsx_vsrarni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
900 #[link_name = "llvm.loongarch.lsx.vsrarni.d.q"]
901 fn __lsx_vsrarni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
902 #[link_name = "llvm.loongarch.lsx.vssrani.b.h"]
903 fn __lsx_vssrani_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
904 #[link_name = "llvm.loongarch.lsx.vssrani.h.w"]
905 fn __lsx_vssrani_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
906 #[link_name = "llvm.loongarch.lsx.vssrani.w.d"]
907 fn __lsx_vssrani_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
908 #[link_name = "llvm.loongarch.lsx.vssrani.d.q"]
909 fn __lsx_vssrani_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
910 #[link_name = "llvm.loongarch.lsx.vssrani.bu.h"]
911 fn __lsx_vssrani_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
912 #[link_name = "llvm.loongarch.lsx.vssrani.hu.w"]
913 fn __lsx_vssrani_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
914 #[link_name = "llvm.loongarch.lsx.vssrani.wu.d"]
915 fn __lsx_vssrani_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
916 #[link_name = "llvm.loongarch.lsx.vssrani.du.q"]
917 fn __lsx_vssrani_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
918 #[link_name = "llvm.loongarch.lsx.vssrarni.b.h"]
919 fn __lsx_vssrarni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
920 #[link_name = "llvm.loongarch.lsx.vssrarni.h.w"]
921 fn __lsx_vssrarni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
922 #[link_name = "llvm.loongarch.lsx.vssrarni.w.d"]
923 fn __lsx_vssrarni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
924 #[link_name = "llvm.loongarch.lsx.vssrarni.d.q"]
925 fn __lsx_vssrarni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
926 #[link_name = "llvm.loongarch.lsx.vssrarni.bu.h"]
927 fn __lsx_vssrarni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
928 #[link_name = "llvm.loongarch.lsx.vssrarni.hu.w"]
929 fn __lsx_vssrarni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
930 #[link_name = "llvm.loongarch.lsx.vssrarni.wu.d"]
931 fn __lsx_vssrarni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
932 #[link_name = "llvm.loongarch.lsx.vssrarni.du.q"]
933 fn __lsx_vssrarni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
934 #[link_name = "llvm.loongarch.lsx.vpermi.w"]
935 fn __lsx_vpermi_w(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
936 #[link_name = "llvm.loongarch.lsx.vld"]
937 fn __lsx_vld(a: *const i8, b: i32) -> __v16i8;
938 #[link_name = "llvm.loongarch.lsx.vst"]
939 fn __lsx_vst(a: __v16i8, b: *mut i8, c: i32);
940 #[link_name = "llvm.loongarch.lsx.vssrlrn.b.h"]
941 fn __lsx_vssrlrn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
942 #[link_name = "llvm.loongarch.lsx.vssrlrn.h.w"]
943 fn __lsx_vssrlrn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
944 #[link_name = "llvm.loongarch.lsx.vssrlrn.w.d"]
945 fn __lsx_vssrlrn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
946 #[link_name = "llvm.loongarch.lsx.vssrln.b.h"]
947 fn __lsx_vssrln_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
948 #[link_name = "llvm.loongarch.lsx.vssrln.h.w"]
949 fn __lsx_vssrln_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
950 #[link_name = "llvm.loongarch.lsx.vssrln.w.d"]
951 fn __lsx_vssrln_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
952 #[link_name = "llvm.loongarch.lsx.vldi"]
953 fn __lsx_vldi(a: i32) -> __v2i64;
954 #[link_name = "llvm.loongarch.lsx.vshuf.b"]
955 fn __lsx_vshuf_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
956 #[link_name = "llvm.loongarch.lsx.vldx"]
957 fn __lsx_vldx(a: *const i8, b: i64) -> __v16i8;
958 #[link_name = "llvm.loongarch.lsx.vstx"]
959 fn __lsx_vstx(a: __v16i8, b: *mut i8, c: i64);
960 #[link_name = "llvm.loongarch.lsx.vextl.qu.du"]
961 fn __lsx_vextl_qu_du(a: __v2u64) -> __v2u64;
962 #[link_name = "llvm.loongarch.lsx.bnz.b"]
963 fn __lsx_bnz_b(a: __v16u8) -> i32;
964 #[link_name = "llvm.loongarch.lsx.bnz.d"]
965 fn __lsx_bnz_d(a: __v2u64) -> i32;
966 #[link_name = "llvm.loongarch.lsx.bnz.h"]
967 fn __lsx_bnz_h(a: __v8u16) -> i32;
968 #[link_name = "llvm.loongarch.lsx.bnz.v"]
969 fn __lsx_bnz_v(a: __v16u8) -> i32;
970 #[link_name = "llvm.loongarch.lsx.bnz.w"]
971 fn __lsx_bnz_w(a: __v4u32) -> i32;
972 #[link_name = "llvm.loongarch.lsx.bz.b"]
973 fn __lsx_bz_b(a: __v16u8) -> i32;
974 #[link_name = "llvm.loongarch.lsx.bz.d"]
975 fn __lsx_bz_d(a: __v2u64) -> i32;
976 #[link_name = "llvm.loongarch.lsx.bz.h"]
977 fn __lsx_bz_h(a: __v8u16) -> i32;
978 #[link_name = "llvm.loongarch.lsx.bz.v"]
979 fn __lsx_bz_v(a: __v16u8) -> i32;
980 #[link_name = "llvm.loongarch.lsx.bz.w"]
981 fn __lsx_bz_w(a: __v4u32) -> i32;
982 #[link_name = "llvm.loongarch.lsx.vfcmp.caf.d"]
983 fn __lsx_vfcmp_caf_d(a: __v2f64, b: __v2f64) -> __v2i64;
984 #[link_name = "llvm.loongarch.lsx.vfcmp.caf.s"]
985 fn __lsx_vfcmp_caf_s(a: __v4f32, b: __v4f32) -> __v4i32;
986 #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.d"]
987 fn __lsx_vfcmp_ceq_d(a: __v2f64, b: __v2f64) -> __v2i64;
988 #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.s"]
989 fn __lsx_vfcmp_ceq_s(a: __v4f32, b: __v4f32) -> __v4i32;
990 #[link_name = "llvm.loongarch.lsx.vfcmp.cle.d"]
991 fn __lsx_vfcmp_cle_d(a: __v2f64, b: __v2f64) -> __v2i64;
992 #[link_name = "llvm.loongarch.lsx.vfcmp.cle.s"]
993 fn __lsx_vfcmp_cle_s(a: __v4f32, b: __v4f32) -> __v4i32;
994 #[link_name = "llvm.loongarch.lsx.vfcmp.clt.d"]
995 fn __lsx_vfcmp_clt_d(a: __v2f64, b: __v2f64) -> __v2i64;
996 #[link_name = "llvm.loongarch.lsx.vfcmp.clt.s"]
997 fn __lsx_vfcmp_clt_s(a: __v4f32, b: __v4f32) -> __v4i32;
998 #[link_name = "llvm.loongarch.lsx.vfcmp.cne.d"]
999 fn __lsx_vfcmp_cne_d(a: __v2f64, b: __v2f64) -> __v2i64;
1000 #[link_name = "llvm.loongarch.lsx.vfcmp.cne.s"]
1001 fn __lsx_vfcmp_cne_s(a: __v4f32, b: __v4f32) -> __v4i32;
1002 #[link_name = "llvm.loongarch.lsx.vfcmp.cor.d"]
1003 fn __lsx_vfcmp_cor_d(a: __v2f64, b: __v2f64) -> __v2i64;
1004 #[link_name = "llvm.loongarch.lsx.vfcmp.cor.s"]
1005 fn __lsx_vfcmp_cor_s(a: __v4f32, b: __v4f32) -> __v4i32;
1006 #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.d"]
1007 fn __lsx_vfcmp_cueq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1008 #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.s"]
1009 fn __lsx_vfcmp_cueq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1010 #[link_name = "llvm.loongarch.lsx.vfcmp.cule.d"]
1011 fn __lsx_vfcmp_cule_d(a: __v2f64, b: __v2f64) -> __v2i64;
1012 #[link_name = "llvm.loongarch.lsx.vfcmp.cule.s"]
1013 fn __lsx_vfcmp_cule_s(a: __v4f32, b: __v4f32) -> __v4i32;
1014 #[link_name = "llvm.loongarch.lsx.vfcmp.cult.d"]
1015 fn __lsx_vfcmp_cult_d(a: __v2f64, b: __v2f64) -> __v2i64;
1016 #[link_name = "llvm.loongarch.lsx.vfcmp.cult.s"]
1017 fn __lsx_vfcmp_cult_s(a: __v4f32, b: __v4f32) -> __v4i32;
1018 #[link_name = "llvm.loongarch.lsx.vfcmp.cun.d"]
1019 fn __lsx_vfcmp_cun_d(a: __v2f64, b: __v2f64) -> __v2i64;
1020 #[link_name = "llvm.loongarch.lsx.vfcmp.cune.d"]
1021 fn __lsx_vfcmp_cune_d(a: __v2f64, b: __v2f64) -> __v2i64;
1022 #[link_name = "llvm.loongarch.lsx.vfcmp.cune.s"]
1023 fn __lsx_vfcmp_cune_s(a: __v4f32, b: __v4f32) -> __v4i32;
1024 #[link_name = "llvm.loongarch.lsx.vfcmp.cun.s"]
1025 fn __lsx_vfcmp_cun_s(a: __v4f32, b: __v4f32) -> __v4i32;
1026 #[link_name = "llvm.loongarch.lsx.vfcmp.saf.d"]
1027 fn __lsx_vfcmp_saf_d(a: __v2f64, b: __v2f64) -> __v2i64;
1028 #[link_name = "llvm.loongarch.lsx.vfcmp.saf.s"]
1029 fn __lsx_vfcmp_saf_s(a: __v4f32, b: __v4f32) -> __v4i32;
1030 #[link_name = "llvm.loongarch.lsx.vfcmp.seq.d"]
1031 fn __lsx_vfcmp_seq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1032 #[link_name = "llvm.loongarch.lsx.vfcmp.seq.s"]
1033 fn __lsx_vfcmp_seq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1034 #[link_name = "llvm.loongarch.lsx.vfcmp.sle.d"]
1035 fn __lsx_vfcmp_sle_d(a: __v2f64, b: __v2f64) -> __v2i64;
1036 #[link_name = "llvm.loongarch.lsx.vfcmp.sle.s"]
1037 fn __lsx_vfcmp_sle_s(a: __v4f32, b: __v4f32) -> __v4i32;
1038 #[link_name = "llvm.loongarch.lsx.vfcmp.slt.d"]
1039 fn __lsx_vfcmp_slt_d(a: __v2f64, b: __v2f64) -> __v2i64;
1040 #[link_name = "llvm.loongarch.lsx.vfcmp.slt.s"]
1041 fn __lsx_vfcmp_slt_s(a: __v4f32, b: __v4f32) -> __v4i32;
1042 #[link_name = "llvm.loongarch.lsx.vfcmp.sne.d"]
1043 fn __lsx_vfcmp_sne_d(a: __v2f64, b: __v2f64) -> __v2i64;
1044 #[link_name = "llvm.loongarch.lsx.vfcmp.sne.s"]
1045 fn __lsx_vfcmp_sne_s(a: __v4f32, b: __v4f32) -> __v4i32;
1046 #[link_name = "llvm.loongarch.lsx.vfcmp.sor.d"]
1047 fn __lsx_vfcmp_sor_d(a: __v2f64, b: __v2f64) -> __v2i64;
1048 #[link_name = "llvm.loongarch.lsx.vfcmp.sor.s"]
1049 fn __lsx_vfcmp_sor_s(a: __v4f32, b: __v4f32) -> __v4i32;
1050 #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.d"]
1051 fn __lsx_vfcmp_sueq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1052 #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.s"]
1053 fn __lsx_vfcmp_sueq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1054 #[link_name = "llvm.loongarch.lsx.vfcmp.sule.d"]
1055 fn __lsx_vfcmp_sule_d(a: __v2f64, b: __v2f64) -> __v2i64;
1056 #[link_name = "llvm.loongarch.lsx.vfcmp.sule.s"]
1057 fn __lsx_vfcmp_sule_s(a: __v4f32, b: __v4f32) -> __v4i32;
1058 #[link_name = "llvm.loongarch.lsx.vfcmp.sult.d"]
1059 fn __lsx_vfcmp_sult_d(a: __v2f64, b: __v2f64) -> __v2i64;
1060 #[link_name = "llvm.loongarch.lsx.vfcmp.sult.s"]
1061 fn __lsx_vfcmp_sult_s(a: __v4f32, b: __v4f32) -> __v4i32;
1062 #[link_name = "llvm.loongarch.lsx.vfcmp.sun.d"]
1063 fn __lsx_vfcmp_sun_d(a: __v2f64, b: __v2f64) -> __v2i64;
1064 #[link_name = "llvm.loongarch.lsx.vfcmp.sune.d"]
1065 fn __lsx_vfcmp_sune_d(a: __v2f64, b: __v2f64) -> __v2i64;
1066 #[link_name = "llvm.loongarch.lsx.vfcmp.sune.s"]
1067 fn __lsx_vfcmp_sune_s(a: __v4f32, b: __v4f32) -> __v4i32;
1068 #[link_name = "llvm.loongarch.lsx.vfcmp.sun.s"]
1069 fn __lsx_vfcmp_sun_s(a: __v4f32, b: __v4f32) -> __v4i32;
1070}
1071
1072#[inline]
1073#[target_feature(enable = "lsx")]
1074#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1075pub fn lsx_vsrar_b(a: m128i, b: m128i) -> m128i {
1076 unsafe { transmute(__lsx_vsrar_b(transmute(a), transmute(b))) }
1077}
1078
1079#[inline]
1080#[target_feature(enable = "lsx")]
1081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1082pub fn lsx_vsrar_h(a: m128i, b: m128i) -> m128i {
1083 unsafe { transmute(__lsx_vsrar_h(transmute(a), transmute(b))) }
1084}
1085
1086#[inline]
1087#[target_feature(enable = "lsx")]
1088#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1089pub fn lsx_vsrar_w(a: m128i, b: m128i) -> m128i {
1090 unsafe { transmute(__lsx_vsrar_w(transmute(a), transmute(b))) }
1091}
1092
1093#[inline]
1094#[target_feature(enable = "lsx")]
1095#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1096pub fn lsx_vsrar_d(a: m128i, b: m128i) -> m128i {
1097 unsafe { transmute(__lsx_vsrar_d(transmute(a), transmute(b))) }
1098}
1099
1100#[inline]
1101#[target_feature(enable = "lsx")]
1102#[rustc_legacy_const_generics(1)]
1103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1104pub fn lsx_vsrari_b<const IMM3: u32>(a: m128i) -> m128i {
1105 static_assert_uimm_bits!(IMM3, 3);
1106 unsafe { transmute(__lsx_vsrari_b(transmute(a), IMM3)) }
1107}
1108
1109#[inline]
1110#[target_feature(enable = "lsx")]
1111#[rustc_legacy_const_generics(1)]
1112#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1113pub fn lsx_vsrari_h<const IMM4: u32>(a: m128i) -> m128i {
1114 static_assert_uimm_bits!(IMM4, 4);
1115 unsafe { transmute(__lsx_vsrari_h(transmute(a), IMM4)) }
1116}
1117
1118#[inline]
1119#[target_feature(enable = "lsx")]
1120#[rustc_legacy_const_generics(1)]
1121#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1122pub fn lsx_vsrari_w<const IMM5: u32>(a: m128i) -> m128i {
1123 static_assert_uimm_bits!(IMM5, 5);
1124 unsafe { transmute(__lsx_vsrari_w(transmute(a), IMM5)) }
1125}
1126
1127#[inline]
1128#[target_feature(enable = "lsx")]
1129#[rustc_legacy_const_generics(1)]
1130#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1131pub fn lsx_vsrari_d<const IMM6: u32>(a: m128i) -> m128i {
1132 static_assert_uimm_bits!(IMM6, 6);
1133 unsafe { transmute(__lsx_vsrari_d(transmute(a), IMM6)) }
1134}
1135
1136#[inline]
1137#[target_feature(enable = "lsx")]
1138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1139pub fn lsx_vsrlr_b(a: m128i, b: m128i) -> m128i {
1140 unsafe { transmute(__lsx_vsrlr_b(transmute(a), transmute(b))) }
1141}
1142
1143#[inline]
1144#[target_feature(enable = "lsx")]
1145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1146pub fn lsx_vsrlr_h(a: m128i, b: m128i) -> m128i {
1147 unsafe { transmute(__lsx_vsrlr_h(transmute(a), transmute(b))) }
1148}
1149
1150#[inline]
1151#[target_feature(enable = "lsx")]
1152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1153pub fn lsx_vsrlr_w(a: m128i, b: m128i) -> m128i {
1154 unsafe { transmute(__lsx_vsrlr_w(transmute(a), transmute(b))) }
1155}
1156
1157#[inline]
1158#[target_feature(enable = "lsx")]
1159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1160pub fn lsx_vsrlr_d(a: m128i, b: m128i) -> m128i {
1161 unsafe { transmute(__lsx_vsrlr_d(transmute(a), transmute(b))) }
1162}
1163
1164#[inline]
1165#[target_feature(enable = "lsx")]
1166#[rustc_legacy_const_generics(1)]
1167#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1168pub fn lsx_vsrlri_b<const IMM3: u32>(a: m128i) -> m128i {
1169 static_assert_uimm_bits!(IMM3, 3);
1170 unsafe { transmute(__lsx_vsrlri_b(transmute(a), IMM3)) }
1171}
1172
1173#[inline]
1174#[target_feature(enable = "lsx")]
1175#[rustc_legacy_const_generics(1)]
1176#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1177pub fn lsx_vsrlri_h<const IMM4: u32>(a: m128i) -> m128i {
1178 static_assert_uimm_bits!(IMM4, 4);
1179 unsafe { transmute(__lsx_vsrlri_h(transmute(a), IMM4)) }
1180}
1181
1182#[inline]
1183#[target_feature(enable = "lsx")]
1184#[rustc_legacy_const_generics(1)]
1185#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1186pub fn lsx_vsrlri_w<const IMM5: u32>(a: m128i) -> m128i {
1187 static_assert_uimm_bits!(IMM5, 5);
1188 unsafe { transmute(__lsx_vsrlri_w(transmute(a), IMM5)) }
1189}
1190
1191#[inline]
1192#[target_feature(enable = "lsx")]
1193#[rustc_legacy_const_generics(1)]
1194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1195pub fn lsx_vsrlri_d<const IMM6: u32>(a: m128i) -> m128i {
1196 static_assert_uimm_bits!(IMM6, 6);
1197 unsafe { transmute(__lsx_vsrlri_d(transmute(a), IMM6)) }
1198}
1199
1200#[inline]
1201#[target_feature(enable = "lsx")]
1202#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1203pub fn lsx_vbitclr_b(a: m128i, b: m128i) -> m128i {
1204 unsafe { transmute(__lsx_vbitclr_b(transmute(a), transmute(b))) }
1205}
1206
1207#[inline]
1208#[target_feature(enable = "lsx")]
1209#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1210pub fn lsx_vbitclr_h(a: m128i, b: m128i) -> m128i {
1211 unsafe { transmute(__lsx_vbitclr_h(transmute(a), transmute(b))) }
1212}
1213
1214#[inline]
1215#[target_feature(enable = "lsx")]
1216#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1217pub fn lsx_vbitclr_w(a: m128i, b: m128i) -> m128i {
1218 unsafe { transmute(__lsx_vbitclr_w(transmute(a), transmute(b))) }
1219}
1220
1221#[inline]
1222#[target_feature(enable = "lsx")]
1223#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1224pub fn lsx_vbitclr_d(a: m128i, b: m128i) -> m128i {
1225 unsafe { transmute(__lsx_vbitclr_d(transmute(a), transmute(b))) }
1226}
1227
1228#[inline]
1229#[target_feature(enable = "lsx")]
1230#[rustc_legacy_const_generics(1)]
1231#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1232pub fn lsx_vbitclri_b<const IMM3: u32>(a: m128i) -> m128i {
1233 static_assert_uimm_bits!(IMM3, 3);
1234 unsafe { transmute(__lsx_vbitclri_b(transmute(a), IMM3)) }
1235}
1236
1237#[inline]
1238#[target_feature(enable = "lsx")]
1239#[rustc_legacy_const_generics(1)]
1240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1241pub fn lsx_vbitclri_h<const IMM4: u32>(a: m128i) -> m128i {
1242 static_assert_uimm_bits!(IMM4, 4);
1243 unsafe { transmute(__lsx_vbitclri_h(transmute(a), IMM4)) }
1244}
1245
1246#[inline]
1247#[target_feature(enable = "lsx")]
1248#[rustc_legacy_const_generics(1)]
1249#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1250pub fn lsx_vbitclri_w<const IMM5: u32>(a: m128i) -> m128i {
1251 static_assert_uimm_bits!(IMM5, 5);
1252 unsafe { transmute(__lsx_vbitclri_w(transmute(a), IMM5)) }
1253}
1254
1255#[inline]
1256#[target_feature(enable = "lsx")]
1257#[rustc_legacy_const_generics(1)]
1258#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1259pub fn lsx_vbitclri_d<const IMM6: u32>(a: m128i) -> m128i {
1260 static_assert_uimm_bits!(IMM6, 6);
1261 unsafe { transmute(__lsx_vbitclri_d(transmute(a), IMM6)) }
1262}
1263
1264#[inline]
1265#[target_feature(enable = "lsx")]
1266#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1267pub fn lsx_vbitset_b(a: m128i, b: m128i) -> m128i {
1268 unsafe { transmute(__lsx_vbitset_b(transmute(a), transmute(b))) }
1269}
1270
1271#[inline]
1272#[target_feature(enable = "lsx")]
1273#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1274pub fn lsx_vbitset_h(a: m128i, b: m128i) -> m128i {
1275 unsafe { transmute(__lsx_vbitset_h(transmute(a), transmute(b))) }
1276}
1277
1278#[inline]
1279#[target_feature(enable = "lsx")]
1280#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1281pub fn lsx_vbitset_w(a: m128i, b: m128i) -> m128i {
1282 unsafe { transmute(__lsx_vbitset_w(transmute(a), transmute(b))) }
1283}
1284
1285#[inline]
1286#[target_feature(enable = "lsx")]
1287#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1288pub fn lsx_vbitset_d(a: m128i, b: m128i) -> m128i {
1289 unsafe { transmute(__lsx_vbitset_d(transmute(a), transmute(b))) }
1290}
1291
1292#[inline]
1293#[target_feature(enable = "lsx")]
1294#[rustc_legacy_const_generics(1)]
1295#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1296pub fn lsx_vbitseti_b<const IMM3: u32>(a: m128i) -> m128i {
1297 static_assert_uimm_bits!(IMM3, 3);
1298 unsafe { transmute(__lsx_vbitseti_b(transmute(a), IMM3)) }
1299}
1300
1301#[inline]
1302#[target_feature(enable = "lsx")]
1303#[rustc_legacy_const_generics(1)]
1304#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1305pub fn lsx_vbitseti_h<const IMM4: u32>(a: m128i) -> m128i {
1306 static_assert_uimm_bits!(IMM4, 4);
1307 unsafe { transmute(__lsx_vbitseti_h(transmute(a), IMM4)) }
1308}
1309
1310#[inline]
1311#[target_feature(enable = "lsx")]
1312#[rustc_legacy_const_generics(1)]
1313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1314pub fn lsx_vbitseti_w<const IMM5: u32>(a: m128i) -> m128i {
1315 static_assert_uimm_bits!(IMM5, 5);
1316 unsafe { transmute(__lsx_vbitseti_w(transmute(a), IMM5)) }
1317}
1318
1319#[inline]
1320#[target_feature(enable = "lsx")]
1321#[rustc_legacy_const_generics(1)]
1322#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1323pub fn lsx_vbitseti_d<const IMM6: u32>(a: m128i) -> m128i {
1324 static_assert_uimm_bits!(IMM6, 6);
1325 unsafe { transmute(__lsx_vbitseti_d(transmute(a), IMM6)) }
1326}
1327
1328#[inline]
1329#[target_feature(enable = "lsx")]
1330#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1331pub fn lsx_vbitrev_b(a: m128i, b: m128i) -> m128i {
1332 unsafe { transmute(__lsx_vbitrev_b(transmute(a), transmute(b))) }
1333}
1334
1335#[inline]
1336#[target_feature(enable = "lsx")]
1337#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1338pub fn lsx_vbitrev_h(a: m128i, b: m128i) -> m128i {
1339 unsafe { transmute(__lsx_vbitrev_h(transmute(a), transmute(b))) }
1340}
1341
1342#[inline]
1343#[target_feature(enable = "lsx")]
1344#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1345pub fn lsx_vbitrev_w(a: m128i, b: m128i) -> m128i {
1346 unsafe { transmute(__lsx_vbitrev_w(transmute(a), transmute(b))) }
1347}
1348
1349#[inline]
1350#[target_feature(enable = "lsx")]
1351#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1352pub fn lsx_vbitrev_d(a: m128i, b: m128i) -> m128i {
1353 unsafe { transmute(__lsx_vbitrev_d(transmute(a), transmute(b))) }
1354}
1355
1356#[inline]
1357#[target_feature(enable = "lsx")]
1358#[rustc_legacy_const_generics(1)]
1359#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1360pub fn lsx_vbitrevi_b<const IMM3: u32>(a: m128i) -> m128i {
1361 static_assert_uimm_bits!(IMM3, 3);
1362 unsafe { transmute(__lsx_vbitrevi_b(transmute(a), IMM3)) }
1363}
1364
1365#[inline]
1366#[target_feature(enable = "lsx")]
1367#[rustc_legacy_const_generics(1)]
1368#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1369pub fn lsx_vbitrevi_h<const IMM4: u32>(a: m128i) -> m128i {
1370 static_assert_uimm_bits!(IMM4, 4);
1371 unsafe { transmute(__lsx_vbitrevi_h(transmute(a), IMM4)) }
1372}
1373
1374#[inline]
1375#[target_feature(enable = "lsx")]
1376#[rustc_legacy_const_generics(1)]
1377#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1378pub fn lsx_vbitrevi_w<const IMM5: u32>(a: m128i) -> m128i {
1379 static_assert_uimm_bits!(IMM5, 5);
1380 unsafe { transmute(__lsx_vbitrevi_w(transmute(a), IMM5)) }
1381}
1382
1383#[inline]
1384#[target_feature(enable = "lsx")]
1385#[rustc_legacy_const_generics(1)]
1386#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1387pub fn lsx_vbitrevi_d<const IMM6: u32>(a: m128i) -> m128i {
1388 static_assert_uimm_bits!(IMM6, 6);
1389 unsafe { transmute(__lsx_vbitrevi_d(transmute(a), IMM6)) }
1390}
1391
1392#[inline]
1393#[target_feature(enable = "lsx")]
1394#[rustc_legacy_const_generics(1)]
1395#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1396pub fn lsx_vsubi_bu<const IMM5: u32>(a: m128i) -> m128i {
1397 static_assert_uimm_bits!(IMM5, 5);
1398 unsafe { transmute(__lsx_vsubi_bu(transmute(a), IMM5)) }
1399}
1400
1401#[inline]
1402#[target_feature(enable = "lsx")]
1403#[rustc_legacy_const_generics(1)]
1404#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1405pub fn lsx_vsubi_hu<const IMM5: u32>(a: m128i) -> m128i {
1406 static_assert_uimm_bits!(IMM5, 5);
1407 unsafe { transmute(__lsx_vsubi_hu(transmute(a), IMM5)) }
1408}
1409
1410#[inline]
1411#[target_feature(enable = "lsx")]
1412#[rustc_legacy_const_generics(1)]
1413#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1414pub fn lsx_vsubi_wu<const IMM5: u32>(a: m128i) -> m128i {
1415 static_assert_uimm_bits!(IMM5, 5);
1416 unsafe { transmute(__lsx_vsubi_wu(transmute(a), IMM5)) }
1417}
1418
1419#[inline]
1420#[target_feature(enable = "lsx")]
1421#[rustc_legacy_const_generics(1)]
1422#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1423pub fn lsx_vsubi_du<const IMM5: u32>(a: m128i) -> m128i {
1424 static_assert_uimm_bits!(IMM5, 5);
1425 unsafe { transmute(__lsx_vsubi_du(transmute(a), IMM5)) }
1426}
1427
1428#[inline]
1429#[target_feature(enable = "lsx")]
1430#[rustc_legacy_const_generics(1)]
1431#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1432pub fn lsx_vsat_b<const IMM3: u32>(a: m128i) -> m128i {
1433 static_assert_uimm_bits!(IMM3, 3);
1434 unsafe { transmute(__lsx_vsat_b(transmute(a), IMM3)) }
1435}
1436
1437#[inline]
1438#[target_feature(enable = "lsx")]
1439#[rustc_legacy_const_generics(1)]
1440#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1441pub fn lsx_vsat_h<const IMM4: u32>(a: m128i) -> m128i {
1442 static_assert_uimm_bits!(IMM4, 4);
1443 unsafe { transmute(__lsx_vsat_h(transmute(a), IMM4)) }
1444}
1445
1446#[inline]
1447#[target_feature(enable = "lsx")]
1448#[rustc_legacy_const_generics(1)]
1449#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1450pub fn lsx_vsat_w<const IMM5: u32>(a: m128i) -> m128i {
1451 static_assert_uimm_bits!(IMM5, 5);
1452 unsafe { transmute(__lsx_vsat_w(transmute(a), IMM5)) }
1453}
1454
1455#[inline]
1456#[target_feature(enable = "lsx")]
1457#[rustc_legacy_const_generics(1)]
1458#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1459pub fn lsx_vsat_d<const IMM6: u32>(a: m128i) -> m128i {
1460 static_assert_uimm_bits!(IMM6, 6);
1461 unsafe { transmute(__lsx_vsat_d(transmute(a), IMM6)) }
1462}
1463
1464#[inline]
1465#[target_feature(enable = "lsx")]
1466#[rustc_legacy_const_generics(1)]
1467#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1468pub fn lsx_vsat_bu<const IMM3: u32>(a: m128i) -> m128i {
1469 static_assert_uimm_bits!(IMM3, 3);
1470 unsafe { transmute(__lsx_vsat_bu(transmute(a), IMM3)) }
1471}
1472
1473#[inline]
1474#[target_feature(enable = "lsx")]
1475#[rustc_legacy_const_generics(1)]
1476#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1477pub fn lsx_vsat_hu<const IMM4: u32>(a: m128i) -> m128i {
1478 static_assert_uimm_bits!(IMM4, 4);
1479 unsafe { transmute(__lsx_vsat_hu(transmute(a), IMM4)) }
1480}
1481
1482#[inline]
1483#[target_feature(enable = "lsx")]
1484#[rustc_legacy_const_generics(1)]
1485#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1486pub fn lsx_vsat_wu<const IMM5: u32>(a: m128i) -> m128i {
1487 static_assert_uimm_bits!(IMM5, 5);
1488 unsafe { transmute(__lsx_vsat_wu(transmute(a), IMM5)) }
1489}
1490
1491#[inline]
1492#[target_feature(enable = "lsx")]
1493#[rustc_legacy_const_generics(1)]
1494#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1495pub fn lsx_vsat_du<const IMM6: u32>(a: m128i) -> m128i {
1496 static_assert_uimm_bits!(IMM6, 6);
1497 unsafe { transmute(__lsx_vsat_du(transmute(a), IMM6)) }
1498}
1499
1500#[inline]
1501#[target_feature(enable = "lsx")]
1502#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1503pub fn lsx_vadda_b(a: m128i, b: m128i) -> m128i {
1504 unsafe { transmute(__lsx_vadda_b(transmute(a), transmute(b))) }
1505}
1506
1507#[inline]
1508#[target_feature(enable = "lsx")]
1509#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1510pub fn lsx_vadda_h(a: m128i, b: m128i) -> m128i {
1511 unsafe { transmute(__lsx_vadda_h(transmute(a), transmute(b))) }
1512}
1513
1514#[inline]
1515#[target_feature(enable = "lsx")]
1516#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1517pub fn lsx_vadda_w(a: m128i, b: m128i) -> m128i {
1518 unsafe { transmute(__lsx_vadda_w(transmute(a), transmute(b))) }
1519}
1520
1521#[inline]
1522#[target_feature(enable = "lsx")]
1523#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1524pub fn lsx_vadda_d(a: m128i, b: m128i) -> m128i {
1525 unsafe { transmute(__lsx_vadda_d(transmute(a), transmute(b))) }
1526}
1527
1528#[inline]
1529#[target_feature(enable = "lsx")]
1530#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1531pub fn lsx_vsadd_b(a: m128i, b: m128i) -> m128i {
1532 unsafe { transmute(__lsx_vsadd_b(transmute(a), transmute(b))) }
1533}
1534
1535#[inline]
1536#[target_feature(enable = "lsx")]
1537#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1538pub fn lsx_vsadd_h(a: m128i, b: m128i) -> m128i {
1539 unsafe { transmute(__lsx_vsadd_h(transmute(a), transmute(b))) }
1540}
1541
1542#[inline]
1543#[target_feature(enable = "lsx")]
1544#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1545pub fn lsx_vsadd_w(a: m128i, b: m128i) -> m128i {
1546 unsafe { transmute(__lsx_vsadd_w(transmute(a), transmute(b))) }
1547}
1548
1549#[inline]
1550#[target_feature(enable = "lsx")]
1551#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1552pub fn lsx_vsadd_d(a: m128i, b: m128i) -> m128i {
1553 unsafe { transmute(__lsx_vsadd_d(transmute(a), transmute(b))) }
1554}
1555
1556#[inline]
1557#[target_feature(enable = "lsx")]
1558#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1559pub fn lsx_vsadd_bu(a: m128i, b: m128i) -> m128i {
1560 unsafe { transmute(__lsx_vsadd_bu(transmute(a), transmute(b))) }
1561}
1562
1563#[inline]
1564#[target_feature(enable = "lsx")]
1565#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1566pub fn lsx_vsadd_hu(a: m128i, b: m128i) -> m128i {
1567 unsafe { transmute(__lsx_vsadd_hu(transmute(a), transmute(b))) }
1568}
1569
1570#[inline]
1571#[target_feature(enable = "lsx")]
1572#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1573pub fn lsx_vsadd_wu(a: m128i, b: m128i) -> m128i {
1574 unsafe { transmute(__lsx_vsadd_wu(transmute(a), transmute(b))) }
1575}
1576
1577#[inline]
1578#[target_feature(enable = "lsx")]
1579#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1580pub fn lsx_vsadd_du(a: m128i, b: m128i) -> m128i {
1581 unsafe { transmute(__lsx_vsadd_du(transmute(a), transmute(b))) }
1582}
1583
1584#[inline]
1585#[target_feature(enable = "lsx")]
1586#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1587pub fn lsx_vavg_b(a: m128i, b: m128i) -> m128i {
1588 unsafe { transmute(__lsx_vavg_b(transmute(a), transmute(b))) }
1589}
1590
1591#[inline]
1592#[target_feature(enable = "lsx")]
1593#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1594pub fn lsx_vavg_h(a: m128i, b: m128i) -> m128i {
1595 unsafe { transmute(__lsx_vavg_h(transmute(a), transmute(b))) }
1596}
1597
1598#[inline]
1599#[target_feature(enable = "lsx")]
1600#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1601pub fn lsx_vavg_w(a: m128i, b: m128i) -> m128i {
1602 unsafe { transmute(__lsx_vavg_w(transmute(a), transmute(b))) }
1603}
1604
1605#[inline]
1606#[target_feature(enable = "lsx")]
1607#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1608pub fn lsx_vavg_d(a: m128i, b: m128i) -> m128i {
1609 unsafe { transmute(__lsx_vavg_d(transmute(a), transmute(b))) }
1610}
1611
1612#[inline]
1613#[target_feature(enable = "lsx")]
1614#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1615pub fn lsx_vavg_bu(a: m128i, b: m128i) -> m128i {
1616 unsafe { transmute(__lsx_vavg_bu(transmute(a), transmute(b))) }
1617}
1618
1619#[inline]
1620#[target_feature(enable = "lsx")]
1621#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1622pub fn lsx_vavg_hu(a: m128i, b: m128i) -> m128i {
1623 unsafe { transmute(__lsx_vavg_hu(transmute(a), transmute(b))) }
1624}
1625
1626#[inline]
1627#[target_feature(enable = "lsx")]
1628#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1629pub fn lsx_vavg_wu(a: m128i, b: m128i) -> m128i {
1630 unsafe { transmute(__lsx_vavg_wu(transmute(a), transmute(b))) }
1631}
1632
1633#[inline]
1634#[target_feature(enable = "lsx")]
1635#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1636pub fn lsx_vavg_du(a: m128i, b: m128i) -> m128i {
1637 unsafe { transmute(__lsx_vavg_du(transmute(a), transmute(b))) }
1638}
1639
1640#[inline]
1641#[target_feature(enable = "lsx")]
1642#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1643pub fn lsx_vavgr_b(a: m128i, b: m128i) -> m128i {
1644 unsafe { transmute(__lsx_vavgr_b(transmute(a), transmute(b))) }
1645}
1646
1647#[inline]
1648#[target_feature(enable = "lsx")]
1649#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1650pub fn lsx_vavgr_h(a: m128i, b: m128i) -> m128i {
1651 unsafe { transmute(__lsx_vavgr_h(transmute(a), transmute(b))) }
1652}
1653
1654#[inline]
1655#[target_feature(enable = "lsx")]
1656#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1657pub fn lsx_vavgr_w(a: m128i, b: m128i) -> m128i {
1658 unsafe { transmute(__lsx_vavgr_w(transmute(a), transmute(b))) }
1659}
1660
1661#[inline]
1662#[target_feature(enable = "lsx")]
1663#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1664pub fn lsx_vavgr_d(a: m128i, b: m128i) -> m128i {
1665 unsafe { transmute(__lsx_vavgr_d(transmute(a), transmute(b))) }
1666}
1667
1668#[inline]
1669#[target_feature(enable = "lsx")]
1670#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1671pub fn lsx_vavgr_bu(a: m128i, b: m128i) -> m128i {
1672 unsafe { transmute(__lsx_vavgr_bu(transmute(a), transmute(b))) }
1673}
1674
1675#[inline]
1676#[target_feature(enable = "lsx")]
1677#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1678pub fn lsx_vavgr_hu(a: m128i, b: m128i) -> m128i {
1679 unsafe { transmute(__lsx_vavgr_hu(transmute(a), transmute(b))) }
1680}
1681
1682#[inline]
1683#[target_feature(enable = "lsx")]
1684#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1685pub fn lsx_vavgr_wu(a: m128i, b: m128i) -> m128i {
1686 unsafe { transmute(__lsx_vavgr_wu(transmute(a), transmute(b))) }
1687}
1688
1689#[inline]
1690#[target_feature(enable = "lsx")]
1691#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1692pub fn lsx_vavgr_du(a: m128i, b: m128i) -> m128i {
1693 unsafe { transmute(__lsx_vavgr_du(transmute(a), transmute(b))) }
1694}
1695
1696#[inline]
1697#[target_feature(enable = "lsx")]
1698#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1699pub fn lsx_vssub_b(a: m128i, b: m128i) -> m128i {
1700 unsafe { transmute(__lsx_vssub_b(transmute(a), transmute(b))) }
1701}
1702
1703#[inline]
1704#[target_feature(enable = "lsx")]
1705#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1706pub fn lsx_vssub_h(a: m128i, b: m128i) -> m128i {
1707 unsafe { transmute(__lsx_vssub_h(transmute(a), transmute(b))) }
1708}
1709
1710#[inline]
1711#[target_feature(enable = "lsx")]
1712#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1713pub fn lsx_vssub_w(a: m128i, b: m128i) -> m128i {
1714 unsafe { transmute(__lsx_vssub_w(transmute(a), transmute(b))) }
1715}
1716
1717#[inline]
1718#[target_feature(enable = "lsx")]
1719#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1720pub fn lsx_vssub_d(a: m128i, b: m128i) -> m128i {
1721 unsafe { transmute(__lsx_vssub_d(transmute(a), transmute(b))) }
1722}
1723
1724#[inline]
1725#[target_feature(enable = "lsx")]
1726#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1727pub fn lsx_vssub_bu(a: m128i, b: m128i) -> m128i {
1728 unsafe { transmute(__lsx_vssub_bu(transmute(a), transmute(b))) }
1729}
1730
1731#[inline]
1732#[target_feature(enable = "lsx")]
1733#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1734pub fn lsx_vssub_hu(a: m128i, b: m128i) -> m128i {
1735 unsafe { transmute(__lsx_vssub_hu(transmute(a), transmute(b))) }
1736}
1737
1738#[inline]
1739#[target_feature(enable = "lsx")]
1740#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1741pub fn lsx_vssub_wu(a: m128i, b: m128i) -> m128i {
1742 unsafe { transmute(__lsx_vssub_wu(transmute(a), transmute(b))) }
1743}
1744
1745#[inline]
1746#[target_feature(enable = "lsx")]
1747#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1748pub fn lsx_vssub_du(a: m128i, b: m128i) -> m128i {
1749 unsafe { transmute(__lsx_vssub_du(transmute(a), transmute(b))) }
1750}
1751
1752#[inline]
1753#[target_feature(enable = "lsx")]
1754#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1755pub fn lsx_vabsd_b(a: m128i, b: m128i) -> m128i {
1756 unsafe { transmute(__lsx_vabsd_b(transmute(a), transmute(b))) }
1757}
1758
1759#[inline]
1760#[target_feature(enable = "lsx")]
1761#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1762pub fn lsx_vabsd_h(a: m128i, b: m128i) -> m128i {
1763 unsafe { transmute(__lsx_vabsd_h(transmute(a), transmute(b))) }
1764}
1765
1766#[inline]
1767#[target_feature(enable = "lsx")]
1768#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1769pub fn lsx_vabsd_w(a: m128i, b: m128i) -> m128i {
1770 unsafe { transmute(__lsx_vabsd_w(transmute(a), transmute(b))) }
1771}
1772
1773#[inline]
1774#[target_feature(enable = "lsx")]
1775#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1776pub fn lsx_vabsd_d(a: m128i, b: m128i) -> m128i {
1777 unsafe { transmute(__lsx_vabsd_d(transmute(a), transmute(b))) }
1778}
1779
1780#[inline]
1781#[target_feature(enable = "lsx")]
1782#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1783pub fn lsx_vabsd_bu(a: m128i, b: m128i) -> m128i {
1784 unsafe { transmute(__lsx_vabsd_bu(transmute(a), transmute(b))) }
1785}
1786
1787#[inline]
1788#[target_feature(enable = "lsx")]
1789#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1790pub fn lsx_vabsd_hu(a: m128i, b: m128i) -> m128i {
1791 unsafe { transmute(__lsx_vabsd_hu(transmute(a), transmute(b))) }
1792}
1793
1794#[inline]
1795#[target_feature(enable = "lsx")]
1796#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1797pub fn lsx_vabsd_wu(a: m128i, b: m128i) -> m128i {
1798 unsafe { transmute(__lsx_vabsd_wu(transmute(a), transmute(b))) }
1799}
1800
1801#[inline]
1802#[target_feature(enable = "lsx")]
1803#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1804pub fn lsx_vabsd_du(a: m128i, b: m128i) -> m128i {
1805 unsafe { transmute(__lsx_vabsd_du(transmute(a), transmute(b))) }
1806}
1807
1808#[inline]
1809#[target_feature(enable = "lsx")]
1810#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1811pub fn lsx_vhaddw_h_b(a: m128i, b: m128i) -> m128i {
1812 unsafe { transmute(__lsx_vhaddw_h_b(transmute(a), transmute(b))) }
1813}
1814
1815#[inline]
1816#[target_feature(enable = "lsx")]
1817#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1818pub fn lsx_vhaddw_w_h(a: m128i, b: m128i) -> m128i {
1819 unsafe { transmute(__lsx_vhaddw_w_h(transmute(a), transmute(b))) }
1820}
1821
1822#[inline]
1823#[target_feature(enable = "lsx")]
1824#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1825pub fn lsx_vhaddw_d_w(a: m128i, b: m128i) -> m128i {
1826 unsafe { transmute(__lsx_vhaddw_d_w(transmute(a), transmute(b))) }
1827}
1828
1829#[inline]
1830#[target_feature(enable = "lsx")]
1831#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1832pub fn lsx_vhaddw_hu_bu(a: m128i, b: m128i) -> m128i {
1833 unsafe { transmute(__lsx_vhaddw_hu_bu(transmute(a), transmute(b))) }
1834}
1835
1836#[inline]
1837#[target_feature(enable = "lsx")]
1838#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1839pub fn lsx_vhaddw_wu_hu(a: m128i, b: m128i) -> m128i {
1840 unsafe { transmute(__lsx_vhaddw_wu_hu(transmute(a), transmute(b))) }
1841}
1842
1843#[inline]
1844#[target_feature(enable = "lsx")]
1845#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1846pub fn lsx_vhaddw_du_wu(a: m128i, b: m128i) -> m128i {
1847 unsafe { transmute(__lsx_vhaddw_du_wu(transmute(a), transmute(b))) }
1848}
1849
1850#[inline]
1851#[target_feature(enable = "lsx")]
1852#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1853pub fn lsx_vhsubw_h_b(a: m128i, b: m128i) -> m128i {
1854 unsafe { transmute(__lsx_vhsubw_h_b(transmute(a), transmute(b))) }
1855}
1856
1857#[inline]
1858#[target_feature(enable = "lsx")]
1859#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1860pub fn lsx_vhsubw_w_h(a: m128i, b: m128i) -> m128i {
1861 unsafe { transmute(__lsx_vhsubw_w_h(transmute(a), transmute(b))) }
1862}
1863
1864#[inline]
1865#[target_feature(enable = "lsx")]
1866#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1867pub fn lsx_vhsubw_d_w(a: m128i, b: m128i) -> m128i {
1868 unsafe { transmute(__lsx_vhsubw_d_w(transmute(a), transmute(b))) }
1869}
1870
1871#[inline]
1872#[target_feature(enable = "lsx")]
1873#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1874pub fn lsx_vhsubw_hu_bu(a: m128i, b: m128i) -> m128i {
1875 unsafe { transmute(__lsx_vhsubw_hu_bu(transmute(a), transmute(b))) }
1876}
1877
1878#[inline]
1879#[target_feature(enable = "lsx")]
1880#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1881pub fn lsx_vhsubw_wu_hu(a: m128i, b: m128i) -> m128i {
1882 unsafe { transmute(__lsx_vhsubw_wu_hu(transmute(a), transmute(b))) }
1883}
1884
1885#[inline]
1886#[target_feature(enable = "lsx")]
1887#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1888pub fn lsx_vhsubw_du_wu(a: m128i, b: m128i) -> m128i {
1889 unsafe { transmute(__lsx_vhsubw_du_wu(transmute(a), transmute(b))) }
1890}
1891
1892#[inline]
1893#[target_feature(enable = "lsx")]
1894#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1895pub fn lsx_vreplve_b(a: m128i, b: i32) -> m128i {
1896 unsafe { transmute(__lsx_vreplve_b(transmute(a), transmute(b))) }
1897}
1898
1899#[inline]
1900#[target_feature(enable = "lsx")]
1901#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1902pub fn lsx_vreplve_h(a: m128i, b: i32) -> m128i {
1903 unsafe { transmute(__lsx_vreplve_h(transmute(a), transmute(b))) }
1904}
1905
1906#[inline]
1907#[target_feature(enable = "lsx")]
1908#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1909pub fn lsx_vreplve_w(a: m128i, b: i32) -> m128i {
1910 unsafe { transmute(__lsx_vreplve_w(transmute(a), transmute(b))) }
1911}
1912
1913#[inline]
1914#[target_feature(enable = "lsx")]
1915#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1916pub fn lsx_vreplve_d(a: m128i, b: i32) -> m128i {
1917 unsafe { transmute(__lsx_vreplve_d(transmute(a), transmute(b))) }
1918}
1919
1920#[inline]
1921#[target_feature(enable = "lsx")]
1922#[rustc_legacy_const_generics(1)]
1923#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1924pub fn lsx_vreplvei_b<const IMM4: u32>(a: m128i) -> m128i {
1925 static_assert_uimm_bits!(IMM4, 4);
1926 unsafe { transmute(__lsx_vreplvei_b(transmute(a), IMM4)) }
1927}
1928
1929#[inline]
1930#[target_feature(enable = "lsx")]
1931#[rustc_legacy_const_generics(1)]
1932#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1933pub fn lsx_vreplvei_h<const IMM3: u32>(a: m128i) -> m128i {
1934 static_assert_uimm_bits!(IMM3, 3);
1935 unsafe { transmute(__lsx_vreplvei_h(transmute(a), IMM3)) }
1936}
1937
1938#[inline]
1939#[target_feature(enable = "lsx")]
1940#[rustc_legacy_const_generics(1)]
1941#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1942pub fn lsx_vreplvei_w<const IMM2: u32>(a: m128i) -> m128i {
1943 static_assert_uimm_bits!(IMM2, 2);
1944 unsafe { transmute(__lsx_vreplvei_w(transmute(a), IMM2)) }
1945}
1946
1947#[inline]
1948#[target_feature(enable = "lsx")]
1949#[rustc_legacy_const_generics(1)]
1950#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1951pub fn lsx_vreplvei_d<const IMM1: u32>(a: m128i) -> m128i {
1952 static_assert_uimm_bits!(IMM1, 1);
1953 unsafe { transmute(__lsx_vreplvei_d(transmute(a), IMM1)) }
1954}
1955
1956#[inline]
1957#[target_feature(enable = "lsx")]
1958#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1959pub fn lsx_vpickev_b(a: m128i, b: m128i) -> m128i {
1960 unsafe { transmute(__lsx_vpickev_b(transmute(a), transmute(b))) }
1961}
1962
1963#[inline]
1964#[target_feature(enable = "lsx")]
1965#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1966pub fn lsx_vpickev_h(a: m128i, b: m128i) -> m128i {
1967 unsafe { transmute(__lsx_vpickev_h(transmute(a), transmute(b))) }
1968}
1969
1970#[inline]
1971#[target_feature(enable = "lsx")]
1972#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1973pub fn lsx_vpickev_w(a: m128i, b: m128i) -> m128i {
1974 unsafe { transmute(__lsx_vpickev_w(transmute(a), transmute(b))) }
1975}
1976
1977#[inline]
1978#[target_feature(enable = "lsx")]
1979#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1980pub fn lsx_vpickev_d(a: m128i, b: m128i) -> m128i {
1981 unsafe { transmute(__lsx_vpickev_d(transmute(a), transmute(b))) }
1982}
1983
1984#[inline]
1985#[target_feature(enable = "lsx")]
1986#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1987pub fn lsx_vpickod_b(a: m128i, b: m128i) -> m128i {
1988 unsafe { transmute(__lsx_vpickod_b(transmute(a), transmute(b))) }
1989}
1990
1991#[inline]
1992#[target_feature(enable = "lsx")]
1993#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1994pub fn lsx_vpickod_h(a: m128i, b: m128i) -> m128i {
1995 unsafe { transmute(__lsx_vpickod_h(transmute(a), transmute(b))) }
1996}
1997
1998#[inline]
1999#[target_feature(enable = "lsx")]
2000#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2001pub fn lsx_vpickod_w(a: m128i, b: m128i) -> m128i {
2002 unsafe { transmute(__lsx_vpickod_w(transmute(a), transmute(b))) }
2003}
2004
2005#[inline]
2006#[target_feature(enable = "lsx")]
2007#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2008pub fn lsx_vpickod_d(a: m128i, b: m128i) -> m128i {
2009 unsafe { transmute(__lsx_vpickod_d(transmute(a), transmute(b))) }
2010}
2011
2012#[inline]
2013#[target_feature(enable = "lsx")]
2014#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2015pub fn lsx_vilvh_b(a: m128i, b: m128i) -> m128i {
2016 unsafe { transmute(__lsx_vilvh_b(transmute(a), transmute(b))) }
2017}
2018
2019#[inline]
2020#[target_feature(enable = "lsx")]
2021#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2022pub fn lsx_vilvh_h(a: m128i, b: m128i) -> m128i {
2023 unsafe { transmute(__lsx_vilvh_h(transmute(a), transmute(b))) }
2024}
2025
2026#[inline]
2027#[target_feature(enable = "lsx")]
2028#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2029pub fn lsx_vilvh_w(a: m128i, b: m128i) -> m128i {
2030 unsafe { transmute(__lsx_vilvh_w(transmute(a), transmute(b))) }
2031}
2032
2033#[inline]
2034#[target_feature(enable = "lsx")]
2035#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2036pub fn lsx_vilvh_d(a: m128i, b: m128i) -> m128i {
2037 unsafe { transmute(__lsx_vilvh_d(transmute(a), transmute(b))) }
2038}
2039
2040#[inline]
2041#[target_feature(enable = "lsx")]
2042#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2043pub fn lsx_vilvl_b(a: m128i, b: m128i) -> m128i {
2044 unsafe { transmute(__lsx_vilvl_b(transmute(a), transmute(b))) }
2045}
2046
2047#[inline]
2048#[target_feature(enable = "lsx")]
2049#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2050pub fn lsx_vilvl_h(a: m128i, b: m128i) -> m128i {
2051 unsafe { transmute(__lsx_vilvl_h(transmute(a), transmute(b))) }
2052}
2053
2054#[inline]
2055#[target_feature(enable = "lsx")]
2056#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2057pub fn lsx_vilvl_w(a: m128i, b: m128i) -> m128i {
2058 unsafe { transmute(__lsx_vilvl_w(transmute(a), transmute(b))) }
2059}
2060
2061#[inline]
2062#[target_feature(enable = "lsx")]
2063#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2064pub fn lsx_vilvl_d(a: m128i, b: m128i) -> m128i {
2065 unsafe { transmute(__lsx_vilvl_d(transmute(a), transmute(b))) }
2066}
2067
2068#[inline]
2069#[target_feature(enable = "lsx")]
2070#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2071pub fn lsx_vpackev_b(a: m128i, b: m128i) -> m128i {
2072 unsafe { transmute(__lsx_vpackev_b(transmute(a), transmute(b))) }
2073}
2074
2075#[inline]
2076#[target_feature(enable = "lsx")]
2077#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2078pub fn lsx_vpackev_h(a: m128i, b: m128i) -> m128i {
2079 unsafe { transmute(__lsx_vpackev_h(transmute(a), transmute(b))) }
2080}
2081
2082#[inline]
2083#[target_feature(enable = "lsx")]
2084#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2085pub fn lsx_vpackev_w(a: m128i, b: m128i) -> m128i {
2086 unsafe { transmute(__lsx_vpackev_w(transmute(a), transmute(b))) }
2087}
2088
2089#[inline]
2090#[target_feature(enable = "lsx")]
2091#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2092pub fn lsx_vpackev_d(a: m128i, b: m128i) -> m128i {
2093 unsafe { transmute(__lsx_vpackev_d(transmute(a), transmute(b))) }
2094}
2095
2096#[inline]
2097#[target_feature(enable = "lsx")]
2098#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2099pub fn lsx_vpackod_b(a: m128i, b: m128i) -> m128i {
2100 unsafe { transmute(__lsx_vpackod_b(transmute(a), transmute(b))) }
2101}
2102
2103#[inline]
2104#[target_feature(enable = "lsx")]
2105#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2106pub fn lsx_vpackod_h(a: m128i, b: m128i) -> m128i {
2107 unsafe { transmute(__lsx_vpackod_h(transmute(a), transmute(b))) }
2108}
2109
2110#[inline]
2111#[target_feature(enable = "lsx")]
2112#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2113pub fn lsx_vpackod_w(a: m128i, b: m128i) -> m128i {
2114 unsafe { transmute(__lsx_vpackod_w(transmute(a), transmute(b))) }
2115}
2116
2117#[inline]
2118#[target_feature(enable = "lsx")]
2119#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2120pub fn lsx_vpackod_d(a: m128i, b: m128i) -> m128i {
2121 unsafe { transmute(__lsx_vpackod_d(transmute(a), transmute(b))) }
2122}
2123
2124#[inline]
2125#[target_feature(enable = "lsx")]
2126#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2127pub fn lsx_vshuf_h(a: m128i, b: m128i, c: m128i) -> m128i {
2128 unsafe { transmute(__lsx_vshuf_h(transmute(a), transmute(b), transmute(c))) }
2129}
2130
2131#[inline]
2132#[target_feature(enable = "lsx")]
2133#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2134pub fn lsx_vshuf_w(a: m128i, b: m128i, c: m128i) -> m128i {
2135 unsafe { transmute(__lsx_vshuf_w(transmute(a), transmute(b), transmute(c))) }
2136}
2137
2138#[inline]
2139#[target_feature(enable = "lsx")]
2140#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2141pub fn lsx_vshuf_d(a: m128i, b: m128i, c: m128i) -> m128i {
2142 unsafe { transmute(__lsx_vshuf_d(transmute(a), transmute(b), transmute(c))) }
2143}
2144
2145#[inline]
2146#[target_feature(enable = "lsx")]
2147#[rustc_legacy_const_generics(1)]
2148#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2149pub fn lsx_vandi_b<const IMM8: u32>(a: m128i) -> m128i {
2150 static_assert_uimm_bits!(IMM8, 8);
2151 unsafe { transmute(__lsx_vandi_b(transmute(a), IMM8)) }
2152}
2153
2154#[inline]
2155#[target_feature(enable = "lsx")]
2156#[rustc_legacy_const_generics(1)]
2157#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2158pub fn lsx_vori_b<const IMM8: u32>(a: m128i) -> m128i {
2159 static_assert_uimm_bits!(IMM8, 8);
2160 unsafe { transmute(__lsx_vori_b(transmute(a), IMM8)) }
2161}
2162
2163#[inline]
2164#[target_feature(enable = "lsx")]
2165#[rustc_legacy_const_generics(1)]
2166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2167pub fn lsx_vnori_b<const IMM8: u32>(a: m128i) -> m128i {
2168 static_assert_uimm_bits!(IMM8, 8);
2169 unsafe { transmute(__lsx_vnori_b(transmute(a), IMM8)) }
2170}
2171
2172#[inline]
2173#[target_feature(enable = "lsx")]
2174#[rustc_legacy_const_generics(1)]
2175#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2176pub fn lsx_vxori_b<const IMM8: u32>(a: m128i) -> m128i {
2177 static_assert_uimm_bits!(IMM8, 8);
2178 unsafe { transmute(__lsx_vxori_b(transmute(a), IMM8)) }
2179}
2180
2181#[inline]
2182#[target_feature(enable = "lsx")]
2183#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2184pub fn lsx_vbitsel_v(a: m128i, b: m128i, c: m128i) -> m128i {
2185 unsafe { transmute(__lsx_vbitsel_v(transmute(a), transmute(b), transmute(c))) }
2186}
2187
2188#[inline]
2189#[target_feature(enable = "lsx")]
2190#[rustc_legacy_const_generics(2)]
2191#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2192pub fn lsx_vbitseli_b<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
2193 static_assert_uimm_bits!(IMM8, 8);
2194 unsafe { transmute(__lsx_vbitseli_b(transmute(a), transmute(b), IMM8)) }
2195}
2196
2197#[inline]
2198#[target_feature(enable = "lsx")]
2199#[rustc_legacy_const_generics(1)]
2200#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2201pub fn lsx_vshuf4i_b<const IMM8: u32>(a: m128i) -> m128i {
2202 static_assert_uimm_bits!(IMM8, 8);
2203 unsafe { transmute(__lsx_vshuf4i_b(transmute(a), IMM8)) }
2204}
2205
2206#[inline]
2207#[target_feature(enable = "lsx")]
2208#[rustc_legacy_const_generics(1)]
2209#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2210pub fn lsx_vshuf4i_h<const IMM8: u32>(a: m128i) -> m128i {
2211 static_assert_uimm_bits!(IMM8, 8);
2212 unsafe { transmute(__lsx_vshuf4i_h(transmute(a), IMM8)) }
2213}
2214
2215#[inline]
2216#[target_feature(enable = "lsx")]
2217#[rustc_legacy_const_generics(1)]
2218#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2219pub fn lsx_vshuf4i_w<const IMM8: u32>(a: m128i) -> m128i {
2220 static_assert_uimm_bits!(IMM8, 8);
2221 unsafe { transmute(__lsx_vshuf4i_w(transmute(a), IMM8)) }
2222}
2223
2224#[inline]
2225#[target_feature(enable = "lsx")]
2226#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2227pub fn lsx_vclo_b(a: m128i) -> m128i {
2228 unsafe { transmute(__lsx_vclo_b(transmute(a))) }
2229}
2230
2231#[inline]
2232#[target_feature(enable = "lsx")]
2233#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2234pub fn lsx_vclo_h(a: m128i) -> m128i {
2235 unsafe { transmute(__lsx_vclo_h(transmute(a))) }
2236}
2237
2238#[inline]
2239#[target_feature(enable = "lsx")]
2240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2241pub fn lsx_vclo_w(a: m128i) -> m128i {
2242 unsafe { transmute(__lsx_vclo_w(transmute(a))) }
2243}
2244
2245#[inline]
2246#[target_feature(enable = "lsx")]
2247#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2248pub fn lsx_vclo_d(a: m128i) -> m128i {
2249 unsafe { transmute(__lsx_vclo_d(transmute(a))) }
2250}
2251
2252#[inline]
2253#[target_feature(enable = "lsx")]
2254#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2255pub fn lsx_vfcvt_h_s(a: m128, b: m128) -> m128i {
2256 unsafe { transmute(__lsx_vfcvt_h_s(transmute(a), transmute(b))) }
2257}
2258
2259#[inline]
2260#[target_feature(enable = "lsx")]
2261#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2262pub fn lsx_vfcvt_s_d(a: m128d, b: m128d) -> m128 {
2263 unsafe { transmute(__lsx_vfcvt_s_d(transmute(a), transmute(b))) }
2264}
2265
2266#[inline]
2267#[target_feature(enable = "lsx")]
2268#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2269pub fn lsx_vfmin_s(a: m128, b: m128) -> m128 {
2270 unsafe { transmute(__lsx_vfmin_s(transmute(a), transmute(b))) }
2271}
2272
2273#[inline]
2274#[target_feature(enable = "lsx")]
2275#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2276pub fn lsx_vfmin_d(a: m128d, b: m128d) -> m128d {
2277 unsafe { transmute(__lsx_vfmin_d(transmute(a), transmute(b))) }
2278}
2279
2280#[inline]
2281#[target_feature(enable = "lsx")]
2282#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2283pub fn lsx_vfmina_s(a: m128, b: m128) -> m128 {
2284 unsafe { transmute(__lsx_vfmina_s(transmute(a), transmute(b))) }
2285}
2286
2287#[inline]
2288#[target_feature(enable = "lsx")]
2289#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2290pub fn lsx_vfmina_d(a: m128d, b: m128d) -> m128d {
2291 unsafe { transmute(__lsx_vfmina_d(transmute(a), transmute(b))) }
2292}
2293
2294#[inline]
2295#[target_feature(enable = "lsx")]
2296#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2297pub fn lsx_vfmax_s(a: m128, b: m128) -> m128 {
2298 unsafe { transmute(__lsx_vfmax_s(transmute(a), transmute(b))) }
2299}
2300
2301#[inline]
2302#[target_feature(enable = "lsx")]
2303#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2304pub fn lsx_vfmax_d(a: m128d, b: m128d) -> m128d {
2305 unsafe { transmute(__lsx_vfmax_d(transmute(a), transmute(b))) }
2306}
2307
2308#[inline]
2309#[target_feature(enable = "lsx")]
2310#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2311pub fn lsx_vfmaxa_s(a: m128, b: m128) -> m128 {
2312 unsafe { transmute(__lsx_vfmaxa_s(transmute(a), transmute(b))) }
2313}
2314
2315#[inline]
2316#[target_feature(enable = "lsx")]
2317#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2318pub fn lsx_vfmaxa_d(a: m128d, b: m128d) -> m128d {
2319 unsafe { transmute(__lsx_vfmaxa_d(transmute(a), transmute(b))) }
2320}
2321
2322#[inline]
2323#[target_feature(enable = "lsx")]
2324#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2325pub fn lsx_vfclass_s(a: m128) -> m128i {
2326 unsafe { transmute(__lsx_vfclass_s(transmute(a))) }
2327}
2328
2329#[inline]
2330#[target_feature(enable = "lsx")]
2331#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2332pub fn lsx_vfclass_d(a: m128d) -> m128i {
2333 unsafe { transmute(__lsx_vfclass_d(transmute(a))) }
2334}
2335
2336#[inline]
2337#[target_feature(enable = "lsx")]
2338#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2339pub fn lsx_vfrecip_s(a: m128) -> m128 {
2340 unsafe { transmute(__lsx_vfrecip_s(transmute(a))) }
2341}
2342
2343#[inline]
2344#[target_feature(enable = "lsx")]
2345#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2346pub fn lsx_vfrecip_d(a: m128d) -> m128d {
2347 unsafe { transmute(__lsx_vfrecip_d(transmute(a))) }
2348}
2349
2350#[inline]
2351#[target_feature(enable = "lsx,frecipe")]
2352#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2353pub fn lsx_vfrecipe_s(a: m128) -> m128 {
2354 unsafe { transmute(__lsx_vfrecipe_s(transmute(a))) }
2355}
2356
2357#[inline]
2358#[target_feature(enable = "lsx,frecipe")]
2359#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2360pub fn lsx_vfrecipe_d(a: m128d) -> m128d {
2361 unsafe { transmute(__lsx_vfrecipe_d(transmute(a))) }
2362}
2363
2364#[inline]
2365#[target_feature(enable = "lsx,frecipe")]
2366#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2367pub fn lsx_vfrsqrte_s(a: m128) -> m128 {
2368 unsafe { transmute(__lsx_vfrsqrte_s(transmute(a))) }
2369}
2370
2371#[inline]
2372#[target_feature(enable = "lsx,frecipe")]
2373#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2374pub fn lsx_vfrsqrte_d(a: m128d) -> m128d {
2375 unsafe { transmute(__lsx_vfrsqrte_d(transmute(a))) }
2376}
2377
2378#[inline]
2379#[target_feature(enable = "lsx")]
2380#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2381pub fn lsx_vfrint_s(a: m128) -> m128 {
2382 unsafe { transmute(__lsx_vfrint_s(transmute(a))) }
2383}
2384
2385#[inline]
2386#[target_feature(enable = "lsx")]
2387#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2388pub fn lsx_vfrint_d(a: m128d) -> m128d {
2389 unsafe { transmute(__lsx_vfrint_d(transmute(a))) }
2390}
2391
2392#[inline]
2393#[target_feature(enable = "lsx")]
2394#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2395pub fn lsx_vfrsqrt_s(a: m128) -> m128 {
2396 unsafe { transmute(__lsx_vfrsqrt_s(transmute(a))) }
2397}
2398
2399#[inline]
2400#[target_feature(enable = "lsx")]
2401#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2402pub fn lsx_vfrsqrt_d(a: m128d) -> m128d {
2403 unsafe { transmute(__lsx_vfrsqrt_d(transmute(a))) }
2404}
2405
2406#[inline]
2407#[target_feature(enable = "lsx")]
2408#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2409pub fn lsx_vflogb_s(a: m128) -> m128 {
2410 unsafe { transmute(__lsx_vflogb_s(transmute(a))) }
2411}
2412
2413#[inline]
2414#[target_feature(enable = "lsx")]
2415#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2416pub fn lsx_vflogb_d(a: m128d) -> m128d {
2417 unsafe { transmute(__lsx_vflogb_d(transmute(a))) }
2418}
2419
2420#[inline]
2421#[target_feature(enable = "lsx")]
2422#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2423pub fn lsx_vfcvth_s_h(a: m128i) -> m128 {
2424 unsafe { transmute(__lsx_vfcvth_s_h(transmute(a))) }
2425}
2426
2427#[inline]
2428#[target_feature(enable = "lsx")]
2429#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2430pub fn lsx_vfcvth_d_s(a: m128) -> m128d {
2431 unsafe { transmute(__lsx_vfcvth_d_s(transmute(a))) }
2432}
2433
2434#[inline]
2435#[target_feature(enable = "lsx")]
2436#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2437pub fn lsx_vfcvtl_s_h(a: m128i) -> m128 {
2438 unsafe { transmute(__lsx_vfcvtl_s_h(transmute(a))) }
2439}
2440
2441#[inline]
2442#[target_feature(enable = "lsx")]
2443#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2444pub fn lsx_vfcvtl_d_s(a: m128) -> m128d {
2445 unsafe { transmute(__lsx_vfcvtl_d_s(transmute(a))) }
2446}
2447
2448#[inline]
2449#[target_feature(enable = "lsx")]
2450#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2451pub fn lsx_vftint_w_s(a: m128) -> m128i {
2452 unsafe { transmute(__lsx_vftint_w_s(transmute(a))) }
2453}
2454
2455#[inline]
2456#[target_feature(enable = "lsx")]
2457#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2458pub fn lsx_vftint_l_d(a: m128d) -> m128i {
2459 unsafe { transmute(__lsx_vftint_l_d(transmute(a))) }
2460}
2461
2462#[inline]
2463#[target_feature(enable = "lsx")]
2464#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2465pub fn lsx_vftint_wu_s(a: m128) -> m128i {
2466 unsafe { transmute(__lsx_vftint_wu_s(transmute(a))) }
2467}
2468
2469#[inline]
2470#[target_feature(enable = "lsx")]
2471#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2472pub fn lsx_vftint_lu_d(a: m128d) -> m128i {
2473 unsafe { transmute(__lsx_vftint_lu_d(transmute(a))) }
2474}
2475
2476#[inline]
2477#[target_feature(enable = "lsx")]
2478#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2479pub fn lsx_vftintrz_w_s(a: m128) -> m128i {
2480 unsafe { transmute(__lsx_vftintrz_w_s(transmute(a))) }
2481}
2482
2483#[inline]
2484#[target_feature(enable = "lsx")]
2485#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2486pub fn lsx_vftintrz_l_d(a: m128d) -> m128i {
2487 unsafe { transmute(__lsx_vftintrz_l_d(transmute(a))) }
2488}
2489
2490#[inline]
2491#[target_feature(enable = "lsx")]
2492#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2493pub fn lsx_vftintrz_wu_s(a: m128) -> m128i {
2494 unsafe { transmute(__lsx_vftintrz_wu_s(transmute(a))) }
2495}
2496
2497#[inline]
2498#[target_feature(enable = "lsx")]
2499#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2500pub fn lsx_vftintrz_lu_d(a: m128d) -> m128i {
2501 unsafe { transmute(__lsx_vftintrz_lu_d(transmute(a))) }
2502}
2503
2504#[inline]
2505#[target_feature(enable = "lsx")]
2506#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2507pub fn lsx_vffint_s_w(a: m128i) -> m128 {
2508 unsafe { transmute(__lsx_vffint_s_w(transmute(a))) }
2509}
2510
2511#[inline]
2512#[target_feature(enable = "lsx")]
2513#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2514pub fn lsx_vffint_d_l(a: m128i) -> m128d {
2515 unsafe { transmute(__lsx_vffint_d_l(transmute(a))) }
2516}
2517
2518#[inline]
2519#[target_feature(enable = "lsx")]
2520#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2521pub fn lsx_vffint_s_wu(a: m128i) -> m128 {
2522 unsafe { transmute(__lsx_vffint_s_wu(transmute(a))) }
2523}
2524
2525#[inline]
2526#[target_feature(enable = "lsx")]
2527#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2528pub fn lsx_vffint_d_lu(a: m128i) -> m128d {
2529 unsafe { transmute(__lsx_vffint_d_lu(transmute(a))) }
2530}
2531
2532#[inline]
2533#[target_feature(enable = "lsx")]
2534#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2535pub fn lsx_vmuh_b(a: m128i, b: m128i) -> m128i {
2536 unsafe { transmute(__lsx_vmuh_b(transmute(a), transmute(b))) }
2537}
2538
2539#[inline]
2540#[target_feature(enable = "lsx")]
2541#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2542pub fn lsx_vmuh_h(a: m128i, b: m128i) -> m128i {
2543 unsafe { transmute(__lsx_vmuh_h(transmute(a), transmute(b))) }
2544}
2545
2546#[inline]
2547#[target_feature(enable = "lsx")]
2548#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2549pub fn lsx_vmuh_w(a: m128i, b: m128i) -> m128i {
2550 unsafe { transmute(__lsx_vmuh_w(transmute(a), transmute(b))) }
2551}
2552
2553#[inline]
2554#[target_feature(enable = "lsx")]
2555#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2556pub fn lsx_vmuh_d(a: m128i, b: m128i) -> m128i {
2557 unsafe { transmute(__lsx_vmuh_d(transmute(a), transmute(b))) }
2558}
2559
2560#[inline]
2561#[target_feature(enable = "lsx")]
2562#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2563pub fn lsx_vmuh_bu(a: m128i, b: m128i) -> m128i {
2564 unsafe { transmute(__lsx_vmuh_bu(transmute(a), transmute(b))) }
2565}
2566
2567#[inline]
2568#[target_feature(enable = "lsx")]
2569#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2570pub fn lsx_vmuh_hu(a: m128i, b: m128i) -> m128i {
2571 unsafe { transmute(__lsx_vmuh_hu(transmute(a), transmute(b))) }
2572}
2573
2574#[inline]
2575#[target_feature(enable = "lsx")]
2576#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2577pub fn lsx_vmuh_wu(a: m128i, b: m128i) -> m128i {
2578 unsafe { transmute(__lsx_vmuh_wu(transmute(a), transmute(b))) }
2579}
2580
2581#[inline]
2582#[target_feature(enable = "lsx")]
2583#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2584pub fn lsx_vmuh_du(a: m128i, b: m128i) -> m128i {
2585 unsafe { transmute(__lsx_vmuh_du(transmute(a), transmute(b))) }
2586}
2587
2588#[inline]
2589#[target_feature(enable = "lsx")]
2590#[rustc_legacy_const_generics(1)]
2591#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2592pub fn lsx_vsllwil_h_b<const IMM3: u32>(a: m128i) -> m128i {
2593 static_assert_uimm_bits!(IMM3, 3);
2594 unsafe { transmute(__lsx_vsllwil_h_b(transmute(a), IMM3)) }
2595}
2596
2597#[inline]
2598#[target_feature(enable = "lsx")]
2599#[rustc_legacy_const_generics(1)]
2600#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2601pub fn lsx_vsllwil_w_h<const IMM4: u32>(a: m128i) -> m128i {
2602 static_assert_uimm_bits!(IMM4, 4);
2603 unsafe { transmute(__lsx_vsllwil_w_h(transmute(a), IMM4)) }
2604}
2605
2606#[inline]
2607#[target_feature(enable = "lsx")]
2608#[rustc_legacy_const_generics(1)]
2609#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2610pub fn lsx_vsllwil_d_w<const IMM5: u32>(a: m128i) -> m128i {
2611 static_assert_uimm_bits!(IMM5, 5);
2612 unsafe { transmute(__lsx_vsllwil_d_w(transmute(a), IMM5)) }
2613}
2614
2615#[inline]
2616#[target_feature(enable = "lsx")]
2617#[rustc_legacy_const_generics(1)]
2618#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2619pub fn lsx_vsllwil_hu_bu<const IMM3: u32>(a: m128i) -> m128i {
2620 static_assert_uimm_bits!(IMM3, 3);
2621 unsafe { transmute(__lsx_vsllwil_hu_bu(transmute(a), IMM3)) }
2622}
2623
2624#[inline]
2625#[target_feature(enable = "lsx")]
2626#[rustc_legacy_const_generics(1)]
2627#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2628pub fn lsx_vsllwil_wu_hu<const IMM4: u32>(a: m128i) -> m128i {
2629 static_assert_uimm_bits!(IMM4, 4);
2630 unsafe { transmute(__lsx_vsllwil_wu_hu(transmute(a), IMM4)) }
2631}
2632
2633#[inline]
2634#[target_feature(enable = "lsx")]
2635#[rustc_legacy_const_generics(1)]
2636#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2637pub fn lsx_vsllwil_du_wu<const IMM5: u32>(a: m128i) -> m128i {
2638 static_assert_uimm_bits!(IMM5, 5);
2639 unsafe { transmute(__lsx_vsllwil_du_wu(transmute(a), IMM5)) }
2640}
2641
2642#[inline]
2643#[target_feature(enable = "lsx")]
2644#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2645pub fn lsx_vsran_b_h(a: m128i, b: m128i) -> m128i {
2646 unsafe { transmute(__lsx_vsran_b_h(transmute(a), transmute(b))) }
2647}
2648
2649#[inline]
2650#[target_feature(enable = "lsx")]
2651#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2652pub fn lsx_vsran_h_w(a: m128i, b: m128i) -> m128i {
2653 unsafe { transmute(__lsx_vsran_h_w(transmute(a), transmute(b))) }
2654}
2655
2656#[inline]
2657#[target_feature(enable = "lsx")]
2658#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2659pub fn lsx_vsran_w_d(a: m128i, b: m128i) -> m128i {
2660 unsafe { transmute(__lsx_vsran_w_d(transmute(a), transmute(b))) }
2661}
2662
2663#[inline]
2664#[target_feature(enable = "lsx")]
2665#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2666pub fn lsx_vssran_b_h(a: m128i, b: m128i) -> m128i {
2667 unsafe { transmute(__lsx_vssran_b_h(transmute(a), transmute(b))) }
2668}
2669
2670#[inline]
2671#[target_feature(enable = "lsx")]
2672#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2673pub fn lsx_vssran_h_w(a: m128i, b: m128i) -> m128i {
2674 unsafe { transmute(__lsx_vssran_h_w(transmute(a), transmute(b))) }
2675}
2676
2677#[inline]
2678#[target_feature(enable = "lsx")]
2679#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2680pub fn lsx_vssran_w_d(a: m128i, b: m128i) -> m128i {
2681 unsafe { transmute(__lsx_vssran_w_d(transmute(a), transmute(b))) }
2682}
2683
2684#[inline]
2685#[target_feature(enable = "lsx")]
2686#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2687pub fn lsx_vssran_bu_h(a: m128i, b: m128i) -> m128i {
2688 unsafe { transmute(__lsx_vssran_bu_h(transmute(a), transmute(b))) }
2689}
2690
2691#[inline]
2692#[target_feature(enable = "lsx")]
2693#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2694pub fn lsx_vssran_hu_w(a: m128i, b: m128i) -> m128i {
2695 unsafe { transmute(__lsx_vssran_hu_w(transmute(a), transmute(b))) }
2696}
2697
2698#[inline]
2699#[target_feature(enable = "lsx")]
2700#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2701pub fn lsx_vssran_wu_d(a: m128i, b: m128i) -> m128i {
2702 unsafe { transmute(__lsx_vssran_wu_d(transmute(a), transmute(b))) }
2703}
2704
2705#[inline]
2706#[target_feature(enable = "lsx")]
2707#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2708pub fn lsx_vsrarn_b_h(a: m128i, b: m128i) -> m128i {
2709 unsafe { transmute(__lsx_vsrarn_b_h(transmute(a), transmute(b))) }
2710}
2711
2712#[inline]
2713#[target_feature(enable = "lsx")]
2714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2715pub fn lsx_vsrarn_h_w(a: m128i, b: m128i) -> m128i {
2716 unsafe { transmute(__lsx_vsrarn_h_w(transmute(a), transmute(b))) }
2717}
2718
2719#[inline]
2720#[target_feature(enable = "lsx")]
2721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2722pub fn lsx_vsrarn_w_d(a: m128i, b: m128i) -> m128i {
2723 unsafe { transmute(__lsx_vsrarn_w_d(transmute(a), transmute(b))) }
2724}
2725
2726#[inline]
2727#[target_feature(enable = "lsx")]
2728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2729pub fn lsx_vssrarn_b_h(a: m128i, b: m128i) -> m128i {
2730 unsafe { transmute(__lsx_vssrarn_b_h(transmute(a), transmute(b))) }
2731}
2732
2733#[inline]
2734#[target_feature(enable = "lsx")]
2735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2736pub fn lsx_vssrarn_h_w(a: m128i, b: m128i) -> m128i {
2737 unsafe { transmute(__lsx_vssrarn_h_w(transmute(a), transmute(b))) }
2738}
2739
2740#[inline]
2741#[target_feature(enable = "lsx")]
2742#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2743pub fn lsx_vssrarn_w_d(a: m128i, b: m128i) -> m128i {
2744 unsafe { transmute(__lsx_vssrarn_w_d(transmute(a), transmute(b))) }
2745}
2746
2747#[inline]
2748#[target_feature(enable = "lsx")]
2749#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2750pub fn lsx_vssrarn_bu_h(a: m128i, b: m128i) -> m128i {
2751 unsafe { transmute(__lsx_vssrarn_bu_h(transmute(a), transmute(b))) }
2752}
2753
2754#[inline]
2755#[target_feature(enable = "lsx")]
2756#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2757pub fn lsx_vssrarn_hu_w(a: m128i, b: m128i) -> m128i {
2758 unsafe { transmute(__lsx_vssrarn_hu_w(transmute(a), transmute(b))) }
2759}
2760
2761#[inline]
2762#[target_feature(enable = "lsx")]
2763#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2764pub fn lsx_vssrarn_wu_d(a: m128i, b: m128i) -> m128i {
2765 unsafe { transmute(__lsx_vssrarn_wu_d(transmute(a), transmute(b))) }
2766}
2767
2768#[inline]
2769#[target_feature(enable = "lsx")]
2770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2771pub fn lsx_vsrln_b_h(a: m128i, b: m128i) -> m128i {
2772 unsafe { transmute(__lsx_vsrln_b_h(transmute(a), transmute(b))) }
2773}
2774
2775#[inline]
2776#[target_feature(enable = "lsx")]
2777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2778pub fn lsx_vsrln_h_w(a: m128i, b: m128i) -> m128i {
2779 unsafe { transmute(__lsx_vsrln_h_w(transmute(a), transmute(b))) }
2780}
2781
2782#[inline]
2783#[target_feature(enable = "lsx")]
2784#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2785pub fn lsx_vsrln_w_d(a: m128i, b: m128i) -> m128i {
2786 unsafe { transmute(__lsx_vsrln_w_d(transmute(a), transmute(b))) }
2787}
2788
2789#[inline]
2790#[target_feature(enable = "lsx")]
2791#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2792pub fn lsx_vssrln_bu_h(a: m128i, b: m128i) -> m128i {
2793 unsafe { transmute(__lsx_vssrln_bu_h(transmute(a), transmute(b))) }
2794}
2795
2796#[inline]
2797#[target_feature(enable = "lsx")]
2798#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2799pub fn lsx_vssrln_hu_w(a: m128i, b: m128i) -> m128i {
2800 unsafe { transmute(__lsx_vssrln_hu_w(transmute(a), transmute(b))) }
2801}
2802
2803#[inline]
2804#[target_feature(enable = "lsx")]
2805#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2806pub fn lsx_vssrln_wu_d(a: m128i, b: m128i) -> m128i {
2807 unsafe { transmute(__lsx_vssrln_wu_d(transmute(a), transmute(b))) }
2808}
2809
2810#[inline]
2811#[target_feature(enable = "lsx")]
2812#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2813pub fn lsx_vsrlrn_b_h(a: m128i, b: m128i) -> m128i {
2814 unsafe { transmute(__lsx_vsrlrn_b_h(transmute(a), transmute(b))) }
2815}
2816
2817#[inline]
2818#[target_feature(enable = "lsx")]
2819#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2820pub fn lsx_vsrlrn_h_w(a: m128i, b: m128i) -> m128i {
2821 unsafe { transmute(__lsx_vsrlrn_h_w(transmute(a), transmute(b))) }
2822}
2823
2824#[inline]
2825#[target_feature(enable = "lsx")]
2826#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2827pub fn lsx_vsrlrn_w_d(a: m128i, b: m128i) -> m128i {
2828 unsafe { transmute(__lsx_vsrlrn_w_d(transmute(a), transmute(b))) }
2829}
2830
2831#[inline]
2832#[target_feature(enable = "lsx")]
2833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2834pub fn lsx_vssrlrn_bu_h(a: m128i, b: m128i) -> m128i {
2835 unsafe { transmute(__lsx_vssrlrn_bu_h(transmute(a), transmute(b))) }
2836}
2837
2838#[inline]
2839#[target_feature(enable = "lsx")]
2840#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2841pub fn lsx_vssrlrn_hu_w(a: m128i, b: m128i) -> m128i {
2842 unsafe { transmute(__lsx_vssrlrn_hu_w(transmute(a), transmute(b))) }
2843}
2844
2845#[inline]
2846#[target_feature(enable = "lsx")]
2847#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2848pub fn lsx_vssrlrn_wu_d(a: m128i, b: m128i) -> m128i {
2849 unsafe { transmute(__lsx_vssrlrn_wu_d(transmute(a), transmute(b))) }
2850}
2851
2852#[inline]
2853#[target_feature(enable = "lsx")]
2854#[rustc_legacy_const_generics(2)]
2855#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2856pub fn lsx_vfrstpi_b<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
2857 static_assert_uimm_bits!(IMM5, 5);
2858 unsafe { transmute(__lsx_vfrstpi_b(transmute(a), transmute(b), IMM5)) }
2859}
2860
2861#[inline]
2862#[target_feature(enable = "lsx")]
2863#[rustc_legacy_const_generics(2)]
2864#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2865pub fn lsx_vfrstpi_h<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
2866 static_assert_uimm_bits!(IMM5, 5);
2867 unsafe { transmute(__lsx_vfrstpi_h(transmute(a), transmute(b), IMM5)) }
2868}
2869
2870#[inline]
2871#[target_feature(enable = "lsx")]
2872#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2873pub fn lsx_vfrstp_b(a: m128i, b: m128i, c: m128i) -> m128i {
2874 unsafe { transmute(__lsx_vfrstp_b(transmute(a), transmute(b), transmute(c))) }
2875}
2876
2877#[inline]
2878#[target_feature(enable = "lsx")]
2879#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2880pub fn lsx_vfrstp_h(a: m128i, b: m128i, c: m128i) -> m128i {
2881 unsafe { transmute(__lsx_vfrstp_h(transmute(a), transmute(b), transmute(c))) }
2882}
2883
2884#[inline]
2885#[target_feature(enable = "lsx")]
2886#[rustc_legacy_const_generics(2)]
2887#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2888pub fn lsx_vshuf4i_d<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
2889 static_assert_uimm_bits!(IMM8, 8);
2890 unsafe { transmute(__lsx_vshuf4i_d(transmute(a), transmute(b), IMM8)) }
2891}
2892
2893#[inline]
2894#[target_feature(enable = "lsx")]
2895#[rustc_legacy_const_generics(1)]
2896#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2897pub fn lsx_vbsrl_v<const IMM5: u32>(a: m128i) -> m128i {
2898 static_assert_uimm_bits!(IMM5, 5);
2899 unsafe { transmute(__lsx_vbsrl_v(transmute(a), IMM5)) }
2900}
2901
2902#[inline]
2903#[target_feature(enable = "lsx")]
2904#[rustc_legacy_const_generics(1)]
2905#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2906pub fn lsx_vbsll_v<const IMM5: u32>(a: m128i) -> m128i {
2907 static_assert_uimm_bits!(IMM5, 5);
2908 unsafe { transmute(__lsx_vbsll_v(transmute(a), IMM5)) }
2909}
2910
2911#[inline]
2912#[target_feature(enable = "lsx")]
2913#[rustc_legacy_const_generics(2)]
2914#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2915pub fn lsx_vextrins_b<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
2916 static_assert_uimm_bits!(IMM8, 8);
2917 unsafe { transmute(__lsx_vextrins_b(transmute(a), transmute(b), IMM8)) }
2918}
2919
2920#[inline]
2921#[target_feature(enable = "lsx")]
2922#[rustc_legacy_const_generics(2)]
2923#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2924pub fn lsx_vextrins_h<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
2925 static_assert_uimm_bits!(IMM8, 8);
2926 unsafe { transmute(__lsx_vextrins_h(transmute(a), transmute(b), IMM8)) }
2927}
2928
2929#[inline]
2930#[target_feature(enable = "lsx")]
2931#[rustc_legacy_const_generics(2)]
2932#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2933pub fn lsx_vextrins_w<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
2934 static_assert_uimm_bits!(IMM8, 8);
2935 unsafe { transmute(__lsx_vextrins_w(transmute(a), transmute(b), IMM8)) }
2936}
2937
2938#[inline]
2939#[target_feature(enable = "lsx")]
2940#[rustc_legacy_const_generics(2)]
2941#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2942pub fn lsx_vextrins_d<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
2943 static_assert_uimm_bits!(IMM8, 8);
2944 unsafe { transmute(__lsx_vextrins_d(transmute(a), transmute(b), IMM8)) }
2945}
2946
2947#[inline]
2948#[target_feature(enable = "lsx")]
2949#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2950pub fn lsx_vmskltz_b(a: m128i) -> m128i {
2951 unsafe { transmute(__lsx_vmskltz_b(transmute(a))) }
2952}
2953
2954#[inline]
2955#[target_feature(enable = "lsx")]
2956#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2957pub fn lsx_vmskltz_h(a: m128i) -> m128i {
2958 unsafe { transmute(__lsx_vmskltz_h(transmute(a))) }
2959}
2960
2961#[inline]
2962#[target_feature(enable = "lsx")]
2963#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2964pub fn lsx_vmskltz_w(a: m128i) -> m128i {
2965 unsafe { transmute(__lsx_vmskltz_w(transmute(a))) }
2966}
2967
2968#[inline]
2969#[target_feature(enable = "lsx")]
2970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2971pub fn lsx_vmskltz_d(a: m128i) -> m128i {
2972 unsafe { transmute(__lsx_vmskltz_d(transmute(a))) }
2973}
2974
2975#[inline]
2976#[target_feature(enable = "lsx")]
2977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2978pub fn lsx_vsigncov_b(a: m128i, b: m128i) -> m128i {
2979 unsafe { transmute(__lsx_vsigncov_b(transmute(a), transmute(b))) }
2980}
2981
2982#[inline]
2983#[target_feature(enable = "lsx")]
2984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2985pub fn lsx_vsigncov_h(a: m128i, b: m128i) -> m128i {
2986 unsafe { transmute(__lsx_vsigncov_h(transmute(a), transmute(b))) }
2987}
2988
2989#[inline]
2990#[target_feature(enable = "lsx")]
2991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2992pub fn lsx_vsigncov_w(a: m128i, b: m128i) -> m128i {
2993 unsafe { transmute(__lsx_vsigncov_w(transmute(a), transmute(b))) }
2994}
2995
2996#[inline]
2997#[target_feature(enable = "lsx")]
2998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2999pub fn lsx_vsigncov_d(a: m128i, b: m128i) -> m128i {
3000 unsafe { transmute(__lsx_vsigncov_d(transmute(a), transmute(b))) }
3001}
3002
3003#[inline]
3004#[target_feature(enable = "lsx")]
3005#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3006pub fn lsx_vftintrne_w_s(a: m128) -> m128i {
3007 unsafe { transmute(__lsx_vftintrne_w_s(transmute(a))) }
3008}
3009
3010#[inline]
3011#[target_feature(enable = "lsx")]
3012#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3013pub fn lsx_vftintrne_l_d(a: m128d) -> m128i {
3014 unsafe { transmute(__lsx_vftintrne_l_d(transmute(a))) }
3015}
3016
3017#[inline]
3018#[target_feature(enable = "lsx")]
3019#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3020pub fn lsx_vftintrp_w_s(a: m128) -> m128i {
3021 unsafe { transmute(__lsx_vftintrp_w_s(transmute(a))) }
3022}
3023
3024#[inline]
3025#[target_feature(enable = "lsx")]
3026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3027pub fn lsx_vftintrp_l_d(a: m128d) -> m128i {
3028 unsafe { transmute(__lsx_vftintrp_l_d(transmute(a))) }
3029}
3030
3031#[inline]
3032#[target_feature(enable = "lsx")]
3033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3034pub fn lsx_vftintrm_w_s(a: m128) -> m128i {
3035 unsafe { transmute(__lsx_vftintrm_w_s(transmute(a))) }
3036}
3037
3038#[inline]
3039#[target_feature(enable = "lsx")]
3040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3041pub fn lsx_vftintrm_l_d(a: m128d) -> m128i {
3042 unsafe { transmute(__lsx_vftintrm_l_d(transmute(a))) }
3043}
3044
3045#[inline]
3046#[target_feature(enable = "lsx")]
3047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3048pub fn lsx_vftint_w_d(a: m128d, b: m128d) -> m128i {
3049 unsafe { transmute(__lsx_vftint_w_d(transmute(a), transmute(b))) }
3050}
3051
3052#[inline]
3053#[target_feature(enable = "lsx")]
3054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3055pub fn lsx_vffint_s_l(a: m128i, b: m128i) -> m128 {
3056 unsafe { transmute(__lsx_vffint_s_l(transmute(a), transmute(b))) }
3057}
3058
3059#[inline]
3060#[target_feature(enable = "lsx")]
3061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3062pub fn lsx_vftintrz_w_d(a: m128d, b: m128d) -> m128i {
3063 unsafe { transmute(__lsx_vftintrz_w_d(transmute(a), transmute(b))) }
3064}
3065
3066#[inline]
3067#[target_feature(enable = "lsx")]
3068#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3069pub fn lsx_vftintrp_w_d(a: m128d, b: m128d) -> m128i {
3070 unsafe { transmute(__lsx_vftintrp_w_d(transmute(a), transmute(b))) }
3071}
3072
3073#[inline]
3074#[target_feature(enable = "lsx")]
3075#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3076pub fn lsx_vftintrm_w_d(a: m128d, b: m128d) -> m128i {
3077 unsafe { transmute(__lsx_vftintrm_w_d(transmute(a), transmute(b))) }
3078}
3079
3080#[inline]
3081#[target_feature(enable = "lsx")]
3082#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3083pub fn lsx_vftintrne_w_d(a: m128d, b: m128d) -> m128i {
3084 unsafe { transmute(__lsx_vftintrne_w_d(transmute(a), transmute(b))) }
3085}
3086
3087#[inline]
3088#[target_feature(enable = "lsx")]
3089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3090pub fn lsx_vftintl_l_s(a: m128) -> m128i {
3091 unsafe { transmute(__lsx_vftintl_l_s(transmute(a))) }
3092}
3093
3094#[inline]
3095#[target_feature(enable = "lsx")]
3096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3097pub fn lsx_vftinth_l_s(a: m128) -> m128i {
3098 unsafe { transmute(__lsx_vftinth_l_s(transmute(a))) }
3099}
3100
3101#[inline]
3102#[target_feature(enable = "lsx")]
3103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3104pub fn lsx_vffinth_d_w(a: m128i) -> m128d {
3105 unsafe { transmute(__lsx_vffinth_d_w(transmute(a))) }
3106}
3107
3108#[inline]
3109#[target_feature(enable = "lsx")]
3110#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3111pub fn lsx_vffintl_d_w(a: m128i) -> m128d {
3112 unsafe { transmute(__lsx_vffintl_d_w(transmute(a))) }
3113}
3114
3115#[inline]
3116#[target_feature(enable = "lsx")]
3117#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3118pub fn lsx_vftintrzl_l_s(a: m128) -> m128i {
3119 unsafe { transmute(__lsx_vftintrzl_l_s(transmute(a))) }
3120}
3121
3122#[inline]
3123#[target_feature(enable = "lsx")]
3124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3125pub fn lsx_vftintrzh_l_s(a: m128) -> m128i {
3126 unsafe { transmute(__lsx_vftintrzh_l_s(transmute(a))) }
3127}
3128
3129#[inline]
3130#[target_feature(enable = "lsx")]
3131#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3132pub fn lsx_vftintrpl_l_s(a: m128) -> m128i {
3133 unsafe { transmute(__lsx_vftintrpl_l_s(transmute(a))) }
3134}
3135
3136#[inline]
3137#[target_feature(enable = "lsx")]
3138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3139pub fn lsx_vftintrph_l_s(a: m128) -> m128i {
3140 unsafe { transmute(__lsx_vftintrph_l_s(transmute(a))) }
3141}
3142
3143#[inline]
3144#[target_feature(enable = "lsx")]
3145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3146pub fn lsx_vftintrml_l_s(a: m128) -> m128i {
3147 unsafe { transmute(__lsx_vftintrml_l_s(transmute(a))) }
3148}
3149
3150#[inline]
3151#[target_feature(enable = "lsx")]
3152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3153pub fn lsx_vftintrmh_l_s(a: m128) -> m128i {
3154 unsafe { transmute(__lsx_vftintrmh_l_s(transmute(a))) }
3155}
3156
3157#[inline]
3158#[target_feature(enable = "lsx")]
3159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3160pub fn lsx_vftintrnel_l_s(a: m128) -> m128i {
3161 unsafe { transmute(__lsx_vftintrnel_l_s(transmute(a))) }
3162}
3163
3164#[inline]
3165#[target_feature(enable = "lsx")]
3166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3167pub fn lsx_vftintrneh_l_s(a: m128) -> m128i {
3168 unsafe { transmute(__lsx_vftintrneh_l_s(transmute(a))) }
3169}
3170
3171#[inline]
3172#[target_feature(enable = "lsx")]
3173#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3174pub fn lsx_vfrintrne_s(a: m128) -> m128 {
3175 unsafe { transmute(__lsx_vfrintrne_s(transmute(a))) }
3176}
3177
3178#[inline]
3179#[target_feature(enable = "lsx")]
3180#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3181pub fn lsx_vfrintrne_d(a: m128d) -> m128d {
3182 unsafe { transmute(__lsx_vfrintrne_d(transmute(a))) }
3183}
3184
3185#[inline]
3186#[target_feature(enable = "lsx")]
3187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3188pub fn lsx_vfrintrz_s(a: m128) -> m128 {
3189 unsafe { transmute(__lsx_vfrintrz_s(transmute(a))) }
3190}
3191
3192#[inline]
3193#[target_feature(enable = "lsx")]
3194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3195pub fn lsx_vfrintrz_d(a: m128d) -> m128d {
3196 unsafe { transmute(__lsx_vfrintrz_d(transmute(a))) }
3197}
3198
3199#[inline]
3200#[target_feature(enable = "lsx")]
3201#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3202pub fn lsx_vfrintrp_s(a: m128) -> m128 {
3203 unsafe { transmute(__lsx_vfrintrp_s(transmute(a))) }
3204}
3205
3206#[inline]
3207#[target_feature(enable = "lsx")]
3208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3209pub fn lsx_vfrintrp_d(a: m128d) -> m128d {
3210 unsafe { transmute(__lsx_vfrintrp_d(transmute(a))) }
3211}
3212
3213#[inline]
3214#[target_feature(enable = "lsx")]
3215#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3216pub fn lsx_vfrintrm_s(a: m128) -> m128 {
3217 unsafe { transmute(__lsx_vfrintrm_s(transmute(a))) }
3218}
3219
3220#[inline]
3221#[target_feature(enable = "lsx")]
3222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3223pub fn lsx_vfrintrm_d(a: m128d) -> m128d {
3224 unsafe { transmute(__lsx_vfrintrm_d(transmute(a))) }
3225}
3226
3227#[inline]
3228#[target_feature(enable = "lsx")]
3229#[rustc_legacy_const_generics(2, 3)]
3230#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3231pub unsafe fn lsx_vstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m128i, mem_addr: *mut i8) {
3232 static_assert_simm_bits!(IMM_S8, 8);
3233 static_assert_uimm_bits!(IMM4, 4);
3234 __lsx_vstelm_b(transmute(a), mem_addr, IMM_S8, IMM4)
3235}
3236
3237#[inline]
3238#[target_feature(enable = "lsx")]
3239#[rustc_legacy_const_generics(2, 3)]
3240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3241pub unsafe fn lsx_vstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m128i, mem_addr: *mut i8) {
3242 static_assert_simm_bits!(IMM_S8, 8);
3243 static_assert_uimm_bits!(IMM3, 3);
3244 __lsx_vstelm_h(transmute(a), mem_addr, IMM_S8, IMM3)
3245}
3246
3247#[inline]
3248#[target_feature(enable = "lsx")]
3249#[rustc_legacy_const_generics(2, 3)]
3250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3251pub unsafe fn lsx_vstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m128i, mem_addr: *mut i8) {
3252 static_assert_simm_bits!(IMM_S8, 8);
3253 static_assert_uimm_bits!(IMM2, 2);
3254 __lsx_vstelm_w(transmute(a), mem_addr, IMM_S8, IMM2)
3255}
3256
3257#[inline]
3258#[target_feature(enable = "lsx")]
3259#[rustc_legacy_const_generics(2, 3)]
3260#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3261pub unsafe fn lsx_vstelm_d<const IMM_S8: i32, const IMM1: u32>(a: m128i, mem_addr: *mut i8) {
3262 static_assert_simm_bits!(IMM_S8, 8);
3263 static_assert_uimm_bits!(IMM1, 1);
3264 __lsx_vstelm_d(transmute(a), mem_addr, IMM_S8, IMM1)
3265}
3266
3267#[inline]
3268#[target_feature(enable = "lsx")]
3269#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3270pub fn lsx_vaddwev_d_w(a: m128i, b: m128i) -> m128i {
3271 unsafe { transmute(__lsx_vaddwev_d_w(transmute(a), transmute(b))) }
3272}
3273
3274#[inline]
3275#[target_feature(enable = "lsx")]
3276#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3277pub fn lsx_vaddwev_w_h(a: m128i, b: m128i) -> m128i {
3278 unsafe { transmute(__lsx_vaddwev_w_h(transmute(a), transmute(b))) }
3279}
3280
3281#[inline]
3282#[target_feature(enable = "lsx")]
3283#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3284pub fn lsx_vaddwev_h_b(a: m128i, b: m128i) -> m128i {
3285 unsafe { transmute(__lsx_vaddwev_h_b(transmute(a), transmute(b))) }
3286}
3287
3288#[inline]
3289#[target_feature(enable = "lsx")]
3290#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3291pub fn lsx_vaddwod_d_w(a: m128i, b: m128i) -> m128i {
3292 unsafe { transmute(__lsx_vaddwod_d_w(transmute(a), transmute(b))) }
3293}
3294
3295#[inline]
3296#[target_feature(enable = "lsx")]
3297#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3298pub fn lsx_vaddwod_w_h(a: m128i, b: m128i) -> m128i {
3299 unsafe { transmute(__lsx_vaddwod_w_h(transmute(a), transmute(b))) }
3300}
3301
3302#[inline]
3303#[target_feature(enable = "lsx")]
3304#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3305pub fn lsx_vaddwod_h_b(a: m128i, b: m128i) -> m128i {
3306 unsafe { transmute(__lsx_vaddwod_h_b(transmute(a), transmute(b))) }
3307}
3308
3309#[inline]
3310#[target_feature(enable = "lsx")]
3311#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3312pub fn lsx_vaddwev_d_wu(a: m128i, b: m128i) -> m128i {
3313 unsafe { transmute(__lsx_vaddwev_d_wu(transmute(a), transmute(b))) }
3314}
3315
3316#[inline]
3317#[target_feature(enable = "lsx")]
3318#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3319pub fn lsx_vaddwev_w_hu(a: m128i, b: m128i) -> m128i {
3320 unsafe { transmute(__lsx_vaddwev_w_hu(transmute(a), transmute(b))) }
3321}
3322
3323#[inline]
3324#[target_feature(enable = "lsx")]
3325#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3326pub fn lsx_vaddwev_h_bu(a: m128i, b: m128i) -> m128i {
3327 unsafe { transmute(__lsx_vaddwev_h_bu(transmute(a), transmute(b))) }
3328}
3329
3330#[inline]
3331#[target_feature(enable = "lsx")]
3332#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3333pub fn lsx_vaddwod_d_wu(a: m128i, b: m128i) -> m128i {
3334 unsafe { transmute(__lsx_vaddwod_d_wu(transmute(a), transmute(b))) }
3335}
3336
3337#[inline]
3338#[target_feature(enable = "lsx")]
3339#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3340pub fn lsx_vaddwod_w_hu(a: m128i, b: m128i) -> m128i {
3341 unsafe { transmute(__lsx_vaddwod_w_hu(transmute(a), transmute(b))) }
3342}
3343
3344#[inline]
3345#[target_feature(enable = "lsx")]
3346#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3347pub fn lsx_vaddwod_h_bu(a: m128i, b: m128i) -> m128i {
3348 unsafe { transmute(__lsx_vaddwod_h_bu(transmute(a), transmute(b))) }
3349}
3350
3351#[inline]
3352#[target_feature(enable = "lsx")]
3353#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3354pub fn lsx_vaddwev_d_wu_w(a: m128i, b: m128i) -> m128i {
3355 unsafe { transmute(__lsx_vaddwev_d_wu_w(transmute(a), transmute(b))) }
3356}
3357
3358#[inline]
3359#[target_feature(enable = "lsx")]
3360#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3361pub fn lsx_vaddwev_w_hu_h(a: m128i, b: m128i) -> m128i {
3362 unsafe { transmute(__lsx_vaddwev_w_hu_h(transmute(a), transmute(b))) }
3363}
3364
3365#[inline]
3366#[target_feature(enable = "lsx")]
3367#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3368pub fn lsx_vaddwev_h_bu_b(a: m128i, b: m128i) -> m128i {
3369 unsafe { transmute(__lsx_vaddwev_h_bu_b(transmute(a), transmute(b))) }
3370}
3371
3372#[inline]
3373#[target_feature(enable = "lsx")]
3374#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3375pub fn lsx_vaddwod_d_wu_w(a: m128i, b: m128i) -> m128i {
3376 unsafe { transmute(__lsx_vaddwod_d_wu_w(transmute(a), transmute(b))) }
3377}
3378
3379#[inline]
3380#[target_feature(enable = "lsx")]
3381#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3382pub fn lsx_vaddwod_w_hu_h(a: m128i, b: m128i) -> m128i {
3383 unsafe { transmute(__lsx_vaddwod_w_hu_h(transmute(a), transmute(b))) }
3384}
3385
3386#[inline]
3387#[target_feature(enable = "lsx")]
3388#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3389pub fn lsx_vaddwod_h_bu_b(a: m128i, b: m128i) -> m128i {
3390 unsafe { transmute(__lsx_vaddwod_h_bu_b(transmute(a), transmute(b))) }
3391}
3392
3393#[inline]
3394#[target_feature(enable = "lsx")]
3395#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3396pub fn lsx_vsubwev_d_w(a: m128i, b: m128i) -> m128i {
3397 unsafe { transmute(__lsx_vsubwev_d_w(transmute(a), transmute(b))) }
3398}
3399
3400#[inline]
3401#[target_feature(enable = "lsx")]
3402#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3403pub fn lsx_vsubwev_w_h(a: m128i, b: m128i) -> m128i {
3404 unsafe { transmute(__lsx_vsubwev_w_h(transmute(a), transmute(b))) }
3405}
3406
3407#[inline]
3408#[target_feature(enable = "lsx")]
3409#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3410pub fn lsx_vsubwev_h_b(a: m128i, b: m128i) -> m128i {
3411 unsafe { transmute(__lsx_vsubwev_h_b(transmute(a), transmute(b))) }
3412}
3413
3414#[inline]
3415#[target_feature(enable = "lsx")]
3416#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3417pub fn lsx_vsubwod_d_w(a: m128i, b: m128i) -> m128i {
3418 unsafe { transmute(__lsx_vsubwod_d_w(transmute(a), transmute(b))) }
3419}
3420
3421#[inline]
3422#[target_feature(enable = "lsx")]
3423#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3424pub fn lsx_vsubwod_w_h(a: m128i, b: m128i) -> m128i {
3425 unsafe { transmute(__lsx_vsubwod_w_h(transmute(a), transmute(b))) }
3426}
3427
3428#[inline]
3429#[target_feature(enable = "lsx")]
3430#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3431pub fn lsx_vsubwod_h_b(a: m128i, b: m128i) -> m128i {
3432 unsafe { transmute(__lsx_vsubwod_h_b(transmute(a), transmute(b))) }
3433}
3434
3435#[inline]
3436#[target_feature(enable = "lsx")]
3437#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3438pub fn lsx_vsubwev_d_wu(a: m128i, b: m128i) -> m128i {
3439 unsafe { transmute(__lsx_vsubwev_d_wu(transmute(a), transmute(b))) }
3440}
3441
3442#[inline]
3443#[target_feature(enable = "lsx")]
3444#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3445pub fn lsx_vsubwev_w_hu(a: m128i, b: m128i) -> m128i {
3446 unsafe { transmute(__lsx_vsubwev_w_hu(transmute(a), transmute(b))) }
3447}
3448
3449#[inline]
3450#[target_feature(enable = "lsx")]
3451#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3452pub fn lsx_vsubwev_h_bu(a: m128i, b: m128i) -> m128i {
3453 unsafe { transmute(__lsx_vsubwev_h_bu(transmute(a), transmute(b))) }
3454}
3455
3456#[inline]
3457#[target_feature(enable = "lsx")]
3458#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3459pub fn lsx_vsubwod_d_wu(a: m128i, b: m128i) -> m128i {
3460 unsafe { transmute(__lsx_vsubwod_d_wu(transmute(a), transmute(b))) }
3461}
3462
3463#[inline]
3464#[target_feature(enable = "lsx")]
3465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3466pub fn lsx_vsubwod_w_hu(a: m128i, b: m128i) -> m128i {
3467 unsafe { transmute(__lsx_vsubwod_w_hu(transmute(a), transmute(b))) }
3468}
3469
3470#[inline]
3471#[target_feature(enable = "lsx")]
3472#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3473pub fn lsx_vsubwod_h_bu(a: m128i, b: m128i) -> m128i {
3474 unsafe { transmute(__lsx_vsubwod_h_bu(transmute(a), transmute(b))) }
3475}
3476
3477#[inline]
3478#[target_feature(enable = "lsx")]
3479#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3480pub fn lsx_vaddwev_q_d(a: m128i, b: m128i) -> m128i {
3481 unsafe { transmute(__lsx_vaddwev_q_d(transmute(a), transmute(b))) }
3482}
3483
3484#[inline]
3485#[target_feature(enable = "lsx")]
3486#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3487pub fn lsx_vaddwod_q_d(a: m128i, b: m128i) -> m128i {
3488 unsafe { transmute(__lsx_vaddwod_q_d(transmute(a), transmute(b))) }
3489}
3490
3491#[inline]
3492#[target_feature(enable = "lsx")]
3493#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3494pub fn lsx_vaddwev_q_du(a: m128i, b: m128i) -> m128i {
3495 unsafe { transmute(__lsx_vaddwev_q_du(transmute(a), transmute(b))) }
3496}
3497
3498#[inline]
3499#[target_feature(enable = "lsx")]
3500#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3501pub fn lsx_vaddwod_q_du(a: m128i, b: m128i) -> m128i {
3502 unsafe { transmute(__lsx_vaddwod_q_du(transmute(a), transmute(b))) }
3503}
3504
3505#[inline]
3506#[target_feature(enable = "lsx")]
3507#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3508pub fn lsx_vsubwev_q_d(a: m128i, b: m128i) -> m128i {
3509 unsafe { transmute(__lsx_vsubwev_q_d(transmute(a), transmute(b))) }
3510}
3511
3512#[inline]
3513#[target_feature(enable = "lsx")]
3514#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3515pub fn lsx_vsubwod_q_d(a: m128i, b: m128i) -> m128i {
3516 unsafe { transmute(__lsx_vsubwod_q_d(transmute(a), transmute(b))) }
3517}
3518
3519#[inline]
3520#[target_feature(enable = "lsx")]
3521#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3522pub fn lsx_vsubwev_q_du(a: m128i, b: m128i) -> m128i {
3523 unsafe { transmute(__lsx_vsubwev_q_du(transmute(a), transmute(b))) }
3524}
3525
3526#[inline]
3527#[target_feature(enable = "lsx")]
3528#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3529pub fn lsx_vsubwod_q_du(a: m128i, b: m128i) -> m128i {
3530 unsafe { transmute(__lsx_vsubwod_q_du(transmute(a), transmute(b))) }
3531}
3532
3533#[inline]
3534#[target_feature(enable = "lsx")]
3535#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3536pub fn lsx_vaddwev_q_du_d(a: m128i, b: m128i) -> m128i {
3537 unsafe { transmute(__lsx_vaddwev_q_du_d(transmute(a), transmute(b))) }
3538}
3539
3540#[inline]
3541#[target_feature(enable = "lsx")]
3542#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3543pub fn lsx_vaddwod_q_du_d(a: m128i, b: m128i) -> m128i {
3544 unsafe { transmute(__lsx_vaddwod_q_du_d(transmute(a), transmute(b))) }
3545}
3546
3547#[inline]
3548#[target_feature(enable = "lsx")]
3549#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3550pub fn lsx_vmulwev_d_w(a: m128i, b: m128i) -> m128i {
3551 unsafe { transmute(__lsx_vmulwev_d_w(transmute(a), transmute(b))) }
3552}
3553
3554#[inline]
3555#[target_feature(enable = "lsx")]
3556#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3557pub fn lsx_vmulwev_w_h(a: m128i, b: m128i) -> m128i {
3558 unsafe { transmute(__lsx_vmulwev_w_h(transmute(a), transmute(b))) }
3559}
3560
3561#[inline]
3562#[target_feature(enable = "lsx")]
3563#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3564pub fn lsx_vmulwev_h_b(a: m128i, b: m128i) -> m128i {
3565 unsafe { transmute(__lsx_vmulwev_h_b(transmute(a), transmute(b))) }
3566}
3567
3568#[inline]
3569#[target_feature(enable = "lsx")]
3570#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3571pub fn lsx_vmulwod_d_w(a: m128i, b: m128i) -> m128i {
3572 unsafe { transmute(__lsx_vmulwod_d_w(transmute(a), transmute(b))) }
3573}
3574
3575#[inline]
3576#[target_feature(enable = "lsx")]
3577#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3578pub fn lsx_vmulwod_w_h(a: m128i, b: m128i) -> m128i {
3579 unsafe { transmute(__lsx_vmulwod_w_h(transmute(a), transmute(b))) }
3580}
3581
3582#[inline]
3583#[target_feature(enable = "lsx")]
3584#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3585pub fn lsx_vmulwod_h_b(a: m128i, b: m128i) -> m128i {
3586 unsafe { transmute(__lsx_vmulwod_h_b(transmute(a), transmute(b))) }
3587}
3588
3589#[inline]
3590#[target_feature(enable = "lsx")]
3591#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3592pub fn lsx_vmulwev_d_wu(a: m128i, b: m128i) -> m128i {
3593 unsafe { transmute(__lsx_vmulwev_d_wu(transmute(a), transmute(b))) }
3594}
3595
3596#[inline]
3597#[target_feature(enable = "lsx")]
3598#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3599pub fn lsx_vmulwev_w_hu(a: m128i, b: m128i) -> m128i {
3600 unsafe { transmute(__lsx_vmulwev_w_hu(transmute(a), transmute(b))) }
3601}
3602
3603#[inline]
3604#[target_feature(enable = "lsx")]
3605#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3606pub fn lsx_vmulwev_h_bu(a: m128i, b: m128i) -> m128i {
3607 unsafe { transmute(__lsx_vmulwev_h_bu(transmute(a), transmute(b))) }
3608}
3609
3610#[inline]
3611#[target_feature(enable = "lsx")]
3612#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3613pub fn lsx_vmulwod_d_wu(a: m128i, b: m128i) -> m128i {
3614 unsafe { transmute(__lsx_vmulwod_d_wu(transmute(a), transmute(b))) }
3615}
3616
3617#[inline]
3618#[target_feature(enable = "lsx")]
3619#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3620pub fn lsx_vmulwod_w_hu(a: m128i, b: m128i) -> m128i {
3621 unsafe { transmute(__lsx_vmulwod_w_hu(transmute(a), transmute(b))) }
3622}
3623
3624#[inline]
3625#[target_feature(enable = "lsx")]
3626#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3627pub fn lsx_vmulwod_h_bu(a: m128i, b: m128i) -> m128i {
3628 unsafe { transmute(__lsx_vmulwod_h_bu(transmute(a), transmute(b))) }
3629}
3630
3631#[inline]
3632#[target_feature(enable = "lsx")]
3633#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3634pub fn lsx_vmulwev_d_wu_w(a: m128i, b: m128i) -> m128i {
3635 unsafe { transmute(__lsx_vmulwev_d_wu_w(transmute(a), transmute(b))) }
3636}
3637
3638#[inline]
3639#[target_feature(enable = "lsx")]
3640#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3641pub fn lsx_vmulwev_w_hu_h(a: m128i, b: m128i) -> m128i {
3642 unsafe { transmute(__lsx_vmulwev_w_hu_h(transmute(a), transmute(b))) }
3643}
3644
3645#[inline]
3646#[target_feature(enable = "lsx")]
3647#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3648pub fn lsx_vmulwev_h_bu_b(a: m128i, b: m128i) -> m128i {
3649 unsafe { transmute(__lsx_vmulwev_h_bu_b(transmute(a), transmute(b))) }
3650}
3651
3652#[inline]
3653#[target_feature(enable = "lsx")]
3654#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3655pub fn lsx_vmulwod_d_wu_w(a: m128i, b: m128i) -> m128i {
3656 unsafe { transmute(__lsx_vmulwod_d_wu_w(transmute(a), transmute(b))) }
3657}
3658
3659#[inline]
3660#[target_feature(enable = "lsx")]
3661#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3662pub fn lsx_vmulwod_w_hu_h(a: m128i, b: m128i) -> m128i {
3663 unsafe { transmute(__lsx_vmulwod_w_hu_h(transmute(a), transmute(b))) }
3664}
3665
3666#[inline]
3667#[target_feature(enable = "lsx")]
3668#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3669pub fn lsx_vmulwod_h_bu_b(a: m128i, b: m128i) -> m128i {
3670 unsafe { transmute(__lsx_vmulwod_h_bu_b(transmute(a), transmute(b))) }
3671}
3672
3673#[inline]
3674#[target_feature(enable = "lsx")]
3675#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3676pub fn lsx_vmulwev_q_d(a: m128i, b: m128i) -> m128i {
3677 unsafe { transmute(__lsx_vmulwev_q_d(transmute(a), transmute(b))) }
3678}
3679
3680#[inline]
3681#[target_feature(enable = "lsx")]
3682#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3683pub fn lsx_vmulwod_q_d(a: m128i, b: m128i) -> m128i {
3684 unsafe { transmute(__lsx_vmulwod_q_d(transmute(a), transmute(b))) }
3685}
3686
3687#[inline]
3688#[target_feature(enable = "lsx")]
3689#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3690pub fn lsx_vmulwev_q_du(a: m128i, b: m128i) -> m128i {
3691 unsafe { transmute(__lsx_vmulwev_q_du(transmute(a), transmute(b))) }
3692}
3693
3694#[inline]
3695#[target_feature(enable = "lsx")]
3696#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3697pub fn lsx_vmulwod_q_du(a: m128i, b: m128i) -> m128i {
3698 unsafe { transmute(__lsx_vmulwod_q_du(transmute(a), transmute(b))) }
3699}
3700
3701#[inline]
3702#[target_feature(enable = "lsx")]
3703#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3704pub fn lsx_vmulwev_q_du_d(a: m128i, b: m128i) -> m128i {
3705 unsafe { transmute(__lsx_vmulwev_q_du_d(transmute(a), transmute(b))) }
3706}
3707
3708#[inline]
3709#[target_feature(enable = "lsx")]
3710#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3711pub fn lsx_vmulwod_q_du_d(a: m128i, b: m128i) -> m128i {
3712 unsafe { transmute(__lsx_vmulwod_q_du_d(transmute(a), transmute(b))) }
3713}
3714
3715#[inline]
3716#[target_feature(enable = "lsx")]
3717#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3718pub fn lsx_vhaddw_q_d(a: m128i, b: m128i) -> m128i {
3719 unsafe { transmute(__lsx_vhaddw_q_d(transmute(a), transmute(b))) }
3720}
3721
3722#[inline]
3723#[target_feature(enable = "lsx")]
3724#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3725pub fn lsx_vhaddw_qu_du(a: m128i, b: m128i) -> m128i {
3726 unsafe { transmute(__lsx_vhaddw_qu_du(transmute(a), transmute(b))) }
3727}
3728
3729#[inline]
3730#[target_feature(enable = "lsx")]
3731#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3732pub fn lsx_vhsubw_q_d(a: m128i, b: m128i) -> m128i {
3733 unsafe { transmute(__lsx_vhsubw_q_d(transmute(a), transmute(b))) }
3734}
3735
3736#[inline]
3737#[target_feature(enable = "lsx")]
3738#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3739pub fn lsx_vhsubw_qu_du(a: m128i, b: m128i) -> m128i {
3740 unsafe { transmute(__lsx_vhsubw_qu_du(transmute(a), transmute(b))) }
3741}
3742
3743#[inline]
3744#[target_feature(enable = "lsx")]
3745#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3746pub fn lsx_vmaddwev_d_w(a: m128i, b: m128i, c: m128i) -> m128i {
3747 unsafe { transmute(__lsx_vmaddwev_d_w(transmute(a), transmute(b), transmute(c))) }
3748}
3749
3750#[inline]
3751#[target_feature(enable = "lsx")]
3752#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3753pub fn lsx_vmaddwev_w_h(a: m128i, b: m128i, c: m128i) -> m128i {
3754 unsafe { transmute(__lsx_vmaddwev_w_h(transmute(a), transmute(b), transmute(c))) }
3755}
3756
3757#[inline]
3758#[target_feature(enable = "lsx")]
3759#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3760pub fn lsx_vmaddwev_h_b(a: m128i, b: m128i, c: m128i) -> m128i {
3761 unsafe { transmute(__lsx_vmaddwev_h_b(transmute(a), transmute(b), transmute(c))) }
3762}
3763
3764#[inline]
3765#[target_feature(enable = "lsx")]
3766#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3767pub fn lsx_vmaddwev_d_wu(a: m128i, b: m128i, c: m128i) -> m128i {
3768 unsafe { transmute(__lsx_vmaddwev_d_wu(transmute(a), transmute(b), transmute(c))) }
3769}
3770
3771#[inline]
3772#[target_feature(enable = "lsx")]
3773#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3774pub fn lsx_vmaddwev_w_hu(a: m128i, b: m128i, c: m128i) -> m128i {
3775 unsafe { transmute(__lsx_vmaddwev_w_hu(transmute(a), transmute(b), transmute(c))) }
3776}
3777
3778#[inline]
3779#[target_feature(enable = "lsx")]
3780#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3781pub fn lsx_vmaddwev_h_bu(a: m128i, b: m128i, c: m128i) -> m128i {
3782 unsafe { transmute(__lsx_vmaddwev_h_bu(transmute(a), transmute(b), transmute(c))) }
3783}
3784
3785#[inline]
3786#[target_feature(enable = "lsx")]
3787#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3788pub fn lsx_vmaddwod_d_w(a: m128i, b: m128i, c: m128i) -> m128i {
3789 unsafe { transmute(__lsx_vmaddwod_d_w(transmute(a), transmute(b), transmute(c))) }
3790}
3791
3792#[inline]
3793#[target_feature(enable = "lsx")]
3794#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3795pub fn lsx_vmaddwod_w_h(a: m128i, b: m128i, c: m128i) -> m128i {
3796 unsafe { transmute(__lsx_vmaddwod_w_h(transmute(a), transmute(b), transmute(c))) }
3797}
3798
3799#[inline]
3800#[target_feature(enable = "lsx")]
3801#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3802pub fn lsx_vmaddwod_h_b(a: m128i, b: m128i, c: m128i) -> m128i {
3803 unsafe { transmute(__lsx_vmaddwod_h_b(transmute(a), transmute(b), transmute(c))) }
3804}
3805
3806#[inline]
3807#[target_feature(enable = "lsx")]
3808#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3809pub fn lsx_vmaddwod_d_wu(a: m128i, b: m128i, c: m128i) -> m128i {
3810 unsafe { transmute(__lsx_vmaddwod_d_wu(transmute(a), transmute(b), transmute(c))) }
3811}
3812
3813#[inline]
3814#[target_feature(enable = "lsx")]
3815#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3816pub fn lsx_vmaddwod_w_hu(a: m128i, b: m128i, c: m128i) -> m128i {
3817 unsafe { transmute(__lsx_vmaddwod_w_hu(transmute(a), transmute(b), transmute(c))) }
3818}
3819
3820#[inline]
3821#[target_feature(enable = "lsx")]
3822#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3823pub fn lsx_vmaddwod_h_bu(a: m128i, b: m128i, c: m128i) -> m128i {
3824 unsafe { transmute(__lsx_vmaddwod_h_bu(transmute(a), transmute(b), transmute(c))) }
3825}
3826
3827#[inline]
3828#[target_feature(enable = "lsx")]
3829#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3830pub fn lsx_vmaddwev_d_wu_w(a: m128i, b: m128i, c: m128i) -> m128i {
3831 unsafe { transmute(__lsx_vmaddwev_d_wu_w(transmute(a), transmute(b), transmute(c))) }
3832}
3833
3834#[inline]
3835#[target_feature(enable = "lsx")]
3836#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3837pub fn lsx_vmaddwev_w_hu_h(a: m128i, b: m128i, c: m128i) -> m128i {
3838 unsafe { transmute(__lsx_vmaddwev_w_hu_h(transmute(a), transmute(b), transmute(c))) }
3839}
3840
3841#[inline]
3842#[target_feature(enable = "lsx")]
3843#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3844pub fn lsx_vmaddwev_h_bu_b(a: m128i, b: m128i, c: m128i) -> m128i {
3845 unsafe { transmute(__lsx_vmaddwev_h_bu_b(transmute(a), transmute(b), transmute(c))) }
3846}
3847
3848#[inline]
3849#[target_feature(enable = "lsx")]
3850#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3851pub fn lsx_vmaddwod_d_wu_w(a: m128i, b: m128i, c: m128i) -> m128i {
3852 unsafe { transmute(__lsx_vmaddwod_d_wu_w(transmute(a), transmute(b), transmute(c))) }
3853}
3854
3855#[inline]
3856#[target_feature(enable = "lsx")]
3857#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3858pub fn lsx_vmaddwod_w_hu_h(a: m128i, b: m128i, c: m128i) -> m128i {
3859 unsafe { transmute(__lsx_vmaddwod_w_hu_h(transmute(a), transmute(b), transmute(c))) }
3860}
3861
3862#[inline]
3863#[target_feature(enable = "lsx")]
3864#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3865pub fn lsx_vmaddwod_h_bu_b(a: m128i, b: m128i, c: m128i) -> m128i {
3866 unsafe { transmute(__lsx_vmaddwod_h_bu_b(transmute(a), transmute(b), transmute(c))) }
3867}
3868
3869#[inline]
3870#[target_feature(enable = "lsx")]
3871#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3872pub fn lsx_vmaddwev_q_d(a: m128i, b: m128i, c: m128i) -> m128i {
3873 unsafe { transmute(__lsx_vmaddwev_q_d(transmute(a), transmute(b), transmute(c))) }
3874}
3875
3876#[inline]
3877#[target_feature(enable = "lsx")]
3878#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3879pub fn lsx_vmaddwod_q_d(a: m128i, b: m128i, c: m128i) -> m128i {
3880 unsafe { transmute(__lsx_vmaddwod_q_d(transmute(a), transmute(b), transmute(c))) }
3881}
3882
3883#[inline]
3884#[target_feature(enable = "lsx")]
3885#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3886pub fn lsx_vmaddwev_q_du(a: m128i, b: m128i, c: m128i) -> m128i {
3887 unsafe { transmute(__lsx_vmaddwev_q_du(transmute(a), transmute(b), transmute(c))) }
3888}
3889
3890#[inline]
3891#[target_feature(enable = "lsx")]
3892#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3893pub fn lsx_vmaddwod_q_du(a: m128i, b: m128i, c: m128i) -> m128i {
3894 unsafe { transmute(__lsx_vmaddwod_q_du(transmute(a), transmute(b), transmute(c))) }
3895}
3896
3897#[inline]
3898#[target_feature(enable = "lsx")]
3899#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3900pub fn lsx_vmaddwev_q_du_d(a: m128i, b: m128i, c: m128i) -> m128i {
3901 unsafe { transmute(__lsx_vmaddwev_q_du_d(transmute(a), transmute(b), transmute(c))) }
3902}
3903
3904#[inline]
3905#[target_feature(enable = "lsx")]
3906#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3907pub fn lsx_vmaddwod_q_du_d(a: m128i, b: m128i, c: m128i) -> m128i {
3908 unsafe { transmute(__lsx_vmaddwod_q_du_d(transmute(a), transmute(b), transmute(c))) }
3909}
3910
3911#[inline]
3912#[target_feature(enable = "lsx")]
3913#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3914pub fn lsx_vrotr_b(a: m128i, b: m128i) -> m128i {
3915 unsafe { transmute(__lsx_vrotr_b(transmute(a), transmute(b))) }
3916}
3917
3918#[inline]
3919#[target_feature(enable = "lsx")]
3920#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3921pub fn lsx_vrotr_h(a: m128i, b: m128i) -> m128i {
3922 unsafe { transmute(__lsx_vrotr_h(transmute(a), transmute(b))) }
3923}
3924
3925#[inline]
3926#[target_feature(enable = "lsx")]
3927#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3928pub fn lsx_vrotr_w(a: m128i, b: m128i) -> m128i {
3929 unsafe { transmute(__lsx_vrotr_w(transmute(a), transmute(b))) }
3930}
3931
3932#[inline]
3933#[target_feature(enable = "lsx")]
3934#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3935pub fn lsx_vrotr_d(a: m128i, b: m128i) -> m128i {
3936 unsafe { transmute(__lsx_vrotr_d(transmute(a), transmute(b))) }
3937}
3938
3939#[inline]
3940#[target_feature(enable = "lsx")]
3941#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3942pub fn lsx_vadd_q(a: m128i, b: m128i) -> m128i {
3943 unsafe { transmute(__lsx_vadd_q(transmute(a), transmute(b))) }
3944}
3945
3946#[inline]
3947#[target_feature(enable = "lsx")]
3948#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3949pub fn lsx_vsub_q(a: m128i, b: m128i) -> m128i {
3950 unsafe { transmute(__lsx_vsub_q(transmute(a), transmute(b))) }
3951}
3952
3953#[inline]
3954#[target_feature(enable = "lsx")]
3955#[rustc_legacy_const_generics(1)]
3956#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3957pub unsafe fn lsx_vldrepl_b<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
3958 static_assert_simm_bits!(IMM_S12, 12);
3959 transmute(__lsx_vldrepl_b(mem_addr, IMM_S12))
3960}
3961
3962#[inline]
3963#[target_feature(enable = "lsx")]
3964#[rustc_legacy_const_generics(1)]
3965#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3966pub unsafe fn lsx_vldrepl_h<const IMM_S11: i32>(mem_addr: *const i8) -> m128i {
3967 static_assert_simm_bits!(IMM_S11, 11);
3968 transmute(__lsx_vldrepl_h(mem_addr, IMM_S11))
3969}
3970
3971#[inline]
3972#[target_feature(enable = "lsx")]
3973#[rustc_legacy_const_generics(1)]
3974#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3975pub unsafe fn lsx_vldrepl_w<const IMM_S10: i32>(mem_addr: *const i8) -> m128i {
3976 static_assert_simm_bits!(IMM_S10, 10);
3977 transmute(__lsx_vldrepl_w(mem_addr, IMM_S10))
3978}
3979
3980#[inline]
3981#[target_feature(enable = "lsx")]
3982#[rustc_legacy_const_generics(1)]
3983#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3984pub unsafe fn lsx_vldrepl_d<const IMM_S9: i32>(mem_addr: *const i8) -> m128i {
3985 static_assert_simm_bits!(IMM_S9, 9);
3986 transmute(__lsx_vldrepl_d(mem_addr, IMM_S9))
3987}
3988
3989#[inline]
3990#[target_feature(enable = "lsx")]
3991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3992pub fn lsx_vmskgez_b(a: m128i) -> m128i {
3993 unsafe { transmute(__lsx_vmskgez_b(transmute(a))) }
3994}
3995
3996#[inline]
3997#[target_feature(enable = "lsx")]
3998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3999pub fn lsx_vmsknz_b(a: m128i) -> m128i {
4000 unsafe { transmute(__lsx_vmsknz_b(transmute(a))) }
4001}
4002
4003#[inline]
4004#[target_feature(enable = "lsx")]
4005#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4006pub fn lsx_vexth_h_b(a: m128i) -> m128i {
4007 unsafe { transmute(__lsx_vexth_h_b(transmute(a))) }
4008}
4009
4010#[inline]
4011#[target_feature(enable = "lsx")]
4012#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4013pub fn lsx_vexth_w_h(a: m128i) -> m128i {
4014 unsafe { transmute(__lsx_vexth_w_h(transmute(a))) }
4015}
4016
4017#[inline]
4018#[target_feature(enable = "lsx")]
4019#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4020pub fn lsx_vexth_d_w(a: m128i) -> m128i {
4021 unsafe { transmute(__lsx_vexth_d_w(transmute(a))) }
4022}
4023
4024#[inline]
4025#[target_feature(enable = "lsx")]
4026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4027pub fn lsx_vexth_q_d(a: m128i) -> m128i {
4028 unsafe { transmute(__lsx_vexth_q_d(transmute(a))) }
4029}
4030
4031#[inline]
4032#[target_feature(enable = "lsx")]
4033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4034pub fn lsx_vexth_hu_bu(a: m128i) -> m128i {
4035 unsafe { transmute(__lsx_vexth_hu_bu(transmute(a))) }
4036}
4037
4038#[inline]
4039#[target_feature(enable = "lsx")]
4040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4041pub fn lsx_vexth_wu_hu(a: m128i) -> m128i {
4042 unsafe { transmute(__lsx_vexth_wu_hu(transmute(a))) }
4043}
4044
4045#[inline]
4046#[target_feature(enable = "lsx")]
4047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4048pub fn lsx_vexth_du_wu(a: m128i) -> m128i {
4049 unsafe { transmute(__lsx_vexth_du_wu(transmute(a))) }
4050}
4051
4052#[inline]
4053#[target_feature(enable = "lsx")]
4054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4055pub fn lsx_vexth_qu_du(a: m128i) -> m128i {
4056 unsafe { transmute(__lsx_vexth_qu_du(transmute(a))) }
4057}
4058
4059#[inline]
4060#[target_feature(enable = "lsx")]
4061#[rustc_legacy_const_generics(1)]
4062#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4063pub fn lsx_vrotri_b<const IMM3: u32>(a: m128i) -> m128i {
4064 static_assert_uimm_bits!(IMM3, 3);
4065 unsafe { transmute(__lsx_vrotri_b(transmute(a), IMM3)) }
4066}
4067
4068#[inline]
4069#[target_feature(enable = "lsx")]
4070#[rustc_legacy_const_generics(1)]
4071#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4072pub fn lsx_vrotri_h<const IMM4: u32>(a: m128i) -> m128i {
4073 static_assert_uimm_bits!(IMM4, 4);
4074 unsafe { transmute(__lsx_vrotri_h(transmute(a), IMM4)) }
4075}
4076
4077#[inline]
4078#[target_feature(enable = "lsx")]
4079#[rustc_legacy_const_generics(1)]
4080#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4081pub fn lsx_vrotri_w<const IMM5: u32>(a: m128i) -> m128i {
4082 static_assert_uimm_bits!(IMM5, 5);
4083 unsafe { transmute(__lsx_vrotri_w(transmute(a), IMM5)) }
4084}
4085
4086#[inline]
4087#[target_feature(enable = "lsx")]
4088#[rustc_legacy_const_generics(1)]
4089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4090pub fn lsx_vrotri_d<const IMM6: u32>(a: m128i) -> m128i {
4091 static_assert_uimm_bits!(IMM6, 6);
4092 unsafe { transmute(__lsx_vrotri_d(transmute(a), IMM6)) }
4093}
4094
4095#[inline]
4096#[target_feature(enable = "lsx")]
4097#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4098pub fn lsx_vextl_q_d(a: m128i) -> m128i {
4099 unsafe { transmute(__lsx_vextl_q_d(transmute(a))) }
4100}
4101
4102#[inline]
4103#[target_feature(enable = "lsx")]
4104#[rustc_legacy_const_generics(2)]
4105#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4106pub fn lsx_vsrlni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4107 static_assert_uimm_bits!(IMM4, 4);
4108 unsafe { transmute(__lsx_vsrlni_b_h(transmute(a), transmute(b), IMM4)) }
4109}
4110
4111#[inline]
4112#[target_feature(enable = "lsx")]
4113#[rustc_legacy_const_generics(2)]
4114#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4115pub fn lsx_vsrlni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4116 static_assert_uimm_bits!(IMM5, 5);
4117 unsafe { transmute(__lsx_vsrlni_h_w(transmute(a), transmute(b), IMM5)) }
4118}
4119
4120#[inline]
4121#[target_feature(enable = "lsx")]
4122#[rustc_legacy_const_generics(2)]
4123#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4124pub fn lsx_vsrlni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4125 static_assert_uimm_bits!(IMM6, 6);
4126 unsafe { transmute(__lsx_vsrlni_w_d(transmute(a), transmute(b), IMM6)) }
4127}
4128
4129#[inline]
4130#[target_feature(enable = "lsx")]
4131#[rustc_legacy_const_generics(2)]
4132#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4133pub fn lsx_vsrlni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4134 static_assert_uimm_bits!(IMM7, 7);
4135 unsafe { transmute(__lsx_vsrlni_d_q(transmute(a), transmute(b), IMM7)) }
4136}
4137
4138#[inline]
4139#[target_feature(enable = "lsx")]
4140#[rustc_legacy_const_generics(2)]
4141#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4142pub fn lsx_vsrlrni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4143 static_assert_uimm_bits!(IMM4, 4);
4144 unsafe { transmute(__lsx_vsrlrni_b_h(transmute(a), transmute(b), IMM4)) }
4145}
4146
4147#[inline]
4148#[target_feature(enable = "lsx")]
4149#[rustc_legacy_const_generics(2)]
4150#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4151pub fn lsx_vsrlrni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4152 static_assert_uimm_bits!(IMM5, 5);
4153 unsafe { transmute(__lsx_vsrlrni_h_w(transmute(a), transmute(b), IMM5)) }
4154}
4155
4156#[inline]
4157#[target_feature(enable = "lsx")]
4158#[rustc_legacy_const_generics(2)]
4159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4160pub fn lsx_vsrlrni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4161 static_assert_uimm_bits!(IMM6, 6);
4162 unsafe { transmute(__lsx_vsrlrni_w_d(transmute(a), transmute(b), IMM6)) }
4163}
4164
4165#[inline]
4166#[target_feature(enable = "lsx")]
4167#[rustc_legacy_const_generics(2)]
4168#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4169pub fn lsx_vsrlrni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4170 static_assert_uimm_bits!(IMM7, 7);
4171 unsafe { transmute(__lsx_vsrlrni_d_q(transmute(a), transmute(b), IMM7)) }
4172}
4173
4174#[inline]
4175#[target_feature(enable = "lsx")]
4176#[rustc_legacy_const_generics(2)]
4177#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4178pub fn lsx_vssrlni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4179 static_assert_uimm_bits!(IMM4, 4);
4180 unsafe { transmute(__lsx_vssrlni_b_h(transmute(a), transmute(b), IMM4)) }
4181}
4182
4183#[inline]
4184#[target_feature(enable = "lsx")]
4185#[rustc_legacy_const_generics(2)]
4186#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4187pub fn lsx_vssrlni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4188 static_assert_uimm_bits!(IMM5, 5);
4189 unsafe { transmute(__lsx_vssrlni_h_w(transmute(a), transmute(b), IMM5)) }
4190}
4191
4192#[inline]
4193#[target_feature(enable = "lsx")]
4194#[rustc_legacy_const_generics(2)]
4195#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4196pub fn lsx_vssrlni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4197 static_assert_uimm_bits!(IMM6, 6);
4198 unsafe { transmute(__lsx_vssrlni_w_d(transmute(a), transmute(b), IMM6)) }
4199}
4200
4201#[inline]
4202#[target_feature(enable = "lsx")]
4203#[rustc_legacy_const_generics(2)]
4204#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4205pub fn lsx_vssrlni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4206 static_assert_uimm_bits!(IMM7, 7);
4207 unsafe { transmute(__lsx_vssrlni_d_q(transmute(a), transmute(b), IMM7)) }
4208}
4209
4210#[inline]
4211#[target_feature(enable = "lsx")]
4212#[rustc_legacy_const_generics(2)]
4213#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4214pub fn lsx_vssrlni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4215 static_assert_uimm_bits!(IMM4, 4);
4216 unsafe { transmute(__lsx_vssrlni_bu_h(transmute(a), transmute(b), IMM4)) }
4217}
4218
4219#[inline]
4220#[target_feature(enable = "lsx")]
4221#[rustc_legacy_const_generics(2)]
4222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4223pub fn lsx_vssrlni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4224 static_assert_uimm_bits!(IMM5, 5);
4225 unsafe { transmute(__lsx_vssrlni_hu_w(transmute(a), transmute(b), IMM5)) }
4226}
4227
4228#[inline]
4229#[target_feature(enable = "lsx")]
4230#[rustc_legacy_const_generics(2)]
4231#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4232pub fn lsx_vssrlni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4233 static_assert_uimm_bits!(IMM6, 6);
4234 unsafe { transmute(__lsx_vssrlni_wu_d(transmute(a), transmute(b), IMM6)) }
4235}
4236
4237#[inline]
4238#[target_feature(enable = "lsx")]
4239#[rustc_legacy_const_generics(2)]
4240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4241pub fn lsx_vssrlni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4242 static_assert_uimm_bits!(IMM7, 7);
4243 unsafe { transmute(__lsx_vssrlni_du_q(transmute(a), transmute(b), IMM7)) }
4244}
4245
4246#[inline]
4247#[target_feature(enable = "lsx")]
4248#[rustc_legacy_const_generics(2)]
4249#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4250pub fn lsx_vssrlrni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4251 static_assert_uimm_bits!(IMM4, 4);
4252 unsafe { transmute(__lsx_vssrlrni_b_h(transmute(a), transmute(b), IMM4)) }
4253}
4254
4255#[inline]
4256#[target_feature(enable = "lsx")]
4257#[rustc_legacy_const_generics(2)]
4258#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4259pub fn lsx_vssrlrni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4260 static_assert_uimm_bits!(IMM5, 5);
4261 unsafe { transmute(__lsx_vssrlrni_h_w(transmute(a), transmute(b), IMM5)) }
4262}
4263
4264#[inline]
4265#[target_feature(enable = "lsx")]
4266#[rustc_legacy_const_generics(2)]
4267#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4268pub fn lsx_vssrlrni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4269 static_assert_uimm_bits!(IMM6, 6);
4270 unsafe { transmute(__lsx_vssrlrni_w_d(transmute(a), transmute(b), IMM6)) }
4271}
4272
4273#[inline]
4274#[target_feature(enable = "lsx")]
4275#[rustc_legacy_const_generics(2)]
4276#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4277pub fn lsx_vssrlrni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4278 static_assert_uimm_bits!(IMM7, 7);
4279 unsafe { transmute(__lsx_vssrlrni_d_q(transmute(a), transmute(b), IMM7)) }
4280}
4281
4282#[inline]
4283#[target_feature(enable = "lsx")]
4284#[rustc_legacy_const_generics(2)]
4285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4286pub fn lsx_vssrlrni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4287 static_assert_uimm_bits!(IMM4, 4);
4288 unsafe { transmute(__lsx_vssrlrni_bu_h(transmute(a), transmute(b), IMM4)) }
4289}
4290
4291#[inline]
4292#[target_feature(enable = "lsx")]
4293#[rustc_legacy_const_generics(2)]
4294#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4295pub fn lsx_vssrlrni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4296 static_assert_uimm_bits!(IMM5, 5);
4297 unsafe { transmute(__lsx_vssrlrni_hu_w(transmute(a), transmute(b), IMM5)) }
4298}
4299
4300#[inline]
4301#[target_feature(enable = "lsx")]
4302#[rustc_legacy_const_generics(2)]
4303#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4304pub fn lsx_vssrlrni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4305 static_assert_uimm_bits!(IMM6, 6);
4306 unsafe { transmute(__lsx_vssrlrni_wu_d(transmute(a), transmute(b), IMM6)) }
4307}
4308
4309#[inline]
4310#[target_feature(enable = "lsx")]
4311#[rustc_legacy_const_generics(2)]
4312#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4313pub fn lsx_vssrlrni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4314 static_assert_uimm_bits!(IMM7, 7);
4315 unsafe { transmute(__lsx_vssrlrni_du_q(transmute(a), transmute(b), IMM7)) }
4316}
4317
4318#[inline]
4319#[target_feature(enable = "lsx")]
4320#[rustc_legacy_const_generics(2)]
4321#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4322pub fn lsx_vsrani_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4323 static_assert_uimm_bits!(IMM4, 4);
4324 unsafe { transmute(__lsx_vsrani_b_h(transmute(a), transmute(b), IMM4)) }
4325}
4326
4327#[inline]
4328#[target_feature(enable = "lsx")]
4329#[rustc_legacy_const_generics(2)]
4330#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4331pub fn lsx_vsrani_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4332 static_assert_uimm_bits!(IMM5, 5);
4333 unsafe { transmute(__lsx_vsrani_h_w(transmute(a), transmute(b), IMM5)) }
4334}
4335
4336#[inline]
4337#[target_feature(enable = "lsx")]
4338#[rustc_legacy_const_generics(2)]
4339#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4340pub fn lsx_vsrani_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4341 static_assert_uimm_bits!(IMM6, 6);
4342 unsafe { transmute(__lsx_vsrani_w_d(transmute(a), transmute(b), IMM6)) }
4343}
4344
4345#[inline]
4346#[target_feature(enable = "lsx")]
4347#[rustc_legacy_const_generics(2)]
4348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4349pub fn lsx_vsrani_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4350 static_assert_uimm_bits!(IMM7, 7);
4351 unsafe { transmute(__lsx_vsrani_d_q(transmute(a), transmute(b), IMM7)) }
4352}
4353
4354#[inline]
4355#[target_feature(enable = "lsx")]
4356#[rustc_legacy_const_generics(2)]
4357#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4358pub fn lsx_vsrarni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4359 static_assert_uimm_bits!(IMM4, 4);
4360 unsafe { transmute(__lsx_vsrarni_b_h(transmute(a), transmute(b), IMM4)) }
4361}
4362
4363#[inline]
4364#[target_feature(enable = "lsx")]
4365#[rustc_legacy_const_generics(2)]
4366#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4367pub fn lsx_vsrarni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4368 static_assert_uimm_bits!(IMM5, 5);
4369 unsafe { transmute(__lsx_vsrarni_h_w(transmute(a), transmute(b), IMM5)) }
4370}
4371
4372#[inline]
4373#[target_feature(enable = "lsx")]
4374#[rustc_legacy_const_generics(2)]
4375#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4376pub fn lsx_vsrarni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4377 static_assert_uimm_bits!(IMM6, 6);
4378 unsafe { transmute(__lsx_vsrarni_w_d(transmute(a), transmute(b), IMM6)) }
4379}
4380
4381#[inline]
4382#[target_feature(enable = "lsx")]
4383#[rustc_legacy_const_generics(2)]
4384#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4385pub fn lsx_vsrarni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4386 static_assert_uimm_bits!(IMM7, 7);
4387 unsafe { transmute(__lsx_vsrarni_d_q(transmute(a), transmute(b), IMM7)) }
4388}
4389
4390#[inline]
4391#[target_feature(enable = "lsx")]
4392#[rustc_legacy_const_generics(2)]
4393#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4394pub fn lsx_vssrani_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4395 static_assert_uimm_bits!(IMM4, 4);
4396 unsafe { transmute(__lsx_vssrani_b_h(transmute(a), transmute(b), IMM4)) }
4397}
4398
4399#[inline]
4400#[target_feature(enable = "lsx")]
4401#[rustc_legacy_const_generics(2)]
4402#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4403pub fn lsx_vssrani_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4404 static_assert_uimm_bits!(IMM5, 5);
4405 unsafe { transmute(__lsx_vssrani_h_w(transmute(a), transmute(b), IMM5)) }
4406}
4407
4408#[inline]
4409#[target_feature(enable = "lsx")]
4410#[rustc_legacy_const_generics(2)]
4411#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4412pub fn lsx_vssrani_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4413 static_assert_uimm_bits!(IMM6, 6);
4414 unsafe { transmute(__lsx_vssrani_w_d(transmute(a), transmute(b), IMM6)) }
4415}
4416
4417#[inline]
4418#[target_feature(enable = "lsx")]
4419#[rustc_legacy_const_generics(2)]
4420#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4421pub fn lsx_vssrani_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4422 static_assert_uimm_bits!(IMM7, 7);
4423 unsafe { transmute(__lsx_vssrani_d_q(transmute(a), transmute(b), IMM7)) }
4424}
4425
4426#[inline]
4427#[target_feature(enable = "lsx")]
4428#[rustc_legacy_const_generics(2)]
4429#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4430pub fn lsx_vssrani_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4431 static_assert_uimm_bits!(IMM4, 4);
4432 unsafe { transmute(__lsx_vssrani_bu_h(transmute(a), transmute(b), IMM4)) }
4433}
4434
4435#[inline]
4436#[target_feature(enable = "lsx")]
4437#[rustc_legacy_const_generics(2)]
4438#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4439pub fn lsx_vssrani_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4440 static_assert_uimm_bits!(IMM5, 5);
4441 unsafe { transmute(__lsx_vssrani_hu_w(transmute(a), transmute(b), IMM5)) }
4442}
4443
4444#[inline]
4445#[target_feature(enable = "lsx")]
4446#[rustc_legacy_const_generics(2)]
4447#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4448pub fn lsx_vssrani_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4449 static_assert_uimm_bits!(IMM6, 6);
4450 unsafe { transmute(__lsx_vssrani_wu_d(transmute(a), transmute(b), IMM6)) }
4451}
4452
4453#[inline]
4454#[target_feature(enable = "lsx")]
4455#[rustc_legacy_const_generics(2)]
4456#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4457pub fn lsx_vssrani_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4458 static_assert_uimm_bits!(IMM7, 7);
4459 unsafe { transmute(__lsx_vssrani_du_q(transmute(a), transmute(b), IMM7)) }
4460}
4461
4462#[inline]
4463#[target_feature(enable = "lsx")]
4464#[rustc_legacy_const_generics(2)]
4465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4466pub fn lsx_vssrarni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4467 static_assert_uimm_bits!(IMM4, 4);
4468 unsafe { transmute(__lsx_vssrarni_b_h(transmute(a), transmute(b), IMM4)) }
4469}
4470
4471#[inline]
4472#[target_feature(enable = "lsx")]
4473#[rustc_legacy_const_generics(2)]
4474#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4475pub fn lsx_vssrarni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4476 static_assert_uimm_bits!(IMM5, 5);
4477 unsafe { transmute(__lsx_vssrarni_h_w(transmute(a), transmute(b), IMM5)) }
4478}
4479
4480#[inline]
4481#[target_feature(enable = "lsx")]
4482#[rustc_legacy_const_generics(2)]
4483#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4484pub fn lsx_vssrarni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4485 static_assert_uimm_bits!(IMM6, 6);
4486 unsafe { transmute(__lsx_vssrarni_w_d(transmute(a), transmute(b), IMM6)) }
4487}
4488
4489#[inline]
4490#[target_feature(enable = "lsx")]
4491#[rustc_legacy_const_generics(2)]
4492#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4493pub fn lsx_vssrarni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4494 static_assert_uimm_bits!(IMM7, 7);
4495 unsafe { transmute(__lsx_vssrarni_d_q(transmute(a), transmute(b), IMM7)) }
4496}
4497
4498#[inline]
4499#[target_feature(enable = "lsx")]
4500#[rustc_legacy_const_generics(2)]
4501#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4502pub fn lsx_vssrarni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
4503 static_assert_uimm_bits!(IMM4, 4);
4504 unsafe { transmute(__lsx_vssrarni_bu_h(transmute(a), transmute(b), IMM4)) }
4505}
4506
4507#[inline]
4508#[target_feature(enable = "lsx")]
4509#[rustc_legacy_const_generics(2)]
4510#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4511pub fn lsx_vssrarni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4512 static_assert_uimm_bits!(IMM5, 5);
4513 unsafe { transmute(__lsx_vssrarni_hu_w(transmute(a), transmute(b), IMM5)) }
4514}
4515
4516#[inline]
4517#[target_feature(enable = "lsx")]
4518#[rustc_legacy_const_generics(2)]
4519#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4520pub fn lsx_vssrarni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
4521 static_assert_uimm_bits!(IMM6, 6);
4522 unsafe { transmute(__lsx_vssrarni_wu_d(transmute(a), transmute(b), IMM6)) }
4523}
4524
4525#[inline]
4526#[target_feature(enable = "lsx")]
4527#[rustc_legacy_const_generics(2)]
4528#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4529pub fn lsx_vssrarni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
4530 static_assert_uimm_bits!(IMM7, 7);
4531 unsafe { transmute(__lsx_vssrarni_du_q(transmute(a), transmute(b), IMM7)) }
4532}
4533
4534#[inline]
4535#[target_feature(enable = "lsx")]
4536#[rustc_legacy_const_generics(2)]
4537#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4538pub fn lsx_vpermi_w<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
4539 static_assert_uimm_bits!(IMM8, 8);
4540 unsafe { transmute(__lsx_vpermi_w(transmute(a), transmute(b), IMM8)) }
4541}
4542
4543#[inline]
4544#[target_feature(enable = "lsx")]
4545#[rustc_legacy_const_generics(1)]
4546#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4547pub unsafe fn lsx_vld<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
4548 static_assert_simm_bits!(IMM_S12, 12);
4549 transmute(__lsx_vld(mem_addr, IMM_S12))
4550}
4551
4552#[inline]
4553#[target_feature(enable = "lsx")]
4554#[rustc_legacy_const_generics(2)]
4555#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4556pub unsafe fn lsx_vst<const IMM_S12: i32>(a: m128i, mem_addr: *mut i8) {
4557 static_assert_simm_bits!(IMM_S12, 12);
4558 __lsx_vst(transmute(a), mem_addr, IMM_S12)
4559}
4560
4561#[inline]
4562#[target_feature(enable = "lsx")]
4563#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4564pub fn lsx_vssrlrn_b_h(a: m128i, b: m128i) -> m128i {
4565 unsafe { transmute(__lsx_vssrlrn_b_h(transmute(a), transmute(b))) }
4566}
4567
4568#[inline]
4569#[target_feature(enable = "lsx")]
4570#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4571pub fn lsx_vssrlrn_h_w(a: m128i, b: m128i) -> m128i {
4572 unsafe { transmute(__lsx_vssrlrn_h_w(transmute(a), transmute(b))) }
4573}
4574
4575#[inline]
4576#[target_feature(enable = "lsx")]
4577#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4578pub fn lsx_vssrlrn_w_d(a: m128i, b: m128i) -> m128i {
4579 unsafe { transmute(__lsx_vssrlrn_w_d(transmute(a), transmute(b))) }
4580}
4581
4582#[inline]
4583#[target_feature(enable = "lsx")]
4584#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4585pub fn lsx_vssrln_b_h(a: m128i, b: m128i) -> m128i {
4586 unsafe { transmute(__lsx_vssrln_b_h(transmute(a), transmute(b))) }
4587}
4588
4589#[inline]
4590#[target_feature(enable = "lsx")]
4591#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4592pub fn lsx_vssrln_h_w(a: m128i, b: m128i) -> m128i {
4593 unsafe { transmute(__lsx_vssrln_h_w(transmute(a), transmute(b))) }
4594}
4595
4596#[inline]
4597#[target_feature(enable = "lsx")]
4598#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4599pub fn lsx_vssrln_w_d(a: m128i, b: m128i) -> m128i {
4600 unsafe { transmute(__lsx_vssrln_w_d(transmute(a), transmute(b))) }
4601}
4602
4603#[inline]
4604#[target_feature(enable = "lsx")]
4605#[rustc_legacy_const_generics(0)]
4606#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4607pub fn lsx_vldi<const IMM_S13: i32>() -> m128i {
4608 static_assert_simm_bits!(IMM_S13, 13);
4609 unsafe { transmute(__lsx_vldi(IMM_S13)) }
4610}
4611
4612#[inline]
4613#[target_feature(enable = "lsx")]
4614#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4615pub fn lsx_vshuf_b(a: m128i, b: m128i, c: m128i) -> m128i {
4616 unsafe { transmute(__lsx_vshuf_b(transmute(a), transmute(b), transmute(c))) }
4617}
4618
4619#[inline]
4620#[target_feature(enable = "lsx")]
4621#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4622pub unsafe fn lsx_vldx(mem_addr: *const i8, b: i64) -> m128i {
4623 transmute(__lsx_vldx(mem_addr, transmute(b)))
4624}
4625
4626#[inline]
4627#[target_feature(enable = "lsx")]
4628#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4629pub unsafe fn lsx_vstx(a: m128i, mem_addr: *mut i8, b: i64) {
4630 __lsx_vstx(transmute(a), mem_addr, transmute(b))
4631}
4632
4633#[inline]
4634#[target_feature(enable = "lsx")]
4635#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4636pub fn lsx_vextl_qu_du(a: m128i) -> m128i {
4637 unsafe { transmute(__lsx_vextl_qu_du(transmute(a))) }
4638}
4639
4640#[inline]
4641#[target_feature(enable = "lsx")]
4642#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4643pub fn lsx_bnz_b(a: m128i) -> i32 {
4644 unsafe { transmute(__lsx_bnz_b(transmute(a))) }
4645}
4646
4647#[inline]
4648#[target_feature(enable = "lsx")]
4649#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4650pub fn lsx_bnz_d(a: m128i) -> i32 {
4651 unsafe { transmute(__lsx_bnz_d(transmute(a))) }
4652}
4653
4654#[inline]
4655#[target_feature(enable = "lsx")]
4656#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4657pub fn lsx_bnz_h(a: m128i) -> i32 {
4658 unsafe { transmute(__lsx_bnz_h(transmute(a))) }
4659}
4660
4661#[inline]
4662#[target_feature(enable = "lsx")]
4663#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4664pub fn lsx_bnz_v(a: m128i) -> i32 {
4665 unsafe { transmute(__lsx_bnz_v(transmute(a))) }
4666}
4667
4668#[inline]
4669#[target_feature(enable = "lsx")]
4670#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4671pub fn lsx_bnz_w(a: m128i) -> i32 {
4672 unsafe { transmute(__lsx_bnz_w(transmute(a))) }
4673}
4674
4675#[inline]
4676#[target_feature(enable = "lsx")]
4677#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4678pub fn lsx_bz_b(a: m128i) -> i32 {
4679 unsafe { transmute(__lsx_bz_b(transmute(a))) }
4680}
4681
4682#[inline]
4683#[target_feature(enable = "lsx")]
4684#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4685pub fn lsx_bz_d(a: m128i) -> i32 {
4686 unsafe { transmute(__lsx_bz_d(transmute(a))) }
4687}
4688
4689#[inline]
4690#[target_feature(enable = "lsx")]
4691#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4692pub fn lsx_bz_h(a: m128i) -> i32 {
4693 unsafe { transmute(__lsx_bz_h(transmute(a))) }
4694}
4695
4696#[inline]
4697#[target_feature(enable = "lsx")]
4698#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4699pub fn lsx_bz_v(a: m128i) -> i32 {
4700 unsafe { transmute(__lsx_bz_v(transmute(a))) }
4701}
4702
4703#[inline]
4704#[target_feature(enable = "lsx")]
4705#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4706pub fn lsx_bz_w(a: m128i) -> i32 {
4707 unsafe { transmute(__lsx_bz_w(transmute(a))) }
4708}
4709
4710#[inline]
4711#[target_feature(enable = "lsx")]
4712#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4713pub fn lsx_vfcmp_caf_d(a: m128d, b: m128d) -> m128i {
4714 unsafe { transmute(__lsx_vfcmp_caf_d(transmute(a), transmute(b))) }
4715}
4716
4717#[inline]
4718#[target_feature(enable = "lsx")]
4719#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4720pub fn lsx_vfcmp_caf_s(a: m128, b: m128) -> m128i {
4721 unsafe { transmute(__lsx_vfcmp_caf_s(transmute(a), transmute(b))) }
4722}
4723
4724#[inline]
4725#[target_feature(enable = "lsx")]
4726#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4727pub fn lsx_vfcmp_ceq_d(a: m128d, b: m128d) -> m128i {
4728 unsafe { transmute(__lsx_vfcmp_ceq_d(transmute(a), transmute(b))) }
4729}
4730
4731#[inline]
4732#[target_feature(enable = "lsx")]
4733#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4734pub fn lsx_vfcmp_ceq_s(a: m128, b: m128) -> m128i {
4735 unsafe { transmute(__lsx_vfcmp_ceq_s(transmute(a), transmute(b))) }
4736}
4737
4738#[inline]
4739#[target_feature(enable = "lsx")]
4740#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4741pub fn lsx_vfcmp_cle_d(a: m128d, b: m128d) -> m128i {
4742 unsafe { transmute(__lsx_vfcmp_cle_d(transmute(a), transmute(b))) }
4743}
4744
4745#[inline]
4746#[target_feature(enable = "lsx")]
4747#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4748pub fn lsx_vfcmp_cle_s(a: m128, b: m128) -> m128i {
4749 unsafe { transmute(__lsx_vfcmp_cle_s(transmute(a), transmute(b))) }
4750}
4751
4752#[inline]
4753#[target_feature(enable = "lsx")]
4754#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4755pub fn lsx_vfcmp_clt_d(a: m128d, b: m128d) -> m128i {
4756 unsafe { transmute(__lsx_vfcmp_clt_d(transmute(a), transmute(b))) }
4757}
4758
4759#[inline]
4760#[target_feature(enable = "lsx")]
4761#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4762pub fn lsx_vfcmp_clt_s(a: m128, b: m128) -> m128i {
4763 unsafe { transmute(__lsx_vfcmp_clt_s(transmute(a), transmute(b))) }
4764}
4765
4766#[inline]
4767#[target_feature(enable = "lsx")]
4768#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4769pub fn lsx_vfcmp_cne_d(a: m128d, b: m128d) -> m128i {
4770 unsafe { transmute(__lsx_vfcmp_cne_d(transmute(a), transmute(b))) }
4771}
4772
4773#[inline]
4774#[target_feature(enable = "lsx")]
4775#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4776pub fn lsx_vfcmp_cne_s(a: m128, b: m128) -> m128i {
4777 unsafe { transmute(__lsx_vfcmp_cne_s(transmute(a), transmute(b))) }
4778}
4779
4780#[inline]
4781#[target_feature(enable = "lsx")]
4782#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4783pub fn lsx_vfcmp_cor_d(a: m128d, b: m128d) -> m128i {
4784 unsafe { transmute(__lsx_vfcmp_cor_d(transmute(a), transmute(b))) }
4785}
4786
4787#[inline]
4788#[target_feature(enable = "lsx")]
4789#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4790pub fn lsx_vfcmp_cor_s(a: m128, b: m128) -> m128i {
4791 unsafe { transmute(__lsx_vfcmp_cor_s(transmute(a), transmute(b))) }
4792}
4793
4794#[inline]
4795#[target_feature(enable = "lsx")]
4796#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4797pub fn lsx_vfcmp_cueq_d(a: m128d, b: m128d) -> m128i {
4798 unsafe { transmute(__lsx_vfcmp_cueq_d(transmute(a), transmute(b))) }
4799}
4800
4801#[inline]
4802#[target_feature(enable = "lsx")]
4803#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4804pub fn lsx_vfcmp_cueq_s(a: m128, b: m128) -> m128i {
4805 unsafe { transmute(__lsx_vfcmp_cueq_s(transmute(a), transmute(b))) }
4806}
4807
4808#[inline]
4809#[target_feature(enable = "lsx")]
4810#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4811pub fn lsx_vfcmp_cule_d(a: m128d, b: m128d) -> m128i {
4812 unsafe { transmute(__lsx_vfcmp_cule_d(transmute(a), transmute(b))) }
4813}
4814
4815#[inline]
4816#[target_feature(enable = "lsx")]
4817#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4818pub fn lsx_vfcmp_cule_s(a: m128, b: m128) -> m128i {
4819 unsafe { transmute(__lsx_vfcmp_cule_s(transmute(a), transmute(b))) }
4820}
4821
4822#[inline]
4823#[target_feature(enable = "lsx")]
4824#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4825pub fn lsx_vfcmp_cult_d(a: m128d, b: m128d) -> m128i {
4826 unsafe { transmute(__lsx_vfcmp_cult_d(transmute(a), transmute(b))) }
4827}
4828
4829#[inline]
4830#[target_feature(enable = "lsx")]
4831#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4832pub fn lsx_vfcmp_cult_s(a: m128, b: m128) -> m128i {
4833 unsafe { transmute(__lsx_vfcmp_cult_s(transmute(a), transmute(b))) }
4834}
4835
4836#[inline]
4837#[target_feature(enable = "lsx")]
4838#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4839pub fn lsx_vfcmp_cun_d(a: m128d, b: m128d) -> m128i {
4840 unsafe { transmute(__lsx_vfcmp_cun_d(transmute(a), transmute(b))) }
4841}
4842
4843#[inline]
4844#[target_feature(enable = "lsx")]
4845#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4846pub fn lsx_vfcmp_cune_d(a: m128d, b: m128d) -> m128i {
4847 unsafe { transmute(__lsx_vfcmp_cune_d(transmute(a), transmute(b))) }
4848}
4849
4850#[inline]
4851#[target_feature(enable = "lsx")]
4852#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4853pub fn lsx_vfcmp_cune_s(a: m128, b: m128) -> m128i {
4854 unsafe { transmute(__lsx_vfcmp_cune_s(transmute(a), transmute(b))) }
4855}
4856
4857#[inline]
4858#[target_feature(enable = "lsx")]
4859#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4860pub fn lsx_vfcmp_cun_s(a: m128, b: m128) -> m128i {
4861 unsafe { transmute(__lsx_vfcmp_cun_s(transmute(a), transmute(b))) }
4862}
4863
4864#[inline]
4865#[target_feature(enable = "lsx")]
4866#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4867pub fn lsx_vfcmp_saf_d(a: m128d, b: m128d) -> m128i {
4868 unsafe { transmute(__lsx_vfcmp_saf_d(transmute(a), transmute(b))) }
4869}
4870
4871#[inline]
4872#[target_feature(enable = "lsx")]
4873#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4874pub fn lsx_vfcmp_saf_s(a: m128, b: m128) -> m128i {
4875 unsafe { transmute(__lsx_vfcmp_saf_s(transmute(a), transmute(b))) }
4876}
4877
4878#[inline]
4879#[target_feature(enable = "lsx")]
4880#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4881pub fn lsx_vfcmp_seq_d(a: m128d, b: m128d) -> m128i {
4882 unsafe { transmute(__lsx_vfcmp_seq_d(transmute(a), transmute(b))) }
4883}
4884
4885#[inline]
4886#[target_feature(enable = "lsx")]
4887#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4888pub fn lsx_vfcmp_seq_s(a: m128, b: m128) -> m128i {
4889 unsafe { transmute(__lsx_vfcmp_seq_s(transmute(a), transmute(b))) }
4890}
4891
4892#[inline]
4893#[target_feature(enable = "lsx")]
4894#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4895pub fn lsx_vfcmp_sle_d(a: m128d, b: m128d) -> m128i {
4896 unsafe { transmute(__lsx_vfcmp_sle_d(transmute(a), transmute(b))) }
4897}
4898
4899#[inline]
4900#[target_feature(enable = "lsx")]
4901#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4902pub fn lsx_vfcmp_sle_s(a: m128, b: m128) -> m128i {
4903 unsafe { transmute(__lsx_vfcmp_sle_s(transmute(a), transmute(b))) }
4904}
4905
4906#[inline]
4907#[target_feature(enable = "lsx")]
4908#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4909pub fn lsx_vfcmp_slt_d(a: m128d, b: m128d) -> m128i {
4910 unsafe { transmute(__lsx_vfcmp_slt_d(transmute(a), transmute(b))) }
4911}
4912
4913#[inline]
4914#[target_feature(enable = "lsx")]
4915#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4916pub fn lsx_vfcmp_slt_s(a: m128, b: m128) -> m128i {
4917 unsafe { transmute(__lsx_vfcmp_slt_s(transmute(a), transmute(b))) }
4918}
4919
4920#[inline]
4921#[target_feature(enable = "lsx")]
4922#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4923pub fn lsx_vfcmp_sne_d(a: m128d, b: m128d) -> m128i {
4924 unsafe { transmute(__lsx_vfcmp_sne_d(transmute(a), transmute(b))) }
4925}
4926
4927#[inline]
4928#[target_feature(enable = "lsx")]
4929#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4930pub fn lsx_vfcmp_sne_s(a: m128, b: m128) -> m128i {
4931 unsafe { transmute(__lsx_vfcmp_sne_s(transmute(a), transmute(b))) }
4932}
4933
4934#[inline]
4935#[target_feature(enable = "lsx")]
4936#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4937pub fn lsx_vfcmp_sor_d(a: m128d, b: m128d) -> m128i {
4938 unsafe { transmute(__lsx_vfcmp_sor_d(transmute(a), transmute(b))) }
4939}
4940
4941#[inline]
4942#[target_feature(enable = "lsx")]
4943#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4944pub fn lsx_vfcmp_sor_s(a: m128, b: m128) -> m128i {
4945 unsafe { transmute(__lsx_vfcmp_sor_s(transmute(a), transmute(b))) }
4946}
4947
4948#[inline]
4949#[target_feature(enable = "lsx")]
4950#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4951pub fn lsx_vfcmp_sueq_d(a: m128d, b: m128d) -> m128i {
4952 unsafe { transmute(__lsx_vfcmp_sueq_d(transmute(a), transmute(b))) }
4953}
4954
4955#[inline]
4956#[target_feature(enable = "lsx")]
4957#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4958pub fn lsx_vfcmp_sueq_s(a: m128, b: m128) -> m128i {
4959 unsafe { transmute(__lsx_vfcmp_sueq_s(transmute(a), transmute(b))) }
4960}
4961
4962#[inline]
4963#[target_feature(enable = "lsx")]
4964#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4965pub fn lsx_vfcmp_sule_d(a: m128d, b: m128d) -> m128i {
4966 unsafe { transmute(__lsx_vfcmp_sule_d(transmute(a), transmute(b))) }
4967}
4968
4969#[inline]
4970#[target_feature(enable = "lsx")]
4971#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4972pub fn lsx_vfcmp_sule_s(a: m128, b: m128) -> m128i {
4973 unsafe { transmute(__lsx_vfcmp_sule_s(transmute(a), transmute(b))) }
4974}
4975
4976#[inline]
4977#[target_feature(enable = "lsx")]
4978#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4979pub fn lsx_vfcmp_sult_d(a: m128d, b: m128d) -> m128i {
4980 unsafe { transmute(__lsx_vfcmp_sult_d(transmute(a), transmute(b))) }
4981}
4982
4983#[inline]
4984#[target_feature(enable = "lsx")]
4985#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4986pub fn lsx_vfcmp_sult_s(a: m128, b: m128) -> m128i {
4987 unsafe { transmute(__lsx_vfcmp_sult_s(transmute(a), transmute(b))) }
4988}
4989
4990#[inline]
4991#[target_feature(enable = "lsx")]
4992#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4993pub fn lsx_vfcmp_sun_d(a: m128d, b: m128d) -> m128i {
4994 unsafe { transmute(__lsx_vfcmp_sun_d(transmute(a), transmute(b))) }
4995}
4996
4997#[inline]
4998#[target_feature(enable = "lsx")]
4999#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5000pub fn lsx_vfcmp_sune_d(a: m128d, b: m128d) -> m128i {
5001 unsafe { transmute(__lsx_vfcmp_sune_d(transmute(a), transmute(b))) }
5002}
5003
5004#[inline]
5005#[target_feature(enable = "lsx")]
5006#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5007pub fn lsx_vfcmp_sune_s(a: m128, b: m128) -> m128i {
5008 unsafe { transmute(__lsx_vfcmp_sune_s(transmute(a), transmute(b))) }
5009}
5010
5011#[inline]
5012#[target_feature(enable = "lsx")]
5013#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5014pub fn lsx_vfcmp_sun_s(a: m128, b: m128) -> m128i {
5015 unsafe { transmute(__lsx_vfcmp_sun_s(transmute(a), transmute(b))) }
5016}