Skip to main content

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