core/stdarch/crates/core_arch/src/loongarch64/lsx/
generated.rs

1// This code is automatically generated. DO NOT MODIFY.
2//
3// Instead, modify `crates/stdarch-gen-loongarch/lsx.spec` and run the following command to re-generate this file:
4//
5// ```
6// OUT_DIR=`pwd`/crates/core_arch cargo run -p stdarch-gen-loongarch -- crates/stdarch-gen-loongarch/lsx.spec
7// ```
8
9use super::types::*;
10
11#[allow(improper_ctypes)]
12extern "unadjusted" {
13    #[link_name = "llvm.loongarch.lsx.vsll.b"]
14    fn __lsx_vsll_b(a: v16i8, b: v16i8) -> v16i8;
15    #[link_name = "llvm.loongarch.lsx.vsll.h"]
16    fn __lsx_vsll_h(a: v8i16, b: v8i16) -> v8i16;
17    #[link_name = "llvm.loongarch.lsx.vsll.w"]
18    fn __lsx_vsll_w(a: v4i32, b: v4i32) -> v4i32;
19    #[link_name = "llvm.loongarch.lsx.vsll.d"]
20    fn __lsx_vsll_d(a: v2i64, b: v2i64) -> v2i64;
21    #[link_name = "llvm.loongarch.lsx.vslli.b"]
22    fn __lsx_vslli_b(a: v16i8, b: u32) -> v16i8;
23    #[link_name = "llvm.loongarch.lsx.vslli.h"]
24    fn __lsx_vslli_h(a: v8i16, b: u32) -> v8i16;
25    #[link_name = "llvm.loongarch.lsx.vslli.w"]
26    fn __lsx_vslli_w(a: v4i32, b: u32) -> v4i32;
27    #[link_name = "llvm.loongarch.lsx.vslli.d"]
28    fn __lsx_vslli_d(a: v2i64, b: u32) -> v2i64;
29    #[link_name = "llvm.loongarch.lsx.vsra.b"]
30    fn __lsx_vsra_b(a: v16i8, b: v16i8) -> v16i8;
31    #[link_name = "llvm.loongarch.lsx.vsra.h"]
32    fn __lsx_vsra_h(a: v8i16, b: v8i16) -> v8i16;
33    #[link_name = "llvm.loongarch.lsx.vsra.w"]
34    fn __lsx_vsra_w(a: v4i32, b: v4i32) -> v4i32;
35    #[link_name = "llvm.loongarch.lsx.vsra.d"]
36    fn __lsx_vsra_d(a: v2i64, b: v2i64) -> v2i64;
37    #[link_name = "llvm.loongarch.lsx.vsrai.b"]
38    fn __lsx_vsrai_b(a: v16i8, b: u32) -> v16i8;
39    #[link_name = "llvm.loongarch.lsx.vsrai.h"]
40    fn __lsx_vsrai_h(a: v8i16, b: u32) -> v8i16;
41    #[link_name = "llvm.loongarch.lsx.vsrai.w"]
42    fn __lsx_vsrai_w(a: v4i32, b: u32) -> v4i32;
43    #[link_name = "llvm.loongarch.lsx.vsrai.d"]
44    fn __lsx_vsrai_d(a: v2i64, b: u32) -> v2i64;
45    #[link_name = "llvm.loongarch.lsx.vsrar.b"]
46    fn __lsx_vsrar_b(a: v16i8, b: v16i8) -> v16i8;
47    #[link_name = "llvm.loongarch.lsx.vsrar.h"]
48    fn __lsx_vsrar_h(a: v8i16, b: v8i16) -> v8i16;
49    #[link_name = "llvm.loongarch.lsx.vsrar.w"]
50    fn __lsx_vsrar_w(a: v4i32, b: v4i32) -> v4i32;
51    #[link_name = "llvm.loongarch.lsx.vsrar.d"]
52    fn __lsx_vsrar_d(a: v2i64, b: v2i64) -> v2i64;
53    #[link_name = "llvm.loongarch.lsx.vsrari.b"]
54    fn __lsx_vsrari_b(a: v16i8, b: u32) -> v16i8;
55    #[link_name = "llvm.loongarch.lsx.vsrari.h"]
56    fn __lsx_vsrari_h(a: v8i16, b: u32) -> v8i16;
57    #[link_name = "llvm.loongarch.lsx.vsrari.w"]
58    fn __lsx_vsrari_w(a: v4i32, b: u32) -> v4i32;
59    #[link_name = "llvm.loongarch.lsx.vsrari.d"]
60    fn __lsx_vsrari_d(a: v2i64, b: u32) -> v2i64;
61    #[link_name = "llvm.loongarch.lsx.vsrl.b"]
62    fn __lsx_vsrl_b(a: v16i8, b: v16i8) -> v16i8;
63    #[link_name = "llvm.loongarch.lsx.vsrl.h"]
64    fn __lsx_vsrl_h(a: v8i16, b: v8i16) -> v8i16;
65    #[link_name = "llvm.loongarch.lsx.vsrl.w"]
66    fn __lsx_vsrl_w(a: v4i32, b: v4i32) -> v4i32;
67    #[link_name = "llvm.loongarch.lsx.vsrl.d"]
68    fn __lsx_vsrl_d(a: v2i64, b: v2i64) -> v2i64;
69    #[link_name = "llvm.loongarch.lsx.vsrli.b"]
70    fn __lsx_vsrli_b(a: v16i8, b: u32) -> v16i8;
71    #[link_name = "llvm.loongarch.lsx.vsrli.h"]
72    fn __lsx_vsrli_h(a: v8i16, b: u32) -> v8i16;
73    #[link_name = "llvm.loongarch.lsx.vsrli.w"]
74    fn __lsx_vsrli_w(a: v4i32, b: u32) -> v4i32;
75    #[link_name = "llvm.loongarch.lsx.vsrli.d"]
76    fn __lsx_vsrli_d(a: v2i64, b: u32) -> v2i64;
77    #[link_name = "llvm.loongarch.lsx.vsrlr.b"]
78    fn __lsx_vsrlr_b(a: v16i8, b: v16i8) -> v16i8;
79    #[link_name = "llvm.loongarch.lsx.vsrlr.h"]
80    fn __lsx_vsrlr_h(a: v8i16, b: v8i16) -> v8i16;
81    #[link_name = "llvm.loongarch.lsx.vsrlr.w"]
82    fn __lsx_vsrlr_w(a: v4i32, b: v4i32) -> v4i32;
83    #[link_name = "llvm.loongarch.lsx.vsrlr.d"]
84    fn __lsx_vsrlr_d(a: v2i64, b: v2i64) -> v2i64;
85    #[link_name = "llvm.loongarch.lsx.vsrlri.b"]
86    fn __lsx_vsrlri_b(a: v16i8, b: u32) -> v16i8;
87    #[link_name = "llvm.loongarch.lsx.vsrlri.h"]
88    fn __lsx_vsrlri_h(a: v8i16, b: u32) -> v8i16;
89    #[link_name = "llvm.loongarch.lsx.vsrlri.w"]
90    fn __lsx_vsrlri_w(a: v4i32, b: u32) -> v4i32;
91    #[link_name = "llvm.loongarch.lsx.vsrlri.d"]
92    fn __lsx_vsrlri_d(a: v2i64, b: u32) -> v2i64;
93    #[link_name = "llvm.loongarch.lsx.vbitclr.b"]
94    fn __lsx_vbitclr_b(a: v16u8, b: v16u8) -> v16u8;
95    #[link_name = "llvm.loongarch.lsx.vbitclr.h"]
96    fn __lsx_vbitclr_h(a: v8u16, b: v8u16) -> v8u16;
97    #[link_name = "llvm.loongarch.lsx.vbitclr.w"]
98    fn __lsx_vbitclr_w(a: v4u32, b: v4u32) -> v4u32;
99    #[link_name = "llvm.loongarch.lsx.vbitclr.d"]
100    fn __lsx_vbitclr_d(a: v2u64, b: v2u64) -> v2u64;
101    #[link_name = "llvm.loongarch.lsx.vbitclri.b"]
102    fn __lsx_vbitclri_b(a: v16u8, b: u32) -> v16u8;
103    #[link_name = "llvm.loongarch.lsx.vbitclri.h"]
104    fn __lsx_vbitclri_h(a: v8u16, b: u32) -> v8u16;
105    #[link_name = "llvm.loongarch.lsx.vbitclri.w"]
106    fn __lsx_vbitclri_w(a: v4u32, b: u32) -> v4u32;
107    #[link_name = "llvm.loongarch.lsx.vbitclri.d"]
108    fn __lsx_vbitclri_d(a: v2u64, b: u32) -> v2u64;
109    #[link_name = "llvm.loongarch.lsx.vbitset.b"]
110    fn __lsx_vbitset_b(a: v16u8, b: v16u8) -> v16u8;
111    #[link_name = "llvm.loongarch.lsx.vbitset.h"]
112    fn __lsx_vbitset_h(a: v8u16, b: v8u16) -> v8u16;
113    #[link_name = "llvm.loongarch.lsx.vbitset.w"]
114    fn __lsx_vbitset_w(a: v4u32, b: v4u32) -> v4u32;
115    #[link_name = "llvm.loongarch.lsx.vbitset.d"]
116    fn __lsx_vbitset_d(a: v2u64, b: v2u64) -> v2u64;
117    #[link_name = "llvm.loongarch.lsx.vbitseti.b"]
118    fn __lsx_vbitseti_b(a: v16u8, b: u32) -> v16u8;
119    #[link_name = "llvm.loongarch.lsx.vbitseti.h"]
120    fn __lsx_vbitseti_h(a: v8u16, b: u32) -> v8u16;
121    #[link_name = "llvm.loongarch.lsx.vbitseti.w"]
122    fn __lsx_vbitseti_w(a: v4u32, b: u32) -> v4u32;
123    #[link_name = "llvm.loongarch.lsx.vbitseti.d"]
124    fn __lsx_vbitseti_d(a: v2u64, b: u32) -> v2u64;
125    #[link_name = "llvm.loongarch.lsx.vbitrev.b"]
126    fn __lsx_vbitrev_b(a: v16u8, b: v16u8) -> v16u8;
127    #[link_name = "llvm.loongarch.lsx.vbitrev.h"]
128    fn __lsx_vbitrev_h(a: v8u16, b: v8u16) -> v8u16;
129    #[link_name = "llvm.loongarch.lsx.vbitrev.w"]
130    fn __lsx_vbitrev_w(a: v4u32, b: v4u32) -> v4u32;
131    #[link_name = "llvm.loongarch.lsx.vbitrev.d"]
132    fn __lsx_vbitrev_d(a: v2u64, b: v2u64) -> v2u64;
133    #[link_name = "llvm.loongarch.lsx.vbitrevi.b"]
134    fn __lsx_vbitrevi_b(a: v16u8, b: u32) -> v16u8;
135    #[link_name = "llvm.loongarch.lsx.vbitrevi.h"]
136    fn __lsx_vbitrevi_h(a: v8u16, b: u32) -> v8u16;
137    #[link_name = "llvm.loongarch.lsx.vbitrevi.w"]
138    fn __lsx_vbitrevi_w(a: v4u32, b: u32) -> v4u32;
139    #[link_name = "llvm.loongarch.lsx.vbitrevi.d"]
140    fn __lsx_vbitrevi_d(a: v2u64, b: u32) -> v2u64;
141    #[link_name = "llvm.loongarch.lsx.vadd.b"]
142    fn __lsx_vadd_b(a: v16i8, b: v16i8) -> v16i8;
143    #[link_name = "llvm.loongarch.lsx.vadd.h"]
144    fn __lsx_vadd_h(a: v8i16, b: v8i16) -> v8i16;
145    #[link_name = "llvm.loongarch.lsx.vadd.w"]
146    fn __lsx_vadd_w(a: v4i32, b: v4i32) -> v4i32;
147    #[link_name = "llvm.loongarch.lsx.vadd.d"]
148    fn __lsx_vadd_d(a: v2i64, b: v2i64) -> v2i64;
149    #[link_name = "llvm.loongarch.lsx.vaddi.bu"]
150    fn __lsx_vaddi_bu(a: v16i8, b: u32) -> v16i8;
151    #[link_name = "llvm.loongarch.lsx.vaddi.hu"]
152    fn __lsx_vaddi_hu(a: v8i16, b: u32) -> v8i16;
153    #[link_name = "llvm.loongarch.lsx.vaddi.wu"]
154    fn __lsx_vaddi_wu(a: v4i32, b: u32) -> v4i32;
155    #[link_name = "llvm.loongarch.lsx.vaddi.du"]
156    fn __lsx_vaddi_du(a: v2i64, b: u32) -> v2i64;
157    #[link_name = "llvm.loongarch.lsx.vsub.b"]
158    fn __lsx_vsub_b(a: v16i8, b: v16i8) -> v16i8;
159    #[link_name = "llvm.loongarch.lsx.vsub.h"]
160    fn __lsx_vsub_h(a: v8i16, b: v8i16) -> v8i16;
161    #[link_name = "llvm.loongarch.lsx.vsub.w"]
162    fn __lsx_vsub_w(a: v4i32, b: v4i32) -> v4i32;
163    #[link_name = "llvm.loongarch.lsx.vsub.d"]
164    fn __lsx_vsub_d(a: v2i64, b: v2i64) -> v2i64;
165    #[link_name = "llvm.loongarch.lsx.vsubi.bu"]
166    fn __lsx_vsubi_bu(a: v16i8, b: u32) -> v16i8;
167    #[link_name = "llvm.loongarch.lsx.vsubi.hu"]
168    fn __lsx_vsubi_hu(a: v8i16, b: u32) -> v8i16;
169    #[link_name = "llvm.loongarch.lsx.vsubi.wu"]
170    fn __lsx_vsubi_wu(a: v4i32, b: u32) -> v4i32;
171    #[link_name = "llvm.loongarch.lsx.vsubi.du"]
172    fn __lsx_vsubi_du(a: v2i64, b: u32) -> v2i64;
173    #[link_name = "llvm.loongarch.lsx.vmax.b"]
174    fn __lsx_vmax_b(a: v16i8, b: v16i8) -> v16i8;
175    #[link_name = "llvm.loongarch.lsx.vmax.h"]
176    fn __lsx_vmax_h(a: v8i16, b: v8i16) -> v8i16;
177    #[link_name = "llvm.loongarch.lsx.vmax.w"]
178    fn __lsx_vmax_w(a: v4i32, b: v4i32) -> v4i32;
179    #[link_name = "llvm.loongarch.lsx.vmax.d"]
180    fn __lsx_vmax_d(a: v2i64, b: v2i64) -> v2i64;
181    #[link_name = "llvm.loongarch.lsx.vmaxi.b"]
182    fn __lsx_vmaxi_b(a: v16i8, b: i32) -> v16i8;
183    #[link_name = "llvm.loongarch.lsx.vmaxi.h"]
184    fn __lsx_vmaxi_h(a: v8i16, b: i32) -> v8i16;
185    #[link_name = "llvm.loongarch.lsx.vmaxi.w"]
186    fn __lsx_vmaxi_w(a: v4i32, b: i32) -> v4i32;
187    #[link_name = "llvm.loongarch.lsx.vmaxi.d"]
188    fn __lsx_vmaxi_d(a: v2i64, b: i32) -> v2i64;
189    #[link_name = "llvm.loongarch.lsx.vmax.bu"]
190    fn __lsx_vmax_bu(a: v16u8, b: v16u8) -> v16u8;
191    #[link_name = "llvm.loongarch.lsx.vmax.hu"]
192    fn __lsx_vmax_hu(a: v8u16, b: v8u16) -> v8u16;
193    #[link_name = "llvm.loongarch.lsx.vmax.wu"]
194    fn __lsx_vmax_wu(a: v4u32, b: v4u32) -> v4u32;
195    #[link_name = "llvm.loongarch.lsx.vmax.du"]
196    fn __lsx_vmax_du(a: v2u64, b: v2u64) -> v2u64;
197    #[link_name = "llvm.loongarch.lsx.vmaxi.bu"]
198    fn __lsx_vmaxi_bu(a: v16u8, b: u32) -> v16u8;
199    #[link_name = "llvm.loongarch.lsx.vmaxi.hu"]
200    fn __lsx_vmaxi_hu(a: v8u16, b: u32) -> v8u16;
201    #[link_name = "llvm.loongarch.lsx.vmaxi.wu"]
202    fn __lsx_vmaxi_wu(a: v4u32, b: u32) -> v4u32;
203    #[link_name = "llvm.loongarch.lsx.vmaxi.du"]
204    fn __lsx_vmaxi_du(a: v2u64, b: u32) -> v2u64;
205    #[link_name = "llvm.loongarch.lsx.vmin.b"]
206    fn __lsx_vmin_b(a: v16i8, b: v16i8) -> v16i8;
207    #[link_name = "llvm.loongarch.lsx.vmin.h"]
208    fn __lsx_vmin_h(a: v8i16, b: v8i16) -> v8i16;
209    #[link_name = "llvm.loongarch.lsx.vmin.w"]
210    fn __lsx_vmin_w(a: v4i32, b: v4i32) -> v4i32;
211    #[link_name = "llvm.loongarch.lsx.vmin.d"]
212    fn __lsx_vmin_d(a: v2i64, b: v2i64) -> v2i64;
213    #[link_name = "llvm.loongarch.lsx.vmini.b"]
214    fn __lsx_vmini_b(a: v16i8, b: i32) -> v16i8;
215    #[link_name = "llvm.loongarch.lsx.vmini.h"]
216    fn __lsx_vmini_h(a: v8i16, b: i32) -> v8i16;
217    #[link_name = "llvm.loongarch.lsx.vmini.w"]
218    fn __lsx_vmini_w(a: v4i32, b: i32) -> v4i32;
219    #[link_name = "llvm.loongarch.lsx.vmini.d"]
220    fn __lsx_vmini_d(a: v2i64, b: i32) -> v2i64;
221    #[link_name = "llvm.loongarch.lsx.vmin.bu"]
222    fn __lsx_vmin_bu(a: v16u8, b: v16u8) -> v16u8;
223    #[link_name = "llvm.loongarch.lsx.vmin.hu"]
224    fn __lsx_vmin_hu(a: v8u16, b: v8u16) -> v8u16;
225    #[link_name = "llvm.loongarch.lsx.vmin.wu"]
226    fn __lsx_vmin_wu(a: v4u32, b: v4u32) -> v4u32;
227    #[link_name = "llvm.loongarch.lsx.vmin.du"]
228    fn __lsx_vmin_du(a: v2u64, b: v2u64) -> v2u64;
229    #[link_name = "llvm.loongarch.lsx.vmini.bu"]
230    fn __lsx_vmini_bu(a: v16u8, b: u32) -> v16u8;
231    #[link_name = "llvm.loongarch.lsx.vmini.hu"]
232    fn __lsx_vmini_hu(a: v8u16, b: u32) -> v8u16;
233    #[link_name = "llvm.loongarch.lsx.vmini.wu"]
234    fn __lsx_vmini_wu(a: v4u32, b: u32) -> v4u32;
235    #[link_name = "llvm.loongarch.lsx.vmini.du"]
236    fn __lsx_vmini_du(a: v2u64, b: u32) -> v2u64;
237    #[link_name = "llvm.loongarch.lsx.vseq.b"]
238    fn __lsx_vseq_b(a: v16i8, b: v16i8) -> v16i8;
239    #[link_name = "llvm.loongarch.lsx.vseq.h"]
240    fn __lsx_vseq_h(a: v8i16, b: v8i16) -> v8i16;
241    #[link_name = "llvm.loongarch.lsx.vseq.w"]
242    fn __lsx_vseq_w(a: v4i32, b: v4i32) -> v4i32;
243    #[link_name = "llvm.loongarch.lsx.vseq.d"]
244    fn __lsx_vseq_d(a: v2i64, b: v2i64) -> v2i64;
245    #[link_name = "llvm.loongarch.lsx.vseqi.b"]
246    fn __lsx_vseqi_b(a: v16i8, b: i32) -> v16i8;
247    #[link_name = "llvm.loongarch.lsx.vseqi.h"]
248    fn __lsx_vseqi_h(a: v8i16, b: i32) -> v8i16;
249    #[link_name = "llvm.loongarch.lsx.vseqi.w"]
250    fn __lsx_vseqi_w(a: v4i32, b: i32) -> v4i32;
251    #[link_name = "llvm.loongarch.lsx.vseqi.d"]
252    fn __lsx_vseqi_d(a: v2i64, b: i32) -> v2i64;
253    #[link_name = "llvm.loongarch.lsx.vslti.b"]
254    fn __lsx_vslti_b(a: v16i8, b: i32) -> v16i8;
255    #[link_name = "llvm.loongarch.lsx.vslt.b"]
256    fn __lsx_vslt_b(a: v16i8, b: v16i8) -> v16i8;
257    #[link_name = "llvm.loongarch.lsx.vslt.h"]
258    fn __lsx_vslt_h(a: v8i16, b: v8i16) -> v8i16;
259    #[link_name = "llvm.loongarch.lsx.vslt.w"]
260    fn __lsx_vslt_w(a: v4i32, b: v4i32) -> v4i32;
261    #[link_name = "llvm.loongarch.lsx.vslt.d"]
262    fn __lsx_vslt_d(a: v2i64, b: v2i64) -> v2i64;
263    #[link_name = "llvm.loongarch.lsx.vslti.h"]
264    fn __lsx_vslti_h(a: v8i16, b: i32) -> v8i16;
265    #[link_name = "llvm.loongarch.lsx.vslti.w"]
266    fn __lsx_vslti_w(a: v4i32, b: i32) -> v4i32;
267    #[link_name = "llvm.loongarch.lsx.vslti.d"]
268    fn __lsx_vslti_d(a: v2i64, b: i32) -> v2i64;
269    #[link_name = "llvm.loongarch.lsx.vslt.bu"]
270    fn __lsx_vslt_bu(a: v16u8, b: v16u8) -> v16i8;
271    #[link_name = "llvm.loongarch.lsx.vslt.hu"]
272    fn __lsx_vslt_hu(a: v8u16, b: v8u16) -> v8i16;
273    #[link_name = "llvm.loongarch.lsx.vslt.wu"]
274    fn __lsx_vslt_wu(a: v4u32, b: v4u32) -> v4i32;
275    #[link_name = "llvm.loongarch.lsx.vslt.du"]
276    fn __lsx_vslt_du(a: v2u64, b: v2u64) -> v2i64;
277    #[link_name = "llvm.loongarch.lsx.vslti.bu"]
278    fn __lsx_vslti_bu(a: v16u8, b: u32) -> v16i8;
279    #[link_name = "llvm.loongarch.lsx.vslti.hu"]
280    fn __lsx_vslti_hu(a: v8u16, b: u32) -> v8i16;
281    #[link_name = "llvm.loongarch.lsx.vslti.wu"]
282    fn __lsx_vslti_wu(a: v4u32, b: u32) -> v4i32;
283    #[link_name = "llvm.loongarch.lsx.vslti.du"]
284    fn __lsx_vslti_du(a: v2u64, b: u32) -> v2i64;
285    #[link_name = "llvm.loongarch.lsx.vsle.b"]
286    fn __lsx_vsle_b(a: v16i8, b: v16i8) -> v16i8;
287    #[link_name = "llvm.loongarch.lsx.vsle.h"]
288    fn __lsx_vsle_h(a: v8i16, b: v8i16) -> v8i16;
289    #[link_name = "llvm.loongarch.lsx.vsle.w"]
290    fn __lsx_vsle_w(a: v4i32, b: v4i32) -> v4i32;
291    #[link_name = "llvm.loongarch.lsx.vsle.d"]
292    fn __lsx_vsle_d(a: v2i64, b: v2i64) -> v2i64;
293    #[link_name = "llvm.loongarch.lsx.vslei.b"]
294    fn __lsx_vslei_b(a: v16i8, b: i32) -> v16i8;
295    #[link_name = "llvm.loongarch.lsx.vslei.h"]
296    fn __lsx_vslei_h(a: v8i16, b: i32) -> v8i16;
297    #[link_name = "llvm.loongarch.lsx.vslei.w"]
298    fn __lsx_vslei_w(a: v4i32, b: i32) -> v4i32;
299    #[link_name = "llvm.loongarch.lsx.vslei.d"]
300    fn __lsx_vslei_d(a: v2i64, b: i32) -> v2i64;
301    #[link_name = "llvm.loongarch.lsx.vsle.bu"]
302    fn __lsx_vsle_bu(a: v16u8, b: v16u8) -> v16i8;
303    #[link_name = "llvm.loongarch.lsx.vsle.hu"]
304    fn __lsx_vsle_hu(a: v8u16, b: v8u16) -> v8i16;
305    #[link_name = "llvm.loongarch.lsx.vsle.wu"]
306    fn __lsx_vsle_wu(a: v4u32, b: v4u32) -> v4i32;
307    #[link_name = "llvm.loongarch.lsx.vsle.du"]
308    fn __lsx_vsle_du(a: v2u64, b: v2u64) -> v2i64;
309    #[link_name = "llvm.loongarch.lsx.vslei.bu"]
310    fn __lsx_vslei_bu(a: v16u8, b: u32) -> v16i8;
311    #[link_name = "llvm.loongarch.lsx.vslei.hu"]
312    fn __lsx_vslei_hu(a: v8u16, b: u32) -> v8i16;
313    #[link_name = "llvm.loongarch.lsx.vslei.wu"]
314    fn __lsx_vslei_wu(a: v4u32, b: u32) -> v4i32;
315    #[link_name = "llvm.loongarch.lsx.vslei.du"]
316    fn __lsx_vslei_du(a: v2u64, b: u32) -> v2i64;
317    #[link_name = "llvm.loongarch.lsx.vsat.b"]
318    fn __lsx_vsat_b(a: v16i8, b: u32) -> v16i8;
319    #[link_name = "llvm.loongarch.lsx.vsat.h"]
320    fn __lsx_vsat_h(a: v8i16, b: u32) -> v8i16;
321    #[link_name = "llvm.loongarch.lsx.vsat.w"]
322    fn __lsx_vsat_w(a: v4i32, b: u32) -> v4i32;
323    #[link_name = "llvm.loongarch.lsx.vsat.d"]
324    fn __lsx_vsat_d(a: v2i64, b: u32) -> v2i64;
325    #[link_name = "llvm.loongarch.lsx.vsat.bu"]
326    fn __lsx_vsat_bu(a: v16u8, b: u32) -> v16u8;
327    #[link_name = "llvm.loongarch.lsx.vsat.hu"]
328    fn __lsx_vsat_hu(a: v8u16, b: u32) -> v8u16;
329    #[link_name = "llvm.loongarch.lsx.vsat.wu"]
330    fn __lsx_vsat_wu(a: v4u32, b: u32) -> v4u32;
331    #[link_name = "llvm.loongarch.lsx.vsat.du"]
332    fn __lsx_vsat_du(a: v2u64, b: u32) -> v2u64;
333    #[link_name = "llvm.loongarch.lsx.vadda.b"]
334    fn __lsx_vadda_b(a: v16i8, b: v16i8) -> v16i8;
335    #[link_name = "llvm.loongarch.lsx.vadda.h"]
336    fn __lsx_vadda_h(a: v8i16, b: v8i16) -> v8i16;
337    #[link_name = "llvm.loongarch.lsx.vadda.w"]
338    fn __lsx_vadda_w(a: v4i32, b: v4i32) -> v4i32;
339    #[link_name = "llvm.loongarch.lsx.vadda.d"]
340    fn __lsx_vadda_d(a: v2i64, b: v2i64) -> v2i64;
341    #[link_name = "llvm.loongarch.lsx.vsadd.b"]
342    fn __lsx_vsadd_b(a: v16i8, b: v16i8) -> v16i8;
343    #[link_name = "llvm.loongarch.lsx.vsadd.h"]
344    fn __lsx_vsadd_h(a: v8i16, b: v8i16) -> v8i16;
345    #[link_name = "llvm.loongarch.lsx.vsadd.w"]
346    fn __lsx_vsadd_w(a: v4i32, b: v4i32) -> v4i32;
347    #[link_name = "llvm.loongarch.lsx.vsadd.d"]
348    fn __lsx_vsadd_d(a: v2i64, b: v2i64) -> v2i64;
349    #[link_name = "llvm.loongarch.lsx.vsadd.bu"]
350    fn __lsx_vsadd_bu(a: v16u8, b: v16u8) -> v16u8;
351    #[link_name = "llvm.loongarch.lsx.vsadd.hu"]
352    fn __lsx_vsadd_hu(a: v8u16, b: v8u16) -> v8u16;
353    #[link_name = "llvm.loongarch.lsx.vsadd.wu"]
354    fn __lsx_vsadd_wu(a: v4u32, b: v4u32) -> v4u32;
355    #[link_name = "llvm.loongarch.lsx.vsadd.du"]
356    fn __lsx_vsadd_du(a: v2u64, b: v2u64) -> v2u64;
357    #[link_name = "llvm.loongarch.lsx.vavg.b"]
358    fn __lsx_vavg_b(a: v16i8, b: v16i8) -> v16i8;
359    #[link_name = "llvm.loongarch.lsx.vavg.h"]
360    fn __lsx_vavg_h(a: v8i16, b: v8i16) -> v8i16;
361    #[link_name = "llvm.loongarch.lsx.vavg.w"]
362    fn __lsx_vavg_w(a: v4i32, b: v4i32) -> v4i32;
363    #[link_name = "llvm.loongarch.lsx.vavg.d"]
364    fn __lsx_vavg_d(a: v2i64, b: v2i64) -> v2i64;
365    #[link_name = "llvm.loongarch.lsx.vavg.bu"]
366    fn __lsx_vavg_bu(a: v16u8, b: v16u8) -> v16u8;
367    #[link_name = "llvm.loongarch.lsx.vavg.hu"]
368    fn __lsx_vavg_hu(a: v8u16, b: v8u16) -> v8u16;
369    #[link_name = "llvm.loongarch.lsx.vavg.wu"]
370    fn __lsx_vavg_wu(a: v4u32, b: v4u32) -> v4u32;
371    #[link_name = "llvm.loongarch.lsx.vavg.du"]
372    fn __lsx_vavg_du(a: v2u64, b: v2u64) -> v2u64;
373    #[link_name = "llvm.loongarch.lsx.vavgr.b"]
374    fn __lsx_vavgr_b(a: v16i8, b: v16i8) -> v16i8;
375    #[link_name = "llvm.loongarch.lsx.vavgr.h"]
376    fn __lsx_vavgr_h(a: v8i16, b: v8i16) -> v8i16;
377    #[link_name = "llvm.loongarch.lsx.vavgr.w"]
378    fn __lsx_vavgr_w(a: v4i32, b: v4i32) -> v4i32;
379    #[link_name = "llvm.loongarch.lsx.vavgr.d"]
380    fn __lsx_vavgr_d(a: v2i64, b: v2i64) -> v2i64;
381    #[link_name = "llvm.loongarch.lsx.vavgr.bu"]
382    fn __lsx_vavgr_bu(a: v16u8, b: v16u8) -> v16u8;
383    #[link_name = "llvm.loongarch.lsx.vavgr.hu"]
384    fn __lsx_vavgr_hu(a: v8u16, b: v8u16) -> v8u16;
385    #[link_name = "llvm.loongarch.lsx.vavgr.wu"]
386    fn __lsx_vavgr_wu(a: v4u32, b: v4u32) -> v4u32;
387    #[link_name = "llvm.loongarch.lsx.vavgr.du"]
388    fn __lsx_vavgr_du(a: v2u64, b: v2u64) -> v2u64;
389    #[link_name = "llvm.loongarch.lsx.vssub.b"]
390    fn __lsx_vssub_b(a: v16i8, b: v16i8) -> v16i8;
391    #[link_name = "llvm.loongarch.lsx.vssub.h"]
392    fn __lsx_vssub_h(a: v8i16, b: v8i16) -> v8i16;
393    #[link_name = "llvm.loongarch.lsx.vssub.w"]
394    fn __lsx_vssub_w(a: v4i32, b: v4i32) -> v4i32;
395    #[link_name = "llvm.loongarch.lsx.vssub.d"]
396    fn __lsx_vssub_d(a: v2i64, b: v2i64) -> v2i64;
397    #[link_name = "llvm.loongarch.lsx.vssub.bu"]
398    fn __lsx_vssub_bu(a: v16u8, b: v16u8) -> v16u8;
399    #[link_name = "llvm.loongarch.lsx.vssub.hu"]
400    fn __lsx_vssub_hu(a: v8u16, b: v8u16) -> v8u16;
401    #[link_name = "llvm.loongarch.lsx.vssub.wu"]
402    fn __lsx_vssub_wu(a: v4u32, b: v4u32) -> v4u32;
403    #[link_name = "llvm.loongarch.lsx.vssub.du"]
404    fn __lsx_vssub_du(a: v2u64, b: v2u64) -> v2u64;
405    #[link_name = "llvm.loongarch.lsx.vabsd.b"]
406    fn __lsx_vabsd_b(a: v16i8, b: v16i8) -> v16i8;
407    #[link_name = "llvm.loongarch.lsx.vabsd.h"]
408    fn __lsx_vabsd_h(a: v8i16, b: v8i16) -> v8i16;
409    #[link_name = "llvm.loongarch.lsx.vabsd.w"]
410    fn __lsx_vabsd_w(a: v4i32, b: v4i32) -> v4i32;
411    #[link_name = "llvm.loongarch.lsx.vabsd.d"]
412    fn __lsx_vabsd_d(a: v2i64, b: v2i64) -> v2i64;
413    #[link_name = "llvm.loongarch.lsx.vabsd.bu"]
414    fn __lsx_vabsd_bu(a: v16u8, b: v16u8) -> v16u8;
415    #[link_name = "llvm.loongarch.lsx.vabsd.hu"]
416    fn __lsx_vabsd_hu(a: v8u16, b: v8u16) -> v8u16;
417    #[link_name = "llvm.loongarch.lsx.vabsd.wu"]
418    fn __lsx_vabsd_wu(a: v4u32, b: v4u32) -> v4u32;
419    #[link_name = "llvm.loongarch.lsx.vabsd.du"]
420    fn __lsx_vabsd_du(a: v2u64, b: v2u64) -> v2u64;
421    #[link_name = "llvm.loongarch.lsx.vmul.b"]
422    fn __lsx_vmul_b(a: v16i8, b: v16i8) -> v16i8;
423    #[link_name = "llvm.loongarch.lsx.vmul.h"]
424    fn __lsx_vmul_h(a: v8i16, b: v8i16) -> v8i16;
425    #[link_name = "llvm.loongarch.lsx.vmul.w"]
426    fn __lsx_vmul_w(a: v4i32, b: v4i32) -> v4i32;
427    #[link_name = "llvm.loongarch.lsx.vmul.d"]
428    fn __lsx_vmul_d(a: v2i64, b: v2i64) -> v2i64;
429    #[link_name = "llvm.loongarch.lsx.vmadd.b"]
430    fn __lsx_vmadd_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8;
431    #[link_name = "llvm.loongarch.lsx.vmadd.h"]
432    fn __lsx_vmadd_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16;
433    #[link_name = "llvm.loongarch.lsx.vmadd.w"]
434    fn __lsx_vmadd_w(a: v4i32, b: v4i32, c: v4i32) -> v4i32;
435    #[link_name = "llvm.loongarch.lsx.vmadd.d"]
436    fn __lsx_vmadd_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64;
437    #[link_name = "llvm.loongarch.lsx.vmsub.b"]
438    fn __lsx_vmsub_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8;
439    #[link_name = "llvm.loongarch.lsx.vmsub.h"]
440    fn __lsx_vmsub_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16;
441    #[link_name = "llvm.loongarch.lsx.vmsub.w"]
442    fn __lsx_vmsub_w(a: v4i32, b: v4i32, c: v4i32) -> v4i32;
443    #[link_name = "llvm.loongarch.lsx.vmsub.d"]
444    fn __lsx_vmsub_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64;
445    #[link_name = "llvm.loongarch.lsx.vdiv.b"]
446    fn __lsx_vdiv_b(a: v16i8, b: v16i8) -> v16i8;
447    #[link_name = "llvm.loongarch.lsx.vdiv.h"]
448    fn __lsx_vdiv_h(a: v8i16, b: v8i16) -> v8i16;
449    #[link_name = "llvm.loongarch.lsx.vdiv.w"]
450    fn __lsx_vdiv_w(a: v4i32, b: v4i32) -> v4i32;
451    #[link_name = "llvm.loongarch.lsx.vdiv.d"]
452    fn __lsx_vdiv_d(a: v2i64, b: v2i64) -> v2i64;
453    #[link_name = "llvm.loongarch.lsx.vdiv.bu"]
454    fn __lsx_vdiv_bu(a: v16u8, b: v16u8) -> v16u8;
455    #[link_name = "llvm.loongarch.lsx.vdiv.hu"]
456    fn __lsx_vdiv_hu(a: v8u16, b: v8u16) -> v8u16;
457    #[link_name = "llvm.loongarch.lsx.vdiv.wu"]
458    fn __lsx_vdiv_wu(a: v4u32, b: v4u32) -> v4u32;
459    #[link_name = "llvm.loongarch.lsx.vdiv.du"]
460    fn __lsx_vdiv_du(a: v2u64, b: v2u64) -> v2u64;
461    #[link_name = "llvm.loongarch.lsx.vhaddw.h.b"]
462    fn __lsx_vhaddw_h_b(a: v16i8, b: v16i8) -> v8i16;
463    #[link_name = "llvm.loongarch.lsx.vhaddw.w.h"]
464    fn __lsx_vhaddw_w_h(a: v8i16, b: v8i16) -> v4i32;
465    #[link_name = "llvm.loongarch.lsx.vhaddw.d.w"]
466    fn __lsx_vhaddw_d_w(a: v4i32, b: v4i32) -> v2i64;
467    #[link_name = "llvm.loongarch.lsx.vhaddw.hu.bu"]
468    fn __lsx_vhaddw_hu_bu(a: v16u8, b: v16u8) -> v8u16;
469    #[link_name = "llvm.loongarch.lsx.vhaddw.wu.hu"]
470    fn __lsx_vhaddw_wu_hu(a: v8u16, b: v8u16) -> v4u32;
471    #[link_name = "llvm.loongarch.lsx.vhaddw.du.wu"]
472    fn __lsx_vhaddw_du_wu(a: v4u32, b: v4u32) -> v2u64;
473    #[link_name = "llvm.loongarch.lsx.vhsubw.h.b"]
474    fn __lsx_vhsubw_h_b(a: v16i8, b: v16i8) -> v8i16;
475    #[link_name = "llvm.loongarch.lsx.vhsubw.w.h"]
476    fn __lsx_vhsubw_w_h(a: v8i16, b: v8i16) -> v4i32;
477    #[link_name = "llvm.loongarch.lsx.vhsubw.d.w"]
478    fn __lsx_vhsubw_d_w(a: v4i32, b: v4i32) -> v2i64;
479    #[link_name = "llvm.loongarch.lsx.vhsubw.hu.bu"]
480    fn __lsx_vhsubw_hu_bu(a: v16u8, b: v16u8) -> v8i16;
481    #[link_name = "llvm.loongarch.lsx.vhsubw.wu.hu"]
482    fn __lsx_vhsubw_wu_hu(a: v8u16, b: v8u16) -> v4i32;
483    #[link_name = "llvm.loongarch.lsx.vhsubw.du.wu"]
484    fn __lsx_vhsubw_du_wu(a: v4u32, b: v4u32) -> v2i64;
485    #[link_name = "llvm.loongarch.lsx.vmod.b"]
486    fn __lsx_vmod_b(a: v16i8, b: v16i8) -> v16i8;
487    #[link_name = "llvm.loongarch.lsx.vmod.h"]
488    fn __lsx_vmod_h(a: v8i16, b: v8i16) -> v8i16;
489    #[link_name = "llvm.loongarch.lsx.vmod.w"]
490    fn __lsx_vmod_w(a: v4i32, b: v4i32) -> v4i32;
491    #[link_name = "llvm.loongarch.lsx.vmod.d"]
492    fn __lsx_vmod_d(a: v2i64, b: v2i64) -> v2i64;
493    #[link_name = "llvm.loongarch.lsx.vmod.bu"]
494    fn __lsx_vmod_bu(a: v16u8, b: v16u8) -> v16u8;
495    #[link_name = "llvm.loongarch.lsx.vmod.hu"]
496    fn __lsx_vmod_hu(a: v8u16, b: v8u16) -> v8u16;
497    #[link_name = "llvm.loongarch.lsx.vmod.wu"]
498    fn __lsx_vmod_wu(a: v4u32, b: v4u32) -> v4u32;
499    #[link_name = "llvm.loongarch.lsx.vmod.du"]
500    fn __lsx_vmod_du(a: v2u64, b: v2u64) -> v2u64;
501    #[link_name = "llvm.loongarch.lsx.vreplve.b"]
502    fn __lsx_vreplve_b(a: v16i8, b: i32) -> v16i8;
503    #[link_name = "llvm.loongarch.lsx.vreplve.h"]
504    fn __lsx_vreplve_h(a: v8i16, b: i32) -> v8i16;
505    #[link_name = "llvm.loongarch.lsx.vreplve.w"]
506    fn __lsx_vreplve_w(a: v4i32, b: i32) -> v4i32;
507    #[link_name = "llvm.loongarch.lsx.vreplve.d"]
508    fn __lsx_vreplve_d(a: v2i64, b: i32) -> v2i64;
509    #[link_name = "llvm.loongarch.lsx.vreplvei.b"]
510    fn __lsx_vreplvei_b(a: v16i8, b: u32) -> v16i8;
511    #[link_name = "llvm.loongarch.lsx.vreplvei.h"]
512    fn __lsx_vreplvei_h(a: v8i16, b: u32) -> v8i16;
513    #[link_name = "llvm.loongarch.lsx.vreplvei.w"]
514    fn __lsx_vreplvei_w(a: v4i32, b: u32) -> v4i32;
515    #[link_name = "llvm.loongarch.lsx.vreplvei.d"]
516    fn __lsx_vreplvei_d(a: v2i64, b: u32) -> v2i64;
517    #[link_name = "llvm.loongarch.lsx.vpickev.b"]
518    fn __lsx_vpickev_b(a: v16i8, b: v16i8) -> v16i8;
519    #[link_name = "llvm.loongarch.lsx.vpickev.h"]
520    fn __lsx_vpickev_h(a: v8i16, b: v8i16) -> v8i16;
521    #[link_name = "llvm.loongarch.lsx.vpickev.w"]
522    fn __lsx_vpickev_w(a: v4i32, b: v4i32) -> v4i32;
523    #[link_name = "llvm.loongarch.lsx.vpickev.d"]
524    fn __lsx_vpickev_d(a: v2i64, b: v2i64) -> v2i64;
525    #[link_name = "llvm.loongarch.lsx.vpickod.b"]
526    fn __lsx_vpickod_b(a: v16i8, b: v16i8) -> v16i8;
527    #[link_name = "llvm.loongarch.lsx.vpickod.h"]
528    fn __lsx_vpickod_h(a: v8i16, b: v8i16) -> v8i16;
529    #[link_name = "llvm.loongarch.lsx.vpickod.w"]
530    fn __lsx_vpickod_w(a: v4i32, b: v4i32) -> v4i32;
531    #[link_name = "llvm.loongarch.lsx.vpickod.d"]
532    fn __lsx_vpickod_d(a: v2i64, b: v2i64) -> v2i64;
533    #[link_name = "llvm.loongarch.lsx.vilvh.b"]
534    fn __lsx_vilvh_b(a: v16i8, b: v16i8) -> v16i8;
535    #[link_name = "llvm.loongarch.lsx.vilvh.h"]
536    fn __lsx_vilvh_h(a: v8i16, b: v8i16) -> v8i16;
537    #[link_name = "llvm.loongarch.lsx.vilvh.w"]
538    fn __lsx_vilvh_w(a: v4i32, b: v4i32) -> v4i32;
539    #[link_name = "llvm.loongarch.lsx.vilvh.d"]
540    fn __lsx_vilvh_d(a: v2i64, b: v2i64) -> v2i64;
541    #[link_name = "llvm.loongarch.lsx.vilvl.b"]
542    fn __lsx_vilvl_b(a: v16i8, b: v16i8) -> v16i8;
543    #[link_name = "llvm.loongarch.lsx.vilvl.h"]
544    fn __lsx_vilvl_h(a: v8i16, b: v8i16) -> v8i16;
545    #[link_name = "llvm.loongarch.lsx.vilvl.w"]
546    fn __lsx_vilvl_w(a: v4i32, b: v4i32) -> v4i32;
547    #[link_name = "llvm.loongarch.lsx.vilvl.d"]
548    fn __lsx_vilvl_d(a: v2i64, b: v2i64) -> v2i64;
549    #[link_name = "llvm.loongarch.lsx.vpackev.b"]
550    fn __lsx_vpackev_b(a: v16i8, b: v16i8) -> v16i8;
551    #[link_name = "llvm.loongarch.lsx.vpackev.h"]
552    fn __lsx_vpackev_h(a: v8i16, b: v8i16) -> v8i16;
553    #[link_name = "llvm.loongarch.lsx.vpackev.w"]
554    fn __lsx_vpackev_w(a: v4i32, b: v4i32) -> v4i32;
555    #[link_name = "llvm.loongarch.lsx.vpackev.d"]
556    fn __lsx_vpackev_d(a: v2i64, b: v2i64) -> v2i64;
557    #[link_name = "llvm.loongarch.lsx.vpackod.b"]
558    fn __lsx_vpackod_b(a: v16i8, b: v16i8) -> v16i8;
559    #[link_name = "llvm.loongarch.lsx.vpackod.h"]
560    fn __lsx_vpackod_h(a: v8i16, b: v8i16) -> v8i16;
561    #[link_name = "llvm.loongarch.lsx.vpackod.w"]
562    fn __lsx_vpackod_w(a: v4i32, b: v4i32) -> v4i32;
563    #[link_name = "llvm.loongarch.lsx.vpackod.d"]
564    fn __lsx_vpackod_d(a: v2i64, b: v2i64) -> v2i64;
565    #[link_name = "llvm.loongarch.lsx.vshuf.h"]
566    fn __lsx_vshuf_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16;
567    #[link_name = "llvm.loongarch.lsx.vshuf.w"]
568    fn __lsx_vshuf_w(a: v4i32, b: v4i32, c: v4i32) -> v4i32;
569    #[link_name = "llvm.loongarch.lsx.vshuf.d"]
570    fn __lsx_vshuf_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64;
571    #[link_name = "llvm.loongarch.lsx.vand.v"]
572    fn __lsx_vand_v(a: v16u8, b: v16u8) -> v16u8;
573    #[link_name = "llvm.loongarch.lsx.vandi.b"]
574    fn __lsx_vandi_b(a: v16u8, b: u32) -> v16u8;
575    #[link_name = "llvm.loongarch.lsx.vor.v"]
576    fn __lsx_vor_v(a: v16u8, b: v16u8) -> v16u8;
577    #[link_name = "llvm.loongarch.lsx.vori.b"]
578    fn __lsx_vori_b(a: v16u8, b: u32) -> v16u8;
579    #[link_name = "llvm.loongarch.lsx.vnor.v"]
580    fn __lsx_vnor_v(a: v16u8, b: v16u8) -> v16u8;
581    #[link_name = "llvm.loongarch.lsx.vnori.b"]
582    fn __lsx_vnori_b(a: v16u8, b: u32) -> v16u8;
583    #[link_name = "llvm.loongarch.lsx.vxor.v"]
584    fn __lsx_vxor_v(a: v16u8, b: v16u8) -> v16u8;
585    #[link_name = "llvm.loongarch.lsx.vxori.b"]
586    fn __lsx_vxori_b(a: v16u8, b: u32) -> v16u8;
587    #[link_name = "llvm.loongarch.lsx.vbitsel.v"]
588    fn __lsx_vbitsel_v(a: v16u8, b: v16u8, c: v16u8) -> v16u8;
589    #[link_name = "llvm.loongarch.lsx.vbitseli.b"]
590    fn __lsx_vbitseli_b(a: v16u8, b: v16u8, c: u32) -> v16u8;
591    #[link_name = "llvm.loongarch.lsx.vshuf4i.b"]
592    fn __lsx_vshuf4i_b(a: v16i8, b: u32) -> v16i8;
593    #[link_name = "llvm.loongarch.lsx.vshuf4i.h"]
594    fn __lsx_vshuf4i_h(a: v8i16, b: u32) -> v8i16;
595    #[link_name = "llvm.loongarch.lsx.vshuf4i.w"]
596    fn __lsx_vshuf4i_w(a: v4i32, b: u32) -> v4i32;
597    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.b"]
598    fn __lsx_vreplgr2vr_b(a: i32) -> v16i8;
599    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.h"]
600    fn __lsx_vreplgr2vr_h(a: i32) -> v8i16;
601    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.w"]
602    fn __lsx_vreplgr2vr_w(a: i32) -> v4i32;
603    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.d"]
604    fn __lsx_vreplgr2vr_d(a: i64) -> v2i64;
605    #[link_name = "llvm.loongarch.lsx.vpcnt.b"]
606    fn __lsx_vpcnt_b(a: v16i8) -> v16i8;
607    #[link_name = "llvm.loongarch.lsx.vpcnt.h"]
608    fn __lsx_vpcnt_h(a: v8i16) -> v8i16;
609    #[link_name = "llvm.loongarch.lsx.vpcnt.w"]
610    fn __lsx_vpcnt_w(a: v4i32) -> v4i32;
611    #[link_name = "llvm.loongarch.lsx.vpcnt.d"]
612    fn __lsx_vpcnt_d(a: v2i64) -> v2i64;
613    #[link_name = "llvm.loongarch.lsx.vclo.b"]
614    fn __lsx_vclo_b(a: v16i8) -> v16i8;
615    #[link_name = "llvm.loongarch.lsx.vclo.h"]
616    fn __lsx_vclo_h(a: v8i16) -> v8i16;
617    #[link_name = "llvm.loongarch.lsx.vclo.w"]
618    fn __lsx_vclo_w(a: v4i32) -> v4i32;
619    #[link_name = "llvm.loongarch.lsx.vclo.d"]
620    fn __lsx_vclo_d(a: v2i64) -> v2i64;
621    #[link_name = "llvm.loongarch.lsx.vclz.b"]
622    fn __lsx_vclz_b(a: v16i8) -> v16i8;
623    #[link_name = "llvm.loongarch.lsx.vclz.h"]
624    fn __lsx_vclz_h(a: v8i16) -> v8i16;
625    #[link_name = "llvm.loongarch.lsx.vclz.w"]
626    fn __lsx_vclz_w(a: v4i32) -> v4i32;
627    #[link_name = "llvm.loongarch.lsx.vclz.d"]
628    fn __lsx_vclz_d(a: v2i64) -> v2i64;
629    #[link_name = "llvm.loongarch.lsx.vpickve2gr.b"]
630    fn __lsx_vpickve2gr_b(a: v16i8, b: u32) -> i32;
631    #[link_name = "llvm.loongarch.lsx.vpickve2gr.h"]
632    fn __lsx_vpickve2gr_h(a: v8i16, b: u32) -> i32;
633    #[link_name = "llvm.loongarch.lsx.vpickve2gr.w"]
634    fn __lsx_vpickve2gr_w(a: v4i32, b: u32) -> i32;
635    #[link_name = "llvm.loongarch.lsx.vpickve2gr.d"]
636    fn __lsx_vpickve2gr_d(a: v2i64, b: u32) -> i64;
637    #[link_name = "llvm.loongarch.lsx.vpickve2gr.bu"]
638    fn __lsx_vpickve2gr_bu(a: v16i8, b: u32) -> u32;
639    #[link_name = "llvm.loongarch.lsx.vpickve2gr.hu"]
640    fn __lsx_vpickve2gr_hu(a: v8i16, b: u32) -> u32;
641    #[link_name = "llvm.loongarch.lsx.vpickve2gr.wu"]
642    fn __lsx_vpickve2gr_wu(a: v4i32, b: u32) -> u32;
643    #[link_name = "llvm.loongarch.lsx.vpickve2gr.du"]
644    fn __lsx_vpickve2gr_du(a: v2i64, b: u32) -> u64;
645    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.b"]
646    fn __lsx_vinsgr2vr_b(a: v16i8, b: i32, c: u32) -> v16i8;
647    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.h"]
648    fn __lsx_vinsgr2vr_h(a: v8i16, b: i32, c: u32) -> v8i16;
649    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.w"]
650    fn __lsx_vinsgr2vr_w(a: v4i32, b: i32, c: u32) -> v4i32;
651    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.d"]
652    fn __lsx_vinsgr2vr_d(a: v2i64, b: i64, c: u32) -> v2i64;
653    #[link_name = "llvm.loongarch.lsx.vfadd.s"]
654    fn __lsx_vfadd_s(a: v4f32, b: v4f32) -> v4f32;
655    #[link_name = "llvm.loongarch.lsx.vfadd.d"]
656    fn __lsx_vfadd_d(a: v2f64, b: v2f64) -> v2f64;
657    #[link_name = "llvm.loongarch.lsx.vfsub.s"]
658    fn __lsx_vfsub_s(a: v4f32, b: v4f32) -> v4f32;
659    #[link_name = "llvm.loongarch.lsx.vfsub.d"]
660    fn __lsx_vfsub_d(a: v2f64, b: v2f64) -> v2f64;
661    #[link_name = "llvm.loongarch.lsx.vfmul.s"]
662    fn __lsx_vfmul_s(a: v4f32, b: v4f32) -> v4f32;
663    #[link_name = "llvm.loongarch.lsx.vfmul.d"]
664    fn __lsx_vfmul_d(a: v2f64, b: v2f64) -> v2f64;
665    #[link_name = "llvm.loongarch.lsx.vfdiv.s"]
666    fn __lsx_vfdiv_s(a: v4f32, b: v4f32) -> v4f32;
667    #[link_name = "llvm.loongarch.lsx.vfdiv.d"]
668    fn __lsx_vfdiv_d(a: v2f64, b: v2f64) -> v2f64;
669    #[link_name = "llvm.loongarch.lsx.vfcvt.h.s"]
670    fn __lsx_vfcvt_h_s(a: v4f32, b: v4f32) -> v8i16;
671    #[link_name = "llvm.loongarch.lsx.vfcvt.s.d"]
672    fn __lsx_vfcvt_s_d(a: v2f64, b: v2f64) -> v4f32;
673    #[link_name = "llvm.loongarch.lsx.vfmin.s"]
674    fn __lsx_vfmin_s(a: v4f32, b: v4f32) -> v4f32;
675    #[link_name = "llvm.loongarch.lsx.vfmin.d"]
676    fn __lsx_vfmin_d(a: v2f64, b: v2f64) -> v2f64;
677    #[link_name = "llvm.loongarch.lsx.vfmina.s"]
678    fn __lsx_vfmina_s(a: v4f32, b: v4f32) -> v4f32;
679    #[link_name = "llvm.loongarch.lsx.vfmina.d"]
680    fn __lsx_vfmina_d(a: v2f64, b: v2f64) -> v2f64;
681    #[link_name = "llvm.loongarch.lsx.vfmax.s"]
682    fn __lsx_vfmax_s(a: v4f32, b: v4f32) -> v4f32;
683    #[link_name = "llvm.loongarch.lsx.vfmax.d"]
684    fn __lsx_vfmax_d(a: v2f64, b: v2f64) -> v2f64;
685    #[link_name = "llvm.loongarch.lsx.vfmaxa.s"]
686    fn __lsx_vfmaxa_s(a: v4f32, b: v4f32) -> v4f32;
687    #[link_name = "llvm.loongarch.lsx.vfmaxa.d"]
688    fn __lsx_vfmaxa_d(a: v2f64, b: v2f64) -> v2f64;
689    #[link_name = "llvm.loongarch.lsx.vfclass.s"]
690    fn __lsx_vfclass_s(a: v4f32) -> v4i32;
691    #[link_name = "llvm.loongarch.lsx.vfclass.d"]
692    fn __lsx_vfclass_d(a: v2f64) -> v2i64;
693    #[link_name = "llvm.loongarch.lsx.vfsqrt.s"]
694    fn __lsx_vfsqrt_s(a: v4f32) -> v4f32;
695    #[link_name = "llvm.loongarch.lsx.vfsqrt.d"]
696    fn __lsx_vfsqrt_d(a: v2f64) -> v2f64;
697    #[link_name = "llvm.loongarch.lsx.vfrecip.s"]
698    fn __lsx_vfrecip_s(a: v4f32) -> v4f32;
699    #[link_name = "llvm.loongarch.lsx.vfrecip.d"]
700    fn __lsx_vfrecip_d(a: v2f64) -> v2f64;
701    #[link_name = "llvm.loongarch.lsx.vfrecipe.s"]
702    fn __lsx_vfrecipe_s(a: v4f32) -> v4f32;
703    #[link_name = "llvm.loongarch.lsx.vfrecipe.d"]
704    fn __lsx_vfrecipe_d(a: v2f64) -> v2f64;
705    #[link_name = "llvm.loongarch.lsx.vfrsqrte.s"]
706    fn __lsx_vfrsqrte_s(a: v4f32) -> v4f32;
707    #[link_name = "llvm.loongarch.lsx.vfrsqrte.d"]
708    fn __lsx_vfrsqrte_d(a: v2f64) -> v2f64;
709    #[link_name = "llvm.loongarch.lsx.vfrint.s"]
710    fn __lsx_vfrint_s(a: v4f32) -> v4f32;
711    #[link_name = "llvm.loongarch.lsx.vfrint.d"]
712    fn __lsx_vfrint_d(a: v2f64) -> v2f64;
713    #[link_name = "llvm.loongarch.lsx.vfrsqrt.s"]
714    fn __lsx_vfrsqrt_s(a: v4f32) -> v4f32;
715    #[link_name = "llvm.loongarch.lsx.vfrsqrt.d"]
716    fn __lsx_vfrsqrt_d(a: v2f64) -> v2f64;
717    #[link_name = "llvm.loongarch.lsx.vflogb.s"]
718    fn __lsx_vflogb_s(a: v4f32) -> v4f32;
719    #[link_name = "llvm.loongarch.lsx.vflogb.d"]
720    fn __lsx_vflogb_d(a: v2f64) -> v2f64;
721    #[link_name = "llvm.loongarch.lsx.vfcvth.s.h"]
722    fn __lsx_vfcvth_s_h(a: v8i16) -> v4f32;
723    #[link_name = "llvm.loongarch.lsx.vfcvth.d.s"]
724    fn __lsx_vfcvth_d_s(a: v4f32) -> v2f64;
725    #[link_name = "llvm.loongarch.lsx.vfcvtl.s.h"]
726    fn __lsx_vfcvtl_s_h(a: v8i16) -> v4f32;
727    #[link_name = "llvm.loongarch.lsx.vfcvtl.d.s"]
728    fn __lsx_vfcvtl_d_s(a: v4f32) -> v2f64;
729    #[link_name = "llvm.loongarch.lsx.vftint.w.s"]
730    fn __lsx_vftint_w_s(a: v4f32) -> v4i32;
731    #[link_name = "llvm.loongarch.lsx.vftint.l.d"]
732    fn __lsx_vftint_l_d(a: v2f64) -> v2i64;
733    #[link_name = "llvm.loongarch.lsx.vftint.wu.s"]
734    fn __lsx_vftint_wu_s(a: v4f32) -> v4u32;
735    #[link_name = "llvm.loongarch.lsx.vftint.lu.d"]
736    fn __lsx_vftint_lu_d(a: v2f64) -> v2u64;
737    #[link_name = "llvm.loongarch.lsx.vftintrz.w.s"]
738    fn __lsx_vftintrz_w_s(a: v4f32) -> v4i32;
739    #[link_name = "llvm.loongarch.lsx.vftintrz.l.d"]
740    fn __lsx_vftintrz_l_d(a: v2f64) -> v2i64;
741    #[link_name = "llvm.loongarch.lsx.vftintrz.wu.s"]
742    fn __lsx_vftintrz_wu_s(a: v4f32) -> v4u32;
743    #[link_name = "llvm.loongarch.lsx.vftintrz.lu.d"]
744    fn __lsx_vftintrz_lu_d(a: v2f64) -> v2u64;
745    #[link_name = "llvm.loongarch.lsx.vffint.s.w"]
746    fn __lsx_vffint_s_w(a: v4i32) -> v4f32;
747    #[link_name = "llvm.loongarch.lsx.vffint.d.l"]
748    fn __lsx_vffint_d_l(a: v2i64) -> v2f64;
749    #[link_name = "llvm.loongarch.lsx.vffint.s.wu"]
750    fn __lsx_vffint_s_wu(a: v4u32) -> v4f32;
751    #[link_name = "llvm.loongarch.lsx.vffint.d.lu"]
752    fn __lsx_vffint_d_lu(a: v2u64) -> v2f64;
753    #[link_name = "llvm.loongarch.lsx.vandn.v"]
754    fn __lsx_vandn_v(a: v16u8, b: v16u8) -> v16u8;
755    #[link_name = "llvm.loongarch.lsx.vneg.b"]
756    fn __lsx_vneg_b(a: v16i8) -> v16i8;
757    #[link_name = "llvm.loongarch.lsx.vneg.h"]
758    fn __lsx_vneg_h(a: v8i16) -> v8i16;
759    #[link_name = "llvm.loongarch.lsx.vneg.w"]
760    fn __lsx_vneg_w(a: v4i32) -> v4i32;
761    #[link_name = "llvm.loongarch.lsx.vneg.d"]
762    fn __lsx_vneg_d(a: v2i64) -> v2i64;
763    #[link_name = "llvm.loongarch.lsx.vmuh.b"]
764    fn __lsx_vmuh_b(a: v16i8, b: v16i8) -> v16i8;
765    #[link_name = "llvm.loongarch.lsx.vmuh.h"]
766    fn __lsx_vmuh_h(a: v8i16, b: v8i16) -> v8i16;
767    #[link_name = "llvm.loongarch.lsx.vmuh.w"]
768    fn __lsx_vmuh_w(a: v4i32, b: v4i32) -> v4i32;
769    #[link_name = "llvm.loongarch.lsx.vmuh.d"]
770    fn __lsx_vmuh_d(a: v2i64, b: v2i64) -> v2i64;
771    #[link_name = "llvm.loongarch.lsx.vmuh.bu"]
772    fn __lsx_vmuh_bu(a: v16u8, b: v16u8) -> v16u8;
773    #[link_name = "llvm.loongarch.lsx.vmuh.hu"]
774    fn __lsx_vmuh_hu(a: v8u16, b: v8u16) -> v8u16;
775    #[link_name = "llvm.loongarch.lsx.vmuh.wu"]
776    fn __lsx_vmuh_wu(a: v4u32, b: v4u32) -> v4u32;
777    #[link_name = "llvm.loongarch.lsx.vmuh.du"]
778    fn __lsx_vmuh_du(a: v2u64, b: v2u64) -> v2u64;
779    #[link_name = "llvm.loongarch.lsx.vsllwil.h.b"]
780    fn __lsx_vsllwil_h_b(a: v16i8, b: u32) -> v8i16;
781    #[link_name = "llvm.loongarch.lsx.vsllwil.w.h"]
782    fn __lsx_vsllwil_w_h(a: v8i16, b: u32) -> v4i32;
783    #[link_name = "llvm.loongarch.lsx.vsllwil.d.w"]
784    fn __lsx_vsllwil_d_w(a: v4i32, b: u32) -> v2i64;
785    #[link_name = "llvm.loongarch.lsx.vsllwil.hu.bu"]
786    fn __lsx_vsllwil_hu_bu(a: v16u8, b: u32) -> v8u16;
787    #[link_name = "llvm.loongarch.lsx.vsllwil.wu.hu"]
788    fn __lsx_vsllwil_wu_hu(a: v8u16, b: u32) -> v4u32;
789    #[link_name = "llvm.loongarch.lsx.vsllwil.du.wu"]
790    fn __lsx_vsllwil_du_wu(a: v4u32, b: u32) -> v2u64;
791    #[link_name = "llvm.loongarch.lsx.vsran.b.h"]
792    fn __lsx_vsran_b_h(a: v8i16, b: v8i16) -> v16i8;
793    #[link_name = "llvm.loongarch.lsx.vsran.h.w"]
794    fn __lsx_vsran_h_w(a: v4i32, b: v4i32) -> v8i16;
795    #[link_name = "llvm.loongarch.lsx.vsran.w.d"]
796    fn __lsx_vsran_w_d(a: v2i64, b: v2i64) -> v4i32;
797    #[link_name = "llvm.loongarch.lsx.vssran.b.h"]
798    fn __lsx_vssran_b_h(a: v8i16, b: v8i16) -> v16i8;
799    #[link_name = "llvm.loongarch.lsx.vssran.h.w"]
800    fn __lsx_vssran_h_w(a: v4i32, b: v4i32) -> v8i16;
801    #[link_name = "llvm.loongarch.lsx.vssran.w.d"]
802    fn __lsx_vssran_w_d(a: v2i64, b: v2i64) -> v4i32;
803    #[link_name = "llvm.loongarch.lsx.vssran.bu.h"]
804    fn __lsx_vssran_bu_h(a: v8u16, b: v8u16) -> v16u8;
805    #[link_name = "llvm.loongarch.lsx.vssran.hu.w"]
806    fn __lsx_vssran_hu_w(a: v4u32, b: v4u32) -> v8u16;
807    #[link_name = "llvm.loongarch.lsx.vssran.wu.d"]
808    fn __lsx_vssran_wu_d(a: v2u64, b: v2u64) -> v4u32;
809    #[link_name = "llvm.loongarch.lsx.vsrarn.b.h"]
810    fn __lsx_vsrarn_b_h(a: v8i16, b: v8i16) -> v16i8;
811    #[link_name = "llvm.loongarch.lsx.vsrarn.h.w"]
812    fn __lsx_vsrarn_h_w(a: v4i32, b: v4i32) -> v8i16;
813    #[link_name = "llvm.loongarch.lsx.vsrarn.w.d"]
814    fn __lsx_vsrarn_w_d(a: v2i64, b: v2i64) -> v4i32;
815    #[link_name = "llvm.loongarch.lsx.vssrarn.b.h"]
816    fn __lsx_vssrarn_b_h(a: v8i16, b: v8i16) -> v16i8;
817    #[link_name = "llvm.loongarch.lsx.vssrarn.h.w"]
818    fn __lsx_vssrarn_h_w(a: v4i32, b: v4i32) -> v8i16;
819    #[link_name = "llvm.loongarch.lsx.vssrarn.w.d"]
820    fn __lsx_vssrarn_w_d(a: v2i64, b: v2i64) -> v4i32;
821    #[link_name = "llvm.loongarch.lsx.vssrarn.bu.h"]
822    fn __lsx_vssrarn_bu_h(a: v8u16, b: v8u16) -> v16u8;
823    #[link_name = "llvm.loongarch.lsx.vssrarn.hu.w"]
824    fn __lsx_vssrarn_hu_w(a: v4u32, b: v4u32) -> v8u16;
825    #[link_name = "llvm.loongarch.lsx.vssrarn.wu.d"]
826    fn __lsx_vssrarn_wu_d(a: v2u64, b: v2u64) -> v4u32;
827    #[link_name = "llvm.loongarch.lsx.vsrln.b.h"]
828    fn __lsx_vsrln_b_h(a: v8i16, b: v8i16) -> v16i8;
829    #[link_name = "llvm.loongarch.lsx.vsrln.h.w"]
830    fn __lsx_vsrln_h_w(a: v4i32, b: v4i32) -> v8i16;
831    #[link_name = "llvm.loongarch.lsx.vsrln.w.d"]
832    fn __lsx_vsrln_w_d(a: v2i64, b: v2i64) -> v4i32;
833    #[link_name = "llvm.loongarch.lsx.vssrln.bu.h"]
834    fn __lsx_vssrln_bu_h(a: v8u16, b: v8u16) -> v16u8;
835    #[link_name = "llvm.loongarch.lsx.vssrln.hu.w"]
836    fn __lsx_vssrln_hu_w(a: v4u32, b: v4u32) -> v8u16;
837    #[link_name = "llvm.loongarch.lsx.vssrln.wu.d"]
838    fn __lsx_vssrln_wu_d(a: v2u64, b: v2u64) -> v4u32;
839    #[link_name = "llvm.loongarch.lsx.vsrlrn.b.h"]
840    fn __lsx_vsrlrn_b_h(a: v8i16, b: v8i16) -> v16i8;
841    #[link_name = "llvm.loongarch.lsx.vsrlrn.h.w"]
842    fn __lsx_vsrlrn_h_w(a: v4i32, b: v4i32) -> v8i16;
843    #[link_name = "llvm.loongarch.lsx.vsrlrn.w.d"]
844    fn __lsx_vsrlrn_w_d(a: v2i64, b: v2i64) -> v4i32;
845    #[link_name = "llvm.loongarch.lsx.vssrlrn.bu.h"]
846    fn __lsx_vssrlrn_bu_h(a: v8u16, b: v8u16) -> v16u8;
847    #[link_name = "llvm.loongarch.lsx.vssrlrn.hu.w"]
848    fn __lsx_vssrlrn_hu_w(a: v4u32, b: v4u32) -> v8u16;
849    #[link_name = "llvm.loongarch.lsx.vssrlrn.wu.d"]
850    fn __lsx_vssrlrn_wu_d(a: v2u64, b: v2u64) -> v4u32;
851    #[link_name = "llvm.loongarch.lsx.vfrstpi.b"]
852    fn __lsx_vfrstpi_b(a: v16i8, b: v16i8, c: u32) -> v16i8;
853    #[link_name = "llvm.loongarch.lsx.vfrstpi.h"]
854    fn __lsx_vfrstpi_h(a: v8i16, b: v8i16, c: u32) -> v8i16;
855    #[link_name = "llvm.loongarch.lsx.vfrstp.b"]
856    fn __lsx_vfrstp_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8;
857    #[link_name = "llvm.loongarch.lsx.vfrstp.h"]
858    fn __lsx_vfrstp_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16;
859    #[link_name = "llvm.loongarch.lsx.vshuf4i.d"]
860    fn __lsx_vshuf4i_d(a: v2i64, b: v2i64, c: u32) -> v2i64;
861    #[link_name = "llvm.loongarch.lsx.vbsrl.v"]
862    fn __lsx_vbsrl_v(a: v16i8, b: u32) -> v16i8;
863    #[link_name = "llvm.loongarch.lsx.vbsll.v"]
864    fn __lsx_vbsll_v(a: v16i8, b: u32) -> v16i8;
865    #[link_name = "llvm.loongarch.lsx.vextrins.b"]
866    fn __lsx_vextrins_b(a: v16i8, b: v16i8, c: u32) -> v16i8;
867    #[link_name = "llvm.loongarch.lsx.vextrins.h"]
868    fn __lsx_vextrins_h(a: v8i16, b: v8i16, c: u32) -> v8i16;
869    #[link_name = "llvm.loongarch.lsx.vextrins.w"]
870    fn __lsx_vextrins_w(a: v4i32, b: v4i32, c: u32) -> v4i32;
871    #[link_name = "llvm.loongarch.lsx.vextrins.d"]
872    fn __lsx_vextrins_d(a: v2i64, b: v2i64, c: u32) -> v2i64;
873    #[link_name = "llvm.loongarch.lsx.vmskltz.b"]
874    fn __lsx_vmskltz_b(a: v16i8) -> v16i8;
875    #[link_name = "llvm.loongarch.lsx.vmskltz.h"]
876    fn __lsx_vmskltz_h(a: v8i16) -> v8i16;
877    #[link_name = "llvm.loongarch.lsx.vmskltz.w"]
878    fn __lsx_vmskltz_w(a: v4i32) -> v4i32;
879    #[link_name = "llvm.loongarch.lsx.vmskltz.d"]
880    fn __lsx_vmskltz_d(a: v2i64) -> v2i64;
881    #[link_name = "llvm.loongarch.lsx.vsigncov.b"]
882    fn __lsx_vsigncov_b(a: v16i8, b: v16i8) -> v16i8;
883    #[link_name = "llvm.loongarch.lsx.vsigncov.h"]
884    fn __lsx_vsigncov_h(a: v8i16, b: v8i16) -> v8i16;
885    #[link_name = "llvm.loongarch.lsx.vsigncov.w"]
886    fn __lsx_vsigncov_w(a: v4i32, b: v4i32) -> v4i32;
887    #[link_name = "llvm.loongarch.lsx.vsigncov.d"]
888    fn __lsx_vsigncov_d(a: v2i64, b: v2i64) -> v2i64;
889    #[link_name = "llvm.loongarch.lsx.vfmadd.s"]
890    fn __lsx_vfmadd_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32;
891    #[link_name = "llvm.loongarch.lsx.vfmadd.d"]
892    fn __lsx_vfmadd_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64;
893    #[link_name = "llvm.loongarch.lsx.vfmsub.s"]
894    fn __lsx_vfmsub_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32;
895    #[link_name = "llvm.loongarch.lsx.vfmsub.d"]
896    fn __lsx_vfmsub_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64;
897    #[link_name = "llvm.loongarch.lsx.vfnmadd.s"]
898    fn __lsx_vfnmadd_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32;
899    #[link_name = "llvm.loongarch.lsx.vfnmadd.d"]
900    fn __lsx_vfnmadd_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64;
901    #[link_name = "llvm.loongarch.lsx.vfnmsub.s"]
902    fn __lsx_vfnmsub_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32;
903    #[link_name = "llvm.loongarch.lsx.vfnmsub.d"]
904    fn __lsx_vfnmsub_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64;
905    #[link_name = "llvm.loongarch.lsx.vftintrne.w.s"]
906    fn __lsx_vftintrne_w_s(a: v4f32) -> v4i32;
907    #[link_name = "llvm.loongarch.lsx.vftintrne.l.d"]
908    fn __lsx_vftintrne_l_d(a: v2f64) -> v2i64;
909    #[link_name = "llvm.loongarch.lsx.vftintrp.w.s"]
910    fn __lsx_vftintrp_w_s(a: v4f32) -> v4i32;
911    #[link_name = "llvm.loongarch.lsx.vftintrp.l.d"]
912    fn __lsx_vftintrp_l_d(a: v2f64) -> v2i64;
913    #[link_name = "llvm.loongarch.lsx.vftintrm.w.s"]
914    fn __lsx_vftintrm_w_s(a: v4f32) -> v4i32;
915    #[link_name = "llvm.loongarch.lsx.vftintrm.l.d"]
916    fn __lsx_vftintrm_l_d(a: v2f64) -> v2i64;
917    #[link_name = "llvm.loongarch.lsx.vftint.w.d"]
918    fn __lsx_vftint_w_d(a: v2f64, b: v2f64) -> v4i32;
919    #[link_name = "llvm.loongarch.lsx.vffint.s.l"]
920    fn __lsx_vffint_s_l(a: v2i64, b: v2i64) -> v4f32;
921    #[link_name = "llvm.loongarch.lsx.vftintrz.w.d"]
922    fn __lsx_vftintrz_w_d(a: v2f64, b: v2f64) -> v4i32;
923    #[link_name = "llvm.loongarch.lsx.vftintrp.w.d"]
924    fn __lsx_vftintrp_w_d(a: v2f64, b: v2f64) -> v4i32;
925    #[link_name = "llvm.loongarch.lsx.vftintrm.w.d"]
926    fn __lsx_vftintrm_w_d(a: v2f64, b: v2f64) -> v4i32;
927    #[link_name = "llvm.loongarch.lsx.vftintrne.w.d"]
928    fn __lsx_vftintrne_w_d(a: v2f64, b: v2f64) -> v4i32;
929    #[link_name = "llvm.loongarch.lsx.vftintl.l.s"]
930    fn __lsx_vftintl_l_s(a: v4f32) -> v2i64;
931    #[link_name = "llvm.loongarch.lsx.vftinth.l.s"]
932    fn __lsx_vftinth_l_s(a: v4f32) -> v2i64;
933    #[link_name = "llvm.loongarch.lsx.vffinth.d.w"]
934    fn __lsx_vffinth_d_w(a: v4i32) -> v2f64;
935    #[link_name = "llvm.loongarch.lsx.vffintl.d.w"]
936    fn __lsx_vffintl_d_w(a: v4i32) -> v2f64;
937    #[link_name = "llvm.loongarch.lsx.vftintrzl.l.s"]
938    fn __lsx_vftintrzl_l_s(a: v4f32) -> v2i64;
939    #[link_name = "llvm.loongarch.lsx.vftintrzh.l.s"]
940    fn __lsx_vftintrzh_l_s(a: v4f32) -> v2i64;
941    #[link_name = "llvm.loongarch.lsx.vftintrpl.l.s"]
942    fn __lsx_vftintrpl_l_s(a: v4f32) -> v2i64;
943    #[link_name = "llvm.loongarch.lsx.vftintrph.l.s"]
944    fn __lsx_vftintrph_l_s(a: v4f32) -> v2i64;
945    #[link_name = "llvm.loongarch.lsx.vftintrml.l.s"]
946    fn __lsx_vftintrml_l_s(a: v4f32) -> v2i64;
947    #[link_name = "llvm.loongarch.lsx.vftintrmh.l.s"]
948    fn __lsx_vftintrmh_l_s(a: v4f32) -> v2i64;
949    #[link_name = "llvm.loongarch.lsx.vftintrnel.l.s"]
950    fn __lsx_vftintrnel_l_s(a: v4f32) -> v2i64;
951    #[link_name = "llvm.loongarch.lsx.vftintrneh.l.s"]
952    fn __lsx_vftintrneh_l_s(a: v4f32) -> v2i64;
953    #[link_name = "llvm.loongarch.lsx.vfrintrne.s"]
954    fn __lsx_vfrintrne_s(a: v4f32) -> v4f32;
955    #[link_name = "llvm.loongarch.lsx.vfrintrne.d"]
956    fn __lsx_vfrintrne_d(a: v2f64) -> v2f64;
957    #[link_name = "llvm.loongarch.lsx.vfrintrz.s"]
958    fn __lsx_vfrintrz_s(a: v4f32) -> v4f32;
959    #[link_name = "llvm.loongarch.lsx.vfrintrz.d"]
960    fn __lsx_vfrintrz_d(a: v2f64) -> v2f64;
961    #[link_name = "llvm.loongarch.lsx.vfrintrp.s"]
962    fn __lsx_vfrintrp_s(a: v4f32) -> v4f32;
963    #[link_name = "llvm.loongarch.lsx.vfrintrp.d"]
964    fn __lsx_vfrintrp_d(a: v2f64) -> v2f64;
965    #[link_name = "llvm.loongarch.lsx.vfrintrm.s"]
966    fn __lsx_vfrintrm_s(a: v4f32) -> v4f32;
967    #[link_name = "llvm.loongarch.lsx.vfrintrm.d"]
968    fn __lsx_vfrintrm_d(a: v2f64) -> v2f64;
969    #[link_name = "llvm.loongarch.lsx.vstelm.b"]
970    fn __lsx_vstelm_b(a: v16i8, b: *mut i8, c: i32, d: u32);
971    #[link_name = "llvm.loongarch.lsx.vstelm.h"]
972    fn __lsx_vstelm_h(a: v8i16, b: *mut i8, c: i32, d: u32);
973    #[link_name = "llvm.loongarch.lsx.vstelm.w"]
974    fn __lsx_vstelm_w(a: v4i32, b: *mut i8, c: i32, d: u32);
975    #[link_name = "llvm.loongarch.lsx.vstelm.d"]
976    fn __lsx_vstelm_d(a: v2i64, b: *mut i8, c: i32, d: u32);
977    #[link_name = "llvm.loongarch.lsx.vaddwev.d.w"]
978    fn __lsx_vaddwev_d_w(a: v4i32, b: v4i32) -> v2i64;
979    #[link_name = "llvm.loongarch.lsx.vaddwev.w.h"]
980    fn __lsx_vaddwev_w_h(a: v8i16, b: v8i16) -> v4i32;
981    #[link_name = "llvm.loongarch.lsx.vaddwev.h.b"]
982    fn __lsx_vaddwev_h_b(a: v16i8, b: v16i8) -> v8i16;
983    #[link_name = "llvm.loongarch.lsx.vaddwod.d.w"]
984    fn __lsx_vaddwod_d_w(a: v4i32, b: v4i32) -> v2i64;
985    #[link_name = "llvm.loongarch.lsx.vaddwod.w.h"]
986    fn __lsx_vaddwod_w_h(a: v8i16, b: v8i16) -> v4i32;
987    #[link_name = "llvm.loongarch.lsx.vaddwod.h.b"]
988    fn __lsx_vaddwod_h_b(a: v16i8, b: v16i8) -> v8i16;
989    #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu"]
990    fn __lsx_vaddwev_d_wu(a: v4u32, b: v4u32) -> v2i64;
991    #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu"]
992    fn __lsx_vaddwev_w_hu(a: v8u16, b: v8u16) -> v4i32;
993    #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu"]
994    fn __lsx_vaddwev_h_bu(a: v16u8, b: v16u8) -> v8i16;
995    #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu"]
996    fn __lsx_vaddwod_d_wu(a: v4u32, b: v4u32) -> v2i64;
997    #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu"]
998    fn __lsx_vaddwod_w_hu(a: v8u16, b: v8u16) -> v4i32;
999    #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu"]
1000    fn __lsx_vaddwod_h_bu(a: v16u8, b: v16u8) -> v8i16;
1001    #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu.w"]
1002    fn __lsx_vaddwev_d_wu_w(a: v4u32, b: v4i32) -> v2i64;
1003    #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu.h"]
1004    fn __lsx_vaddwev_w_hu_h(a: v8u16, b: v8i16) -> v4i32;
1005    #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu.b"]
1006    fn __lsx_vaddwev_h_bu_b(a: v16u8, b: v16i8) -> v8i16;
1007    #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu.w"]
1008    fn __lsx_vaddwod_d_wu_w(a: v4u32, b: v4i32) -> v2i64;
1009    #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu.h"]
1010    fn __lsx_vaddwod_w_hu_h(a: v8u16, b: v8i16) -> v4i32;
1011    #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu.b"]
1012    fn __lsx_vaddwod_h_bu_b(a: v16u8, b: v16i8) -> v8i16;
1013    #[link_name = "llvm.loongarch.lsx.vsubwev.d.w"]
1014    fn __lsx_vsubwev_d_w(a: v4i32, b: v4i32) -> v2i64;
1015    #[link_name = "llvm.loongarch.lsx.vsubwev.w.h"]
1016    fn __lsx_vsubwev_w_h(a: v8i16, b: v8i16) -> v4i32;
1017    #[link_name = "llvm.loongarch.lsx.vsubwev.h.b"]
1018    fn __lsx_vsubwev_h_b(a: v16i8, b: v16i8) -> v8i16;
1019    #[link_name = "llvm.loongarch.lsx.vsubwod.d.w"]
1020    fn __lsx_vsubwod_d_w(a: v4i32, b: v4i32) -> v2i64;
1021    #[link_name = "llvm.loongarch.lsx.vsubwod.w.h"]
1022    fn __lsx_vsubwod_w_h(a: v8i16, b: v8i16) -> v4i32;
1023    #[link_name = "llvm.loongarch.lsx.vsubwod.h.b"]
1024    fn __lsx_vsubwod_h_b(a: v16i8, b: v16i8) -> v8i16;
1025    #[link_name = "llvm.loongarch.lsx.vsubwev.d.wu"]
1026    fn __lsx_vsubwev_d_wu(a: v4u32, b: v4u32) -> v2i64;
1027    #[link_name = "llvm.loongarch.lsx.vsubwev.w.hu"]
1028    fn __lsx_vsubwev_w_hu(a: v8u16, b: v8u16) -> v4i32;
1029    #[link_name = "llvm.loongarch.lsx.vsubwev.h.bu"]
1030    fn __lsx_vsubwev_h_bu(a: v16u8, b: v16u8) -> v8i16;
1031    #[link_name = "llvm.loongarch.lsx.vsubwod.d.wu"]
1032    fn __lsx_vsubwod_d_wu(a: v4u32, b: v4u32) -> v2i64;
1033    #[link_name = "llvm.loongarch.lsx.vsubwod.w.hu"]
1034    fn __lsx_vsubwod_w_hu(a: v8u16, b: v8u16) -> v4i32;
1035    #[link_name = "llvm.loongarch.lsx.vsubwod.h.bu"]
1036    fn __lsx_vsubwod_h_bu(a: v16u8, b: v16u8) -> v8i16;
1037    #[link_name = "llvm.loongarch.lsx.vaddwev.q.d"]
1038    fn __lsx_vaddwev_q_d(a: v2i64, b: v2i64) -> v2i64;
1039    #[link_name = "llvm.loongarch.lsx.vaddwod.q.d"]
1040    fn __lsx_vaddwod_q_d(a: v2i64, b: v2i64) -> v2i64;
1041    #[link_name = "llvm.loongarch.lsx.vaddwev.q.du"]
1042    fn __lsx_vaddwev_q_du(a: v2u64, b: v2u64) -> v2i64;
1043    #[link_name = "llvm.loongarch.lsx.vaddwod.q.du"]
1044    fn __lsx_vaddwod_q_du(a: v2u64, b: v2u64) -> v2i64;
1045    #[link_name = "llvm.loongarch.lsx.vsubwev.q.d"]
1046    fn __lsx_vsubwev_q_d(a: v2i64, b: v2i64) -> v2i64;
1047    #[link_name = "llvm.loongarch.lsx.vsubwod.q.d"]
1048    fn __lsx_vsubwod_q_d(a: v2i64, b: v2i64) -> v2i64;
1049    #[link_name = "llvm.loongarch.lsx.vsubwev.q.du"]
1050    fn __lsx_vsubwev_q_du(a: v2u64, b: v2u64) -> v2i64;
1051    #[link_name = "llvm.loongarch.lsx.vsubwod.q.du"]
1052    fn __lsx_vsubwod_q_du(a: v2u64, b: v2u64) -> v2i64;
1053    #[link_name = "llvm.loongarch.lsx.vaddwev.q.du.d"]
1054    fn __lsx_vaddwev_q_du_d(a: v2u64, b: v2i64) -> v2i64;
1055    #[link_name = "llvm.loongarch.lsx.vaddwod.q.du.d"]
1056    fn __lsx_vaddwod_q_du_d(a: v2u64, b: v2i64) -> v2i64;
1057    #[link_name = "llvm.loongarch.lsx.vmulwev.d.w"]
1058    fn __lsx_vmulwev_d_w(a: v4i32, b: v4i32) -> v2i64;
1059    #[link_name = "llvm.loongarch.lsx.vmulwev.w.h"]
1060    fn __lsx_vmulwev_w_h(a: v8i16, b: v8i16) -> v4i32;
1061    #[link_name = "llvm.loongarch.lsx.vmulwev.h.b"]
1062    fn __lsx_vmulwev_h_b(a: v16i8, b: v16i8) -> v8i16;
1063    #[link_name = "llvm.loongarch.lsx.vmulwod.d.w"]
1064    fn __lsx_vmulwod_d_w(a: v4i32, b: v4i32) -> v2i64;
1065    #[link_name = "llvm.loongarch.lsx.vmulwod.w.h"]
1066    fn __lsx_vmulwod_w_h(a: v8i16, b: v8i16) -> v4i32;
1067    #[link_name = "llvm.loongarch.lsx.vmulwod.h.b"]
1068    fn __lsx_vmulwod_h_b(a: v16i8, b: v16i8) -> v8i16;
1069    #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu"]
1070    fn __lsx_vmulwev_d_wu(a: v4u32, b: v4u32) -> v2i64;
1071    #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu"]
1072    fn __lsx_vmulwev_w_hu(a: v8u16, b: v8u16) -> v4i32;
1073    #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu"]
1074    fn __lsx_vmulwev_h_bu(a: v16u8, b: v16u8) -> v8i16;
1075    #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu"]
1076    fn __lsx_vmulwod_d_wu(a: v4u32, b: v4u32) -> v2i64;
1077    #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu"]
1078    fn __lsx_vmulwod_w_hu(a: v8u16, b: v8u16) -> v4i32;
1079    #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu"]
1080    fn __lsx_vmulwod_h_bu(a: v16u8, b: v16u8) -> v8i16;
1081    #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu.w"]
1082    fn __lsx_vmulwev_d_wu_w(a: v4u32, b: v4i32) -> v2i64;
1083    #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu.h"]
1084    fn __lsx_vmulwev_w_hu_h(a: v8u16, b: v8i16) -> v4i32;
1085    #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu.b"]
1086    fn __lsx_vmulwev_h_bu_b(a: v16u8, b: v16i8) -> v8i16;
1087    #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu.w"]
1088    fn __lsx_vmulwod_d_wu_w(a: v4u32, b: v4i32) -> v2i64;
1089    #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu.h"]
1090    fn __lsx_vmulwod_w_hu_h(a: v8u16, b: v8i16) -> v4i32;
1091    #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu.b"]
1092    fn __lsx_vmulwod_h_bu_b(a: v16u8, b: v16i8) -> v8i16;
1093    #[link_name = "llvm.loongarch.lsx.vmulwev.q.d"]
1094    fn __lsx_vmulwev_q_d(a: v2i64, b: v2i64) -> v2i64;
1095    #[link_name = "llvm.loongarch.lsx.vmulwod.q.d"]
1096    fn __lsx_vmulwod_q_d(a: v2i64, b: v2i64) -> v2i64;
1097    #[link_name = "llvm.loongarch.lsx.vmulwev.q.du"]
1098    fn __lsx_vmulwev_q_du(a: v2u64, b: v2u64) -> v2i64;
1099    #[link_name = "llvm.loongarch.lsx.vmulwod.q.du"]
1100    fn __lsx_vmulwod_q_du(a: v2u64, b: v2u64) -> v2i64;
1101    #[link_name = "llvm.loongarch.lsx.vmulwev.q.du.d"]
1102    fn __lsx_vmulwev_q_du_d(a: v2u64, b: v2i64) -> v2i64;
1103    #[link_name = "llvm.loongarch.lsx.vmulwod.q.du.d"]
1104    fn __lsx_vmulwod_q_du_d(a: v2u64, b: v2i64) -> v2i64;
1105    #[link_name = "llvm.loongarch.lsx.vhaddw.q.d"]
1106    fn __lsx_vhaddw_q_d(a: v2i64, b: v2i64) -> v2i64;
1107    #[link_name = "llvm.loongarch.lsx.vhaddw.qu.du"]
1108    fn __lsx_vhaddw_qu_du(a: v2u64, b: v2u64) -> v2u64;
1109    #[link_name = "llvm.loongarch.lsx.vhsubw.q.d"]
1110    fn __lsx_vhsubw_q_d(a: v2i64, b: v2i64) -> v2i64;
1111    #[link_name = "llvm.loongarch.lsx.vhsubw.qu.du"]
1112    fn __lsx_vhsubw_qu_du(a: v2u64, b: v2u64) -> v2u64;
1113    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.w"]
1114    fn __lsx_vmaddwev_d_w(a: v2i64, b: v4i32, c: v4i32) -> v2i64;
1115    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.h"]
1116    fn __lsx_vmaddwev_w_h(a: v4i32, b: v8i16, c: v8i16) -> v4i32;
1117    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.b"]
1118    fn __lsx_vmaddwev_h_b(a: v8i16, b: v16i8, c: v16i8) -> v8i16;
1119    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu"]
1120    fn __lsx_vmaddwev_d_wu(a: v2u64, b: v4u32, c: v4u32) -> v2u64;
1121    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu"]
1122    fn __lsx_vmaddwev_w_hu(a: v4u32, b: v8u16, c: v8u16) -> v4u32;
1123    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu"]
1124    fn __lsx_vmaddwev_h_bu(a: v8u16, b: v16u8, c: v16u8) -> v8u16;
1125    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.w"]
1126    fn __lsx_vmaddwod_d_w(a: v2i64, b: v4i32, c: v4i32) -> v2i64;
1127    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.h"]
1128    fn __lsx_vmaddwod_w_h(a: v4i32, b: v8i16, c: v8i16) -> v4i32;
1129    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.b"]
1130    fn __lsx_vmaddwod_h_b(a: v8i16, b: v16i8, c: v16i8) -> v8i16;
1131    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu"]
1132    fn __lsx_vmaddwod_d_wu(a: v2u64, b: v4u32, c: v4u32) -> v2u64;
1133    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu"]
1134    fn __lsx_vmaddwod_w_hu(a: v4u32, b: v8u16, c: v8u16) -> v4u32;
1135    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu"]
1136    fn __lsx_vmaddwod_h_bu(a: v8u16, b: v16u8, c: v16u8) -> v8u16;
1137    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu.w"]
1138    fn __lsx_vmaddwev_d_wu_w(a: v2i64, b: v4u32, c: v4i32) -> v2i64;
1139    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu.h"]
1140    fn __lsx_vmaddwev_w_hu_h(a: v4i32, b: v8u16, c: v8i16) -> v4i32;
1141    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu.b"]
1142    fn __lsx_vmaddwev_h_bu_b(a: v8i16, b: v16u8, c: v16i8) -> v8i16;
1143    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu.w"]
1144    fn __lsx_vmaddwod_d_wu_w(a: v2i64, b: v4u32, c: v4i32) -> v2i64;
1145    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu.h"]
1146    fn __lsx_vmaddwod_w_hu_h(a: v4i32, b: v8u16, c: v8i16) -> v4i32;
1147    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu.b"]
1148    fn __lsx_vmaddwod_h_bu_b(a: v8i16, b: v16u8, c: v16i8) -> v8i16;
1149    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.d"]
1150    fn __lsx_vmaddwev_q_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64;
1151    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.d"]
1152    fn __lsx_vmaddwod_q_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64;
1153    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du"]
1154    fn __lsx_vmaddwev_q_du(a: v2u64, b: v2u64, c: v2u64) -> v2u64;
1155    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du"]
1156    fn __lsx_vmaddwod_q_du(a: v2u64, b: v2u64, c: v2u64) -> v2u64;
1157    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du.d"]
1158    fn __lsx_vmaddwev_q_du_d(a: v2i64, b: v2u64, c: v2i64) -> v2i64;
1159    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du.d"]
1160    fn __lsx_vmaddwod_q_du_d(a: v2i64, b: v2u64, c: v2i64) -> v2i64;
1161    #[link_name = "llvm.loongarch.lsx.vrotr.b"]
1162    fn __lsx_vrotr_b(a: v16i8, b: v16i8) -> v16i8;
1163    #[link_name = "llvm.loongarch.lsx.vrotr.h"]
1164    fn __lsx_vrotr_h(a: v8i16, b: v8i16) -> v8i16;
1165    #[link_name = "llvm.loongarch.lsx.vrotr.w"]
1166    fn __lsx_vrotr_w(a: v4i32, b: v4i32) -> v4i32;
1167    #[link_name = "llvm.loongarch.lsx.vrotr.d"]
1168    fn __lsx_vrotr_d(a: v2i64, b: v2i64) -> v2i64;
1169    #[link_name = "llvm.loongarch.lsx.vadd.q"]
1170    fn __lsx_vadd_q(a: v2i64, b: v2i64) -> v2i64;
1171    #[link_name = "llvm.loongarch.lsx.vsub.q"]
1172    fn __lsx_vsub_q(a: v2i64, b: v2i64) -> v2i64;
1173    #[link_name = "llvm.loongarch.lsx.vldrepl.b"]
1174    fn __lsx_vldrepl_b(a: *const i8, b: i32) -> v16i8;
1175    #[link_name = "llvm.loongarch.lsx.vldrepl.h"]
1176    fn __lsx_vldrepl_h(a: *const i8, b: i32) -> v8i16;
1177    #[link_name = "llvm.loongarch.lsx.vldrepl.w"]
1178    fn __lsx_vldrepl_w(a: *const i8, b: i32) -> v4i32;
1179    #[link_name = "llvm.loongarch.lsx.vldrepl.d"]
1180    fn __lsx_vldrepl_d(a: *const i8, b: i32) -> v2i64;
1181    #[link_name = "llvm.loongarch.lsx.vmskgez.b"]
1182    fn __lsx_vmskgez_b(a: v16i8) -> v16i8;
1183    #[link_name = "llvm.loongarch.lsx.vmsknz.b"]
1184    fn __lsx_vmsknz_b(a: v16i8) -> v16i8;
1185    #[link_name = "llvm.loongarch.lsx.vexth.h.b"]
1186    fn __lsx_vexth_h_b(a: v16i8) -> v8i16;
1187    #[link_name = "llvm.loongarch.lsx.vexth.w.h"]
1188    fn __lsx_vexth_w_h(a: v8i16) -> v4i32;
1189    #[link_name = "llvm.loongarch.lsx.vexth.d.w"]
1190    fn __lsx_vexth_d_w(a: v4i32) -> v2i64;
1191    #[link_name = "llvm.loongarch.lsx.vexth.q.d"]
1192    fn __lsx_vexth_q_d(a: v2i64) -> v2i64;
1193    #[link_name = "llvm.loongarch.lsx.vexth.hu.bu"]
1194    fn __lsx_vexth_hu_bu(a: v16u8) -> v8u16;
1195    #[link_name = "llvm.loongarch.lsx.vexth.wu.hu"]
1196    fn __lsx_vexth_wu_hu(a: v8u16) -> v4u32;
1197    #[link_name = "llvm.loongarch.lsx.vexth.du.wu"]
1198    fn __lsx_vexth_du_wu(a: v4u32) -> v2u64;
1199    #[link_name = "llvm.loongarch.lsx.vexth.qu.du"]
1200    fn __lsx_vexth_qu_du(a: v2u64) -> v2u64;
1201    #[link_name = "llvm.loongarch.lsx.vrotri.b"]
1202    fn __lsx_vrotri_b(a: v16i8, b: u32) -> v16i8;
1203    #[link_name = "llvm.loongarch.lsx.vrotri.h"]
1204    fn __lsx_vrotri_h(a: v8i16, b: u32) -> v8i16;
1205    #[link_name = "llvm.loongarch.lsx.vrotri.w"]
1206    fn __lsx_vrotri_w(a: v4i32, b: u32) -> v4i32;
1207    #[link_name = "llvm.loongarch.lsx.vrotri.d"]
1208    fn __lsx_vrotri_d(a: v2i64, b: u32) -> v2i64;
1209    #[link_name = "llvm.loongarch.lsx.vextl.q.d"]
1210    fn __lsx_vextl_q_d(a: v2i64) -> v2i64;
1211    #[link_name = "llvm.loongarch.lsx.vsrlni.b.h"]
1212    fn __lsx_vsrlni_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1213    #[link_name = "llvm.loongarch.lsx.vsrlni.h.w"]
1214    fn __lsx_vsrlni_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1215    #[link_name = "llvm.loongarch.lsx.vsrlni.w.d"]
1216    fn __lsx_vsrlni_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1217    #[link_name = "llvm.loongarch.lsx.vsrlni.d.q"]
1218    fn __lsx_vsrlni_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1219    #[link_name = "llvm.loongarch.lsx.vsrlrni.b.h"]
1220    fn __lsx_vsrlrni_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1221    #[link_name = "llvm.loongarch.lsx.vsrlrni.h.w"]
1222    fn __lsx_vsrlrni_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1223    #[link_name = "llvm.loongarch.lsx.vsrlrni.w.d"]
1224    fn __lsx_vsrlrni_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1225    #[link_name = "llvm.loongarch.lsx.vsrlrni.d.q"]
1226    fn __lsx_vsrlrni_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1227    #[link_name = "llvm.loongarch.lsx.vssrlni.b.h"]
1228    fn __lsx_vssrlni_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1229    #[link_name = "llvm.loongarch.lsx.vssrlni.h.w"]
1230    fn __lsx_vssrlni_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1231    #[link_name = "llvm.loongarch.lsx.vssrlni.w.d"]
1232    fn __lsx_vssrlni_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1233    #[link_name = "llvm.loongarch.lsx.vssrlni.d.q"]
1234    fn __lsx_vssrlni_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1235    #[link_name = "llvm.loongarch.lsx.vssrlni.bu.h"]
1236    fn __lsx_vssrlni_bu_h(a: v16u8, b: v16i8, c: u32) -> v16u8;
1237    #[link_name = "llvm.loongarch.lsx.vssrlni.hu.w"]
1238    fn __lsx_vssrlni_hu_w(a: v8u16, b: v8i16, c: u32) -> v8u16;
1239    #[link_name = "llvm.loongarch.lsx.vssrlni.wu.d"]
1240    fn __lsx_vssrlni_wu_d(a: v4u32, b: v4i32, c: u32) -> v4u32;
1241    #[link_name = "llvm.loongarch.lsx.vssrlni.du.q"]
1242    fn __lsx_vssrlni_du_q(a: v2u64, b: v2i64, c: u32) -> v2u64;
1243    #[link_name = "llvm.loongarch.lsx.vssrlrni.b.h"]
1244    fn __lsx_vssrlrni_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1245    #[link_name = "llvm.loongarch.lsx.vssrlrni.h.w"]
1246    fn __lsx_vssrlrni_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1247    #[link_name = "llvm.loongarch.lsx.vssrlrni.w.d"]
1248    fn __lsx_vssrlrni_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1249    #[link_name = "llvm.loongarch.lsx.vssrlrni.d.q"]
1250    fn __lsx_vssrlrni_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1251    #[link_name = "llvm.loongarch.lsx.vssrlrni.bu.h"]
1252    fn __lsx_vssrlrni_bu_h(a: v16u8, b: v16i8, c: u32) -> v16u8;
1253    #[link_name = "llvm.loongarch.lsx.vssrlrni.hu.w"]
1254    fn __lsx_vssrlrni_hu_w(a: v8u16, b: v8i16, c: u32) -> v8u16;
1255    #[link_name = "llvm.loongarch.lsx.vssrlrni.wu.d"]
1256    fn __lsx_vssrlrni_wu_d(a: v4u32, b: v4i32, c: u32) -> v4u32;
1257    #[link_name = "llvm.loongarch.lsx.vssrlrni.du.q"]
1258    fn __lsx_vssrlrni_du_q(a: v2u64, b: v2i64, c: u32) -> v2u64;
1259    #[link_name = "llvm.loongarch.lsx.vsrani.b.h"]
1260    fn __lsx_vsrani_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1261    #[link_name = "llvm.loongarch.lsx.vsrani.h.w"]
1262    fn __lsx_vsrani_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1263    #[link_name = "llvm.loongarch.lsx.vsrani.w.d"]
1264    fn __lsx_vsrani_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1265    #[link_name = "llvm.loongarch.lsx.vsrani.d.q"]
1266    fn __lsx_vsrani_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1267    #[link_name = "llvm.loongarch.lsx.vsrarni.b.h"]
1268    fn __lsx_vsrarni_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1269    #[link_name = "llvm.loongarch.lsx.vsrarni.h.w"]
1270    fn __lsx_vsrarni_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1271    #[link_name = "llvm.loongarch.lsx.vsrarni.w.d"]
1272    fn __lsx_vsrarni_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1273    #[link_name = "llvm.loongarch.lsx.vsrarni.d.q"]
1274    fn __lsx_vsrarni_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1275    #[link_name = "llvm.loongarch.lsx.vssrani.b.h"]
1276    fn __lsx_vssrani_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1277    #[link_name = "llvm.loongarch.lsx.vssrani.h.w"]
1278    fn __lsx_vssrani_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1279    #[link_name = "llvm.loongarch.lsx.vssrani.w.d"]
1280    fn __lsx_vssrani_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1281    #[link_name = "llvm.loongarch.lsx.vssrani.d.q"]
1282    fn __lsx_vssrani_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1283    #[link_name = "llvm.loongarch.lsx.vssrani.bu.h"]
1284    fn __lsx_vssrani_bu_h(a: v16u8, b: v16i8, c: u32) -> v16u8;
1285    #[link_name = "llvm.loongarch.lsx.vssrani.hu.w"]
1286    fn __lsx_vssrani_hu_w(a: v8u16, b: v8i16, c: u32) -> v8u16;
1287    #[link_name = "llvm.loongarch.lsx.vssrani.wu.d"]
1288    fn __lsx_vssrani_wu_d(a: v4u32, b: v4i32, c: u32) -> v4u32;
1289    #[link_name = "llvm.loongarch.lsx.vssrani.du.q"]
1290    fn __lsx_vssrani_du_q(a: v2u64, b: v2i64, c: u32) -> v2u64;
1291    #[link_name = "llvm.loongarch.lsx.vssrarni.b.h"]
1292    fn __lsx_vssrarni_b_h(a: v16i8, b: v16i8, c: u32) -> v16i8;
1293    #[link_name = "llvm.loongarch.lsx.vssrarni.h.w"]
1294    fn __lsx_vssrarni_h_w(a: v8i16, b: v8i16, c: u32) -> v8i16;
1295    #[link_name = "llvm.loongarch.lsx.vssrarni.w.d"]
1296    fn __lsx_vssrarni_w_d(a: v4i32, b: v4i32, c: u32) -> v4i32;
1297    #[link_name = "llvm.loongarch.lsx.vssrarni.d.q"]
1298    fn __lsx_vssrarni_d_q(a: v2i64, b: v2i64, c: u32) -> v2i64;
1299    #[link_name = "llvm.loongarch.lsx.vssrarni.bu.h"]
1300    fn __lsx_vssrarni_bu_h(a: v16u8, b: v16i8, c: u32) -> v16u8;
1301    #[link_name = "llvm.loongarch.lsx.vssrarni.hu.w"]
1302    fn __lsx_vssrarni_hu_w(a: v8u16, b: v8i16, c: u32) -> v8u16;
1303    #[link_name = "llvm.loongarch.lsx.vssrarni.wu.d"]
1304    fn __lsx_vssrarni_wu_d(a: v4u32, b: v4i32, c: u32) -> v4u32;
1305    #[link_name = "llvm.loongarch.lsx.vssrarni.du.q"]
1306    fn __lsx_vssrarni_du_q(a: v2u64, b: v2i64, c: u32) -> v2u64;
1307    #[link_name = "llvm.loongarch.lsx.vpermi.w"]
1308    fn __lsx_vpermi_w(a: v4i32, b: v4i32, c: u32) -> v4i32;
1309    #[link_name = "llvm.loongarch.lsx.vld"]
1310    fn __lsx_vld(a: *const i8, b: i32) -> v16i8;
1311    #[link_name = "llvm.loongarch.lsx.vst"]
1312    fn __lsx_vst(a: v16i8, b: *mut i8, c: i32);
1313    #[link_name = "llvm.loongarch.lsx.vssrlrn.b.h"]
1314    fn __lsx_vssrlrn_b_h(a: v8i16, b: v8i16) -> v16i8;
1315    #[link_name = "llvm.loongarch.lsx.vssrlrn.h.w"]
1316    fn __lsx_vssrlrn_h_w(a: v4i32, b: v4i32) -> v8i16;
1317    #[link_name = "llvm.loongarch.lsx.vssrlrn.w.d"]
1318    fn __lsx_vssrlrn_w_d(a: v2i64, b: v2i64) -> v4i32;
1319    #[link_name = "llvm.loongarch.lsx.vssrln.b.h"]
1320    fn __lsx_vssrln_b_h(a: v8i16, b: v8i16) -> v16i8;
1321    #[link_name = "llvm.loongarch.lsx.vssrln.h.w"]
1322    fn __lsx_vssrln_h_w(a: v4i32, b: v4i32) -> v8i16;
1323    #[link_name = "llvm.loongarch.lsx.vssrln.w.d"]
1324    fn __lsx_vssrln_w_d(a: v2i64, b: v2i64) -> v4i32;
1325    #[link_name = "llvm.loongarch.lsx.vorn.v"]
1326    fn __lsx_vorn_v(a: v16i8, b: v16i8) -> v16i8;
1327    #[link_name = "llvm.loongarch.lsx.vldi"]
1328    fn __lsx_vldi(a: i32) -> v2i64;
1329    #[link_name = "llvm.loongarch.lsx.vshuf.b"]
1330    fn __lsx_vshuf_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8;
1331    #[link_name = "llvm.loongarch.lsx.vldx"]
1332    fn __lsx_vldx(a: *const i8, b: i64) -> v16i8;
1333    #[link_name = "llvm.loongarch.lsx.vstx"]
1334    fn __lsx_vstx(a: v16i8, b: *mut i8, c: i64);
1335    #[link_name = "llvm.loongarch.lsx.vextl.qu.du"]
1336    fn __lsx_vextl_qu_du(a: v2u64) -> v2u64;
1337    #[link_name = "llvm.loongarch.lsx.bnz.b"]
1338    fn __lsx_bnz_b(a: v16u8) -> i32;
1339    #[link_name = "llvm.loongarch.lsx.bnz.d"]
1340    fn __lsx_bnz_d(a: v2u64) -> i32;
1341    #[link_name = "llvm.loongarch.lsx.bnz.h"]
1342    fn __lsx_bnz_h(a: v8u16) -> i32;
1343    #[link_name = "llvm.loongarch.lsx.bnz.v"]
1344    fn __lsx_bnz_v(a: v16u8) -> i32;
1345    #[link_name = "llvm.loongarch.lsx.bnz.w"]
1346    fn __lsx_bnz_w(a: v4u32) -> i32;
1347    #[link_name = "llvm.loongarch.lsx.bz.b"]
1348    fn __lsx_bz_b(a: v16u8) -> i32;
1349    #[link_name = "llvm.loongarch.lsx.bz.d"]
1350    fn __lsx_bz_d(a: v2u64) -> i32;
1351    #[link_name = "llvm.loongarch.lsx.bz.h"]
1352    fn __lsx_bz_h(a: v8u16) -> i32;
1353    #[link_name = "llvm.loongarch.lsx.bz.v"]
1354    fn __lsx_bz_v(a: v16u8) -> i32;
1355    #[link_name = "llvm.loongarch.lsx.bz.w"]
1356    fn __lsx_bz_w(a: v4u32) -> i32;
1357    #[link_name = "llvm.loongarch.lsx.vfcmp.caf.d"]
1358    fn __lsx_vfcmp_caf_d(a: v2f64, b: v2f64) -> v2i64;
1359    #[link_name = "llvm.loongarch.lsx.vfcmp.caf.s"]
1360    fn __lsx_vfcmp_caf_s(a: v4f32, b: v4f32) -> v4i32;
1361    #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.d"]
1362    fn __lsx_vfcmp_ceq_d(a: v2f64, b: v2f64) -> v2i64;
1363    #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.s"]
1364    fn __lsx_vfcmp_ceq_s(a: v4f32, b: v4f32) -> v4i32;
1365    #[link_name = "llvm.loongarch.lsx.vfcmp.cle.d"]
1366    fn __lsx_vfcmp_cle_d(a: v2f64, b: v2f64) -> v2i64;
1367    #[link_name = "llvm.loongarch.lsx.vfcmp.cle.s"]
1368    fn __lsx_vfcmp_cle_s(a: v4f32, b: v4f32) -> v4i32;
1369    #[link_name = "llvm.loongarch.lsx.vfcmp.clt.d"]
1370    fn __lsx_vfcmp_clt_d(a: v2f64, b: v2f64) -> v2i64;
1371    #[link_name = "llvm.loongarch.lsx.vfcmp.clt.s"]
1372    fn __lsx_vfcmp_clt_s(a: v4f32, b: v4f32) -> v4i32;
1373    #[link_name = "llvm.loongarch.lsx.vfcmp.cne.d"]
1374    fn __lsx_vfcmp_cne_d(a: v2f64, b: v2f64) -> v2i64;
1375    #[link_name = "llvm.loongarch.lsx.vfcmp.cne.s"]
1376    fn __lsx_vfcmp_cne_s(a: v4f32, b: v4f32) -> v4i32;
1377    #[link_name = "llvm.loongarch.lsx.vfcmp.cor.d"]
1378    fn __lsx_vfcmp_cor_d(a: v2f64, b: v2f64) -> v2i64;
1379    #[link_name = "llvm.loongarch.lsx.vfcmp.cor.s"]
1380    fn __lsx_vfcmp_cor_s(a: v4f32, b: v4f32) -> v4i32;
1381    #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.d"]
1382    fn __lsx_vfcmp_cueq_d(a: v2f64, b: v2f64) -> v2i64;
1383    #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.s"]
1384    fn __lsx_vfcmp_cueq_s(a: v4f32, b: v4f32) -> v4i32;
1385    #[link_name = "llvm.loongarch.lsx.vfcmp.cule.d"]
1386    fn __lsx_vfcmp_cule_d(a: v2f64, b: v2f64) -> v2i64;
1387    #[link_name = "llvm.loongarch.lsx.vfcmp.cule.s"]
1388    fn __lsx_vfcmp_cule_s(a: v4f32, b: v4f32) -> v4i32;
1389    #[link_name = "llvm.loongarch.lsx.vfcmp.cult.d"]
1390    fn __lsx_vfcmp_cult_d(a: v2f64, b: v2f64) -> v2i64;
1391    #[link_name = "llvm.loongarch.lsx.vfcmp.cult.s"]
1392    fn __lsx_vfcmp_cult_s(a: v4f32, b: v4f32) -> v4i32;
1393    #[link_name = "llvm.loongarch.lsx.vfcmp.cun.d"]
1394    fn __lsx_vfcmp_cun_d(a: v2f64, b: v2f64) -> v2i64;
1395    #[link_name = "llvm.loongarch.lsx.vfcmp.cune.d"]
1396    fn __lsx_vfcmp_cune_d(a: v2f64, b: v2f64) -> v2i64;
1397    #[link_name = "llvm.loongarch.lsx.vfcmp.cune.s"]
1398    fn __lsx_vfcmp_cune_s(a: v4f32, b: v4f32) -> v4i32;
1399    #[link_name = "llvm.loongarch.lsx.vfcmp.cun.s"]
1400    fn __lsx_vfcmp_cun_s(a: v4f32, b: v4f32) -> v4i32;
1401    #[link_name = "llvm.loongarch.lsx.vfcmp.saf.d"]
1402    fn __lsx_vfcmp_saf_d(a: v2f64, b: v2f64) -> v2i64;
1403    #[link_name = "llvm.loongarch.lsx.vfcmp.saf.s"]
1404    fn __lsx_vfcmp_saf_s(a: v4f32, b: v4f32) -> v4i32;
1405    #[link_name = "llvm.loongarch.lsx.vfcmp.seq.d"]
1406    fn __lsx_vfcmp_seq_d(a: v2f64, b: v2f64) -> v2i64;
1407    #[link_name = "llvm.loongarch.lsx.vfcmp.seq.s"]
1408    fn __lsx_vfcmp_seq_s(a: v4f32, b: v4f32) -> v4i32;
1409    #[link_name = "llvm.loongarch.lsx.vfcmp.sle.d"]
1410    fn __lsx_vfcmp_sle_d(a: v2f64, b: v2f64) -> v2i64;
1411    #[link_name = "llvm.loongarch.lsx.vfcmp.sle.s"]
1412    fn __lsx_vfcmp_sle_s(a: v4f32, b: v4f32) -> v4i32;
1413    #[link_name = "llvm.loongarch.lsx.vfcmp.slt.d"]
1414    fn __lsx_vfcmp_slt_d(a: v2f64, b: v2f64) -> v2i64;
1415    #[link_name = "llvm.loongarch.lsx.vfcmp.slt.s"]
1416    fn __lsx_vfcmp_slt_s(a: v4f32, b: v4f32) -> v4i32;
1417    #[link_name = "llvm.loongarch.lsx.vfcmp.sne.d"]
1418    fn __lsx_vfcmp_sne_d(a: v2f64, b: v2f64) -> v2i64;
1419    #[link_name = "llvm.loongarch.lsx.vfcmp.sne.s"]
1420    fn __lsx_vfcmp_sne_s(a: v4f32, b: v4f32) -> v4i32;
1421    #[link_name = "llvm.loongarch.lsx.vfcmp.sor.d"]
1422    fn __lsx_vfcmp_sor_d(a: v2f64, b: v2f64) -> v2i64;
1423    #[link_name = "llvm.loongarch.lsx.vfcmp.sor.s"]
1424    fn __lsx_vfcmp_sor_s(a: v4f32, b: v4f32) -> v4i32;
1425    #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.d"]
1426    fn __lsx_vfcmp_sueq_d(a: v2f64, b: v2f64) -> v2i64;
1427    #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.s"]
1428    fn __lsx_vfcmp_sueq_s(a: v4f32, b: v4f32) -> v4i32;
1429    #[link_name = "llvm.loongarch.lsx.vfcmp.sule.d"]
1430    fn __lsx_vfcmp_sule_d(a: v2f64, b: v2f64) -> v2i64;
1431    #[link_name = "llvm.loongarch.lsx.vfcmp.sule.s"]
1432    fn __lsx_vfcmp_sule_s(a: v4f32, b: v4f32) -> v4i32;
1433    #[link_name = "llvm.loongarch.lsx.vfcmp.sult.d"]
1434    fn __lsx_vfcmp_sult_d(a: v2f64, b: v2f64) -> v2i64;
1435    #[link_name = "llvm.loongarch.lsx.vfcmp.sult.s"]
1436    fn __lsx_vfcmp_sult_s(a: v4f32, b: v4f32) -> v4i32;
1437    #[link_name = "llvm.loongarch.lsx.vfcmp.sun.d"]
1438    fn __lsx_vfcmp_sun_d(a: v2f64, b: v2f64) -> v2i64;
1439    #[link_name = "llvm.loongarch.lsx.vfcmp.sune.d"]
1440    fn __lsx_vfcmp_sune_d(a: v2f64, b: v2f64) -> v2i64;
1441    #[link_name = "llvm.loongarch.lsx.vfcmp.sune.s"]
1442    fn __lsx_vfcmp_sune_s(a: v4f32, b: v4f32) -> v4i32;
1443    #[link_name = "llvm.loongarch.lsx.vfcmp.sun.s"]
1444    fn __lsx_vfcmp_sun_s(a: v4f32, b: v4f32) -> v4i32;
1445    #[link_name = "llvm.loongarch.lsx.vrepli.b"]
1446    fn __lsx_vrepli_b(a: i32) -> v16i8;
1447    #[link_name = "llvm.loongarch.lsx.vrepli.d"]
1448    fn __lsx_vrepli_d(a: i32) -> v2i64;
1449    #[link_name = "llvm.loongarch.lsx.vrepli.h"]
1450    fn __lsx_vrepli_h(a: i32) -> v8i16;
1451    #[link_name = "llvm.loongarch.lsx.vrepli.w"]
1452    fn __lsx_vrepli_w(a: i32) -> v4i32;
1453}
1454
1455#[inline]
1456#[target_feature(enable = "lsx")]
1457#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1458pub unsafe fn lsx_vsll_b(a: v16i8, b: v16i8) -> v16i8 {
1459    __lsx_vsll_b(a, b)
1460}
1461
1462#[inline]
1463#[target_feature(enable = "lsx")]
1464#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1465pub unsafe fn lsx_vsll_h(a: v8i16, b: v8i16) -> v8i16 {
1466    __lsx_vsll_h(a, b)
1467}
1468
1469#[inline]
1470#[target_feature(enable = "lsx")]
1471#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1472pub unsafe fn lsx_vsll_w(a: v4i32, b: v4i32) -> v4i32 {
1473    __lsx_vsll_w(a, b)
1474}
1475
1476#[inline]
1477#[target_feature(enable = "lsx")]
1478#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1479pub unsafe fn lsx_vsll_d(a: v2i64, b: v2i64) -> v2i64 {
1480    __lsx_vsll_d(a, b)
1481}
1482
1483#[inline]
1484#[target_feature(enable = "lsx")]
1485#[rustc_legacy_const_generics(1)]
1486#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1487pub unsafe fn lsx_vslli_b<const IMM3: u32>(a: v16i8) -> v16i8 {
1488    static_assert_uimm_bits!(IMM3, 3);
1489    __lsx_vslli_b(a, IMM3)
1490}
1491
1492#[inline]
1493#[target_feature(enable = "lsx")]
1494#[rustc_legacy_const_generics(1)]
1495#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1496pub unsafe fn lsx_vslli_h<const IMM4: u32>(a: v8i16) -> v8i16 {
1497    static_assert_uimm_bits!(IMM4, 4);
1498    __lsx_vslli_h(a, IMM4)
1499}
1500
1501#[inline]
1502#[target_feature(enable = "lsx")]
1503#[rustc_legacy_const_generics(1)]
1504#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1505pub unsafe fn lsx_vslli_w<const IMM5: u32>(a: v4i32) -> v4i32 {
1506    static_assert_uimm_bits!(IMM5, 5);
1507    __lsx_vslli_w(a, IMM5)
1508}
1509
1510#[inline]
1511#[target_feature(enable = "lsx")]
1512#[rustc_legacy_const_generics(1)]
1513#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1514pub unsafe fn lsx_vslli_d<const IMM6: u32>(a: v2i64) -> v2i64 {
1515    static_assert_uimm_bits!(IMM6, 6);
1516    __lsx_vslli_d(a, IMM6)
1517}
1518
1519#[inline]
1520#[target_feature(enable = "lsx")]
1521#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1522pub unsafe fn lsx_vsra_b(a: v16i8, b: v16i8) -> v16i8 {
1523    __lsx_vsra_b(a, b)
1524}
1525
1526#[inline]
1527#[target_feature(enable = "lsx")]
1528#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1529pub unsafe fn lsx_vsra_h(a: v8i16, b: v8i16) -> v8i16 {
1530    __lsx_vsra_h(a, b)
1531}
1532
1533#[inline]
1534#[target_feature(enable = "lsx")]
1535#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1536pub unsafe fn lsx_vsra_w(a: v4i32, b: v4i32) -> v4i32 {
1537    __lsx_vsra_w(a, b)
1538}
1539
1540#[inline]
1541#[target_feature(enable = "lsx")]
1542#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1543pub unsafe fn lsx_vsra_d(a: v2i64, b: v2i64) -> v2i64 {
1544    __lsx_vsra_d(a, b)
1545}
1546
1547#[inline]
1548#[target_feature(enable = "lsx")]
1549#[rustc_legacy_const_generics(1)]
1550#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1551pub unsafe fn lsx_vsrai_b<const IMM3: u32>(a: v16i8) -> v16i8 {
1552    static_assert_uimm_bits!(IMM3, 3);
1553    __lsx_vsrai_b(a, IMM3)
1554}
1555
1556#[inline]
1557#[target_feature(enable = "lsx")]
1558#[rustc_legacy_const_generics(1)]
1559#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1560pub unsafe fn lsx_vsrai_h<const IMM4: u32>(a: v8i16) -> v8i16 {
1561    static_assert_uimm_bits!(IMM4, 4);
1562    __lsx_vsrai_h(a, IMM4)
1563}
1564
1565#[inline]
1566#[target_feature(enable = "lsx")]
1567#[rustc_legacy_const_generics(1)]
1568#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1569pub unsafe fn lsx_vsrai_w<const IMM5: u32>(a: v4i32) -> v4i32 {
1570    static_assert_uimm_bits!(IMM5, 5);
1571    __lsx_vsrai_w(a, IMM5)
1572}
1573
1574#[inline]
1575#[target_feature(enable = "lsx")]
1576#[rustc_legacy_const_generics(1)]
1577#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1578pub unsafe fn lsx_vsrai_d<const IMM6: u32>(a: v2i64) -> v2i64 {
1579    static_assert_uimm_bits!(IMM6, 6);
1580    __lsx_vsrai_d(a, IMM6)
1581}
1582
1583#[inline]
1584#[target_feature(enable = "lsx")]
1585#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1586pub unsafe fn lsx_vsrar_b(a: v16i8, b: v16i8) -> v16i8 {
1587    __lsx_vsrar_b(a, b)
1588}
1589
1590#[inline]
1591#[target_feature(enable = "lsx")]
1592#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1593pub unsafe fn lsx_vsrar_h(a: v8i16, b: v8i16) -> v8i16 {
1594    __lsx_vsrar_h(a, b)
1595}
1596
1597#[inline]
1598#[target_feature(enable = "lsx")]
1599#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1600pub unsafe fn lsx_vsrar_w(a: v4i32, b: v4i32) -> v4i32 {
1601    __lsx_vsrar_w(a, b)
1602}
1603
1604#[inline]
1605#[target_feature(enable = "lsx")]
1606#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1607pub unsafe fn lsx_vsrar_d(a: v2i64, b: v2i64) -> v2i64 {
1608    __lsx_vsrar_d(a, b)
1609}
1610
1611#[inline]
1612#[target_feature(enable = "lsx")]
1613#[rustc_legacy_const_generics(1)]
1614#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1615pub unsafe fn lsx_vsrari_b<const IMM3: u32>(a: v16i8) -> v16i8 {
1616    static_assert_uimm_bits!(IMM3, 3);
1617    __lsx_vsrari_b(a, IMM3)
1618}
1619
1620#[inline]
1621#[target_feature(enable = "lsx")]
1622#[rustc_legacy_const_generics(1)]
1623#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1624pub unsafe fn lsx_vsrari_h<const IMM4: u32>(a: v8i16) -> v8i16 {
1625    static_assert_uimm_bits!(IMM4, 4);
1626    __lsx_vsrari_h(a, IMM4)
1627}
1628
1629#[inline]
1630#[target_feature(enable = "lsx")]
1631#[rustc_legacy_const_generics(1)]
1632#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1633pub unsafe fn lsx_vsrari_w<const IMM5: u32>(a: v4i32) -> v4i32 {
1634    static_assert_uimm_bits!(IMM5, 5);
1635    __lsx_vsrari_w(a, IMM5)
1636}
1637
1638#[inline]
1639#[target_feature(enable = "lsx")]
1640#[rustc_legacy_const_generics(1)]
1641#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1642pub unsafe fn lsx_vsrari_d<const IMM6: u32>(a: v2i64) -> v2i64 {
1643    static_assert_uimm_bits!(IMM6, 6);
1644    __lsx_vsrari_d(a, IMM6)
1645}
1646
1647#[inline]
1648#[target_feature(enable = "lsx")]
1649#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1650pub unsafe fn lsx_vsrl_b(a: v16i8, b: v16i8) -> v16i8 {
1651    __lsx_vsrl_b(a, b)
1652}
1653
1654#[inline]
1655#[target_feature(enable = "lsx")]
1656#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1657pub unsafe fn lsx_vsrl_h(a: v8i16, b: v8i16) -> v8i16 {
1658    __lsx_vsrl_h(a, b)
1659}
1660
1661#[inline]
1662#[target_feature(enable = "lsx")]
1663#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1664pub unsafe fn lsx_vsrl_w(a: v4i32, b: v4i32) -> v4i32 {
1665    __lsx_vsrl_w(a, b)
1666}
1667
1668#[inline]
1669#[target_feature(enable = "lsx")]
1670#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1671pub unsafe fn lsx_vsrl_d(a: v2i64, b: v2i64) -> v2i64 {
1672    __lsx_vsrl_d(a, b)
1673}
1674
1675#[inline]
1676#[target_feature(enable = "lsx")]
1677#[rustc_legacy_const_generics(1)]
1678#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1679pub unsafe fn lsx_vsrli_b<const IMM3: u32>(a: v16i8) -> v16i8 {
1680    static_assert_uimm_bits!(IMM3, 3);
1681    __lsx_vsrli_b(a, IMM3)
1682}
1683
1684#[inline]
1685#[target_feature(enable = "lsx")]
1686#[rustc_legacy_const_generics(1)]
1687#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1688pub unsafe fn lsx_vsrli_h<const IMM4: u32>(a: v8i16) -> v8i16 {
1689    static_assert_uimm_bits!(IMM4, 4);
1690    __lsx_vsrli_h(a, IMM4)
1691}
1692
1693#[inline]
1694#[target_feature(enable = "lsx")]
1695#[rustc_legacy_const_generics(1)]
1696#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1697pub unsafe fn lsx_vsrli_w<const IMM5: u32>(a: v4i32) -> v4i32 {
1698    static_assert_uimm_bits!(IMM5, 5);
1699    __lsx_vsrli_w(a, IMM5)
1700}
1701
1702#[inline]
1703#[target_feature(enable = "lsx")]
1704#[rustc_legacy_const_generics(1)]
1705#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1706pub unsafe fn lsx_vsrli_d<const IMM6: u32>(a: v2i64) -> v2i64 {
1707    static_assert_uimm_bits!(IMM6, 6);
1708    __lsx_vsrli_d(a, IMM6)
1709}
1710
1711#[inline]
1712#[target_feature(enable = "lsx")]
1713#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1714pub unsafe fn lsx_vsrlr_b(a: v16i8, b: v16i8) -> v16i8 {
1715    __lsx_vsrlr_b(a, b)
1716}
1717
1718#[inline]
1719#[target_feature(enable = "lsx")]
1720#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1721pub unsafe fn lsx_vsrlr_h(a: v8i16, b: v8i16) -> v8i16 {
1722    __lsx_vsrlr_h(a, b)
1723}
1724
1725#[inline]
1726#[target_feature(enable = "lsx")]
1727#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1728pub unsafe fn lsx_vsrlr_w(a: v4i32, b: v4i32) -> v4i32 {
1729    __lsx_vsrlr_w(a, b)
1730}
1731
1732#[inline]
1733#[target_feature(enable = "lsx")]
1734#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1735pub unsafe fn lsx_vsrlr_d(a: v2i64, b: v2i64) -> v2i64 {
1736    __lsx_vsrlr_d(a, b)
1737}
1738
1739#[inline]
1740#[target_feature(enable = "lsx")]
1741#[rustc_legacy_const_generics(1)]
1742#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1743pub unsafe fn lsx_vsrlri_b<const IMM3: u32>(a: v16i8) -> v16i8 {
1744    static_assert_uimm_bits!(IMM3, 3);
1745    __lsx_vsrlri_b(a, IMM3)
1746}
1747
1748#[inline]
1749#[target_feature(enable = "lsx")]
1750#[rustc_legacy_const_generics(1)]
1751#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1752pub unsafe fn lsx_vsrlri_h<const IMM4: u32>(a: v8i16) -> v8i16 {
1753    static_assert_uimm_bits!(IMM4, 4);
1754    __lsx_vsrlri_h(a, IMM4)
1755}
1756
1757#[inline]
1758#[target_feature(enable = "lsx")]
1759#[rustc_legacy_const_generics(1)]
1760#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1761pub unsafe fn lsx_vsrlri_w<const IMM5: u32>(a: v4i32) -> v4i32 {
1762    static_assert_uimm_bits!(IMM5, 5);
1763    __lsx_vsrlri_w(a, IMM5)
1764}
1765
1766#[inline]
1767#[target_feature(enable = "lsx")]
1768#[rustc_legacy_const_generics(1)]
1769#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1770pub unsafe fn lsx_vsrlri_d<const IMM6: u32>(a: v2i64) -> v2i64 {
1771    static_assert_uimm_bits!(IMM6, 6);
1772    __lsx_vsrlri_d(a, IMM6)
1773}
1774
1775#[inline]
1776#[target_feature(enable = "lsx")]
1777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1778pub unsafe fn lsx_vbitclr_b(a: v16u8, b: v16u8) -> v16u8 {
1779    __lsx_vbitclr_b(a, b)
1780}
1781
1782#[inline]
1783#[target_feature(enable = "lsx")]
1784#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1785pub unsafe fn lsx_vbitclr_h(a: v8u16, b: v8u16) -> v8u16 {
1786    __lsx_vbitclr_h(a, b)
1787}
1788
1789#[inline]
1790#[target_feature(enable = "lsx")]
1791#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1792pub unsafe fn lsx_vbitclr_w(a: v4u32, b: v4u32) -> v4u32 {
1793    __lsx_vbitclr_w(a, b)
1794}
1795
1796#[inline]
1797#[target_feature(enable = "lsx")]
1798#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1799pub unsafe fn lsx_vbitclr_d(a: v2u64, b: v2u64) -> v2u64 {
1800    __lsx_vbitclr_d(a, b)
1801}
1802
1803#[inline]
1804#[target_feature(enable = "lsx")]
1805#[rustc_legacy_const_generics(1)]
1806#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1807pub unsafe fn lsx_vbitclri_b<const IMM3: u32>(a: v16u8) -> v16u8 {
1808    static_assert_uimm_bits!(IMM3, 3);
1809    __lsx_vbitclri_b(a, IMM3)
1810}
1811
1812#[inline]
1813#[target_feature(enable = "lsx")]
1814#[rustc_legacy_const_generics(1)]
1815#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1816pub unsafe fn lsx_vbitclri_h<const IMM4: u32>(a: v8u16) -> v8u16 {
1817    static_assert_uimm_bits!(IMM4, 4);
1818    __lsx_vbitclri_h(a, IMM4)
1819}
1820
1821#[inline]
1822#[target_feature(enable = "lsx")]
1823#[rustc_legacy_const_generics(1)]
1824#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1825pub unsafe fn lsx_vbitclri_w<const IMM5: u32>(a: v4u32) -> v4u32 {
1826    static_assert_uimm_bits!(IMM5, 5);
1827    __lsx_vbitclri_w(a, IMM5)
1828}
1829
1830#[inline]
1831#[target_feature(enable = "lsx")]
1832#[rustc_legacy_const_generics(1)]
1833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1834pub unsafe fn lsx_vbitclri_d<const IMM6: u32>(a: v2u64) -> v2u64 {
1835    static_assert_uimm_bits!(IMM6, 6);
1836    __lsx_vbitclri_d(a, IMM6)
1837}
1838
1839#[inline]
1840#[target_feature(enable = "lsx")]
1841#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1842pub unsafe fn lsx_vbitset_b(a: v16u8, b: v16u8) -> v16u8 {
1843    __lsx_vbitset_b(a, b)
1844}
1845
1846#[inline]
1847#[target_feature(enable = "lsx")]
1848#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1849pub unsafe fn lsx_vbitset_h(a: v8u16, b: v8u16) -> v8u16 {
1850    __lsx_vbitset_h(a, b)
1851}
1852
1853#[inline]
1854#[target_feature(enable = "lsx")]
1855#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1856pub unsafe fn lsx_vbitset_w(a: v4u32, b: v4u32) -> v4u32 {
1857    __lsx_vbitset_w(a, b)
1858}
1859
1860#[inline]
1861#[target_feature(enable = "lsx")]
1862#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1863pub unsafe fn lsx_vbitset_d(a: v2u64, b: v2u64) -> v2u64 {
1864    __lsx_vbitset_d(a, b)
1865}
1866
1867#[inline]
1868#[target_feature(enable = "lsx")]
1869#[rustc_legacy_const_generics(1)]
1870#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1871pub unsafe fn lsx_vbitseti_b<const IMM3: u32>(a: v16u8) -> v16u8 {
1872    static_assert_uimm_bits!(IMM3, 3);
1873    __lsx_vbitseti_b(a, IMM3)
1874}
1875
1876#[inline]
1877#[target_feature(enable = "lsx")]
1878#[rustc_legacy_const_generics(1)]
1879#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1880pub unsafe fn lsx_vbitseti_h<const IMM4: u32>(a: v8u16) -> v8u16 {
1881    static_assert_uimm_bits!(IMM4, 4);
1882    __lsx_vbitseti_h(a, IMM4)
1883}
1884
1885#[inline]
1886#[target_feature(enable = "lsx")]
1887#[rustc_legacy_const_generics(1)]
1888#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1889pub unsafe fn lsx_vbitseti_w<const IMM5: u32>(a: v4u32) -> v4u32 {
1890    static_assert_uimm_bits!(IMM5, 5);
1891    __lsx_vbitseti_w(a, IMM5)
1892}
1893
1894#[inline]
1895#[target_feature(enable = "lsx")]
1896#[rustc_legacy_const_generics(1)]
1897#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1898pub unsafe fn lsx_vbitseti_d<const IMM6: u32>(a: v2u64) -> v2u64 {
1899    static_assert_uimm_bits!(IMM6, 6);
1900    __lsx_vbitseti_d(a, IMM6)
1901}
1902
1903#[inline]
1904#[target_feature(enable = "lsx")]
1905#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1906pub unsafe fn lsx_vbitrev_b(a: v16u8, b: v16u8) -> v16u8 {
1907    __lsx_vbitrev_b(a, b)
1908}
1909
1910#[inline]
1911#[target_feature(enable = "lsx")]
1912#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1913pub unsafe fn lsx_vbitrev_h(a: v8u16, b: v8u16) -> v8u16 {
1914    __lsx_vbitrev_h(a, b)
1915}
1916
1917#[inline]
1918#[target_feature(enable = "lsx")]
1919#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1920pub unsafe fn lsx_vbitrev_w(a: v4u32, b: v4u32) -> v4u32 {
1921    __lsx_vbitrev_w(a, b)
1922}
1923
1924#[inline]
1925#[target_feature(enable = "lsx")]
1926#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1927pub unsafe fn lsx_vbitrev_d(a: v2u64, b: v2u64) -> v2u64 {
1928    __lsx_vbitrev_d(a, b)
1929}
1930
1931#[inline]
1932#[target_feature(enable = "lsx")]
1933#[rustc_legacy_const_generics(1)]
1934#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1935pub unsafe fn lsx_vbitrevi_b<const IMM3: u32>(a: v16u8) -> v16u8 {
1936    static_assert_uimm_bits!(IMM3, 3);
1937    __lsx_vbitrevi_b(a, IMM3)
1938}
1939
1940#[inline]
1941#[target_feature(enable = "lsx")]
1942#[rustc_legacy_const_generics(1)]
1943#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1944pub unsafe fn lsx_vbitrevi_h<const IMM4: u32>(a: v8u16) -> v8u16 {
1945    static_assert_uimm_bits!(IMM4, 4);
1946    __lsx_vbitrevi_h(a, IMM4)
1947}
1948
1949#[inline]
1950#[target_feature(enable = "lsx")]
1951#[rustc_legacy_const_generics(1)]
1952#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1953pub unsafe fn lsx_vbitrevi_w<const IMM5: u32>(a: v4u32) -> v4u32 {
1954    static_assert_uimm_bits!(IMM5, 5);
1955    __lsx_vbitrevi_w(a, IMM5)
1956}
1957
1958#[inline]
1959#[target_feature(enable = "lsx")]
1960#[rustc_legacy_const_generics(1)]
1961#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1962pub unsafe fn lsx_vbitrevi_d<const IMM6: u32>(a: v2u64) -> v2u64 {
1963    static_assert_uimm_bits!(IMM6, 6);
1964    __lsx_vbitrevi_d(a, IMM6)
1965}
1966
1967#[inline]
1968#[target_feature(enable = "lsx")]
1969#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1970pub unsafe fn lsx_vadd_b(a: v16i8, b: v16i8) -> v16i8 {
1971    __lsx_vadd_b(a, b)
1972}
1973
1974#[inline]
1975#[target_feature(enable = "lsx")]
1976#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1977pub unsafe fn lsx_vadd_h(a: v8i16, b: v8i16) -> v8i16 {
1978    __lsx_vadd_h(a, b)
1979}
1980
1981#[inline]
1982#[target_feature(enable = "lsx")]
1983#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1984pub unsafe fn lsx_vadd_w(a: v4i32, b: v4i32) -> v4i32 {
1985    __lsx_vadd_w(a, b)
1986}
1987
1988#[inline]
1989#[target_feature(enable = "lsx")]
1990#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1991pub unsafe fn lsx_vadd_d(a: v2i64, b: v2i64) -> v2i64 {
1992    __lsx_vadd_d(a, b)
1993}
1994
1995#[inline]
1996#[target_feature(enable = "lsx")]
1997#[rustc_legacy_const_generics(1)]
1998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1999pub unsafe fn lsx_vaddi_bu<const IMM5: u32>(a: v16i8) -> v16i8 {
2000    static_assert_uimm_bits!(IMM5, 5);
2001    __lsx_vaddi_bu(a, IMM5)
2002}
2003
2004#[inline]
2005#[target_feature(enable = "lsx")]
2006#[rustc_legacy_const_generics(1)]
2007#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2008pub unsafe fn lsx_vaddi_hu<const IMM5: u32>(a: v8i16) -> v8i16 {
2009    static_assert_uimm_bits!(IMM5, 5);
2010    __lsx_vaddi_hu(a, IMM5)
2011}
2012
2013#[inline]
2014#[target_feature(enable = "lsx")]
2015#[rustc_legacy_const_generics(1)]
2016#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2017pub unsafe fn lsx_vaddi_wu<const IMM5: u32>(a: v4i32) -> v4i32 {
2018    static_assert_uimm_bits!(IMM5, 5);
2019    __lsx_vaddi_wu(a, IMM5)
2020}
2021
2022#[inline]
2023#[target_feature(enable = "lsx")]
2024#[rustc_legacy_const_generics(1)]
2025#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2026pub unsafe fn lsx_vaddi_du<const IMM5: u32>(a: v2i64) -> v2i64 {
2027    static_assert_uimm_bits!(IMM5, 5);
2028    __lsx_vaddi_du(a, IMM5)
2029}
2030
2031#[inline]
2032#[target_feature(enable = "lsx")]
2033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2034pub unsafe fn lsx_vsub_b(a: v16i8, b: v16i8) -> v16i8 {
2035    __lsx_vsub_b(a, b)
2036}
2037
2038#[inline]
2039#[target_feature(enable = "lsx")]
2040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2041pub unsafe fn lsx_vsub_h(a: v8i16, b: v8i16) -> v8i16 {
2042    __lsx_vsub_h(a, b)
2043}
2044
2045#[inline]
2046#[target_feature(enable = "lsx")]
2047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2048pub unsafe fn lsx_vsub_w(a: v4i32, b: v4i32) -> v4i32 {
2049    __lsx_vsub_w(a, b)
2050}
2051
2052#[inline]
2053#[target_feature(enable = "lsx")]
2054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2055pub unsafe fn lsx_vsub_d(a: v2i64, b: v2i64) -> v2i64 {
2056    __lsx_vsub_d(a, b)
2057}
2058
2059#[inline]
2060#[target_feature(enable = "lsx")]
2061#[rustc_legacy_const_generics(1)]
2062#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2063pub unsafe fn lsx_vsubi_bu<const IMM5: u32>(a: v16i8) -> v16i8 {
2064    static_assert_uimm_bits!(IMM5, 5);
2065    __lsx_vsubi_bu(a, IMM5)
2066}
2067
2068#[inline]
2069#[target_feature(enable = "lsx")]
2070#[rustc_legacy_const_generics(1)]
2071#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2072pub unsafe fn lsx_vsubi_hu<const IMM5: u32>(a: v8i16) -> v8i16 {
2073    static_assert_uimm_bits!(IMM5, 5);
2074    __lsx_vsubi_hu(a, IMM5)
2075}
2076
2077#[inline]
2078#[target_feature(enable = "lsx")]
2079#[rustc_legacy_const_generics(1)]
2080#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2081pub unsafe fn lsx_vsubi_wu<const IMM5: u32>(a: v4i32) -> v4i32 {
2082    static_assert_uimm_bits!(IMM5, 5);
2083    __lsx_vsubi_wu(a, IMM5)
2084}
2085
2086#[inline]
2087#[target_feature(enable = "lsx")]
2088#[rustc_legacy_const_generics(1)]
2089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2090pub unsafe fn lsx_vsubi_du<const IMM5: u32>(a: v2i64) -> v2i64 {
2091    static_assert_uimm_bits!(IMM5, 5);
2092    __lsx_vsubi_du(a, IMM5)
2093}
2094
2095#[inline]
2096#[target_feature(enable = "lsx")]
2097#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2098pub unsafe fn lsx_vmax_b(a: v16i8, b: v16i8) -> v16i8 {
2099    __lsx_vmax_b(a, b)
2100}
2101
2102#[inline]
2103#[target_feature(enable = "lsx")]
2104#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2105pub unsafe fn lsx_vmax_h(a: v8i16, b: v8i16) -> v8i16 {
2106    __lsx_vmax_h(a, b)
2107}
2108
2109#[inline]
2110#[target_feature(enable = "lsx")]
2111#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2112pub unsafe fn lsx_vmax_w(a: v4i32, b: v4i32) -> v4i32 {
2113    __lsx_vmax_w(a, b)
2114}
2115
2116#[inline]
2117#[target_feature(enable = "lsx")]
2118#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2119pub unsafe fn lsx_vmax_d(a: v2i64, b: v2i64) -> v2i64 {
2120    __lsx_vmax_d(a, b)
2121}
2122
2123#[inline]
2124#[target_feature(enable = "lsx")]
2125#[rustc_legacy_const_generics(1)]
2126#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2127pub unsafe fn lsx_vmaxi_b<const IMM_S5: i32>(a: v16i8) -> v16i8 {
2128    static_assert_simm_bits!(IMM_S5, 5);
2129    __lsx_vmaxi_b(a, IMM_S5)
2130}
2131
2132#[inline]
2133#[target_feature(enable = "lsx")]
2134#[rustc_legacy_const_generics(1)]
2135#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2136pub unsafe fn lsx_vmaxi_h<const IMM_S5: i32>(a: v8i16) -> v8i16 {
2137    static_assert_simm_bits!(IMM_S5, 5);
2138    __lsx_vmaxi_h(a, IMM_S5)
2139}
2140
2141#[inline]
2142#[target_feature(enable = "lsx")]
2143#[rustc_legacy_const_generics(1)]
2144#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2145pub unsafe fn lsx_vmaxi_w<const IMM_S5: i32>(a: v4i32) -> v4i32 {
2146    static_assert_simm_bits!(IMM_S5, 5);
2147    __lsx_vmaxi_w(a, IMM_S5)
2148}
2149
2150#[inline]
2151#[target_feature(enable = "lsx")]
2152#[rustc_legacy_const_generics(1)]
2153#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2154pub unsafe fn lsx_vmaxi_d<const IMM_S5: i32>(a: v2i64) -> v2i64 {
2155    static_assert_simm_bits!(IMM_S5, 5);
2156    __lsx_vmaxi_d(a, IMM_S5)
2157}
2158
2159#[inline]
2160#[target_feature(enable = "lsx")]
2161#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2162pub unsafe fn lsx_vmax_bu(a: v16u8, b: v16u8) -> v16u8 {
2163    __lsx_vmax_bu(a, b)
2164}
2165
2166#[inline]
2167#[target_feature(enable = "lsx")]
2168#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2169pub unsafe fn lsx_vmax_hu(a: v8u16, b: v8u16) -> v8u16 {
2170    __lsx_vmax_hu(a, b)
2171}
2172
2173#[inline]
2174#[target_feature(enable = "lsx")]
2175#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2176pub unsafe fn lsx_vmax_wu(a: v4u32, b: v4u32) -> v4u32 {
2177    __lsx_vmax_wu(a, b)
2178}
2179
2180#[inline]
2181#[target_feature(enable = "lsx")]
2182#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2183pub unsafe fn lsx_vmax_du(a: v2u64, b: v2u64) -> v2u64 {
2184    __lsx_vmax_du(a, b)
2185}
2186
2187#[inline]
2188#[target_feature(enable = "lsx")]
2189#[rustc_legacy_const_generics(1)]
2190#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2191pub unsafe fn lsx_vmaxi_bu<const IMM5: u32>(a: v16u8) -> v16u8 {
2192    static_assert_uimm_bits!(IMM5, 5);
2193    __lsx_vmaxi_bu(a, IMM5)
2194}
2195
2196#[inline]
2197#[target_feature(enable = "lsx")]
2198#[rustc_legacy_const_generics(1)]
2199#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2200pub unsafe fn lsx_vmaxi_hu<const IMM5: u32>(a: v8u16) -> v8u16 {
2201    static_assert_uimm_bits!(IMM5, 5);
2202    __lsx_vmaxi_hu(a, IMM5)
2203}
2204
2205#[inline]
2206#[target_feature(enable = "lsx")]
2207#[rustc_legacy_const_generics(1)]
2208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2209pub unsafe fn lsx_vmaxi_wu<const IMM5: u32>(a: v4u32) -> v4u32 {
2210    static_assert_uimm_bits!(IMM5, 5);
2211    __lsx_vmaxi_wu(a, IMM5)
2212}
2213
2214#[inline]
2215#[target_feature(enable = "lsx")]
2216#[rustc_legacy_const_generics(1)]
2217#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2218pub unsafe fn lsx_vmaxi_du<const IMM5: u32>(a: v2u64) -> v2u64 {
2219    static_assert_uimm_bits!(IMM5, 5);
2220    __lsx_vmaxi_du(a, IMM5)
2221}
2222
2223#[inline]
2224#[target_feature(enable = "lsx")]
2225#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2226pub unsafe fn lsx_vmin_b(a: v16i8, b: v16i8) -> v16i8 {
2227    __lsx_vmin_b(a, b)
2228}
2229
2230#[inline]
2231#[target_feature(enable = "lsx")]
2232#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2233pub unsafe fn lsx_vmin_h(a: v8i16, b: v8i16) -> v8i16 {
2234    __lsx_vmin_h(a, b)
2235}
2236
2237#[inline]
2238#[target_feature(enable = "lsx")]
2239#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2240pub unsafe fn lsx_vmin_w(a: v4i32, b: v4i32) -> v4i32 {
2241    __lsx_vmin_w(a, b)
2242}
2243
2244#[inline]
2245#[target_feature(enable = "lsx")]
2246#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2247pub unsafe fn lsx_vmin_d(a: v2i64, b: v2i64) -> v2i64 {
2248    __lsx_vmin_d(a, b)
2249}
2250
2251#[inline]
2252#[target_feature(enable = "lsx")]
2253#[rustc_legacy_const_generics(1)]
2254#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2255pub unsafe fn lsx_vmini_b<const IMM_S5: i32>(a: v16i8) -> v16i8 {
2256    static_assert_simm_bits!(IMM_S5, 5);
2257    __lsx_vmini_b(a, IMM_S5)
2258}
2259
2260#[inline]
2261#[target_feature(enable = "lsx")]
2262#[rustc_legacy_const_generics(1)]
2263#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2264pub unsafe fn lsx_vmini_h<const IMM_S5: i32>(a: v8i16) -> v8i16 {
2265    static_assert_simm_bits!(IMM_S5, 5);
2266    __lsx_vmini_h(a, IMM_S5)
2267}
2268
2269#[inline]
2270#[target_feature(enable = "lsx")]
2271#[rustc_legacy_const_generics(1)]
2272#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2273pub unsafe fn lsx_vmini_w<const IMM_S5: i32>(a: v4i32) -> v4i32 {
2274    static_assert_simm_bits!(IMM_S5, 5);
2275    __lsx_vmini_w(a, IMM_S5)
2276}
2277
2278#[inline]
2279#[target_feature(enable = "lsx")]
2280#[rustc_legacy_const_generics(1)]
2281#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2282pub unsafe fn lsx_vmini_d<const IMM_S5: i32>(a: v2i64) -> v2i64 {
2283    static_assert_simm_bits!(IMM_S5, 5);
2284    __lsx_vmini_d(a, IMM_S5)
2285}
2286
2287#[inline]
2288#[target_feature(enable = "lsx")]
2289#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2290pub unsafe fn lsx_vmin_bu(a: v16u8, b: v16u8) -> v16u8 {
2291    __lsx_vmin_bu(a, b)
2292}
2293
2294#[inline]
2295#[target_feature(enable = "lsx")]
2296#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2297pub unsafe fn lsx_vmin_hu(a: v8u16, b: v8u16) -> v8u16 {
2298    __lsx_vmin_hu(a, b)
2299}
2300
2301#[inline]
2302#[target_feature(enable = "lsx")]
2303#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2304pub unsafe fn lsx_vmin_wu(a: v4u32, b: v4u32) -> v4u32 {
2305    __lsx_vmin_wu(a, b)
2306}
2307
2308#[inline]
2309#[target_feature(enable = "lsx")]
2310#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2311pub unsafe fn lsx_vmin_du(a: v2u64, b: v2u64) -> v2u64 {
2312    __lsx_vmin_du(a, b)
2313}
2314
2315#[inline]
2316#[target_feature(enable = "lsx")]
2317#[rustc_legacy_const_generics(1)]
2318#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2319pub unsafe fn lsx_vmini_bu<const IMM5: u32>(a: v16u8) -> v16u8 {
2320    static_assert_uimm_bits!(IMM5, 5);
2321    __lsx_vmini_bu(a, IMM5)
2322}
2323
2324#[inline]
2325#[target_feature(enable = "lsx")]
2326#[rustc_legacy_const_generics(1)]
2327#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2328pub unsafe fn lsx_vmini_hu<const IMM5: u32>(a: v8u16) -> v8u16 {
2329    static_assert_uimm_bits!(IMM5, 5);
2330    __lsx_vmini_hu(a, IMM5)
2331}
2332
2333#[inline]
2334#[target_feature(enable = "lsx")]
2335#[rustc_legacy_const_generics(1)]
2336#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2337pub unsafe fn lsx_vmini_wu<const IMM5: u32>(a: v4u32) -> v4u32 {
2338    static_assert_uimm_bits!(IMM5, 5);
2339    __lsx_vmini_wu(a, IMM5)
2340}
2341
2342#[inline]
2343#[target_feature(enable = "lsx")]
2344#[rustc_legacy_const_generics(1)]
2345#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2346pub unsafe fn lsx_vmini_du<const IMM5: u32>(a: v2u64) -> v2u64 {
2347    static_assert_uimm_bits!(IMM5, 5);
2348    __lsx_vmini_du(a, IMM5)
2349}
2350
2351#[inline]
2352#[target_feature(enable = "lsx")]
2353#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2354pub unsafe fn lsx_vseq_b(a: v16i8, b: v16i8) -> v16i8 {
2355    __lsx_vseq_b(a, b)
2356}
2357
2358#[inline]
2359#[target_feature(enable = "lsx")]
2360#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2361pub unsafe fn lsx_vseq_h(a: v8i16, b: v8i16) -> v8i16 {
2362    __lsx_vseq_h(a, b)
2363}
2364
2365#[inline]
2366#[target_feature(enable = "lsx")]
2367#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2368pub unsafe fn lsx_vseq_w(a: v4i32, b: v4i32) -> v4i32 {
2369    __lsx_vseq_w(a, b)
2370}
2371
2372#[inline]
2373#[target_feature(enable = "lsx")]
2374#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2375pub unsafe fn lsx_vseq_d(a: v2i64, b: v2i64) -> v2i64 {
2376    __lsx_vseq_d(a, b)
2377}
2378
2379#[inline]
2380#[target_feature(enable = "lsx")]
2381#[rustc_legacy_const_generics(1)]
2382#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2383pub unsafe fn lsx_vseqi_b<const IMM_S5: i32>(a: v16i8) -> v16i8 {
2384    static_assert_simm_bits!(IMM_S5, 5);
2385    __lsx_vseqi_b(a, IMM_S5)
2386}
2387
2388#[inline]
2389#[target_feature(enable = "lsx")]
2390#[rustc_legacy_const_generics(1)]
2391#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2392pub unsafe fn lsx_vseqi_h<const IMM_S5: i32>(a: v8i16) -> v8i16 {
2393    static_assert_simm_bits!(IMM_S5, 5);
2394    __lsx_vseqi_h(a, IMM_S5)
2395}
2396
2397#[inline]
2398#[target_feature(enable = "lsx")]
2399#[rustc_legacy_const_generics(1)]
2400#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2401pub unsafe fn lsx_vseqi_w<const IMM_S5: i32>(a: v4i32) -> v4i32 {
2402    static_assert_simm_bits!(IMM_S5, 5);
2403    __lsx_vseqi_w(a, IMM_S5)
2404}
2405
2406#[inline]
2407#[target_feature(enable = "lsx")]
2408#[rustc_legacy_const_generics(1)]
2409#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2410pub unsafe fn lsx_vseqi_d<const IMM_S5: i32>(a: v2i64) -> v2i64 {
2411    static_assert_simm_bits!(IMM_S5, 5);
2412    __lsx_vseqi_d(a, IMM_S5)
2413}
2414
2415#[inline]
2416#[target_feature(enable = "lsx")]
2417#[rustc_legacy_const_generics(1)]
2418#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2419pub unsafe fn lsx_vslti_b<const IMM_S5: i32>(a: v16i8) -> v16i8 {
2420    static_assert_simm_bits!(IMM_S5, 5);
2421    __lsx_vslti_b(a, IMM_S5)
2422}
2423
2424#[inline]
2425#[target_feature(enable = "lsx")]
2426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2427pub unsafe fn lsx_vslt_b(a: v16i8, b: v16i8) -> v16i8 {
2428    __lsx_vslt_b(a, b)
2429}
2430
2431#[inline]
2432#[target_feature(enable = "lsx")]
2433#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2434pub unsafe fn lsx_vslt_h(a: v8i16, b: v8i16) -> v8i16 {
2435    __lsx_vslt_h(a, b)
2436}
2437
2438#[inline]
2439#[target_feature(enable = "lsx")]
2440#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2441pub unsafe fn lsx_vslt_w(a: v4i32, b: v4i32) -> v4i32 {
2442    __lsx_vslt_w(a, b)
2443}
2444
2445#[inline]
2446#[target_feature(enable = "lsx")]
2447#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2448pub unsafe fn lsx_vslt_d(a: v2i64, b: v2i64) -> v2i64 {
2449    __lsx_vslt_d(a, b)
2450}
2451
2452#[inline]
2453#[target_feature(enable = "lsx")]
2454#[rustc_legacy_const_generics(1)]
2455#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2456pub unsafe fn lsx_vslti_h<const IMM_S5: i32>(a: v8i16) -> v8i16 {
2457    static_assert_simm_bits!(IMM_S5, 5);
2458    __lsx_vslti_h(a, IMM_S5)
2459}
2460
2461#[inline]
2462#[target_feature(enable = "lsx")]
2463#[rustc_legacy_const_generics(1)]
2464#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2465pub unsafe fn lsx_vslti_w<const IMM_S5: i32>(a: v4i32) -> v4i32 {
2466    static_assert_simm_bits!(IMM_S5, 5);
2467    __lsx_vslti_w(a, IMM_S5)
2468}
2469
2470#[inline]
2471#[target_feature(enable = "lsx")]
2472#[rustc_legacy_const_generics(1)]
2473#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2474pub unsafe fn lsx_vslti_d<const IMM_S5: i32>(a: v2i64) -> v2i64 {
2475    static_assert_simm_bits!(IMM_S5, 5);
2476    __lsx_vslti_d(a, IMM_S5)
2477}
2478
2479#[inline]
2480#[target_feature(enable = "lsx")]
2481#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2482pub unsafe fn lsx_vslt_bu(a: v16u8, b: v16u8) -> v16i8 {
2483    __lsx_vslt_bu(a, b)
2484}
2485
2486#[inline]
2487#[target_feature(enable = "lsx")]
2488#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2489pub unsafe fn lsx_vslt_hu(a: v8u16, b: v8u16) -> v8i16 {
2490    __lsx_vslt_hu(a, b)
2491}
2492
2493#[inline]
2494#[target_feature(enable = "lsx")]
2495#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2496pub unsafe fn lsx_vslt_wu(a: v4u32, b: v4u32) -> v4i32 {
2497    __lsx_vslt_wu(a, b)
2498}
2499
2500#[inline]
2501#[target_feature(enable = "lsx")]
2502#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2503pub unsafe fn lsx_vslt_du(a: v2u64, b: v2u64) -> v2i64 {
2504    __lsx_vslt_du(a, b)
2505}
2506
2507#[inline]
2508#[target_feature(enable = "lsx")]
2509#[rustc_legacy_const_generics(1)]
2510#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2511pub unsafe fn lsx_vslti_bu<const IMM5: u32>(a: v16u8) -> v16i8 {
2512    static_assert_uimm_bits!(IMM5, 5);
2513    __lsx_vslti_bu(a, IMM5)
2514}
2515
2516#[inline]
2517#[target_feature(enable = "lsx")]
2518#[rustc_legacy_const_generics(1)]
2519#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2520pub unsafe fn lsx_vslti_hu<const IMM5: u32>(a: v8u16) -> v8i16 {
2521    static_assert_uimm_bits!(IMM5, 5);
2522    __lsx_vslti_hu(a, IMM5)
2523}
2524
2525#[inline]
2526#[target_feature(enable = "lsx")]
2527#[rustc_legacy_const_generics(1)]
2528#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2529pub unsafe fn lsx_vslti_wu<const IMM5: u32>(a: v4u32) -> v4i32 {
2530    static_assert_uimm_bits!(IMM5, 5);
2531    __lsx_vslti_wu(a, IMM5)
2532}
2533
2534#[inline]
2535#[target_feature(enable = "lsx")]
2536#[rustc_legacy_const_generics(1)]
2537#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2538pub unsafe fn lsx_vslti_du<const IMM5: u32>(a: v2u64) -> v2i64 {
2539    static_assert_uimm_bits!(IMM5, 5);
2540    __lsx_vslti_du(a, IMM5)
2541}
2542
2543#[inline]
2544#[target_feature(enable = "lsx")]
2545#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2546pub unsafe fn lsx_vsle_b(a: v16i8, b: v16i8) -> v16i8 {
2547    __lsx_vsle_b(a, b)
2548}
2549
2550#[inline]
2551#[target_feature(enable = "lsx")]
2552#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2553pub unsafe fn lsx_vsle_h(a: v8i16, b: v8i16) -> v8i16 {
2554    __lsx_vsle_h(a, b)
2555}
2556
2557#[inline]
2558#[target_feature(enable = "lsx")]
2559#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2560pub unsafe fn lsx_vsle_w(a: v4i32, b: v4i32) -> v4i32 {
2561    __lsx_vsle_w(a, b)
2562}
2563
2564#[inline]
2565#[target_feature(enable = "lsx")]
2566#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2567pub unsafe fn lsx_vsle_d(a: v2i64, b: v2i64) -> v2i64 {
2568    __lsx_vsle_d(a, b)
2569}
2570
2571#[inline]
2572#[target_feature(enable = "lsx")]
2573#[rustc_legacy_const_generics(1)]
2574#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2575pub unsafe fn lsx_vslei_b<const IMM_S5: i32>(a: v16i8) -> v16i8 {
2576    static_assert_simm_bits!(IMM_S5, 5);
2577    __lsx_vslei_b(a, IMM_S5)
2578}
2579
2580#[inline]
2581#[target_feature(enable = "lsx")]
2582#[rustc_legacy_const_generics(1)]
2583#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2584pub unsafe fn lsx_vslei_h<const IMM_S5: i32>(a: v8i16) -> v8i16 {
2585    static_assert_simm_bits!(IMM_S5, 5);
2586    __lsx_vslei_h(a, IMM_S5)
2587}
2588
2589#[inline]
2590#[target_feature(enable = "lsx")]
2591#[rustc_legacy_const_generics(1)]
2592#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2593pub unsafe fn lsx_vslei_w<const IMM_S5: i32>(a: v4i32) -> v4i32 {
2594    static_assert_simm_bits!(IMM_S5, 5);
2595    __lsx_vslei_w(a, IMM_S5)
2596}
2597
2598#[inline]
2599#[target_feature(enable = "lsx")]
2600#[rustc_legacy_const_generics(1)]
2601#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2602pub unsafe fn lsx_vslei_d<const IMM_S5: i32>(a: v2i64) -> v2i64 {
2603    static_assert_simm_bits!(IMM_S5, 5);
2604    __lsx_vslei_d(a, IMM_S5)
2605}
2606
2607#[inline]
2608#[target_feature(enable = "lsx")]
2609#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2610pub unsafe fn lsx_vsle_bu(a: v16u8, b: v16u8) -> v16i8 {
2611    __lsx_vsle_bu(a, b)
2612}
2613
2614#[inline]
2615#[target_feature(enable = "lsx")]
2616#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2617pub unsafe fn lsx_vsle_hu(a: v8u16, b: v8u16) -> v8i16 {
2618    __lsx_vsle_hu(a, b)
2619}
2620
2621#[inline]
2622#[target_feature(enable = "lsx")]
2623#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2624pub unsafe fn lsx_vsle_wu(a: v4u32, b: v4u32) -> v4i32 {
2625    __lsx_vsle_wu(a, b)
2626}
2627
2628#[inline]
2629#[target_feature(enable = "lsx")]
2630#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2631pub unsafe fn lsx_vsle_du(a: v2u64, b: v2u64) -> v2i64 {
2632    __lsx_vsle_du(a, b)
2633}
2634
2635#[inline]
2636#[target_feature(enable = "lsx")]
2637#[rustc_legacy_const_generics(1)]
2638#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2639pub unsafe fn lsx_vslei_bu<const IMM5: u32>(a: v16u8) -> v16i8 {
2640    static_assert_uimm_bits!(IMM5, 5);
2641    __lsx_vslei_bu(a, IMM5)
2642}
2643
2644#[inline]
2645#[target_feature(enable = "lsx")]
2646#[rustc_legacy_const_generics(1)]
2647#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2648pub unsafe fn lsx_vslei_hu<const IMM5: u32>(a: v8u16) -> v8i16 {
2649    static_assert_uimm_bits!(IMM5, 5);
2650    __lsx_vslei_hu(a, IMM5)
2651}
2652
2653#[inline]
2654#[target_feature(enable = "lsx")]
2655#[rustc_legacy_const_generics(1)]
2656#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2657pub unsafe fn lsx_vslei_wu<const IMM5: u32>(a: v4u32) -> v4i32 {
2658    static_assert_uimm_bits!(IMM5, 5);
2659    __lsx_vslei_wu(a, IMM5)
2660}
2661
2662#[inline]
2663#[target_feature(enable = "lsx")]
2664#[rustc_legacy_const_generics(1)]
2665#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2666pub unsafe fn lsx_vslei_du<const IMM5: u32>(a: v2u64) -> v2i64 {
2667    static_assert_uimm_bits!(IMM5, 5);
2668    __lsx_vslei_du(a, IMM5)
2669}
2670
2671#[inline]
2672#[target_feature(enable = "lsx")]
2673#[rustc_legacy_const_generics(1)]
2674#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2675pub unsafe fn lsx_vsat_b<const IMM3: u32>(a: v16i8) -> v16i8 {
2676    static_assert_uimm_bits!(IMM3, 3);
2677    __lsx_vsat_b(a, IMM3)
2678}
2679
2680#[inline]
2681#[target_feature(enable = "lsx")]
2682#[rustc_legacy_const_generics(1)]
2683#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2684pub unsafe fn lsx_vsat_h<const IMM4: u32>(a: v8i16) -> v8i16 {
2685    static_assert_uimm_bits!(IMM4, 4);
2686    __lsx_vsat_h(a, IMM4)
2687}
2688
2689#[inline]
2690#[target_feature(enable = "lsx")]
2691#[rustc_legacy_const_generics(1)]
2692#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2693pub unsafe fn lsx_vsat_w<const IMM5: u32>(a: v4i32) -> v4i32 {
2694    static_assert_uimm_bits!(IMM5, 5);
2695    __lsx_vsat_w(a, IMM5)
2696}
2697
2698#[inline]
2699#[target_feature(enable = "lsx")]
2700#[rustc_legacy_const_generics(1)]
2701#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2702pub unsafe fn lsx_vsat_d<const IMM6: u32>(a: v2i64) -> v2i64 {
2703    static_assert_uimm_bits!(IMM6, 6);
2704    __lsx_vsat_d(a, IMM6)
2705}
2706
2707#[inline]
2708#[target_feature(enable = "lsx")]
2709#[rustc_legacy_const_generics(1)]
2710#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2711pub unsafe fn lsx_vsat_bu<const IMM3: u32>(a: v16u8) -> v16u8 {
2712    static_assert_uimm_bits!(IMM3, 3);
2713    __lsx_vsat_bu(a, IMM3)
2714}
2715
2716#[inline]
2717#[target_feature(enable = "lsx")]
2718#[rustc_legacy_const_generics(1)]
2719#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2720pub unsafe fn lsx_vsat_hu<const IMM4: u32>(a: v8u16) -> v8u16 {
2721    static_assert_uimm_bits!(IMM4, 4);
2722    __lsx_vsat_hu(a, IMM4)
2723}
2724
2725#[inline]
2726#[target_feature(enable = "lsx")]
2727#[rustc_legacy_const_generics(1)]
2728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2729pub unsafe fn lsx_vsat_wu<const IMM5: u32>(a: v4u32) -> v4u32 {
2730    static_assert_uimm_bits!(IMM5, 5);
2731    __lsx_vsat_wu(a, IMM5)
2732}
2733
2734#[inline]
2735#[target_feature(enable = "lsx")]
2736#[rustc_legacy_const_generics(1)]
2737#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2738pub unsafe fn lsx_vsat_du<const IMM6: u32>(a: v2u64) -> v2u64 {
2739    static_assert_uimm_bits!(IMM6, 6);
2740    __lsx_vsat_du(a, IMM6)
2741}
2742
2743#[inline]
2744#[target_feature(enable = "lsx")]
2745#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2746pub unsafe fn lsx_vadda_b(a: v16i8, b: v16i8) -> v16i8 {
2747    __lsx_vadda_b(a, b)
2748}
2749
2750#[inline]
2751#[target_feature(enable = "lsx")]
2752#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2753pub unsafe fn lsx_vadda_h(a: v8i16, b: v8i16) -> v8i16 {
2754    __lsx_vadda_h(a, b)
2755}
2756
2757#[inline]
2758#[target_feature(enable = "lsx")]
2759#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2760pub unsafe fn lsx_vadda_w(a: v4i32, b: v4i32) -> v4i32 {
2761    __lsx_vadda_w(a, b)
2762}
2763
2764#[inline]
2765#[target_feature(enable = "lsx")]
2766#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2767pub unsafe fn lsx_vadda_d(a: v2i64, b: v2i64) -> v2i64 {
2768    __lsx_vadda_d(a, b)
2769}
2770
2771#[inline]
2772#[target_feature(enable = "lsx")]
2773#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2774pub unsafe fn lsx_vsadd_b(a: v16i8, b: v16i8) -> v16i8 {
2775    __lsx_vsadd_b(a, b)
2776}
2777
2778#[inline]
2779#[target_feature(enable = "lsx")]
2780#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2781pub unsafe fn lsx_vsadd_h(a: v8i16, b: v8i16) -> v8i16 {
2782    __lsx_vsadd_h(a, b)
2783}
2784
2785#[inline]
2786#[target_feature(enable = "lsx")]
2787#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2788pub unsafe fn lsx_vsadd_w(a: v4i32, b: v4i32) -> v4i32 {
2789    __lsx_vsadd_w(a, b)
2790}
2791
2792#[inline]
2793#[target_feature(enable = "lsx")]
2794#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2795pub unsafe fn lsx_vsadd_d(a: v2i64, b: v2i64) -> v2i64 {
2796    __lsx_vsadd_d(a, b)
2797}
2798
2799#[inline]
2800#[target_feature(enable = "lsx")]
2801#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2802pub unsafe fn lsx_vsadd_bu(a: v16u8, b: v16u8) -> v16u8 {
2803    __lsx_vsadd_bu(a, b)
2804}
2805
2806#[inline]
2807#[target_feature(enable = "lsx")]
2808#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2809pub unsafe fn lsx_vsadd_hu(a: v8u16, b: v8u16) -> v8u16 {
2810    __lsx_vsadd_hu(a, b)
2811}
2812
2813#[inline]
2814#[target_feature(enable = "lsx")]
2815#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2816pub unsafe fn lsx_vsadd_wu(a: v4u32, b: v4u32) -> v4u32 {
2817    __lsx_vsadd_wu(a, b)
2818}
2819
2820#[inline]
2821#[target_feature(enable = "lsx")]
2822#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2823pub unsafe fn lsx_vsadd_du(a: v2u64, b: v2u64) -> v2u64 {
2824    __lsx_vsadd_du(a, b)
2825}
2826
2827#[inline]
2828#[target_feature(enable = "lsx")]
2829#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2830pub unsafe fn lsx_vavg_b(a: v16i8, b: v16i8) -> v16i8 {
2831    __lsx_vavg_b(a, b)
2832}
2833
2834#[inline]
2835#[target_feature(enable = "lsx")]
2836#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2837pub unsafe fn lsx_vavg_h(a: v8i16, b: v8i16) -> v8i16 {
2838    __lsx_vavg_h(a, b)
2839}
2840
2841#[inline]
2842#[target_feature(enable = "lsx")]
2843#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2844pub unsafe fn lsx_vavg_w(a: v4i32, b: v4i32) -> v4i32 {
2845    __lsx_vavg_w(a, b)
2846}
2847
2848#[inline]
2849#[target_feature(enable = "lsx")]
2850#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2851pub unsafe fn lsx_vavg_d(a: v2i64, b: v2i64) -> v2i64 {
2852    __lsx_vavg_d(a, b)
2853}
2854
2855#[inline]
2856#[target_feature(enable = "lsx")]
2857#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2858pub unsafe fn lsx_vavg_bu(a: v16u8, b: v16u8) -> v16u8 {
2859    __lsx_vavg_bu(a, b)
2860}
2861
2862#[inline]
2863#[target_feature(enable = "lsx")]
2864#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2865pub unsafe fn lsx_vavg_hu(a: v8u16, b: v8u16) -> v8u16 {
2866    __lsx_vavg_hu(a, b)
2867}
2868
2869#[inline]
2870#[target_feature(enable = "lsx")]
2871#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2872pub unsafe fn lsx_vavg_wu(a: v4u32, b: v4u32) -> v4u32 {
2873    __lsx_vavg_wu(a, b)
2874}
2875
2876#[inline]
2877#[target_feature(enable = "lsx")]
2878#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2879pub unsafe fn lsx_vavg_du(a: v2u64, b: v2u64) -> v2u64 {
2880    __lsx_vavg_du(a, b)
2881}
2882
2883#[inline]
2884#[target_feature(enable = "lsx")]
2885#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2886pub unsafe fn lsx_vavgr_b(a: v16i8, b: v16i8) -> v16i8 {
2887    __lsx_vavgr_b(a, b)
2888}
2889
2890#[inline]
2891#[target_feature(enable = "lsx")]
2892#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2893pub unsafe fn lsx_vavgr_h(a: v8i16, b: v8i16) -> v8i16 {
2894    __lsx_vavgr_h(a, b)
2895}
2896
2897#[inline]
2898#[target_feature(enable = "lsx")]
2899#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2900pub unsafe fn lsx_vavgr_w(a: v4i32, b: v4i32) -> v4i32 {
2901    __lsx_vavgr_w(a, b)
2902}
2903
2904#[inline]
2905#[target_feature(enable = "lsx")]
2906#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2907pub unsafe fn lsx_vavgr_d(a: v2i64, b: v2i64) -> v2i64 {
2908    __lsx_vavgr_d(a, b)
2909}
2910
2911#[inline]
2912#[target_feature(enable = "lsx")]
2913#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2914pub unsafe fn lsx_vavgr_bu(a: v16u8, b: v16u8) -> v16u8 {
2915    __lsx_vavgr_bu(a, b)
2916}
2917
2918#[inline]
2919#[target_feature(enable = "lsx")]
2920#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2921pub unsafe fn lsx_vavgr_hu(a: v8u16, b: v8u16) -> v8u16 {
2922    __lsx_vavgr_hu(a, b)
2923}
2924
2925#[inline]
2926#[target_feature(enable = "lsx")]
2927#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2928pub unsafe fn lsx_vavgr_wu(a: v4u32, b: v4u32) -> v4u32 {
2929    __lsx_vavgr_wu(a, b)
2930}
2931
2932#[inline]
2933#[target_feature(enable = "lsx")]
2934#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2935pub unsafe fn lsx_vavgr_du(a: v2u64, b: v2u64) -> v2u64 {
2936    __lsx_vavgr_du(a, b)
2937}
2938
2939#[inline]
2940#[target_feature(enable = "lsx")]
2941#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2942pub unsafe fn lsx_vssub_b(a: v16i8, b: v16i8) -> v16i8 {
2943    __lsx_vssub_b(a, b)
2944}
2945
2946#[inline]
2947#[target_feature(enable = "lsx")]
2948#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2949pub unsafe fn lsx_vssub_h(a: v8i16, b: v8i16) -> v8i16 {
2950    __lsx_vssub_h(a, b)
2951}
2952
2953#[inline]
2954#[target_feature(enable = "lsx")]
2955#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2956pub unsafe fn lsx_vssub_w(a: v4i32, b: v4i32) -> v4i32 {
2957    __lsx_vssub_w(a, b)
2958}
2959
2960#[inline]
2961#[target_feature(enable = "lsx")]
2962#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2963pub unsafe fn lsx_vssub_d(a: v2i64, b: v2i64) -> v2i64 {
2964    __lsx_vssub_d(a, b)
2965}
2966
2967#[inline]
2968#[target_feature(enable = "lsx")]
2969#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2970pub unsafe fn lsx_vssub_bu(a: v16u8, b: v16u8) -> v16u8 {
2971    __lsx_vssub_bu(a, b)
2972}
2973
2974#[inline]
2975#[target_feature(enable = "lsx")]
2976#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2977pub unsafe fn lsx_vssub_hu(a: v8u16, b: v8u16) -> v8u16 {
2978    __lsx_vssub_hu(a, b)
2979}
2980
2981#[inline]
2982#[target_feature(enable = "lsx")]
2983#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2984pub unsafe fn lsx_vssub_wu(a: v4u32, b: v4u32) -> v4u32 {
2985    __lsx_vssub_wu(a, b)
2986}
2987
2988#[inline]
2989#[target_feature(enable = "lsx")]
2990#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2991pub unsafe fn lsx_vssub_du(a: v2u64, b: v2u64) -> v2u64 {
2992    __lsx_vssub_du(a, b)
2993}
2994
2995#[inline]
2996#[target_feature(enable = "lsx")]
2997#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2998pub unsafe fn lsx_vabsd_b(a: v16i8, b: v16i8) -> v16i8 {
2999    __lsx_vabsd_b(a, b)
3000}
3001
3002#[inline]
3003#[target_feature(enable = "lsx")]
3004#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3005pub unsafe fn lsx_vabsd_h(a: v8i16, b: v8i16) -> v8i16 {
3006    __lsx_vabsd_h(a, b)
3007}
3008
3009#[inline]
3010#[target_feature(enable = "lsx")]
3011#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3012pub unsafe fn lsx_vabsd_w(a: v4i32, b: v4i32) -> v4i32 {
3013    __lsx_vabsd_w(a, b)
3014}
3015
3016#[inline]
3017#[target_feature(enable = "lsx")]
3018#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3019pub unsafe fn lsx_vabsd_d(a: v2i64, b: v2i64) -> v2i64 {
3020    __lsx_vabsd_d(a, b)
3021}
3022
3023#[inline]
3024#[target_feature(enable = "lsx")]
3025#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3026pub unsafe fn lsx_vabsd_bu(a: v16u8, b: v16u8) -> v16u8 {
3027    __lsx_vabsd_bu(a, b)
3028}
3029
3030#[inline]
3031#[target_feature(enable = "lsx")]
3032#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3033pub unsafe fn lsx_vabsd_hu(a: v8u16, b: v8u16) -> v8u16 {
3034    __lsx_vabsd_hu(a, b)
3035}
3036
3037#[inline]
3038#[target_feature(enable = "lsx")]
3039#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3040pub unsafe fn lsx_vabsd_wu(a: v4u32, b: v4u32) -> v4u32 {
3041    __lsx_vabsd_wu(a, b)
3042}
3043
3044#[inline]
3045#[target_feature(enable = "lsx")]
3046#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3047pub unsafe fn lsx_vabsd_du(a: v2u64, b: v2u64) -> v2u64 {
3048    __lsx_vabsd_du(a, b)
3049}
3050
3051#[inline]
3052#[target_feature(enable = "lsx")]
3053#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3054pub unsafe fn lsx_vmul_b(a: v16i8, b: v16i8) -> v16i8 {
3055    __lsx_vmul_b(a, b)
3056}
3057
3058#[inline]
3059#[target_feature(enable = "lsx")]
3060#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3061pub unsafe fn lsx_vmul_h(a: v8i16, b: v8i16) -> v8i16 {
3062    __lsx_vmul_h(a, b)
3063}
3064
3065#[inline]
3066#[target_feature(enable = "lsx")]
3067#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3068pub unsafe fn lsx_vmul_w(a: v4i32, b: v4i32) -> v4i32 {
3069    __lsx_vmul_w(a, b)
3070}
3071
3072#[inline]
3073#[target_feature(enable = "lsx")]
3074#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3075pub unsafe fn lsx_vmul_d(a: v2i64, b: v2i64) -> v2i64 {
3076    __lsx_vmul_d(a, b)
3077}
3078
3079#[inline]
3080#[target_feature(enable = "lsx")]
3081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3082pub unsafe fn lsx_vmadd_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8 {
3083    __lsx_vmadd_b(a, b, c)
3084}
3085
3086#[inline]
3087#[target_feature(enable = "lsx")]
3088#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3089pub unsafe fn lsx_vmadd_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16 {
3090    __lsx_vmadd_h(a, b, c)
3091}
3092
3093#[inline]
3094#[target_feature(enable = "lsx")]
3095#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3096pub unsafe fn lsx_vmadd_w(a: v4i32, b: v4i32, c: v4i32) -> v4i32 {
3097    __lsx_vmadd_w(a, b, c)
3098}
3099
3100#[inline]
3101#[target_feature(enable = "lsx")]
3102#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3103pub unsafe fn lsx_vmadd_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64 {
3104    __lsx_vmadd_d(a, b, c)
3105}
3106
3107#[inline]
3108#[target_feature(enable = "lsx")]
3109#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3110pub unsafe fn lsx_vmsub_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8 {
3111    __lsx_vmsub_b(a, b, c)
3112}
3113
3114#[inline]
3115#[target_feature(enable = "lsx")]
3116#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3117pub unsafe fn lsx_vmsub_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16 {
3118    __lsx_vmsub_h(a, b, c)
3119}
3120
3121#[inline]
3122#[target_feature(enable = "lsx")]
3123#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3124pub unsafe fn lsx_vmsub_w(a: v4i32, b: v4i32, c: v4i32) -> v4i32 {
3125    __lsx_vmsub_w(a, b, c)
3126}
3127
3128#[inline]
3129#[target_feature(enable = "lsx")]
3130#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3131pub unsafe fn lsx_vmsub_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64 {
3132    __lsx_vmsub_d(a, b, c)
3133}
3134
3135#[inline]
3136#[target_feature(enable = "lsx")]
3137#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3138pub unsafe fn lsx_vdiv_b(a: v16i8, b: v16i8) -> v16i8 {
3139    __lsx_vdiv_b(a, b)
3140}
3141
3142#[inline]
3143#[target_feature(enable = "lsx")]
3144#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3145pub unsafe fn lsx_vdiv_h(a: v8i16, b: v8i16) -> v8i16 {
3146    __lsx_vdiv_h(a, b)
3147}
3148
3149#[inline]
3150#[target_feature(enable = "lsx")]
3151#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3152pub unsafe fn lsx_vdiv_w(a: v4i32, b: v4i32) -> v4i32 {
3153    __lsx_vdiv_w(a, b)
3154}
3155
3156#[inline]
3157#[target_feature(enable = "lsx")]
3158#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3159pub unsafe fn lsx_vdiv_d(a: v2i64, b: v2i64) -> v2i64 {
3160    __lsx_vdiv_d(a, b)
3161}
3162
3163#[inline]
3164#[target_feature(enable = "lsx")]
3165#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3166pub unsafe fn lsx_vdiv_bu(a: v16u8, b: v16u8) -> v16u8 {
3167    __lsx_vdiv_bu(a, b)
3168}
3169
3170#[inline]
3171#[target_feature(enable = "lsx")]
3172#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3173pub unsafe fn lsx_vdiv_hu(a: v8u16, b: v8u16) -> v8u16 {
3174    __lsx_vdiv_hu(a, b)
3175}
3176
3177#[inline]
3178#[target_feature(enable = "lsx")]
3179#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3180pub unsafe fn lsx_vdiv_wu(a: v4u32, b: v4u32) -> v4u32 {
3181    __lsx_vdiv_wu(a, b)
3182}
3183
3184#[inline]
3185#[target_feature(enable = "lsx")]
3186#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3187pub unsafe fn lsx_vdiv_du(a: v2u64, b: v2u64) -> v2u64 {
3188    __lsx_vdiv_du(a, b)
3189}
3190
3191#[inline]
3192#[target_feature(enable = "lsx")]
3193#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3194pub unsafe fn lsx_vhaddw_h_b(a: v16i8, b: v16i8) -> v8i16 {
3195    __lsx_vhaddw_h_b(a, b)
3196}
3197
3198#[inline]
3199#[target_feature(enable = "lsx")]
3200#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3201pub unsafe fn lsx_vhaddw_w_h(a: v8i16, b: v8i16) -> v4i32 {
3202    __lsx_vhaddw_w_h(a, b)
3203}
3204
3205#[inline]
3206#[target_feature(enable = "lsx")]
3207#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3208pub unsafe fn lsx_vhaddw_d_w(a: v4i32, b: v4i32) -> v2i64 {
3209    __lsx_vhaddw_d_w(a, b)
3210}
3211
3212#[inline]
3213#[target_feature(enable = "lsx")]
3214#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3215pub unsafe fn lsx_vhaddw_hu_bu(a: v16u8, b: v16u8) -> v8u16 {
3216    __lsx_vhaddw_hu_bu(a, b)
3217}
3218
3219#[inline]
3220#[target_feature(enable = "lsx")]
3221#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3222pub unsafe fn lsx_vhaddw_wu_hu(a: v8u16, b: v8u16) -> v4u32 {
3223    __lsx_vhaddw_wu_hu(a, b)
3224}
3225
3226#[inline]
3227#[target_feature(enable = "lsx")]
3228#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3229pub unsafe fn lsx_vhaddw_du_wu(a: v4u32, b: v4u32) -> v2u64 {
3230    __lsx_vhaddw_du_wu(a, b)
3231}
3232
3233#[inline]
3234#[target_feature(enable = "lsx")]
3235#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3236pub unsafe fn lsx_vhsubw_h_b(a: v16i8, b: v16i8) -> v8i16 {
3237    __lsx_vhsubw_h_b(a, b)
3238}
3239
3240#[inline]
3241#[target_feature(enable = "lsx")]
3242#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3243pub unsafe fn lsx_vhsubw_w_h(a: v8i16, b: v8i16) -> v4i32 {
3244    __lsx_vhsubw_w_h(a, b)
3245}
3246
3247#[inline]
3248#[target_feature(enable = "lsx")]
3249#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3250pub unsafe fn lsx_vhsubw_d_w(a: v4i32, b: v4i32) -> v2i64 {
3251    __lsx_vhsubw_d_w(a, b)
3252}
3253
3254#[inline]
3255#[target_feature(enable = "lsx")]
3256#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3257pub unsafe fn lsx_vhsubw_hu_bu(a: v16u8, b: v16u8) -> v8i16 {
3258    __lsx_vhsubw_hu_bu(a, b)
3259}
3260
3261#[inline]
3262#[target_feature(enable = "lsx")]
3263#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3264pub unsafe fn lsx_vhsubw_wu_hu(a: v8u16, b: v8u16) -> v4i32 {
3265    __lsx_vhsubw_wu_hu(a, b)
3266}
3267
3268#[inline]
3269#[target_feature(enable = "lsx")]
3270#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3271pub unsafe fn lsx_vhsubw_du_wu(a: v4u32, b: v4u32) -> v2i64 {
3272    __lsx_vhsubw_du_wu(a, b)
3273}
3274
3275#[inline]
3276#[target_feature(enable = "lsx")]
3277#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3278pub unsafe fn lsx_vmod_b(a: v16i8, b: v16i8) -> v16i8 {
3279    __lsx_vmod_b(a, b)
3280}
3281
3282#[inline]
3283#[target_feature(enable = "lsx")]
3284#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3285pub unsafe fn lsx_vmod_h(a: v8i16, b: v8i16) -> v8i16 {
3286    __lsx_vmod_h(a, b)
3287}
3288
3289#[inline]
3290#[target_feature(enable = "lsx")]
3291#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3292pub unsafe fn lsx_vmod_w(a: v4i32, b: v4i32) -> v4i32 {
3293    __lsx_vmod_w(a, b)
3294}
3295
3296#[inline]
3297#[target_feature(enable = "lsx")]
3298#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3299pub unsafe fn lsx_vmod_d(a: v2i64, b: v2i64) -> v2i64 {
3300    __lsx_vmod_d(a, b)
3301}
3302
3303#[inline]
3304#[target_feature(enable = "lsx")]
3305#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3306pub unsafe fn lsx_vmod_bu(a: v16u8, b: v16u8) -> v16u8 {
3307    __lsx_vmod_bu(a, b)
3308}
3309
3310#[inline]
3311#[target_feature(enable = "lsx")]
3312#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3313pub unsafe fn lsx_vmod_hu(a: v8u16, b: v8u16) -> v8u16 {
3314    __lsx_vmod_hu(a, b)
3315}
3316
3317#[inline]
3318#[target_feature(enable = "lsx")]
3319#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3320pub unsafe fn lsx_vmod_wu(a: v4u32, b: v4u32) -> v4u32 {
3321    __lsx_vmod_wu(a, b)
3322}
3323
3324#[inline]
3325#[target_feature(enable = "lsx")]
3326#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3327pub unsafe fn lsx_vmod_du(a: v2u64, b: v2u64) -> v2u64 {
3328    __lsx_vmod_du(a, b)
3329}
3330
3331#[inline]
3332#[target_feature(enable = "lsx")]
3333#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3334pub unsafe fn lsx_vreplve_b(a: v16i8, b: i32) -> v16i8 {
3335    __lsx_vreplve_b(a, b)
3336}
3337
3338#[inline]
3339#[target_feature(enable = "lsx")]
3340#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3341pub unsafe fn lsx_vreplve_h(a: v8i16, b: i32) -> v8i16 {
3342    __lsx_vreplve_h(a, b)
3343}
3344
3345#[inline]
3346#[target_feature(enable = "lsx")]
3347#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3348pub unsafe fn lsx_vreplve_w(a: v4i32, b: i32) -> v4i32 {
3349    __lsx_vreplve_w(a, b)
3350}
3351
3352#[inline]
3353#[target_feature(enable = "lsx")]
3354#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3355pub unsafe fn lsx_vreplve_d(a: v2i64, b: i32) -> v2i64 {
3356    __lsx_vreplve_d(a, b)
3357}
3358
3359#[inline]
3360#[target_feature(enable = "lsx")]
3361#[rustc_legacy_const_generics(1)]
3362#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3363pub unsafe fn lsx_vreplvei_b<const IMM4: u32>(a: v16i8) -> v16i8 {
3364    static_assert_uimm_bits!(IMM4, 4);
3365    __lsx_vreplvei_b(a, IMM4)
3366}
3367
3368#[inline]
3369#[target_feature(enable = "lsx")]
3370#[rustc_legacy_const_generics(1)]
3371#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3372pub unsafe fn lsx_vreplvei_h<const IMM3: u32>(a: v8i16) -> v8i16 {
3373    static_assert_uimm_bits!(IMM3, 3);
3374    __lsx_vreplvei_h(a, IMM3)
3375}
3376
3377#[inline]
3378#[target_feature(enable = "lsx")]
3379#[rustc_legacy_const_generics(1)]
3380#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3381pub unsafe fn lsx_vreplvei_w<const IMM2: u32>(a: v4i32) -> v4i32 {
3382    static_assert_uimm_bits!(IMM2, 2);
3383    __lsx_vreplvei_w(a, IMM2)
3384}
3385
3386#[inline]
3387#[target_feature(enable = "lsx")]
3388#[rustc_legacy_const_generics(1)]
3389#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3390pub unsafe fn lsx_vreplvei_d<const IMM1: u32>(a: v2i64) -> v2i64 {
3391    static_assert_uimm_bits!(IMM1, 1);
3392    __lsx_vreplvei_d(a, IMM1)
3393}
3394
3395#[inline]
3396#[target_feature(enable = "lsx")]
3397#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3398pub unsafe fn lsx_vpickev_b(a: v16i8, b: v16i8) -> v16i8 {
3399    __lsx_vpickev_b(a, b)
3400}
3401
3402#[inline]
3403#[target_feature(enable = "lsx")]
3404#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3405pub unsafe fn lsx_vpickev_h(a: v8i16, b: v8i16) -> v8i16 {
3406    __lsx_vpickev_h(a, b)
3407}
3408
3409#[inline]
3410#[target_feature(enable = "lsx")]
3411#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3412pub unsafe fn lsx_vpickev_w(a: v4i32, b: v4i32) -> v4i32 {
3413    __lsx_vpickev_w(a, b)
3414}
3415
3416#[inline]
3417#[target_feature(enable = "lsx")]
3418#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3419pub unsafe fn lsx_vpickev_d(a: v2i64, b: v2i64) -> v2i64 {
3420    __lsx_vpickev_d(a, b)
3421}
3422
3423#[inline]
3424#[target_feature(enable = "lsx")]
3425#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3426pub unsafe fn lsx_vpickod_b(a: v16i8, b: v16i8) -> v16i8 {
3427    __lsx_vpickod_b(a, b)
3428}
3429
3430#[inline]
3431#[target_feature(enable = "lsx")]
3432#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3433pub unsafe fn lsx_vpickod_h(a: v8i16, b: v8i16) -> v8i16 {
3434    __lsx_vpickod_h(a, b)
3435}
3436
3437#[inline]
3438#[target_feature(enable = "lsx")]
3439#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3440pub unsafe fn lsx_vpickod_w(a: v4i32, b: v4i32) -> v4i32 {
3441    __lsx_vpickod_w(a, b)
3442}
3443
3444#[inline]
3445#[target_feature(enable = "lsx")]
3446#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3447pub unsafe fn lsx_vpickod_d(a: v2i64, b: v2i64) -> v2i64 {
3448    __lsx_vpickod_d(a, b)
3449}
3450
3451#[inline]
3452#[target_feature(enable = "lsx")]
3453#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3454pub unsafe fn lsx_vilvh_b(a: v16i8, b: v16i8) -> v16i8 {
3455    __lsx_vilvh_b(a, b)
3456}
3457
3458#[inline]
3459#[target_feature(enable = "lsx")]
3460#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3461pub unsafe fn lsx_vilvh_h(a: v8i16, b: v8i16) -> v8i16 {
3462    __lsx_vilvh_h(a, b)
3463}
3464
3465#[inline]
3466#[target_feature(enable = "lsx")]
3467#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3468pub unsafe fn lsx_vilvh_w(a: v4i32, b: v4i32) -> v4i32 {
3469    __lsx_vilvh_w(a, b)
3470}
3471
3472#[inline]
3473#[target_feature(enable = "lsx")]
3474#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3475pub unsafe fn lsx_vilvh_d(a: v2i64, b: v2i64) -> v2i64 {
3476    __lsx_vilvh_d(a, b)
3477}
3478
3479#[inline]
3480#[target_feature(enable = "lsx")]
3481#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3482pub unsafe fn lsx_vilvl_b(a: v16i8, b: v16i8) -> v16i8 {
3483    __lsx_vilvl_b(a, b)
3484}
3485
3486#[inline]
3487#[target_feature(enable = "lsx")]
3488#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3489pub unsafe fn lsx_vilvl_h(a: v8i16, b: v8i16) -> v8i16 {
3490    __lsx_vilvl_h(a, b)
3491}
3492
3493#[inline]
3494#[target_feature(enable = "lsx")]
3495#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3496pub unsafe fn lsx_vilvl_w(a: v4i32, b: v4i32) -> v4i32 {
3497    __lsx_vilvl_w(a, b)
3498}
3499
3500#[inline]
3501#[target_feature(enable = "lsx")]
3502#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3503pub unsafe fn lsx_vilvl_d(a: v2i64, b: v2i64) -> v2i64 {
3504    __lsx_vilvl_d(a, b)
3505}
3506
3507#[inline]
3508#[target_feature(enable = "lsx")]
3509#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3510pub unsafe fn lsx_vpackev_b(a: v16i8, b: v16i8) -> v16i8 {
3511    __lsx_vpackev_b(a, b)
3512}
3513
3514#[inline]
3515#[target_feature(enable = "lsx")]
3516#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3517pub unsafe fn lsx_vpackev_h(a: v8i16, b: v8i16) -> v8i16 {
3518    __lsx_vpackev_h(a, b)
3519}
3520
3521#[inline]
3522#[target_feature(enable = "lsx")]
3523#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3524pub unsafe fn lsx_vpackev_w(a: v4i32, b: v4i32) -> v4i32 {
3525    __lsx_vpackev_w(a, b)
3526}
3527
3528#[inline]
3529#[target_feature(enable = "lsx")]
3530#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3531pub unsafe fn lsx_vpackev_d(a: v2i64, b: v2i64) -> v2i64 {
3532    __lsx_vpackev_d(a, b)
3533}
3534
3535#[inline]
3536#[target_feature(enable = "lsx")]
3537#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3538pub unsafe fn lsx_vpackod_b(a: v16i8, b: v16i8) -> v16i8 {
3539    __lsx_vpackod_b(a, b)
3540}
3541
3542#[inline]
3543#[target_feature(enable = "lsx")]
3544#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3545pub unsafe fn lsx_vpackod_h(a: v8i16, b: v8i16) -> v8i16 {
3546    __lsx_vpackod_h(a, b)
3547}
3548
3549#[inline]
3550#[target_feature(enable = "lsx")]
3551#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3552pub unsafe fn lsx_vpackod_w(a: v4i32, b: v4i32) -> v4i32 {
3553    __lsx_vpackod_w(a, b)
3554}
3555
3556#[inline]
3557#[target_feature(enable = "lsx")]
3558#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3559pub unsafe fn lsx_vpackod_d(a: v2i64, b: v2i64) -> v2i64 {
3560    __lsx_vpackod_d(a, b)
3561}
3562
3563#[inline]
3564#[target_feature(enable = "lsx")]
3565#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3566pub unsafe fn lsx_vshuf_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16 {
3567    __lsx_vshuf_h(a, b, c)
3568}
3569
3570#[inline]
3571#[target_feature(enable = "lsx")]
3572#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3573pub unsafe fn lsx_vshuf_w(a: v4i32, b: v4i32, c: v4i32) -> v4i32 {
3574    __lsx_vshuf_w(a, b, c)
3575}
3576
3577#[inline]
3578#[target_feature(enable = "lsx")]
3579#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3580pub unsafe fn lsx_vshuf_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64 {
3581    __lsx_vshuf_d(a, b, c)
3582}
3583
3584#[inline]
3585#[target_feature(enable = "lsx")]
3586#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3587pub unsafe fn lsx_vand_v(a: v16u8, b: v16u8) -> v16u8 {
3588    __lsx_vand_v(a, b)
3589}
3590
3591#[inline]
3592#[target_feature(enable = "lsx")]
3593#[rustc_legacy_const_generics(1)]
3594#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3595pub unsafe fn lsx_vandi_b<const IMM8: u32>(a: v16u8) -> v16u8 {
3596    static_assert_uimm_bits!(IMM8, 8);
3597    __lsx_vandi_b(a, IMM8)
3598}
3599
3600#[inline]
3601#[target_feature(enable = "lsx")]
3602#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3603pub unsafe fn lsx_vor_v(a: v16u8, b: v16u8) -> v16u8 {
3604    __lsx_vor_v(a, b)
3605}
3606
3607#[inline]
3608#[target_feature(enable = "lsx")]
3609#[rustc_legacy_const_generics(1)]
3610#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3611pub unsafe fn lsx_vori_b<const IMM8: u32>(a: v16u8) -> v16u8 {
3612    static_assert_uimm_bits!(IMM8, 8);
3613    __lsx_vori_b(a, IMM8)
3614}
3615
3616#[inline]
3617#[target_feature(enable = "lsx")]
3618#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3619pub unsafe fn lsx_vnor_v(a: v16u8, b: v16u8) -> v16u8 {
3620    __lsx_vnor_v(a, b)
3621}
3622
3623#[inline]
3624#[target_feature(enable = "lsx")]
3625#[rustc_legacy_const_generics(1)]
3626#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3627pub unsafe fn lsx_vnori_b<const IMM8: u32>(a: v16u8) -> v16u8 {
3628    static_assert_uimm_bits!(IMM8, 8);
3629    __lsx_vnori_b(a, IMM8)
3630}
3631
3632#[inline]
3633#[target_feature(enable = "lsx")]
3634#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3635pub unsafe fn lsx_vxor_v(a: v16u8, b: v16u8) -> v16u8 {
3636    __lsx_vxor_v(a, b)
3637}
3638
3639#[inline]
3640#[target_feature(enable = "lsx")]
3641#[rustc_legacy_const_generics(1)]
3642#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3643pub unsafe fn lsx_vxori_b<const IMM8: u32>(a: v16u8) -> v16u8 {
3644    static_assert_uimm_bits!(IMM8, 8);
3645    __lsx_vxori_b(a, IMM8)
3646}
3647
3648#[inline]
3649#[target_feature(enable = "lsx")]
3650#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3651pub unsafe fn lsx_vbitsel_v(a: v16u8, b: v16u8, c: v16u8) -> v16u8 {
3652    __lsx_vbitsel_v(a, b, c)
3653}
3654
3655#[inline]
3656#[target_feature(enable = "lsx")]
3657#[rustc_legacy_const_generics(2)]
3658#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3659pub unsafe fn lsx_vbitseli_b<const IMM8: u32>(a: v16u8, b: v16u8) -> v16u8 {
3660    static_assert_uimm_bits!(IMM8, 8);
3661    __lsx_vbitseli_b(a, b, IMM8)
3662}
3663
3664#[inline]
3665#[target_feature(enable = "lsx")]
3666#[rustc_legacy_const_generics(1)]
3667#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3668pub unsafe fn lsx_vshuf4i_b<const IMM8: u32>(a: v16i8) -> v16i8 {
3669    static_assert_uimm_bits!(IMM8, 8);
3670    __lsx_vshuf4i_b(a, IMM8)
3671}
3672
3673#[inline]
3674#[target_feature(enable = "lsx")]
3675#[rustc_legacy_const_generics(1)]
3676#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3677pub unsafe fn lsx_vshuf4i_h<const IMM8: u32>(a: v8i16) -> v8i16 {
3678    static_assert_uimm_bits!(IMM8, 8);
3679    __lsx_vshuf4i_h(a, IMM8)
3680}
3681
3682#[inline]
3683#[target_feature(enable = "lsx")]
3684#[rustc_legacy_const_generics(1)]
3685#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3686pub unsafe fn lsx_vshuf4i_w<const IMM8: u32>(a: v4i32) -> v4i32 {
3687    static_assert_uimm_bits!(IMM8, 8);
3688    __lsx_vshuf4i_w(a, IMM8)
3689}
3690
3691#[inline]
3692#[target_feature(enable = "lsx")]
3693#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3694pub unsafe fn lsx_vreplgr2vr_b(a: i32) -> v16i8 {
3695    __lsx_vreplgr2vr_b(a)
3696}
3697
3698#[inline]
3699#[target_feature(enable = "lsx")]
3700#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3701pub unsafe fn lsx_vreplgr2vr_h(a: i32) -> v8i16 {
3702    __lsx_vreplgr2vr_h(a)
3703}
3704
3705#[inline]
3706#[target_feature(enable = "lsx")]
3707#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3708pub unsafe fn lsx_vreplgr2vr_w(a: i32) -> v4i32 {
3709    __lsx_vreplgr2vr_w(a)
3710}
3711
3712#[inline]
3713#[target_feature(enable = "lsx")]
3714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3715pub unsafe fn lsx_vreplgr2vr_d(a: i64) -> v2i64 {
3716    __lsx_vreplgr2vr_d(a)
3717}
3718
3719#[inline]
3720#[target_feature(enable = "lsx")]
3721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3722pub unsafe fn lsx_vpcnt_b(a: v16i8) -> v16i8 {
3723    __lsx_vpcnt_b(a)
3724}
3725
3726#[inline]
3727#[target_feature(enable = "lsx")]
3728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3729pub unsafe fn lsx_vpcnt_h(a: v8i16) -> v8i16 {
3730    __lsx_vpcnt_h(a)
3731}
3732
3733#[inline]
3734#[target_feature(enable = "lsx")]
3735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3736pub unsafe fn lsx_vpcnt_w(a: v4i32) -> v4i32 {
3737    __lsx_vpcnt_w(a)
3738}
3739
3740#[inline]
3741#[target_feature(enable = "lsx")]
3742#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3743pub unsafe fn lsx_vpcnt_d(a: v2i64) -> v2i64 {
3744    __lsx_vpcnt_d(a)
3745}
3746
3747#[inline]
3748#[target_feature(enable = "lsx")]
3749#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3750pub unsafe fn lsx_vclo_b(a: v16i8) -> v16i8 {
3751    __lsx_vclo_b(a)
3752}
3753
3754#[inline]
3755#[target_feature(enable = "lsx")]
3756#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3757pub unsafe fn lsx_vclo_h(a: v8i16) -> v8i16 {
3758    __lsx_vclo_h(a)
3759}
3760
3761#[inline]
3762#[target_feature(enable = "lsx")]
3763#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3764pub unsafe fn lsx_vclo_w(a: v4i32) -> v4i32 {
3765    __lsx_vclo_w(a)
3766}
3767
3768#[inline]
3769#[target_feature(enable = "lsx")]
3770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3771pub unsafe fn lsx_vclo_d(a: v2i64) -> v2i64 {
3772    __lsx_vclo_d(a)
3773}
3774
3775#[inline]
3776#[target_feature(enable = "lsx")]
3777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3778pub unsafe fn lsx_vclz_b(a: v16i8) -> v16i8 {
3779    __lsx_vclz_b(a)
3780}
3781
3782#[inline]
3783#[target_feature(enable = "lsx")]
3784#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3785pub unsafe fn lsx_vclz_h(a: v8i16) -> v8i16 {
3786    __lsx_vclz_h(a)
3787}
3788
3789#[inline]
3790#[target_feature(enable = "lsx")]
3791#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3792pub unsafe fn lsx_vclz_w(a: v4i32) -> v4i32 {
3793    __lsx_vclz_w(a)
3794}
3795
3796#[inline]
3797#[target_feature(enable = "lsx")]
3798#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3799pub unsafe fn lsx_vclz_d(a: v2i64) -> v2i64 {
3800    __lsx_vclz_d(a)
3801}
3802
3803#[inline]
3804#[target_feature(enable = "lsx")]
3805#[rustc_legacy_const_generics(1)]
3806#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3807pub unsafe fn lsx_vpickve2gr_b<const IMM4: u32>(a: v16i8) -> i32 {
3808    static_assert_uimm_bits!(IMM4, 4);
3809    __lsx_vpickve2gr_b(a, IMM4)
3810}
3811
3812#[inline]
3813#[target_feature(enable = "lsx")]
3814#[rustc_legacy_const_generics(1)]
3815#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3816pub unsafe fn lsx_vpickve2gr_h<const IMM3: u32>(a: v8i16) -> i32 {
3817    static_assert_uimm_bits!(IMM3, 3);
3818    __lsx_vpickve2gr_h(a, IMM3)
3819}
3820
3821#[inline]
3822#[target_feature(enable = "lsx")]
3823#[rustc_legacy_const_generics(1)]
3824#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3825pub unsafe fn lsx_vpickve2gr_w<const IMM2: u32>(a: v4i32) -> i32 {
3826    static_assert_uimm_bits!(IMM2, 2);
3827    __lsx_vpickve2gr_w(a, IMM2)
3828}
3829
3830#[inline]
3831#[target_feature(enable = "lsx")]
3832#[rustc_legacy_const_generics(1)]
3833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3834pub unsafe fn lsx_vpickve2gr_d<const IMM1: u32>(a: v2i64) -> i64 {
3835    static_assert_uimm_bits!(IMM1, 1);
3836    __lsx_vpickve2gr_d(a, IMM1)
3837}
3838
3839#[inline]
3840#[target_feature(enable = "lsx")]
3841#[rustc_legacy_const_generics(1)]
3842#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3843pub unsafe fn lsx_vpickve2gr_bu<const IMM4: u32>(a: v16i8) -> u32 {
3844    static_assert_uimm_bits!(IMM4, 4);
3845    __lsx_vpickve2gr_bu(a, IMM4)
3846}
3847
3848#[inline]
3849#[target_feature(enable = "lsx")]
3850#[rustc_legacy_const_generics(1)]
3851#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3852pub unsafe fn lsx_vpickve2gr_hu<const IMM3: u32>(a: v8i16) -> u32 {
3853    static_assert_uimm_bits!(IMM3, 3);
3854    __lsx_vpickve2gr_hu(a, IMM3)
3855}
3856
3857#[inline]
3858#[target_feature(enable = "lsx")]
3859#[rustc_legacy_const_generics(1)]
3860#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3861pub unsafe fn lsx_vpickve2gr_wu<const IMM2: u32>(a: v4i32) -> u32 {
3862    static_assert_uimm_bits!(IMM2, 2);
3863    __lsx_vpickve2gr_wu(a, IMM2)
3864}
3865
3866#[inline]
3867#[target_feature(enable = "lsx")]
3868#[rustc_legacy_const_generics(1)]
3869#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3870pub unsafe fn lsx_vpickve2gr_du<const IMM1: u32>(a: v2i64) -> u64 {
3871    static_assert_uimm_bits!(IMM1, 1);
3872    __lsx_vpickve2gr_du(a, IMM1)
3873}
3874
3875#[inline]
3876#[target_feature(enable = "lsx")]
3877#[rustc_legacy_const_generics(2)]
3878#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3879pub unsafe fn lsx_vinsgr2vr_b<const IMM4: u32>(a: v16i8, b: i32) -> v16i8 {
3880    static_assert_uimm_bits!(IMM4, 4);
3881    __lsx_vinsgr2vr_b(a, b, IMM4)
3882}
3883
3884#[inline]
3885#[target_feature(enable = "lsx")]
3886#[rustc_legacy_const_generics(2)]
3887#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3888pub unsafe fn lsx_vinsgr2vr_h<const IMM3: u32>(a: v8i16, b: i32) -> v8i16 {
3889    static_assert_uimm_bits!(IMM3, 3);
3890    __lsx_vinsgr2vr_h(a, b, IMM3)
3891}
3892
3893#[inline]
3894#[target_feature(enable = "lsx")]
3895#[rustc_legacy_const_generics(2)]
3896#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3897pub unsafe fn lsx_vinsgr2vr_w<const IMM2: u32>(a: v4i32, b: i32) -> v4i32 {
3898    static_assert_uimm_bits!(IMM2, 2);
3899    __lsx_vinsgr2vr_w(a, b, IMM2)
3900}
3901
3902#[inline]
3903#[target_feature(enable = "lsx")]
3904#[rustc_legacy_const_generics(2)]
3905#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3906pub unsafe fn lsx_vinsgr2vr_d<const IMM1: u32>(a: v2i64, b: i64) -> v2i64 {
3907    static_assert_uimm_bits!(IMM1, 1);
3908    __lsx_vinsgr2vr_d(a, b, IMM1)
3909}
3910
3911#[inline]
3912#[target_feature(enable = "lsx")]
3913#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3914pub unsafe fn lsx_vfadd_s(a: v4f32, b: v4f32) -> v4f32 {
3915    __lsx_vfadd_s(a, b)
3916}
3917
3918#[inline]
3919#[target_feature(enable = "lsx")]
3920#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3921pub unsafe fn lsx_vfadd_d(a: v2f64, b: v2f64) -> v2f64 {
3922    __lsx_vfadd_d(a, b)
3923}
3924
3925#[inline]
3926#[target_feature(enable = "lsx")]
3927#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3928pub unsafe fn lsx_vfsub_s(a: v4f32, b: v4f32) -> v4f32 {
3929    __lsx_vfsub_s(a, b)
3930}
3931
3932#[inline]
3933#[target_feature(enable = "lsx")]
3934#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3935pub unsafe fn lsx_vfsub_d(a: v2f64, b: v2f64) -> v2f64 {
3936    __lsx_vfsub_d(a, b)
3937}
3938
3939#[inline]
3940#[target_feature(enable = "lsx")]
3941#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3942pub unsafe fn lsx_vfmul_s(a: v4f32, b: v4f32) -> v4f32 {
3943    __lsx_vfmul_s(a, b)
3944}
3945
3946#[inline]
3947#[target_feature(enable = "lsx")]
3948#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3949pub unsafe fn lsx_vfmul_d(a: v2f64, b: v2f64) -> v2f64 {
3950    __lsx_vfmul_d(a, b)
3951}
3952
3953#[inline]
3954#[target_feature(enable = "lsx")]
3955#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3956pub unsafe fn lsx_vfdiv_s(a: v4f32, b: v4f32) -> v4f32 {
3957    __lsx_vfdiv_s(a, b)
3958}
3959
3960#[inline]
3961#[target_feature(enable = "lsx")]
3962#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3963pub unsafe fn lsx_vfdiv_d(a: v2f64, b: v2f64) -> v2f64 {
3964    __lsx_vfdiv_d(a, b)
3965}
3966
3967#[inline]
3968#[target_feature(enable = "lsx")]
3969#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3970pub unsafe fn lsx_vfcvt_h_s(a: v4f32, b: v4f32) -> v8i16 {
3971    __lsx_vfcvt_h_s(a, b)
3972}
3973
3974#[inline]
3975#[target_feature(enable = "lsx")]
3976#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3977pub unsafe fn lsx_vfcvt_s_d(a: v2f64, b: v2f64) -> v4f32 {
3978    __lsx_vfcvt_s_d(a, b)
3979}
3980
3981#[inline]
3982#[target_feature(enable = "lsx")]
3983#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3984pub unsafe fn lsx_vfmin_s(a: v4f32, b: v4f32) -> v4f32 {
3985    __lsx_vfmin_s(a, b)
3986}
3987
3988#[inline]
3989#[target_feature(enable = "lsx")]
3990#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3991pub unsafe fn lsx_vfmin_d(a: v2f64, b: v2f64) -> v2f64 {
3992    __lsx_vfmin_d(a, b)
3993}
3994
3995#[inline]
3996#[target_feature(enable = "lsx")]
3997#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3998pub unsafe fn lsx_vfmina_s(a: v4f32, b: v4f32) -> v4f32 {
3999    __lsx_vfmina_s(a, b)
4000}
4001
4002#[inline]
4003#[target_feature(enable = "lsx")]
4004#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4005pub unsafe fn lsx_vfmina_d(a: v2f64, b: v2f64) -> v2f64 {
4006    __lsx_vfmina_d(a, b)
4007}
4008
4009#[inline]
4010#[target_feature(enable = "lsx")]
4011#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4012pub unsafe fn lsx_vfmax_s(a: v4f32, b: v4f32) -> v4f32 {
4013    __lsx_vfmax_s(a, b)
4014}
4015
4016#[inline]
4017#[target_feature(enable = "lsx")]
4018#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4019pub unsafe fn lsx_vfmax_d(a: v2f64, b: v2f64) -> v2f64 {
4020    __lsx_vfmax_d(a, b)
4021}
4022
4023#[inline]
4024#[target_feature(enable = "lsx")]
4025#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4026pub unsafe fn lsx_vfmaxa_s(a: v4f32, b: v4f32) -> v4f32 {
4027    __lsx_vfmaxa_s(a, b)
4028}
4029
4030#[inline]
4031#[target_feature(enable = "lsx")]
4032#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4033pub unsafe fn lsx_vfmaxa_d(a: v2f64, b: v2f64) -> v2f64 {
4034    __lsx_vfmaxa_d(a, b)
4035}
4036
4037#[inline]
4038#[target_feature(enable = "lsx")]
4039#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4040pub unsafe fn lsx_vfclass_s(a: v4f32) -> v4i32 {
4041    __lsx_vfclass_s(a)
4042}
4043
4044#[inline]
4045#[target_feature(enable = "lsx")]
4046#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4047pub unsafe fn lsx_vfclass_d(a: v2f64) -> v2i64 {
4048    __lsx_vfclass_d(a)
4049}
4050
4051#[inline]
4052#[target_feature(enable = "lsx")]
4053#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4054pub unsafe fn lsx_vfsqrt_s(a: v4f32) -> v4f32 {
4055    __lsx_vfsqrt_s(a)
4056}
4057
4058#[inline]
4059#[target_feature(enable = "lsx")]
4060#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4061pub unsafe fn lsx_vfsqrt_d(a: v2f64) -> v2f64 {
4062    __lsx_vfsqrt_d(a)
4063}
4064
4065#[inline]
4066#[target_feature(enable = "lsx")]
4067#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4068pub unsafe fn lsx_vfrecip_s(a: v4f32) -> v4f32 {
4069    __lsx_vfrecip_s(a)
4070}
4071
4072#[inline]
4073#[target_feature(enable = "lsx")]
4074#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4075pub unsafe fn lsx_vfrecip_d(a: v2f64) -> v2f64 {
4076    __lsx_vfrecip_d(a)
4077}
4078
4079#[inline]
4080#[target_feature(enable = "lsx,frecipe")]
4081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4082pub unsafe fn lsx_vfrecipe_s(a: v4f32) -> v4f32 {
4083    __lsx_vfrecipe_s(a)
4084}
4085
4086#[inline]
4087#[target_feature(enable = "lsx,frecipe")]
4088#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4089pub unsafe fn lsx_vfrecipe_d(a: v2f64) -> v2f64 {
4090    __lsx_vfrecipe_d(a)
4091}
4092
4093#[inline]
4094#[target_feature(enable = "lsx,frecipe")]
4095#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4096pub unsafe fn lsx_vfrsqrte_s(a: v4f32) -> v4f32 {
4097    __lsx_vfrsqrte_s(a)
4098}
4099
4100#[inline]
4101#[target_feature(enable = "lsx,frecipe")]
4102#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4103pub unsafe fn lsx_vfrsqrte_d(a: v2f64) -> v2f64 {
4104    __lsx_vfrsqrte_d(a)
4105}
4106
4107#[inline]
4108#[target_feature(enable = "lsx")]
4109#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4110pub unsafe fn lsx_vfrint_s(a: v4f32) -> v4f32 {
4111    __lsx_vfrint_s(a)
4112}
4113
4114#[inline]
4115#[target_feature(enable = "lsx")]
4116#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4117pub unsafe fn lsx_vfrint_d(a: v2f64) -> v2f64 {
4118    __lsx_vfrint_d(a)
4119}
4120
4121#[inline]
4122#[target_feature(enable = "lsx")]
4123#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4124pub unsafe fn lsx_vfrsqrt_s(a: v4f32) -> v4f32 {
4125    __lsx_vfrsqrt_s(a)
4126}
4127
4128#[inline]
4129#[target_feature(enable = "lsx")]
4130#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4131pub unsafe fn lsx_vfrsqrt_d(a: v2f64) -> v2f64 {
4132    __lsx_vfrsqrt_d(a)
4133}
4134
4135#[inline]
4136#[target_feature(enable = "lsx")]
4137#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4138pub unsafe fn lsx_vflogb_s(a: v4f32) -> v4f32 {
4139    __lsx_vflogb_s(a)
4140}
4141
4142#[inline]
4143#[target_feature(enable = "lsx")]
4144#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4145pub unsafe fn lsx_vflogb_d(a: v2f64) -> v2f64 {
4146    __lsx_vflogb_d(a)
4147}
4148
4149#[inline]
4150#[target_feature(enable = "lsx")]
4151#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4152pub unsafe fn lsx_vfcvth_s_h(a: v8i16) -> v4f32 {
4153    __lsx_vfcvth_s_h(a)
4154}
4155
4156#[inline]
4157#[target_feature(enable = "lsx")]
4158#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4159pub unsafe fn lsx_vfcvth_d_s(a: v4f32) -> v2f64 {
4160    __lsx_vfcvth_d_s(a)
4161}
4162
4163#[inline]
4164#[target_feature(enable = "lsx")]
4165#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4166pub unsafe fn lsx_vfcvtl_s_h(a: v8i16) -> v4f32 {
4167    __lsx_vfcvtl_s_h(a)
4168}
4169
4170#[inline]
4171#[target_feature(enable = "lsx")]
4172#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4173pub unsafe fn lsx_vfcvtl_d_s(a: v4f32) -> v2f64 {
4174    __lsx_vfcvtl_d_s(a)
4175}
4176
4177#[inline]
4178#[target_feature(enable = "lsx")]
4179#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4180pub unsafe fn lsx_vftint_w_s(a: v4f32) -> v4i32 {
4181    __lsx_vftint_w_s(a)
4182}
4183
4184#[inline]
4185#[target_feature(enable = "lsx")]
4186#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4187pub unsafe fn lsx_vftint_l_d(a: v2f64) -> v2i64 {
4188    __lsx_vftint_l_d(a)
4189}
4190
4191#[inline]
4192#[target_feature(enable = "lsx")]
4193#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4194pub unsafe fn lsx_vftint_wu_s(a: v4f32) -> v4u32 {
4195    __lsx_vftint_wu_s(a)
4196}
4197
4198#[inline]
4199#[target_feature(enable = "lsx")]
4200#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4201pub unsafe fn lsx_vftint_lu_d(a: v2f64) -> v2u64 {
4202    __lsx_vftint_lu_d(a)
4203}
4204
4205#[inline]
4206#[target_feature(enable = "lsx")]
4207#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4208pub unsafe fn lsx_vftintrz_w_s(a: v4f32) -> v4i32 {
4209    __lsx_vftintrz_w_s(a)
4210}
4211
4212#[inline]
4213#[target_feature(enable = "lsx")]
4214#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4215pub unsafe fn lsx_vftintrz_l_d(a: v2f64) -> v2i64 {
4216    __lsx_vftintrz_l_d(a)
4217}
4218
4219#[inline]
4220#[target_feature(enable = "lsx")]
4221#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4222pub unsafe fn lsx_vftintrz_wu_s(a: v4f32) -> v4u32 {
4223    __lsx_vftintrz_wu_s(a)
4224}
4225
4226#[inline]
4227#[target_feature(enable = "lsx")]
4228#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4229pub unsafe fn lsx_vftintrz_lu_d(a: v2f64) -> v2u64 {
4230    __lsx_vftintrz_lu_d(a)
4231}
4232
4233#[inline]
4234#[target_feature(enable = "lsx")]
4235#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4236pub unsafe fn lsx_vffint_s_w(a: v4i32) -> v4f32 {
4237    __lsx_vffint_s_w(a)
4238}
4239
4240#[inline]
4241#[target_feature(enable = "lsx")]
4242#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4243pub unsafe fn lsx_vffint_d_l(a: v2i64) -> v2f64 {
4244    __lsx_vffint_d_l(a)
4245}
4246
4247#[inline]
4248#[target_feature(enable = "lsx")]
4249#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4250pub unsafe fn lsx_vffint_s_wu(a: v4u32) -> v4f32 {
4251    __lsx_vffint_s_wu(a)
4252}
4253
4254#[inline]
4255#[target_feature(enable = "lsx")]
4256#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4257pub unsafe fn lsx_vffint_d_lu(a: v2u64) -> v2f64 {
4258    __lsx_vffint_d_lu(a)
4259}
4260
4261#[inline]
4262#[target_feature(enable = "lsx")]
4263#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4264pub unsafe fn lsx_vandn_v(a: v16u8, b: v16u8) -> v16u8 {
4265    __lsx_vandn_v(a, b)
4266}
4267
4268#[inline]
4269#[target_feature(enable = "lsx")]
4270#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4271pub unsafe fn lsx_vneg_b(a: v16i8) -> v16i8 {
4272    __lsx_vneg_b(a)
4273}
4274
4275#[inline]
4276#[target_feature(enable = "lsx")]
4277#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4278pub unsafe fn lsx_vneg_h(a: v8i16) -> v8i16 {
4279    __lsx_vneg_h(a)
4280}
4281
4282#[inline]
4283#[target_feature(enable = "lsx")]
4284#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4285pub unsafe fn lsx_vneg_w(a: v4i32) -> v4i32 {
4286    __lsx_vneg_w(a)
4287}
4288
4289#[inline]
4290#[target_feature(enable = "lsx")]
4291#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4292pub unsafe fn lsx_vneg_d(a: v2i64) -> v2i64 {
4293    __lsx_vneg_d(a)
4294}
4295
4296#[inline]
4297#[target_feature(enable = "lsx")]
4298#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4299pub unsafe fn lsx_vmuh_b(a: v16i8, b: v16i8) -> v16i8 {
4300    __lsx_vmuh_b(a, b)
4301}
4302
4303#[inline]
4304#[target_feature(enable = "lsx")]
4305#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4306pub unsafe fn lsx_vmuh_h(a: v8i16, b: v8i16) -> v8i16 {
4307    __lsx_vmuh_h(a, b)
4308}
4309
4310#[inline]
4311#[target_feature(enable = "lsx")]
4312#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4313pub unsafe fn lsx_vmuh_w(a: v4i32, b: v4i32) -> v4i32 {
4314    __lsx_vmuh_w(a, b)
4315}
4316
4317#[inline]
4318#[target_feature(enable = "lsx")]
4319#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4320pub unsafe fn lsx_vmuh_d(a: v2i64, b: v2i64) -> v2i64 {
4321    __lsx_vmuh_d(a, b)
4322}
4323
4324#[inline]
4325#[target_feature(enable = "lsx")]
4326#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4327pub unsafe fn lsx_vmuh_bu(a: v16u8, b: v16u8) -> v16u8 {
4328    __lsx_vmuh_bu(a, b)
4329}
4330
4331#[inline]
4332#[target_feature(enable = "lsx")]
4333#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4334pub unsafe fn lsx_vmuh_hu(a: v8u16, b: v8u16) -> v8u16 {
4335    __lsx_vmuh_hu(a, b)
4336}
4337
4338#[inline]
4339#[target_feature(enable = "lsx")]
4340#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4341pub unsafe fn lsx_vmuh_wu(a: v4u32, b: v4u32) -> v4u32 {
4342    __lsx_vmuh_wu(a, b)
4343}
4344
4345#[inline]
4346#[target_feature(enable = "lsx")]
4347#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4348pub unsafe fn lsx_vmuh_du(a: v2u64, b: v2u64) -> v2u64 {
4349    __lsx_vmuh_du(a, b)
4350}
4351
4352#[inline]
4353#[target_feature(enable = "lsx")]
4354#[rustc_legacy_const_generics(1)]
4355#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4356pub unsafe fn lsx_vsllwil_h_b<const IMM3: u32>(a: v16i8) -> v8i16 {
4357    static_assert_uimm_bits!(IMM3, 3);
4358    __lsx_vsllwil_h_b(a, IMM3)
4359}
4360
4361#[inline]
4362#[target_feature(enable = "lsx")]
4363#[rustc_legacy_const_generics(1)]
4364#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4365pub unsafe fn lsx_vsllwil_w_h<const IMM4: u32>(a: v8i16) -> v4i32 {
4366    static_assert_uimm_bits!(IMM4, 4);
4367    __lsx_vsllwil_w_h(a, IMM4)
4368}
4369
4370#[inline]
4371#[target_feature(enable = "lsx")]
4372#[rustc_legacy_const_generics(1)]
4373#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4374pub unsafe fn lsx_vsllwil_d_w<const IMM5: u32>(a: v4i32) -> v2i64 {
4375    static_assert_uimm_bits!(IMM5, 5);
4376    __lsx_vsllwil_d_w(a, IMM5)
4377}
4378
4379#[inline]
4380#[target_feature(enable = "lsx")]
4381#[rustc_legacy_const_generics(1)]
4382#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4383pub unsafe fn lsx_vsllwil_hu_bu<const IMM3: u32>(a: v16u8) -> v8u16 {
4384    static_assert_uimm_bits!(IMM3, 3);
4385    __lsx_vsllwil_hu_bu(a, IMM3)
4386}
4387
4388#[inline]
4389#[target_feature(enable = "lsx")]
4390#[rustc_legacy_const_generics(1)]
4391#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4392pub unsafe fn lsx_vsllwil_wu_hu<const IMM4: u32>(a: v8u16) -> v4u32 {
4393    static_assert_uimm_bits!(IMM4, 4);
4394    __lsx_vsllwil_wu_hu(a, IMM4)
4395}
4396
4397#[inline]
4398#[target_feature(enable = "lsx")]
4399#[rustc_legacy_const_generics(1)]
4400#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4401pub unsafe fn lsx_vsllwil_du_wu<const IMM5: u32>(a: v4u32) -> v2u64 {
4402    static_assert_uimm_bits!(IMM5, 5);
4403    __lsx_vsllwil_du_wu(a, IMM5)
4404}
4405
4406#[inline]
4407#[target_feature(enable = "lsx")]
4408#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4409pub unsafe fn lsx_vsran_b_h(a: v8i16, b: v8i16) -> v16i8 {
4410    __lsx_vsran_b_h(a, b)
4411}
4412
4413#[inline]
4414#[target_feature(enable = "lsx")]
4415#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4416pub unsafe fn lsx_vsran_h_w(a: v4i32, b: v4i32) -> v8i16 {
4417    __lsx_vsran_h_w(a, b)
4418}
4419
4420#[inline]
4421#[target_feature(enable = "lsx")]
4422#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4423pub unsafe fn lsx_vsran_w_d(a: v2i64, b: v2i64) -> v4i32 {
4424    __lsx_vsran_w_d(a, b)
4425}
4426
4427#[inline]
4428#[target_feature(enable = "lsx")]
4429#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4430pub unsafe fn lsx_vssran_b_h(a: v8i16, b: v8i16) -> v16i8 {
4431    __lsx_vssran_b_h(a, b)
4432}
4433
4434#[inline]
4435#[target_feature(enable = "lsx")]
4436#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4437pub unsafe fn lsx_vssran_h_w(a: v4i32, b: v4i32) -> v8i16 {
4438    __lsx_vssran_h_w(a, b)
4439}
4440
4441#[inline]
4442#[target_feature(enable = "lsx")]
4443#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4444pub unsafe fn lsx_vssran_w_d(a: v2i64, b: v2i64) -> v4i32 {
4445    __lsx_vssran_w_d(a, b)
4446}
4447
4448#[inline]
4449#[target_feature(enable = "lsx")]
4450#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4451pub unsafe fn lsx_vssran_bu_h(a: v8u16, b: v8u16) -> v16u8 {
4452    __lsx_vssran_bu_h(a, b)
4453}
4454
4455#[inline]
4456#[target_feature(enable = "lsx")]
4457#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4458pub unsafe fn lsx_vssran_hu_w(a: v4u32, b: v4u32) -> v8u16 {
4459    __lsx_vssran_hu_w(a, b)
4460}
4461
4462#[inline]
4463#[target_feature(enable = "lsx")]
4464#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4465pub unsafe fn lsx_vssran_wu_d(a: v2u64, b: v2u64) -> v4u32 {
4466    __lsx_vssran_wu_d(a, b)
4467}
4468
4469#[inline]
4470#[target_feature(enable = "lsx")]
4471#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4472pub unsafe fn lsx_vsrarn_b_h(a: v8i16, b: v8i16) -> v16i8 {
4473    __lsx_vsrarn_b_h(a, b)
4474}
4475
4476#[inline]
4477#[target_feature(enable = "lsx")]
4478#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4479pub unsafe fn lsx_vsrarn_h_w(a: v4i32, b: v4i32) -> v8i16 {
4480    __lsx_vsrarn_h_w(a, b)
4481}
4482
4483#[inline]
4484#[target_feature(enable = "lsx")]
4485#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4486pub unsafe fn lsx_vsrarn_w_d(a: v2i64, b: v2i64) -> v4i32 {
4487    __lsx_vsrarn_w_d(a, b)
4488}
4489
4490#[inline]
4491#[target_feature(enable = "lsx")]
4492#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4493pub unsafe fn lsx_vssrarn_b_h(a: v8i16, b: v8i16) -> v16i8 {
4494    __lsx_vssrarn_b_h(a, b)
4495}
4496
4497#[inline]
4498#[target_feature(enable = "lsx")]
4499#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4500pub unsafe fn lsx_vssrarn_h_w(a: v4i32, b: v4i32) -> v8i16 {
4501    __lsx_vssrarn_h_w(a, b)
4502}
4503
4504#[inline]
4505#[target_feature(enable = "lsx")]
4506#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4507pub unsafe fn lsx_vssrarn_w_d(a: v2i64, b: v2i64) -> v4i32 {
4508    __lsx_vssrarn_w_d(a, b)
4509}
4510
4511#[inline]
4512#[target_feature(enable = "lsx")]
4513#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4514pub unsafe fn lsx_vssrarn_bu_h(a: v8u16, b: v8u16) -> v16u8 {
4515    __lsx_vssrarn_bu_h(a, b)
4516}
4517
4518#[inline]
4519#[target_feature(enable = "lsx")]
4520#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4521pub unsafe fn lsx_vssrarn_hu_w(a: v4u32, b: v4u32) -> v8u16 {
4522    __lsx_vssrarn_hu_w(a, b)
4523}
4524
4525#[inline]
4526#[target_feature(enable = "lsx")]
4527#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4528pub unsafe fn lsx_vssrarn_wu_d(a: v2u64, b: v2u64) -> v4u32 {
4529    __lsx_vssrarn_wu_d(a, b)
4530}
4531
4532#[inline]
4533#[target_feature(enable = "lsx")]
4534#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4535pub unsafe fn lsx_vsrln_b_h(a: v8i16, b: v8i16) -> v16i8 {
4536    __lsx_vsrln_b_h(a, b)
4537}
4538
4539#[inline]
4540#[target_feature(enable = "lsx")]
4541#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4542pub unsafe fn lsx_vsrln_h_w(a: v4i32, b: v4i32) -> v8i16 {
4543    __lsx_vsrln_h_w(a, b)
4544}
4545
4546#[inline]
4547#[target_feature(enable = "lsx")]
4548#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4549pub unsafe fn lsx_vsrln_w_d(a: v2i64, b: v2i64) -> v4i32 {
4550    __lsx_vsrln_w_d(a, b)
4551}
4552
4553#[inline]
4554#[target_feature(enable = "lsx")]
4555#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4556pub unsafe fn lsx_vssrln_bu_h(a: v8u16, b: v8u16) -> v16u8 {
4557    __lsx_vssrln_bu_h(a, b)
4558}
4559
4560#[inline]
4561#[target_feature(enable = "lsx")]
4562#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4563pub unsafe fn lsx_vssrln_hu_w(a: v4u32, b: v4u32) -> v8u16 {
4564    __lsx_vssrln_hu_w(a, b)
4565}
4566
4567#[inline]
4568#[target_feature(enable = "lsx")]
4569#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4570pub unsafe fn lsx_vssrln_wu_d(a: v2u64, b: v2u64) -> v4u32 {
4571    __lsx_vssrln_wu_d(a, b)
4572}
4573
4574#[inline]
4575#[target_feature(enable = "lsx")]
4576#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4577pub unsafe fn lsx_vsrlrn_b_h(a: v8i16, b: v8i16) -> v16i8 {
4578    __lsx_vsrlrn_b_h(a, b)
4579}
4580
4581#[inline]
4582#[target_feature(enable = "lsx")]
4583#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4584pub unsafe fn lsx_vsrlrn_h_w(a: v4i32, b: v4i32) -> v8i16 {
4585    __lsx_vsrlrn_h_w(a, b)
4586}
4587
4588#[inline]
4589#[target_feature(enable = "lsx")]
4590#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4591pub unsafe fn lsx_vsrlrn_w_d(a: v2i64, b: v2i64) -> v4i32 {
4592    __lsx_vsrlrn_w_d(a, b)
4593}
4594
4595#[inline]
4596#[target_feature(enable = "lsx")]
4597#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4598pub unsafe fn lsx_vssrlrn_bu_h(a: v8u16, b: v8u16) -> v16u8 {
4599    __lsx_vssrlrn_bu_h(a, b)
4600}
4601
4602#[inline]
4603#[target_feature(enable = "lsx")]
4604#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4605pub unsafe fn lsx_vssrlrn_hu_w(a: v4u32, b: v4u32) -> v8u16 {
4606    __lsx_vssrlrn_hu_w(a, b)
4607}
4608
4609#[inline]
4610#[target_feature(enable = "lsx")]
4611#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4612pub unsafe fn lsx_vssrlrn_wu_d(a: v2u64, b: v2u64) -> v4u32 {
4613    __lsx_vssrlrn_wu_d(a, b)
4614}
4615
4616#[inline]
4617#[target_feature(enable = "lsx")]
4618#[rustc_legacy_const_generics(2)]
4619#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4620pub unsafe fn lsx_vfrstpi_b<const IMM5: u32>(a: v16i8, b: v16i8) -> v16i8 {
4621    static_assert_uimm_bits!(IMM5, 5);
4622    __lsx_vfrstpi_b(a, b, IMM5)
4623}
4624
4625#[inline]
4626#[target_feature(enable = "lsx")]
4627#[rustc_legacy_const_generics(2)]
4628#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4629pub unsafe fn lsx_vfrstpi_h<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
4630    static_assert_uimm_bits!(IMM5, 5);
4631    __lsx_vfrstpi_h(a, b, IMM5)
4632}
4633
4634#[inline]
4635#[target_feature(enable = "lsx")]
4636#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4637pub unsafe fn lsx_vfrstp_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8 {
4638    __lsx_vfrstp_b(a, b, c)
4639}
4640
4641#[inline]
4642#[target_feature(enable = "lsx")]
4643#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4644pub unsafe fn lsx_vfrstp_h(a: v8i16, b: v8i16, c: v8i16) -> v8i16 {
4645    __lsx_vfrstp_h(a, b, c)
4646}
4647
4648#[inline]
4649#[target_feature(enable = "lsx")]
4650#[rustc_legacy_const_generics(2)]
4651#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4652pub unsafe fn lsx_vshuf4i_d<const IMM8: u32>(a: v2i64, b: v2i64) -> v2i64 {
4653    static_assert_uimm_bits!(IMM8, 8);
4654    __lsx_vshuf4i_d(a, b, IMM8)
4655}
4656
4657#[inline]
4658#[target_feature(enable = "lsx")]
4659#[rustc_legacy_const_generics(1)]
4660#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4661pub unsafe fn lsx_vbsrl_v<const IMM5: u32>(a: v16i8) -> v16i8 {
4662    static_assert_uimm_bits!(IMM5, 5);
4663    __lsx_vbsrl_v(a, IMM5)
4664}
4665
4666#[inline]
4667#[target_feature(enable = "lsx")]
4668#[rustc_legacy_const_generics(1)]
4669#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4670pub unsafe fn lsx_vbsll_v<const IMM5: u32>(a: v16i8) -> v16i8 {
4671    static_assert_uimm_bits!(IMM5, 5);
4672    __lsx_vbsll_v(a, IMM5)
4673}
4674
4675#[inline]
4676#[target_feature(enable = "lsx")]
4677#[rustc_legacy_const_generics(2)]
4678#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4679pub unsafe fn lsx_vextrins_b<const IMM8: u32>(a: v16i8, b: v16i8) -> v16i8 {
4680    static_assert_uimm_bits!(IMM8, 8);
4681    __lsx_vextrins_b(a, b, IMM8)
4682}
4683
4684#[inline]
4685#[target_feature(enable = "lsx")]
4686#[rustc_legacy_const_generics(2)]
4687#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4688pub unsafe fn lsx_vextrins_h<const IMM8: u32>(a: v8i16, b: v8i16) -> v8i16 {
4689    static_assert_uimm_bits!(IMM8, 8);
4690    __lsx_vextrins_h(a, b, IMM8)
4691}
4692
4693#[inline]
4694#[target_feature(enable = "lsx")]
4695#[rustc_legacy_const_generics(2)]
4696#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4697pub unsafe fn lsx_vextrins_w<const IMM8: u32>(a: v4i32, b: v4i32) -> v4i32 {
4698    static_assert_uimm_bits!(IMM8, 8);
4699    __lsx_vextrins_w(a, b, IMM8)
4700}
4701
4702#[inline]
4703#[target_feature(enable = "lsx")]
4704#[rustc_legacy_const_generics(2)]
4705#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4706pub unsafe fn lsx_vextrins_d<const IMM8: u32>(a: v2i64, b: v2i64) -> v2i64 {
4707    static_assert_uimm_bits!(IMM8, 8);
4708    __lsx_vextrins_d(a, b, IMM8)
4709}
4710
4711#[inline]
4712#[target_feature(enable = "lsx")]
4713#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4714pub unsafe fn lsx_vmskltz_b(a: v16i8) -> v16i8 {
4715    __lsx_vmskltz_b(a)
4716}
4717
4718#[inline]
4719#[target_feature(enable = "lsx")]
4720#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4721pub unsafe fn lsx_vmskltz_h(a: v8i16) -> v8i16 {
4722    __lsx_vmskltz_h(a)
4723}
4724
4725#[inline]
4726#[target_feature(enable = "lsx")]
4727#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4728pub unsafe fn lsx_vmskltz_w(a: v4i32) -> v4i32 {
4729    __lsx_vmskltz_w(a)
4730}
4731
4732#[inline]
4733#[target_feature(enable = "lsx")]
4734#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4735pub unsafe fn lsx_vmskltz_d(a: v2i64) -> v2i64 {
4736    __lsx_vmskltz_d(a)
4737}
4738
4739#[inline]
4740#[target_feature(enable = "lsx")]
4741#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4742pub unsafe fn lsx_vsigncov_b(a: v16i8, b: v16i8) -> v16i8 {
4743    __lsx_vsigncov_b(a, b)
4744}
4745
4746#[inline]
4747#[target_feature(enable = "lsx")]
4748#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4749pub unsafe fn lsx_vsigncov_h(a: v8i16, b: v8i16) -> v8i16 {
4750    __lsx_vsigncov_h(a, b)
4751}
4752
4753#[inline]
4754#[target_feature(enable = "lsx")]
4755#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4756pub unsafe fn lsx_vsigncov_w(a: v4i32, b: v4i32) -> v4i32 {
4757    __lsx_vsigncov_w(a, b)
4758}
4759
4760#[inline]
4761#[target_feature(enable = "lsx")]
4762#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4763pub unsafe fn lsx_vsigncov_d(a: v2i64, b: v2i64) -> v2i64 {
4764    __lsx_vsigncov_d(a, b)
4765}
4766
4767#[inline]
4768#[target_feature(enable = "lsx")]
4769#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4770pub unsafe fn lsx_vfmadd_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32 {
4771    __lsx_vfmadd_s(a, b, c)
4772}
4773
4774#[inline]
4775#[target_feature(enable = "lsx")]
4776#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4777pub unsafe fn lsx_vfmadd_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64 {
4778    __lsx_vfmadd_d(a, b, c)
4779}
4780
4781#[inline]
4782#[target_feature(enable = "lsx")]
4783#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4784pub unsafe fn lsx_vfmsub_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32 {
4785    __lsx_vfmsub_s(a, b, c)
4786}
4787
4788#[inline]
4789#[target_feature(enable = "lsx")]
4790#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4791pub unsafe fn lsx_vfmsub_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64 {
4792    __lsx_vfmsub_d(a, b, c)
4793}
4794
4795#[inline]
4796#[target_feature(enable = "lsx")]
4797#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4798pub unsafe fn lsx_vfnmadd_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32 {
4799    __lsx_vfnmadd_s(a, b, c)
4800}
4801
4802#[inline]
4803#[target_feature(enable = "lsx")]
4804#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4805pub unsafe fn lsx_vfnmadd_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64 {
4806    __lsx_vfnmadd_d(a, b, c)
4807}
4808
4809#[inline]
4810#[target_feature(enable = "lsx")]
4811#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4812pub unsafe fn lsx_vfnmsub_s(a: v4f32, b: v4f32, c: v4f32) -> v4f32 {
4813    __lsx_vfnmsub_s(a, b, c)
4814}
4815
4816#[inline]
4817#[target_feature(enable = "lsx")]
4818#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4819pub unsafe fn lsx_vfnmsub_d(a: v2f64, b: v2f64, c: v2f64) -> v2f64 {
4820    __lsx_vfnmsub_d(a, b, c)
4821}
4822
4823#[inline]
4824#[target_feature(enable = "lsx")]
4825#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4826pub unsafe fn lsx_vftintrne_w_s(a: v4f32) -> v4i32 {
4827    __lsx_vftintrne_w_s(a)
4828}
4829
4830#[inline]
4831#[target_feature(enable = "lsx")]
4832#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4833pub unsafe fn lsx_vftintrne_l_d(a: v2f64) -> v2i64 {
4834    __lsx_vftintrne_l_d(a)
4835}
4836
4837#[inline]
4838#[target_feature(enable = "lsx")]
4839#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4840pub unsafe fn lsx_vftintrp_w_s(a: v4f32) -> v4i32 {
4841    __lsx_vftintrp_w_s(a)
4842}
4843
4844#[inline]
4845#[target_feature(enable = "lsx")]
4846#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4847pub unsafe fn lsx_vftintrp_l_d(a: v2f64) -> v2i64 {
4848    __lsx_vftintrp_l_d(a)
4849}
4850
4851#[inline]
4852#[target_feature(enable = "lsx")]
4853#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4854pub unsafe fn lsx_vftintrm_w_s(a: v4f32) -> v4i32 {
4855    __lsx_vftintrm_w_s(a)
4856}
4857
4858#[inline]
4859#[target_feature(enable = "lsx")]
4860#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4861pub unsafe fn lsx_vftintrm_l_d(a: v2f64) -> v2i64 {
4862    __lsx_vftintrm_l_d(a)
4863}
4864
4865#[inline]
4866#[target_feature(enable = "lsx")]
4867#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4868pub unsafe fn lsx_vftint_w_d(a: v2f64, b: v2f64) -> v4i32 {
4869    __lsx_vftint_w_d(a, b)
4870}
4871
4872#[inline]
4873#[target_feature(enable = "lsx")]
4874#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4875pub unsafe fn lsx_vffint_s_l(a: v2i64, b: v2i64) -> v4f32 {
4876    __lsx_vffint_s_l(a, b)
4877}
4878
4879#[inline]
4880#[target_feature(enable = "lsx")]
4881#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4882pub unsafe fn lsx_vftintrz_w_d(a: v2f64, b: v2f64) -> v4i32 {
4883    __lsx_vftintrz_w_d(a, b)
4884}
4885
4886#[inline]
4887#[target_feature(enable = "lsx")]
4888#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4889pub unsafe fn lsx_vftintrp_w_d(a: v2f64, b: v2f64) -> v4i32 {
4890    __lsx_vftintrp_w_d(a, b)
4891}
4892
4893#[inline]
4894#[target_feature(enable = "lsx")]
4895#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4896pub unsafe fn lsx_vftintrm_w_d(a: v2f64, b: v2f64) -> v4i32 {
4897    __lsx_vftintrm_w_d(a, b)
4898}
4899
4900#[inline]
4901#[target_feature(enable = "lsx")]
4902#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4903pub unsafe fn lsx_vftintrne_w_d(a: v2f64, b: v2f64) -> v4i32 {
4904    __lsx_vftintrne_w_d(a, b)
4905}
4906
4907#[inline]
4908#[target_feature(enable = "lsx")]
4909#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4910pub unsafe fn lsx_vftintl_l_s(a: v4f32) -> v2i64 {
4911    __lsx_vftintl_l_s(a)
4912}
4913
4914#[inline]
4915#[target_feature(enable = "lsx")]
4916#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4917pub unsafe fn lsx_vftinth_l_s(a: v4f32) -> v2i64 {
4918    __lsx_vftinth_l_s(a)
4919}
4920
4921#[inline]
4922#[target_feature(enable = "lsx")]
4923#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4924pub unsafe fn lsx_vffinth_d_w(a: v4i32) -> v2f64 {
4925    __lsx_vffinth_d_w(a)
4926}
4927
4928#[inline]
4929#[target_feature(enable = "lsx")]
4930#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4931pub unsafe fn lsx_vffintl_d_w(a: v4i32) -> v2f64 {
4932    __lsx_vffintl_d_w(a)
4933}
4934
4935#[inline]
4936#[target_feature(enable = "lsx")]
4937#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4938pub unsafe fn lsx_vftintrzl_l_s(a: v4f32) -> v2i64 {
4939    __lsx_vftintrzl_l_s(a)
4940}
4941
4942#[inline]
4943#[target_feature(enable = "lsx")]
4944#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4945pub unsafe fn lsx_vftintrzh_l_s(a: v4f32) -> v2i64 {
4946    __lsx_vftintrzh_l_s(a)
4947}
4948
4949#[inline]
4950#[target_feature(enable = "lsx")]
4951#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4952pub unsafe fn lsx_vftintrpl_l_s(a: v4f32) -> v2i64 {
4953    __lsx_vftintrpl_l_s(a)
4954}
4955
4956#[inline]
4957#[target_feature(enable = "lsx")]
4958#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4959pub unsafe fn lsx_vftintrph_l_s(a: v4f32) -> v2i64 {
4960    __lsx_vftintrph_l_s(a)
4961}
4962
4963#[inline]
4964#[target_feature(enable = "lsx")]
4965#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4966pub unsafe fn lsx_vftintrml_l_s(a: v4f32) -> v2i64 {
4967    __lsx_vftintrml_l_s(a)
4968}
4969
4970#[inline]
4971#[target_feature(enable = "lsx")]
4972#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4973pub unsafe fn lsx_vftintrmh_l_s(a: v4f32) -> v2i64 {
4974    __lsx_vftintrmh_l_s(a)
4975}
4976
4977#[inline]
4978#[target_feature(enable = "lsx")]
4979#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4980pub unsafe fn lsx_vftintrnel_l_s(a: v4f32) -> v2i64 {
4981    __lsx_vftintrnel_l_s(a)
4982}
4983
4984#[inline]
4985#[target_feature(enable = "lsx")]
4986#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4987pub unsafe fn lsx_vftintrneh_l_s(a: v4f32) -> v2i64 {
4988    __lsx_vftintrneh_l_s(a)
4989}
4990
4991#[inline]
4992#[target_feature(enable = "lsx")]
4993#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4994pub unsafe fn lsx_vfrintrne_s(a: v4f32) -> v4f32 {
4995    __lsx_vfrintrne_s(a)
4996}
4997
4998#[inline]
4999#[target_feature(enable = "lsx")]
5000#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5001pub unsafe fn lsx_vfrintrne_d(a: v2f64) -> v2f64 {
5002    __lsx_vfrintrne_d(a)
5003}
5004
5005#[inline]
5006#[target_feature(enable = "lsx")]
5007#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5008pub unsafe fn lsx_vfrintrz_s(a: v4f32) -> v4f32 {
5009    __lsx_vfrintrz_s(a)
5010}
5011
5012#[inline]
5013#[target_feature(enable = "lsx")]
5014#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5015pub unsafe fn lsx_vfrintrz_d(a: v2f64) -> v2f64 {
5016    __lsx_vfrintrz_d(a)
5017}
5018
5019#[inline]
5020#[target_feature(enable = "lsx")]
5021#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5022pub unsafe fn lsx_vfrintrp_s(a: v4f32) -> v4f32 {
5023    __lsx_vfrintrp_s(a)
5024}
5025
5026#[inline]
5027#[target_feature(enable = "lsx")]
5028#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5029pub unsafe fn lsx_vfrintrp_d(a: v2f64) -> v2f64 {
5030    __lsx_vfrintrp_d(a)
5031}
5032
5033#[inline]
5034#[target_feature(enable = "lsx")]
5035#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5036pub unsafe fn lsx_vfrintrm_s(a: v4f32) -> v4f32 {
5037    __lsx_vfrintrm_s(a)
5038}
5039
5040#[inline]
5041#[target_feature(enable = "lsx")]
5042#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5043pub unsafe fn lsx_vfrintrm_d(a: v2f64) -> v2f64 {
5044    __lsx_vfrintrm_d(a)
5045}
5046
5047#[inline]
5048#[target_feature(enable = "lsx")]
5049#[rustc_legacy_const_generics(2, 3)]
5050#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5051pub unsafe fn lsx_vstelm_b<const IMM_S8: i32, const IMM4: u32>(a: v16i8, mem_addr: *mut i8) {
5052    static_assert_simm_bits!(IMM_S8, 8);
5053    static_assert_uimm_bits!(IMM4, 4);
5054    __lsx_vstelm_b(a, mem_addr, IMM_S8, IMM4)
5055}
5056
5057#[inline]
5058#[target_feature(enable = "lsx")]
5059#[rustc_legacy_const_generics(2, 3)]
5060#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5061pub unsafe fn lsx_vstelm_h<const IMM_S8: i32, const IMM3: u32>(a: v8i16, mem_addr: *mut i8) {
5062    static_assert_simm_bits!(IMM_S8, 8);
5063    static_assert_uimm_bits!(IMM3, 3);
5064    __lsx_vstelm_h(a, mem_addr, IMM_S8, IMM3)
5065}
5066
5067#[inline]
5068#[target_feature(enable = "lsx")]
5069#[rustc_legacy_const_generics(2, 3)]
5070#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5071pub unsafe fn lsx_vstelm_w<const IMM_S8: i32, const IMM2: u32>(a: v4i32, mem_addr: *mut i8) {
5072    static_assert_simm_bits!(IMM_S8, 8);
5073    static_assert_uimm_bits!(IMM2, 2);
5074    __lsx_vstelm_w(a, mem_addr, IMM_S8, IMM2)
5075}
5076
5077#[inline]
5078#[target_feature(enable = "lsx")]
5079#[rustc_legacy_const_generics(2, 3)]
5080#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5081pub unsafe fn lsx_vstelm_d<const IMM_S8: i32, const IMM1: u32>(a: v2i64, mem_addr: *mut i8) {
5082    static_assert_simm_bits!(IMM_S8, 8);
5083    static_assert_uimm_bits!(IMM1, 1);
5084    __lsx_vstelm_d(a, mem_addr, IMM_S8, IMM1)
5085}
5086
5087#[inline]
5088#[target_feature(enable = "lsx")]
5089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5090pub unsafe fn lsx_vaddwev_d_w(a: v4i32, b: v4i32) -> v2i64 {
5091    __lsx_vaddwev_d_w(a, b)
5092}
5093
5094#[inline]
5095#[target_feature(enable = "lsx")]
5096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5097pub unsafe fn lsx_vaddwev_w_h(a: v8i16, b: v8i16) -> v4i32 {
5098    __lsx_vaddwev_w_h(a, b)
5099}
5100
5101#[inline]
5102#[target_feature(enable = "lsx")]
5103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5104pub unsafe fn lsx_vaddwev_h_b(a: v16i8, b: v16i8) -> v8i16 {
5105    __lsx_vaddwev_h_b(a, b)
5106}
5107
5108#[inline]
5109#[target_feature(enable = "lsx")]
5110#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5111pub unsafe fn lsx_vaddwod_d_w(a: v4i32, b: v4i32) -> v2i64 {
5112    __lsx_vaddwod_d_w(a, b)
5113}
5114
5115#[inline]
5116#[target_feature(enable = "lsx")]
5117#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5118pub unsafe fn lsx_vaddwod_w_h(a: v8i16, b: v8i16) -> v4i32 {
5119    __lsx_vaddwod_w_h(a, b)
5120}
5121
5122#[inline]
5123#[target_feature(enable = "lsx")]
5124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5125pub unsafe fn lsx_vaddwod_h_b(a: v16i8, b: v16i8) -> v8i16 {
5126    __lsx_vaddwod_h_b(a, b)
5127}
5128
5129#[inline]
5130#[target_feature(enable = "lsx")]
5131#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5132pub unsafe fn lsx_vaddwev_d_wu(a: v4u32, b: v4u32) -> v2i64 {
5133    __lsx_vaddwev_d_wu(a, b)
5134}
5135
5136#[inline]
5137#[target_feature(enable = "lsx")]
5138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5139pub unsafe fn lsx_vaddwev_w_hu(a: v8u16, b: v8u16) -> v4i32 {
5140    __lsx_vaddwev_w_hu(a, b)
5141}
5142
5143#[inline]
5144#[target_feature(enable = "lsx")]
5145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5146pub unsafe fn lsx_vaddwev_h_bu(a: v16u8, b: v16u8) -> v8i16 {
5147    __lsx_vaddwev_h_bu(a, b)
5148}
5149
5150#[inline]
5151#[target_feature(enable = "lsx")]
5152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5153pub unsafe fn lsx_vaddwod_d_wu(a: v4u32, b: v4u32) -> v2i64 {
5154    __lsx_vaddwod_d_wu(a, b)
5155}
5156
5157#[inline]
5158#[target_feature(enable = "lsx")]
5159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5160pub unsafe fn lsx_vaddwod_w_hu(a: v8u16, b: v8u16) -> v4i32 {
5161    __lsx_vaddwod_w_hu(a, b)
5162}
5163
5164#[inline]
5165#[target_feature(enable = "lsx")]
5166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5167pub unsafe fn lsx_vaddwod_h_bu(a: v16u8, b: v16u8) -> v8i16 {
5168    __lsx_vaddwod_h_bu(a, b)
5169}
5170
5171#[inline]
5172#[target_feature(enable = "lsx")]
5173#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5174pub unsafe fn lsx_vaddwev_d_wu_w(a: v4u32, b: v4i32) -> v2i64 {
5175    __lsx_vaddwev_d_wu_w(a, b)
5176}
5177
5178#[inline]
5179#[target_feature(enable = "lsx")]
5180#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5181pub unsafe fn lsx_vaddwev_w_hu_h(a: v8u16, b: v8i16) -> v4i32 {
5182    __lsx_vaddwev_w_hu_h(a, b)
5183}
5184
5185#[inline]
5186#[target_feature(enable = "lsx")]
5187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5188pub unsafe fn lsx_vaddwev_h_bu_b(a: v16u8, b: v16i8) -> v8i16 {
5189    __lsx_vaddwev_h_bu_b(a, b)
5190}
5191
5192#[inline]
5193#[target_feature(enable = "lsx")]
5194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5195pub unsafe fn lsx_vaddwod_d_wu_w(a: v4u32, b: v4i32) -> v2i64 {
5196    __lsx_vaddwod_d_wu_w(a, b)
5197}
5198
5199#[inline]
5200#[target_feature(enable = "lsx")]
5201#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5202pub unsafe fn lsx_vaddwod_w_hu_h(a: v8u16, b: v8i16) -> v4i32 {
5203    __lsx_vaddwod_w_hu_h(a, b)
5204}
5205
5206#[inline]
5207#[target_feature(enable = "lsx")]
5208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5209pub unsafe fn lsx_vaddwod_h_bu_b(a: v16u8, b: v16i8) -> v8i16 {
5210    __lsx_vaddwod_h_bu_b(a, b)
5211}
5212
5213#[inline]
5214#[target_feature(enable = "lsx")]
5215#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5216pub unsafe fn lsx_vsubwev_d_w(a: v4i32, b: v4i32) -> v2i64 {
5217    __lsx_vsubwev_d_w(a, b)
5218}
5219
5220#[inline]
5221#[target_feature(enable = "lsx")]
5222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5223pub unsafe fn lsx_vsubwev_w_h(a: v8i16, b: v8i16) -> v4i32 {
5224    __lsx_vsubwev_w_h(a, b)
5225}
5226
5227#[inline]
5228#[target_feature(enable = "lsx")]
5229#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5230pub unsafe fn lsx_vsubwev_h_b(a: v16i8, b: v16i8) -> v8i16 {
5231    __lsx_vsubwev_h_b(a, b)
5232}
5233
5234#[inline]
5235#[target_feature(enable = "lsx")]
5236#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5237pub unsafe fn lsx_vsubwod_d_w(a: v4i32, b: v4i32) -> v2i64 {
5238    __lsx_vsubwod_d_w(a, b)
5239}
5240
5241#[inline]
5242#[target_feature(enable = "lsx")]
5243#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5244pub unsafe fn lsx_vsubwod_w_h(a: v8i16, b: v8i16) -> v4i32 {
5245    __lsx_vsubwod_w_h(a, b)
5246}
5247
5248#[inline]
5249#[target_feature(enable = "lsx")]
5250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5251pub unsafe fn lsx_vsubwod_h_b(a: v16i8, b: v16i8) -> v8i16 {
5252    __lsx_vsubwod_h_b(a, b)
5253}
5254
5255#[inline]
5256#[target_feature(enable = "lsx")]
5257#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5258pub unsafe fn lsx_vsubwev_d_wu(a: v4u32, b: v4u32) -> v2i64 {
5259    __lsx_vsubwev_d_wu(a, b)
5260}
5261
5262#[inline]
5263#[target_feature(enable = "lsx")]
5264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5265pub unsafe fn lsx_vsubwev_w_hu(a: v8u16, b: v8u16) -> v4i32 {
5266    __lsx_vsubwev_w_hu(a, b)
5267}
5268
5269#[inline]
5270#[target_feature(enable = "lsx")]
5271#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5272pub unsafe fn lsx_vsubwev_h_bu(a: v16u8, b: v16u8) -> v8i16 {
5273    __lsx_vsubwev_h_bu(a, b)
5274}
5275
5276#[inline]
5277#[target_feature(enable = "lsx")]
5278#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5279pub unsafe fn lsx_vsubwod_d_wu(a: v4u32, b: v4u32) -> v2i64 {
5280    __lsx_vsubwod_d_wu(a, b)
5281}
5282
5283#[inline]
5284#[target_feature(enable = "lsx")]
5285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5286pub unsafe fn lsx_vsubwod_w_hu(a: v8u16, b: v8u16) -> v4i32 {
5287    __lsx_vsubwod_w_hu(a, b)
5288}
5289
5290#[inline]
5291#[target_feature(enable = "lsx")]
5292#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5293pub unsafe fn lsx_vsubwod_h_bu(a: v16u8, b: v16u8) -> v8i16 {
5294    __lsx_vsubwod_h_bu(a, b)
5295}
5296
5297#[inline]
5298#[target_feature(enable = "lsx")]
5299#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5300pub unsafe fn lsx_vaddwev_q_d(a: v2i64, b: v2i64) -> v2i64 {
5301    __lsx_vaddwev_q_d(a, b)
5302}
5303
5304#[inline]
5305#[target_feature(enable = "lsx")]
5306#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5307pub unsafe fn lsx_vaddwod_q_d(a: v2i64, b: v2i64) -> v2i64 {
5308    __lsx_vaddwod_q_d(a, b)
5309}
5310
5311#[inline]
5312#[target_feature(enable = "lsx")]
5313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5314pub unsafe fn lsx_vaddwev_q_du(a: v2u64, b: v2u64) -> v2i64 {
5315    __lsx_vaddwev_q_du(a, b)
5316}
5317
5318#[inline]
5319#[target_feature(enable = "lsx")]
5320#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5321pub unsafe fn lsx_vaddwod_q_du(a: v2u64, b: v2u64) -> v2i64 {
5322    __lsx_vaddwod_q_du(a, b)
5323}
5324
5325#[inline]
5326#[target_feature(enable = "lsx")]
5327#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5328pub unsafe fn lsx_vsubwev_q_d(a: v2i64, b: v2i64) -> v2i64 {
5329    __lsx_vsubwev_q_d(a, b)
5330}
5331
5332#[inline]
5333#[target_feature(enable = "lsx")]
5334#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5335pub unsafe fn lsx_vsubwod_q_d(a: v2i64, b: v2i64) -> v2i64 {
5336    __lsx_vsubwod_q_d(a, b)
5337}
5338
5339#[inline]
5340#[target_feature(enable = "lsx")]
5341#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5342pub unsafe fn lsx_vsubwev_q_du(a: v2u64, b: v2u64) -> v2i64 {
5343    __lsx_vsubwev_q_du(a, b)
5344}
5345
5346#[inline]
5347#[target_feature(enable = "lsx")]
5348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5349pub unsafe fn lsx_vsubwod_q_du(a: v2u64, b: v2u64) -> v2i64 {
5350    __lsx_vsubwod_q_du(a, b)
5351}
5352
5353#[inline]
5354#[target_feature(enable = "lsx")]
5355#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5356pub unsafe fn lsx_vaddwev_q_du_d(a: v2u64, b: v2i64) -> v2i64 {
5357    __lsx_vaddwev_q_du_d(a, b)
5358}
5359
5360#[inline]
5361#[target_feature(enable = "lsx")]
5362#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5363pub unsafe fn lsx_vaddwod_q_du_d(a: v2u64, b: v2i64) -> v2i64 {
5364    __lsx_vaddwod_q_du_d(a, b)
5365}
5366
5367#[inline]
5368#[target_feature(enable = "lsx")]
5369#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5370pub unsafe fn lsx_vmulwev_d_w(a: v4i32, b: v4i32) -> v2i64 {
5371    __lsx_vmulwev_d_w(a, b)
5372}
5373
5374#[inline]
5375#[target_feature(enable = "lsx")]
5376#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5377pub unsafe fn lsx_vmulwev_w_h(a: v8i16, b: v8i16) -> v4i32 {
5378    __lsx_vmulwev_w_h(a, b)
5379}
5380
5381#[inline]
5382#[target_feature(enable = "lsx")]
5383#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5384pub unsafe fn lsx_vmulwev_h_b(a: v16i8, b: v16i8) -> v8i16 {
5385    __lsx_vmulwev_h_b(a, b)
5386}
5387
5388#[inline]
5389#[target_feature(enable = "lsx")]
5390#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5391pub unsafe fn lsx_vmulwod_d_w(a: v4i32, b: v4i32) -> v2i64 {
5392    __lsx_vmulwod_d_w(a, b)
5393}
5394
5395#[inline]
5396#[target_feature(enable = "lsx")]
5397#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5398pub unsafe fn lsx_vmulwod_w_h(a: v8i16, b: v8i16) -> v4i32 {
5399    __lsx_vmulwod_w_h(a, b)
5400}
5401
5402#[inline]
5403#[target_feature(enable = "lsx")]
5404#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5405pub unsafe fn lsx_vmulwod_h_b(a: v16i8, b: v16i8) -> v8i16 {
5406    __lsx_vmulwod_h_b(a, b)
5407}
5408
5409#[inline]
5410#[target_feature(enable = "lsx")]
5411#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5412pub unsafe fn lsx_vmulwev_d_wu(a: v4u32, b: v4u32) -> v2i64 {
5413    __lsx_vmulwev_d_wu(a, b)
5414}
5415
5416#[inline]
5417#[target_feature(enable = "lsx")]
5418#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5419pub unsafe fn lsx_vmulwev_w_hu(a: v8u16, b: v8u16) -> v4i32 {
5420    __lsx_vmulwev_w_hu(a, b)
5421}
5422
5423#[inline]
5424#[target_feature(enable = "lsx")]
5425#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5426pub unsafe fn lsx_vmulwev_h_bu(a: v16u8, b: v16u8) -> v8i16 {
5427    __lsx_vmulwev_h_bu(a, b)
5428}
5429
5430#[inline]
5431#[target_feature(enable = "lsx")]
5432#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5433pub unsafe fn lsx_vmulwod_d_wu(a: v4u32, b: v4u32) -> v2i64 {
5434    __lsx_vmulwod_d_wu(a, b)
5435}
5436
5437#[inline]
5438#[target_feature(enable = "lsx")]
5439#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5440pub unsafe fn lsx_vmulwod_w_hu(a: v8u16, b: v8u16) -> v4i32 {
5441    __lsx_vmulwod_w_hu(a, b)
5442}
5443
5444#[inline]
5445#[target_feature(enable = "lsx")]
5446#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5447pub unsafe fn lsx_vmulwod_h_bu(a: v16u8, b: v16u8) -> v8i16 {
5448    __lsx_vmulwod_h_bu(a, b)
5449}
5450
5451#[inline]
5452#[target_feature(enable = "lsx")]
5453#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5454pub unsafe fn lsx_vmulwev_d_wu_w(a: v4u32, b: v4i32) -> v2i64 {
5455    __lsx_vmulwev_d_wu_w(a, b)
5456}
5457
5458#[inline]
5459#[target_feature(enable = "lsx")]
5460#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5461pub unsafe fn lsx_vmulwev_w_hu_h(a: v8u16, b: v8i16) -> v4i32 {
5462    __lsx_vmulwev_w_hu_h(a, b)
5463}
5464
5465#[inline]
5466#[target_feature(enable = "lsx")]
5467#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5468pub unsafe fn lsx_vmulwev_h_bu_b(a: v16u8, b: v16i8) -> v8i16 {
5469    __lsx_vmulwev_h_bu_b(a, b)
5470}
5471
5472#[inline]
5473#[target_feature(enable = "lsx")]
5474#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5475pub unsafe fn lsx_vmulwod_d_wu_w(a: v4u32, b: v4i32) -> v2i64 {
5476    __lsx_vmulwod_d_wu_w(a, b)
5477}
5478
5479#[inline]
5480#[target_feature(enable = "lsx")]
5481#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5482pub unsafe fn lsx_vmulwod_w_hu_h(a: v8u16, b: v8i16) -> v4i32 {
5483    __lsx_vmulwod_w_hu_h(a, b)
5484}
5485
5486#[inline]
5487#[target_feature(enable = "lsx")]
5488#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5489pub unsafe fn lsx_vmulwod_h_bu_b(a: v16u8, b: v16i8) -> v8i16 {
5490    __lsx_vmulwod_h_bu_b(a, b)
5491}
5492
5493#[inline]
5494#[target_feature(enable = "lsx")]
5495#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5496pub unsafe fn lsx_vmulwev_q_d(a: v2i64, b: v2i64) -> v2i64 {
5497    __lsx_vmulwev_q_d(a, b)
5498}
5499
5500#[inline]
5501#[target_feature(enable = "lsx")]
5502#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5503pub unsafe fn lsx_vmulwod_q_d(a: v2i64, b: v2i64) -> v2i64 {
5504    __lsx_vmulwod_q_d(a, b)
5505}
5506
5507#[inline]
5508#[target_feature(enable = "lsx")]
5509#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5510pub unsafe fn lsx_vmulwev_q_du(a: v2u64, b: v2u64) -> v2i64 {
5511    __lsx_vmulwev_q_du(a, b)
5512}
5513
5514#[inline]
5515#[target_feature(enable = "lsx")]
5516#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5517pub unsafe fn lsx_vmulwod_q_du(a: v2u64, b: v2u64) -> v2i64 {
5518    __lsx_vmulwod_q_du(a, b)
5519}
5520
5521#[inline]
5522#[target_feature(enable = "lsx")]
5523#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5524pub unsafe fn lsx_vmulwev_q_du_d(a: v2u64, b: v2i64) -> v2i64 {
5525    __lsx_vmulwev_q_du_d(a, b)
5526}
5527
5528#[inline]
5529#[target_feature(enable = "lsx")]
5530#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5531pub unsafe fn lsx_vmulwod_q_du_d(a: v2u64, b: v2i64) -> v2i64 {
5532    __lsx_vmulwod_q_du_d(a, b)
5533}
5534
5535#[inline]
5536#[target_feature(enable = "lsx")]
5537#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5538pub unsafe fn lsx_vhaddw_q_d(a: v2i64, b: v2i64) -> v2i64 {
5539    __lsx_vhaddw_q_d(a, b)
5540}
5541
5542#[inline]
5543#[target_feature(enable = "lsx")]
5544#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5545pub unsafe fn lsx_vhaddw_qu_du(a: v2u64, b: v2u64) -> v2u64 {
5546    __lsx_vhaddw_qu_du(a, b)
5547}
5548
5549#[inline]
5550#[target_feature(enable = "lsx")]
5551#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5552pub unsafe fn lsx_vhsubw_q_d(a: v2i64, b: v2i64) -> v2i64 {
5553    __lsx_vhsubw_q_d(a, b)
5554}
5555
5556#[inline]
5557#[target_feature(enable = "lsx")]
5558#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5559pub unsafe fn lsx_vhsubw_qu_du(a: v2u64, b: v2u64) -> v2u64 {
5560    __lsx_vhsubw_qu_du(a, b)
5561}
5562
5563#[inline]
5564#[target_feature(enable = "lsx")]
5565#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5566pub unsafe fn lsx_vmaddwev_d_w(a: v2i64, b: v4i32, c: v4i32) -> v2i64 {
5567    __lsx_vmaddwev_d_w(a, b, c)
5568}
5569
5570#[inline]
5571#[target_feature(enable = "lsx")]
5572#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5573pub unsafe fn lsx_vmaddwev_w_h(a: v4i32, b: v8i16, c: v8i16) -> v4i32 {
5574    __lsx_vmaddwev_w_h(a, b, c)
5575}
5576
5577#[inline]
5578#[target_feature(enable = "lsx")]
5579#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5580pub unsafe fn lsx_vmaddwev_h_b(a: v8i16, b: v16i8, c: v16i8) -> v8i16 {
5581    __lsx_vmaddwev_h_b(a, b, c)
5582}
5583
5584#[inline]
5585#[target_feature(enable = "lsx")]
5586#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5587pub unsafe fn lsx_vmaddwev_d_wu(a: v2u64, b: v4u32, c: v4u32) -> v2u64 {
5588    __lsx_vmaddwev_d_wu(a, b, c)
5589}
5590
5591#[inline]
5592#[target_feature(enable = "lsx")]
5593#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5594pub unsafe fn lsx_vmaddwev_w_hu(a: v4u32, b: v8u16, c: v8u16) -> v4u32 {
5595    __lsx_vmaddwev_w_hu(a, b, c)
5596}
5597
5598#[inline]
5599#[target_feature(enable = "lsx")]
5600#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5601pub unsafe fn lsx_vmaddwev_h_bu(a: v8u16, b: v16u8, c: v16u8) -> v8u16 {
5602    __lsx_vmaddwev_h_bu(a, b, c)
5603}
5604
5605#[inline]
5606#[target_feature(enable = "lsx")]
5607#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5608pub unsafe fn lsx_vmaddwod_d_w(a: v2i64, b: v4i32, c: v4i32) -> v2i64 {
5609    __lsx_vmaddwod_d_w(a, b, c)
5610}
5611
5612#[inline]
5613#[target_feature(enable = "lsx")]
5614#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5615pub unsafe fn lsx_vmaddwod_w_h(a: v4i32, b: v8i16, c: v8i16) -> v4i32 {
5616    __lsx_vmaddwod_w_h(a, b, c)
5617}
5618
5619#[inline]
5620#[target_feature(enable = "lsx")]
5621#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5622pub unsafe fn lsx_vmaddwod_h_b(a: v8i16, b: v16i8, c: v16i8) -> v8i16 {
5623    __lsx_vmaddwod_h_b(a, b, c)
5624}
5625
5626#[inline]
5627#[target_feature(enable = "lsx")]
5628#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5629pub unsafe fn lsx_vmaddwod_d_wu(a: v2u64, b: v4u32, c: v4u32) -> v2u64 {
5630    __lsx_vmaddwod_d_wu(a, b, c)
5631}
5632
5633#[inline]
5634#[target_feature(enable = "lsx")]
5635#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5636pub unsafe fn lsx_vmaddwod_w_hu(a: v4u32, b: v8u16, c: v8u16) -> v4u32 {
5637    __lsx_vmaddwod_w_hu(a, b, c)
5638}
5639
5640#[inline]
5641#[target_feature(enable = "lsx")]
5642#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5643pub unsafe fn lsx_vmaddwod_h_bu(a: v8u16, b: v16u8, c: v16u8) -> v8u16 {
5644    __lsx_vmaddwod_h_bu(a, b, c)
5645}
5646
5647#[inline]
5648#[target_feature(enable = "lsx")]
5649#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5650pub unsafe fn lsx_vmaddwev_d_wu_w(a: v2i64, b: v4u32, c: v4i32) -> v2i64 {
5651    __lsx_vmaddwev_d_wu_w(a, b, c)
5652}
5653
5654#[inline]
5655#[target_feature(enable = "lsx")]
5656#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5657pub unsafe fn lsx_vmaddwev_w_hu_h(a: v4i32, b: v8u16, c: v8i16) -> v4i32 {
5658    __lsx_vmaddwev_w_hu_h(a, b, c)
5659}
5660
5661#[inline]
5662#[target_feature(enable = "lsx")]
5663#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5664pub unsafe fn lsx_vmaddwev_h_bu_b(a: v8i16, b: v16u8, c: v16i8) -> v8i16 {
5665    __lsx_vmaddwev_h_bu_b(a, b, c)
5666}
5667
5668#[inline]
5669#[target_feature(enable = "lsx")]
5670#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5671pub unsafe fn lsx_vmaddwod_d_wu_w(a: v2i64, b: v4u32, c: v4i32) -> v2i64 {
5672    __lsx_vmaddwod_d_wu_w(a, b, c)
5673}
5674
5675#[inline]
5676#[target_feature(enable = "lsx")]
5677#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5678pub unsafe fn lsx_vmaddwod_w_hu_h(a: v4i32, b: v8u16, c: v8i16) -> v4i32 {
5679    __lsx_vmaddwod_w_hu_h(a, b, c)
5680}
5681
5682#[inline]
5683#[target_feature(enable = "lsx")]
5684#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5685pub unsafe fn lsx_vmaddwod_h_bu_b(a: v8i16, b: v16u8, c: v16i8) -> v8i16 {
5686    __lsx_vmaddwod_h_bu_b(a, b, c)
5687}
5688
5689#[inline]
5690#[target_feature(enable = "lsx")]
5691#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5692pub unsafe fn lsx_vmaddwev_q_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64 {
5693    __lsx_vmaddwev_q_d(a, b, c)
5694}
5695
5696#[inline]
5697#[target_feature(enable = "lsx")]
5698#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5699pub unsafe fn lsx_vmaddwod_q_d(a: v2i64, b: v2i64, c: v2i64) -> v2i64 {
5700    __lsx_vmaddwod_q_d(a, b, c)
5701}
5702
5703#[inline]
5704#[target_feature(enable = "lsx")]
5705#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5706pub unsafe fn lsx_vmaddwev_q_du(a: v2u64, b: v2u64, c: v2u64) -> v2u64 {
5707    __lsx_vmaddwev_q_du(a, b, c)
5708}
5709
5710#[inline]
5711#[target_feature(enable = "lsx")]
5712#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5713pub unsafe fn lsx_vmaddwod_q_du(a: v2u64, b: v2u64, c: v2u64) -> v2u64 {
5714    __lsx_vmaddwod_q_du(a, b, c)
5715}
5716
5717#[inline]
5718#[target_feature(enable = "lsx")]
5719#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5720pub unsafe fn lsx_vmaddwev_q_du_d(a: v2i64, b: v2u64, c: v2i64) -> v2i64 {
5721    __lsx_vmaddwev_q_du_d(a, b, c)
5722}
5723
5724#[inline]
5725#[target_feature(enable = "lsx")]
5726#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5727pub unsafe fn lsx_vmaddwod_q_du_d(a: v2i64, b: v2u64, c: v2i64) -> v2i64 {
5728    __lsx_vmaddwod_q_du_d(a, b, c)
5729}
5730
5731#[inline]
5732#[target_feature(enable = "lsx")]
5733#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5734pub unsafe fn lsx_vrotr_b(a: v16i8, b: v16i8) -> v16i8 {
5735    __lsx_vrotr_b(a, b)
5736}
5737
5738#[inline]
5739#[target_feature(enable = "lsx")]
5740#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5741pub unsafe fn lsx_vrotr_h(a: v8i16, b: v8i16) -> v8i16 {
5742    __lsx_vrotr_h(a, b)
5743}
5744
5745#[inline]
5746#[target_feature(enable = "lsx")]
5747#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5748pub unsafe fn lsx_vrotr_w(a: v4i32, b: v4i32) -> v4i32 {
5749    __lsx_vrotr_w(a, b)
5750}
5751
5752#[inline]
5753#[target_feature(enable = "lsx")]
5754#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5755pub unsafe fn lsx_vrotr_d(a: v2i64, b: v2i64) -> v2i64 {
5756    __lsx_vrotr_d(a, b)
5757}
5758
5759#[inline]
5760#[target_feature(enable = "lsx")]
5761#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5762pub unsafe fn lsx_vadd_q(a: v2i64, b: v2i64) -> v2i64 {
5763    __lsx_vadd_q(a, b)
5764}
5765
5766#[inline]
5767#[target_feature(enable = "lsx")]
5768#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5769pub unsafe fn lsx_vsub_q(a: v2i64, b: v2i64) -> v2i64 {
5770    __lsx_vsub_q(a, b)
5771}
5772
5773#[inline]
5774#[target_feature(enable = "lsx")]
5775#[rustc_legacy_const_generics(1)]
5776#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5777pub unsafe fn lsx_vldrepl_b<const IMM_S12: i32>(mem_addr: *const i8) -> v16i8 {
5778    static_assert_simm_bits!(IMM_S12, 12);
5779    __lsx_vldrepl_b(mem_addr, IMM_S12)
5780}
5781
5782#[inline]
5783#[target_feature(enable = "lsx")]
5784#[rustc_legacy_const_generics(1)]
5785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5786pub unsafe fn lsx_vldrepl_h<const IMM_S11: i32>(mem_addr: *const i8) -> v8i16 {
5787    static_assert_simm_bits!(IMM_S11, 11);
5788    __lsx_vldrepl_h(mem_addr, IMM_S11)
5789}
5790
5791#[inline]
5792#[target_feature(enable = "lsx")]
5793#[rustc_legacy_const_generics(1)]
5794#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5795pub unsafe fn lsx_vldrepl_w<const IMM_S10: i32>(mem_addr: *const i8) -> v4i32 {
5796    static_assert_simm_bits!(IMM_S10, 10);
5797    __lsx_vldrepl_w(mem_addr, IMM_S10)
5798}
5799
5800#[inline]
5801#[target_feature(enable = "lsx")]
5802#[rustc_legacy_const_generics(1)]
5803#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5804pub unsafe fn lsx_vldrepl_d<const IMM_S9: i32>(mem_addr: *const i8) -> v2i64 {
5805    static_assert_simm_bits!(IMM_S9, 9);
5806    __lsx_vldrepl_d(mem_addr, IMM_S9)
5807}
5808
5809#[inline]
5810#[target_feature(enable = "lsx")]
5811#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5812pub unsafe fn lsx_vmskgez_b(a: v16i8) -> v16i8 {
5813    __lsx_vmskgez_b(a)
5814}
5815
5816#[inline]
5817#[target_feature(enable = "lsx")]
5818#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5819pub unsafe fn lsx_vmsknz_b(a: v16i8) -> v16i8 {
5820    __lsx_vmsknz_b(a)
5821}
5822
5823#[inline]
5824#[target_feature(enable = "lsx")]
5825#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5826pub unsafe fn lsx_vexth_h_b(a: v16i8) -> v8i16 {
5827    __lsx_vexth_h_b(a)
5828}
5829
5830#[inline]
5831#[target_feature(enable = "lsx")]
5832#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5833pub unsafe fn lsx_vexth_w_h(a: v8i16) -> v4i32 {
5834    __lsx_vexth_w_h(a)
5835}
5836
5837#[inline]
5838#[target_feature(enable = "lsx")]
5839#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5840pub unsafe fn lsx_vexth_d_w(a: v4i32) -> v2i64 {
5841    __lsx_vexth_d_w(a)
5842}
5843
5844#[inline]
5845#[target_feature(enable = "lsx")]
5846#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5847pub unsafe fn lsx_vexth_q_d(a: v2i64) -> v2i64 {
5848    __lsx_vexth_q_d(a)
5849}
5850
5851#[inline]
5852#[target_feature(enable = "lsx")]
5853#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5854pub unsafe fn lsx_vexth_hu_bu(a: v16u8) -> v8u16 {
5855    __lsx_vexth_hu_bu(a)
5856}
5857
5858#[inline]
5859#[target_feature(enable = "lsx")]
5860#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5861pub unsafe fn lsx_vexth_wu_hu(a: v8u16) -> v4u32 {
5862    __lsx_vexth_wu_hu(a)
5863}
5864
5865#[inline]
5866#[target_feature(enable = "lsx")]
5867#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5868pub unsafe fn lsx_vexth_du_wu(a: v4u32) -> v2u64 {
5869    __lsx_vexth_du_wu(a)
5870}
5871
5872#[inline]
5873#[target_feature(enable = "lsx")]
5874#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5875pub unsafe fn lsx_vexth_qu_du(a: v2u64) -> v2u64 {
5876    __lsx_vexth_qu_du(a)
5877}
5878
5879#[inline]
5880#[target_feature(enable = "lsx")]
5881#[rustc_legacy_const_generics(1)]
5882#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5883pub unsafe fn lsx_vrotri_b<const IMM3: u32>(a: v16i8) -> v16i8 {
5884    static_assert_uimm_bits!(IMM3, 3);
5885    __lsx_vrotri_b(a, IMM3)
5886}
5887
5888#[inline]
5889#[target_feature(enable = "lsx")]
5890#[rustc_legacy_const_generics(1)]
5891#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5892pub unsafe fn lsx_vrotri_h<const IMM4: u32>(a: v8i16) -> v8i16 {
5893    static_assert_uimm_bits!(IMM4, 4);
5894    __lsx_vrotri_h(a, IMM4)
5895}
5896
5897#[inline]
5898#[target_feature(enable = "lsx")]
5899#[rustc_legacy_const_generics(1)]
5900#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5901pub unsafe fn lsx_vrotri_w<const IMM5: u32>(a: v4i32) -> v4i32 {
5902    static_assert_uimm_bits!(IMM5, 5);
5903    __lsx_vrotri_w(a, IMM5)
5904}
5905
5906#[inline]
5907#[target_feature(enable = "lsx")]
5908#[rustc_legacy_const_generics(1)]
5909#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5910pub unsafe fn lsx_vrotri_d<const IMM6: u32>(a: v2i64) -> v2i64 {
5911    static_assert_uimm_bits!(IMM6, 6);
5912    __lsx_vrotri_d(a, IMM6)
5913}
5914
5915#[inline]
5916#[target_feature(enable = "lsx")]
5917#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5918pub unsafe fn lsx_vextl_q_d(a: v2i64) -> v2i64 {
5919    __lsx_vextl_q_d(a)
5920}
5921
5922#[inline]
5923#[target_feature(enable = "lsx")]
5924#[rustc_legacy_const_generics(2)]
5925#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5926pub unsafe fn lsx_vsrlni_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
5927    static_assert_uimm_bits!(IMM4, 4);
5928    __lsx_vsrlni_b_h(a, b, IMM4)
5929}
5930
5931#[inline]
5932#[target_feature(enable = "lsx")]
5933#[rustc_legacy_const_generics(2)]
5934#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5935pub unsafe fn lsx_vsrlni_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
5936    static_assert_uimm_bits!(IMM5, 5);
5937    __lsx_vsrlni_h_w(a, b, IMM5)
5938}
5939
5940#[inline]
5941#[target_feature(enable = "lsx")]
5942#[rustc_legacy_const_generics(2)]
5943#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5944pub unsafe fn lsx_vsrlni_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
5945    static_assert_uimm_bits!(IMM6, 6);
5946    __lsx_vsrlni_w_d(a, b, IMM6)
5947}
5948
5949#[inline]
5950#[target_feature(enable = "lsx")]
5951#[rustc_legacy_const_generics(2)]
5952#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5953pub unsafe fn lsx_vsrlni_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
5954    static_assert_uimm_bits!(IMM7, 7);
5955    __lsx_vsrlni_d_q(a, b, IMM7)
5956}
5957
5958#[inline]
5959#[target_feature(enable = "lsx")]
5960#[rustc_legacy_const_generics(2)]
5961#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5962pub unsafe fn lsx_vsrlrni_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
5963    static_assert_uimm_bits!(IMM4, 4);
5964    __lsx_vsrlrni_b_h(a, b, IMM4)
5965}
5966
5967#[inline]
5968#[target_feature(enable = "lsx")]
5969#[rustc_legacy_const_generics(2)]
5970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5971pub unsafe fn lsx_vsrlrni_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
5972    static_assert_uimm_bits!(IMM5, 5);
5973    __lsx_vsrlrni_h_w(a, b, IMM5)
5974}
5975
5976#[inline]
5977#[target_feature(enable = "lsx")]
5978#[rustc_legacy_const_generics(2)]
5979#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5980pub unsafe fn lsx_vsrlrni_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
5981    static_assert_uimm_bits!(IMM6, 6);
5982    __lsx_vsrlrni_w_d(a, b, IMM6)
5983}
5984
5985#[inline]
5986#[target_feature(enable = "lsx")]
5987#[rustc_legacy_const_generics(2)]
5988#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5989pub unsafe fn lsx_vsrlrni_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
5990    static_assert_uimm_bits!(IMM7, 7);
5991    __lsx_vsrlrni_d_q(a, b, IMM7)
5992}
5993
5994#[inline]
5995#[target_feature(enable = "lsx")]
5996#[rustc_legacy_const_generics(2)]
5997#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5998pub unsafe fn lsx_vssrlni_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
5999    static_assert_uimm_bits!(IMM4, 4);
6000    __lsx_vssrlni_b_h(a, b, IMM4)
6001}
6002
6003#[inline]
6004#[target_feature(enable = "lsx")]
6005#[rustc_legacy_const_generics(2)]
6006#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6007pub unsafe fn lsx_vssrlni_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
6008    static_assert_uimm_bits!(IMM5, 5);
6009    __lsx_vssrlni_h_w(a, b, IMM5)
6010}
6011
6012#[inline]
6013#[target_feature(enable = "lsx")]
6014#[rustc_legacy_const_generics(2)]
6015#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6016pub unsafe fn lsx_vssrlni_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
6017    static_assert_uimm_bits!(IMM6, 6);
6018    __lsx_vssrlni_w_d(a, b, IMM6)
6019}
6020
6021#[inline]
6022#[target_feature(enable = "lsx")]
6023#[rustc_legacy_const_generics(2)]
6024#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6025pub unsafe fn lsx_vssrlni_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
6026    static_assert_uimm_bits!(IMM7, 7);
6027    __lsx_vssrlni_d_q(a, b, IMM7)
6028}
6029
6030#[inline]
6031#[target_feature(enable = "lsx")]
6032#[rustc_legacy_const_generics(2)]
6033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6034pub unsafe fn lsx_vssrlni_bu_h<const IMM4: u32>(a: v16u8, b: v16i8) -> v16u8 {
6035    static_assert_uimm_bits!(IMM4, 4);
6036    __lsx_vssrlni_bu_h(a, b, IMM4)
6037}
6038
6039#[inline]
6040#[target_feature(enable = "lsx")]
6041#[rustc_legacy_const_generics(2)]
6042#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6043pub unsafe fn lsx_vssrlni_hu_w<const IMM5: u32>(a: v8u16, b: v8i16) -> v8u16 {
6044    static_assert_uimm_bits!(IMM5, 5);
6045    __lsx_vssrlni_hu_w(a, b, IMM5)
6046}
6047
6048#[inline]
6049#[target_feature(enable = "lsx")]
6050#[rustc_legacy_const_generics(2)]
6051#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6052pub unsafe fn lsx_vssrlni_wu_d<const IMM6: u32>(a: v4u32, b: v4i32) -> v4u32 {
6053    static_assert_uimm_bits!(IMM6, 6);
6054    __lsx_vssrlni_wu_d(a, b, IMM6)
6055}
6056
6057#[inline]
6058#[target_feature(enable = "lsx")]
6059#[rustc_legacy_const_generics(2)]
6060#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6061pub unsafe fn lsx_vssrlni_du_q<const IMM7: u32>(a: v2u64, b: v2i64) -> v2u64 {
6062    static_assert_uimm_bits!(IMM7, 7);
6063    __lsx_vssrlni_du_q(a, b, IMM7)
6064}
6065
6066#[inline]
6067#[target_feature(enable = "lsx")]
6068#[rustc_legacy_const_generics(2)]
6069#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6070pub unsafe fn lsx_vssrlrni_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
6071    static_assert_uimm_bits!(IMM4, 4);
6072    __lsx_vssrlrni_b_h(a, b, IMM4)
6073}
6074
6075#[inline]
6076#[target_feature(enable = "lsx")]
6077#[rustc_legacy_const_generics(2)]
6078#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6079pub unsafe fn lsx_vssrlrni_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
6080    static_assert_uimm_bits!(IMM5, 5);
6081    __lsx_vssrlrni_h_w(a, b, IMM5)
6082}
6083
6084#[inline]
6085#[target_feature(enable = "lsx")]
6086#[rustc_legacy_const_generics(2)]
6087#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6088pub unsafe fn lsx_vssrlrni_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
6089    static_assert_uimm_bits!(IMM6, 6);
6090    __lsx_vssrlrni_w_d(a, b, IMM6)
6091}
6092
6093#[inline]
6094#[target_feature(enable = "lsx")]
6095#[rustc_legacy_const_generics(2)]
6096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6097pub unsafe fn lsx_vssrlrni_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
6098    static_assert_uimm_bits!(IMM7, 7);
6099    __lsx_vssrlrni_d_q(a, b, IMM7)
6100}
6101
6102#[inline]
6103#[target_feature(enable = "lsx")]
6104#[rustc_legacy_const_generics(2)]
6105#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6106pub unsafe fn lsx_vssrlrni_bu_h<const IMM4: u32>(a: v16u8, b: v16i8) -> v16u8 {
6107    static_assert_uimm_bits!(IMM4, 4);
6108    __lsx_vssrlrni_bu_h(a, b, IMM4)
6109}
6110
6111#[inline]
6112#[target_feature(enable = "lsx")]
6113#[rustc_legacy_const_generics(2)]
6114#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6115pub unsafe fn lsx_vssrlrni_hu_w<const IMM5: u32>(a: v8u16, b: v8i16) -> v8u16 {
6116    static_assert_uimm_bits!(IMM5, 5);
6117    __lsx_vssrlrni_hu_w(a, b, IMM5)
6118}
6119
6120#[inline]
6121#[target_feature(enable = "lsx")]
6122#[rustc_legacy_const_generics(2)]
6123#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6124pub unsafe fn lsx_vssrlrni_wu_d<const IMM6: u32>(a: v4u32, b: v4i32) -> v4u32 {
6125    static_assert_uimm_bits!(IMM6, 6);
6126    __lsx_vssrlrni_wu_d(a, b, IMM6)
6127}
6128
6129#[inline]
6130#[target_feature(enable = "lsx")]
6131#[rustc_legacy_const_generics(2)]
6132#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6133pub unsafe fn lsx_vssrlrni_du_q<const IMM7: u32>(a: v2u64, b: v2i64) -> v2u64 {
6134    static_assert_uimm_bits!(IMM7, 7);
6135    __lsx_vssrlrni_du_q(a, b, IMM7)
6136}
6137
6138#[inline]
6139#[target_feature(enable = "lsx")]
6140#[rustc_legacy_const_generics(2)]
6141#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6142pub unsafe fn lsx_vsrani_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
6143    static_assert_uimm_bits!(IMM4, 4);
6144    __lsx_vsrani_b_h(a, b, IMM4)
6145}
6146
6147#[inline]
6148#[target_feature(enable = "lsx")]
6149#[rustc_legacy_const_generics(2)]
6150#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6151pub unsafe fn lsx_vsrani_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
6152    static_assert_uimm_bits!(IMM5, 5);
6153    __lsx_vsrani_h_w(a, b, IMM5)
6154}
6155
6156#[inline]
6157#[target_feature(enable = "lsx")]
6158#[rustc_legacy_const_generics(2)]
6159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6160pub unsafe fn lsx_vsrani_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
6161    static_assert_uimm_bits!(IMM6, 6);
6162    __lsx_vsrani_w_d(a, b, IMM6)
6163}
6164
6165#[inline]
6166#[target_feature(enable = "lsx")]
6167#[rustc_legacy_const_generics(2)]
6168#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6169pub unsafe fn lsx_vsrani_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
6170    static_assert_uimm_bits!(IMM7, 7);
6171    __lsx_vsrani_d_q(a, b, IMM7)
6172}
6173
6174#[inline]
6175#[target_feature(enable = "lsx")]
6176#[rustc_legacy_const_generics(2)]
6177#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6178pub unsafe fn lsx_vsrarni_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
6179    static_assert_uimm_bits!(IMM4, 4);
6180    __lsx_vsrarni_b_h(a, b, IMM4)
6181}
6182
6183#[inline]
6184#[target_feature(enable = "lsx")]
6185#[rustc_legacy_const_generics(2)]
6186#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6187pub unsafe fn lsx_vsrarni_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
6188    static_assert_uimm_bits!(IMM5, 5);
6189    __lsx_vsrarni_h_w(a, b, IMM5)
6190}
6191
6192#[inline]
6193#[target_feature(enable = "lsx")]
6194#[rustc_legacy_const_generics(2)]
6195#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6196pub unsafe fn lsx_vsrarni_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
6197    static_assert_uimm_bits!(IMM6, 6);
6198    __lsx_vsrarni_w_d(a, b, IMM6)
6199}
6200
6201#[inline]
6202#[target_feature(enable = "lsx")]
6203#[rustc_legacy_const_generics(2)]
6204#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6205pub unsafe fn lsx_vsrarni_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
6206    static_assert_uimm_bits!(IMM7, 7);
6207    __lsx_vsrarni_d_q(a, b, IMM7)
6208}
6209
6210#[inline]
6211#[target_feature(enable = "lsx")]
6212#[rustc_legacy_const_generics(2)]
6213#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6214pub unsafe fn lsx_vssrani_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
6215    static_assert_uimm_bits!(IMM4, 4);
6216    __lsx_vssrani_b_h(a, b, IMM4)
6217}
6218
6219#[inline]
6220#[target_feature(enable = "lsx")]
6221#[rustc_legacy_const_generics(2)]
6222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6223pub unsafe fn lsx_vssrani_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
6224    static_assert_uimm_bits!(IMM5, 5);
6225    __lsx_vssrani_h_w(a, b, IMM5)
6226}
6227
6228#[inline]
6229#[target_feature(enable = "lsx")]
6230#[rustc_legacy_const_generics(2)]
6231#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6232pub unsafe fn lsx_vssrani_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
6233    static_assert_uimm_bits!(IMM6, 6);
6234    __lsx_vssrani_w_d(a, b, IMM6)
6235}
6236
6237#[inline]
6238#[target_feature(enable = "lsx")]
6239#[rustc_legacy_const_generics(2)]
6240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6241pub unsafe fn lsx_vssrani_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
6242    static_assert_uimm_bits!(IMM7, 7);
6243    __lsx_vssrani_d_q(a, b, IMM7)
6244}
6245
6246#[inline]
6247#[target_feature(enable = "lsx")]
6248#[rustc_legacy_const_generics(2)]
6249#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6250pub unsafe fn lsx_vssrani_bu_h<const IMM4: u32>(a: v16u8, b: v16i8) -> v16u8 {
6251    static_assert_uimm_bits!(IMM4, 4);
6252    __lsx_vssrani_bu_h(a, b, IMM4)
6253}
6254
6255#[inline]
6256#[target_feature(enable = "lsx")]
6257#[rustc_legacy_const_generics(2)]
6258#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6259pub unsafe fn lsx_vssrani_hu_w<const IMM5: u32>(a: v8u16, b: v8i16) -> v8u16 {
6260    static_assert_uimm_bits!(IMM5, 5);
6261    __lsx_vssrani_hu_w(a, b, IMM5)
6262}
6263
6264#[inline]
6265#[target_feature(enable = "lsx")]
6266#[rustc_legacy_const_generics(2)]
6267#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6268pub unsafe fn lsx_vssrani_wu_d<const IMM6: u32>(a: v4u32, b: v4i32) -> v4u32 {
6269    static_assert_uimm_bits!(IMM6, 6);
6270    __lsx_vssrani_wu_d(a, b, IMM6)
6271}
6272
6273#[inline]
6274#[target_feature(enable = "lsx")]
6275#[rustc_legacy_const_generics(2)]
6276#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6277pub unsafe fn lsx_vssrani_du_q<const IMM7: u32>(a: v2u64, b: v2i64) -> v2u64 {
6278    static_assert_uimm_bits!(IMM7, 7);
6279    __lsx_vssrani_du_q(a, b, IMM7)
6280}
6281
6282#[inline]
6283#[target_feature(enable = "lsx")]
6284#[rustc_legacy_const_generics(2)]
6285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6286pub unsafe fn lsx_vssrarni_b_h<const IMM4: u32>(a: v16i8, b: v16i8) -> v16i8 {
6287    static_assert_uimm_bits!(IMM4, 4);
6288    __lsx_vssrarni_b_h(a, b, IMM4)
6289}
6290
6291#[inline]
6292#[target_feature(enable = "lsx")]
6293#[rustc_legacy_const_generics(2)]
6294#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6295pub unsafe fn lsx_vssrarni_h_w<const IMM5: u32>(a: v8i16, b: v8i16) -> v8i16 {
6296    static_assert_uimm_bits!(IMM5, 5);
6297    __lsx_vssrarni_h_w(a, b, IMM5)
6298}
6299
6300#[inline]
6301#[target_feature(enable = "lsx")]
6302#[rustc_legacy_const_generics(2)]
6303#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6304pub unsafe fn lsx_vssrarni_w_d<const IMM6: u32>(a: v4i32, b: v4i32) -> v4i32 {
6305    static_assert_uimm_bits!(IMM6, 6);
6306    __lsx_vssrarni_w_d(a, b, IMM6)
6307}
6308
6309#[inline]
6310#[target_feature(enable = "lsx")]
6311#[rustc_legacy_const_generics(2)]
6312#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6313pub unsafe fn lsx_vssrarni_d_q<const IMM7: u32>(a: v2i64, b: v2i64) -> v2i64 {
6314    static_assert_uimm_bits!(IMM7, 7);
6315    __lsx_vssrarni_d_q(a, b, IMM7)
6316}
6317
6318#[inline]
6319#[target_feature(enable = "lsx")]
6320#[rustc_legacy_const_generics(2)]
6321#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6322pub unsafe fn lsx_vssrarni_bu_h<const IMM4: u32>(a: v16u8, b: v16i8) -> v16u8 {
6323    static_assert_uimm_bits!(IMM4, 4);
6324    __lsx_vssrarni_bu_h(a, b, IMM4)
6325}
6326
6327#[inline]
6328#[target_feature(enable = "lsx")]
6329#[rustc_legacy_const_generics(2)]
6330#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6331pub unsafe fn lsx_vssrarni_hu_w<const IMM5: u32>(a: v8u16, b: v8i16) -> v8u16 {
6332    static_assert_uimm_bits!(IMM5, 5);
6333    __lsx_vssrarni_hu_w(a, b, IMM5)
6334}
6335
6336#[inline]
6337#[target_feature(enable = "lsx")]
6338#[rustc_legacy_const_generics(2)]
6339#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6340pub unsafe fn lsx_vssrarni_wu_d<const IMM6: u32>(a: v4u32, b: v4i32) -> v4u32 {
6341    static_assert_uimm_bits!(IMM6, 6);
6342    __lsx_vssrarni_wu_d(a, b, IMM6)
6343}
6344
6345#[inline]
6346#[target_feature(enable = "lsx")]
6347#[rustc_legacy_const_generics(2)]
6348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6349pub unsafe fn lsx_vssrarni_du_q<const IMM7: u32>(a: v2u64, b: v2i64) -> v2u64 {
6350    static_assert_uimm_bits!(IMM7, 7);
6351    __lsx_vssrarni_du_q(a, b, IMM7)
6352}
6353
6354#[inline]
6355#[target_feature(enable = "lsx")]
6356#[rustc_legacy_const_generics(2)]
6357#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6358pub unsafe fn lsx_vpermi_w<const IMM8: u32>(a: v4i32, b: v4i32) -> v4i32 {
6359    static_assert_uimm_bits!(IMM8, 8);
6360    __lsx_vpermi_w(a, b, IMM8)
6361}
6362
6363#[inline]
6364#[target_feature(enable = "lsx")]
6365#[rustc_legacy_const_generics(1)]
6366#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6367pub unsafe fn lsx_vld<const IMM_S12: i32>(mem_addr: *const i8) -> v16i8 {
6368    static_assert_simm_bits!(IMM_S12, 12);
6369    __lsx_vld(mem_addr, IMM_S12)
6370}
6371
6372#[inline]
6373#[target_feature(enable = "lsx")]
6374#[rustc_legacy_const_generics(2)]
6375#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6376pub unsafe fn lsx_vst<const IMM_S12: i32>(a: v16i8, mem_addr: *mut i8) {
6377    static_assert_simm_bits!(IMM_S12, 12);
6378    __lsx_vst(a, mem_addr, IMM_S12)
6379}
6380
6381#[inline]
6382#[target_feature(enable = "lsx")]
6383#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6384pub unsafe fn lsx_vssrlrn_b_h(a: v8i16, b: v8i16) -> v16i8 {
6385    __lsx_vssrlrn_b_h(a, b)
6386}
6387
6388#[inline]
6389#[target_feature(enable = "lsx")]
6390#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6391pub unsafe fn lsx_vssrlrn_h_w(a: v4i32, b: v4i32) -> v8i16 {
6392    __lsx_vssrlrn_h_w(a, b)
6393}
6394
6395#[inline]
6396#[target_feature(enable = "lsx")]
6397#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6398pub unsafe fn lsx_vssrlrn_w_d(a: v2i64, b: v2i64) -> v4i32 {
6399    __lsx_vssrlrn_w_d(a, b)
6400}
6401
6402#[inline]
6403#[target_feature(enable = "lsx")]
6404#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6405pub unsafe fn lsx_vssrln_b_h(a: v8i16, b: v8i16) -> v16i8 {
6406    __lsx_vssrln_b_h(a, b)
6407}
6408
6409#[inline]
6410#[target_feature(enable = "lsx")]
6411#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6412pub unsafe fn lsx_vssrln_h_w(a: v4i32, b: v4i32) -> v8i16 {
6413    __lsx_vssrln_h_w(a, b)
6414}
6415
6416#[inline]
6417#[target_feature(enable = "lsx")]
6418#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6419pub unsafe fn lsx_vssrln_w_d(a: v2i64, b: v2i64) -> v4i32 {
6420    __lsx_vssrln_w_d(a, b)
6421}
6422
6423#[inline]
6424#[target_feature(enable = "lsx")]
6425#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6426pub unsafe fn lsx_vorn_v(a: v16i8, b: v16i8) -> v16i8 {
6427    __lsx_vorn_v(a, b)
6428}
6429
6430#[inline]
6431#[target_feature(enable = "lsx")]
6432#[rustc_legacy_const_generics(0)]
6433#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6434pub unsafe fn lsx_vldi<const IMM_S13: i32>() -> v2i64 {
6435    static_assert_simm_bits!(IMM_S13, 13);
6436    __lsx_vldi(IMM_S13)
6437}
6438
6439#[inline]
6440#[target_feature(enable = "lsx")]
6441#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6442pub unsafe fn lsx_vshuf_b(a: v16i8, b: v16i8, c: v16i8) -> v16i8 {
6443    __lsx_vshuf_b(a, b, c)
6444}
6445
6446#[inline]
6447#[target_feature(enable = "lsx")]
6448#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6449pub unsafe fn lsx_vldx(mem_addr: *const i8, b: i64) -> v16i8 {
6450    __lsx_vldx(mem_addr, b)
6451}
6452
6453#[inline]
6454#[target_feature(enable = "lsx")]
6455#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6456pub unsafe fn lsx_vstx(a: v16i8, mem_addr: *mut i8, b: i64) {
6457    __lsx_vstx(a, mem_addr, b)
6458}
6459
6460#[inline]
6461#[target_feature(enable = "lsx")]
6462#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6463pub unsafe fn lsx_vextl_qu_du(a: v2u64) -> v2u64 {
6464    __lsx_vextl_qu_du(a)
6465}
6466
6467#[inline]
6468#[target_feature(enable = "lsx")]
6469#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6470pub unsafe fn lsx_bnz_b(a: v16u8) -> i32 {
6471    __lsx_bnz_b(a)
6472}
6473
6474#[inline]
6475#[target_feature(enable = "lsx")]
6476#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6477pub unsafe fn lsx_bnz_d(a: v2u64) -> i32 {
6478    __lsx_bnz_d(a)
6479}
6480
6481#[inline]
6482#[target_feature(enable = "lsx")]
6483#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6484pub unsafe fn lsx_bnz_h(a: v8u16) -> i32 {
6485    __lsx_bnz_h(a)
6486}
6487
6488#[inline]
6489#[target_feature(enable = "lsx")]
6490#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6491pub unsafe fn lsx_bnz_v(a: v16u8) -> i32 {
6492    __lsx_bnz_v(a)
6493}
6494
6495#[inline]
6496#[target_feature(enable = "lsx")]
6497#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6498pub unsafe fn lsx_bnz_w(a: v4u32) -> i32 {
6499    __lsx_bnz_w(a)
6500}
6501
6502#[inline]
6503#[target_feature(enable = "lsx")]
6504#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6505pub unsafe fn lsx_bz_b(a: v16u8) -> i32 {
6506    __lsx_bz_b(a)
6507}
6508
6509#[inline]
6510#[target_feature(enable = "lsx")]
6511#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6512pub unsafe fn lsx_bz_d(a: v2u64) -> i32 {
6513    __lsx_bz_d(a)
6514}
6515
6516#[inline]
6517#[target_feature(enable = "lsx")]
6518#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6519pub unsafe fn lsx_bz_h(a: v8u16) -> i32 {
6520    __lsx_bz_h(a)
6521}
6522
6523#[inline]
6524#[target_feature(enable = "lsx")]
6525#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6526pub unsafe fn lsx_bz_v(a: v16u8) -> i32 {
6527    __lsx_bz_v(a)
6528}
6529
6530#[inline]
6531#[target_feature(enable = "lsx")]
6532#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6533pub unsafe fn lsx_bz_w(a: v4u32) -> i32 {
6534    __lsx_bz_w(a)
6535}
6536
6537#[inline]
6538#[target_feature(enable = "lsx")]
6539#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6540pub unsafe fn lsx_vfcmp_caf_d(a: v2f64, b: v2f64) -> v2i64 {
6541    __lsx_vfcmp_caf_d(a, b)
6542}
6543
6544#[inline]
6545#[target_feature(enable = "lsx")]
6546#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6547pub unsafe fn lsx_vfcmp_caf_s(a: v4f32, b: v4f32) -> v4i32 {
6548    __lsx_vfcmp_caf_s(a, b)
6549}
6550
6551#[inline]
6552#[target_feature(enable = "lsx")]
6553#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6554pub unsafe fn lsx_vfcmp_ceq_d(a: v2f64, b: v2f64) -> v2i64 {
6555    __lsx_vfcmp_ceq_d(a, b)
6556}
6557
6558#[inline]
6559#[target_feature(enable = "lsx")]
6560#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6561pub unsafe fn lsx_vfcmp_ceq_s(a: v4f32, b: v4f32) -> v4i32 {
6562    __lsx_vfcmp_ceq_s(a, b)
6563}
6564
6565#[inline]
6566#[target_feature(enable = "lsx")]
6567#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6568pub unsafe fn lsx_vfcmp_cle_d(a: v2f64, b: v2f64) -> v2i64 {
6569    __lsx_vfcmp_cle_d(a, b)
6570}
6571
6572#[inline]
6573#[target_feature(enable = "lsx")]
6574#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6575pub unsafe fn lsx_vfcmp_cle_s(a: v4f32, b: v4f32) -> v4i32 {
6576    __lsx_vfcmp_cle_s(a, b)
6577}
6578
6579#[inline]
6580#[target_feature(enable = "lsx")]
6581#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6582pub unsafe fn lsx_vfcmp_clt_d(a: v2f64, b: v2f64) -> v2i64 {
6583    __lsx_vfcmp_clt_d(a, b)
6584}
6585
6586#[inline]
6587#[target_feature(enable = "lsx")]
6588#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6589pub unsafe fn lsx_vfcmp_clt_s(a: v4f32, b: v4f32) -> v4i32 {
6590    __lsx_vfcmp_clt_s(a, b)
6591}
6592
6593#[inline]
6594#[target_feature(enable = "lsx")]
6595#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6596pub unsafe fn lsx_vfcmp_cne_d(a: v2f64, b: v2f64) -> v2i64 {
6597    __lsx_vfcmp_cne_d(a, b)
6598}
6599
6600#[inline]
6601#[target_feature(enable = "lsx")]
6602#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6603pub unsafe fn lsx_vfcmp_cne_s(a: v4f32, b: v4f32) -> v4i32 {
6604    __lsx_vfcmp_cne_s(a, b)
6605}
6606
6607#[inline]
6608#[target_feature(enable = "lsx")]
6609#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6610pub unsafe fn lsx_vfcmp_cor_d(a: v2f64, b: v2f64) -> v2i64 {
6611    __lsx_vfcmp_cor_d(a, b)
6612}
6613
6614#[inline]
6615#[target_feature(enable = "lsx")]
6616#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6617pub unsafe fn lsx_vfcmp_cor_s(a: v4f32, b: v4f32) -> v4i32 {
6618    __lsx_vfcmp_cor_s(a, b)
6619}
6620
6621#[inline]
6622#[target_feature(enable = "lsx")]
6623#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6624pub unsafe fn lsx_vfcmp_cueq_d(a: v2f64, b: v2f64) -> v2i64 {
6625    __lsx_vfcmp_cueq_d(a, b)
6626}
6627
6628#[inline]
6629#[target_feature(enable = "lsx")]
6630#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6631pub unsafe fn lsx_vfcmp_cueq_s(a: v4f32, b: v4f32) -> v4i32 {
6632    __lsx_vfcmp_cueq_s(a, b)
6633}
6634
6635#[inline]
6636#[target_feature(enable = "lsx")]
6637#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6638pub unsafe fn lsx_vfcmp_cule_d(a: v2f64, b: v2f64) -> v2i64 {
6639    __lsx_vfcmp_cule_d(a, b)
6640}
6641
6642#[inline]
6643#[target_feature(enable = "lsx")]
6644#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6645pub unsafe fn lsx_vfcmp_cule_s(a: v4f32, b: v4f32) -> v4i32 {
6646    __lsx_vfcmp_cule_s(a, b)
6647}
6648
6649#[inline]
6650#[target_feature(enable = "lsx")]
6651#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6652pub unsafe fn lsx_vfcmp_cult_d(a: v2f64, b: v2f64) -> v2i64 {
6653    __lsx_vfcmp_cult_d(a, b)
6654}
6655
6656#[inline]
6657#[target_feature(enable = "lsx")]
6658#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6659pub unsafe fn lsx_vfcmp_cult_s(a: v4f32, b: v4f32) -> v4i32 {
6660    __lsx_vfcmp_cult_s(a, b)
6661}
6662
6663#[inline]
6664#[target_feature(enable = "lsx")]
6665#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6666pub unsafe fn lsx_vfcmp_cun_d(a: v2f64, b: v2f64) -> v2i64 {
6667    __lsx_vfcmp_cun_d(a, b)
6668}
6669
6670#[inline]
6671#[target_feature(enable = "lsx")]
6672#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6673pub unsafe fn lsx_vfcmp_cune_d(a: v2f64, b: v2f64) -> v2i64 {
6674    __lsx_vfcmp_cune_d(a, b)
6675}
6676
6677#[inline]
6678#[target_feature(enable = "lsx")]
6679#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6680pub unsafe fn lsx_vfcmp_cune_s(a: v4f32, b: v4f32) -> v4i32 {
6681    __lsx_vfcmp_cune_s(a, b)
6682}
6683
6684#[inline]
6685#[target_feature(enable = "lsx")]
6686#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6687pub unsafe fn lsx_vfcmp_cun_s(a: v4f32, b: v4f32) -> v4i32 {
6688    __lsx_vfcmp_cun_s(a, b)
6689}
6690
6691#[inline]
6692#[target_feature(enable = "lsx")]
6693#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6694pub unsafe fn lsx_vfcmp_saf_d(a: v2f64, b: v2f64) -> v2i64 {
6695    __lsx_vfcmp_saf_d(a, b)
6696}
6697
6698#[inline]
6699#[target_feature(enable = "lsx")]
6700#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6701pub unsafe fn lsx_vfcmp_saf_s(a: v4f32, b: v4f32) -> v4i32 {
6702    __lsx_vfcmp_saf_s(a, b)
6703}
6704
6705#[inline]
6706#[target_feature(enable = "lsx")]
6707#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6708pub unsafe fn lsx_vfcmp_seq_d(a: v2f64, b: v2f64) -> v2i64 {
6709    __lsx_vfcmp_seq_d(a, b)
6710}
6711
6712#[inline]
6713#[target_feature(enable = "lsx")]
6714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6715pub unsafe fn lsx_vfcmp_seq_s(a: v4f32, b: v4f32) -> v4i32 {
6716    __lsx_vfcmp_seq_s(a, b)
6717}
6718
6719#[inline]
6720#[target_feature(enable = "lsx")]
6721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6722pub unsafe fn lsx_vfcmp_sle_d(a: v2f64, b: v2f64) -> v2i64 {
6723    __lsx_vfcmp_sle_d(a, b)
6724}
6725
6726#[inline]
6727#[target_feature(enable = "lsx")]
6728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6729pub unsafe fn lsx_vfcmp_sle_s(a: v4f32, b: v4f32) -> v4i32 {
6730    __lsx_vfcmp_sle_s(a, b)
6731}
6732
6733#[inline]
6734#[target_feature(enable = "lsx")]
6735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6736pub unsafe fn lsx_vfcmp_slt_d(a: v2f64, b: v2f64) -> v2i64 {
6737    __lsx_vfcmp_slt_d(a, b)
6738}
6739
6740#[inline]
6741#[target_feature(enable = "lsx")]
6742#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6743pub unsafe fn lsx_vfcmp_slt_s(a: v4f32, b: v4f32) -> v4i32 {
6744    __lsx_vfcmp_slt_s(a, b)
6745}
6746
6747#[inline]
6748#[target_feature(enable = "lsx")]
6749#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6750pub unsafe fn lsx_vfcmp_sne_d(a: v2f64, b: v2f64) -> v2i64 {
6751    __lsx_vfcmp_sne_d(a, b)
6752}
6753
6754#[inline]
6755#[target_feature(enable = "lsx")]
6756#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6757pub unsafe fn lsx_vfcmp_sne_s(a: v4f32, b: v4f32) -> v4i32 {
6758    __lsx_vfcmp_sne_s(a, b)
6759}
6760
6761#[inline]
6762#[target_feature(enable = "lsx")]
6763#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6764pub unsafe fn lsx_vfcmp_sor_d(a: v2f64, b: v2f64) -> v2i64 {
6765    __lsx_vfcmp_sor_d(a, b)
6766}
6767
6768#[inline]
6769#[target_feature(enable = "lsx")]
6770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6771pub unsafe fn lsx_vfcmp_sor_s(a: v4f32, b: v4f32) -> v4i32 {
6772    __lsx_vfcmp_sor_s(a, b)
6773}
6774
6775#[inline]
6776#[target_feature(enable = "lsx")]
6777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6778pub unsafe fn lsx_vfcmp_sueq_d(a: v2f64, b: v2f64) -> v2i64 {
6779    __lsx_vfcmp_sueq_d(a, b)
6780}
6781
6782#[inline]
6783#[target_feature(enable = "lsx")]
6784#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6785pub unsafe fn lsx_vfcmp_sueq_s(a: v4f32, b: v4f32) -> v4i32 {
6786    __lsx_vfcmp_sueq_s(a, b)
6787}
6788
6789#[inline]
6790#[target_feature(enable = "lsx")]
6791#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6792pub unsafe fn lsx_vfcmp_sule_d(a: v2f64, b: v2f64) -> v2i64 {
6793    __lsx_vfcmp_sule_d(a, b)
6794}
6795
6796#[inline]
6797#[target_feature(enable = "lsx")]
6798#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6799pub unsafe fn lsx_vfcmp_sule_s(a: v4f32, b: v4f32) -> v4i32 {
6800    __lsx_vfcmp_sule_s(a, b)
6801}
6802
6803#[inline]
6804#[target_feature(enable = "lsx")]
6805#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6806pub unsafe fn lsx_vfcmp_sult_d(a: v2f64, b: v2f64) -> v2i64 {
6807    __lsx_vfcmp_sult_d(a, b)
6808}
6809
6810#[inline]
6811#[target_feature(enable = "lsx")]
6812#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6813pub unsafe fn lsx_vfcmp_sult_s(a: v4f32, b: v4f32) -> v4i32 {
6814    __lsx_vfcmp_sult_s(a, b)
6815}
6816
6817#[inline]
6818#[target_feature(enable = "lsx")]
6819#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6820pub unsafe fn lsx_vfcmp_sun_d(a: v2f64, b: v2f64) -> v2i64 {
6821    __lsx_vfcmp_sun_d(a, b)
6822}
6823
6824#[inline]
6825#[target_feature(enable = "lsx")]
6826#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6827pub unsafe fn lsx_vfcmp_sune_d(a: v2f64, b: v2f64) -> v2i64 {
6828    __lsx_vfcmp_sune_d(a, b)
6829}
6830
6831#[inline]
6832#[target_feature(enable = "lsx")]
6833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6834pub unsafe fn lsx_vfcmp_sune_s(a: v4f32, b: v4f32) -> v4i32 {
6835    __lsx_vfcmp_sune_s(a, b)
6836}
6837
6838#[inline]
6839#[target_feature(enable = "lsx")]
6840#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6841pub unsafe fn lsx_vfcmp_sun_s(a: v4f32, b: v4f32) -> v4i32 {
6842    __lsx_vfcmp_sun_s(a, b)
6843}
6844
6845#[inline]
6846#[target_feature(enable = "lsx")]
6847#[rustc_legacy_const_generics(0)]
6848#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6849pub unsafe fn lsx_vrepli_b<const IMM_S10: i32>() -> v16i8 {
6850    static_assert_simm_bits!(IMM_S10, 10);
6851    __lsx_vrepli_b(IMM_S10)
6852}
6853
6854#[inline]
6855#[target_feature(enable = "lsx")]
6856#[rustc_legacy_const_generics(0)]
6857#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6858pub unsafe fn lsx_vrepli_d<const IMM_S10: i32>() -> v2i64 {
6859    static_assert_simm_bits!(IMM_S10, 10);
6860    __lsx_vrepli_d(IMM_S10)
6861}
6862
6863#[inline]
6864#[target_feature(enable = "lsx")]
6865#[rustc_legacy_const_generics(0)]
6866#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6867pub unsafe fn lsx_vrepli_h<const IMM_S10: i32>() -> v8i16 {
6868    static_assert_simm_bits!(IMM_S10, 10);
6869    __lsx_vrepli_h(IMM_S10)
6870}
6871
6872#[inline]
6873#[target_feature(enable = "lsx")]
6874#[rustc_legacy_const_generics(0)]
6875#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6876pub unsafe fn lsx_vrepli_w<const IMM_S10: i32>() -> v4i32 {
6877    static_assert_simm_bits!(IMM_S10, 10);
6878    __lsx_vrepli_w(IMM_S10)
6879}