Skip to main content

core\stdarch\crates\core_arch\src\loongarch64\lsx/
generated.rs

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