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