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