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