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