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