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