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

1// This code is automatically generated. DO NOT MODIFY.
2//
3// Instead, modify `crates/stdarch-gen-loongarch/lsx.spec` and run the following command to re-generate this file:
4//
5// ```
6// OUT_DIR=`pwd`/crates/core_arch cargo run -p stdarch-gen-loongarch -- crates/stdarch-gen-loongarch/lsx.spec
7// ```
8
9use crate::mem::transmute;
10use super::types::*;
11
12#[allow(improper_ctypes)]
13unsafe extern "unadjusted" {
14    #[link_name = "llvm.loongarch.lsx.vsll.b"]
15    fn __lsx_vsll_b(a: __v16i8, b: __v16i8) -> __v16i8;
16    #[link_name = "llvm.loongarch.lsx.vsll.h"]
17    fn __lsx_vsll_h(a: __v8i16, b: __v8i16) -> __v8i16;
18    #[link_name = "llvm.loongarch.lsx.vsll.w"]
19    fn __lsx_vsll_w(a: __v4i32, b: __v4i32) -> __v4i32;
20    #[link_name = "llvm.loongarch.lsx.vsll.d"]
21    fn __lsx_vsll_d(a: __v2i64, b: __v2i64) -> __v2i64;
22    #[link_name = "llvm.loongarch.lsx.vslli.b"]
23    fn __lsx_vslli_b(a: __v16i8, b: u32) -> __v16i8;
24    #[link_name = "llvm.loongarch.lsx.vslli.h"]
25    fn __lsx_vslli_h(a: __v8i16, b: u32) -> __v8i16;
26    #[link_name = "llvm.loongarch.lsx.vslli.w"]
27    fn __lsx_vslli_w(a: __v4i32, b: u32) -> __v4i32;
28    #[link_name = "llvm.loongarch.lsx.vslli.d"]
29    fn __lsx_vslli_d(a: __v2i64, b: u32) -> __v2i64;
30    #[link_name = "llvm.loongarch.lsx.vsra.b"]
31    fn __lsx_vsra_b(a: __v16i8, b: __v16i8) -> __v16i8;
32    #[link_name = "llvm.loongarch.lsx.vsra.h"]
33    fn __lsx_vsra_h(a: __v8i16, b: __v8i16) -> __v8i16;
34    #[link_name = "llvm.loongarch.lsx.vsra.w"]
35    fn __lsx_vsra_w(a: __v4i32, b: __v4i32) -> __v4i32;
36    #[link_name = "llvm.loongarch.lsx.vsra.d"]
37    fn __lsx_vsra_d(a: __v2i64, b: __v2i64) -> __v2i64;
38    #[link_name = "llvm.loongarch.lsx.vsrai.b"]
39    fn __lsx_vsrai_b(a: __v16i8, b: u32) -> __v16i8;
40    #[link_name = "llvm.loongarch.lsx.vsrai.h"]
41    fn __lsx_vsrai_h(a: __v8i16, b: u32) -> __v8i16;
42    #[link_name = "llvm.loongarch.lsx.vsrai.w"]
43    fn __lsx_vsrai_w(a: __v4i32, b: u32) -> __v4i32;
44    #[link_name = "llvm.loongarch.lsx.vsrai.d"]
45    fn __lsx_vsrai_d(a: __v2i64, b: u32) -> __v2i64;
46    #[link_name = "llvm.loongarch.lsx.vsrar.b"]
47    fn __lsx_vsrar_b(a: __v16i8, b: __v16i8) -> __v16i8;
48    #[link_name = "llvm.loongarch.lsx.vsrar.h"]
49    fn __lsx_vsrar_h(a: __v8i16, b: __v8i16) -> __v8i16;
50    #[link_name = "llvm.loongarch.lsx.vsrar.w"]
51    fn __lsx_vsrar_w(a: __v4i32, b: __v4i32) -> __v4i32;
52    #[link_name = "llvm.loongarch.lsx.vsrar.d"]
53    fn __lsx_vsrar_d(a: __v2i64, b: __v2i64) -> __v2i64;
54    #[link_name = "llvm.loongarch.lsx.vsrari.b"]
55    fn __lsx_vsrari_b(a: __v16i8, b: u32) -> __v16i8;
56    #[link_name = "llvm.loongarch.lsx.vsrari.h"]
57    fn __lsx_vsrari_h(a: __v8i16, b: u32) -> __v8i16;
58    #[link_name = "llvm.loongarch.lsx.vsrari.w"]
59    fn __lsx_vsrari_w(a: __v4i32, b: u32) -> __v4i32;
60    #[link_name = "llvm.loongarch.lsx.vsrari.d"]
61    fn __lsx_vsrari_d(a: __v2i64, b: u32) -> __v2i64;
62    #[link_name = "llvm.loongarch.lsx.vsrl.b"]
63    fn __lsx_vsrl_b(a: __v16i8, b: __v16i8) -> __v16i8;
64    #[link_name = "llvm.loongarch.lsx.vsrl.h"]
65    fn __lsx_vsrl_h(a: __v8i16, b: __v8i16) -> __v8i16;
66    #[link_name = "llvm.loongarch.lsx.vsrl.w"]
67    fn __lsx_vsrl_w(a: __v4i32, b: __v4i32) -> __v4i32;
68    #[link_name = "llvm.loongarch.lsx.vsrl.d"]
69    fn __lsx_vsrl_d(a: __v2i64, b: __v2i64) -> __v2i64;
70    #[link_name = "llvm.loongarch.lsx.vsrli.b"]
71    fn __lsx_vsrli_b(a: __v16i8, b: u32) -> __v16i8;
72    #[link_name = "llvm.loongarch.lsx.vsrli.h"]
73    fn __lsx_vsrli_h(a: __v8i16, b: u32) -> __v8i16;
74    #[link_name = "llvm.loongarch.lsx.vsrli.w"]
75    fn __lsx_vsrli_w(a: __v4i32, b: u32) -> __v4i32;
76    #[link_name = "llvm.loongarch.lsx.vsrli.d"]
77    fn __lsx_vsrli_d(a: __v2i64, b: u32) -> __v2i64;
78    #[link_name = "llvm.loongarch.lsx.vsrlr.b"]
79    fn __lsx_vsrlr_b(a: __v16i8, b: __v16i8) -> __v16i8;
80    #[link_name = "llvm.loongarch.lsx.vsrlr.h"]
81    fn __lsx_vsrlr_h(a: __v8i16, b: __v8i16) -> __v8i16;
82    #[link_name = "llvm.loongarch.lsx.vsrlr.w"]
83    fn __lsx_vsrlr_w(a: __v4i32, b: __v4i32) -> __v4i32;
84    #[link_name = "llvm.loongarch.lsx.vsrlr.d"]
85    fn __lsx_vsrlr_d(a: __v2i64, b: __v2i64) -> __v2i64;
86    #[link_name = "llvm.loongarch.lsx.vsrlri.b"]
87    fn __lsx_vsrlri_b(a: __v16i8, b: u32) -> __v16i8;
88    #[link_name = "llvm.loongarch.lsx.vsrlri.h"]
89    fn __lsx_vsrlri_h(a: __v8i16, b: u32) -> __v8i16;
90    #[link_name = "llvm.loongarch.lsx.vsrlri.w"]
91    fn __lsx_vsrlri_w(a: __v4i32, b: u32) -> __v4i32;
92    #[link_name = "llvm.loongarch.lsx.vsrlri.d"]
93    fn __lsx_vsrlri_d(a: __v2i64, b: u32) -> __v2i64;
94    #[link_name = "llvm.loongarch.lsx.vbitclr.b"]
95    fn __lsx_vbitclr_b(a: __v16u8, b: __v16u8) -> __v16u8;
96    #[link_name = "llvm.loongarch.lsx.vbitclr.h"]
97    fn __lsx_vbitclr_h(a: __v8u16, b: __v8u16) -> __v8u16;
98    #[link_name = "llvm.loongarch.lsx.vbitclr.w"]
99    fn __lsx_vbitclr_w(a: __v4u32, b: __v4u32) -> __v4u32;
100    #[link_name = "llvm.loongarch.lsx.vbitclr.d"]
101    fn __lsx_vbitclr_d(a: __v2u64, b: __v2u64) -> __v2u64;
102    #[link_name = "llvm.loongarch.lsx.vbitclri.b"]
103    fn __lsx_vbitclri_b(a: __v16u8, b: u32) -> __v16u8;
104    #[link_name = "llvm.loongarch.lsx.vbitclri.h"]
105    fn __lsx_vbitclri_h(a: __v8u16, b: u32) -> __v8u16;
106    #[link_name = "llvm.loongarch.lsx.vbitclri.w"]
107    fn __lsx_vbitclri_w(a: __v4u32, b: u32) -> __v4u32;
108    #[link_name = "llvm.loongarch.lsx.vbitclri.d"]
109    fn __lsx_vbitclri_d(a: __v2u64, b: u32) -> __v2u64;
110    #[link_name = "llvm.loongarch.lsx.vbitset.b"]
111    fn __lsx_vbitset_b(a: __v16u8, b: __v16u8) -> __v16u8;
112    #[link_name = "llvm.loongarch.lsx.vbitset.h"]
113    fn __lsx_vbitset_h(a: __v8u16, b: __v8u16) -> __v8u16;
114    #[link_name = "llvm.loongarch.lsx.vbitset.w"]
115    fn __lsx_vbitset_w(a: __v4u32, b: __v4u32) -> __v4u32;
116    #[link_name = "llvm.loongarch.lsx.vbitset.d"]
117    fn __lsx_vbitset_d(a: __v2u64, b: __v2u64) -> __v2u64;
118    #[link_name = "llvm.loongarch.lsx.vbitseti.b"]
119    fn __lsx_vbitseti_b(a: __v16u8, b: u32) -> __v16u8;
120    #[link_name = "llvm.loongarch.lsx.vbitseti.h"]
121    fn __lsx_vbitseti_h(a: __v8u16, b: u32) -> __v8u16;
122    #[link_name = "llvm.loongarch.lsx.vbitseti.w"]
123    fn __lsx_vbitseti_w(a: __v4u32, b: u32) -> __v4u32;
124    #[link_name = "llvm.loongarch.lsx.vbitseti.d"]
125    fn __lsx_vbitseti_d(a: __v2u64, b: u32) -> __v2u64;
126    #[link_name = "llvm.loongarch.lsx.vbitrev.b"]
127    fn __lsx_vbitrev_b(a: __v16u8, b: __v16u8) -> __v16u8;
128    #[link_name = "llvm.loongarch.lsx.vbitrev.h"]
129    fn __lsx_vbitrev_h(a: __v8u16, b: __v8u16) -> __v8u16;
130    #[link_name = "llvm.loongarch.lsx.vbitrev.w"]
131    fn __lsx_vbitrev_w(a: __v4u32, b: __v4u32) -> __v4u32;
132    #[link_name = "llvm.loongarch.lsx.vbitrev.d"]
133    fn __lsx_vbitrev_d(a: __v2u64, b: __v2u64) -> __v2u64;
134    #[link_name = "llvm.loongarch.lsx.vbitrevi.b"]
135    fn __lsx_vbitrevi_b(a: __v16u8, b: u32) -> __v16u8;
136    #[link_name = "llvm.loongarch.lsx.vbitrevi.h"]
137    fn __lsx_vbitrevi_h(a: __v8u16, b: u32) -> __v8u16;
138    #[link_name = "llvm.loongarch.lsx.vbitrevi.w"]
139    fn __lsx_vbitrevi_w(a: __v4u32, b: u32) -> __v4u32;
140    #[link_name = "llvm.loongarch.lsx.vbitrevi.d"]
141    fn __lsx_vbitrevi_d(a: __v2u64, b: u32) -> __v2u64;
142    #[link_name = "llvm.loongarch.lsx.vadd.b"]
143    fn __lsx_vadd_b(a: __v16i8, b: __v16i8) -> __v16i8;
144    #[link_name = "llvm.loongarch.lsx.vadd.h"]
145    fn __lsx_vadd_h(a: __v8i16, b: __v8i16) -> __v8i16;
146    #[link_name = "llvm.loongarch.lsx.vadd.w"]
147    fn __lsx_vadd_w(a: __v4i32, b: __v4i32) -> __v4i32;
148    #[link_name = "llvm.loongarch.lsx.vadd.d"]
149    fn __lsx_vadd_d(a: __v2i64, b: __v2i64) -> __v2i64;
150    #[link_name = "llvm.loongarch.lsx.vaddi.bu"]
151    fn __lsx_vaddi_bu(a: __v16i8, b: u32) -> __v16i8;
152    #[link_name = "llvm.loongarch.lsx.vaddi.hu"]
153    fn __lsx_vaddi_hu(a: __v8i16, b: u32) -> __v8i16;
154    #[link_name = "llvm.loongarch.lsx.vaddi.wu"]
155    fn __lsx_vaddi_wu(a: __v4i32, b: u32) -> __v4i32;
156    #[link_name = "llvm.loongarch.lsx.vaddi.du"]
157    fn __lsx_vaddi_du(a: __v2i64, b: u32) -> __v2i64;
158    #[link_name = "llvm.loongarch.lsx.vsub.b"]
159    fn __lsx_vsub_b(a: __v16i8, b: __v16i8) -> __v16i8;
160    #[link_name = "llvm.loongarch.lsx.vsub.h"]
161    fn __lsx_vsub_h(a: __v8i16, b: __v8i16) -> __v8i16;
162    #[link_name = "llvm.loongarch.lsx.vsub.w"]
163    fn __lsx_vsub_w(a: __v4i32, b: __v4i32) -> __v4i32;
164    #[link_name = "llvm.loongarch.lsx.vsub.d"]
165    fn __lsx_vsub_d(a: __v2i64, b: __v2i64) -> __v2i64;
166    #[link_name = "llvm.loongarch.lsx.vsubi.bu"]
167    fn __lsx_vsubi_bu(a: __v16i8, b: u32) -> __v16i8;
168    #[link_name = "llvm.loongarch.lsx.vsubi.hu"]
169    fn __lsx_vsubi_hu(a: __v8i16, b: u32) -> __v8i16;
170    #[link_name = "llvm.loongarch.lsx.vsubi.wu"]
171    fn __lsx_vsubi_wu(a: __v4i32, b: u32) -> __v4i32;
172    #[link_name = "llvm.loongarch.lsx.vsubi.du"]
173    fn __lsx_vsubi_du(a: __v2i64, b: u32) -> __v2i64;
174    #[link_name = "llvm.loongarch.lsx.vmax.b"]
175    fn __lsx_vmax_b(a: __v16i8, b: __v16i8) -> __v16i8;
176    #[link_name = "llvm.loongarch.lsx.vmax.h"]
177    fn __lsx_vmax_h(a: __v8i16, b: __v8i16) -> __v8i16;
178    #[link_name = "llvm.loongarch.lsx.vmax.w"]
179    fn __lsx_vmax_w(a: __v4i32, b: __v4i32) -> __v4i32;
180    #[link_name = "llvm.loongarch.lsx.vmax.d"]
181    fn __lsx_vmax_d(a: __v2i64, b: __v2i64) -> __v2i64;
182    #[link_name = "llvm.loongarch.lsx.vmaxi.b"]
183    fn __lsx_vmaxi_b(a: __v16i8, b: i32) -> __v16i8;
184    #[link_name = "llvm.loongarch.lsx.vmaxi.h"]
185    fn __lsx_vmaxi_h(a: __v8i16, b: i32) -> __v8i16;
186    #[link_name = "llvm.loongarch.lsx.vmaxi.w"]
187    fn __lsx_vmaxi_w(a: __v4i32, b: i32) -> __v4i32;
188    #[link_name = "llvm.loongarch.lsx.vmaxi.d"]
189    fn __lsx_vmaxi_d(a: __v2i64, b: i32) -> __v2i64;
190    #[link_name = "llvm.loongarch.lsx.vmax.bu"]
191    fn __lsx_vmax_bu(a: __v16u8, b: __v16u8) -> __v16u8;
192    #[link_name = "llvm.loongarch.lsx.vmax.hu"]
193    fn __lsx_vmax_hu(a: __v8u16, b: __v8u16) -> __v8u16;
194    #[link_name = "llvm.loongarch.lsx.vmax.wu"]
195    fn __lsx_vmax_wu(a: __v4u32, b: __v4u32) -> __v4u32;
196    #[link_name = "llvm.loongarch.lsx.vmax.du"]
197    fn __lsx_vmax_du(a: __v2u64, b: __v2u64) -> __v2u64;
198    #[link_name = "llvm.loongarch.lsx.vmaxi.bu"]
199    fn __lsx_vmaxi_bu(a: __v16u8, b: u32) -> __v16u8;
200    #[link_name = "llvm.loongarch.lsx.vmaxi.hu"]
201    fn __lsx_vmaxi_hu(a: __v8u16, b: u32) -> __v8u16;
202    #[link_name = "llvm.loongarch.lsx.vmaxi.wu"]
203    fn __lsx_vmaxi_wu(a: __v4u32, b: u32) -> __v4u32;
204    #[link_name = "llvm.loongarch.lsx.vmaxi.du"]
205    fn __lsx_vmaxi_du(a: __v2u64, b: u32) -> __v2u64;
206    #[link_name = "llvm.loongarch.lsx.vmin.b"]
207    fn __lsx_vmin_b(a: __v16i8, b: __v16i8) -> __v16i8;
208    #[link_name = "llvm.loongarch.lsx.vmin.h"]
209    fn __lsx_vmin_h(a: __v8i16, b: __v8i16) -> __v8i16;
210    #[link_name = "llvm.loongarch.lsx.vmin.w"]
211    fn __lsx_vmin_w(a: __v4i32, b: __v4i32) -> __v4i32;
212    #[link_name = "llvm.loongarch.lsx.vmin.d"]
213    fn __lsx_vmin_d(a: __v2i64, b: __v2i64) -> __v2i64;
214    #[link_name = "llvm.loongarch.lsx.vmini.b"]
215    fn __lsx_vmini_b(a: __v16i8, b: i32) -> __v16i8;
216    #[link_name = "llvm.loongarch.lsx.vmini.h"]
217    fn __lsx_vmini_h(a: __v8i16, b: i32) -> __v8i16;
218    #[link_name = "llvm.loongarch.lsx.vmini.w"]
219    fn __lsx_vmini_w(a: __v4i32, b: i32) -> __v4i32;
220    #[link_name = "llvm.loongarch.lsx.vmini.d"]
221    fn __lsx_vmini_d(a: __v2i64, b: i32) -> __v2i64;
222    #[link_name = "llvm.loongarch.lsx.vmin.bu"]
223    fn __lsx_vmin_bu(a: __v16u8, b: __v16u8) -> __v16u8;
224    #[link_name = "llvm.loongarch.lsx.vmin.hu"]
225    fn __lsx_vmin_hu(a: __v8u16, b: __v8u16) -> __v8u16;
226    #[link_name = "llvm.loongarch.lsx.vmin.wu"]
227    fn __lsx_vmin_wu(a: __v4u32, b: __v4u32) -> __v4u32;
228    #[link_name = "llvm.loongarch.lsx.vmin.du"]
229    fn __lsx_vmin_du(a: __v2u64, b: __v2u64) -> __v2u64;
230    #[link_name = "llvm.loongarch.lsx.vmini.bu"]
231    fn __lsx_vmini_bu(a: __v16u8, b: u32) -> __v16u8;
232    #[link_name = "llvm.loongarch.lsx.vmini.hu"]
233    fn __lsx_vmini_hu(a: __v8u16, b: u32) -> __v8u16;
234    #[link_name = "llvm.loongarch.lsx.vmini.wu"]
235    fn __lsx_vmini_wu(a: __v4u32, b: u32) -> __v4u32;
236    #[link_name = "llvm.loongarch.lsx.vmini.du"]
237    fn __lsx_vmini_du(a: __v2u64, b: u32) -> __v2u64;
238    #[link_name = "llvm.loongarch.lsx.vseq.b"]
239    fn __lsx_vseq_b(a: __v16i8, b: __v16i8) -> __v16i8;
240    #[link_name = "llvm.loongarch.lsx.vseq.h"]
241    fn __lsx_vseq_h(a: __v8i16, b: __v8i16) -> __v8i16;
242    #[link_name = "llvm.loongarch.lsx.vseq.w"]
243    fn __lsx_vseq_w(a: __v4i32, b: __v4i32) -> __v4i32;
244    #[link_name = "llvm.loongarch.lsx.vseq.d"]
245    fn __lsx_vseq_d(a: __v2i64, b: __v2i64) -> __v2i64;
246    #[link_name = "llvm.loongarch.lsx.vseqi.b"]
247    fn __lsx_vseqi_b(a: __v16i8, b: i32) -> __v16i8;
248    #[link_name = "llvm.loongarch.lsx.vseqi.h"]
249    fn __lsx_vseqi_h(a: __v8i16, b: i32) -> __v8i16;
250    #[link_name = "llvm.loongarch.lsx.vseqi.w"]
251    fn __lsx_vseqi_w(a: __v4i32, b: i32) -> __v4i32;
252    #[link_name = "llvm.loongarch.lsx.vseqi.d"]
253    fn __lsx_vseqi_d(a: __v2i64, b: i32) -> __v2i64;
254    #[link_name = "llvm.loongarch.lsx.vslti.b"]
255    fn __lsx_vslti_b(a: __v16i8, b: i32) -> __v16i8;
256    #[link_name = "llvm.loongarch.lsx.vslt.b"]
257    fn __lsx_vslt_b(a: __v16i8, b: __v16i8) -> __v16i8;
258    #[link_name = "llvm.loongarch.lsx.vslt.h"]
259    fn __lsx_vslt_h(a: __v8i16, b: __v8i16) -> __v8i16;
260    #[link_name = "llvm.loongarch.lsx.vslt.w"]
261    fn __lsx_vslt_w(a: __v4i32, b: __v4i32) -> __v4i32;
262    #[link_name = "llvm.loongarch.lsx.vslt.d"]
263    fn __lsx_vslt_d(a: __v2i64, b: __v2i64) -> __v2i64;
264    #[link_name = "llvm.loongarch.lsx.vslti.h"]
265    fn __lsx_vslti_h(a: __v8i16, b: i32) -> __v8i16;
266    #[link_name = "llvm.loongarch.lsx.vslti.w"]
267    fn __lsx_vslti_w(a: __v4i32, b: i32) -> __v4i32;
268    #[link_name = "llvm.loongarch.lsx.vslti.d"]
269    fn __lsx_vslti_d(a: __v2i64, b: i32) -> __v2i64;
270    #[link_name = "llvm.loongarch.lsx.vslt.bu"]
271    fn __lsx_vslt_bu(a: __v16u8, b: __v16u8) -> __v16i8;
272    #[link_name = "llvm.loongarch.lsx.vslt.hu"]
273    fn __lsx_vslt_hu(a: __v8u16, b: __v8u16) -> __v8i16;
274    #[link_name = "llvm.loongarch.lsx.vslt.wu"]
275    fn __lsx_vslt_wu(a: __v4u32, b: __v4u32) -> __v4i32;
276    #[link_name = "llvm.loongarch.lsx.vslt.du"]
277    fn __lsx_vslt_du(a: __v2u64, b: __v2u64) -> __v2i64;
278    #[link_name = "llvm.loongarch.lsx.vslti.bu"]
279    fn __lsx_vslti_bu(a: __v16u8, b: u32) -> __v16i8;
280    #[link_name = "llvm.loongarch.lsx.vslti.hu"]
281    fn __lsx_vslti_hu(a: __v8u16, b: u32) -> __v8i16;
282    #[link_name = "llvm.loongarch.lsx.vslti.wu"]
283    fn __lsx_vslti_wu(a: __v4u32, b: u32) -> __v4i32;
284    #[link_name = "llvm.loongarch.lsx.vslti.du"]
285    fn __lsx_vslti_du(a: __v2u64, b: u32) -> __v2i64;
286    #[link_name = "llvm.loongarch.lsx.vsle.b"]
287    fn __lsx_vsle_b(a: __v16i8, b: __v16i8) -> __v16i8;
288    #[link_name = "llvm.loongarch.lsx.vsle.h"]
289    fn __lsx_vsle_h(a: __v8i16, b: __v8i16) -> __v8i16;
290    #[link_name = "llvm.loongarch.lsx.vsle.w"]
291    fn __lsx_vsle_w(a: __v4i32, b: __v4i32) -> __v4i32;
292    #[link_name = "llvm.loongarch.lsx.vsle.d"]
293    fn __lsx_vsle_d(a: __v2i64, b: __v2i64) -> __v2i64;
294    #[link_name = "llvm.loongarch.lsx.vslei.b"]
295    fn __lsx_vslei_b(a: __v16i8, b: i32) -> __v16i8;
296    #[link_name = "llvm.loongarch.lsx.vslei.h"]
297    fn __lsx_vslei_h(a: __v8i16, b: i32) -> __v8i16;
298    #[link_name = "llvm.loongarch.lsx.vslei.w"]
299    fn __lsx_vslei_w(a: __v4i32, b: i32) -> __v4i32;
300    #[link_name = "llvm.loongarch.lsx.vslei.d"]
301    fn __lsx_vslei_d(a: __v2i64, b: i32) -> __v2i64;
302    #[link_name = "llvm.loongarch.lsx.vsle.bu"]
303    fn __lsx_vsle_bu(a: __v16u8, b: __v16u8) -> __v16i8;
304    #[link_name = "llvm.loongarch.lsx.vsle.hu"]
305    fn __lsx_vsle_hu(a: __v8u16, b: __v8u16) -> __v8i16;
306    #[link_name = "llvm.loongarch.lsx.vsle.wu"]
307    fn __lsx_vsle_wu(a: __v4u32, b: __v4u32) -> __v4i32;
308    #[link_name = "llvm.loongarch.lsx.vsle.du"]
309    fn __lsx_vsle_du(a: __v2u64, b: __v2u64) -> __v2i64;
310    #[link_name = "llvm.loongarch.lsx.vslei.bu"]
311    fn __lsx_vslei_bu(a: __v16u8, b: u32) -> __v16i8;
312    #[link_name = "llvm.loongarch.lsx.vslei.hu"]
313    fn __lsx_vslei_hu(a: __v8u16, b: u32) -> __v8i16;
314    #[link_name = "llvm.loongarch.lsx.vslei.wu"]
315    fn __lsx_vslei_wu(a: __v4u32, b: u32) -> __v4i32;
316    #[link_name = "llvm.loongarch.lsx.vslei.du"]
317    fn __lsx_vslei_du(a: __v2u64, b: u32) -> __v2i64;
318    #[link_name = "llvm.loongarch.lsx.vsat.b"]
319    fn __lsx_vsat_b(a: __v16i8, b: u32) -> __v16i8;
320    #[link_name = "llvm.loongarch.lsx.vsat.h"]
321    fn __lsx_vsat_h(a: __v8i16, b: u32) -> __v8i16;
322    #[link_name = "llvm.loongarch.lsx.vsat.w"]
323    fn __lsx_vsat_w(a: __v4i32, b: u32) -> __v4i32;
324    #[link_name = "llvm.loongarch.lsx.vsat.d"]
325    fn __lsx_vsat_d(a: __v2i64, b: u32) -> __v2i64;
326    #[link_name = "llvm.loongarch.lsx.vsat.bu"]
327    fn __lsx_vsat_bu(a: __v16u8, b: u32) -> __v16u8;
328    #[link_name = "llvm.loongarch.lsx.vsat.hu"]
329    fn __lsx_vsat_hu(a: __v8u16, b: u32) -> __v8u16;
330    #[link_name = "llvm.loongarch.lsx.vsat.wu"]
331    fn __lsx_vsat_wu(a: __v4u32, b: u32) -> __v4u32;
332    #[link_name = "llvm.loongarch.lsx.vsat.du"]
333    fn __lsx_vsat_du(a: __v2u64, b: u32) -> __v2u64;
334    #[link_name = "llvm.loongarch.lsx.vadda.b"]
335    fn __lsx_vadda_b(a: __v16i8, b: __v16i8) -> __v16i8;
336    #[link_name = "llvm.loongarch.lsx.vadda.h"]
337    fn __lsx_vadda_h(a: __v8i16, b: __v8i16) -> __v8i16;
338    #[link_name = "llvm.loongarch.lsx.vadda.w"]
339    fn __lsx_vadda_w(a: __v4i32, b: __v4i32) -> __v4i32;
340    #[link_name = "llvm.loongarch.lsx.vadda.d"]
341    fn __lsx_vadda_d(a: __v2i64, b: __v2i64) -> __v2i64;
342    #[link_name = "llvm.loongarch.lsx.vsadd.b"]
343    fn __lsx_vsadd_b(a: __v16i8, b: __v16i8) -> __v16i8;
344    #[link_name = "llvm.loongarch.lsx.vsadd.h"]
345    fn __lsx_vsadd_h(a: __v8i16, b: __v8i16) -> __v8i16;
346    #[link_name = "llvm.loongarch.lsx.vsadd.w"]
347    fn __lsx_vsadd_w(a: __v4i32, b: __v4i32) -> __v4i32;
348    #[link_name = "llvm.loongarch.lsx.vsadd.d"]
349    fn __lsx_vsadd_d(a: __v2i64, b: __v2i64) -> __v2i64;
350    #[link_name = "llvm.loongarch.lsx.vsadd.bu"]
351    fn __lsx_vsadd_bu(a: __v16u8, b: __v16u8) -> __v16u8;
352    #[link_name = "llvm.loongarch.lsx.vsadd.hu"]
353    fn __lsx_vsadd_hu(a: __v8u16, b: __v8u16) -> __v8u16;
354    #[link_name = "llvm.loongarch.lsx.vsadd.wu"]
355    fn __lsx_vsadd_wu(a: __v4u32, b: __v4u32) -> __v4u32;
356    #[link_name = "llvm.loongarch.lsx.vsadd.du"]
357    fn __lsx_vsadd_du(a: __v2u64, b: __v2u64) -> __v2u64;
358    #[link_name = "llvm.loongarch.lsx.vavg.b"]
359    fn __lsx_vavg_b(a: __v16i8, b: __v16i8) -> __v16i8;
360    #[link_name = "llvm.loongarch.lsx.vavg.h"]
361    fn __lsx_vavg_h(a: __v8i16, b: __v8i16) -> __v8i16;
362    #[link_name = "llvm.loongarch.lsx.vavg.w"]
363    fn __lsx_vavg_w(a: __v4i32, b: __v4i32) -> __v4i32;
364    #[link_name = "llvm.loongarch.lsx.vavg.d"]
365    fn __lsx_vavg_d(a: __v2i64, b: __v2i64) -> __v2i64;
366    #[link_name = "llvm.loongarch.lsx.vavg.bu"]
367    fn __lsx_vavg_bu(a: __v16u8, b: __v16u8) -> __v16u8;
368    #[link_name = "llvm.loongarch.lsx.vavg.hu"]
369    fn __lsx_vavg_hu(a: __v8u16, b: __v8u16) -> __v8u16;
370    #[link_name = "llvm.loongarch.lsx.vavg.wu"]
371    fn __lsx_vavg_wu(a: __v4u32, b: __v4u32) -> __v4u32;
372    #[link_name = "llvm.loongarch.lsx.vavg.du"]
373    fn __lsx_vavg_du(a: __v2u64, b: __v2u64) -> __v2u64;
374    #[link_name = "llvm.loongarch.lsx.vavgr.b"]
375    fn __lsx_vavgr_b(a: __v16i8, b: __v16i8) -> __v16i8;
376    #[link_name = "llvm.loongarch.lsx.vavgr.h"]
377    fn __lsx_vavgr_h(a: __v8i16, b: __v8i16) -> __v8i16;
378    #[link_name = "llvm.loongarch.lsx.vavgr.w"]
379    fn __lsx_vavgr_w(a: __v4i32, b: __v4i32) -> __v4i32;
380    #[link_name = "llvm.loongarch.lsx.vavgr.d"]
381    fn __lsx_vavgr_d(a: __v2i64, b: __v2i64) -> __v2i64;
382    #[link_name = "llvm.loongarch.lsx.vavgr.bu"]
383    fn __lsx_vavgr_bu(a: __v16u8, b: __v16u8) -> __v16u8;
384    #[link_name = "llvm.loongarch.lsx.vavgr.hu"]
385    fn __lsx_vavgr_hu(a: __v8u16, b: __v8u16) -> __v8u16;
386    #[link_name = "llvm.loongarch.lsx.vavgr.wu"]
387    fn __lsx_vavgr_wu(a: __v4u32, b: __v4u32) -> __v4u32;
388    #[link_name = "llvm.loongarch.lsx.vavgr.du"]
389    fn __lsx_vavgr_du(a: __v2u64, b: __v2u64) -> __v2u64;
390    #[link_name = "llvm.loongarch.lsx.vssub.b"]
391    fn __lsx_vssub_b(a: __v16i8, b: __v16i8) -> __v16i8;
392    #[link_name = "llvm.loongarch.lsx.vssub.h"]
393    fn __lsx_vssub_h(a: __v8i16, b: __v8i16) -> __v8i16;
394    #[link_name = "llvm.loongarch.lsx.vssub.w"]
395    fn __lsx_vssub_w(a: __v4i32, b: __v4i32) -> __v4i32;
396    #[link_name = "llvm.loongarch.lsx.vssub.d"]
397    fn __lsx_vssub_d(a: __v2i64, b: __v2i64) -> __v2i64;
398    #[link_name = "llvm.loongarch.lsx.vssub.bu"]
399    fn __lsx_vssub_bu(a: __v16u8, b: __v16u8) -> __v16u8;
400    #[link_name = "llvm.loongarch.lsx.vssub.hu"]
401    fn __lsx_vssub_hu(a: __v8u16, b: __v8u16) -> __v8u16;
402    #[link_name = "llvm.loongarch.lsx.vssub.wu"]
403    fn __lsx_vssub_wu(a: __v4u32, b: __v4u32) -> __v4u32;
404    #[link_name = "llvm.loongarch.lsx.vssub.du"]
405    fn __lsx_vssub_du(a: __v2u64, b: __v2u64) -> __v2u64;
406    #[link_name = "llvm.loongarch.lsx.vabsd.b"]
407    fn __lsx_vabsd_b(a: __v16i8, b: __v16i8) -> __v16i8;
408    #[link_name = "llvm.loongarch.lsx.vabsd.h"]
409    fn __lsx_vabsd_h(a: __v8i16, b: __v8i16) -> __v8i16;
410    #[link_name = "llvm.loongarch.lsx.vabsd.w"]
411    fn __lsx_vabsd_w(a: __v4i32, b: __v4i32) -> __v4i32;
412    #[link_name = "llvm.loongarch.lsx.vabsd.d"]
413    fn __lsx_vabsd_d(a: __v2i64, b: __v2i64) -> __v2i64;
414    #[link_name = "llvm.loongarch.lsx.vabsd.bu"]
415    fn __lsx_vabsd_bu(a: __v16u8, b: __v16u8) -> __v16u8;
416    #[link_name = "llvm.loongarch.lsx.vabsd.hu"]
417    fn __lsx_vabsd_hu(a: __v8u16, b: __v8u16) -> __v8u16;
418    #[link_name = "llvm.loongarch.lsx.vabsd.wu"]
419    fn __lsx_vabsd_wu(a: __v4u32, b: __v4u32) -> __v4u32;
420    #[link_name = "llvm.loongarch.lsx.vabsd.du"]
421    fn __lsx_vabsd_du(a: __v2u64, b: __v2u64) -> __v2u64;
422    #[link_name = "llvm.loongarch.lsx.vmul.b"]
423    fn __lsx_vmul_b(a: __v16i8, b: __v16i8) -> __v16i8;
424    #[link_name = "llvm.loongarch.lsx.vmul.h"]
425    fn __lsx_vmul_h(a: __v8i16, b: __v8i16) -> __v8i16;
426    #[link_name = "llvm.loongarch.lsx.vmul.w"]
427    fn __lsx_vmul_w(a: __v4i32, b: __v4i32) -> __v4i32;
428    #[link_name = "llvm.loongarch.lsx.vmul.d"]
429    fn __lsx_vmul_d(a: __v2i64, b: __v2i64) -> __v2i64;
430    #[link_name = "llvm.loongarch.lsx.vmadd.b"]
431    fn __lsx_vmadd_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
432    #[link_name = "llvm.loongarch.lsx.vmadd.h"]
433    fn __lsx_vmadd_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
434    #[link_name = "llvm.loongarch.lsx.vmadd.w"]
435    fn __lsx_vmadd_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
436    #[link_name = "llvm.loongarch.lsx.vmadd.d"]
437    fn __lsx_vmadd_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
438    #[link_name = "llvm.loongarch.lsx.vmsub.b"]
439    fn __lsx_vmsub_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
440    #[link_name = "llvm.loongarch.lsx.vmsub.h"]
441    fn __lsx_vmsub_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
442    #[link_name = "llvm.loongarch.lsx.vmsub.w"]
443    fn __lsx_vmsub_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
444    #[link_name = "llvm.loongarch.lsx.vmsub.d"]
445    fn __lsx_vmsub_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
446    #[link_name = "llvm.loongarch.lsx.vdiv.b"]
447    fn __lsx_vdiv_b(a: __v16i8, b: __v16i8) -> __v16i8;
448    #[link_name = "llvm.loongarch.lsx.vdiv.h"]
449    fn __lsx_vdiv_h(a: __v8i16, b: __v8i16) -> __v8i16;
450    #[link_name = "llvm.loongarch.lsx.vdiv.w"]
451    fn __lsx_vdiv_w(a: __v4i32, b: __v4i32) -> __v4i32;
452    #[link_name = "llvm.loongarch.lsx.vdiv.d"]
453    fn __lsx_vdiv_d(a: __v2i64, b: __v2i64) -> __v2i64;
454    #[link_name = "llvm.loongarch.lsx.vdiv.bu"]
455    fn __lsx_vdiv_bu(a: __v16u8, b: __v16u8) -> __v16u8;
456    #[link_name = "llvm.loongarch.lsx.vdiv.hu"]
457    fn __lsx_vdiv_hu(a: __v8u16, b: __v8u16) -> __v8u16;
458    #[link_name = "llvm.loongarch.lsx.vdiv.wu"]
459    fn __lsx_vdiv_wu(a: __v4u32, b: __v4u32) -> __v4u32;
460    #[link_name = "llvm.loongarch.lsx.vdiv.du"]
461    fn __lsx_vdiv_du(a: __v2u64, b: __v2u64) -> __v2u64;
462    #[link_name = "llvm.loongarch.lsx.vhaddw.h.b"]
463    fn __lsx_vhaddw_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
464    #[link_name = "llvm.loongarch.lsx.vhaddw.w.h"]
465    fn __lsx_vhaddw_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
466    #[link_name = "llvm.loongarch.lsx.vhaddw.d.w"]
467    fn __lsx_vhaddw_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
468    #[link_name = "llvm.loongarch.lsx.vhaddw.hu.bu"]
469    fn __lsx_vhaddw_hu_bu(a: __v16u8, b: __v16u8) -> __v8u16;
470    #[link_name = "llvm.loongarch.lsx.vhaddw.wu.hu"]
471    fn __lsx_vhaddw_wu_hu(a: __v8u16, b: __v8u16) -> __v4u32;
472    #[link_name = "llvm.loongarch.lsx.vhaddw.du.wu"]
473    fn __lsx_vhaddw_du_wu(a: __v4u32, b: __v4u32) -> __v2u64;
474    #[link_name = "llvm.loongarch.lsx.vhsubw.h.b"]
475    fn __lsx_vhsubw_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
476    #[link_name = "llvm.loongarch.lsx.vhsubw.w.h"]
477    fn __lsx_vhsubw_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
478    #[link_name = "llvm.loongarch.lsx.vhsubw.d.w"]
479    fn __lsx_vhsubw_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
480    #[link_name = "llvm.loongarch.lsx.vhsubw.hu.bu"]
481    fn __lsx_vhsubw_hu_bu(a: __v16u8, b: __v16u8) -> __v8i16;
482    #[link_name = "llvm.loongarch.lsx.vhsubw.wu.hu"]
483    fn __lsx_vhsubw_wu_hu(a: __v8u16, b: __v8u16) -> __v4i32;
484    #[link_name = "llvm.loongarch.lsx.vhsubw.du.wu"]
485    fn __lsx_vhsubw_du_wu(a: __v4u32, b: __v4u32) -> __v2i64;
486    #[link_name = "llvm.loongarch.lsx.vmod.b"]
487    fn __lsx_vmod_b(a: __v16i8, b: __v16i8) -> __v16i8;
488    #[link_name = "llvm.loongarch.lsx.vmod.h"]
489    fn __lsx_vmod_h(a: __v8i16, b: __v8i16) -> __v8i16;
490    #[link_name = "llvm.loongarch.lsx.vmod.w"]
491    fn __lsx_vmod_w(a: __v4i32, b: __v4i32) -> __v4i32;
492    #[link_name = "llvm.loongarch.lsx.vmod.d"]
493    fn __lsx_vmod_d(a: __v2i64, b: __v2i64) -> __v2i64;
494    #[link_name = "llvm.loongarch.lsx.vmod.bu"]
495    fn __lsx_vmod_bu(a: __v16u8, b: __v16u8) -> __v16u8;
496    #[link_name = "llvm.loongarch.lsx.vmod.hu"]
497    fn __lsx_vmod_hu(a: __v8u16, b: __v8u16) -> __v8u16;
498    #[link_name = "llvm.loongarch.lsx.vmod.wu"]
499    fn __lsx_vmod_wu(a: __v4u32, b: __v4u32) -> __v4u32;
500    #[link_name = "llvm.loongarch.lsx.vmod.du"]
501    fn __lsx_vmod_du(a: __v2u64, b: __v2u64) -> __v2u64;
502    #[link_name = "llvm.loongarch.lsx.vreplve.b"]
503    fn __lsx_vreplve_b(a: __v16i8, b: i32) -> __v16i8;
504    #[link_name = "llvm.loongarch.lsx.vreplve.h"]
505    fn __lsx_vreplve_h(a: __v8i16, b: i32) -> __v8i16;
506    #[link_name = "llvm.loongarch.lsx.vreplve.w"]
507    fn __lsx_vreplve_w(a: __v4i32, b: i32) -> __v4i32;
508    #[link_name = "llvm.loongarch.lsx.vreplve.d"]
509    fn __lsx_vreplve_d(a: __v2i64, b: i32) -> __v2i64;
510    #[link_name = "llvm.loongarch.lsx.vreplvei.b"]
511    fn __lsx_vreplvei_b(a: __v16i8, b: u32) -> __v16i8;
512    #[link_name = "llvm.loongarch.lsx.vreplvei.h"]
513    fn __lsx_vreplvei_h(a: __v8i16, b: u32) -> __v8i16;
514    #[link_name = "llvm.loongarch.lsx.vreplvei.w"]
515    fn __lsx_vreplvei_w(a: __v4i32, b: u32) -> __v4i32;
516    #[link_name = "llvm.loongarch.lsx.vreplvei.d"]
517    fn __lsx_vreplvei_d(a: __v2i64, b: u32) -> __v2i64;
518    #[link_name = "llvm.loongarch.lsx.vpickev.b"]
519    fn __lsx_vpickev_b(a: __v16i8, b: __v16i8) -> __v16i8;
520    #[link_name = "llvm.loongarch.lsx.vpickev.h"]
521    fn __lsx_vpickev_h(a: __v8i16, b: __v8i16) -> __v8i16;
522    #[link_name = "llvm.loongarch.lsx.vpickev.w"]
523    fn __lsx_vpickev_w(a: __v4i32, b: __v4i32) -> __v4i32;
524    #[link_name = "llvm.loongarch.lsx.vpickev.d"]
525    fn __lsx_vpickev_d(a: __v2i64, b: __v2i64) -> __v2i64;
526    #[link_name = "llvm.loongarch.lsx.vpickod.b"]
527    fn __lsx_vpickod_b(a: __v16i8, b: __v16i8) -> __v16i8;
528    #[link_name = "llvm.loongarch.lsx.vpickod.h"]
529    fn __lsx_vpickod_h(a: __v8i16, b: __v8i16) -> __v8i16;
530    #[link_name = "llvm.loongarch.lsx.vpickod.w"]
531    fn __lsx_vpickod_w(a: __v4i32, b: __v4i32) -> __v4i32;
532    #[link_name = "llvm.loongarch.lsx.vpickod.d"]
533    fn __lsx_vpickod_d(a: __v2i64, b: __v2i64) -> __v2i64;
534    #[link_name = "llvm.loongarch.lsx.vilvh.b"]
535    fn __lsx_vilvh_b(a: __v16i8, b: __v16i8) -> __v16i8;
536    #[link_name = "llvm.loongarch.lsx.vilvh.h"]
537    fn __lsx_vilvh_h(a: __v8i16, b: __v8i16) -> __v8i16;
538    #[link_name = "llvm.loongarch.lsx.vilvh.w"]
539    fn __lsx_vilvh_w(a: __v4i32, b: __v4i32) -> __v4i32;
540    #[link_name = "llvm.loongarch.lsx.vilvh.d"]
541    fn __lsx_vilvh_d(a: __v2i64, b: __v2i64) -> __v2i64;
542    #[link_name = "llvm.loongarch.lsx.vilvl.b"]
543    fn __lsx_vilvl_b(a: __v16i8, b: __v16i8) -> __v16i8;
544    #[link_name = "llvm.loongarch.lsx.vilvl.h"]
545    fn __lsx_vilvl_h(a: __v8i16, b: __v8i16) -> __v8i16;
546    #[link_name = "llvm.loongarch.lsx.vilvl.w"]
547    fn __lsx_vilvl_w(a: __v4i32, b: __v4i32) -> __v4i32;
548    #[link_name = "llvm.loongarch.lsx.vilvl.d"]
549    fn __lsx_vilvl_d(a: __v2i64, b: __v2i64) -> __v2i64;
550    #[link_name = "llvm.loongarch.lsx.vpackev.b"]
551    fn __lsx_vpackev_b(a: __v16i8, b: __v16i8) -> __v16i8;
552    #[link_name = "llvm.loongarch.lsx.vpackev.h"]
553    fn __lsx_vpackev_h(a: __v8i16, b: __v8i16) -> __v8i16;
554    #[link_name = "llvm.loongarch.lsx.vpackev.w"]
555    fn __lsx_vpackev_w(a: __v4i32, b: __v4i32) -> __v4i32;
556    #[link_name = "llvm.loongarch.lsx.vpackev.d"]
557    fn __lsx_vpackev_d(a: __v2i64, b: __v2i64) -> __v2i64;
558    #[link_name = "llvm.loongarch.lsx.vpackod.b"]
559    fn __lsx_vpackod_b(a: __v16i8, b: __v16i8) -> __v16i8;
560    #[link_name = "llvm.loongarch.lsx.vpackod.h"]
561    fn __lsx_vpackod_h(a: __v8i16, b: __v8i16) -> __v8i16;
562    #[link_name = "llvm.loongarch.lsx.vpackod.w"]
563    fn __lsx_vpackod_w(a: __v4i32, b: __v4i32) -> __v4i32;
564    #[link_name = "llvm.loongarch.lsx.vpackod.d"]
565    fn __lsx_vpackod_d(a: __v2i64, b: __v2i64) -> __v2i64;
566    #[link_name = "llvm.loongarch.lsx.vshuf.h"]
567    fn __lsx_vshuf_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
568    #[link_name = "llvm.loongarch.lsx.vshuf.w"]
569    fn __lsx_vshuf_w(a: __v4i32, b: __v4i32, c: __v4i32) -> __v4i32;
570    #[link_name = "llvm.loongarch.lsx.vshuf.d"]
571    fn __lsx_vshuf_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
572    #[link_name = "llvm.loongarch.lsx.vand.v"]
573    fn __lsx_vand_v(a: __v16u8, b: __v16u8) -> __v16u8;
574    #[link_name = "llvm.loongarch.lsx.vandi.b"]
575    fn __lsx_vandi_b(a: __v16u8, b: u32) -> __v16u8;
576    #[link_name = "llvm.loongarch.lsx.vor.v"]
577    fn __lsx_vor_v(a: __v16u8, b: __v16u8) -> __v16u8;
578    #[link_name = "llvm.loongarch.lsx.vori.b"]
579    fn __lsx_vori_b(a: __v16u8, b: u32) -> __v16u8;
580    #[link_name = "llvm.loongarch.lsx.vnor.v"]
581    fn __lsx_vnor_v(a: __v16u8, b: __v16u8) -> __v16u8;
582    #[link_name = "llvm.loongarch.lsx.vnori.b"]
583    fn __lsx_vnori_b(a: __v16u8, b: u32) -> __v16u8;
584    #[link_name = "llvm.loongarch.lsx.vxor.v"]
585    fn __lsx_vxor_v(a: __v16u8, b: __v16u8) -> __v16u8;
586    #[link_name = "llvm.loongarch.lsx.vxori.b"]
587    fn __lsx_vxori_b(a: __v16u8, b: u32) -> __v16u8;
588    #[link_name = "llvm.loongarch.lsx.vbitsel.v"]
589    fn __lsx_vbitsel_v(a: __v16u8, b: __v16u8, c: __v16u8) -> __v16u8;
590    #[link_name = "llvm.loongarch.lsx.vbitseli.b"]
591    fn __lsx_vbitseli_b(a: __v16u8, b: __v16u8, c: u32) -> __v16u8;
592    #[link_name = "llvm.loongarch.lsx.vshuf4i.b"]
593    fn __lsx_vshuf4i_b(a: __v16i8, b: u32) -> __v16i8;
594    #[link_name = "llvm.loongarch.lsx.vshuf4i.h"]
595    fn __lsx_vshuf4i_h(a: __v8i16, b: u32) -> __v8i16;
596    #[link_name = "llvm.loongarch.lsx.vshuf4i.w"]
597    fn __lsx_vshuf4i_w(a: __v4i32, b: u32) -> __v4i32;
598    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.b"]
599    fn __lsx_vreplgr2vr_b(a: i32) -> __v16i8;
600    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.h"]
601    fn __lsx_vreplgr2vr_h(a: i32) -> __v8i16;
602    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.w"]
603    fn __lsx_vreplgr2vr_w(a: i32) -> __v4i32;
604    #[link_name = "llvm.loongarch.lsx.vreplgr2vr.d"]
605    fn __lsx_vreplgr2vr_d(a: i64) -> __v2i64;
606    #[link_name = "llvm.loongarch.lsx.vpcnt.b"]
607    fn __lsx_vpcnt_b(a: __v16i8) -> __v16i8;
608    #[link_name = "llvm.loongarch.lsx.vpcnt.h"]
609    fn __lsx_vpcnt_h(a: __v8i16) -> __v8i16;
610    #[link_name = "llvm.loongarch.lsx.vpcnt.w"]
611    fn __lsx_vpcnt_w(a: __v4i32) -> __v4i32;
612    #[link_name = "llvm.loongarch.lsx.vpcnt.d"]
613    fn __lsx_vpcnt_d(a: __v2i64) -> __v2i64;
614    #[link_name = "llvm.loongarch.lsx.vclo.b"]
615    fn __lsx_vclo_b(a: __v16i8) -> __v16i8;
616    #[link_name = "llvm.loongarch.lsx.vclo.h"]
617    fn __lsx_vclo_h(a: __v8i16) -> __v8i16;
618    #[link_name = "llvm.loongarch.lsx.vclo.w"]
619    fn __lsx_vclo_w(a: __v4i32) -> __v4i32;
620    #[link_name = "llvm.loongarch.lsx.vclo.d"]
621    fn __lsx_vclo_d(a: __v2i64) -> __v2i64;
622    #[link_name = "llvm.loongarch.lsx.vclz.b"]
623    fn __lsx_vclz_b(a: __v16i8) -> __v16i8;
624    #[link_name = "llvm.loongarch.lsx.vclz.h"]
625    fn __lsx_vclz_h(a: __v8i16) -> __v8i16;
626    #[link_name = "llvm.loongarch.lsx.vclz.w"]
627    fn __lsx_vclz_w(a: __v4i32) -> __v4i32;
628    #[link_name = "llvm.loongarch.lsx.vclz.d"]
629    fn __lsx_vclz_d(a: __v2i64) -> __v2i64;
630    #[link_name = "llvm.loongarch.lsx.vpickve2gr.b"]
631    fn __lsx_vpickve2gr_b(a: __v16i8, b: u32) -> i32;
632    #[link_name = "llvm.loongarch.lsx.vpickve2gr.h"]
633    fn __lsx_vpickve2gr_h(a: __v8i16, b: u32) -> i32;
634    #[link_name = "llvm.loongarch.lsx.vpickve2gr.w"]
635    fn __lsx_vpickve2gr_w(a: __v4i32, b: u32) -> i32;
636    #[link_name = "llvm.loongarch.lsx.vpickve2gr.d"]
637    fn __lsx_vpickve2gr_d(a: __v2i64, b: u32) -> i64;
638    #[link_name = "llvm.loongarch.lsx.vpickve2gr.bu"]
639    fn __lsx_vpickve2gr_bu(a: __v16i8, b: u32) -> u32;
640    #[link_name = "llvm.loongarch.lsx.vpickve2gr.hu"]
641    fn __lsx_vpickve2gr_hu(a: __v8i16, b: u32) -> u32;
642    #[link_name = "llvm.loongarch.lsx.vpickve2gr.wu"]
643    fn __lsx_vpickve2gr_wu(a: __v4i32, b: u32) -> u32;
644    #[link_name = "llvm.loongarch.lsx.vpickve2gr.du"]
645    fn __lsx_vpickve2gr_du(a: __v2i64, b: u32) -> u64;
646    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.b"]
647    fn __lsx_vinsgr2vr_b(a: __v16i8, b: i32, c: u32) -> __v16i8;
648    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.h"]
649    fn __lsx_vinsgr2vr_h(a: __v8i16, b: i32, c: u32) -> __v8i16;
650    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.w"]
651    fn __lsx_vinsgr2vr_w(a: __v4i32, b: i32, c: u32) -> __v4i32;
652    #[link_name = "llvm.loongarch.lsx.vinsgr2vr.d"]
653    fn __lsx_vinsgr2vr_d(a: __v2i64, b: i64, c: u32) -> __v2i64;
654    #[link_name = "llvm.loongarch.lsx.vfadd.s"]
655    fn __lsx_vfadd_s(a: __v4f32, b: __v4f32) -> __v4f32;
656    #[link_name = "llvm.loongarch.lsx.vfadd.d"]
657    fn __lsx_vfadd_d(a: __v2f64, b: __v2f64) -> __v2f64;
658    #[link_name = "llvm.loongarch.lsx.vfsub.s"]
659    fn __lsx_vfsub_s(a: __v4f32, b: __v4f32) -> __v4f32;
660    #[link_name = "llvm.loongarch.lsx.vfsub.d"]
661    fn __lsx_vfsub_d(a: __v2f64, b: __v2f64) -> __v2f64;
662    #[link_name = "llvm.loongarch.lsx.vfmul.s"]
663    fn __lsx_vfmul_s(a: __v4f32, b: __v4f32) -> __v4f32;
664    #[link_name = "llvm.loongarch.lsx.vfmul.d"]
665    fn __lsx_vfmul_d(a: __v2f64, b: __v2f64) -> __v2f64;
666    #[link_name = "llvm.loongarch.lsx.vfdiv.s"]
667    fn __lsx_vfdiv_s(a: __v4f32, b: __v4f32) -> __v4f32;
668    #[link_name = "llvm.loongarch.lsx.vfdiv.d"]
669    fn __lsx_vfdiv_d(a: __v2f64, b: __v2f64) -> __v2f64;
670    #[link_name = "llvm.loongarch.lsx.vfcvt.h.s"]
671    fn __lsx_vfcvt_h_s(a: __v4f32, b: __v4f32) -> __v8i16;
672    #[link_name = "llvm.loongarch.lsx.vfcvt.s.d"]
673    fn __lsx_vfcvt_s_d(a: __v2f64, b: __v2f64) -> __v4f32;
674    #[link_name = "llvm.loongarch.lsx.vfmin.s"]
675    fn __lsx_vfmin_s(a: __v4f32, b: __v4f32) -> __v4f32;
676    #[link_name = "llvm.loongarch.lsx.vfmin.d"]
677    fn __lsx_vfmin_d(a: __v2f64, b: __v2f64) -> __v2f64;
678    #[link_name = "llvm.loongarch.lsx.vfmina.s"]
679    fn __lsx_vfmina_s(a: __v4f32, b: __v4f32) -> __v4f32;
680    #[link_name = "llvm.loongarch.lsx.vfmina.d"]
681    fn __lsx_vfmina_d(a: __v2f64, b: __v2f64) -> __v2f64;
682    #[link_name = "llvm.loongarch.lsx.vfmax.s"]
683    fn __lsx_vfmax_s(a: __v4f32, b: __v4f32) -> __v4f32;
684    #[link_name = "llvm.loongarch.lsx.vfmax.d"]
685    fn __lsx_vfmax_d(a: __v2f64, b: __v2f64) -> __v2f64;
686    #[link_name = "llvm.loongarch.lsx.vfmaxa.s"]
687    fn __lsx_vfmaxa_s(a: __v4f32, b: __v4f32) -> __v4f32;
688    #[link_name = "llvm.loongarch.lsx.vfmaxa.d"]
689    fn __lsx_vfmaxa_d(a: __v2f64, b: __v2f64) -> __v2f64;
690    #[link_name = "llvm.loongarch.lsx.vfclass.s"]
691    fn __lsx_vfclass_s(a: __v4f32) -> __v4i32;
692    #[link_name = "llvm.loongarch.lsx.vfclass.d"]
693    fn __lsx_vfclass_d(a: __v2f64) -> __v2i64;
694    #[link_name = "llvm.loongarch.lsx.vfsqrt.s"]
695    fn __lsx_vfsqrt_s(a: __v4f32) -> __v4f32;
696    #[link_name = "llvm.loongarch.lsx.vfsqrt.d"]
697    fn __lsx_vfsqrt_d(a: __v2f64) -> __v2f64;
698    #[link_name = "llvm.loongarch.lsx.vfrecip.s"]
699    fn __lsx_vfrecip_s(a: __v4f32) -> __v4f32;
700    #[link_name = "llvm.loongarch.lsx.vfrecip.d"]
701    fn __lsx_vfrecip_d(a: __v2f64) -> __v2f64;
702    #[link_name = "llvm.loongarch.lsx.vfrecipe.s"]
703    fn __lsx_vfrecipe_s(a: __v4f32) -> __v4f32;
704    #[link_name = "llvm.loongarch.lsx.vfrecipe.d"]
705    fn __lsx_vfrecipe_d(a: __v2f64) -> __v2f64;
706    #[link_name = "llvm.loongarch.lsx.vfrsqrte.s"]
707    fn __lsx_vfrsqrte_s(a: __v4f32) -> __v4f32;
708    #[link_name = "llvm.loongarch.lsx.vfrsqrte.d"]
709    fn __lsx_vfrsqrte_d(a: __v2f64) -> __v2f64;
710    #[link_name = "llvm.loongarch.lsx.vfrint.s"]
711    fn __lsx_vfrint_s(a: __v4f32) -> __v4f32;
712    #[link_name = "llvm.loongarch.lsx.vfrint.d"]
713    fn __lsx_vfrint_d(a: __v2f64) -> __v2f64;
714    #[link_name = "llvm.loongarch.lsx.vfrsqrt.s"]
715    fn __lsx_vfrsqrt_s(a: __v4f32) -> __v4f32;
716    #[link_name = "llvm.loongarch.lsx.vfrsqrt.d"]
717    fn __lsx_vfrsqrt_d(a: __v2f64) -> __v2f64;
718    #[link_name = "llvm.loongarch.lsx.vflogb.s"]
719    fn __lsx_vflogb_s(a: __v4f32) -> __v4f32;
720    #[link_name = "llvm.loongarch.lsx.vflogb.d"]
721    fn __lsx_vflogb_d(a: __v2f64) -> __v2f64;
722    #[link_name = "llvm.loongarch.lsx.vfcvth.s.h"]
723    fn __lsx_vfcvth_s_h(a: __v8i16) -> __v4f32;
724    #[link_name = "llvm.loongarch.lsx.vfcvth.d.s"]
725    fn __lsx_vfcvth_d_s(a: __v4f32) -> __v2f64;
726    #[link_name = "llvm.loongarch.lsx.vfcvtl.s.h"]
727    fn __lsx_vfcvtl_s_h(a: __v8i16) -> __v4f32;
728    #[link_name = "llvm.loongarch.lsx.vfcvtl.d.s"]
729    fn __lsx_vfcvtl_d_s(a: __v4f32) -> __v2f64;
730    #[link_name = "llvm.loongarch.lsx.vftint.w.s"]
731    fn __lsx_vftint_w_s(a: __v4f32) -> __v4i32;
732    #[link_name = "llvm.loongarch.lsx.vftint.l.d"]
733    fn __lsx_vftint_l_d(a: __v2f64) -> __v2i64;
734    #[link_name = "llvm.loongarch.lsx.vftint.wu.s"]
735    fn __lsx_vftint_wu_s(a: __v4f32) -> __v4u32;
736    #[link_name = "llvm.loongarch.lsx.vftint.lu.d"]
737    fn __lsx_vftint_lu_d(a: __v2f64) -> __v2u64;
738    #[link_name = "llvm.loongarch.lsx.vftintrz.w.s"]
739    fn __lsx_vftintrz_w_s(a: __v4f32) -> __v4i32;
740    #[link_name = "llvm.loongarch.lsx.vftintrz.l.d"]
741    fn __lsx_vftintrz_l_d(a: __v2f64) -> __v2i64;
742    #[link_name = "llvm.loongarch.lsx.vftintrz.wu.s"]
743    fn __lsx_vftintrz_wu_s(a: __v4f32) -> __v4u32;
744    #[link_name = "llvm.loongarch.lsx.vftintrz.lu.d"]
745    fn __lsx_vftintrz_lu_d(a: __v2f64) -> __v2u64;
746    #[link_name = "llvm.loongarch.lsx.vffint.s.w"]
747    fn __lsx_vffint_s_w(a: __v4i32) -> __v4f32;
748    #[link_name = "llvm.loongarch.lsx.vffint.d.l"]
749    fn __lsx_vffint_d_l(a: __v2i64) -> __v2f64;
750    #[link_name = "llvm.loongarch.lsx.vffint.s.wu"]
751    fn __lsx_vffint_s_wu(a: __v4u32) -> __v4f32;
752    #[link_name = "llvm.loongarch.lsx.vffint.d.lu"]
753    fn __lsx_vffint_d_lu(a: __v2u64) -> __v2f64;
754    #[link_name = "llvm.loongarch.lsx.vandn.v"]
755    fn __lsx_vandn_v(a: __v16u8, b: __v16u8) -> __v16u8;
756    #[link_name = "llvm.loongarch.lsx.vneg.b"]
757    fn __lsx_vneg_b(a: __v16i8) -> __v16i8;
758    #[link_name = "llvm.loongarch.lsx.vneg.h"]
759    fn __lsx_vneg_h(a: __v8i16) -> __v8i16;
760    #[link_name = "llvm.loongarch.lsx.vneg.w"]
761    fn __lsx_vneg_w(a: __v4i32) -> __v4i32;
762    #[link_name = "llvm.loongarch.lsx.vneg.d"]
763    fn __lsx_vneg_d(a: __v2i64) -> __v2i64;
764    #[link_name = "llvm.loongarch.lsx.vmuh.b"]
765    fn __lsx_vmuh_b(a: __v16i8, b: __v16i8) -> __v16i8;
766    #[link_name = "llvm.loongarch.lsx.vmuh.h"]
767    fn __lsx_vmuh_h(a: __v8i16, b: __v8i16) -> __v8i16;
768    #[link_name = "llvm.loongarch.lsx.vmuh.w"]
769    fn __lsx_vmuh_w(a: __v4i32, b: __v4i32) -> __v4i32;
770    #[link_name = "llvm.loongarch.lsx.vmuh.d"]
771    fn __lsx_vmuh_d(a: __v2i64, b: __v2i64) -> __v2i64;
772    #[link_name = "llvm.loongarch.lsx.vmuh.bu"]
773    fn __lsx_vmuh_bu(a: __v16u8, b: __v16u8) -> __v16u8;
774    #[link_name = "llvm.loongarch.lsx.vmuh.hu"]
775    fn __lsx_vmuh_hu(a: __v8u16, b: __v8u16) -> __v8u16;
776    #[link_name = "llvm.loongarch.lsx.vmuh.wu"]
777    fn __lsx_vmuh_wu(a: __v4u32, b: __v4u32) -> __v4u32;
778    #[link_name = "llvm.loongarch.lsx.vmuh.du"]
779    fn __lsx_vmuh_du(a: __v2u64, b: __v2u64) -> __v2u64;
780    #[link_name = "llvm.loongarch.lsx.vsllwil.h.b"]
781    fn __lsx_vsllwil_h_b(a: __v16i8, b: u32) -> __v8i16;
782    #[link_name = "llvm.loongarch.lsx.vsllwil.w.h"]
783    fn __lsx_vsllwil_w_h(a: __v8i16, b: u32) -> __v4i32;
784    #[link_name = "llvm.loongarch.lsx.vsllwil.d.w"]
785    fn __lsx_vsllwil_d_w(a: __v4i32, b: u32) -> __v2i64;
786    #[link_name = "llvm.loongarch.lsx.vsllwil.hu.bu"]
787    fn __lsx_vsllwil_hu_bu(a: __v16u8, b: u32) -> __v8u16;
788    #[link_name = "llvm.loongarch.lsx.vsllwil.wu.hu"]
789    fn __lsx_vsllwil_wu_hu(a: __v8u16, b: u32) -> __v4u32;
790    #[link_name = "llvm.loongarch.lsx.vsllwil.du.wu"]
791    fn __lsx_vsllwil_du_wu(a: __v4u32, b: u32) -> __v2u64;
792    #[link_name = "llvm.loongarch.lsx.vsran.b.h"]
793    fn __lsx_vsran_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
794    #[link_name = "llvm.loongarch.lsx.vsran.h.w"]
795    fn __lsx_vsran_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
796    #[link_name = "llvm.loongarch.lsx.vsran.w.d"]
797    fn __lsx_vsran_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
798    #[link_name = "llvm.loongarch.lsx.vssran.b.h"]
799    fn __lsx_vssran_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
800    #[link_name = "llvm.loongarch.lsx.vssran.h.w"]
801    fn __lsx_vssran_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
802    #[link_name = "llvm.loongarch.lsx.vssran.w.d"]
803    fn __lsx_vssran_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
804    #[link_name = "llvm.loongarch.lsx.vssran.bu.h"]
805    fn __lsx_vssran_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
806    #[link_name = "llvm.loongarch.lsx.vssran.hu.w"]
807    fn __lsx_vssran_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
808    #[link_name = "llvm.loongarch.lsx.vssran.wu.d"]
809    fn __lsx_vssran_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
810    #[link_name = "llvm.loongarch.lsx.vsrarn.b.h"]
811    fn __lsx_vsrarn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
812    #[link_name = "llvm.loongarch.lsx.vsrarn.h.w"]
813    fn __lsx_vsrarn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
814    #[link_name = "llvm.loongarch.lsx.vsrarn.w.d"]
815    fn __lsx_vsrarn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
816    #[link_name = "llvm.loongarch.lsx.vssrarn.b.h"]
817    fn __lsx_vssrarn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
818    #[link_name = "llvm.loongarch.lsx.vssrarn.h.w"]
819    fn __lsx_vssrarn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
820    #[link_name = "llvm.loongarch.lsx.vssrarn.w.d"]
821    fn __lsx_vssrarn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
822    #[link_name = "llvm.loongarch.lsx.vssrarn.bu.h"]
823    fn __lsx_vssrarn_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
824    #[link_name = "llvm.loongarch.lsx.vssrarn.hu.w"]
825    fn __lsx_vssrarn_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
826    #[link_name = "llvm.loongarch.lsx.vssrarn.wu.d"]
827    fn __lsx_vssrarn_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
828    #[link_name = "llvm.loongarch.lsx.vsrln.b.h"]
829    fn __lsx_vsrln_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
830    #[link_name = "llvm.loongarch.lsx.vsrln.h.w"]
831    fn __lsx_vsrln_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
832    #[link_name = "llvm.loongarch.lsx.vsrln.w.d"]
833    fn __lsx_vsrln_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
834    #[link_name = "llvm.loongarch.lsx.vssrln.bu.h"]
835    fn __lsx_vssrln_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
836    #[link_name = "llvm.loongarch.lsx.vssrln.hu.w"]
837    fn __lsx_vssrln_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
838    #[link_name = "llvm.loongarch.lsx.vssrln.wu.d"]
839    fn __lsx_vssrln_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
840    #[link_name = "llvm.loongarch.lsx.vsrlrn.b.h"]
841    fn __lsx_vsrlrn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
842    #[link_name = "llvm.loongarch.lsx.vsrlrn.h.w"]
843    fn __lsx_vsrlrn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
844    #[link_name = "llvm.loongarch.lsx.vsrlrn.w.d"]
845    fn __lsx_vsrlrn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
846    #[link_name = "llvm.loongarch.lsx.vssrlrn.bu.h"]
847    fn __lsx_vssrlrn_bu_h(a: __v8u16, b: __v8u16) -> __v16u8;
848    #[link_name = "llvm.loongarch.lsx.vssrlrn.hu.w"]
849    fn __lsx_vssrlrn_hu_w(a: __v4u32, b: __v4u32) -> __v8u16;
850    #[link_name = "llvm.loongarch.lsx.vssrlrn.wu.d"]
851    fn __lsx_vssrlrn_wu_d(a: __v2u64, b: __v2u64) -> __v4u32;
852    #[link_name = "llvm.loongarch.lsx.vfrstpi.b"]
853    fn __lsx_vfrstpi_b(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
854    #[link_name = "llvm.loongarch.lsx.vfrstpi.h"]
855    fn __lsx_vfrstpi_h(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
856    #[link_name = "llvm.loongarch.lsx.vfrstp.b"]
857    fn __lsx_vfrstp_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
858    #[link_name = "llvm.loongarch.lsx.vfrstp.h"]
859    fn __lsx_vfrstp_h(a: __v8i16, b: __v8i16, c: __v8i16) -> __v8i16;
860    #[link_name = "llvm.loongarch.lsx.vshuf4i.d"]
861    fn __lsx_vshuf4i_d(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
862    #[link_name = "llvm.loongarch.lsx.vbsrl.v"]
863    fn __lsx_vbsrl_v(a: __v16i8, b: u32) -> __v16i8;
864    #[link_name = "llvm.loongarch.lsx.vbsll.v"]
865    fn __lsx_vbsll_v(a: __v16i8, b: u32) -> __v16i8;
866    #[link_name = "llvm.loongarch.lsx.vextrins.b"]
867    fn __lsx_vextrins_b(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
868    #[link_name = "llvm.loongarch.lsx.vextrins.h"]
869    fn __lsx_vextrins_h(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
870    #[link_name = "llvm.loongarch.lsx.vextrins.w"]
871    fn __lsx_vextrins_w(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
872    #[link_name = "llvm.loongarch.lsx.vextrins.d"]
873    fn __lsx_vextrins_d(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
874    #[link_name = "llvm.loongarch.lsx.vmskltz.b"]
875    fn __lsx_vmskltz_b(a: __v16i8) -> __v16i8;
876    #[link_name = "llvm.loongarch.lsx.vmskltz.h"]
877    fn __lsx_vmskltz_h(a: __v8i16) -> __v8i16;
878    #[link_name = "llvm.loongarch.lsx.vmskltz.w"]
879    fn __lsx_vmskltz_w(a: __v4i32) -> __v4i32;
880    #[link_name = "llvm.loongarch.lsx.vmskltz.d"]
881    fn __lsx_vmskltz_d(a: __v2i64) -> __v2i64;
882    #[link_name = "llvm.loongarch.lsx.vsigncov.b"]
883    fn __lsx_vsigncov_b(a: __v16i8, b: __v16i8) -> __v16i8;
884    #[link_name = "llvm.loongarch.lsx.vsigncov.h"]
885    fn __lsx_vsigncov_h(a: __v8i16, b: __v8i16) -> __v8i16;
886    #[link_name = "llvm.loongarch.lsx.vsigncov.w"]
887    fn __lsx_vsigncov_w(a: __v4i32, b: __v4i32) -> __v4i32;
888    #[link_name = "llvm.loongarch.lsx.vsigncov.d"]
889    fn __lsx_vsigncov_d(a: __v2i64, b: __v2i64) -> __v2i64;
890    #[link_name = "llvm.loongarch.lsx.vfmadd.s"]
891    fn __lsx_vfmadd_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
892    #[link_name = "llvm.loongarch.lsx.vfmadd.d"]
893    fn __lsx_vfmadd_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
894    #[link_name = "llvm.loongarch.lsx.vfmsub.s"]
895    fn __lsx_vfmsub_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
896    #[link_name = "llvm.loongarch.lsx.vfmsub.d"]
897    fn __lsx_vfmsub_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
898    #[link_name = "llvm.loongarch.lsx.vfnmadd.s"]
899    fn __lsx_vfnmadd_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
900    #[link_name = "llvm.loongarch.lsx.vfnmadd.d"]
901    fn __lsx_vfnmadd_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
902    #[link_name = "llvm.loongarch.lsx.vfnmsub.s"]
903    fn __lsx_vfnmsub_s(a: __v4f32, b: __v4f32, c: __v4f32) -> __v4f32;
904    #[link_name = "llvm.loongarch.lsx.vfnmsub.d"]
905    fn __lsx_vfnmsub_d(a: __v2f64, b: __v2f64, c: __v2f64) -> __v2f64;
906    #[link_name = "llvm.loongarch.lsx.vftintrne.w.s"]
907    fn __lsx_vftintrne_w_s(a: __v4f32) -> __v4i32;
908    #[link_name = "llvm.loongarch.lsx.vftintrne.l.d"]
909    fn __lsx_vftintrne_l_d(a: __v2f64) -> __v2i64;
910    #[link_name = "llvm.loongarch.lsx.vftintrp.w.s"]
911    fn __lsx_vftintrp_w_s(a: __v4f32) -> __v4i32;
912    #[link_name = "llvm.loongarch.lsx.vftintrp.l.d"]
913    fn __lsx_vftintrp_l_d(a: __v2f64) -> __v2i64;
914    #[link_name = "llvm.loongarch.lsx.vftintrm.w.s"]
915    fn __lsx_vftintrm_w_s(a: __v4f32) -> __v4i32;
916    #[link_name = "llvm.loongarch.lsx.vftintrm.l.d"]
917    fn __lsx_vftintrm_l_d(a: __v2f64) -> __v2i64;
918    #[link_name = "llvm.loongarch.lsx.vftint.w.d"]
919    fn __lsx_vftint_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
920    #[link_name = "llvm.loongarch.lsx.vffint.s.l"]
921    fn __lsx_vffint_s_l(a: __v2i64, b: __v2i64) -> __v4f32;
922    #[link_name = "llvm.loongarch.lsx.vftintrz.w.d"]
923    fn __lsx_vftintrz_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
924    #[link_name = "llvm.loongarch.lsx.vftintrp.w.d"]
925    fn __lsx_vftintrp_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
926    #[link_name = "llvm.loongarch.lsx.vftintrm.w.d"]
927    fn __lsx_vftintrm_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
928    #[link_name = "llvm.loongarch.lsx.vftintrne.w.d"]
929    fn __lsx_vftintrne_w_d(a: __v2f64, b: __v2f64) -> __v4i32;
930    #[link_name = "llvm.loongarch.lsx.vftintl.l.s"]
931    fn __lsx_vftintl_l_s(a: __v4f32) -> __v2i64;
932    #[link_name = "llvm.loongarch.lsx.vftinth.l.s"]
933    fn __lsx_vftinth_l_s(a: __v4f32) -> __v2i64;
934    #[link_name = "llvm.loongarch.lsx.vffinth.d.w"]
935    fn __lsx_vffinth_d_w(a: __v4i32) -> __v2f64;
936    #[link_name = "llvm.loongarch.lsx.vffintl.d.w"]
937    fn __lsx_vffintl_d_w(a: __v4i32) -> __v2f64;
938    #[link_name = "llvm.loongarch.lsx.vftintrzl.l.s"]
939    fn __lsx_vftintrzl_l_s(a: __v4f32) -> __v2i64;
940    #[link_name = "llvm.loongarch.lsx.vftintrzh.l.s"]
941    fn __lsx_vftintrzh_l_s(a: __v4f32) -> __v2i64;
942    #[link_name = "llvm.loongarch.lsx.vftintrpl.l.s"]
943    fn __lsx_vftintrpl_l_s(a: __v4f32) -> __v2i64;
944    #[link_name = "llvm.loongarch.lsx.vftintrph.l.s"]
945    fn __lsx_vftintrph_l_s(a: __v4f32) -> __v2i64;
946    #[link_name = "llvm.loongarch.lsx.vftintrml.l.s"]
947    fn __lsx_vftintrml_l_s(a: __v4f32) -> __v2i64;
948    #[link_name = "llvm.loongarch.lsx.vftintrmh.l.s"]
949    fn __lsx_vftintrmh_l_s(a: __v4f32) -> __v2i64;
950    #[link_name = "llvm.loongarch.lsx.vftintrnel.l.s"]
951    fn __lsx_vftintrnel_l_s(a: __v4f32) -> __v2i64;
952    #[link_name = "llvm.loongarch.lsx.vftintrneh.l.s"]
953    fn __lsx_vftintrneh_l_s(a: __v4f32) -> __v2i64;
954    #[link_name = "llvm.loongarch.lsx.vfrintrne.s"]
955    fn __lsx_vfrintrne_s(a: __v4f32) -> __v4f32;
956    #[link_name = "llvm.loongarch.lsx.vfrintrne.d"]
957    fn __lsx_vfrintrne_d(a: __v2f64) -> __v2f64;
958    #[link_name = "llvm.loongarch.lsx.vfrintrz.s"]
959    fn __lsx_vfrintrz_s(a: __v4f32) -> __v4f32;
960    #[link_name = "llvm.loongarch.lsx.vfrintrz.d"]
961    fn __lsx_vfrintrz_d(a: __v2f64) -> __v2f64;
962    #[link_name = "llvm.loongarch.lsx.vfrintrp.s"]
963    fn __lsx_vfrintrp_s(a: __v4f32) -> __v4f32;
964    #[link_name = "llvm.loongarch.lsx.vfrintrp.d"]
965    fn __lsx_vfrintrp_d(a: __v2f64) -> __v2f64;
966    #[link_name = "llvm.loongarch.lsx.vfrintrm.s"]
967    fn __lsx_vfrintrm_s(a: __v4f32) -> __v4f32;
968    #[link_name = "llvm.loongarch.lsx.vfrintrm.d"]
969    fn __lsx_vfrintrm_d(a: __v2f64) -> __v2f64;
970    #[link_name = "llvm.loongarch.lsx.vstelm.b"]
971    fn __lsx_vstelm_b(a: __v16i8, b: *mut i8, c: i32, d: u32);
972    #[link_name = "llvm.loongarch.lsx.vstelm.h"]
973    fn __lsx_vstelm_h(a: __v8i16, b: *mut i8, c: i32, d: u32);
974    #[link_name = "llvm.loongarch.lsx.vstelm.w"]
975    fn __lsx_vstelm_w(a: __v4i32, b: *mut i8, c: i32, d: u32);
976    #[link_name = "llvm.loongarch.lsx.vstelm.d"]
977    fn __lsx_vstelm_d(a: __v2i64, b: *mut i8, c: i32, d: u32);
978    #[link_name = "llvm.loongarch.lsx.vaddwev.d.w"]
979    fn __lsx_vaddwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
980    #[link_name = "llvm.loongarch.lsx.vaddwev.w.h"]
981    fn __lsx_vaddwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
982    #[link_name = "llvm.loongarch.lsx.vaddwev.h.b"]
983    fn __lsx_vaddwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
984    #[link_name = "llvm.loongarch.lsx.vaddwod.d.w"]
985    fn __lsx_vaddwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
986    #[link_name = "llvm.loongarch.lsx.vaddwod.w.h"]
987    fn __lsx_vaddwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
988    #[link_name = "llvm.loongarch.lsx.vaddwod.h.b"]
989    fn __lsx_vaddwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
990    #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu"]
991    fn __lsx_vaddwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
992    #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu"]
993    fn __lsx_vaddwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
994    #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu"]
995    fn __lsx_vaddwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
996    #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu"]
997    fn __lsx_vaddwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
998    #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu"]
999    fn __lsx_vaddwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
1000    #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu"]
1001    fn __lsx_vaddwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
1002    #[link_name = "llvm.loongarch.lsx.vaddwev.d.wu.w"]
1003    fn __lsx_vaddwev_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
1004    #[link_name = "llvm.loongarch.lsx.vaddwev.w.hu.h"]
1005    fn __lsx_vaddwev_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
1006    #[link_name = "llvm.loongarch.lsx.vaddwev.h.bu.b"]
1007    fn __lsx_vaddwev_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
1008    #[link_name = "llvm.loongarch.lsx.vaddwod.d.wu.w"]
1009    fn __lsx_vaddwod_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
1010    #[link_name = "llvm.loongarch.lsx.vaddwod.w.hu.h"]
1011    fn __lsx_vaddwod_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
1012    #[link_name = "llvm.loongarch.lsx.vaddwod.h.bu.b"]
1013    fn __lsx_vaddwod_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
1014    #[link_name = "llvm.loongarch.lsx.vsubwev.d.w"]
1015    fn __lsx_vsubwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
1016    #[link_name = "llvm.loongarch.lsx.vsubwev.w.h"]
1017    fn __lsx_vsubwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
1018    #[link_name = "llvm.loongarch.lsx.vsubwev.h.b"]
1019    fn __lsx_vsubwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
1020    #[link_name = "llvm.loongarch.lsx.vsubwod.d.w"]
1021    fn __lsx_vsubwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
1022    #[link_name = "llvm.loongarch.lsx.vsubwod.w.h"]
1023    fn __lsx_vsubwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
1024    #[link_name = "llvm.loongarch.lsx.vsubwod.h.b"]
1025    fn __lsx_vsubwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
1026    #[link_name = "llvm.loongarch.lsx.vsubwev.d.wu"]
1027    fn __lsx_vsubwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
1028    #[link_name = "llvm.loongarch.lsx.vsubwev.w.hu"]
1029    fn __lsx_vsubwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
1030    #[link_name = "llvm.loongarch.lsx.vsubwev.h.bu"]
1031    fn __lsx_vsubwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
1032    #[link_name = "llvm.loongarch.lsx.vsubwod.d.wu"]
1033    fn __lsx_vsubwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
1034    #[link_name = "llvm.loongarch.lsx.vsubwod.w.hu"]
1035    fn __lsx_vsubwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
1036    #[link_name = "llvm.loongarch.lsx.vsubwod.h.bu"]
1037    fn __lsx_vsubwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
1038    #[link_name = "llvm.loongarch.lsx.vaddwev.q.d"]
1039    fn __lsx_vaddwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1040    #[link_name = "llvm.loongarch.lsx.vaddwod.q.d"]
1041    fn __lsx_vaddwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1042    #[link_name = "llvm.loongarch.lsx.vaddwev.q.du"]
1043    fn __lsx_vaddwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
1044    #[link_name = "llvm.loongarch.lsx.vaddwod.q.du"]
1045    fn __lsx_vaddwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
1046    #[link_name = "llvm.loongarch.lsx.vsubwev.q.d"]
1047    fn __lsx_vsubwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1048    #[link_name = "llvm.loongarch.lsx.vsubwod.q.d"]
1049    fn __lsx_vsubwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1050    #[link_name = "llvm.loongarch.lsx.vsubwev.q.du"]
1051    fn __lsx_vsubwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
1052    #[link_name = "llvm.loongarch.lsx.vsubwod.q.du"]
1053    fn __lsx_vsubwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
1054    #[link_name = "llvm.loongarch.lsx.vaddwev.q.du.d"]
1055    fn __lsx_vaddwev_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
1056    #[link_name = "llvm.loongarch.lsx.vaddwod.q.du.d"]
1057    fn __lsx_vaddwod_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
1058    #[link_name = "llvm.loongarch.lsx.vmulwev.d.w"]
1059    fn __lsx_vmulwev_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
1060    #[link_name = "llvm.loongarch.lsx.vmulwev.w.h"]
1061    fn __lsx_vmulwev_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
1062    #[link_name = "llvm.loongarch.lsx.vmulwev.h.b"]
1063    fn __lsx_vmulwev_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
1064    #[link_name = "llvm.loongarch.lsx.vmulwod.d.w"]
1065    fn __lsx_vmulwod_d_w(a: __v4i32, b: __v4i32) -> __v2i64;
1066    #[link_name = "llvm.loongarch.lsx.vmulwod.w.h"]
1067    fn __lsx_vmulwod_w_h(a: __v8i16, b: __v8i16) -> __v4i32;
1068    #[link_name = "llvm.loongarch.lsx.vmulwod.h.b"]
1069    fn __lsx_vmulwod_h_b(a: __v16i8, b: __v16i8) -> __v8i16;
1070    #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu"]
1071    fn __lsx_vmulwev_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
1072    #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu"]
1073    fn __lsx_vmulwev_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
1074    #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu"]
1075    fn __lsx_vmulwev_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
1076    #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu"]
1077    fn __lsx_vmulwod_d_wu(a: __v4u32, b: __v4u32) -> __v2i64;
1078    #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu"]
1079    fn __lsx_vmulwod_w_hu(a: __v8u16, b: __v8u16) -> __v4i32;
1080    #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu"]
1081    fn __lsx_vmulwod_h_bu(a: __v16u8, b: __v16u8) -> __v8i16;
1082    #[link_name = "llvm.loongarch.lsx.vmulwev.d.wu.w"]
1083    fn __lsx_vmulwev_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
1084    #[link_name = "llvm.loongarch.lsx.vmulwev.w.hu.h"]
1085    fn __lsx_vmulwev_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
1086    #[link_name = "llvm.loongarch.lsx.vmulwev.h.bu.b"]
1087    fn __lsx_vmulwev_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
1088    #[link_name = "llvm.loongarch.lsx.vmulwod.d.wu.w"]
1089    fn __lsx_vmulwod_d_wu_w(a: __v4u32, b: __v4i32) -> __v2i64;
1090    #[link_name = "llvm.loongarch.lsx.vmulwod.w.hu.h"]
1091    fn __lsx_vmulwod_w_hu_h(a: __v8u16, b: __v8i16) -> __v4i32;
1092    #[link_name = "llvm.loongarch.lsx.vmulwod.h.bu.b"]
1093    fn __lsx_vmulwod_h_bu_b(a: __v16u8, b: __v16i8) -> __v8i16;
1094    #[link_name = "llvm.loongarch.lsx.vmulwev.q.d"]
1095    fn __lsx_vmulwev_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1096    #[link_name = "llvm.loongarch.lsx.vmulwod.q.d"]
1097    fn __lsx_vmulwod_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1098    #[link_name = "llvm.loongarch.lsx.vmulwev.q.du"]
1099    fn __lsx_vmulwev_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
1100    #[link_name = "llvm.loongarch.lsx.vmulwod.q.du"]
1101    fn __lsx_vmulwod_q_du(a: __v2u64, b: __v2u64) -> __v2i64;
1102    #[link_name = "llvm.loongarch.lsx.vmulwev.q.du.d"]
1103    fn __lsx_vmulwev_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
1104    #[link_name = "llvm.loongarch.lsx.vmulwod.q.du.d"]
1105    fn __lsx_vmulwod_q_du_d(a: __v2u64, b: __v2i64) -> __v2i64;
1106    #[link_name = "llvm.loongarch.lsx.vhaddw.q.d"]
1107    fn __lsx_vhaddw_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1108    #[link_name = "llvm.loongarch.lsx.vhaddw.qu.du"]
1109    fn __lsx_vhaddw_qu_du(a: __v2u64, b: __v2u64) -> __v2u64;
1110    #[link_name = "llvm.loongarch.lsx.vhsubw.q.d"]
1111    fn __lsx_vhsubw_q_d(a: __v2i64, b: __v2i64) -> __v2i64;
1112    #[link_name = "llvm.loongarch.lsx.vhsubw.qu.du"]
1113    fn __lsx_vhsubw_qu_du(a: __v2u64, b: __v2u64) -> __v2u64;
1114    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.w"]
1115    fn __lsx_vmaddwev_d_w(a: __v2i64, b: __v4i32, c: __v4i32) -> __v2i64;
1116    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.h"]
1117    fn __lsx_vmaddwev_w_h(a: __v4i32, b: __v8i16, c: __v8i16) -> __v4i32;
1118    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.b"]
1119    fn __lsx_vmaddwev_h_b(a: __v8i16, b: __v16i8, c: __v16i8) -> __v8i16;
1120    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu"]
1121    fn __lsx_vmaddwev_d_wu(a: __v2u64, b: __v4u32, c: __v4u32) -> __v2u64;
1122    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu"]
1123    fn __lsx_vmaddwev_w_hu(a: __v4u32, b: __v8u16, c: __v8u16) -> __v4u32;
1124    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu"]
1125    fn __lsx_vmaddwev_h_bu(a: __v8u16, b: __v16u8, c: __v16u8) -> __v8u16;
1126    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.w"]
1127    fn __lsx_vmaddwod_d_w(a: __v2i64, b: __v4i32, c: __v4i32) -> __v2i64;
1128    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.h"]
1129    fn __lsx_vmaddwod_w_h(a: __v4i32, b: __v8i16, c: __v8i16) -> __v4i32;
1130    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.b"]
1131    fn __lsx_vmaddwod_h_b(a: __v8i16, b: __v16i8, c: __v16i8) -> __v8i16;
1132    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu"]
1133    fn __lsx_vmaddwod_d_wu(a: __v2u64, b: __v4u32, c: __v4u32) -> __v2u64;
1134    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu"]
1135    fn __lsx_vmaddwod_w_hu(a: __v4u32, b: __v8u16, c: __v8u16) -> __v4u32;
1136    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu"]
1137    fn __lsx_vmaddwod_h_bu(a: __v8u16, b: __v16u8, c: __v16u8) -> __v8u16;
1138    #[link_name = "llvm.loongarch.lsx.vmaddwev.d.wu.w"]
1139    fn __lsx_vmaddwev_d_wu_w(a: __v2i64, b: __v4u32, c: __v4i32) -> __v2i64;
1140    #[link_name = "llvm.loongarch.lsx.vmaddwev.w.hu.h"]
1141    fn __lsx_vmaddwev_w_hu_h(a: __v4i32, b: __v8u16, c: __v8i16) -> __v4i32;
1142    #[link_name = "llvm.loongarch.lsx.vmaddwev.h.bu.b"]
1143    fn __lsx_vmaddwev_h_bu_b(a: __v8i16, b: __v16u8, c: __v16i8) -> __v8i16;
1144    #[link_name = "llvm.loongarch.lsx.vmaddwod.d.wu.w"]
1145    fn __lsx_vmaddwod_d_wu_w(a: __v2i64, b: __v4u32, c: __v4i32) -> __v2i64;
1146    #[link_name = "llvm.loongarch.lsx.vmaddwod.w.hu.h"]
1147    fn __lsx_vmaddwod_w_hu_h(a: __v4i32, b: __v8u16, c: __v8i16) -> __v4i32;
1148    #[link_name = "llvm.loongarch.lsx.vmaddwod.h.bu.b"]
1149    fn __lsx_vmaddwod_h_bu_b(a: __v8i16, b: __v16u8, c: __v16i8) -> __v8i16;
1150    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.d"]
1151    fn __lsx_vmaddwev_q_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
1152    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.d"]
1153    fn __lsx_vmaddwod_q_d(a: __v2i64, b: __v2i64, c: __v2i64) -> __v2i64;
1154    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du"]
1155    fn __lsx_vmaddwev_q_du(a: __v2u64, b: __v2u64, c: __v2u64) -> __v2u64;
1156    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du"]
1157    fn __lsx_vmaddwod_q_du(a: __v2u64, b: __v2u64, c: __v2u64) -> __v2u64;
1158    #[link_name = "llvm.loongarch.lsx.vmaddwev.q.du.d"]
1159    fn __lsx_vmaddwev_q_du_d(a: __v2i64, b: __v2u64, c: __v2i64) -> __v2i64;
1160    #[link_name = "llvm.loongarch.lsx.vmaddwod.q.du.d"]
1161    fn __lsx_vmaddwod_q_du_d(a: __v2i64, b: __v2u64, c: __v2i64) -> __v2i64;
1162    #[link_name = "llvm.loongarch.lsx.vrotr.b"]
1163    fn __lsx_vrotr_b(a: __v16i8, b: __v16i8) -> __v16i8;
1164    #[link_name = "llvm.loongarch.lsx.vrotr.h"]
1165    fn __lsx_vrotr_h(a: __v8i16, b: __v8i16) -> __v8i16;
1166    #[link_name = "llvm.loongarch.lsx.vrotr.w"]
1167    fn __lsx_vrotr_w(a: __v4i32, b: __v4i32) -> __v4i32;
1168    #[link_name = "llvm.loongarch.lsx.vrotr.d"]
1169    fn __lsx_vrotr_d(a: __v2i64, b: __v2i64) -> __v2i64;
1170    #[link_name = "llvm.loongarch.lsx.vadd.q"]
1171    fn __lsx_vadd_q(a: __v2i64, b: __v2i64) -> __v2i64;
1172    #[link_name = "llvm.loongarch.lsx.vsub.q"]
1173    fn __lsx_vsub_q(a: __v2i64, b: __v2i64) -> __v2i64;
1174    #[link_name = "llvm.loongarch.lsx.vldrepl.b"]
1175    fn __lsx_vldrepl_b(a: *const i8, b: i32) -> __v16i8;
1176    #[link_name = "llvm.loongarch.lsx.vldrepl.h"]
1177    fn __lsx_vldrepl_h(a: *const i8, b: i32) -> __v8i16;
1178    #[link_name = "llvm.loongarch.lsx.vldrepl.w"]
1179    fn __lsx_vldrepl_w(a: *const i8, b: i32) -> __v4i32;
1180    #[link_name = "llvm.loongarch.lsx.vldrepl.d"]
1181    fn __lsx_vldrepl_d(a: *const i8, b: i32) -> __v2i64;
1182    #[link_name = "llvm.loongarch.lsx.vmskgez.b"]
1183    fn __lsx_vmskgez_b(a: __v16i8) -> __v16i8;
1184    #[link_name = "llvm.loongarch.lsx.vmsknz.b"]
1185    fn __lsx_vmsknz_b(a: __v16i8) -> __v16i8;
1186    #[link_name = "llvm.loongarch.lsx.vexth.h.b"]
1187    fn __lsx_vexth_h_b(a: __v16i8) -> __v8i16;
1188    #[link_name = "llvm.loongarch.lsx.vexth.w.h"]
1189    fn __lsx_vexth_w_h(a: __v8i16) -> __v4i32;
1190    #[link_name = "llvm.loongarch.lsx.vexth.d.w"]
1191    fn __lsx_vexth_d_w(a: __v4i32) -> __v2i64;
1192    #[link_name = "llvm.loongarch.lsx.vexth.q.d"]
1193    fn __lsx_vexth_q_d(a: __v2i64) -> __v2i64;
1194    #[link_name = "llvm.loongarch.lsx.vexth.hu.bu"]
1195    fn __lsx_vexth_hu_bu(a: __v16u8) -> __v8u16;
1196    #[link_name = "llvm.loongarch.lsx.vexth.wu.hu"]
1197    fn __lsx_vexth_wu_hu(a: __v8u16) -> __v4u32;
1198    #[link_name = "llvm.loongarch.lsx.vexth.du.wu"]
1199    fn __lsx_vexth_du_wu(a: __v4u32) -> __v2u64;
1200    #[link_name = "llvm.loongarch.lsx.vexth.qu.du"]
1201    fn __lsx_vexth_qu_du(a: __v2u64) -> __v2u64;
1202    #[link_name = "llvm.loongarch.lsx.vrotri.b"]
1203    fn __lsx_vrotri_b(a: __v16i8, b: u32) -> __v16i8;
1204    #[link_name = "llvm.loongarch.lsx.vrotri.h"]
1205    fn __lsx_vrotri_h(a: __v8i16, b: u32) -> __v8i16;
1206    #[link_name = "llvm.loongarch.lsx.vrotri.w"]
1207    fn __lsx_vrotri_w(a: __v4i32, b: u32) -> __v4i32;
1208    #[link_name = "llvm.loongarch.lsx.vrotri.d"]
1209    fn __lsx_vrotri_d(a: __v2i64, b: u32) -> __v2i64;
1210    #[link_name = "llvm.loongarch.lsx.vextl.q.d"]
1211    fn __lsx_vextl_q_d(a: __v2i64) -> __v2i64;
1212    #[link_name = "llvm.loongarch.lsx.vsrlni.b.h"]
1213    fn __lsx_vsrlni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1214    #[link_name = "llvm.loongarch.lsx.vsrlni.h.w"]
1215    fn __lsx_vsrlni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1216    #[link_name = "llvm.loongarch.lsx.vsrlni.w.d"]
1217    fn __lsx_vsrlni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1218    #[link_name = "llvm.loongarch.lsx.vsrlni.d.q"]
1219    fn __lsx_vsrlni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1220    #[link_name = "llvm.loongarch.lsx.vsrlrni.b.h"]
1221    fn __lsx_vsrlrni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1222    #[link_name = "llvm.loongarch.lsx.vsrlrni.h.w"]
1223    fn __lsx_vsrlrni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1224    #[link_name = "llvm.loongarch.lsx.vsrlrni.w.d"]
1225    fn __lsx_vsrlrni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1226    #[link_name = "llvm.loongarch.lsx.vsrlrni.d.q"]
1227    fn __lsx_vsrlrni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1228    #[link_name = "llvm.loongarch.lsx.vssrlni.b.h"]
1229    fn __lsx_vssrlni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1230    #[link_name = "llvm.loongarch.lsx.vssrlni.h.w"]
1231    fn __lsx_vssrlni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1232    #[link_name = "llvm.loongarch.lsx.vssrlni.w.d"]
1233    fn __lsx_vssrlni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1234    #[link_name = "llvm.loongarch.lsx.vssrlni.d.q"]
1235    fn __lsx_vssrlni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1236    #[link_name = "llvm.loongarch.lsx.vssrlni.bu.h"]
1237    fn __lsx_vssrlni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
1238    #[link_name = "llvm.loongarch.lsx.vssrlni.hu.w"]
1239    fn __lsx_vssrlni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
1240    #[link_name = "llvm.loongarch.lsx.vssrlni.wu.d"]
1241    fn __lsx_vssrlni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
1242    #[link_name = "llvm.loongarch.lsx.vssrlni.du.q"]
1243    fn __lsx_vssrlni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
1244    #[link_name = "llvm.loongarch.lsx.vssrlrni.b.h"]
1245    fn __lsx_vssrlrni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1246    #[link_name = "llvm.loongarch.lsx.vssrlrni.h.w"]
1247    fn __lsx_vssrlrni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1248    #[link_name = "llvm.loongarch.lsx.vssrlrni.w.d"]
1249    fn __lsx_vssrlrni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1250    #[link_name = "llvm.loongarch.lsx.vssrlrni.d.q"]
1251    fn __lsx_vssrlrni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1252    #[link_name = "llvm.loongarch.lsx.vssrlrni.bu.h"]
1253    fn __lsx_vssrlrni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
1254    #[link_name = "llvm.loongarch.lsx.vssrlrni.hu.w"]
1255    fn __lsx_vssrlrni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
1256    #[link_name = "llvm.loongarch.lsx.vssrlrni.wu.d"]
1257    fn __lsx_vssrlrni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
1258    #[link_name = "llvm.loongarch.lsx.vssrlrni.du.q"]
1259    fn __lsx_vssrlrni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
1260    #[link_name = "llvm.loongarch.lsx.vsrani.b.h"]
1261    fn __lsx_vsrani_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1262    #[link_name = "llvm.loongarch.lsx.vsrani.h.w"]
1263    fn __lsx_vsrani_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1264    #[link_name = "llvm.loongarch.lsx.vsrani.w.d"]
1265    fn __lsx_vsrani_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1266    #[link_name = "llvm.loongarch.lsx.vsrani.d.q"]
1267    fn __lsx_vsrani_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1268    #[link_name = "llvm.loongarch.lsx.vsrarni.b.h"]
1269    fn __lsx_vsrarni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1270    #[link_name = "llvm.loongarch.lsx.vsrarni.h.w"]
1271    fn __lsx_vsrarni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1272    #[link_name = "llvm.loongarch.lsx.vsrarni.w.d"]
1273    fn __lsx_vsrarni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1274    #[link_name = "llvm.loongarch.lsx.vsrarni.d.q"]
1275    fn __lsx_vsrarni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1276    #[link_name = "llvm.loongarch.lsx.vssrani.b.h"]
1277    fn __lsx_vssrani_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1278    #[link_name = "llvm.loongarch.lsx.vssrani.h.w"]
1279    fn __lsx_vssrani_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1280    #[link_name = "llvm.loongarch.lsx.vssrani.w.d"]
1281    fn __lsx_vssrani_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1282    #[link_name = "llvm.loongarch.lsx.vssrani.d.q"]
1283    fn __lsx_vssrani_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1284    #[link_name = "llvm.loongarch.lsx.vssrani.bu.h"]
1285    fn __lsx_vssrani_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
1286    #[link_name = "llvm.loongarch.lsx.vssrani.hu.w"]
1287    fn __lsx_vssrani_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
1288    #[link_name = "llvm.loongarch.lsx.vssrani.wu.d"]
1289    fn __lsx_vssrani_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
1290    #[link_name = "llvm.loongarch.lsx.vssrani.du.q"]
1291    fn __lsx_vssrani_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
1292    #[link_name = "llvm.loongarch.lsx.vssrarni.b.h"]
1293    fn __lsx_vssrarni_b_h(a: __v16i8, b: __v16i8, c: u32) -> __v16i8;
1294    #[link_name = "llvm.loongarch.lsx.vssrarni.h.w"]
1295    fn __lsx_vssrarni_h_w(a: __v8i16, b: __v8i16, c: u32) -> __v8i16;
1296    #[link_name = "llvm.loongarch.lsx.vssrarni.w.d"]
1297    fn __lsx_vssrarni_w_d(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1298    #[link_name = "llvm.loongarch.lsx.vssrarni.d.q"]
1299    fn __lsx_vssrarni_d_q(a: __v2i64, b: __v2i64, c: u32) -> __v2i64;
1300    #[link_name = "llvm.loongarch.lsx.vssrarni.bu.h"]
1301    fn __lsx_vssrarni_bu_h(a: __v16u8, b: __v16i8, c: u32) -> __v16u8;
1302    #[link_name = "llvm.loongarch.lsx.vssrarni.hu.w"]
1303    fn __lsx_vssrarni_hu_w(a: __v8u16, b: __v8i16, c: u32) -> __v8u16;
1304    #[link_name = "llvm.loongarch.lsx.vssrarni.wu.d"]
1305    fn __lsx_vssrarni_wu_d(a: __v4u32, b: __v4i32, c: u32) -> __v4u32;
1306    #[link_name = "llvm.loongarch.lsx.vssrarni.du.q"]
1307    fn __lsx_vssrarni_du_q(a: __v2u64, b: __v2i64, c: u32) -> __v2u64;
1308    #[link_name = "llvm.loongarch.lsx.vpermi.w"]
1309    fn __lsx_vpermi_w(a: __v4i32, b: __v4i32, c: u32) -> __v4i32;
1310    #[link_name = "llvm.loongarch.lsx.vld"]
1311    fn __lsx_vld(a: *const i8, b: i32) -> __v16i8;
1312    #[link_name = "llvm.loongarch.lsx.vst"]
1313    fn __lsx_vst(a: __v16i8, b: *mut i8, c: i32);
1314    #[link_name = "llvm.loongarch.lsx.vssrlrn.b.h"]
1315    fn __lsx_vssrlrn_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
1316    #[link_name = "llvm.loongarch.lsx.vssrlrn.h.w"]
1317    fn __lsx_vssrlrn_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
1318    #[link_name = "llvm.loongarch.lsx.vssrlrn.w.d"]
1319    fn __lsx_vssrlrn_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
1320    #[link_name = "llvm.loongarch.lsx.vssrln.b.h"]
1321    fn __lsx_vssrln_b_h(a: __v8i16, b: __v8i16) -> __v16i8;
1322    #[link_name = "llvm.loongarch.lsx.vssrln.h.w"]
1323    fn __lsx_vssrln_h_w(a: __v4i32, b: __v4i32) -> __v8i16;
1324    #[link_name = "llvm.loongarch.lsx.vssrln.w.d"]
1325    fn __lsx_vssrln_w_d(a: __v2i64, b: __v2i64) -> __v4i32;
1326    #[link_name = "llvm.loongarch.lsx.vorn.v"]
1327    fn __lsx_vorn_v(a: __v16i8, b: __v16i8) -> __v16i8;
1328    #[link_name = "llvm.loongarch.lsx.vldi"]
1329    fn __lsx_vldi(a: i32) -> __v2i64;
1330    #[link_name = "llvm.loongarch.lsx.vshuf.b"]
1331    fn __lsx_vshuf_b(a: __v16i8, b: __v16i8, c: __v16i8) -> __v16i8;
1332    #[link_name = "llvm.loongarch.lsx.vldx"]
1333    fn __lsx_vldx(a: *const i8, b: i64) -> __v16i8;
1334    #[link_name = "llvm.loongarch.lsx.vstx"]
1335    fn __lsx_vstx(a: __v16i8, b: *mut i8, c: i64);
1336    #[link_name = "llvm.loongarch.lsx.vextl.qu.du"]
1337    fn __lsx_vextl_qu_du(a: __v2u64) -> __v2u64;
1338    #[link_name = "llvm.loongarch.lsx.bnz.b"]
1339    fn __lsx_bnz_b(a: __v16u8) -> i32;
1340    #[link_name = "llvm.loongarch.lsx.bnz.d"]
1341    fn __lsx_bnz_d(a: __v2u64) -> i32;
1342    #[link_name = "llvm.loongarch.lsx.bnz.h"]
1343    fn __lsx_bnz_h(a: __v8u16) -> i32;
1344    #[link_name = "llvm.loongarch.lsx.bnz.v"]
1345    fn __lsx_bnz_v(a: __v16u8) -> i32;
1346    #[link_name = "llvm.loongarch.lsx.bnz.w"]
1347    fn __lsx_bnz_w(a: __v4u32) -> i32;
1348    #[link_name = "llvm.loongarch.lsx.bz.b"]
1349    fn __lsx_bz_b(a: __v16u8) -> i32;
1350    #[link_name = "llvm.loongarch.lsx.bz.d"]
1351    fn __lsx_bz_d(a: __v2u64) -> i32;
1352    #[link_name = "llvm.loongarch.lsx.bz.h"]
1353    fn __lsx_bz_h(a: __v8u16) -> i32;
1354    #[link_name = "llvm.loongarch.lsx.bz.v"]
1355    fn __lsx_bz_v(a: __v16u8) -> i32;
1356    #[link_name = "llvm.loongarch.lsx.bz.w"]
1357    fn __lsx_bz_w(a: __v4u32) -> i32;
1358    #[link_name = "llvm.loongarch.lsx.vfcmp.caf.d"]
1359    fn __lsx_vfcmp_caf_d(a: __v2f64, b: __v2f64) -> __v2i64;
1360    #[link_name = "llvm.loongarch.lsx.vfcmp.caf.s"]
1361    fn __lsx_vfcmp_caf_s(a: __v4f32, b: __v4f32) -> __v4i32;
1362    #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.d"]
1363    fn __lsx_vfcmp_ceq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1364    #[link_name = "llvm.loongarch.lsx.vfcmp.ceq.s"]
1365    fn __lsx_vfcmp_ceq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1366    #[link_name = "llvm.loongarch.lsx.vfcmp.cle.d"]
1367    fn __lsx_vfcmp_cle_d(a: __v2f64, b: __v2f64) -> __v2i64;
1368    #[link_name = "llvm.loongarch.lsx.vfcmp.cle.s"]
1369    fn __lsx_vfcmp_cle_s(a: __v4f32, b: __v4f32) -> __v4i32;
1370    #[link_name = "llvm.loongarch.lsx.vfcmp.clt.d"]
1371    fn __lsx_vfcmp_clt_d(a: __v2f64, b: __v2f64) -> __v2i64;
1372    #[link_name = "llvm.loongarch.lsx.vfcmp.clt.s"]
1373    fn __lsx_vfcmp_clt_s(a: __v4f32, b: __v4f32) -> __v4i32;
1374    #[link_name = "llvm.loongarch.lsx.vfcmp.cne.d"]
1375    fn __lsx_vfcmp_cne_d(a: __v2f64, b: __v2f64) -> __v2i64;
1376    #[link_name = "llvm.loongarch.lsx.vfcmp.cne.s"]
1377    fn __lsx_vfcmp_cne_s(a: __v4f32, b: __v4f32) -> __v4i32;
1378    #[link_name = "llvm.loongarch.lsx.vfcmp.cor.d"]
1379    fn __lsx_vfcmp_cor_d(a: __v2f64, b: __v2f64) -> __v2i64;
1380    #[link_name = "llvm.loongarch.lsx.vfcmp.cor.s"]
1381    fn __lsx_vfcmp_cor_s(a: __v4f32, b: __v4f32) -> __v4i32;
1382    #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.d"]
1383    fn __lsx_vfcmp_cueq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1384    #[link_name = "llvm.loongarch.lsx.vfcmp.cueq.s"]
1385    fn __lsx_vfcmp_cueq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1386    #[link_name = "llvm.loongarch.lsx.vfcmp.cule.d"]
1387    fn __lsx_vfcmp_cule_d(a: __v2f64, b: __v2f64) -> __v2i64;
1388    #[link_name = "llvm.loongarch.lsx.vfcmp.cule.s"]
1389    fn __lsx_vfcmp_cule_s(a: __v4f32, b: __v4f32) -> __v4i32;
1390    #[link_name = "llvm.loongarch.lsx.vfcmp.cult.d"]
1391    fn __lsx_vfcmp_cult_d(a: __v2f64, b: __v2f64) -> __v2i64;
1392    #[link_name = "llvm.loongarch.lsx.vfcmp.cult.s"]
1393    fn __lsx_vfcmp_cult_s(a: __v4f32, b: __v4f32) -> __v4i32;
1394    #[link_name = "llvm.loongarch.lsx.vfcmp.cun.d"]
1395    fn __lsx_vfcmp_cun_d(a: __v2f64, b: __v2f64) -> __v2i64;
1396    #[link_name = "llvm.loongarch.lsx.vfcmp.cune.d"]
1397    fn __lsx_vfcmp_cune_d(a: __v2f64, b: __v2f64) -> __v2i64;
1398    #[link_name = "llvm.loongarch.lsx.vfcmp.cune.s"]
1399    fn __lsx_vfcmp_cune_s(a: __v4f32, b: __v4f32) -> __v4i32;
1400    #[link_name = "llvm.loongarch.lsx.vfcmp.cun.s"]
1401    fn __lsx_vfcmp_cun_s(a: __v4f32, b: __v4f32) -> __v4i32;
1402    #[link_name = "llvm.loongarch.lsx.vfcmp.saf.d"]
1403    fn __lsx_vfcmp_saf_d(a: __v2f64, b: __v2f64) -> __v2i64;
1404    #[link_name = "llvm.loongarch.lsx.vfcmp.saf.s"]
1405    fn __lsx_vfcmp_saf_s(a: __v4f32, b: __v4f32) -> __v4i32;
1406    #[link_name = "llvm.loongarch.lsx.vfcmp.seq.d"]
1407    fn __lsx_vfcmp_seq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1408    #[link_name = "llvm.loongarch.lsx.vfcmp.seq.s"]
1409    fn __lsx_vfcmp_seq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1410    #[link_name = "llvm.loongarch.lsx.vfcmp.sle.d"]
1411    fn __lsx_vfcmp_sle_d(a: __v2f64, b: __v2f64) -> __v2i64;
1412    #[link_name = "llvm.loongarch.lsx.vfcmp.sle.s"]
1413    fn __lsx_vfcmp_sle_s(a: __v4f32, b: __v4f32) -> __v4i32;
1414    #[link_name = "llvm.loongarch.lsx.vfcmp.slt.d"]
1415    fn __lsx_vfcmp_slt_d(a: __v2f64, b: __v2f64) -> __v2i64;
1416    #[link_name = "llvm.loongarch.lsx.vfcmp.slt.s"]
1417    fn __lsx_vfcmp_slt_s(a: __v4f32, b: __v4f32) -> __v4i32;
1418    #[link_name = "llvm.loongarch.lsx.vfcmp.sne.d"]
1419    fn __lsx_vfcmp_sne_d(a: __v2f64, b: __v2f64) -> __v2i64;
1420    #[link_name = "llvm.loongarch.lsx.vfcmp.sne.s"]
1421    fn __lsx_vfcmp_sne_s(a: __v4f32, b: __v4f32) -> __v4i32;
1422    #[link_name = "llvm.loongarch.lsx.vfcmp.sor.d"]
1423    fn __lsx_vfcmp_sor_d(a: __v2f64, b: __v2f64) -> __v2i64;
1424    #[link_name = "llvm.loongarch.lsx.vfcmp.sor.s"]
1425    fn __lsx_vfcmp_sor_s(a: __v4f32, b: __v4f32) -> __v4i32;
1426    #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.d"]
1427    fn __lsx_vfcmp_sueq_d(a: __v2f64, b: __v2f64) -> __v2i64;
1428    #[link_name = "llvm.loongarch.lsx.vfcmp.sueq.s"]
1429    fn __lsx_vfcmp_sueq_s(a: __v4f32, b: __v4f32) -> __v4i32;
1430    #[link_name = "llvm.loongarch.lsx.vfcmp.sule.d"]
1431    fn __lsx_vfcmp_sule_d(a: __v2f64, b: __v2f64) -> __v2i64;
1432    #[link_name = "llvm.loongarch.lsx.vfcmp.sule.s"]
1433    fn __lsx_vfcmp_sule_s(a: __v4f32, b: __v4f32) -> __v4i32;
1434    #[link_name = "llvm.loongarch.lsx.vfcmp.sult.d"]
1435    fn __lsx_vfcmp_sult_d(a: __v2f64, b: __v2f64) -> __v2i64;
1436    #[link_name = "llvm.loongarch.lsx.vfcmp.sult.s"]
1437    fn __lsx_vfcmp_sult_s(a: __v4f32, b: __v4f32) -> __v4i32;
1438    #[link_name = "llvm.loongarch.lsx.vfcmp.sun.d"]
1439    fn __lsx_vfcmp_sun_d(a: __v2f64, b: __v2f64) -> __v2i64;
1440    #[link_name = "llvm.loongarch.lsx.vfcmp.sune.d"]
1441    fn __lsx_vfcmp_sune_d(a: __v2f64, b: __v2f64) -> __v2i64;
1442    #[link_name = "llvm.loongarch.lsx.vfcmp.sune.s"]
1443    fn __lsx_vfcmp_sune_s(a: __v4f32, b: __v4f32) -> __v4i32;
1444    #[link_name = "llvm.loongarch.lsx.vfcmp.sun.s"]
1445    fn __lsx_vfcmp_sun_s(a: __v4f32, b: __v4f32) -> __v4i32;
1446    #[link_name = "llvm.loongarch.lsx.vrepli.b"]
1447    fn __lsx_vrepli_b(a: i32) -> __v16i8;
1448    #[link_name = "llvm.loongarch.lsx.vrepli.d"]
1449    fn __lsx_vrepli_d(a: i32) -> __v2i64;
1450    #[link_name = "llvm.loongarch.lsx.vrepli.h"]
1451    fn __lsx_vrepli_h(a: i32) -> __v8i16;
1452    #[link_name = "llvm.loongarch.lsx.vrepli.w"]
1453    fn __lsx_vrepli_w(a: i32) -> __v4i32;
1454}
1455
1456#[inline]
1457#[target_feature(enable = "lsx")]
1458#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1459pub fn lsx_vsll_b(a: m128i, b: m128i) -> m128i {
1460    unsafe { transmute(__lsx_vsll_b(transmute(a), transmute(b))) }
1461}
1462
1463#[inline]
1464#[target_feature(enable = "lsx")]
1465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1466pub fn lsx_vsll_h(a: m128i, b: m128i) -> m128i {
1467    unsafe { transmute(__lsx_vsll_h(transmute(a), transmute(b))) }
1468}
1469
1470#[inline]
1471#[target_feature(enable = "lsx")]
1472#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1473pub fn lsx_vsll_w(a: m128i, b: m128i) -> m128i {
1474    unsafe { transmute(__lsx_vsll_w(transmute(a), transmute(b))) }
1475}
1476
1477#[inline]
1478#[target_feature(enable = "lsx")]
1479#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1480pub fn lsx_vsll_d(a: m128i, b: m128i) -> m128i {
1481    unsafe { transmute(__lsx_vsll_d(transmute(a), transmute(b))) }
1482}
1483
1484#[inline]
1485#[target_feature(enable = "lsx")]
1486#[rustc_legacy_const_generics(1)]
1487#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1488pub fn lsx_vslli_b<const IMM3: u32>(a: m128i) -> m128i {
1489    static_assert_uimm_bits!(IMM3, 3);
1490    unsafe { transmute(__lsx_vslli_b(transmute(a), IMM3)) }
1491}
1492
1493#[inline]
1494#[target_feature(enable = "lsx")]
1495#[rustc_legacy_const_generics(1)]
1496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1497pub fn lsx_vslli_h<const IMM4: u32>(a: m128i) -> m128i {
1498    static_assert_uimm_bits!(IMM4, 4);
1499    unsafe { transmute(__lsx_vslli_h(transmute(a), IMM4)) }
1500}
1501
1502#[inline]
1503#[target_feature(enable = "lsx")]
1504#[rustc_legacy_const_generics(1)]
1505#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1506pub fn lsx_vslli_w<const IMM5: u32>(a: m128i) -> m128i {
1507    static_assert_uimm_bits!(IMM5, 5);
1508    unsafe { transmute(__lsx_vslli_w(transmute(a), IMM5)) }
1509}
1510
1511#[inline]
1512#[target_feature(enable = "lsx")]
1513#[rustc_legacy_const_generics(1)]
1514#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1515pub fn lsx_vslli_d<const IMM6: u32>(a: m128i) -> m128i {
1516    static_assert_uimm_bits!(IMM6, 6);
1517    unsafe { transmute(__lsx_vslli_d(transmute(a), IMM6)) }
1518}
1519
1520#[inline]
1521#[target_feature(enable = "lsx")]
1522#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1523pub fn lsx_vsra_b(a: m128i, b: m128i) -> m128i {
1524    unsafe { transmute(__lsx_vsra_b(transmute(a), transmute(b))) }
1525}
1526
1527#[inline]
1528#[target_feature(enable = "lsx")]
1529#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1530pub fn lsx_vsra_h(a: m128i, b: m128i) -> m128i {
1531    unsafe { transmute(__lsx_vsra_h(transmute(a), transmute(b))) }
1532}
1533
1534#[inline]
1535#[target_feature(enable = "lsx")]
1536#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1537pub fn lsx_vsra_w(a: m128i, b: m128i) -> m128i {
1538    unsafe { transmute(__lsx_vsra_w(transmute(a), transmute(b))) }
1539}
1540
1541#[inline]
1542#[target_feature(enable = "lsx")]
1543#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1544pub fn lsx_vsra_d(a: m128i, b: m128i) -> m128i {
1545    unsafe { transmute(__lsx_vsra_d(transmute(a), transmute(b))) }
1546}
1547
1548#[inline]
1549#[target_feature(enable = "lsx")]
1550#[rustc_legacy_const_generics(1)]
1551#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1552pub fn lsx_vsrai_b<const IMM3: u32>(a: m128i) -> m128i {
1553    static_assert_uimm_bits!(IMM3, 3);
1554    unsafe { transmute(__lsx_vsrai_b(transmute(a), IMM3)) }
1555}
1556
1557#[inline]
1558#[target_feature(enable = "lsx")]
1559#[rustc_legacy_const_generics(1)]
1560#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1561pub fn lsx_vsrai_h<const IMM4: u32>(a: m128i) -> m128i {
1562    static_assert_uimm_bits!(IMM4, 4);
1563    unsafe { transmute(__lsx_vsrai_h(transmute(a), IMM4)) }
1564}
1565
1566#[inline]
1567#[target_feature(enable = "lsx")]
1568#[rustc_legacy_const_generics(1)]
1569#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1570pub fn lsx_vsrai_w<const IMM5: u32>(a: m128i) -> m128i {
1571    static_assert_uimm_bits!(IMM5, 5);
1572    unsafe { transmute(__lsx_vsrai_w(transmute(a), IMM5)) }
1573}
1574
1575#[inline]
1576#[target_feature(enable = "lsx")]
1577#[rustc_legacy_const_generics(1)]
1578#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1579pub fn lsx_vsrai_d<const IMM6: u32>(a: m128i) -> m128i {
1580    static_assert_uimm_bits!(IMM6, 6);
1581    unsafe { transmute(__lsx_vsrai_d(transmute(a), IMM6)) }
1582}
1583
1584#[inline]
1585#[target_feature(enable = "lsx")]
1586#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1587pub fn lsx_vsrar_b(a: m128i, b: m128i) -> m128i {
1588    unsafe { transmute(__lsx_vsrar_b(transmute(a), transmute(b))) }
1589}
1590
1591#[inline]
1592#[target_feature(enable = "lsx")]
1593#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1594pub fn lsx_vsrar_h(a: m128i, b: m128i) -> m128i {
1595    unsafe { transmute(__lsx_vsrar_h(transmute(a), transmute(b))) }
1596}
1597
1598#[inline]
1599#[target_feature(enable = "lsx")]
1600#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1601pub fn lsx_vsrar_w(a: m128i, b: m128i) -> m128i {
1602    unsafe { transmute(__lsx_vsrar_w(transmute(a), transmute(b))) }
1603}
1604
1605#[inline]
1606#[target_feature(enable = "lsx")]
1607#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1608pub fn lsx_vsrar_d(a: m128i, b: m128i) -> m128i {
1609    unsafe { transmute(__lsx_vsrar_d(transmute(a), transmute(b))) }
1610}
1611
1612#[inline]
1613#[target_feature(enable = "lsx")]
1614#[rustc_legacy_const_generics(1)]
1615#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1616pub fn lsx_vsrari_b<const IMM3: u32>(a: m128i) -> m128i {
1617    static_assert_uimm_bits!(IMM3, 3);
1618    unsafe { transmute(__lsx_vsrari_b(transmute(a), IMM3)) }
1619}
1620
1621#[inline]
1622#[target_feature(enable = "lsx")]
1623#[rustc_legacy_const_generics(1)]
1624#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1625pub fn lsx_vsrari_h<const IMM4: u32>(a: m128i) -> m128i {
1626    static_assert_uimm_bits!(IMM4, 4);
1627    unsafe { transmute(__lsx_vsrari_h(transmute(a), IMM4)) }
1628}
1629
1630#[inline]
1631#[target_feature(enable = "lsx")]
1632#[rustc_legacy_const_generics(1)]
1633#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1634pub fn lsx_vsrari_w<const IMM5: u32>(a: m128i) -> m128i {
1635    static_assert_uimm_bits!(IMM5, 5);
1636    unsafe { transmute(__lsx_vsrari_w(transmute(a), IMM5)) }
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_vsrari_d<const IMM6: u32>(a: m128i) -> m128i {
1644    static_assert_uimm_bits!(IMM6, 6);
1645    unsafe { transmute(__lsx_vsrari_d(transmute(a), IMM6)) }
1646}
1647
1648#[inline]
1649#[target_feature(enable = "lsx")]
1650#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1651pub fn lsx_vsrl_b(a: m128i, b: m128i) -> m128i {
1652    unsafe { transmute(__lsx_vsrl_b(transmute(a), transmute(b))) }
1653}
1654
1655#[inline]
1656#[target_feature(enable = "lsx")]
1657#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1658pub fn lsx_vsrl_h(a: m128i, b: m128i) -> m128i {
1659    unsafe { transmute(__lsx_vsrl_h(transmute(a), transmute(b))) }
1660}
1661
1662#[inline]
1663#[target_feature(enable = "lsx")]
1664#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1665pub fn lsx_vsrl_w(a: m128i, b: m128i) -> m128i {
1666    unsafe { transmute(__lsx_vsrl_w(transmute(a), transmute(b))) }
1667}
1668
1669#[inline]
1670#[target_feature(enable = "lsx")]
1671#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1672pub fn lsx_vsrl_d(a: m128i, b: m128i) -> m128i {
1673    unsafe { transmute(__lsx_vsrl_d(transmute(a), transmute(b))) }
1674}
1675
1676#[inline]
1677#[target_feature(enable = "lsx")]
1678#[rustc_legacy_const_generics(1)]
1679#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1680pub fn lsx_vsrli_b<const IMM3: u32>(a: m128i) -> m128i {
1681    static_assert_uimm_bits!(IMM3, 3);
1682    unsafe { transmute(__lsx_vsrli_b(transmute(a), IMM3)) }
1683}
1684
1685#[inline]
1686#[target_feature(enable = "lsx")]
1687#[rustc_legacy_const_generics(1)]
1688#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1689pub fn lsx_vsrli_h<const IMM4: u32>(a: m128i) -> m128i {
1690    static_assert_uimm_bits!(IMM4, 4);
1691    unsafe { transmute(__lsx_vsrli_h(transmute(a), IMM4)) }
1692}
1693
1694#[inline]
1695#[target_feature(enable = "lsx")]
1696#[rustc_legacy_const_generics(1)]
1697#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1698pub fn lsx_vsrli_w<const IMM5: u32>(a: m128i) -> m128i {
1699    static_assert_uimm_bits!(IMM5, 5);
1700    unsafe { transmute(__lsx_vsrli_w(transmute(a), IMM5)) }
1701}
1702
1703#[inline]
1704#[target_feature(enable = "lsx")]
1705#[rustc_legacy_const_generics(1)]
1706#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1707pub fn lsx_vsrli_d<const IMM6: u32>(a: m128i) -> m128i {
1708    static_assert_uimm_bits!(IMM6, 6);
1709    unsafe { transmute(__lsx_vsrli_d(transmute(a), IMM6)) }
1710}
1711
1712#[inline]
1713#[target_feature(enable = "lsx")]
1714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1715pub fn lsx_vsrlr_b(a: m128i, b: m128i) -> m128i {
1716    unsafe { transmute(__lsx_vsrlr_b(transmute(a), transmute(b))) }
1717}
1718
1719#[inline]
1720#[target_feature(enable = "lsx")]
1721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1722pub fn lsx_vsrlr_h(a: m128i, b: m128i) -> m128i {
1723    unsafe { transmute(__lsx_vsrlr_h(transmute(a), transmute(b))) }
1724}
1725
1726#[inline]
1727#[target_feature(enable = "lsx")]
1728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1729pub fn lsx_vsrlr_w(a: m128i, b: m128i) -> m128i {
1730    unsafe { transmute(__lsx_vsrlr_w(transmute(a), transmute(b))) }
1731}
1732
1733#[inline]
1734#[target_feature(enable = "lsx")]
1735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1736pub fn lsx_vsrlr_d(a: m128i, b: m128i) -> m128i {
1737    unsafe { transmute(__lsx_vsrlr_d(transmute(a), transmute(b))) }
1738}
1739
1740#[inline]
1741#[target_feature(enable = "lsx")]
1742#[rustc_legacy_const_generics(1)]
1743#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1744pub fn lsx_vsrlri_b<const IMM3: u32>(a: m128i) -> m128i {
1745    static_assert_uimm_bits!(IMM3, 3);
1746    unsafe { transmute(__lsx_vsrlri_b(transmute(a), IMM3)) }
1747}
1748
1749#[inline]
1750#[target_feature(enable = "lsx")]
1751#[rustc_legacy_const_generics(1)]
1752#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1753pub fn lsx_vsrlri_h<const IMM4: u32>(a: m128i) -> m128i {
1754    static_assert_uimm_bits!(IMM4, 4);
1755    unsafe { transmute(__lsx_vsrlri_h(transmute(a), IMM4)) }
1756}
1757
1758#[inline]
1759#[target_feature(enable = "lsx")]
1760#[rustc_legacy_const_generics(1)]
1761#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1762pub fn lsx_vsrlri_w<const IMM5: u32>(a: m128i) -> m128i {
1763    static_assert_uimm_bits!(IMM5, 5);
1764    unsafe { transmute(__lsx_vsrlri_w(transmute(a), IMM5)) }
1765}
1766
1767#[inline]
1768#[target_feature(enable = "lsx")]
1769#[rustc_legacy_const_generics(1)]
1770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1771pub fn lsx_vsrlri_d<const IMM6: u32>(a: m128i) -> m128i {
1772    static_assert_uimm_bits!(IMM6, 6);
1773    unsafe { transmute(__lsx_vsrlri_d(transmute(a), IMM6)) }
1774}
1775
1776#[inline]
1777#[target_feature(enable = "lsx")]
1778#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1779pub fn lsx_vbitclr_b(a: m128i, b: m128i) -> m128i {
1780    unsafe { transmute(__lsx_vbitclr_b(transmute(a), transmute(b))) }
1781}
1782
1783#[inline]
1784#[target_feature(enable = "lsx")]
1785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1786pub fn lsx_vbitclr_h(a: m128i, b: m128i) -> m128i {
1787    unsafe { transmute(__lsx_vbitclr_h(transmute(a), transmute(b))) }
1788}
1789
1790#[inline]
1791#[target_feature(enable = "lsx")]
1792#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1793pub fn lsx_vbitclr_w(a: m128i, b: m128i) -> m128i {
1794    unsafe { transmute(__lsx_vbitclr_w(transmute(a), transmute(b))) }
1795}
1796
1797#[inline]
1798#[target_feature(enable = "lsx")]
1799#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1800pub fn lsx_vbitclr_d(a: m128i, b: m128i) -> m128i {
1801    unsafe { transmute(__lsx_vbitclr_d(transmute(a), transmute(b))) }
1802}
1803
1804#[inline]
1805#[target_feature(enable = "lsx")]
1806#[rustc_legacy_const_generics(1)]
1807#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1808pub fn lsx_vbitclri_b<const IMM3: u32>(a: m128i) -> m128i {
1809    static_assert_uimm_bits!(IMM3, 3);
1810    unsafe { transmute(__lsx_vbitclri_b(transmute(a), IMM3)) }
1811}
1812
1813#[inline]
1814#[target_feature(enable = "lsx")]
1815#[rustc_legacy_const_generics(1)]
1816#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1817pub fn lsx_vbitclri_h<const IMM4: u32>(a: m128i) -> m128i {
1818    static_assert_uimm_bits!(IMM4, 4);
1819    unsafe { transmute(__lsx_vbitclri_h(transmute(a), IMM4)) }
1820}
1821
1822#[inline]
1823#[target_feature(enable = "lsx")]
1824#[rustc_legacy_const_generics(1)]
1825#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1826pub fn lsx_vbitclri_w<const IMM5: u32>(a: m128i) -> m128i {
1827    static_assert_uimm_bits!(IMM5, 5);
1828    unsafe { transmute(__lsx_vbitclri_w(transmute(a), IMM5)) }
1829}
1830
1831#[inline]
1832#[target_feature(enable = "lsx")]
1833#[rustc_legacy_const_generics(1)]
1834#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1835pub fn lsx_vbitclri_d<const IMM6: u32>(a: m128i) -> m128i {
1836    static_assert_uimm_bits!(IMM6, 6);
1837    unsafe { transmute(__lsx_vbitclri_d(transmute(a), IMM6)) }
1838}
1839
1840#[inline]
1841#[target_feature(enable = "lsx")]
1842#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1843pub fn lsx_vbitset_b(a: m128i, b: m128i) -> m128i {
1844    unsafe { transmute(__lsx_vbitset_b(transmute(a), transmute(b))) }
1845}
1846
1847#[inline]
1848#[target_feature(enable = "lsx")]
1849#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1850pub fn lsx_vbitset_h(a: m128i, b: m128i) -> m128i {
1851    unsafe { transmute(__lsx_vbitset_h(transmute(a), transmute(b))) }
1852}
1853
1854#[inline]
1855#[target_feature(enable = "lsx")]
1856#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1857pub fn lsx_vbitset_w(a: m128i, b: m128i) -> m128i {
1858    unsafe { transmute(__lsx_vbitset_w(transmute(a), transmute(b))) }
1859}
1860
1861#[inline]
1862#[target_feature(enable = "lsx")]
1863#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1864pub fn lsx_vbitset_d(a: m128i, b: m128i) -> m128i {
1865    unsafe { transmute(__lsx_vbitset_d(transmute(a), transmute(b))) }
1866}
1867
1868#[inline]
1869#[target_feature(enable = "lsx")]
1870#[rustc_legacy_const_generics(1)]
1871#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1872pub fn lsx_vbitseti_b<const IMM3: u32>(a: m128i) -> m128i {
1873    static_assert_uimm_bits!(IMM3, 3);
1874    unsafe { transmute(__lsx_vbitseti_b(transmute(a), IMM3)) }
1875}
1876
1877#[inline]
1878#[target_feature(enable = "lsx")]
1879#[rustc_legacy_const_generics(1)]
1880#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1881pub fn lsx_vbitseti_h<const IMM4: u32>(a: m128i) -> m128i {
1882    static_assert_uimm_bits!(IMM4, 4);
1883    unsafe { transmute(__lsx_vbitseti_h(transmute(a), IMM4)) }
1884}
1885
1886#[inline]
1887#[target_feature(enable = "lsx")]
1888#[rustc_legacy_const_generics(1)]
1889#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1890pub fn lsx_vbitseti_w<const IMM5: u32>(a: m128i) -> m128i {
1891    static_assert_uimm_bits!(IMM5, 5);
1892    unsafe { transmute(__lsx_vbitseti_w(transmute(a), IMM5)) }
1893}
1894
1895#[inline]
1896#[target_feature(enable = "lsx")]
1897#[rustc_legacy_const_generics(1)]
1898#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1899pub fn lsx_vbitseti_d<const IMM6: u32>(a: m128i) -> m128i {
1900    static_assert_uimm_bits!(IMM6, 6);
1901    unsafe { transmute(__lsx_vbitseti_d(transmute(a), IMM6)) }
1902}
1903
1904#[inline]
1905#[target_feature(enable = "lsx")]
1906#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1907pub fn lsx_vbitrev_b(a: m128i, b: m128i) -> m128i {
1908    unsafe { transmute(__lsx_vbitrev_b(transmute(a), transmute(b))) }
1909}
1910
1911#[inline]
1912#[target_feature(enable = "lsx")]
1913#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1914pub fn lsx_vbitrev_h(a: m128i, b: m128i) -> m128i {
1915    unsafe { transmute(__lsx_vbitrev_h(transmute(a), transmute(b))) }
1916}
1917
1918#[inline]
1919#[target_feature(enable = "lsx")]
1920#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1921pub fn lsx_vbitrev_w(a: m128i, b: m128i) -> m128i {
1922    unsafe { transmute(__lsx_vbitrev_w(transmute(a), transmute(b))) }
1923}
1924
1925#[inline]
1926#[target_feature(enable = "lsx")]
1927#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1928pub fn lsx_vbitrev_d(a: m128i, b: m128i) -> m128i {
1929    unsafe { transmute(__lsx_vbitrev_d(transmute(a), transmute(b))) }
1930}
1931
1932#[inline]
1933#[target_feature(enable = "lsx")]
1934#[rustc_legacy_const_generics(1)]
1935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1936pub fn lsx_vbitrevi_b<const IMM3: u32>(a: m128i) -> m128i {
1937    static_assert_uimm_bits!(IMM3, 3);
1938    unsafe { transmute(__lsx_vbitrevi_b(transmute(a), IMM3)) }
1939}
1940
1941#[inline]
1942#[target_feature(enable = "lsx")]
1943#[rustc_legacy_const_generics(1)]
1944#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1945pub fn lsx_vbitrevi_h<const IMM4: u32>(a: m128i) -> m128i {
1946    static_assert_uimm_bits!(IMM4, 4);
1947    unsafe { transmute(__lsx_vbitrevi_h(transmute(a), IMM4)) }
1948}
1949
1950#[inline]
1951#[target_feature(enable = "lsx")]
1952#[rustc_legacy_const_generics(1)]
1953#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1954pub fn lsx_vbitrevi_w<const IMM5: u32>(a: m128i) -> m128i {
1955    static_assert_uimm_bits!(IMM5, 5);
1956    unsafe { transmute(__lsx_vbitrevi_w(transmute(a), IMM5)) }
1957}
1958
1959#[inline]
1960#[target_feature(enable = "lsx")]
1961#[rustc_legacy_const_generics(1)]
1962#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1963pub fn lsx_vbitrevi_d<const IMM6: u32>(a: m128i) -> m128i {
1964    static_assert_uimm_bits!(IMM6, 6);
1965    unsafe { transmute(__lsx_vbitrevi_d(transmute(a), IMM6)) }
1966}
1967
1968#[inline]
1969#[target_feature(enable = "lsx")]
1970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1971pub fn lsx_vadd_b(a: m128i, b: m128i) -> m128i {
1972    unsafe { transmute(__lsx_vadd_b(transmute(a), transmute(b))) }
1973}
1974
1975#[inline]
1976#[target_feature(enable = "lsx")]
1977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1978pub fn lsx_vadd_h(a: m128i, b: m128i) -> m128i {
1979    unsafe { transmute(__lsx_vadd_h(transmute(a), transmute(b))) }
1980}
1981
1982#[inline]
1983#[target_feature(enable = "lsx")]
1984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1985pub fn lsx_vadd_w(a: m128i, b: m128i) -> m128i {
1986    unsafe { transmute(__lsx_vadd_w(transmute(a), transmute(b))) }
1987}
1988
1989#[inline]
1990#[target_feature(enable = "lsx")]
1991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
1992pub fn lsx_vadd_d(a: m128i, b: m128i) -> m128i {
1993    unsafe { transmute(__lsx_vadd_d(transmute(a), transmute(b))) }
1994}
1995
1996#[inline]
1997#[target_feature(enable = "lsx")]
1998#[rustc_legacy_const_generics(1)]
1999#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2000pub fn lsx_vaddi_bu<const IMM5: u32>(a: m128i) -> m128i {
2001    static_assert_uimm_bits!(IMM5, 5);
2002    unsafe { transmute(__lsx_vaddi_bu(transmute(a), IMM5)) }
2003}
2004
2005#[inline]
2006#[target_feature(enable = "lsx")]
2007#[rustc_legacy_const_generics(1)]
2008#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2009pub fn lsx_vaddi_hu<const IMM5: u32>(a: m128i) -> m128i {
2010    static_assert_uimm_bits!(IMM5, 5);
2011    unsafe { transmute(__lsx_vaddi_hu(transmute(a), IMM5)) }
2012}
2013
2014#[inline]
2015#[target_feature(enable = "lsx")]
2016#[rustc_legacy_const_generics(1)]
2017#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2018pub fn lsx_vaddi_wu<const IMM5: u32>(a: m128i) -> m128i {
2019    static_assert_uimm_bits!(IMM5, 5);
2020    unsafe { transmute(__lsx_vaddi_wu(transmute(a), IMM5)) }
2021}
2022
2023#[inline]
2024#[target_feature(enable = "lsx")]
2025#[rustc_legacy_const_generics(1)]
2026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2027pub fn lsx_vaddi_du<const IMM5: u32>(a: m128i) -> m128i {
2028    static_assert_uimm_bits!(IMM5, 5);
2029    unsafe { transmute(__lsx_vaddi_du(transmute(a), IMM5)) }
2030}
2031
2032#[inline]
2033#[target_feature(enable = "lsx")]
2034#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2035pub fn lsx_vsub_b(a: m128i, b: m128i) -> m128i {
2036    unsafe { transmute(__lsx_vsub_b(transmute(a), transmute(b))) }
2037}
2038
2039#[inline]
2040#[target_feature(enable = "lsx")]
2041#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2042pub fn lsx_vsub_h(a: m128i, b: m128i) -> m128i {
2043    unsafe { transmute(__lsx_vsub_h(transmute(a), transmute(b))) }
2044}
2045
2046#[inline]
2047#[target_feature(enable = "lsx")]
2048#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2049pub fn lsx_vsub_w(a: m128i, b: m128i) -> m128i {
2050    unsafe { transmute(__lsx_vsub_w(transmute(a), transmute(b))) }
2051}
2052
2053#[inline]
2054#[target_feature(enable = "lsx")]
2055#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2056pub fn lsx_vsub_d(a: m128i, b: m128i) -> m128i {
2057    unsafe { transmute(__lsx_vsub_d(transmute(a), transmute(b))) }
2058}
2059
2060#[inline]
2061#[target_feature(enable = "lsx")]
2062#[rustc_legacy_const_generics(1)]
2063#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2064pub fn lsx_vsubi_bu<const IMM5: u32>(a: m128i) -> m128i {
2065    static_assert_uimm_bits!(IMM5, 5);
2066    unsafe { transmute(__lsx_vsubi_bu(transmute(a), IMM5)) }
2067}
2068
2069#[inline]
2070#[target_feature(enable = "lsx")]
2071#[rustc_legacy_const_generics(1)]
2072#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2073pub fn lsx_vsubi_hu<const IMM5: u32>(a: m128i) -> m128i {
2074    static_assert_uimm_bits!(IMM5, 5);
2075    unsafe { transmute(__lsx_vsubi_hu(transmute(a), IMM5)) }
2076}
2077
2078#[inline]
2079#[target_feature(enable = "lsx")]
2080#[rustc_legacy_const_generics(1)]
2081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2082pub fn lsx_vsubi_wu<const IMM5: u32>(a: m128i) -> m128i {
2083    static_assert_uimm_bits!(IMM5, 5);
2084    unsafe { transmute(__lsx_vsubi_wu(transmute(a), IMM5)) }
2085}
2086
2087#[inline]
2088#[target_feature(enable = "lsx")]
2089#[rustc_legacy_const_generics(1)]
2090#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2091pub fn lsx_vsubi_du<const IMM5: u32>(a: m128i) -> m128i {
2092    static_assert_uimm_bits!(IMM5, 5);
2093    unsafe { transmute(__lsx_vsubi_du(transmute(a), IMM5)) }
2094}
2095
2096#[inline]
2097#[target_feature(enable = "lsx")]
2098#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2099pub fn lsx_vmax_b(a: m128i, b: m128i) -> m128i {
2100    unsafe { transmute(__lsx_vmax_b(transmute(a), transmute(b))) }
2101}
2102
2103#[inline]
2104#[target_feature(enable = "lsx")]
2105#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2106pub fn lsx_vmax_h(a: m128i, b: m128i) -> m128i {
2107    unsafe { transmute(__lsx_vmax_h(transmute(a), transmute(b))) }
2108}
2109
2110#[inline]
2111#[target_feature(enable = "lsx")]
2112#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2113pub fn lsx_vmax_w(a: m128i, b: m128i) -> m128i {
2114    unsafe { transmute(__lsx_vmax_w(transmute(a), transmute(b))) }
2115}
2116
2117#[inline]
2118#[target_feature(enable = "lsx")]
2119#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2120pub fn lsx_vmax_d(a: m128i, b: m128i) -> m128i {
2121    unsafe { transmute(__lsx_vmax_d(transmute(a), transmute(b))) }
2122}
2123
2124#[inline]
2125#[target_feature(enable = "lsx")]
2126#[rustc_legacy_const_generics(1)]
2127#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2128pub fn lsx_vmaxi_b<const IMM_S5: i32>(a: m128i) -> m128i {
2129    static_assert_simm_bits!(IMM_S5, 5);
2130    unsafe { transmute(__lsx_vmaxi_b(transmute(a), IMM_S5)) }
2131}
2132
2133#[inline]
2134#[target_feature(enable = "lsx")]
2135#[rustc_legacy_const_generics(1)]
2136#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2137pub fn lsx_vmaxi_h<const IMM_S5: i32>(a: m128i) -> m128i {
2138    static_assert_simm_bits!(IMM_S5, 5);
2139    unsafe { transmute(__lsx_vmaxi_h(transmute(a), IMM_S5)) }
2140}
2141
2142#[inline]
2143#[target_feature(enable = "lsx")]
2144#[rustc_legacy_const_generics(1)]
2145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2146pub fn lsx_vmaxi_w<const IMM_S5: i32>(a: m128i) -> m128i {
2147    static_assert_simm_bits!(IMM_S5, 5);
2148    unsafe { transmute(__lsx_vmaxi_w(transmute(a), IMM_S5)) }
2149}
2150
2151#[inline]
2152#[target_feature(enable = "lsx")]
2153#[rustc_legacy_const_generics(1)]
2154#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2155pub fn lsx_vmaxi_d<const IMM_S5: i32>(a: m128i) -> m128i {
2156    static_assert_simm_bits!(IMM_S5, 5);
2157    unsafe { transmute(__lsx_vmaxi_d(transmute(a), IMM_S5)) }
2158}
2159
2160#[inline]
2161#[target_feature(enable = "lsx")]
2162#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2163pub fn lsx_vmax_bu(a: m128i, b: m128i) -> m128i {
2164    unsafe { transmute(__lsx_vmax_bu(transmute(a), transmute(b))) }
2165}
2166
2167#[inline]
2168#[target_feature(enable = "lsx")]
2169#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2170pub fn lsx_vmax_hu(a: m128i, b: m128i) -> m128i {
2171    unsafe { transmute(__lsx_vmax_hu(transmute(a), transmute(b))) }
2172}
2173
2174#[inline]
2175#[target_feature(enable = "lsx")]
2176#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2177pub fn lsx_vmax_wu(a: m128i, b: m128i) -> m128i {
2178    unsafe { transmute(__lsx_vmax_wu(transmute(a), transmute(b))) }
2179}
2180
2181#[inline]
2182#[target_feature(enable = "lsx")]
2183#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2184pub fn lsx_vmax_du(a: m128i, b: m128i) -> m128i {
2185    unsafe { transmute(__lsx_vmax_du(transmute(a), transmute(b))) }
2186}
2187
2188#[inline]
2189#[target_feature(enable = "lsx")]
2190#[rustc_legacy_const_generics(1)]
2191#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2192pub fn lsx_vmaxi_bu<const IMM5: u32>(a: m128i) -> m128i {
2193    static_assert_uimm_bits!(IMM5, 5);
2194    unsafe { transmute(__lsx_vmaxi_bu(transmute(a), IMM5)) }
2195}
2196
2197#[inline]
2198#[target_feature(enable = "lsx")]
2199#[rustc_legacy_const_generics(1)]
2200#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2201pub fn lsx_vmaxi_hu<const IMM5: u32>(a: m128i) -> m128i {
2202    static_assert_uimm_bits!(IMM5, 5);
2203    unsafe { transmute(__lsx_vmaxi_hu(transmute(a), IMM5)) }
2204}
2205
2206#[inline]
2207#[target_feature(enable = "lsx")]
2208#[rustc_legacy_const_generics(1)]
2209#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2210pub fn lsx_vmaxi_wu<const IMM5: u32>(a: m128i) -> m128i {
2211    static_assert_uimm_bits!(IMM5, 5);
2212    unsafe { transmute(__lsx_vmaxi_wu(transmute(a), IMM5)) }
2213}
2214
2215#[inline]
2216#[target_feature(enable = "lsx")]
2217#[rustc_legacy_const_generics(1)]
2218#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2219pub fn lsx_vmaxi_du<const IMM5: u32>(a: m128i) -> m128i {
2220    static_assert_uimm_bits!(IMM5, 5);
2221    unsafe { transmute(__lsx_vmaxi_du(transmute(a), IMM5)) }
2222}
2223
2224#[inline]
2225#[target_feature(enable = "lsx")]
2226#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2227pub fn lsx_vmin_b(a: m128i, b: m128i) -> m128i {
2228    unsafe { transmute(__lsx_vmin_b(transmute(a), transmute(b))) }
2229}
2230
2231#[inline]
2232#[target_feature(enable = "lsx")]
2233#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2234pub fn lsx_vmin_h(a: m128i, b: m128i) -> m128i {
2235    unsafe { transmute(__lsx_vmin_h(transmute(a), transmute(b))) }
2236}
2237
2238#[inline]
2239#[target_feature(enable = "lsx")]
2240#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2241pub fn lsx_vmin_w(a: m128i, b: m128i) -> m128i {
2242    unsafe { transmute(__lsx_vmin_w(transmute(a), transmute(b))) }
2243}
2244
2245#[inline]
2246#[target_feature(enable = "lsx")]
2247#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2248pub fn lsx_vmin_d(a: m128i, b: m128i) -> m128i {
2249    unsafe { transmute(__lsx_vmin_d(transmute(a), transmute(b))) }
2250}
2251
2252#[inline]
2253#[target_feature(enable = "lsx")]
2254#[rustc_legacy_const_generics(1)]
2255#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2256pub fn lsx_vmini_b<const IMM_S5: i32>(a: m128i) -> m128i {
2257    static_assert_simm_bits!(IMM_S5, 5);
2258    unsafe { transmute(__lsx_vmini_b(transmute(a), IMM_S5)) }
2259}
2260
2261#[inline]
2262#[target_feature(enable = "lsx")]
2263#[rustc_legacy_const_generics(1)]
2264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2265pub fn lsx_vmini_h<const IMM_S5: i32>(a: m128i) -> m128i {
2266    static_assert_simm_bits!(IMM_S5, 5);
2267    unsafe { transmute(__lsx_vmini_h(transmute(a), IMM_S5)) }
2268}
2269
2270#[inline]
2271#[target_feature(enable = "lsx")]
2272#[rustc_legacy_const_generics(1)]
2273#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2274pub fn lsx_vmini_w<const IMM_S5: i32>(a: m128i) -> m128i {
2275    static_assert_simm_bits!(IMM_S5, 5);
2276    unsafe { transmute(__lsx_vmini_w(transmute(a), IMM_S5)) }
2277}
2278
2279#[inline]
2280#[target_feature(enable = "lsx")]
2281#[rustc_legacy_const_generics(1)]
2282#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2283pub fn lsx_vmini_d<const IMM_S5: i32>(a: m128i) -> m128i {
2284    static_assert_simm_bits!(IMM_S5, 5);
2285    unsafe { transmute(__lsx_vmini_d(transmute(a), IMM_S5)) }
2286}
2287
2288#[inline]
2289#[target_feature(enable = "lsx")]
2290#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2291pub fn lsx_vmin_bu(a: m128i, b: m128i) -> m128i {
2292    unsafe { transmute(__lsx_vmin_bu(transmute(a), transmute(b))) }
2293}
2294
2295#[inline]
2296#[target_feature(enable = "lsx")]
2297#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2298pub fn lsx_vmin_hu(a: m128i, b: m128i) -> m128i {
2299    unsafe { transmute(__lsx_vmin_hu(transmute(a), transmute(b))) }
2300}
2301
2302#[inline]
2303#[target_feature(enable = "lsx")]
2304#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2305pub fn lsx_vmin_wu(a: m128i, b: m128i) -> m128i {
2306    unsafe { transmute(__lsx_vmin_wu(transmute(a), transmute(b))) }
2307}
2308
2309#[inline]
2310#[target_feature(enable = "lsx")]
2311#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2312pub fn lsx_vmin_du(a: m128i, b: m128i) -> m128i {
2313    unsafe { transmute(__lsx_vmin_du(transmute(a), transmute(b))) }
2314}
2315
2316#[inline]
2317#[target_feature(enable = "lsx")]
2318#[rustc_legacy_const_generics(1)]
2319#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2320pub fn lsx_vmini_bu<const IMM5: u32>(a: m128i) -> m128i {
2321    static_assert_uimm_bits!(IMM5, 5);
2322    unsafe { transmute(__lsx_vmini_bu(transmute(a), IMM5)) }
2323}
2324
2325#[inline]
2326#[target_feature(enable = "lsx")]
2327#[rustc_legacy_const_generics(1)]
2328#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2329pub fn lsx_vmini_hu<const IMM5: u32>(a: m128i) -> m128i {
2330    static_assert_uimm_bits!(IMM5, 5);
2331    unsafe { transmute(__lsx_vmini_hu(transmute(a), IMM5)) }
2332}
2333
2334#[inline]
2335#[target_feature(enable = "lsx")]
2336#[rustc_legacy_const_generics(1)]
2337#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2338pub fn lsx_vmini_wu<const IMM5: u32>(a: m128i) -> m128i {
2339    static_assert_uimm_bits!(IMM5, 5);
2340    unsafe { transmute(__lsx_vmini_wu(transmute(a), IMM5)) }
2341}
2342
2343#[inline]
2344#[target_feature(enable = "lsx")]
2345#[rustc_legacy_const_generics(1)]
2346#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2347pub fn lsx_vmini_du<const IMM5: u32>(a: m128i) -> m128i {
2348    static_assert_uimm_bits!(IMM5, 5);
2349    unsafe { transmute(__lsx_vmini_du(transmute(a), IMM5)) }
2350}
2351
2352#[inline]
2353#[target_feature(enable = "lsx")]
2354#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2355pub fn lsx_vseq_b(a: m128i, b: m128i) -> m128i {
2356    unsafe { transmute(__lsx_vseq_b(transmute(a), transmute(b))) }
2357}
2358
2359#[inline]
2360#[target_feature(enable = "lsx")]
2361#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2362pub fn lsx_vseq_h(a: m128i, b: m128i) -> m128i {
2363    unsafe { transmute(__lsx_vseq_h(transmute(a), transmute(b))) }
2364}
2365
2366#[inline]
2367#[target_feature(enable = "lsx")]
2368#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2369pub fn lsx_vseq_w(a: m128i, b: m128i) -> m128i {
2370    unsafe { transmute(__lsx_vseq_w(transmute(a), transmute(b))) }
2371}
2372
2373#[inline]
2374#[target_feature(enable = "lsx")]
2375#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2376pub fn lsx_vseq_d(a: m128i, b: m128i) -> m128i {
2377    unsafe { transmute(__lsx_vseq_d(transmute(a), transmute(b))) }
2378}
2379
2380#[inline]
2381#[target_feature(enable = "lsx")]
2382#[rustc_legacy_const_generics(1)]
2383#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2384pub fn lsx_vseqi_b<const IMM_S5: i32>(a: m128i) -> m128i {
2385    static_assert_simm_bits!(IMM_S5, 5);
2386    unsafe { transmute(__lsx_vseqi_b(transmute(a), IMM_S5)) }
2387}
2388
2389#[inline]
2390#[target_feature(enable = "lsx")]
2391#[rustc_legacy_const_generics(1)]
2392#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2393pub fn lsx_vseqi_h<const IMM_S5: i32>(a: m128i) -> m128i {
2394    static_assert_simm_bits!(IMM_S5, 5);
2395    unsafe { transmute(__lsx_vseqi_h(transmute(a), IMM_S5)) }
2396}
2397
2398#[inline]
2399#[target_feature(enable = "lsx")]
2400#[rustc_legacy_const_generics(1)]
2401#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2402pub fn lsx_vseqi_w<const IMM_S5: i32>(a: m128i) -> m128i {
2403    static_assert_simm_bits!(IMM_S5, 5);
2404    unsafe { transmute(__lsx_vseqi_w(transmute(a), IMM_S5)) }
2405}
2406
2407#[inline]
2408#[target_feature(enable = "lsx")]
2409#[rustc_legacy_const_generics(1)]
2410#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2411pub fn lsx_vseqi_d<const IMM_S5: i32>(a: m128i) -> m128i {
2412    static_assert_simm_bits!(IMM_S5, 5);
2413    unsafe { transmute(__lsx_vseqi_d(transmute(a), IMM_S5)) }
2414}
2415
2416#[inline]
2417#[target_feature(enable = "lsx")]
2418#[rustc_legacy_const_generics(1)]
2419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2420pub fn lsx_vslti_b<const IMM_S5: i32>(a: m128i) -> m128i {
2421    static_assert_simm_bits!(IMM_S5, 5);
2422    unsafe { transmute(__lsx_vslti_b(transmute(a), IMM_S5)) }
2423}
2424
2425#[inline]
2426#[target_feature(enable = "lsx")]
2427#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2428pub fn lsx_vslt_b(a: m128i, b: m128i) -> m128i {
2429    unsafe { transmute(__lsx_vslt_b(transmute(a), transmute(b))) }
2430}
2431
2432#[inline]
2433#[target_feature(enable = "lsx")]
2434#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2435pub fn lsx_vslt_h(a: m128i, b: m128i) -> m128i {
2436    unsafe { transmute(__lsx_vslt_h(transmute(a), transmute(b))) }
2437}
2438
2439#[inline]
2440#[target_feature(enable = "lsx")]
2441#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2442pub fn lsx_vslt_w(a: m128i, b: m128i) -> m128i {
2443    unsafe { transmute(__lsx_vslt_w(transmute(a), transmute(b))) }
2444}
2445
2446#[inline]
2447#[target_feature(enable = "lsx")]
2448#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2449pub fn lsx_vslt_d(a: m128i, b: m128i) -> m128i {
2450    unsafe { transmute(__lsx_vslt_d(transmute(a), transmute(b))) }
2451}
2452
2453#[inline]
2454#[target_feature(enable = "lsx")]
2455#[rustc_legacy_const_generics(1)]
2456#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2457pub fn lsx_vslti_h<const IMM_S5: i32>(a: m128i) -> m128i {
2458    static_assert_simm_bits!(IMM_S5, 5);
2459    unsafe { transmute(__lsx_vslti_h(transmute(a), IMM_S5)) }
2460}
2461
2462#[inline]
2463#[target_feature(enable = "lsx")]
2464#[rustc_legacy_const_generics(1)]
2465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2466pub fn lsx_vslti_w<const IMM_S5: i32>(a: m128i) -> m128i {
2467    static_assert_simm_bits!(IMM_S5, 5);
2468    unsafe { transmute(__lsx_vslti_w(transmute(a), IMM_S5)) }
2469}
2470
2471#[inline]
2472#[target_feature(enable = "lsx")]
2473#[rustc_legacy_const_generics(1)]
2474#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2475pub fn lsx_vslti_d<const IMM_S5: i32>(a: m128i) -> m128i {
2476    static_assert_simm_bits!(IMM_S5, 5);
2477    unsafe { transmute(__lsx_vslti_d(transmute(a), IMM_S5)) }
2478}
2479
2480#[inline]
2481#[target_feature(enable = "lsx")]
2482#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2483pub fn lsx_vslt_bu(a: m128i, b: m128i) -> m128i {
2484    unsafe { transmute(__lsx_vslt_bu(transmute(a), transmute(b))) }
2485}
2486
2487#[inline]
2488#[target_feature(enable = "lsx")]
2489#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2490pub fn lsx_vslt_hu(a: m128i, b: m128i) -> m128i {
2491    unsafe { transmute(__lsx_vslt_hu(transmute(a), transmute(b))) }
2492}
2493
2494#[inline]
2495#[target_feature(enable = "lsx")]
2496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2497pub fn lsx_vslt_wu(a: m128i, b: m128i) -> m128i {
2498    unsafe { transmute(__lsx_vslt_wu(transmute(a), transmute(b))) }
2499}
2500
2501#[inline]
2502#[target_feature(enable = "lsx")]
2503#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2504pub fn lsx_vslt_du(a: m128i, b: m128i) -> m128i {
2505    unsafe { transmute(__lsx_vslt_du(transmute(a), transmute(b))) }
2506}
2507
2508#[inline]
2509#[target_feature(enable = "lsx")]
2510#[rustc_legacy_const_generics(1)]
2511#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2512pub fn lsx_vslti_bu<const IMM5: u32>(a: m128i) -> m128i {
2513    static_assert_uimm_bits!(IMM5, 5);
2514    unsafe { transmute(__lsx_vslti_bu(transmute(a), IMM5)) }
2515}
2516
2517#[inline]
2518#[target_feature(enable = "lsx")]
2519#[rustc_legacy_const_generics(1)]
2520#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2521pub fn lsx_vslti_hu<const IMM5: u32>(a: m128i) -> m128i {
2522    static_assert_uimm_bits!(IMM5, 5);
2523    unsafe { transmute(__lsx_vslti_hu(transmute(a), IMM5)) }
2524}
2525
2526#[inline]
2527#[target_feature(enable = "lsx")]
2528#[rustc_legacy_const_generics(1)]
2529#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2530pub fn lsx_vslti_wu<const IMM5: u32>(a: m128i) -> m128i {
2531    static_assert_uimm_bits!(IMM5, 5);
2532    unsafe { transmute(__lsx_vslti_wu(transmute(a), IMM5)) }
2533}
2534
2535#[inline]
2536#[target_feature(enable = "lsx")]
2537#[rustc_legacy_const_generics(1)]
2538#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2539pub fn lsx_vslti_du<const IMM5: u32>(a: m128i) -> m128i {
2540    static_assert_uimm_bits!(IMM5, 5);
2541    unsafe { transmute(__lsx_vslti_du(transmute(a), IMM5)) }
2542}
2543
2544#[inline]
2545#[target_feature(enable = "lsx")]
2546#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2547pub fn lsx_vsle_b(a: m128i, b: m128i) -> m128i {
2548    unsafe { transmute(__lsx_vsle_b(transmute(a), transmute(b))) }
2549}
2550
2551#[inline]
2552#[target_feature(enable = "lsx")]
2553#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2554pub fn lsx_vsle_h(a: m128i, b: m128i) -> m128i {
2555    unsafe { transmute(__lsx_vsle_h(transmute(a), transmute(b))) }
2556}
2557
2558#[inline]
2559#[target_feature(enable = "lsx")]
2560#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2561pub fn lsx_vsle_w(a: m128i, b: m128i) -> m128i {
2562    unsafe { transmute(__lsx_vsle_w(transmute(a), transmute(b))) }
2563}
2564
2565#[inline]
2566#[target_feature(enable = "lsx")]
2567#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2568pub fn lsx_vsle_d(a: m128i, b: m128i) -> m128i {
2569    unsafe { transmute(__lsx_vsle_d(transmute(a), transmute(b))) }
2570}
2571
2572#[inline]
2573#[target_feature(enable = "lsx")]
2574#[rustc_legacy_const_generics(1)]
2575#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2576pub fn lsx_vslei_b<const IMM_S5: i32>(a: m128i) -> m128i {
2577    static_assert_simm_bits!(IMM_S5, 5);
2578    unsafe { transmute(__lsx_vslei_b(transmute(a), IMM_S5)) }
2579}
2580
2581#[inline]
2582#[target_feature(enable = "lsx")]
2583#[rustc_legacy_const_generics(1)]
2584#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2585pub fn lsx_vslei_h<const IMM_S5: i32>(a: m128i) -> m128i {
2586    static_assert_simm_bits!(IMM_S5, 5);
2587    unsafe { transmute(__lsx_vslei_h(transmute(a), IMM_S5)) }
2588}
2589
2590#[inline]
2591#[target_feature(enable = "lsx")]
2592#[rustc_legacy_const_generics(1)]
2593#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2594pub fn lsx_vslei_w<const IMM_S5: i32>(a: m128i) -> m128i {
2595    static_assert_simm_bits!(IMM_S5, 5);
2596    unsafe { transmute(__lsx_vslei_w(transmute(a), IMM_S5)) }
2597}
2598
2599#[inline]
2600#[target_feature(enable = "lsx")]
2601#[rustc_legacy_const_generics(1)]
2602#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2603pub fn lsx_vslei_d<const IMM_S5: i32>(a: m128i) -> m128i {
2604    static_assert_simm_bits!(IMM_S5, 5);
2605    unsafe { transmute(__lsx_vslei_d(transmute(a), IMM_S5)) }
2606}
2607
2608#[inline]
2609#[target_feature(enable = "lsx")]
2610#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2611pub fn lsx_vsle_bu(a: m128i, b: m128i) -> m128i {
2612    unsafe { transmute(__lsx_vsle_bu(transmute(a), transmute(b))) }
2613}
2614
2615#[inline]
2616#[target_feature(enable = "lsx")]
2617#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2618pub fn lsx_vsle_hu(a: m128i, b: m128i) -> m128i {
2619    unsafe { transmute(__lsx_vsle_hu(transmute(a), transmute(b))) }
2620}
2621
2622#[inline]
2623#[target_feature(enable = "lsx")]
2624#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2625pub fn lsx_vsle_wu(a: m128i, b: m128i) -> m128i {
2626    unsafe { transmute(__lsx_vsle_wu(transmute(a), transmute(b))) }
2627}
2628
2629#[inline]
2630#[target_feature(enable = "lsx")]
2631#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2632pub fn lsx_vsle_du(a: m128i, b: m128i) -> m128i {
2633    unsafe { transmute(__lsx_vsle_du(transmute(a), transmute(b))) }
2634}
2635
2636#[inline]
2637#[target_feature(enable = "lsx")]
2638#[rustc_legacy_const_generics(1)]
2639#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2640pub fn lsx_vslei_bu<const IMM5: u32>(a: m128i) -> m128i {
2641    static_assert_uimm_bits!(IMM5, 5);
2642    unsafe { transmute(__lsx_vslei_bu(transmute(a), IMM5)) }
2643}
2644
2645#[inline]
2646#[target_feature(enable = "lsx")]
2647#[rustc_legacy_const_generics(1)]
2648#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2649pub fn lsx_vslei_hu<const IMM5: u32>(a: m128i) -> m128i {
2650    static_assert_uimm_bits!(IMM5, 5);
2651    unsafe { transmute(__lsx_vslei_hu(transmute(a), IMM5)) }
2652}
2653
2654#[inline]
2655#[target_feature(enable = "lsx")]
2656#[rustc_legacy_const_generics(1)]
2657#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2658pub fn lsx_vslei_wu<const IMM5: u32>(a: m128i) -> m128i {
2659    static_assert_uimm_bits!(IMM5, 5);
2660    unsafe { transmute(__lsx_vslei_wu(transmute(a), IMM5)) }
2661}
2662
2663#[inline]
2664#[target_feature(enable = "lsx")]
2665#[rustc_legacy_const_generics(1)]
2666#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2667pub fn lsx_vslei_du<const IMM5: u32>(a: m128i) -> m128i {
2668    static_assert_uimm_bits!(IMM5, 5);
2669    unsafe { transmute(__lsx_vslei_du(transmute(a), IMM5)) }
2670}
2671
2672#[inline]
2673#[target_feature(enable = "lsx")]
2674#[rustc_legacy_const_generics(1)]
2675#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2676pub fn lsx_vsat_b<const IMM3: u32>(a: m128i) -> m128i {
2677    static_assert_uimm_bits!(IMM3, 3);
2678    unsafe { transmute(__lsx_vsat_b(transmute(a), IMM3)) }
2679}
2680
2681#[inline]
2682#[target_feature(enable = "lsx")]
2683#[rustc_legacy_const_generics(1)]
2684#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2685pub fn lsx_vsat_h<const IMM4: u32>(a: m128i) -> m128i {
2686    static_assert_uimm_bits!(IMM4, 4);
2687    unsafe { transmute(__lsx_vsat_h(transmute(a), IMM4)) }
2688}
2689
2690#[inline]
2691#[target_feature(enable = "lsx")]
2692#[rustc_legacy_const_generics(1)]
2693#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2694pub fn lsx_vsat_w<const IMM5: u32>(a: m128i) -> m128i {
2695    static_assert_uimm_bits!(IMM5, 5);
2696    unsafe { transmute(__lsx_vsat_w(transmute(a), IMM5)) }
2697}
2698
2699#[inline]
2700#[target_feature(enable = "lsx")]
2701#[rustc_legacy_const_generics(1)]
2702#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2703pub fn lsx_vsat_d<const IMM6: u32>(a: m128i) -> m128i {
2704    static_assert_uimm_bits!(IMM6, 6);
2705    unsafe { transmute(__lsx_vsat_d(transmute(a), IMM6)) }
2706}
2707
2708#[inline]
2709#[target_feature(enable = "lsx")]
2710#[rustc_legacy_const_generics(1)]
2711#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2712pub fn lsx_vsat_bu<const IMM3: u32>(a: m128i) -> m128i {
2713    static_assert_uimm_bits!(IMM3, 3);
2714    unsafe { transmute(__lsx_vsat_bu(transmute(a), IMM3)) }
2715}
2716
2717#[inline]
2718#[target_feature(enable = "lsx")]
2719#[rustc_legacy_const_generics(1)]
2720#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2721pub fn lsx_vsat_hu<const IMM4: u32>(a: m128i) -> m128i {
2722    static_assert_uimm_bits!(IMM4, 4);
2723    unsafe { transmute(__lsx_vsat_hu(transmute(a), IMM4)) }
2724}
2725
2726#[inline]
2727#[target_feature(enable = "lsx")]
2728#[rustc_legacy_const_generics(1)]
2729#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2730pub fn lsx_vsat_wu<const IMM5: u32>(a: m128i) -> m128i {
2731    static_assert_uimm_bits!(IMM5, 5);
2732    unsafe { transmute(__lsx_vsat_wu(transmute(a), IMM5)) }
2733}
2734
2735#[inline]
2736#[target_feature(enable = "lsx")]
2737#[rustc_legacy_const_generics(1)]
2738#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2739pub fn lsx_vsat_du<const IMM6: u32>(a: m128i) -> m128i {
2740    static_assert_uimm_bits!(IMM6, 6);
2741    unsafe { transmute(__lsx_vsat_du(transmute(a), IMM6)) }
2742}
2743
2744#[inline]
2745#[target_feature(enable = "lsx")]
2746#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2747pub fn lsx_vadda_b(a: m128i, b: m128i) -> m128i {
2748    unsafe { transmute(__lsx_vadda_b(transmute(a), transmute(b))) }
2749}
2750
2751#[inline]
2752#[target_feature(enable = "lsx")]
2753#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2754pub fn lsx_vadda_h(a: m128i, b: m128i) -> m128i {
2755    unsafe { transmute(__lsx_vadda_h(transmute(a), transmute(b))) }
2756}
2757
2758#[inline]
2759#[target_feature(enable = "lsx")]
2760#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2761pub fn lsx_vadda_w(a: m128i, b: m128i) -> m128i {
2762    unsafe { transmute(__lsx_vadda_w(transmute(a), transmute(b))) }
2763}
2764
2765#[inline]
2766#[target_feature(enable = "lsx")]
2767#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2768pub fn lsx_vadda_d(a: m128i, b: m128i) -> m128i {
2769    unsafe { transmute(__lsx_vadda_d(transmute(a), transmute(b))) }
2770}
2771
2772#[inline]
2773#[target_feature(enable = "lsx")]
2774#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2775pub fn lsx_vsadd_b(a: m128i, b: m128i) -> m128i {
2776    unsafe { transmute(__lsx_vsadd_b(transmute(a), transmute(b))) }
2777}
2778
2779#[inline]
2780#[target_feature(enable = "lsx")]
2781#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2782pub fn lsx_vsadd_h(a: m128i, b: m128i) -> m128i {
2783    unsafe { transmute(__lsx_vsadd_h(transmute(a), transmute(b))) }
2784}
2785
2786#[inline]
2787#[target_feature(enable = "lsx")]
2788#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2789pub fn lsx_vsadd_w(a: m128i, b: m128i) -> m128i {
2790    unsafe { transmute(__lsx_vsadd_w(transmute(a), transmute(b))) }
2791}
2792
2793#[inline]
2794#[target_feature(enable = "lsx")]
2795#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2796pub fn lsx_vsadd_d(a: m128i, b: m128i) -> m128i {
2797    unsafe { transmute(__lsx_vsadd_d(transmute(a), transmute(b))) }
2798}
2799
2800#[inline]
2801#[target_feature(enable = "lsx")]
2802#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2803pub fn lsx_vsadd_bu(a: m128i, b: m128i) -> m128i {
2804    unsafe { transmute(__lsx_vsadd_bu(transmute(a), transmute(b))) }
2805}
2806
2807#[inline]
2808#[target_feature(enable = "lsx")]
2809#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2810pub fn lsx_vsadd_hu(a: m128i, b: m128i) -> m128i {
2811    unsafe { transmute(__lsx_vsadd_hu(transmute(a), transmute(b))) }
2812}
2813
2814#[inline]
2815#[target_feature(enable = "lsx")]
2816#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2817pub fn lsx_vsadd_wu(a: m128i, b: m128i) -> m128i {
2818    unsafe { transmute(__lsx_vsadd_wu(transmute(a), transmute(b))) }
2819}
2820
2821#[inline]
2822#[target_feature(enable = "lsx")]
2823#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2824pub fn lsx_vsadd_du(a: m128i, b: m128i) -> m128i {
2825    unsafe { transmute(__lsx_vsadd_du(transmute(a), transmute(b))) }
2826}
2827
2828#[inline]
2829#[target_feature(enable = "lsx")]
2830#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2831pub fn lsx_vavg_b(a: m128i, b: m128i) -> m128i {
2832    unsafe { transmute(__lsx_vavg_b(transmute(a), transmute(b))) }
2833}
2834
2835#[inline]
2836#[target_feature(enable = "lsx")]
2837#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2838pub fn lsx_vavg_h(a: m128i, b: m128i) -> m128i {
2839    unsafe { transmute(__lsx_vavg_h(transmute(a), transmute(b))) }
2840}
2841
2842#[inline]
2843#[target_feature(enable = "lsx")]
2844#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2845pub fn lsx_vavg_w(a: m128i, b: m128i) -> m128i {
2846    unsafe { transmute(__lsx_vavg_w(transmute(a), transmute(b))) }
2847}
2848
2849#[inline]
2850#[target_feature(enable = "lsx")]
2851#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2852pub fn lsx_vavg_d(a: m128i, b: m128i) -> m128i {
2853    unsafe { transmute(__lsx_vavg_d(transmute(a), transmute(b))) }
2854}
2855
2856#[inline]
2857#[target_feature(enable = "lsx")]
2858#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2859pub fn lsx_vavg_bu(a: m128i, b: m128i) -> m128i {
2860    unsafe { transmute(__lsx_vavg_bu(transmute(a), transmute(b))) }
2861}
2862
2863#[inline]
2864#[target_feature(enable = "lsx")]
2865#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2866pub fn lsx_vavg_hu(a: m128i, b: m128i) -> m128i {
2867    unsafe { transmute(__lsx_vavg_hu(transmute(a), transmute(b))) }
2868}
2869
2870#[inline]
2871#[target_feature(enable = "lsx")]
2872#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2873pub fn lsx_vavg_wu(a: m128i, b: m128i) -> m128i {
2874    unsafe { transmute(__lsx_vavg_wu(transmute(a), transmute(b))) }
2875}
2876
2877#[inline]
2878#[target_feature(enable = "lsx")]
2879#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2880pub fn lsx_vavg_du(a: m128i, b: m128i) -> m128i {
2881    unsafe { transmute(__lsx_vavg_du(transmute(a), transmute(b))) }
2882}
2883
2884#[inline]
2885#[target_feature(enable = "lsx")]
2886#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2887pub fn lsx_vavgr_b(a: m128i, b: m128i) -> m128i {
2888    unsafe { transmute(__lsx_vavgr_b(transmute(a), transmute(b))) }
2889}
2890
2891#[inline]
2892#[target_feature(enable = "lsx")]
2893#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2894pub fn lsx_vavgr_h(a: m128i, b: m128i) -> m128i {
2895    unsafe { transmute(__lsx_vavgr_h(transmute(a), transmute(b))) }
2896}
2897
2898#[inline]
2899#[target_feature(enable = "lsx")]
2900#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2901pub fn lsx_vavgr_w(a: m128i, b: m128i) -> m128i {
2902    unsafe { transmute(__lsx_vavgr_w(transmute(a), transmute(b))) }
2903}
2904
2905#[inline]
2906#[target_feature(enable = "lsx")]
2907#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2908pub fn lsx_vavgr_d(a: m128i, b: m128i) -> m128i {
2909    unsafe { transmute(__lsx_vavgr_d(transmute(a), transmute(b))) }
2910}
2911
2912#[inline]
2913#[target_feature(enable = "lsx")]
2914#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2915pub fn lsx_vavgr_bu(a: m128i, b: m128i) -> m128i {
2916    unsafe { transmute(__lsx_vavgr_bu(transmute(a), transmute(b))) }
2917}
2918
2919#[inline]
2920#[target_feature(enable = "lsx")]
2921#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2922pub fn lsx_vavgr_hu(a: m128i, b: m128i) -> m128i {
2923    unsafe { transmute(__lsx_vavgr_hu(transmute(a), transmute(b))) }
2924}
2925
2926#[inline]
2927#[target_feature(enable = "lsx")]
2928#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2929pub fn lsx_vavgr_wu(a: m128i, b: m128i) -> m128i {
2930    unsafe { transmute(__lsx_vavgr_wu(transmute(a), transmute(b))) }
2931}
2932
2933#[inline]
2934#[target_feature(enable = "lsx")]
2935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2936pub fn lsx_vavgr_du(a: m128i, b: m128i) -> m128i {
2937    unsafe { transmute(__lsx_vavgr_du(transmute(a), transmute(b))) }
2938}
2939
2940#[inline]
2941#[target_feature(enable = "lsx")]
2942#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2943pub fn lsx_vssub_b(a: m128i, b: m128i) -> m128i {
2944    unsafe { transmute(__lsx_vssub_b(transmute(a), transmute(b))) }
2945}
2946
2947#[inline]
2948#[target_feature(enable = "lsx")]
2949#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2950pub fn lsx_vssub_h(a: m128i, b: m128i) -> m128i {
2951    unsafe { transmute(__lsx_vssub_h(transmute(a), transmute(b))) }
2952}
2953
2954#[inline]
2955#[target_feature(enable = "lsx")]
2956#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2957pub fn lsx_vssub_w(a: m128i, b: m128i) -> m128i {
2958    unsafe { transmute(__lsx_vssub_w(transmute(a), transmute(b))) }
2959}
2960
2961#[inline]
2962#[target_feature(enable = "lsx")]
2963#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2964pub fn lsx_vssub_d(a: m128i, b: m128i) -> m128i {
2965    unsafe { transmute(__lsx_vssub_d(transmute(a), transmute(b))) }
2966}
2967
2968#[inline]
2969#[target_feature(enable = "lsx")]
2970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2971pub fn lsx_vssub_bu(a: m128i, b: m128i) -> m128i {
2972    unsafe { transmute(__lsx_vssub_bu(transmute(a), transmute(b))) }
2973}
2974
2975#[inline]
2976#[target_feature(enable = "lsx")]
2977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2978pub fn lsx_vssub_hu(a: m128i, b: m128i) -> m128i {
2979    unsafe { transmute(__lsx_vssub_hu(transmute(a), transmute(b))) }
2980}
2981
2982#[inline]
2983#[target_feature(enable = "lsx")]
2984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2985pub fn lsx_vssub_wu(a: m128i, b: m128i) -> m128i {
2986    unsafe { transmute(__lsx_vssub_wu(transmute(a), transmute(b))) }
2987}
2988
2989#[inline]
2990#[target_feature(enable = "lsx")]
2991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2992pub fn lsx_vssub_du(a: m128i, b: m128i) -> m128i {
2993    unsafe { transmute(__lsx_vssub_du(transmute(a), transmute(b))) }
2994}
2995
2996#[inline]
2997#[target_feature(enable = "lsx")]
2998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
2999pub fn lsx_vabsd_b(a: m128i, b: m128i) -> m128i {
3000    unsafe { transmute(__lsx_vabsd_b(transmute(a), transmute(b))) }
3001}
3002
3003#[inline]
3004#[target_feature(enable = "lsx")]
3005#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3006pub fn lsx_vabsd_h(a: m128i, b: m128i) -> m128i {
3007    unsafe { transmute(__lsx_vabsd_h(transmute(a), transmute(b))) }
3008}
3009
3010#[inline]
3011#[target_feature(enable = "lsx")]
3012#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3013pub fn lsx_vabsd_w(a: m128i, b: m128i) -> m128i {
3014    unsafe { transmute(__lsx_vabsd_w(transmute(a), transmute(b))) }
3015}
3016
3017#[inline]
3018#[target_feature(enable = "lsx")]
3019#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3020pub fn lsx_vabsd_d(a: m128i, b: m128i) -> m128i {
3021    unsafe { transmute(__lsx_vabsd_d(transmute(a), transmute(b))) }
3022}
3023
3024#[inline]
3025#[target_feature(enable = "lsx")]
3026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3027pub fn lsx_vabsd_bu(a: m128i, b: m128i) -> m128i {
3028    unsafe { transmute(__lsx_vabsd_bu(transmute(a), transmute(b))) }
3029}
3030
3031#[inline]
3032#[target_feature(enable = "lsx")]
3033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3034pub fn lsx_vabsd_hu(a: m128i, b: m128i) -> m128i {
3035    unsafe { transmute(__lsx_vabsd_hu(transmute(a), transmute(b))) }
3036}
3037
3038#[inline]
3039#[target_feature(enable = "lsx")]
3040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3041pub fn lsx_vabsd_wu(a: m128i, b: m128i) -> m128i {
3042    unsafe { transmute(__lsx_vabsd_wu(transmute(a), transmute(b))) }
3043}
3044
3045#[inline]
3046#[target_feature(enable = "lsx")]
3047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3048pub fn lsx_vabsd_du(a: m128i, b: m128i) -> m128i {
3049    unsafe { transmute(__lsx_vabsd_du(transmute(a), transmute(b))) }
3050}
3051
3052#[inline]
3053#[target_feature(enable = "lsx")]
3054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3055pub fn lsx_vmul_b(a: m128i, b: m128i) -> m128i {
3056    unsafe { transmute(__lsx_vmul_b(transmute(a), transmute(b))) }
3057}
3058
3059#[inline]
3060#[target_feature(enable = "lsx")]
3061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3062pub fn lsx_vmul_h(a: m128i, b: m128i) -> m128i {
3063    unsafe { transmute(__lsx_vmul_h(transmute(a), transmute(b))) }
3064}
3065
3066#[inline]
3067#[target_feature(enable = "lsx")]
3068#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3069pub fn lsx_vmul_w(a: m128i, b: m128i) -> m128i {
3070    unsafe { transmute(__lsx_vmul_w(transmute(a), transmute(b))) }
3071}
3072
3073#[inline]
3074#[target_feature(enable = "lsx")]
3075#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3076pub fn lsx_vmul_d(a: m128i, b: m128i) -> m128i {
3077    unsafe { transmute(__lsx_vmul_d(transmute(a), transmute(b))) }
3078}
3079
3080#[inline]
3081#[target_feature(enable = "lsx")]
3082#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3083pub fn lsx_vmadd_b(a: m128i, b: m128i, c: m128i) -> m128i {
3084    unsafe { transmute(__lsx_vmadd_b(transmute(a), transmute(b), transmute(c))) }
3085}
3086
3087#[inline]
3088#[target_feature(enable = "lsx")]
3089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3090pub fn lsx_vmadd_h(a: m128i, b: m128i, c: m128i) -> m128i {
3091    unsafe { transmute(__lsx_vmadd_h(transmute(a), transmute(b), transmute(c))) }
3092}
3093
3094#[inline]
3095#[target_feature(enable = "lsx")]
3096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3097pub fn lsx_vmadd_w(a: m128i, b: m128i, c: m128i) -> m128i {
3098    unsafe { transmute(__lsx_vmadd_w(transmute(a), transmute(b), transmute(c))) }
3099}
3100
3101#[inline]
3102#[target_feature(enable = "lsx")]
3103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3104pub fn lsx_vmadd_d(a: m128i, b: m128i, c: m128i) -> m128i {
3105    unsafe { transmute(__lsx_vmadd_d(transmute(a), transmute(b), transmute(c))) }
3106}
3107
3108#[inline]
3109#[target_feature(enable = "lsx")]
3110#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3111pub fn lsx_vmsub_b(a: m128i, b: m128i, c: m128i) -> m128i {
3112    unsafe { transmute(__lsx_vmsub_b(transmute(a), transmute(b), transmute(c))) }
3113}
3114
3115#[inline]
3116#[target_feature(enable = "lsx")]
3117#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3118pub fn lsx_vmsub_h(a: m128i, b: m128i, c: m128i) -> m128i {
3119    unsafe { transmute(__lsx_vmsub_h(transmute(a), transmute(b), transmute(c))) }
3120}
3121
3122#[inline]
3123#[target_feature(enable = "lsx")]
3124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3125pub fn lsx_vmsub_w(a: m128i, b: m128i, c: m128i) -> m128i {
3126    unsafe { transmute(__lsx_vmsub_w(transmute(a), transmute(b), transmute(c))) }
3127}
3128
3129#[inline]
3130#[target_feature(enable = "lsx")]
3131#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3132pub fn lsx_vmsub_d(a: m128i, b: m128i, c: m128i) -> m128i {
3133    unsafe { transmute(__lsx_vmsub_d(transmute(a), transmute(b), transmute(c))) }
3134}
3135
3136#[inline]
3137#[target_feature(enable = "lsx")]
3138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3139pub fn lsx_vdiv_b(a: m128i, b: m128i) -> m128i {
3140    unsafe { transmute(__lsx_vdiv_b(transmute(a), transmute(b))) }
3141}
3142
3143#[inline]
3144#[target_feature(enable = "lsx")]
3145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3146pub fn lsx_vdiv_h(a: m128i, b: m128i) -> m128i {
3147    unsafe { transmute(__lsx_vdiv_h(transmute(a), transmute(b))) }
3148}
3149
3150#[inline]
3151#[target_feature(enable = "lsx")]
3152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3153pub fn lsx_vdiv_w(a: m128i, b: m128i) -> m128i {
3154    unsafe { transmute(__lsx_vdiv_w(transmute(a), transmute(b))) }
3155}
3156
3157#[inline]
3158#[target_feature(enable = "lsx")]
3159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3160pub fn lsx_vdiv_d(a: m128i, b: m128i) -> m128i {
3161    unsafe { transmute(__lsx_vdiv_d(transmute(a), transmute(b))) }
3162}
3163
3164#[inline]
3165#[target_feature(enable = "lsx")]
3166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3167pub fn lsx_vdiv_bu(a: m128i, b: m128i) -> m128i {
3168    unsafe { transmute(__lsx_vdiv_bu(transmute(a), transmute(b))) }
3169}
3170
3171#[inline]
3172#[target_feature(enable = "lsx")]
3173#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3174pub fn lsx_vdiv_hu(a: m128i, b: m128i) -> m128i {
3175    unsafe { transmute(__lsx_vdiv_hu(transmute(a), transmute(b))) }
3176}
3177
3178#[inline]
3179#[target_feature(enable = "lsx")]
3180#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3181pub fn lsx_vdiv_wu(a: m128i, b: m128i) -> m128i {
3182    unsafe { transmute(__lsx_vdiv_wu(transmute(a), transmute(b))) }
3183}
3184
3185#[inline]
3186#[target_feature(enable = "lsx")]
3187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3188pub fn lsx_vdiv_du(a: m128i, b: m128i) -> m128i {
3189    unsafe { transmute(__lsx_vdiv_du(transmute(a), transmute(b))) }
3190}
3191
3192#[inline]
3193#[target_feature(enable = "lsx")]
3194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3195pub fn lsx_vhaddw_h_b(a: m128i, b: m128i) -> m128i {
3196    unsafe { transmute(__lsx_vhaddw_h_b(transmute(a), transmute(b))) }
3197}
3198
3199#[inline]
3200#[target_feature(enable = "lsx")]
3201#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3202pub fn lsx_vhaddw_w_h(a: m128i, b: m128i) -> m128i {
3203    unsafe { transmute(__lsx_vhaddw_w_h(transmute(a), transmute(b))) }
3204}
3205
3206#[inline]
3207#[target_feature(enable = "lsx")]
3208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3209pub fn lsx_vhaddw_d_w(a: m128i, b: m128i) -> m128i {
3210    unsafe { transmute(__lsx_vhaddw_d_w(transmute(a), transmute(b))) }
3211}
3212
3213#[inline]
3214#[target_feature(enable = "lsx")]
3215#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3216pub fn lsx_vhaddw_hu_bu(a: m128i, b: m128i) -> m128i {
3217    unsafe { transmute(__lsx_vhaddw_hu_bu(transmute(a), transmute(b))) }
3218}
3219
3220#[inline]
3221#[target_feature(enable = "lsx")]
3222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3223pub fn lsx_vhaddw_wu_hu(a: m128i, b: m128i) -> m128i {
3224    unsafe { transmute(__lsx_vhaddw_wu_hu(transmute(a), transmute(b))) }
3225}
3226
3227#[inline]
3228#[target_feature(enable = "lsx")]
3229#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3230pub fn lsx_vhaddw_du_wu(a: m128i, b: m128i) -> m128i {
3231    unsafe { transmute(__lsx_vhaddw_du_wu(transmute(a), transmute(b))) }
3232}
3233
3234#[inline]
3235#[target_feature(enable = "lsx")]
3236#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3237pub fn lsx_vhsubw_h_b(a: m128i, b: m128i) -> m128i {
3238    unsafe { transmute(__lsx_vhsubw_h_b(transmute(a), transmute(b))) }
3239}
3240
3241#[inline]
3242#[target_feature(enable = "lsx")]
3243#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3244pub fn lsx_vhsubw_w_h(a: m128i, b: m128i) -> m128i {
3245    unsafe { transmute(__lsx_vhsubw_w_h(transmute(a), transmute(b))) }
3246}
3247
3248#[inline]
3249#[target_feature(enable = "lsx")]
3250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3251pub fn lsx_vhsubw_d_w(a: m128i, b: m128i) -> m128i {
3252    unsafe { transmute(__lsx_vhsubw_d_w(transmute(a), transmute(b))) }
3253}
3254
3255#[inline]
3256#[target_feature(enable = "lsx")]
3257#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3258pub fn lsx_vhsubw_hu_bu(a: m128i, b: m128i) -> m128i {
3259    unsafe { transmute(__lsx_vhsubw_hu_bu(transmute(a), transmute(b))) }
3260}
3261
3262#[inline]
3263#[target_feature(enable = "lsx")]
3264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3265pub fn lsx_vhsubw_wu_hu(a: m128i, b: m128i) -> m128i {
3266    unsafe { transmute(__lsx_vhsubw_wu_hu(transmute(a), transmute(b))) }
3267}
3268
3269#[inline]
3270#[target_feature(enable = "lsx")]
3271#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3272pub fn lsx_vhsubw_du_wu(a: m128i, b: m128i) -> m128i {
3273    unsafe { transmute(__lsx_vhsubw_du_wu(transmute(a), transmute(b))) }
3274}
3275
3276#[inline]
3277#[target_feature(enable = "lsx")]
3278#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3279pub fn lsx_vmod_b(a: m128i, b: m128i) -> m128i {
3280    unsafe { transmute(__lsx_vmod_b(transmute(a), transmute(b))) }
3281}
3282
3283#[inline]
3284#[target_feature(enable = "lsx")]
3285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3286pub fn lsx_vmod_h(a: m128i, b: m128i) -> m128i {
3287    unsafe { transmute(__lsx_vmod_h(transmute(a), transmute(b))) }
3288}
3289
3290#[inline]
3291#[target_feature(enable = "lsx")]
3292#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3293pub fn lsx_vmod_w(a: m128i, b: m128i) -> m128i {
3294    unsafe { transmute(__lsx_vmod_w(transmute(a), transmute(b))) }
3295}
3296
3297#[inline]
3298#[target_feature(enable = "lsx")]
3299#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3300pub fn lsx_vmod_d(a: m128i, b: m128i) -> m128i {
3301    unsafe { transmute(__lsx_vmod_d(transmute(a), transmute(b))) }
3302}
3303
3304#[inline]
3305#[target_feature(enable = "lsx")]
3306#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3307pub fn lsx_vmod_bu(a: m128i, b: m128i) -> m128i {
3308    unsafe { transmute(__lsx_vmod_bu(transmute(a), transmute(b))) }
3309}
3310
3311#[inline]
3312#[target_feature(enable = "lsx")]
3313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3314pub fn lsx_vmod_hu(a: m128i, b: m128i) -> m128i {
3315    unsafe { transmute(__lsx_vmod_hu(transmute(a), transmute(b))) }
3316}
3317
3318#[inline]
3319#[target_feature(enable = "lsx")]
3320#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3321pub fn lsx_vmod_wu(a: m128i, b: m128i) -> m128i {
3322    unsafe { transmute(__lsx_vmod_wu(transmute(a), transmute(b))) }
3323}
3324
3325#[inline]
3326#[target_feature(enable = "lsx")]
3327#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3328pub fn lsx_vmod_du(a: m128i, b: m128i) -> m128i {
3329    unsafe { transmute(__lsx_vmod_du(transmute(a), transmute(b))) }
3330}
3331
3332#[inline]
3333#[target_feature(enable = "lsx")]
3334#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3335pub fn lsx_vreplve_b(a: m128i, b: i32) -> m128i {
3336    unsafe { transmute(__lsx_vreplve_b(transmute(a), transmute(b))) }
3337}
3338
3339#[inline]
3340#[target_feature(enable = "lsx")]
3341#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3342pub fn lsx_vreplve_h(a: m128i, b: i32) -> m128i {
3343    unsafe { transmute(__lsx_vreplve_h(transmute(a), transmute(b))) }
3344}
3345
3346#[inline]
3347#[target_feature(enable = "lsx")]
3348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3349pub fn lsx_vreplve_w(a: m128i, b: i32) -> m128i {
3350    unsafe { transmute(__lsx_vreplve_w(transmute(a), transmute(b))) }
3351}
3352
3353#[inline]
3354#[target_feature(enable = "lsx")]
3355#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3356pub fn lsx_vreplve_d(a: m128i, b: i32) -> m128i {
3357    unsafe { transmute(__lsx_vreplve_d(transmute(a), transmute(b))) }
3358}
3359
3360#[inline]
3361#[target_feature(enable = "lsx")]
3362#[rustc_legacy_const_generics(1)]
3363#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3364pub fn lsx_vreplvei_b<const IMM4: u32>(a: m128i) -> m128i {
3365    static_assert_uimm_bits!(IMM4, 4);
3366    unsafe { transmute(__lsx_vreplvei_b(transmute(a), IMM4)) }
3367}
3368
3369#[inline]
3370#[target_feature(enable = "lsx")]
3371#[rustc_legacy_const_generics(1)]
3372#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3373pub fn lsx_vreplvei_h<const IMM3: u32>(a: m128i) -> m128i {
3374    static_assert_uimm_bits!(IMM3, 3);
3375    unsafe { transmute(__lsx_vreplvei_h(transmute(a), IMM3)) }
3376}
3377
3378#[inline]
3379#[target_feature(enable = "lsx")]
3380#[rustc_legacy_const_generics(1)]
3381#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3382pub fn lsx_vreplvei_w<const IMM2: u32>(a: m128i) -> m128i {
3383    static_assert_uimm_bits!(IMM2, 2);
3384    unsafe { transmute(__lsx_vreplvei_w(transmute(a), IMM2)) }
3385}
3386
3387#[inline]
3388#[target_feature(enable = "lsx")]
3389#[rustc_legacy_const_generics(1)]
3390#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3391pub fn lsx_vreplvei_d<const IMM1: u32>(a: m128i) -> m128i {
3392    static_assert_uimm_bits!(IMM1, 1);
3393    unsafe { transmute(__lsx_vreplvei_d(transmute(a), IMM1)) }
3394}
3395
3396#[inline]
3397#[target_feature(enable = "lsx")]
3398#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3399pub fn lsx_vpickev_b(a: m128i, b: m128i) -> m128i {
3400    unsafe { transmute(__lsx_vpickev_b(transmute(a), transmute(b))) }
3401}
3402
3403#[inline]
3404#[target_feature(enable = "lsx")]
3405#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3406pub fn lsx_vpickev_h(a: m128i, b: m128i) -> m128i {
3407    unsafe { transmute(__lsx_vpickev_h(transmute(a), transmute(b))) }
3408}
3409
3410#[inline]
3411#[target_feature(enable = "lsx")]
3412#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3413pub fn lsx_vpickev_w(a: m128i, b: m128i) -> m128i {
3414    unsafe { transmute(__lsx_vpickev_w(transmute(a), transmute(b))) }
3415}
3416
3417#[inline]
3418#[target_feature(enable = "lsx")]
3419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3420pub fn lsx_vpickev_d(a: m128i, b: m128i) -> m128i {
3421    unsafe { transmute(__lsx_vpickev_d(transmute(a), transmute(b))) }
3422}
3423
3424#[inline]
3425#[target_feature(enable = "lsx")]
3426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3427pub fn lsx_vpickod_b(a: m128i, b: m128i) -> m128i {
3428    unsafe { transmute(__lsx_vpickod_b(transmute(a), transmute(b))) }
3429}
3430
3431#[inline]
3432#[target_feature(enable = "lsx")]
3433#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3434pub fn lsx_vpickod_h(a: m128i, b: m128i) -> m128i {
3435    unsafe { transmute(__lsx_vpickod_h(transmute(a), transmute(b))) }
3436}
3437
3438#[inline]
3439#[target_feature(enable = "lsx")]
3440#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3441pub fn lsx_vpickod_w(a: m128i, b: m128i) -> m128i {
3442    unsafe { transmute(__lsx_vpickod_w(transmute(a), transmute(b))) }
3443}
3444
3445#[inline]
3446#[target_feature(enable = "lsx")]
3447#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3448pub fn lsx_vpickod_d(a: m128i, b: m128i) -> m128i {
3449    unsafe { transmute(__lsx_vpickod_d(transmute(a), transmute(b))) }
3450}
3451
3452#[inline]
3453#[target_feature(enable = "lsx")]
3454#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3455pub fn lsx_vilvh_b(a: m128i, b: m128i) -> m128i {
3456    unsafe { transmute(__lsx_vilvh_b(transmute(a), transmute(b))) }
3457}
3458
3459#[inline]
3460#[target_feature(enable = "lsx")]
3461#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3462pub fn lsx_vilvh_h(a: m128i, b: m128i) -> m128i {
3463    unsafe { transmute(__lsx_vilvh_h(transmute(a), transmute(b))) }
3464}
3465
3466#[inline]
3467#[target_feature(enable = "lsx")]
3468#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3469pub fn lsx_vilvh_w(a: m128i, b: m128i) -> m128i {
3470    unsafe { transmute(__lsx_vilvh_w(transmute(a), transmute(b))) }
3471}
3472
3473#[inline]
3474#[target_feature(enable = "lsx")]
3475#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3476pub fn lsx_vilvh_d(a: m128i, b: m128i) -> m128i {
3477    unsafe { transmute(__lsx_vilvh_d(transmute(a), transmute(b))) }
3478}
3479
3480#[inline]
3481#[target_feature(enable = "lsx")]
3482#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3483pub fn lsx_vilvl_b(a: m128i, b: m128i) -> m128i {
3484    unsafe { transmute(__lsx_vilvl_b(transmute(a), transmute(b))) }
3485}
3486
3487#[inline]
3488#[target_feature(enable = "lsx")]
3489#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3490pub fn lsx_vilvl_h(a: m128i, b: m128i) -> m128i {
3491    unsafe { transmute(__lsx_vilvl_h(transmute(a), transmute(b))) }
3492}
3493
3494#[inline]
3495#[target_feature(enable = "lsx")]
3496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3497pub fn lsx_vilvl_w(a: m128i, b: m128i) -> m128i {
3498    unsafe { transmute(__lsx_vilvl_w(transmute(a), transmute(b))) }
3499}
3500
3501#[inline]
3502#[target_feature(enable = "lsx")]
3503#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3504pub fn lsx_vilvl_d(a: m128i, b: m128i) -> m128i {
3505    unsafe { transmute(__lsx_vilvl_d(transmute(a), transmute(b))) }
3506}
3507
3508#[inline]
3509#[target_feature(enable = "lsx")]
3510#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3511pub fn lsx_vpackev_b(a: m128i, b: m128i) -> m128i {
3512    unsafe { transmute(__lsx_vpackev_b(transmute(a), transmute(b))) }
3513}
3514
3515#[inline]
3516#[target_feature(enable = "lsx")]
3517#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3518pub fn lsx_vpackev_h(a: m128i, b: m128i) -> m128i {
3519    unsafe { transmute(__lsx_vpackev_h(transmute(a), transmute(b))) }
3520}
3521
3522#[inline]
3523#[target_feature(enable = "lsx")]
3524#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3525pub fn lsx_vpackev_w(a: m128i, b: m128i) -> m128i {
3526    unsafe { transmute(__lsx_vpackev_w(transmute(a), transmute(b))) }
3527}
3528
3529#[inline]
3530#[target_feature(enable = "lsx")]
3531#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3532pub fn lsx_vpackev_d(a: m128i, b: m128i) -> m128i {
3533    unsafe { transmute(__lsx_vpackev_d(transmute(a), transmute(b))) }
3534}
3535
3536#[inline]
3537#[target_feature(enable = "lsx")]
3538#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3539pub fn lsx_vpackod_b(a: m128i, b: m128i) -> m128i {
3540    unsafe { transmute(__lsx_vpackod_b(transmute(a), transmute(b))) }
3541}
3542
3543#[inline]
3544#[target_feature(enable = "lsx")]
3545#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3546pub fn lsx_vpackod_h(a: m128i, b: m128i) -> m128i {
3547    unsafe { transmute(__lsx_vpackod_h(transmute(a), transmute(b))) }
3548}
3549
3550#[inline]
3551#[target_feature(enable = "lsx")]
3552#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3553pub fn lsx_vpackod_w(a: m128i, b: m128i) -> m128i {
3554    unsafe { transmute(__lsx_vpackod_w(transmute(a), transmute(b))) }
3555}
3556
3557#[inline]
3558#[target_feature(enable = "lsx")]
3559#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3560pub fn lsx_vpackod_d(a: m128i, b: m128i) -> m128i {
3561    unsafe { transmute(__lsx_vpackod_d(transmute(a), transmute(b))) }
3562}
3563
3564#[inline]
3565#[target_feature(enable = "lsx")]
3566#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3567pub fn lsx_vshuf_h(a: m128i, b: m128i, c: m128i) -> m128i {
3568    unsafe { transmute(__lsx_vshuf_h(transmute(a), transmute(b), transmute(c))) }
3569}
3570
3571#[inline]
3572#[target_feature(enable = "lsx")]
3573#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3574pub fn lsx_vshuf_w(a: m128i, b: m128i, c: m128i) -> m128i {
3575    unsafe { transmute(__lsx_vshuf_w(transmute(a), transmute(b), transmute(c))) }
3576}
3577
3578#[inline]
3579#[target_feature(enable = "lsx")]
3580#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3581pub fn lsx_vshuf_d(a: m128i, b: m128i, c: m128i) -> m128i {
3582    unsafe { transmute(__lsx_vshuf_d(transmute(a), transmute(b), transmute(c))) }
3583}
3584
3585#[inline]
3586#[target_feature(enable = "lsx")]
3587#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3588pub fn lsx_vand_v(a: m128i, b: m128i) -> m128i {
3589    unsafe { transmute(__lsx_vand_v(transmute(a), transmute(b))) }
3590}
3591
3592#[inline]
3593#[target_feature(enable = "lsx")]
3594#[rustc_legacy_const_generics(1)]
3595#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3596pub fn lsx_vandi_b<const IMM8: u32>(a: m128i) -> m128i {
3597    static_assert_uimm_bits!(IMM8, 8);
3598    unsafe { transmute(__lsx_vandi_b(transmute(a), IMM8)) }
3599}
3600
3601#[inline]
3602#[target_feature(enable = "lsx")]
3603#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3604pub fn lsx_vor_v(a: m128i, b: m128i) -> m128i {
3605    unsafe { transmute(__lsx_vor_v(transmute(a), transmute(b))) }
3606}
3607
3608#[inline]
3609#[target_feature(enable = "lsx")]
3610#[rustc_legacy_const_generics(1)]
3611#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3612pub fn lsx_vori_b<const IMM8: u32>(a: m128i) -> m128i {
3613    static_assert_uimm_bits!(IMM8, 8);
3614    unsafe { transmute(__lsx_vori_b(transmute(a), IMM8)) }
3615}
3616
3617#[inline]
3618#[target_feature(enable = "lsx")]
3619#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3620pub fn lsx_vnor_v(a: m128i, b: m128i) -> m128i {
3621    unsafe { transmute(__lsx_vnor_v(transmute(a), transmute(b))) }
3622}
3623
3624#[inline]
3625#[target_feature(enable = "lsx")]
3626#[rustc_legacy_const_generics(1)]
3627#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3628pub fn lsx_vnori_b<const IMM8: u32>(a: m128i) -> m128i {
3629    static_assert_uimm_bits!(IMM8, 8);
3630    unsafe { transmute(__lsx_vnori_b(transmute(a), IMM8)) }
3631}
3632
3633#[inline]
3634#[target_feature(enable = "lsx")]
3635#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3636pub fn lsx_vxor_v(a: m128i, b: m128i) -> m128i {
3637    unsafe { transmute(__lsx_vxor_v(transmute(a), transmute(b))) }
3638}
3639
3640#[inline]
3641#[target_feature(enable = "lsx")]
3642#[rustc_legacy_const_generics(1)]
3643#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3644pub fn lsx_vxori_b<const IMM8: u32>(a: m128i) -> m128i {
3645    static_assert_uimm_bits!(IMM8, 8);
3646    unsafe { transmute(__lsx_vxori_b(transmute(a), IMM8)) }
3647}
3648
3649#[inline]
3650#[target_feature(enable = "lsx")]
3651#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3652pub fn lsx_vbitsel_v(a: m128i, b: m128i, c: m128i) -> m128i {
3653    unsafe { transmute(__lsx_vbitsel_v(transmute(a), transmute(b), transmute(c))) }
3654}
3655
3656#[inline]
3657#[target_feature(enable = "lsx")]
3658#[rustc_legacy_const_generics(2)]
3659#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3660pub fn lsx_vbitseli_b<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
3661    static_assert_uimm_bits!(IMM8, 8);
3662    unsafe { transmute(__lsx_vbitseli_b(transmute(a), transmute(b), IMM8)) }
3663}
3664
3665#[inline]
3666#[target_feature(enable = "lsx")]
3667#[rustc_legacy_const_generics(1)]
3668#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3669pub fn lsx_vshuf4i_b<const IMM8: u32>(a: m128i) -> m128i {
3670    static_assert_uimm_bits!(IMM8, 8);
3671    unsafe { transmute(__lsx_vshuf4i_b(transmute(a), IMM8)) }
3672}
3673
3674#[inline]
3675#[target_feature(enable = "lsx")]
3676#[rustc_legacy_const_generics(1)]
3677#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3678pub fn lsx_vshuf4i_h<const IMM8: u32>(a: m128i) -> m128i {
3679    static_assert_uimm_bits!(IMM8, 8);
3680    unsafe { transmute(__lsx_vshuf4i_h(transmute(a), IMM8)) }
3681}
3682
3683#[inline]
3684#[target_feature(enable = "lsx")]
3685#[rustc_legacy_const_generics(1)]
3686#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3687pub fn lsx_vshuf4i_w<const IMM8: u32>(a: m128i) -> m128i {
3688    static_assert_uimm_bits!(IMM8, 8);
3689    unsafe { transmute(__lsx_vshuf4i_w(transmute(a), IMM8)) }
3690}
3691
3692#[inline]
3693#[target_feature(enable = "lsx")]
3694#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3695pub fn lsx_vreplgr2vr_b(a: i32) -> m128i {
3696    unsafe { transmute(__lsx_vreplgr2vr_b(transmute(a))) }
3697}
3698
3699#[inline]
3700#[target_feature(enable = "lsx")]
3701#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3702pub fn lsx_vreplgr2vr_h(a: i32) -> m128i {
3703    unsafe { transmute(__lsx_vreplgr2vr_h(transmute(a))) }
3704}
3705
3706#[inline]
3707#[target_feature(enable = "lsx")]
3708#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3709pub fn lsx_vreplgr2vr_w(a: i32) -> m128i {
3710    unsafe { transmute(__lsx_vreplgr2vr_w(transmute(a))) }
3711}
3712
3713#[inline]
3714#[target_feature(enable = "lsx")]
3715#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3716pub fn lsx_vreplgr2vr_d(a: i64) -> m128i {
3717    unsafe { transmute(__lsx_vreplgr2vr_d(transmute(a))) }
3718}
3719
3720#[inline]
3721#[target_feature(enable = "lsx")]
3722#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3723pub fn lsx_vpcnt_b(a: m128i) -> m128i {
3724    unsafe { transmute(__lsx_vpcnt_b(transmute(a))) }
3725}
3726
3727#[inline]
3728#[target_feature(enable = "lsx")]
3729#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3730pub fn lsx_vpcnt_h(a: m128i) -> m128i {
3731    unsafe { transmute(__lsx_vpcnt_h(transmute(a))) }
3732}
3733
3734#[inline]
3735#[target_feature(enable = "lsx")]
3736#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3737pub fn lsx_vpcnt_w(a: m128i) -> m128i {
3738    unsafe { transmute(__lsx_vpcnt_w(transmute(a))) }
3739}
3740
3741#[inline]
3742#[target_feature(enable = "lsx")]
3743#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3744pub fn lsx_vpcnt_d(a: m128i) -> m128i {
3745    unsafe { transmute(__lsx_vpcnt_d(transmute(a))) }
3746}
3747
3748#[inline]
3749#[target_feature(enable = "lsx")]
3750#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3751pub fn lsx_vclo_b(a: m128i) -> m128i {
3752    unsafe { transmute(__lsx_vclo_b(transmute(a))) }
3753}
3754
3755#[inline]
3756#[target_feature(enable = "lsx")]
3757#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3758pub fn lsx_vclo_h(a: m128i) -> m128i {
3759    unsafe { transmute(__lsx_vclo_h(transmute(a))) }
3760}
3761
3762#[inline]
3763#[target_feature(enable = "lsx")]
3764#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3765pub fn lsx_vclo_w(a: m128i) -> m128i {
3766    unsafe { transmute(__lsx_vclo_w(transmute(a))) }
3767}
3768
3769#[inline]
3770#[target_feature(enable = "lsx")]
3771#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3772pub fn lsx_vclo_d(a: m128i) -> m128i {
3773    unsafe { transmute(__lsx_vclo_d(transmute(a))) }
3774}
3775
3776#[inline]
3777#[target_feature(enable = "lsx")]
3778#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3779pub fn lsx_vclz_b(a: m128i) -> m128i {
3780    unsafe { transmute(__lsx_vclz_b(transmute(a))) }
3781}
3782
3783#[inline]
3784#[target_feature(enable = "lsx")]
3785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3786pub fn lsx_vclz_h(a: m128i) -> m128i {
3787    unsafe { transmute(__lsx_vclz_h(transmute(a))) }
3788}
3789
3790#[inline]
3791#[target_feature(enable = "lsx")]
3792#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3793pub fn lsx_vclz_w(a: m128i) -> m128i {
3794    unsafe { transmute(__lsx_vclz_w(transmute(a))) }
3795}
3796
3797#[inline]
3798#[target_feature(enable = "lsx")]
3799#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3800pub fn lsx_vclz_d(a: m128i) -> m128i {
3801    unsafe { transmute(__lsx_vclz_d(transmute(a))) }
3802}
3803
3804#[inline]
3805#[target_feature(enable = "lsx")]
3806#[rustc_legacy_const_generics(1)]
3807#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3808pub fn lsx_vpickve2gr_b<const IMM4: u32>(a: m128i) -> i32 {
3809    static_assert_uimm_bits!(IMM4, 4);
3810    unsafe { transmute(__lsx_vpickve2gr_b(transmute(a), IMM4)) }
3811}
3812
3813#[inline]
3814#[target_feature(enable = "lsx")]
3815#[rustc_legacy_const_generics(1)]
3816#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3817pub fn lsx_vpickve2gr_h<const IMM3: u32>(a: m128i) -> i32 {
3818    static_assert_uimm_bits!(IMM3, 3);
3819    unsafe { transmute(__lsx_vpickve2gr_h(transmute(a), IMM3)) }
3820}
3821
3822#[inline]
3823#[target_feature(enable = "lsx")]
3824#[rustc_legacy_const_generics(1)]
3825#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3826pub fn lsx_vpickve2gr_w<const IMM2: u32>(a: m128i) -> i32 {
3827    static_assert_uimm_bits!(IMM2, 2);
3828    unsafe { transmute(__lsx_vpickve2gr_w(transmute(a), IMM2)) }
3829}
3830
3831#[inline]
3832#[target_feature(enable = "lsx")]
3833#[rustc_legacy_const_generics(1)]
3834#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3835pub fn lsx_vpickve2gr_d<const IMM1: u32>(a: m128i) -> i64 {
3836    static_assert_uimm_bits!(IMM1, 1);
3837    unsafe { transmute(__lsx_vpickve2gr_d(transmute(a), IMM1)) }
3838}
3839
3840#[inline]
3841#[target_feature(enable = "lsx")]
3842#[rustc_legacy_const_generics(1)]
3843#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3844pub fn lsx_vpickve2gr_bu<const IMM4: u32>(a: m128i) -> u32 {
3845    static_assert_uimm_bits!(IMM4, 4);
3846    unsafe { transmute(__lsx_vpickve2gr_bu(transmute(a), IMM4)) }
3847}
3848
3849#[inline]
3850#[target_feature(enable = "lsx")]
3851#[rustc_legacy_const_generics(1)]
3852#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3853pub fn lsx_vpickve2gr_hu<const IMM3: u32>(a: m128i) -> u32 {
3854    static_assert_uimm_bits!(IMM3, 3);
3855    unsafe { transmute(__lsx_vpickve2gr_hu(transmute(a), IMM3)) }
3856}
3857
3858#[inline]
3859#[target_feature(enable = "lsx")]
3860#[rustc_legacy_const_generics(1)]
3861#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3862pub fn lsx_vpickve2gr_wu<const IMM2: u32>(a: m128i) -> u32 {
3863    static_assert_uimm_bits!(IMM2, 2);
3864    unsafe { transmute(__lsx_vpickve2gr_wu(transmute(a), IMM2)) }
3865}
3866
3867#[inline]
3868#[target_feature(enable = "lsx")]
3869#[rustc_legacy_const_generics(1)]
3870#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3871pub fn lsx_vpickve2gr_du<const IMM1: u32>(a: m128i) -> u64 {
3872    static_assert_uimm_bits!(IMM1, 1);
3873    unsafe { transmute(__lsx_vpickve2gr_du(transmute(a), IMM1)) }
3874}
3875
3876#[inline]
3877#[target_feature(enable = "lsx")]
3878#[rustc_legacy_const_generics(2)]
3879#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3880pub fn lsx_vinsgr2vr_b<const IMM4: u32>(a: m128i, b: i32) -> m128i {
3881    static_assert_uimm_bits!(IMM4, 4);
3882    unsafe { transmute(__lsx_vinsgr2vr_b(transmute(a), transmute(b), IMM4)) }
3883}
3884
3885#[inline]
3886#[target_feature(enable = "lsx")]
3887#[rustc_legacy_const_generics(2)]
3888#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3889pub fn lsx_vinsgr2vr_h<const IMM3: u32>(a: m128i, b: i32) -> m128i {
3890    static_assert_uimm_bits!(IMM3, 3);
3891    unsafe { transmute(__lsx_vinsgr2vr_h(transmute(a), transmute(b), IMM3)) }
3892}
3893
3894#[inline]
3895#[target_feature(enable = "lsx")]
3896#[rustc_legacy_const_generics(2)]
3897#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3898pub fn lsx_vinsgr2vr_w<const IMM2: u32>(a: m128i, b: i32) -> m128i {
3899    static_assert_uimm_bits!(IMM2, 2);
3900    unsafe { transmute(__lsx_vinsgr2vr_w(transmute(a), transmute(b), IMM2)) }
3901}
3902
3903#[inline]
3904#[target_feature(enable = "lsx")]
3905#[rustc_legacy_const_generics(2)]
3906#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3907pub fn lsx_vinsgr2vr_d<const IMM1: u32>(a: m128i, b: i64) -> m128i {
3908    static_assert_uimm_bits!(IMM1, 1);
3909    unsafe { transmute(__lsx_vinsgr2vr_d(transmute(a), transmute(b), IMM1)) }
3910}
3911
3912#[inline]
3913#[target_feature(enable = "lsx")]
3914#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3915pub fn lsx_vfadd_s(a: m128, b: m128) -> m128 {
3916    unsafe { transmute(__lsx_vfadd_s(transmute(a), transmute(b))) }
3917}
3918
3919#[inline]
3920#[target_feature(enable = "lsx")]
3921#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3922pub fn lsx_vfadd_d(a: m128d, b: m128d) -> m128d {
3923    unsafe { transmute(__lsx_vfadd_d(transmute(a), transmute(b))) }
3924}
3925
3926#[inline]
3927#[target_feature(enable = "lsx")]
3928#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3929pub fn lsx_vfsub_s(a: m128, b: m128) -> m128 {
3930    unsafe { transmute(__lsx_vfsub_s(transmute(a), transmute(b))) }
3931}
3932
3933#[inline]
3934#[target_feature(enable = "lsx")]
3935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3936pub fn lsx_vfsub_d(a: m128d, b: m128d) -> m128d {
3937    unsafe { transmute(__lsx_vfsub_d(transmute(a), transmute(b))) }
3938}
3939
3940#[inline]
3941#[target_feature(enable = "lsx")]
3942#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3943pub fn lsx_vfmul_s(a: m128, b: m128) -> m128 {
3944    unsafe { transmute(__lsx_vfmul_s(transmute(a), transmute(b))) }
3945}
3946
3947#[inline]
3948#[target_feature(enable = "lsx")]
3949#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3950pub fn lsx_vfmul_d(a: m128d, b: m128d) -> m128d {
3951    unsafe { transmute(__lsx_vfmul_d(transmute(a), transmute(b))) }
3952}
3953
3954#[inline]
3955#[target_feature(enable = "lsx")]
3956#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3957pub fn lsx_vfdiv_s(a: m128, b: m128) -> m128 {
3958    unsafe { transmute(__lsx_vfdiv_s(transmute(a), transmute(b))) }
3959}
3960
3961#[inline]
3962#[target_feature(enable = "lsx")]
3963#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3964pub fn lsx_vfdiv_d(a: m128d, b: m128d) -> m128d {
3965    unsafe { transmute(__lsx_vfdiv_d(transmute(a), transmute(b))) }
3966}
3967
3968#[inline]
3969#[target_feature(enable = "lsx")]
3970#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3971pub fn lsx_vfcvt_h_s(a: m128, b: m128) -> m128i {
3972    unsafe { transmute(__lsx_vfcvt_h_s(transmute(a), transmute(b))) }
3973}
3974
3975#[inline]
3976#[target_feature(enable = "lsx")]
3977#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3978pub fn lsx_vfcvt_s_d(a: m128d, b: m128d) -> m128 {
3979    unsafe { transmute(__lsx_vfcvt_s_d(transmute(a), transmute(b))) }
3980}
3981
3982#[inline]
3983#[target_feature(enable = "lsx")]
3984#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3985pub fn lsx_vfmin_s(a: m128, b: m128) -> m128 {
3986    unsafe { transmute(__lsx_vfmin_s(transmute(a), transmute(b))) }
3987}
3988
3989#[inline]
3990#[target_feature(enable = "lsx")]
3991#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3992pub fn lsx_vfmin_d(a: m128d, b: m128d) -> m128d {
3993    unsafe { transmute(__lsx_vfmin_d(transmute(a), transmute(b))) }
3994}
3995
3996#[inline]
3997#[target_feature(enable = "lsx")]
3998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
3999pub fn lsx_vfmina_s(a: m128, b: m128) -> m128 {
4000    unsafe { transmute(__lsx_vfmina_s(transmute(a), transmute(b))) }
4001}
4002
4003#[inline]
4004#[target_feature(enable = "lsx")]
4005#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4006pub fn lsx_vfmina_d(a: m128d, b: m128d) -> m128d {
4007    unsafe { transmute(__lsx_vfmina_d(transmute(a), transmute(b))) }
4008}
4009
4010#[inline]
4011#[target_feature(enable = "lsx")]
4012#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4013pub fn lsx_vfmax_s(a: m128, b: m128) -> m128 {
4014    unsafe { transmute(__lsx_vfmax_s(transmute(a), transmute(b))) }
4015}
4016
4017#[inline]
4018#[target_feature(enable = "lsx")]
4019#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4020pub fn lsx_vfmax_d(a: m128d, b: m128d) -> m128d {
4021    unsafe { transmute(__lsx_vfmax_d(transmute(a), transmute(b))) }
4022}
4023
4024#[inline]
4025#[target_feature(enable = "lsx")]
4026#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4027pub fn lsx_vfmaxa_s(a: m128, b: m128) -> m128 {
4028    unsafe { transmute(__lsx_vfmaxa_s(transmute(a), transmute(b))) }
4029}
4030
4031#[inline]
4032#[target_feature(enable = "lsx")]
4033#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4034pub fn lsx_vfmaxa_d(a: m128d, b: m128d) -> m128d {
4035    unsafe { transmute(__lsx_vfmaxa_d(transmute(a), transmute(b))) }
4036}
4037
4038#[inline]
4039#[target_feature(enable = "lsx")]
4040#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4041pub fn lsx_vfclass_s(a: m128) -> m128i {
4042    unsafe { transmute(__lsx_vfclass_s(transmute(a))) }
4043}
4044
4045#[inline]
4046#[target_feature(enable = "lsx")]
4047#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4048pub fn lsx_vfclass_d(a: m128d) -> m128i {
4049    unsafe { transmute(__lsx_vfclass_d(transmute(a))) }
4050}
4051
4052#[inline]
4053#[target_feature(enable = "lsx")]
4054#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4055pub fn lsx_vfsqrt_s(a: m128) -> m128 {
4056    unsafe { transmute(__lsx_vfsqrt_s(transmute(a))) }
4057}
4058
4059#[inline]
4060#[target_feature(enable = "lsx")]
4061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4062pub fn lsx_vfsqrt_d(a: m128d) -> m128d {
4063    unsafe { transmute(__lsx_vfsqrt_d(transmute(a))) }
4064}
4065
4066#[inline]
4067#[target_feature(enable = "lsx")]
4068#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4069pub fn lsx_vfrecip_s(a: m128) -> m128 {
4070    unsafe { transmute(__lsx_vfrecip_s(transmute(a))) }
4071}
4072
4073#[inline]
4074#[target_feature(enable = "lsx")]
4075#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4076pub fn lsx_vfrecip_d(a: m128d) -> m128d {
4077    unsafe { transmute(__lsx_vfrecip_d(transmute(a))) }
4078}
4079
4080#[inline]
4081#[target_feature(enable = "lsx,frecipe")]
4082#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4083pub fn lsx_vfrecipe_s(a: m128) -> m128 {
4084    unsafe { transmute(__lsx_vfrecipe_s(transmute(a))) }
4085}
4086
4087#[inline]
4088#[target_feature(enable = "lsx,frecipe")]
4089#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4090pub fn lsx_vfrecipe_d(a: m128d) -> m128d {
4091    unsafe { transmute(__lsx_vfrecipe_d(transmute(a))) }
4092}
4093
4094#[inline]
4095#[target_feature(enable = "lsx,frecipe")]
4096#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4097pub fn lsx_vfrsqrte_s(a: m128) -> m128 {
4098    unsafe { transmute(__lsx_vfrsqrte_s(transmute(a))) }
4099}
4100
4101#[inline]
4102#[target_feature(enable = "lsx,frecipe")]
4103#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4104pub fn lsx_vfrsqrte_d(a: m128d) -> m128d {
4105    unsafe { transmute(__lsx_vfrsqrte_d(transmute(a))) }
4106}
4107
4108#[inline]
4109#[target_feature(enable = "lsx")]
4110#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4111pub fn lsx_vfrint_s(a: m128) -> m128 {
4112    unsafe { transmute(__lsx_vfrint_s(transmute(a))) }
4113}
4114
4115#[inline]
4116#[target_feature(enable = "lsx")]
4117#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4118pub fn lsx_vfrint_d(a: m128d) -> m128d {
4119    unsafe { transmute(__lsx_vfrint_d(transmute(a))) }
4120}
4121
4122#[inline]
4123#[target_feature(enable = "lsx")]
4124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4125pub fn lsx_vfrsqrt_s(a: m128) -> m128 {
4126    unsafe { transmute(__lsx_vfrsqrt_s(transmute(a))) }
4127}
4128
4129#[inline]
4130#[target_feature(enable = "lsx")]
4131#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4132pub fn lsx_vfrsqrt_d(a: m128d) -> m128d {
4133    unsafe { transmute(__lsx_vfrsqrt_d(transmute(a))) }
4134}
4135
4136#[inline]
4137#[target_feature(enable = "lsx")]
4138#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4139pub fn lsx_vflogb_s(a: m128) -> m128 {
4140    unsafe { transmute(__lsx_vflogb_s(transmute(a))) }
4141}
4142
4143#[inline]
4144#[target_feature(enable = "lsx")]
4145#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4146pub fn lsx_vflogb_d(a: m128d) -> m128d {
4147    unsafe { transmute(__lsx_vflogb_d(transmute(a))) }
4148}
4149
4150#[inline]
4151#[target_feature(enable = "lsx")]
4152#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4153pub fn lsx_vfcvth_s_h(a: m128i) -> m128 {
4154    unsafe { transmute(__lsx_vfcvth_s_h(transmute(a))) }
4155}
4156
4157#[inline]
4158#[target_feature(enable = "lsx")]
4159#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4160pub fn lsx_vfcvth_d_s(a: m128) -> m128d {
4161    unsafe { transmute(__lsx_vfcvth_d_s(transmute(a))) }
4162}
4163
4164#[inline]
4165#[target_feature(enable = "lsx")]
4166#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4167pub fn lsx_vfcvtl_s_h(a: m128i) -> m128 {
4168    unsafe { transmute(__lsx_vfcvtl_s_h(transmute(a))) }
4169}
4170
4171#[inline]
4172#[target_feature(enable = "lsx")]
4173#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4174pub fn lsx_vfcvtl_d_s(a: m128) -> m128d {
4175    unsafe { transmute(__lsx_vfcvtl_d_s(transmute(a))) }
4176}
4177
4178#[inline]
4179#[target_feature(enable = "lsx")]
4180#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4181pub fn lsx_vftint_w_s(a: m128) -> m128i {
4182    unsafe { transmute(__lsx_vftint_w_s(transmute(a))) }
4183}
4184
4185#[inline]
4186#[target_feature(enable = "lsx")]
4187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4188pub fn lsx_vftint_l_d(a: m128d) -> m128i {
4189    unsafe { transmute(__lsx_vftint_l_d(transmute(a))) }
4190}
4191
4192#[inline]
4193#[target_feature(enable = "lsx")]
4194#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4195pub fn lsx_vftint_wu_s(a: m128) -> m128i {
4196    unsafe { transmute(__lsx_vftint_wu_s(transmute(a))) }
4197}
4198
4199#[inline]
4200#[target_feature(enable = "lsx")]
4201#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4202pub fn lsx_vftint_lu_d(a: m128d) -> m128i {
4203    unsafe { transmute(__lsx_vftint_lu_d(transmute(a))) }
4204}
4205
4206#[inline]
4207#[target_feature(enable = "lsx")]
4208#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4209pub fn lsx_vftintrz_w_s(a: m128) -> m128i {
4210    unsafe { transmute(__lsx_vftintrz_w_s(transmute(a))) }
4211}
4212
4213#[inline]
4214#[target_feature(enable = "lsx")]
4215#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4216pub fn lsx_vftintrz_l_d(a: m128d) -> m128i {
4217    unsafe { transmute(__lsx_vftintrz_l_d(transmute(a))) }
4218}
4219
4220#[inline]
4221#[target_feature(enable = "lsx")]
4222#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4223pub fn lsx_vftintrz_wu_s(a: m128) -> m128i {
4224    unsafe { transmute(__lsx_vftintrz_wu_s(transmute(a))) }
4225}
4226
4227#[inline]
4228#[target_feature(enable = "lsx")]
4229#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4230pub fn lsx_vftintrz_lu_d(a: m128d) -> m128i {
4231    unsafe { transmute(__lsx_vftintrz_lu_d(transmute(a))) }
4232}
4233
4234#[inline]
4235#[target_feature(enable = "lsx")]
4236#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4237pub fn lsx_vffint_s_w(a: m128i) -> m128 {
4238    unsafe { transmute(__lsx_vffint_s_w(transmute(a))) }
4239}
4240
4241#[inline]
4242#[target_feature(enable = "lsx")]
4243#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4244pub fn lsx_vffint_d_l(a: m128i) -> m128d {
4245    unsafe { transmute(__lsx_vffint_d_l(transmute(a))) }
4246}
4247
4248#[inline]
4249#[target_feature(enable = "lsx")]
4250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4251pub fn lsx_vffint_s_wu(a: m128i) -> m128 {
4252    unsafe { transmute(__lsx_vffint_s_wu(transmute(a))) }
4253}
4254
4255#[inline]
4256#[target_feature(enable = "lsx")]
4257#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4258pub fn lsx_vffint_d_lu(a: m128i) -> m128d {
4259    unsafe { transmute(__lsx_vffint_d_lu(transmute(a))) }
4260}
4261
4262#[inline]
4263#[target_feature(enable = "lsx")]
4264#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4265pub fn lsx_vandn_v(a: m128i, b: m128i) -> m128i {
4266    unsafe { transmute(__lsx_vandn_v(transmute(a), transmute(b))) }
4267}
4268
4269#[inline]
4270#[target_feature(enable = "lsx")]
4271#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4272pub fn lsx_vneg_b(a: m128i) -> m128i {
4273    unsafe { transmute(__lsx_vneg_b(transmute(a))) }
4274}
4275
4276#[inline]
4277#[target_feature(enable = "lsx")]
4278#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4279pub fn lsx_vneg_h(a: m128i) -> m128i {
4280    unsafe { transmute(__lsx_vneg_h(transmute(a))) }
4281}
4282
4283#[inline]
4284#[target_feature(enable = "lsx")]
4285#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4286pub fn lsx_vneg_w(a: m128i) -> m128i {
4287    unsafe { transmute(__lsx_vneg_w(transmute(a))) }
4288}
4289
4290#[inline]
4291#[target_feature(enable = "lsx")]
4292#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4293pub fn lsx_vneg_d(a: m128i) -> m128i {
4294    unsafe { transmute(__lsx_vneg_d(transmute(a))) }
4295}
4296
4297#[inline]
4298#[target_feature(enable = "lsx")]
4299#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4300pub fn lsx_vmuh_b(a: m128i, b: m128i) -> m128i {
4301    unsafe { transmute(__lsx_vmuh_b(transmute(a), transmute(b))) }
4302}
4303
4304#[inline]
4305#[target_feature(enable = "lsx")]
4306#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4307pub fn lsx_vmuh_h(a: m128i, b: m128i) -> m128i {
4308    unsafe { transmute(__lsx_vmuh_h(transmute(a), transmute(b))) }
4309}
4310
4311#[inline]
4312#[target_feature(enable = "lsx")]
4313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4314pub fn lsx_vmuh_w(a: m128i, b: m128i) -> m128i {
4315    unsafe { transmute(__lsx_vmuh_w(transmute(a), transmute(b))) }
4316}
4317
4318#[inline]
4319#[target_feature(enable = "lsx")]
4320#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4321pub fn lsx_vmuh_d(a: m128i, b: m128i) -> m128i {
4322    unsafe { transmute(__lsx_vmuh_d(transmute(a), transmute(b))) }
4323}
4324
4325#[inline]
4326#[target_feature(enable = "lsx")]
4327#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4328pub fn lsx_vmuh_bu(a: m128i, b: m128i) -> m128i {
4329    unsafe { transmute(__lsx_vmuh_bu(transmute(a), transmute(b))) }
4330}
4331
4332#[inline]
4333#[target_feature(enable = "lsx")]
4334#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4335pub fn lsx_vmuh_hu(a: m128i, b: m128i) -> m128i {
4336    unsafe { transmute(__lsx_vmuh_hu(transmute(a), transmute(b))) }
4337}
4338
4339#[inline]
4340#[target_feature(enable = "lsx")]
4341#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4342pub fn lsx_vmuh_wu(a: m128i, b: m128i) -> m128i {
4343    unsafe { transmute(__lsx_vmuh_wu(transmute(a), transmute(b))) }
4344}
4345
4346#[inline]
4347#[target_feature(enable = "lsx")]
4348#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4349pub fn lsx_vmuh_du(a: m128i, b: m128i) -> m128i {
4350    unsafe { transmute(__lsx_vmuh_du(transmute(a), transmute(b))) }
4351}
4352
4353#[inline]
4354#[target_feature(enable = "lsx")]
4355#[rustc_legacy_const_generics(1)]
4356#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4357pub fn lsx_vsllwil_h_b<const IMM3: u32>(a: m128i) -> m128i {
4358    static_assert_uimm_bits!(IMM3, 3);
4359    unsafe { transmute(__lsx_vsllwil_h_b(transmute(a), IMM3)) }
4360}
4361
4362#[inline]
4363#[target_feature(enable = "lsx")]
4364#[rustc_legacy_const_generics(1)]
4365#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4366pub fn lsx_vsllwil_w_h<const IMM4: u32>(a: m128i) -> m128i {
4367    static_assert_uimm_bits!(IMM4, 4);
4368    unsafe { transmute(__lsx_vsllwil_w_h(transmute(a), IMM4)) }
4369}
4370
4371#[inline]
4372#[target_feature(enable = "lsx")]
4373#[rustc_legacy_const_generics(1)]
4374#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4375pub fn lsx_vsllwil_d_w<const IMM5: u32>(a: m128i) -> m128i {
4376    static_assert_uimm_bits!(IMM5, 5);
4377    unsafe { transmute(__lsx_vsllwil_d_w(transmute(a), IMM5)) }
4378}
4379
4380#[inline]
4381#[target_feature(enable = "lsx")]
4382#[rustc_legacy_const_generics(1)]
4383#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4384pub fn lsx_vsllwil_hu_bu<const IMM3: u32>(a: m128i) -> m128i {
4385    static_assert_uimm_bits!(IMM3, 3);
4386    unsafe { transmute(__lsx_vsllwil_hu_bu(transmute(a), IMM3)) }
4387}
4388
4389#[inline]
4390#[target_feature(enable = "lsx")]
4391#[rustc_legacy_const_generics(1)]
4392#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4393pub fn lsx_vsllwil_wu_hu<const IMM4: u32>(a: m128i) -> m128i {
4394    static_assert_uimm_bits!(IMM4, 4);
4395    unsafe { transmute(__lsx_vsllwil_wu_hu(transmute(a), IMM4)) }
4396}
4397
4398#[inline]
4399#[target_feature(enable = "lsx")]
4400#[rustc_legacy_const_generics(1)]
4401#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4402pub fn lsx_vsllwil_du_wu<const IMM5: u32>(a: m128i) -> m128i {
4403    static_assert_uimm_bits!(IMM5, 5);
4404    unsafe { transmute(__lsx_vsllwil_du_wu(transmute(a), IMM5)) }
4405}
4406
4407#[inline]
4408#[target_feature(enable = "lsx")]
4409#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4410pub fn lsx_vsran_b_h(a: m128i, b: m128i) -> m128i {
4411    unsafe { transmute(__lsx_vsran_b_h(transmute(a), transmute(b))) }
4412}
4413
4414#[inline]
4415#[target_feature(enable = "lsx")]
4416#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4417pub fn lsx_vsran_h_w(a: m128i, b: m128i) -> m128i {
4418    unsafe { transmute(__lsx_vsran_h_w(transmute(a), transmute(b))) }
4419}
4420
4421#[inline]
4422#[target_feature(enable = "lsx")]
4423#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4424pub fn lsx_vsran_w_d(a: m128i, b: m128i) -> m128i {
4425    unsafe { transmute(__lsx_vsran_w_d(transmute(a), transmute(b))) }
4426}
4427
4428#[inline]
4429#[target_feature(enable = "lsx")]
4430#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4431pub fn lsx_vssran_b_h(a: m128i, b: m128i) -> m128i {
4432    unsafe { transmute(__lsx_vssran_b_h(transmute(a), transmute(b))) }
4433}
4434
4435#[inline]
4436#[target_feature(enable = "lsx")]
4437#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4438pub fn lsx_vssran_h_w(a: m128i, b: m128i) -> m128i {
4439    unsafe { transmute(__lsx_vssran_h_w(transmute(a), transmute(b))) }
4440}
4441
4442#[inline]
4443#[target_feature(enable = "lsx")]
4444#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4445pub fn lsx_vssran_w_d(a: m128i, b: m128i) -> m128i {
4446    unsafe { transmute(__lsx_vssran_w_d(transmute(a), transmute(b))) }
4447}
4448
4449#[inline]
4450#[target_feature(enable = "lsx")]
4451#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4452pub fn lsx_vssran_bu_h(a: m128i, b: m128i) -> m128i {
4453    unsafe { transmute(__lsx_vssran_bu_h(transmute(a), transmute(b))) }
4454}
4455
4456#[inline]
4457#[target_feature(enable = "lsx")]
4458#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4459pub fn lsx_vssran_hu_w(a: m128i, b: m128i) -> m128i {
4460    unsafe { transmute(__lsx_vssran_hu_w(transmute(a), transmute(b))) }
4461}
4462
4463#[inline]
4464#[target_feature(enable = "lsx")]
4465#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4466pub fn lsx_vssran_wu_d(a: m128i, b: m128i) -> m128i {
4467    unsafe { transmute(__lsx_vssran_wu_d(transmute(a), transmute(b))) }
4468}
4469
4470#[inline]
4471#[target_feature(enable = "lsx")]
4472#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4473pub fn lsx_vsrarn_b_h(a: m128i, b: m128i) -> m128i {
4474    unsafe { transmute(__lsx_vsrarn_b_h(transmute(a), transmute(b))) }
4475}
4476
4477#[inline]
4478#[target_feature(enable = "lsx")]
4479#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4480pub fn lsx_vsrarn_h_w(a: m128i, b: m128i) -> m128i {
4481    unsafe { transmute(__lsx_vsrarn_h_w(transmute(a), transmute(b))) }
4482}
4483
4484#[inline]
4485#[target_feature(enable = "lsx")]
4486#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4487pub fn lsx_vsrarn_w_d(a: m128i, b: m128i) -> m128i {
4488    unsafe { transmute(__lsx_vsrarn_w_d(transmute(a), transmute(b))) }
4489}
4490
4491#[inline]
4492#[target_feature(enable = "lsx")]
4493#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4494pub fn lsx_vssrarn_b_h(a: m128i, b: m128i) -> m128i {
4495    unsafe { transmute(__lsx_vssrarn_b_h(transmute(a), transmute(b))) }
4496}
4497
4498#[inline]
4499#[target_feature(enable = "lsx")]
4500#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4501pub fn lsx_vssrarn_h_w(a: m128i, b: m128i) -> m128i {
4502    unsafe { transmute(__lsx_vssrarn_h_w(transmute(a), transmute(b))) }
4503}
4504
4505#[inline]
4506#[target_feature(enable = "lsx")]
4507#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4508pub fn lsx_vssrarn_w_d(a: m128i, b: m128i) -> m128i {
4509    unsafe { transmute(__lsx_vssrarn_w_d(transmute(a), transmute(b))) }
4510}
4511
4512#[inline]
4513#[target_feature(enable = "lsx")]
4514#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4515pub fn lsx_vssrarn_bu_h(a: m128i, b: m128i) -> m128i {
4516    unsafe { transmute(__lsx_vssrarn_bu_h(transmute(a), transmute(b))) }
4517}
4518
4519#[inline]
4520#[target_feature(enable = "lsx")]
4521#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4522pub fn lsx_vssrarn_hu_w(a: m128i, b: m128i) -> m128i {
4523    unsafe { transmute(__lsx_vssrarn_hu_w(transmute(a), transmute(b))) }
4524}
4525
4526#[inline]
4527#[target_feature(enable = "lsx")]
4528#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4529pub fn lsx_vssrarn_wu_d(a: m128i, b: m128i) -> m128i {
4530    unsafe { transmute(__lsx_vssrarn_wu_d(transmute(a), transmute(b))) }
4531}
4532
4533#[inline]
4534#[target_feature(enable = "lsx")]
4535#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4536pub fn lsx_vsrln_b_h(a: m128i, b: m128i) -> m128i {
4537    unsafe { transmute(__lsx_vsrln_b_h(transmute(a), transmute(b))) }
4538}
4539
4540#[inline]
4541#[target_feature(enable = "lsx")]
4542#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4543pub fn lsx_vsrln_h_w(a: m128i, b: m128i) -> m128i {
4544    unsafe { transmute(__lsx_vsrln_h_w(transmute(a), transmute(b))) }
4545}
4546
4547#[inline]
4548#[target_feature(enable = "lsx")]
4549#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4550pub fn lsx_vsrln_w_d(a: m128i, b: m128i) -> m128i {
4551    unsafe { transmute(__lsx_vsrln_w_d(transmute(a), transmute(b))) }
4552}
4553
4554#[inline]
4555#[target_feature(enable = "lsx")]
4556#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4557pub fn lsx_vssrln_bu_h(a: m128i, b: m128i) -> m128i {
4558    unsafe { transmute(__lsx_vssrln_bu_h(transmute(a), transmute(b))) }
4559}
4560
4561#[inline]
4562#[target_feature(enable = "lsx")]
4563#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4564pub fn lsx_vssrln_hu_w(a: m128i, b: m128i) -> m128i {
4565    unsafe { transmute(__lsx_vssrln_hu_w(transmute(a), transmute(b))) }
4566}
4567
4568#[inline]
4569#[target_feature(enable = "lsx")]
4570#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4571pub fn lsx_vssrln_wu_d(a: m128i, b: m128i) -> m128i {
4572    unsafe { transmute(__lsx_vssrln_wu_d(transmute(a), transmute(b))) }
4573}
4574
4575#[inline]
4576#[target_feature(enable = "lsx")]
4577#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4578pub fn lsx_vsrlrn_b_h(a: m128i, b: m128i) -> m128i {
4579    unsafe { transmute(__lsx_vsrlrn_b_h(transmute(a), transmute(b))) }
4580}
4581
4582#[inline]
4583#[target_feature(enable = "lsx")]
4584#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4585pub fn lsx_vsrlrn_h_w(a: m128i, b: m128i) -> m128i {
4586    unsafe { transmute(__lsx_vsrlrn_h_w(transmute(a), transmute(b))) }
4587}
4588
4589#[inline]
4590#[target_feature(enable = "lsx")]
4591#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4592pub fn lsx_vsrlrn_w_d(a: m128i, b: m128i) -> m128i {
4593    unsafe { transmute(__lsx_vsrlrn_w_d(transmute(a), transmute(b))) }
4594}
4595
4596#[inline]
4597#[target_feature(enable = "lsx")]
4598#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4599pub fn lsx_vssrlrn_bu_h(a: m128i, b: m128i) -> m128i {
4600    unsafe { transmute(__lsx_vssrlrn_bu_h(transmute(a), transmute(b))) }
4601}
4602
4603#[inline]
4604#[target_feature(enable = "lsx")]
4605#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4606pub fn lsx_vssrlrn_hu_w(a: m128i, b: m128i) -> m128i {
4607    unsafe { transmute(__lsx_vssrlrn_hu_w(transmute(a), transmute(b))) }
4608}
4609
4610#[inline]
4611#[target_feature(enable = "lsx")]
4612#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4613pub fn lsx_vssrlrn_wu_d(a: m128i, b: m128i) -> m128i {
4614    unsafe { transmute(__lsx_vssrlrn_wu_d(transmute(a), transmute(b))) }
4615}
4616
4617#[inline]
4618#[target_feature(enable = "lsx")]
4619#[rustc_legacy_const_generics(2)]
4620#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4621pub fn lsx_vfrstpi_b<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4622    static_assert_uimm_bits!(IMM5, 5);
4623    unsafe { transmute(__lsx_vfrstpi_b(transmute(a), transmute(b), IMM5)) }
4624}
4625
4626#[inline]
4627#[target_feature(enable = "lsx")]
4628#[rustc_legacy_const_generics(2)]
4629#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4630pub fn lsx_vfrstpi_h<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
4631    static_assert_uimm_bits!(IMM5, 5);
4632    unsafe { transmute(__lsx_vfrstpi_h(transmute(a), transmute(b), IMM5)) }
4633}
4634
4635#[inline]
4636#[target_feature(enable = "lsx")]
4637#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4638pub fn lsx_vfrstp_b(a: m128i, b: m128i, c: m128i) -> m128i {
4639    unsafe { transmute(__lsx_vfrstp_b(transmute(a), transmute(b), transmute(c))) }
4640}
4641
4642#[inline]
4643#[target_feature(enable = "lsx")]
4644#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4645pub fn lsx_vfrstp_h(a: m128i, b: m128i, c: m128i) -> m128i {
4646    unsafe { transmute(__lsx_vfrstp_h(transmute(a), transmute(b), transmute(c))) }
4647}
4648
4649#[inline]
4650#[target_feature(enable = "lsx")]
4651#[rustc_legacy_const_generics(2)]
4652#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4653pub fn lsx_vshuf4i_d<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
4654    static_assert_uimm_bits!(IMM8, 8);
4655    unsafe { transmute(__lsx_vshuf4i_d(transmute(a), transmute(b), IMM8)) }
4656}
4657
4658#[inline]
4659#[target_feature(enable = "lsx")]
4660#[rustc_legacy_const_generics(1)]
4661#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4662pub fn lsx_vbsrl_v<const IMM5: u32>(a: m128i) -> m128i {
4663    static_assert_uimm_bits!(IMM5, 5);
4664    unsafe { transmute(__lsx_vbsrl_v(transmute(a), IMM5)) }
4665}
4666
4667#[inline]
4668#[target_feature(enable = "lsx")]
4669#[rustc_legacy_const_generics(1)]
4670#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4671pub fn lsx_vbsll_v<const IMM5: u32>(a: m128i) -> m128i {
4672    static_assert_uimm_bits!(IMM5, 5);
4673    unsafe { transmute(__lsx_vbsll_v(transmute(a), IMM5)) }
4674}
4675
4676#[inline]
4677#[target_feature(enable = "lsx")]
4678#[rustc_legacy_const_generics(2)]
4679#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4680pub fn lsx_vextrins_b<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
4681    static_assert_uimm_bits!(IMM8, 8);
4682    unsafe { transmute(__lsx_vextrins_b(transmute(a), transmute(b), IMM8)) }
4683}
4684
4685#[inline]
4686#[target_feature(enable = "lsx")]
4687#[rustc_legacy_const_generics(2)]
4688#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4689pub fn lsx_vextrins_h<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
4690    static_assert_uimm_bits!(IMM8, 8);
4691    unsafe { transmute(__lsx_vextrins_h(transmute(a), transmute(b), IMM8)) }
4692}
4693
4694#[inline]
4695#[target_feature(enable = "lsx")]
4696#[rustc_legacy_const_generics(2)]
4697#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4698pub fn lsx_vextrins_w<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
4699    static_assert_uimm_bits!(IMM8, 8);
4700    unsafe { transmute(__lsx_vextrins_w(transmute(a), transmute(b), IMM8)) }
4701}
4702
4703#[inline]
4704#[target_feature(enable = "lsx")]
4705#[rustc_legacy_const_generics(2)]
4706#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4707pub fn lsx_vextrins_d<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
4708    static_assert_uimm_bits!(IMM8, 8);
4709    unsafe { transmute(__lsx_vextrins_d(transmute(a), transmute(b), IMM8)) }
4710}
4711
4712#[inline]
4713#[target_feature(enable = "lsx")]
4714#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4715pub fn lsx_vmskltz_b(a: m128i) -> m128i {
4716    unsafe { transmute(__lsx_vmskltz_b(transmute(a))) }
4717}
4718
4719#[inline]
4720#[target_feature(enable = "lsx")]
4721#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4722pub fn lsx_vmskltz_h(a: m128i) -> m128i {
4723    unsafe { transmute(__lsx_vmskltz_h(transmute(a))) }
4724}
4725
4726#[inline]
4727#[target_feature(enable = "lsx")]
4728#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4729pub fn lsx_vmskltz_w(a: m128i) -> m128i {
4730    unsafe { transmute(__lsx_vmskltz_w(transmute(a))) }
4731}
4732
4733#[inline]
4734#[target_feature(enable = "lsx")]
4735#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4736pub fn lsx_vmskltz_d(a: m128i) -> m128i {
4737    unsafe { transmute(__lsx_vmskltz_d(transmute(a))) }
4738}
4739
4740#[inline]
4741#[target_feature(enable = "lsx")]
4742#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4743pub fn lsx_vsigncov_b(a: m128i, b: m128i) -> m128i {
4744    unsafe { transmute(__lsx_vsigncov_b(transmute(a), transmute(b))) }
4745}
4746
4747#[inline]
4748#[target_feature(enable = "lsx")]
4749#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4750pub fn lsx_vsigncov_h(a: m128i, b: m128i) -> m128i {
4751    unsafe { transmute(__lsx_vsigncov_h(transmute(a), transmute(b))) }
4752}
4753
4754#[inline]
4755#[target_feature(enable = "lsx")]
4756#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4757pub fn lsx_vsigncov_w(a: m128i, b: m128i) -> m128i {
4758    unsafe { transmute(__lsx_vsigncov_w(transmute(a), transmute(b))) }
4759}
4760
4761#[inline]
4762#[target_feature(enable = "lsx")]
4763#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4764pub fn lsx_vsigncov_d(a: m128i, b: m128i) -> m128i {
4765    unsafe { transmute(__lsx_vsigncov_d(transmute(a), transmute(b))) }
4766}
4767
4768#[inline]
4769#[target_feature(enable = "lsx")]
4770#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4771pub fn lsx_vfmadd_s(a: m128, b: m128, c: m128) -> m128 {
4772    unsafe { transmute(__lsx_vfmadd_s(transmute(a), transmute(b), transmute(c))) }
4773}
4774
4775#[inline]
4776#[target_feature(enable = "lsx")]
4777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4778pub fn lsx_vfmadd_d(a: m128d, b: m128d, c: m128d) -> m128d {
4779    unsafe { transmute(__lsx_vfmadd_d(transmute(a), transmute(b), transmute(c))) }
4780}
4781
4782#[inline]
4783#[target_feature(enable = "lsx")]
4784#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4785pub fn lsx_vfmsub_s(a: m128, b: m128, c: m128) -> m128 {
4786    unsafe { transmute(__lsx_vfmsub_s(transmute(a), transmute(b), transmute(c))) }
4787}
4788
4789#[inline]
4790#[target_feature(enable = "lsx")]
4791#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4792pub fn lsx_vfmsub_d(a: m128d, b: m128d, c: m128d) -> m128d {
4793    unsafe { transmute(__lsx_vfmsub_d(transmute(a), transmute(b), transmute(c))) }
4794}
4795
4796#[inline]
4797#[target_feature(enable = "lsx")]
4798#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4799pub fn lsx_vfnmadd_s(a: m128, b: m128, c: m128) -> m128 {
4800    unsafe { transmute(__lsx_vfnmadd_s(transmute(a), transmute(b), transmute(c))) }
4801}
4802
4803#[inline]
4804#[target_feature(enable = "lsx")]
4805#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4806pub fn lsx_vfnmadd_d(a: m128d, b: m128d, c: m128d) -> m128d {
4807    unsafe { transmute(__lsx_vfnmadd_d(transmute(a), transmute(b), transmute(c))) }
4808}
4809
4810#[inline]
4811#[target_feature(enable = "lsx")]
4812#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4813pub fn lsx_vfnmsub_s(a: m128, b: m128, c: m128) -> m128 {
4814    unsafe { transmute(__lsx_vfnmsub_s(transmute(a), transmute(b), transmute(c))) }
4815}
4816
4817#[inline]
4818#[target_feature(enable = "lsx")]
4819#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4820pub fn lsx_vfnmsub_d(a: m128d, b: m128d, c: m128d) -> m128d {
4821    unsafe { transmute(__lsx_vfnmsub_d(transmute(a), transmute(b), transmute(c))) }
4822}
4823
4824#[inline]
4825#[target_feature(enable = "lsx")]
4826#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4827pub fn lsx_vftintrne_w_s(a: m128) -> m128i {
4828    unsafe { transmute(__lsx_vftintrne_w_s(transmute(a))) }
4829}
4830
4831#[inline]
4832#[target_feature(enable = "lsx")]
4833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4834pub fn lsx_vftintrne_l_d(a: m128d) -> m128i {
4835    unsafe { transmute(__lsx_vftintrne_l_d(transmute(a))) }
4836}
4837
4838#[inline]
4839#[target_feature(enable = "lsx")]
4840#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4841pub fn lsx_vftintrp_w_s(a: m128) -> m128i {
4842    unsafe { transmute(__lsx_vftintrp_w_s(transmute(a))) }
4843}
4844
4845#[inline]
4846#[target_feature(enable = "lsx")]
4847#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4848pub fn lsx_vftintrp_l_d(a: m128d) -> m128i {
4849    unsafe { transmute(__lsx_vftintrp_l_d(transmute(a))) }
4850}
4851
4852#[inline]
4853#[target_feature(enable = "lsx")]
4854#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4855pub fn lsx_vftintrm_w_s(a: m128) -> m128i {
4856    unsafe { transmute(__lsx_vftintrm_w_s(transmute(a))) }
4857}
4858
4859#[inline]
4860#[target_feature(enable = "lsx")]
4861#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4862pub fn lsx_vftintrm_l_d(a: m128d) -> m128i {
4863    unsafe { transmute(__lsx_vftintrm_l_d(transmute(a))) }
4864}
4865
4866#[inline]
4867#[target_feature(enable = "lsx")]
4868#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4869pub fn lsx_vftint_w_d(a: m128d, b: m128d) -> m128i {
4870    unsafe { transmute(__lsx_vftint_w_d(transmute(a), transmute(b))) }
4871}
4872
4873#[inline]
4874#[target_feature(enable = "lsx")]
4875#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4876pub fn lsx_vffint_s_l(a: m128i, b: m128i) -> m128 {
4877    unsafe { transmute(__lsx_vffint_s_l(transmute(a), transmute(b))) }
4878}
4879
4880#[inline]
4881#[target_feature(enable = "lsx")]
4882#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4883pub fn lsx_vftintrz_w_d(a: m128d, b: m128d) -> m128i {
4884    unsafe { transmute(__lsx_vftintrz_w_d(transmute(a), transmute(b))) }
4885}
4886
4887#[inline]
4888#[target_feature(enable = "lsx")]
4889#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4890pub fn lsx_vftintrp_w_d(a: m128d, b: m128d) -> m128i {
4891    unsafe { transmute(__lsx_vftintrp_w_d(transmute(a), transmute(b))) }
4892}
4893
4894#[inline]
4895#[target_feature(enable = "lsx")]
4896#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4897pub fn lsx_vftintrm_w_d(a: m128d, b: m128d) -> m128i {
4898    unsafe { transmute(__lsx_vftintrm_w_d(transmute(a), transmute(b))) }
4899}
4900
4901#[inline]
4902#[target_feature(enable = "lsx")]
4903#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4904pub fn lsx_vftintrne_w_d(a: m128d, b: m128d) -> m128i {
4905    unsafe { transmute(__lsx_vftintrne_w_d(transmute(a), transmute(b))) }
4906}
4907
4908#[inline]
4909#[target_feature(enable = "lsx")]
4910#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4911pub fn lsx_vftintl_l_s(a: m128) -> m128i {
4912    unsafe { transmute(__lsx_vftintl_l_s(transmute(a))) }
4913}
4914
4915#[inline]
4916#[target_feature(enable = "lsx")]
4917#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4918pub fn lsx_vftinth_l_s(a: m128) -> m128i {
4919    unsafe { transmute(__lsx_vftinth_l_s(transmute(a))) }
4920}
4921
4922#[inline]
4923#[target_feature(enable = "lsx")]
4924#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4925pub fn lsx_vffinth_d_w(a: m128i) -> m128d {
4926    unsafe { transmute(__lsx_vffinth_d_w(transmute(a))) }
4927}
4928
4929#[inline]
4930#[target_feature(enable = "lsx")]
4931#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4932pub fn lsx_vffintl_d_w(a: m128i) -> m128d {
4933    unsafe { transmute(__lsx_vffintl_d_w(transmute(a))) }
4934}
4935
4936#[inline]
4937#[target_feature(enable = "lsx")]
4938#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4939pub fn lsx_vftintrzl_l_s(a: m128) -> m128i {
4940    unsafe { transmute(__lsx_vftintrzl_l_s(transmute(a))) }
4941}
4942
4943#[inline]
4944#[target_feature(enable = "lsx")]
4945#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4946pub fn lsx_vftintrzh_l_s(a: m128) -> m128i {
4947    unsafe { transmute(__lsx_vftintrzh_l_s(transmute(a))) }
4948}
4949
4950#[inline]
4951#[target_feature(enable = "lsx")]
4952#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4953pub fn lsx_vftintrpl_l_s(a: m128) -> m128i {
4954    unsafe { transmute(__lsx_vftintrpl_l_s(transmute(a))) }
4955}
4956
4957#[inline]
4958#[target_feature(enable = "lsx")]
4959#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4960pub fn lsx_vftintrph_l_s(a: m128) -> m128i {
4961    unsafe { transmute(__lsx_vftintrph_l_s(transmute(a))) }
4962}
4963
4964#[inline]
4965#[target_feature(enable = "lsx")]
4966#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4967pub fn lsx_vftintrml_l_s(a: m128) -> m128i {
4968    unsafe { transmute(__lsx_vftintrml_l_s(transmute(a))) }
4969}
4970
4971#[inline]
4972#[target_feature(enable = "lsx")]
4973#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4974pub fn lsx_vftintrmh_l_s(a: m128) -> m128i {
4975    unsafe { transmute(__lsx_vftintrmh_l_s(transmute(a))) }
4976}
4977
4978#[inline]
4979#[target_feature(enable = "lsx")]
4980#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4981pub fn lsx_vftintrnel_l_s(a: m128) -> m128i {
4982    unsafe { transmute(__lsx_vftintrnel_l_s(transmute(a))) }
4983}
4984
4985#[inline]
4986#[target_feature(enable = "lsx")]
4987#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4988pub fn lsx_vftintrneh_l_s(a: m128) -> m128i {
4989    unsafe { transmute(__lsx_vftintrneh_l_s(transmute(a))) }
4990}
4991
4992#[inline]
4993#[target_feature(enable = "lsx")]
4994#[unstable(feature = "stdarch_loongarch", issue = "117427")]
4995pub fn lsx_vfrintrne_s(a: m128) -> m128 {
4996    unsafe { transmute(__lsx_vfrintrne_s(transmute(a))) }
4997}
4998
4999#[inline]
5000#[target_feature(enable = "lsx")]
5001#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5002pub fn lsx_vfrintrne_d(a: m128d) -> m128d {
5003    unsafe { transmute(__lsx_vfrintrne_d(transmute(a))) }
5004}
5005
5006#[inline]
5007#[target_feature(enable = "lsx")]
5008#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5009pub fn lsx_vfrintrz_s(a: m128) -> m128 {
5010    unsafe { transmute(__lsx_vfrintrz_s(transmute(a))) }
5011}
5012
5013#[inline]
5014#[target_feature(enable = "lsx")]
5015#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5016pub fn lsx_vfrintrz_d(a: m128d) -> m128d {
5017    unsafe { transmute(__lsx_vfrintrz_d(transmute(a))) }
5018}
5019
5020#[inline]
5021#[target_feature(enable = "lsx")]
5022#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5023pub fn lsx_vfrintrp_s(a: m128) -> m128 {
5024    unsafe { transmute(__lsx_vfrintrp_s(transmute(a))) }
5025}
5026
5027#[inline]
5028#[target_feature(enable = "lsx")]
5029#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5030pub fn lsx_vfrintrp_d(a: m128d) -> m128d {
5031    unsafe { transmute(__lsx_vfrintrp_d(transmute(a))) }
5032}
5033
5034#[inline]
5035#[target_feature(enable = "lsx")]
5036#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5037pub fn lsx_vfrintrm_s(a: m128) -> m128 {
5038    unsafe { transmute(__lsx_vfrintrm_s(transmute(a))) }
5039}
5040
5041#[inline]
5042#[target_feature(enable = "lsx")]
5043#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5044pub fn lsx_vfrintrm_d(a: m128d) -> m128d {
5045    unsafe { transmute(__lsx_vfrintrm_d(transmute(a))) }
5046}
5047
5048#[inline]
5049#[target_feature(enable = "lsx")]
5050#[rustc_legacy_const_generics(2, 3)]
5051#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5052pub unsafe fn lsx_vstelm_b<const IMM_S8: i32, const IMM4: u32>(a: m128i, mem_addr: *mut i8) {
5053    static_assert_simm_bits!(IMM_S8, 8);
5054    static_assert_uimm_bits!(IMM4, 4);
5055    transmute(__lsx_vstelm_b(transmute(a), mem_addr, IMM_S8, IMM4))
5056}
5057
5058#[inline]
5059#[target_feature(enable = "lsx")]
5060#[rustc_legacy_const_generics(2, 3)]
5061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5062pub unsafe fn lsx_vstelm_h<const IMM_S8: i32, const IMM3: u32>(a: m128i, mem_addr: *mut i8) {
5063    static_assert_simm_bits!(IMM_S8, 8);
5064    static_assert_uimm_bits!(IMM3, 3);
5065    transmute(__lsx_vstelm_h(transmute(a), mem_addr, IMM_S8, IMM3))
5066}
5067
5068#[inline]
5069#[target_feature(enable = "lsx")]
5070#[rustc_legacy_const_generics(2, 3)]
5071#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5072pub unsafe fn lsx_vstelm_w<const IMM_S8: i32, const IMM2: u32>(a: m128i, mem_addr: *mut i8) {
5073    static_assert_simm_bits!(IMM_S8, 8);
5074    static_assert_uimm_bits!(IMM2, 2);
5075    transmute(__lsx_vstelm_w(transmute(a), mem_addr, IMM_S8, IMM2))
5076}
5077
5078#[inline]
5079#[target_feature(enable = "lsx")]
5080#[rustc_legacy_const_generics(2, 3)]
5081#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5082pub unsafe fn lsx_vstelm_d<const IMM_S8: i32, const IMM1: u32>(a: m128i, mem_addr: *mut i8) {
5083    static_assert_simm_bits!(IMM_S8, 8);
5084    static_assert_uimm_bits!(IMM1, 1);
5085    transmute(__lsx_vstelm_d(transmute(a), mem_addr, IMM_S8, IMM1))
5086}
5087
5088#[inline]
5089#[target_feature(enable = "lsx")]
5090#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5091pub fn lsx_vaddwev_d_w(a: m128i, b: m128i) -> m128i {
5092    unsafe { transmute(__lsx_vaddwev_d_w(transmute(a), transmute(b))) }
5093}
5094
5095#[inline]
5096#[target_feature(enable = "lsx")]
5097#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5098pub fn lsx_vaddwev_w_h(a: m128i, b: m128i) -> m128i {
5099    unsafe { transmute(__lsx_vaddwev_w_h(transmute(a), transmute(b))) }
5100}
5101
5102#[inline]
5103#[target_feature(enable = "lsx")]
5104#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5105pub fn lsx_vaddwev_h_b(a: m128i, b: m128i) -> m128i {
5106    unsafe { transmute(__lsx_vaddwev_h_b(transmute(a), transmute(b))) }
5107}
5108
5109#[inline]
5110#[target_feature(enable = "lsx")]
5111#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5112pub fn lsx_vaddwod_d_w(a: m128i, b: m128i) -> m128i {
5113    unsafe { transmute(__lsx_vaddwod_d_w(transmute(a), transmute(b))) }
5114}
5115
5116#[inline]
5117#[target_feature(enable = "lsx")]
5118#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5119pub fn lsx_vaddwod_w_h(a: m128i, b: m128i) -> m128i {
5120    unsafe { transmute(__lsx_vaddwod_w_h(transmute(a), transmute(b))) }
5121}
5122
5123#[inline]
5124#[target_feature(enable = "lsx")]
5125#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5126pub fn lsx_vaddwod_h_b(a: m128i, b: m128i) -> m128i {
5127    unsafe { transmute(__lsx_vaddwod_h_b(transmute(a), transmute(b))) }
5128}
5129
5130#[inline]
5131#[target_feature(enable = "lsx")]
5132#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5133pub fn lsx_vaddwev_d_wu(a: m128i, b: m128i) -> m128i {
5134    unsafe { transmute(__lsx_vaddwev_d_wu(transmute(a), transmute(b))) }
5135}
5136
5137#[inline]
5138#[target_feature(enable = "lsx")]
5139#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5140pub fn lsx_vaddwev_w_hu(a: m128i, b: m128i) -> m128i {
5141    unsafe { transmute(__lsx_vaddwev_w_hu(transmute(a), transmute(b))) }
5142}
5143
5144#[inline]
5145#[target_feature(enable = "lsx")]
5146#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5147pub fn lsx_vaddwev_h_bu(a: m128i, b: m128i) -> m128i {
5148    unsafe { transmute(__lsx_vaddwev_h_bu(transmute(a), transmute(b))) }
5149}
5150
5151#[inline]
5152#[target_feature(enable = "lsx")]
5153#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5154pub fn lsx_vaddwod_d_wu(a: m128i, b: m128i) -> m128i {
5155    unsafe { transmute(__lsx_vaddwod_d_wu(transmute(a), transmute(b))) }
5156}
5157
5158#[inline]
5159#[target_feature(enable = "lsx")]
5160#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5161pub fn lsx_vaddwod_w_hu(a: m128i, b: m128i) -> m128i {
5162    unsafe { transmute(__lsx_vaddwod_w_hu(transmute(a), transmute(b))) }
5163}
5164
5165#[inline]
5166#[target_feature(enable = "lsx")]
5167#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5168pub fn lsx_vaddwod_h_bu(a: m128i, b: m128i) -> m128i {
5169    unsafe { transmute(__lsx_vaddwod_h_bu(transmute(a), transmute(b))) }
5170}
5171
5172#[inline]
5173#[target_feature(enable = "lsx")]
5174#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5175pub fn lsx_vaddwev_d_wu_w(a: m128i, b: m128i) -> m128i {
5176    unsafe { transmute(__lsx_vaddwev_d_wu_w(transmute(a), transmute(b))) }
5177}
5178
5179#[inline]
5180#[target_feature(enable = "lsx")]
5181#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5182pub fn lsx_vaddwev_w_hu_h(a: m128i, b: m128i) -> m128i {
5183    unsafe { transmute(__lsx_vaddwev_w_hu_h(transmute(a), transmute(b))) }
5184}
5185
5186#[inline]
5187#[target_feature(enable = "lsx")]
5188#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5189pub fn lsx_vaddwev_h_bu_b(a: m128i, b: m128i) -> m128i {
5190    unsafe { transmute(__lsx_vaddwev_h_bu_b(transmute(a), transmute(b))) }
5191}
5192
5193#[inline]
5194#[target_feature(enable = "lsx")]
5195#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5196pub fn lsx_vaddwod_d_wu_w(a: m128i, b: m128i) -> m128i {
5197    unsafe { transmute(__lsx_vaddwod_d_wu_w(transmute(a), transmute(b))) }
5198}
5199
5200#[inline]
5201#[target_feature(enable = "lsx")]
5202#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5203pub fn lsx_vaddwod_w_hu_h(a: m128i, b: m128i) -> m128i {
5204    unsafe { transmute(__lsx_vaddwod_w_hu_h(transmute(a), transmute(b))) }
5205}
5206
5207#[inline]
5208#[target_feature(enable = "lsx")]
5209#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5210pub fn lsx_vaddwod_h_bu_b(a: m128i, b: m128i) -> m128i {
5211    unsafe { transmute(__lsx_vaddwod_h_bu_b(transmute(a), transmute(b))) }
5212}
5213
5214#[inline]
5215#[target_feature(enable = "lsx")]
5216#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5217pub fn lsx_vsubwev_d_w(a: m128i, b: m128i) -> m128i {
5218    unsafe { transmute(__lsx_vsubwev_d_w(transmute(a), transmute(b))) }
5219}
5220
5221#[inline]
5222#[target_feature(enable = "lsx")]
5223#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5224pub fn lsx_vsubwev_w_h(a: m128i, b: m128i) -> m128i {
5225    unsafe { transmute(__lsx_vsubwev_w_h(transmute(a), transmute(b))) }
5226}
5227
5228#[inline]
5229#[target_feature(enable = "lsx")]
5230#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5231pub fn lsx_vsubwev_h_b(a: m128i, b: m128i) -> m128i {
5232    unsafe { transmute(__lsx_vsubwev_h_b(transmute(a), transmute(b))) }
5233}
5234
5235#[inline]
5236#[target_feature(enable = "lsx")]
5237#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5238pub fn lsx_vsubwod_d_w(a: m128i, b: m128i) -> m128i {
5239    unsafe { transmute(__lsx_vsubwod_d_w(transmute(a), transmute(b))) }
5240}
5241
5242#[inline]
5243#[target_feature(enable = "lsx")]
5244#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5245pub fn lsx_vsubwod_w_h(a: m128i, b: m128i) -> m128i {
5246    unsafe { transmute(__lsx_vsubwod_w_h(transmute(a), transmute(b))) }
5247}
5248
5249#[inline]
5250#[target_feature(enable = "lsx")]
5251#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5252pub fn lsx_vsubwod_h_b(a: m128i, b: m128i) -> m128i {
5253    unsafe { transmute(__lsx_vsubwod_h_b(transmute(a), transmute(b))) }
5254}
5255
5256#[inline]
5257#[target_feature(enable = "lsx")]
5258#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5259pub fn lsx_vsubwev_d_wu(a: m128i, b: m128i) -> m128i {
5260    unsafe { transmute(__lsx_vsubwev_d_wu(transmute(a), transmute(b))) }
5261}
5262
5263#[inline]
5264#[target_feature(enable = "lsx")]
5265#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5266pub fn lsx_vsubwev_w_hu(a: m128i, b: m128i) -> m128i {
5267    unsafe { transmute(__lsx_vsubwev_w_hu(transmute(a), transmute(b))) }
5268}
5269
5270#[inline]
5271#[target_feature(enable = "lsx")]
5272#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5273pub fn lsx_vsubwev_h_bu(a: m128i, b: m128i) -> m128i {
5274    unsafe { transmute(__lsx_vsubwev_h_bu(transmute(a), transmute(b))) }
5275}
5276
5277#[inline]
5278#[target_feature(enable = "lsx")]
5279#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5280pub fn lsx_vsubwod_d_wu(a: m128i, b: m128i) -> m128i {
5281    unsafe { transmute(__lsx_vsubwod_d_wu(transmute(a), transmute(b))) }
5282}
5283
5284#[inline]
5285#[target_feature(enable = "lsx")]
5286#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5287pub fn lsx_vsubwod_w_hu(a: m128i, b: m128i) -> m128i {
5288    unsafe { transmute(__lsx_vsubwod_w_hu(transmute(a), transmute(b))) }
5289}
5290
5291#[inline]
5292#[target_feature(enable = "lsx")]
5293#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5294pub fn lsx_vsubwod_h_bu(a: m128i, b: m128i) -> m128i {
5295    unsafe { transmute(__lsx_vsubwod_h_bu(transmute(a), transmute(b))) }
5296}
5297
5298#[inline]
5299#[target_feature(enable = "lsx")]
5300#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5301pub fn lsx_vaddwev_q_d(a: m128i, b: m128i) -> m128i {
5302    unsafe { transmute(__lsx_vaddwev_q_d(transmute(a), transmute(b))) }
5303}
5304
5305#[inline]
5306#[target_feature(enable = "lsx")]
5307#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5308pub fn lsx_vaddwod_q_d(a: m128i, b: m128i) -> m128i {
5309    unsafe { transmute(__lsx_vaddwod_q_d(transmute(a), transmute(b))) }
5310}
5311
5312#[inline]
5313#[target_feature(enable = "lsx")]
5314#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5315pub fn lsx_vaddwev_q_du(a: m128i, b: m128i) -> m128i {
5316    unsafe { transmute(__lsx_vaddwev_q_du(transmute(a), transmute(b))) }
5317}
5318
5319#[inline]
5320#[target_feature(enable = "lsx")]
5321#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5322pub fn lsx_vaddwod_q_du(a: m128i, b: m128i) -> m128i {
5323    unsafe { transmute(__lsx_vaddwod_q_du(transmute(a), transmute(b))) }
5324}
5325
5326#[inline]
5327#[target_feature(enable = "lsx")]
5328#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5329pub fn lsx_vsubwev_q_d(a: m128i, b: m128i) -> m128i {
5330    unsafe { transmute(__lsx_vsubwev_q_d(transmute(a), transmute(b))) }
5331}
5332
5333#[inline]
5334#[target_feature(enable = "lsx")]
5335#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5336pub fn lsx_vsubwod_q_d(a: m128i, b: m128i) -> m128i {
5337    unsafe { transmute(__lsx_vsubwod_q_d(transmute(a), transmute(b))) }
5338}
5339
5340#[inline]
5341#[target_feature(enable = "lsx")]
5342#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5343pub fn lsx_vsubwev_q_du(a: m128i, b: m128i) -> m128i {
5344    unsafe { transmute(__lsx_vsubwev_q_du(transmute(a), transmute(b))) }
5345}
5346
5347#[inline]
5348#[target_feature(enable = "lsx")]
5349#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5350pub fn lsx_vsubwod_q_du(a: m128i, b: m128i) -> m128i {
5351    unsafe { transmute(__lsx_vsubwod_q_du(transmute(a), transmute(b))) }
5352}
5353
5354#[inline]
5355#[target_feature(enable = "lsx")]
5356#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5357pub fn lsx_vaddwev_q_du_d(a: m128i, b: m128i) -> m128i {
5358    unsafe { transmute(__lsx_vaddwev_q_du_d(transmute(a), transmute(b))) }
5359}
5360
5361#[inline]
5362#[target_feature(enable = "lsx")]
5363#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5364pub fn lsx_vaddwod_q_du_d(a: m128i, b: m128i) -> m128i {
5365    unsafe { transmute(__lsx_vaddwod_q_du_d(transmute(a), transmute(b))) }
5366}
5367
5368#[inline]
5369#[target_feature(enable = "lsx")]
5370#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5371pub fn lsx_vmulwev_d_w(a: m128i, b: m128i) -> m128i {
5372    unsafe { transmute(__lsx_vmulwev_d_w(transmute(a), transmute(b))) }
5373}
5374
5375#[inline]
5376#[target_feature(enable = "lsx")]
5377#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5378pub fn lsx_vmulwev_w_h(a: m128i, b: m128i) -> m128i {
5379    unsafe { transmute(__lsx_vmulwev_w_h(transmute(a), transmute(b))) }
5380}
5381
5382#[inline]
5383#[target_feature(enable = "lsx")]
5384#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5385pub fn lsx_vmulwev_h_b(a: m128i, b: m128i) -> m128i {
5386    unsafe { transmute(__lsx_vmulwev_h_b(transmute(a), transmute(b))) }
5387}
5388
5389#[inline]
5390#[target_feature(enable = "lsx")]
5391#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5392pub fn lsx_vmulwod_d_w(a: m128i, b: m128i) -> m128i {
5393    unsafe { transmute(__lsx_vmulwod_d_w(transmute(a), transmute(b))) }
5394}
5395
5396#[inline]
5397#[target_feature(enable = "lsx")]
5398#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5399pub fn lsx_vmulwod_w_h(a: m128i, b: m128i) -> m128i {
5400    unsafe { transmute(__lsx_vmulwod_w_h(transmute(a), transmute(b))) }
5401}
5402
5403#[inline]
5404#[target_feature(enable = "lsx")]
5405#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5406pub fn lsx_vmulwod_h_b(a: m128i, b: m128i) -> m128i {
5407    unsafe { transmute(__lsx_vmulwod_h_b(transmute(a), transmute(b))) }
5408}
5409
5410#[inline]
5411#[target_feature(enable = "lsx")]
5412#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5413pub fn lsx_vmulwev_d_wu(a: m128i, b: m128i) -> m128i {
5414    unsafe { transmute(__lsx_vmulwev_d_wu(transmute(a), transmute(b))) }
5415}
5416
5417#[inline]
5418#[target_feature(enable = "lsx")]
5419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5420pub fn lsx_vmulwev_w_hu(a: m128i, b: m128i) -> m128i {
5421    unsafe { transmute(__lsx_vmulwev_w_hu(transmute(a), transmute(b))) }
5422}
5423
5424#[inline]
5425#[target_feature(enable = "lsx")]
5426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5427pub fn lsx_vmulwev_h_bu(a: m128i, b: m128i) -> m128i {
5428    unsafe { transmute(__lsx_vmulwev_h_bu(transmute(a), transmute(b))) }
5429}
5430
5431#[inline]
5432#[target_feature(enable = "lsx")]
5433#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5434pub fn lsx_vmulwod_d_wu(a: m128i, b: m128i) -> m128i {
5435    unsafe { transmute(__lsx_vmulwod_d_wu(transmute(a), transmute(b))) }
5436}
5437
5438#[inline]
5439#[target_feature(enable = "lsx")]
5440#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5441pub fn lsx_vmulwod_w_hu(a: m128i, b: m128i) -> m128i {
5442    unsafe { transmute(__lsx_vmulwod_w_hu(transmute(a), transmute(b))) }
5443}
5444
5445#[inline]
5446#[target_feature(enable = "lsx")]
5447#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5448pub fn lsx_vmulwod_h_bu(a: m128i, b: m128i) -> m128i {
5449    unsafe { transmute(__lsx_vmulwod_h_bu(transmute(a), transmute(b))) }
5450}
5451
5452#[inline]
5453#[target_feature(enable = "lsx")]
5454#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5455pub fn lsx_vmulwev_d_wu_w(a: m128i, b: m128i) -> m128i {
5456    unsafe { transmute(__lsx_vmulwev_d_wu_w(transmute(a), transmute(b))) }
5457}
5458
5459#[inline]
5460#[target_feature(enable = "lsx")]
5461#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5462pub fn lsx_vmulwev_w_hu_h(a: m128i, b: m128i) -> m128i {
5463    unsafe { transmute(__lsx_vmulwev_w_hu_h(transmute(a), transmute(b))) }
5464}
5465
5466#[inline]
5467#[target_feature(enable = "lsx")]
5468#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5469pub fn lsx_vmulwev_h_bu_b(a: m128i, b: m128i) -> m128i {
5470    unsafe { transmute(__lsx_vmulwev_h_bu_b(transmute(a), transmute(b))) }
5471}
5472
5473#[inline]
5474#[target_feature(enable = "lsx")]
5475#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5476pub fn lsx_vmulwod_d_wu_w(a: m128i, b: m128i) -> m128i {
5477    unsafe { transmute(__lsx_vmulwod_d_wu_w(transmute(a), transmute(b))) }
5478}
5479
5480#[inline]
5481#[target_feature(enable = "lsx")]
5482#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5483pub fn lsx_vmulwod_w_hu_h(a: m128i, b: m128i) -> m128i {
5484    unsafe { transmute(__lsx_vmulwod_w_hu_h(transmute(a), transmute(b))) }
5485}
5486
5487#[inline]
5488#[target_feature(enable = "lsx")]
5489#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5490pub fn lsx_vmulwod_h_bu_b(a: m128i, b: m128i) -> m128i {
5491    unsafe { transmute(__lsx_vmulwod_h_bu_b(transmute(a), transmute(b))) }
5492}
5493
5494#[inline]
5495#[target_feature(enable = "lsx")]
5496#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5497pub fn lsx_vmulwev_q_d(a: m128i, b: m128i) -> m128i {
5498    unsafe { transmute(__lsx_vmulwev_q_d(transmute(a), transmute(b))) }
5499}
5500
5501#[inline]
5502#[target_feature(enable = "lsx")]
5503#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5504pub fn lsx_vmulwod_q_d(a: m128i, b: m128i) -> m128i {
5505    unsafe { transmute(__lsx_vmulwod_q_d(transmute(a), transmute(b))) }
5506}
5507
5508#[inline]
5509#[target_feature(enable = "lsx")]
5510#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5511pub fn lsx_vmulwev_q_du(a: m128i, b: m128i) -> m128i {
5512    unsafe { transmute(__lsx_vmulwev_q_du(transmute(a), transmute(b))) }
5513}
5514
5515#[inline]
5516#[target_feature(enable = "lsx")]
5517#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5518pub fn lsx_vmulwod_q_du(a: m128i, b: m128i) -> m128i {
5519    unsafe { transmute(__lsx_vmulwod_q_du(transmute(a), transmute(b))) }
5520}
5521
5522#[inline]
5523#[target_feature(enable = "lsx")]
5524#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5525pub fn lsx_vmulwev_q_du_d(a: m128i, b: m128i) -> m128i {
5526    unsafe { transmute(__lsx_vmulwev_q_du_d(transmute(a), transmute(b))) }
5527}
5528
5529#[inline]
5530#[target_feature(enable = "lsx")]
5531#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5532pub fn lsx_vmulwod_q_du_d(a: m128i, b: m128i) -> m128i {
5533    unsafe { transmute(__lsx_vmulwod_q_du_d(transmute(a), transmute(b))) }
5534}
5535
5536#[inline]
5537#[target_feature(enable = "lsx")]
5538#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5539pub fn lsx_vhaddw_q_d(a: m128i, b: m128i) -> m128i {
5540    unsafe { transmute(__lsx_vhaddw_q_d(transmute(a), transmute(b))) }
5541}
5542
5543#[inline]
5544#[target_feature(enable = "lsx")]
5545#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5546pub fn lsx_vhaddw_qu_du(a: m128i, b: m128i) -> m128i {
5547    unsafe { transmute(__lsx_vhaddw_qu_du(transmute(a), transmute(b))) }
5548}
5549
5550#[inline]
5551#[target_feature(enable = "lsx")]
5552#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5553pub fn lsx_vhsubw_q_d(a: m128i, b: m128i) -> m128i {
5554    unsafe { transmute(__lsx_vhsubw_q_d(transmute(a), transmute(b))) }
5555}
5556
5557#[inline]
5558#[target_feature(enable = "lsx")]
5559#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5560pub fn lsx_vhsubw_qu_du(a: m128i, b: m128i) -> m128i {
5561    unsafe { transmute(__lsx_vhsubw_qu_du(transmute(a), transmute(b))) }
5562}
5563
5564#[inline]
5565#[target_feature(enable = "lsx")]
5566#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5567pub fn lsx_vmaddwev_d_w(a: m128i, b: m128i, c: m128i) -> m128i {
5568    unsafe { transmute(__lsx_vmaddwev_d_w(transmute(a), transmute(b), transmute(c))) }
5569}
5570
5571#[inline]
5572#[target_feature(enable = "lsx")]
5573#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5574pub fn lsx_vmaddwev_w_h(a: m128i, b: m128i, c: m128i) -> m128i {
5575    unsafe { transmute(__lsx_vmaddwev_w_h(transmute(a), transmute(b), transmute(c))) }
5576}
5577
5578#[inline]
5579#[target_feature(enable = "lsx")]
5580#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5581pub fn lsx_vmaddwev_h_b(a: m128i, b: m128i, c: m128i) -> m128i {
5582    unsafe { transmute(__lsx_vmaddwev_h_b(transmute(a), transmute(b), transmute(c))) }
5583}
5584
5585#[inline]
5586#[target_feature(enable = "lsx")]
5587#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5588pub fn lsx_vmaddwev_d_wu(a: m128i, b: m128i, c: m128i) -> m128i {
5589    unsafe { transmute(__lsx_vmaddwev_d_wu(transmute(a), transmute(b), transmute(c))) }
5590}
5591
5592#[inline]
5593#[target_feature(enable = "lsx")]
5594#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5595pub fn lsx_vmaddwev_w_hu(a: m128i, b: m128i, c: m128i) -> m128i {
5596    unsafe { transmute(__lsx_vmaddwev_w_hu(transmute(a), transmute(b), transmute(c))) }
5597}
5598
5599#[inline]
5600#[target_feature(enable = "lsx")]
5601#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5602pub fn lsx_vmaddwev_h_bu(a: m128i, b: m128i, c: m128i) -> m128i {
5603    unsafe { transmute(__lsx_vmaddwev_h_bu(transmute(a), transmute(b), transmute(c))) }
5604}
5605
5606#[inline]
5607#[target_feature(enable = "lsx")]
5608#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5609pub fn lsx_vmaddwod_d_w(a: m128i, b: m128i, c: m128i) -> m128i {
5610    unsafe { transmute(__lsx_vmaddwod_d_w(transmute(a), transmute(b), transmute(c))) }
5611}
5612
5613#[inline]
5614#[target_feature(enable = "lsx")]
5615#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5616pub fn lsx_vmaddwod_w_h(a: m128i, b: m128i, c: m128i) -> m128i {
5617    unsafe { transmute(__lsx_vmaddwod_w_h(transmute(a), transmute(b), transmute(c))) }
5618}
5619
5620#[inline]
5621#[target_feature(enable = "lsx")]
5622#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5623pub fn lsx_vmaddwod_h_b(a: m128i, b: m128i, c: m128i) -> m128i {
5624    unsafe { transmute(__lsx_vmaddwod_h_b(transmute(a), transmute(b), transmute(c))) }
5625}
5626
5627#[inline]
5628#[target_feature(enable = "lsx")]
5629#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5630pub fn lsx_vmaddwod_d_wu(a: m128i, b: m128i, c: m128i) -> m128i {
5631    unsafe { transmute(__lsx_vmaddwod_d_wu(transmute(a), transmute(b), transmute(c))) }
5632}
5633
5634#[inline]
5635#[target_feature(enable = "lsx")]
5636#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5637pub fn lsx_vmaddwod_w_hu(a: m128i, b: m128i, c: m128i) -> m128i {
5638    unsafe { transmute(__lsx_vmaddwod_w_hu(transmute(a), transmute(b), transmute(c))) }
5639}
5640
5641#[inline]
5642#[target_feature(enable = "lsx")]
5643#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5644pub fn lsx_vmaddwod_h_bu(a: m128i, b: m128i, c: m128i) -> m128i {
5645    unsafe { transmute(__lsx_vmaddwod_h_bu(transmute(a), transmute(b), transmute(c))) }
5646}
5647
5648#[inline]
5649#[target_feature(enable = "lsx")]
5650#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5651pub fn lsx_vmaddwev_d_wu_w(a: m128i, b: m128i, c: m128i) -> m128i {
5652    unsafe { transmute(__lsx_vmaddwev_d_wu_w(transmute(a), transmute(b), transmute(c))) }
5653}
5654
5655#[inline]
5656#[target_feature(enable = "lsx")]
5657#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5658pub fn lsx_vmaddwev_w_hu_h(a: m128i, b: m128i, c: m128i) -> m128i {
5659    unsafe { transmute(__lsx_vmaddwev_w_hu_h(transmute(a), transmute(b), transmute(c))) }
5660}
5661
5662#[inline]
5663#[target_feature(enable = "lsx")]
5664#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5665pub fn lsx_vmaddwev_h_bu_b(a: m128i, b: m128i, c: m128i) -> m128i {
5666    unsafe { transmute(__lsx_vmaddwev_h_bu_b(transmute(a), transmute(b), transmute(c))) }
5667}
5668
5669#[inline]
5670#[target_feature(enable = "lsx")]
5671#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5672pub fn lsx_vmaddwod_d_wu_w(a: m128i, b: m128i, c: m128i) -> m128i {
5673    unsafe { transmute(__lsx_vmaddwod_d_wu_w(transmute(a), transmute(b), transmute(c))) }
5674}
5675
5676#[inline]
5677#[target_feature(enable = "lsx")]
5678#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5679pub fn lsx_vmaddwod_w_hu_h(a: m128i, b: m128i, c: m128i) -> m128i {
5680    unsafe { transmute(__lsx_vmaddwod_w_hu_h(transmute(a), transmute(b), transmute(c))) }
5681}
5682
5683#[inline]
5684#[target_feature(enable = "lsx")]
5685#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5686pub fn lsx_vmaddwod_h_bu_b(a: m128i, b: m128i, c: m128i) -> m128i {
5687    unsafe { transmute(__lsx_vmaddwod_h_bu_b(transmute(a), transmute(b), transmute(c))) }
5688}
5689
5690#[inline]
5691#[target_feature(enable = "lsx")]
5692#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5693pub fn lsx_vmaddwev_q_d(a: m128i, b: m128i, c: m128i) -> m128i {
5694    unsafe { transmute(__lsx_vmaddwev_q_d(transmute(a), transmute(b), transmute(c))) }
5695}
5696
5697#[inline]
5698#[target_feature(enable = "lsx")]
5699#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5700pub fn lsx_vmaddwod_q_d(a: m128i, b: m128i, c: m128i) -> m128i {
5701    unsafe { transmute(__lsx_vmaddwod_q_d(transmute(a), transmute(b), transmute(c))) }
5702}
5703
5704#[inline]
5705#[target_feature(enable = "lsx")]
5706#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5707pub fn lsx_vmaddwev_q_du(a: m128i, b: m128i, c: m128i) -> m128i {
5708    unsafe { transmute(__lsx_vmaddwev_q_du(transmute(a), transmute(b), transmute(c))) }
5709}
5710
5711#[inline]
5712#[target_feature(enable = "lsx")]
5713#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5714pub fn lsx_vmaddwod_q_du(a: m128i, b: m128i, c: m128i) -> m128i {
5715    unsafe { transmute(__lsx_vmaddwod_q_du(transmute(a), transmute(b), transmute(c))) }
5716}
5717
5718#[inline]
5719#[target_feature(enable = "lsx")]
5720#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5721pub fn lsx_vmaddwev_q_du_d(a: m128i, b: m128i, c: m128i) -> m128i {
5722    unsafe { transmute(__lsx_vmaddwev_q_du_d(transmute(a), transmute(b), transmute(c))) }
5723}
5724
5725#[inline]
5726#[target_feature(enable = "lsx")]
5727#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5728pub fn lsx_vmaddwod_q_du_d(a: m128i, b: m128i, c: m128i) -> m128i {
5729    unsafe { transmute(__lsx_vmaddwod_q_du_d(transmute(a), transmute(b), transmute(c))) }
5730}
5731
5732#[inline]
5733#[target_feature(enable = "lsx")]
5734#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5735pub fn lsx_vrotr_b(a: m128i, b: m128i) -> m128i {
5736    unsafe { transmute(__lsx_vrotr_b(transmute(a), transmute(b))) }
5737}
5738
5739#[inline]
5740#[target_feature(enable = "lsx")]
5741#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5742pub fn lsx_vrotr_h(a: m128i, b: m128i) -> m128i {
5743    unsafe { transmute(__lsx_vrotr_h(transmute(a), transmute(b))) }
5744}
5745
5746#[inline]
5747#[target_feature(enable = "lsx")]
5748#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5749pub fn lsx_vrotr_w(a: m128i, b: m128i) -> m128i {
5750    unsafe { transmute(__lsx_vrotr_w(transmute(a), transmute(b))) }
5751}
5752
5753#[inline]
5754#[target_feature(enable = "lsx")]
5755#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5756pub fn lsx_vrotr_d(a: m128i, b: m128i) -> m128i {
5757    unsafe { transmute(__lsx_vrotr_d(transmute(a), transmute(b))) }
5758}
5759
5760#[inline]
5761#[target_feature(enable = "lsx")]
5762#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5763pub fn lsx_vadd_q(a: m128i, b: m128i) -> m128i {
5764    unsafe { transmute(__lsx_vadd_q(transmute(a), transmute(b))) }
5765}
5766
5767#[inline]
5768#[target_feature(enable = "lsx")]
5769#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5770pub fn lsx_vsub_q(a: m128i, b: m128i) -> m128i {
5771    unsafe { transmute(__lsx_vsub_q(transmute(a), transmute(b))) }
5772}
5773
5774#[inline]
5775#[target_feature(enable = "lsx")]
5776#[rustc_legacy_const_generics(1)]
5777#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5778pub unsafe fn lsx_vldrepl_b<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
5779    static_assert_simm_bits!(IMM_S12, 12);
5780    transmute(__lsx_vldrepl_b(mem_addr, IMM_S12))
5781}
5782
5783#[inline]
5784#[target_feature(enable = "lsx")]
5785#[rustc_legacy_const_generics(1)]
5786#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5787pub unsafe fn lsx_vldrepl_h<const IMM_S11: i32>(mem_addr: *const i8) -> m128i {
5788    static_assert_simm_bits!(IMM_S11, 11);
5789    transmute(__lsx_vldrepl_h(mem_addr, IMM_S11))
5790}
5791
5792#[inline]
5793#[target_feature(enable = "lsx")]
5794#[rustc_legacy_const_generics(1)]
5795#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5796pub unsafe fn lsx_vldrepl_w<const IMM_S10: i32>(mem_addr: *const i8) -> m128i {
5797    static_assert_simm_bits!(IMM_S10, 10);
5798    transmute(__lsx_vldrepl_w(mem_addr, IMM_S10))
5799}
5800
5801#[inline]
5802#[target_feature(enable = "lsx")]
5803#[rustc_legacy_const_generics(1)]
5804#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5805pub unsafe fn lsx_vldrepl_d<const IMM_S9: i32>(mem_addr: *const i8) -> m128i {
5806    static_assert_simm_bits!(IMM_S9, 9);
5807    transmute(__lsx_vldrepl_d(mem_addr, IMM_S9))
5808}
5809
5810#[inline]
5811#[target_feature(enable = "lsx")]
5812#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5813pub fn lsx_vmskgez_b(a: m128i) -> m128i {
5814    unsafe { transmute(__lsx_vmskgez_b(transmute(a))) }
5815}
5816
5817#[inline]
5818#[target_feature(enable = "lsx")]
5819#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5820pub fn lsx_vmsknz_b(a: m128i) -> m128i {
5821    unsafe { transmute(__lsx_vmsknz_b(transmute(a))) }
5822}
5823
5824#[inline]
5825#[target_feature(enable = "lsx")]
5826#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5827pub fn lsx_vexth_h_b(a: m128i) -> m128i {
5828    unsafe { transmute(__lsx_vexth_h_b(transmute(a))) }
5829}
5830
5831#[inline]
5832#[target_feature(enable = "lsx")]
5833#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5834pub fn lsx_vexth_w_h(a: m128i) -> m128i {
5835    unsafe { transmute(__lsx_vexth_w_h(transmute(a))) }
5836}
5837
5838#[inline]
5839#[target_feature(enable = "lsx")]
5840#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5841pub fn lsx_vexth_d_w(a: m128i) -> m128i {
5842    unsafe { transmute(__lsx_vexth_d_w(transmute(a))) }
5843}
5844
5845#[inline]
5846#[target_feature(enable = "lsx")]
5847#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5848pub fn lsx_vexth_q_d(a: m128i) -> m128i {
5849    unsafe { transmute(__lsx_vexth_q_d(transmute(a))) }
5850}
5851
5852#[inline]
5853#[target_feature(enable = "lsx")]
5854#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5855pub fn lsx_vexth_hu_bu(a: m128i) -> m128i {
5856    unsafe { transmute(__lsx_vexth_hu_bu(transmute(a))) }
5857}
5858
5859#[inline]
5860#[target_feature(enable = "lsx")]
5861#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5862pub fn lsx_vexth_wu_hu(a: m128i) -> m128i {
5863    unsafe { transmute(__lsx_vexth_wu_hu(transmute(a))) }
5864}
5865
5866#[inline]
5867#[target_feature(enable = "lsx")]
5868#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5869pub fn lsx_vexth_du_wu(a: m128i) -> m128i {
5870    unsafe { transmute(__lsx_vexth_du_wu(transmute(a))) }
5871}
5872
5873#[inline]
5874#[target_feature(enable = "lsx")]
5875#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5876pub fn lsx_vexth_qu_du(a: m128i) -> m128i {
5877    unsafe { transmute(__lsx_vexth_qu_du(transmute(a))) }
5878}
5879
5880#[inline]
5881#[target_feature(enable = "lsx")]
5882#[rustc_legacy_const_generics(1)]
5883#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5884pub fn lsx_vrotri_b<const IMM3: u32>(a: m128i) -> m128i {
5885    static_assert_uimm_bits!(IMM3, 3);
5886    unsafe { transmute(__lsx_vrotri_b(transmute(a), IMM3)) }
5887}
5888
5889#[inline]
5890#[target_feature(enable = "lsx")]
5891#[rustc_legacy_const_generics(1)]
5892#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5893pub fn lsx_vrotri_h<const IMM4: u32>(a: m128i) -> m128i {
5894    static_assert_uimm_bits!(IMM4, 4);
5895    unsafe { transmute(__lsx_vrotri_h(transmute(a), IMM4)) }
5896}
5897
5898#[inline]
5899#[target_feature(enable = "lsx")]
5900#[rustc_legacy_const_generics(1)]
5901#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5902pub fn lsx_vrotri_w<const IMM5: u32>(a: m128i) -> m128i {
5903    static_assert_uimm_bits!(IMM5, 5);
5904    unsafe { transmute(__lsx_vrotri_w(transmute(a), IMM5)) }
5905}
5906
5907#[inline]
5908#[target_feature(enable = "lsx")]
5909#[rustc_legacy_const_generics(1)]
5910#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5911pub fn lsx_vrotri_d<const IMM6: u32>(a: m128i) -> m128i {
5912    static_assert_uimm_bits!(IMM6, 6);
5913    unsafe { transmute(__lsx_vrotri_d(transmute(a), IMM6)) }
5914}
5915
5916#[inline]
5917#[target_feature(enable = "lsx")]
5918#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5919pub fn lsx_vextl_q_d(a: m128i) -> m128i {
5920    unsafe { transmute(__lsx_vextl_q_d(transmute(a))) }
5921}
5922
5923#[inline]
5924#[target_feature(enable = "lsx")]
5925#[rustc_legacy_const_generics(2)]
5926#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5927pub fn lsx_vsrlni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
5928    static_assert_uimm_bits!(IMM4, 4);
5929    unsafe { transmute(__lsx_vsrlni_b_h(transmute(a), transmute(b), IMM4)) }
5930}
5931
5932#[inline]
5933#[target_feature(enable = "lsx")]
5934#[rustc_legacy_const_generics(2)]
5935#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5936pub fn lsx_vsrlni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
5937    static_assert_uimm_bits!(IMM5, 5);
5938    unsafe { transmute(__lsx_vsrlni_h_w(transmute(a), transmute(b), IMM5)) }
5939}
5940
5941#[inline]
5942#[target_feature(enable = "lsx")]
5943#[rustc_legacy_const_generics(2)]
5944#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5945pub fn lsx_vsrlni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
5946    static_assert_uimm_bits!(IMM6, 6);
5947    unsafe { transmute(__lsx_vsrlni_w_d(transmute(a), transmute(b), IMM6)) }
5948}
5949
5950#[inline]
5951#[target_feature(enable = "lsx")]
5952#[rustc_legacy_const_generics(2)]
5953#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5954pub fn lsx_vsrlni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
5955    static_assert_uimm_bits!(IMM7, 7);
5956    unsafe { transmute(__lsx_vsrlni_d_q(transmute(a), transmute(b), IMM7)) }
5957}
5958
5959#[inline]
5960#[target_feature(enable = "lsx")]
5961#[rustc_legacy_const_generics(2)]
5962#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5963pub fn lsx_vsrlrni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
5964    static_assert_uimm_bits!(IMM4, 4);
5965    unsafe { transmute(__lsx_vsrlrni_b_h(transmute(a), transmute(b), IMM4)) }
5966}
5967
5968#[inline]
5969#[target_feature(enable = "lsx")]
5970#[rustc_legacy_const_generics(2)]
5971#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5972pub fn lsx_vsrlrni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
5973    static_assert_uimm_bits!(IMM5, 5);
5974    unsafe { transmute(__lsx_vsrlrni_h_w(transmute(a), transmute(b), IMM5)) }
5975}
5976
5977#[inline]
5978#[target_feature(enable = "lsx")]
5979#[rustc_legacy_const_generics(2)]
5980#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5981pub fn lsx_vsrlrni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
5982    static_assert_uimm_bits!(IMM6, 6);
5983    unsafe { transmute(__lsx_vsrlrni_w_d(transmute(a), transmute(b), IMM6)) }
5984}
5985
5986#[inline]
5987#[target_feature(enable = "lsx")]
5988#[rustc_legacy_const_generics(2)]
5989#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5990pub fn lsx_vsrlrni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
5991    static_assert_uimm_bits!(IMM7, 7);
5992    unsafe { transmute(__lsx_vsrlrni_d_q(transmute(a), transmute(b), IMM7)) }
5993}
5994
5995#[inline]
5996#[target_feature(enable = "lsx")]
5997#[rustc_legacy_const_generics(2)]
5998#[unstable(feature = "stdarch_loongarch", issue = "117427")]
5999pub fn lsx_vssrlni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6000    static_assert_uimm_bits!(IMM4, 4);
6001    unsafe { transmute(__lsx_vssrlni_b_h(transmute(a), transmute(b), IMM4)) }
6002}
6003
6004#[inline]
6005#[target_feature(enable = "lsx")]
6006#[rustc_legacy_const_generics(2)]
6007#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6008pub fn lsx_vssrlni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6009    static_assert_uimm_bits!(IMM5, 5);
6010    unsafe { transmute(__lsx_vssrlni_h_w(transmute(a), transmute(b), IMM5)) }
6011}
6012
6013#[inline]
6014#[target_feature(enable = "lsx")]
6015#[rustc_legacy_const_generics(2)]
6016#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6017pub fn lsx_vssrlni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6018    static_assert_uimm_bits!(IMM6, 6);
6019    unsafe { transmute(__lsx_vssrlni_w_d(transmute(a), transmute(b), IMM6)) }
6020}
6021
6022#[inline]
6023#[target_feature(enable = "lsx")]
6024#[rustc_legacy_const_generics(2)]
6025#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6026pub fn lsx_vssrlni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6027    static_assert_uimm_bits!(IMM7, 7);
6028    unsafe { transmute(__lsx_vssrlni_d_q(transmute(a), transmute(b), IMM7)) }
6029}
6030
6031#[inline]
6032#[target_feature(enable = "lsx")]
6033#[rustc_legacy_const_generics(2)]
6034#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6035pub fn lsx_vssrlni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6036    static_assert_uimm_bits!(IMM4, 4);
6037    unsafe { transmute(__lsx_vssrlni_bu_h(transmute(a), transmute(b), IMM4)) }
6038}
6039
6040#[inline]
6041#[target_feature(enable = "lsx")]
6042#[rustc_legacy_const_generics(2)]
6043#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6044pub fn lsx_vssrlni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6045    static_assert_uimm_bits!(IMM5, 5);
6046    unsafe { transmute(__lsx_vssrlni_hu_w(transmute(a), transmute(b), IMM5)) }
6047}
6048
6049#[inline]
6050#[target_feature(enable = "lsx")]
6051#[rustc_legacy_const_generics(2)]
6052#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6053pub fn lsx_vssrlni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6054    static_assert_uimm_bits!(IMM6, 6);
6055    unsafe { transmute(__lsx_vssrlni_wu_d(transmute(a), transmute(b), IMM6)) }
6056}
6057
6058#[inline]
6059#[target_feature(enable = "lsx")]
6060#[rustc_legacy_const_generics(2)]
6061#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6062pub fn lsx_vssrlni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6063    static_assert_uimm_bits!(IMM7, 7);
6064    unsafe { transmute(__lsx_vssrlni_du_q(transmute(a), transmute(b), IMM7)) }
6065}
6066
6067#[inline]
6068#[target_feature(enable = "lsx")]
6069#[rustc_legacy_const_generics(2)]
6070#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6071pub fn lsx_vssrlrni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6072    static_assert_uimm_bits!(IMM4, 4);
6073    unsafe { transmute(__lsx_vssrlrni_b_h(transmute(a), transmute(b), IMM4)) }
6074}
6075
6076#[inline]
6077#[target_feature(enable = "lsx")]
6078#[rustc_legacy_const_generics(2)]
6079#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6080pub fn lsx_vssrlrni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6081    static_assert_uimm_bits!(IMM5, 5);
6082    unsafe { transmute(__lsx_vssrlrni_h_w(transmute(a), transmute(b), IMM5)) }
6083}
6084
6085#[inline]
6086#[target_feature(enable = "lsx")]
6087#[rustc_legacy_const_generics(2)]
6088#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6089pub fn lsx_vssrlrni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6090    static_assert_uimm_bits!(IMM6, 6);
6091    unsafe { transmute(__lsx_vssrlrni_w_d(transmute(a), transmute(b), IMM6)) }
6092}
6093
6094#[inline]
6095#[target_feature(enable = "lsx")]
6096#[rustc_legacy_const_generics(2)]
6097#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6098pub fn lsx_vssrlrni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6099    static_assert_uimm_bits!(IMM7, 7);
6100    unsafe { transmute(__lsx_vssrlrni_d_q(transmute(a), transmute(b), IMM7)) }
6101}
6102
6103#[inline]
6104#[target_feature(enable = "lsx")]
6105#[rustc_legacy_const_generics(2)]
6106#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6107pub fn lsx_vssrlrni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6108    static_assert_uimm_bits!(IMM4, 4);
6109    unsafe { transmute(__lsx_vssrlrni_bu_h(transmute(a), transmute(b), IMM4)) }
6110}
6111
6112#[inline]
6113#[target_feature(enable = "lsx")]
6114#[rustc_legacy_const_generics(2)]
6115#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6116pub fn lsx_vssrlrni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6117    static_assert_uimm_bits!(IMM5, 5);
6118    unsafe { transmute(__lsx_vssrlrni_hu_w(transmute(a), transmute(b), IMM5)) }
6119}
6120
6121#[inline]
6122#[target_feature(enable = "lsx")]
6123#[rustc_legacy_const_generics(2)]
6124#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6125pub fn lsx_vssrlrni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6126    static_assert_uimm_bits!(IMM6, 6);
6127    unsafe { transmute(__lsx_vssrlrni_wu_d(transmute(a), transmute(b), IMM6)) }
6128}
6129
6130#[inline]
6131#[target_feature(enable = "lsx")]
6132#[rustc_legacy_const_generics(2)]
6133#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6134pub fn lsx_vssrlrni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6135    static_assert_uimm_bits!(IMM7, 7);
6136    unsafe { transmute(__lsx_vssrlrni_du_q(transmute(a), transmute(b), IMM7)) }
6137}
6138
6139#[inline]
6140#[target_feature(enable = "lsx")]
6141#[rustc_legacy_const_generics(2)]
6142#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6143pub fn lsx_vsrani_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6144    static_assert_uimm_bits!(IMM4, 4);
6145    unsafe { transmute(__lsx_vsrani_b_h(transmute(a), transmute(b), IMM4)) }
6146}
6147
6148#[inline]
6149#[target_feature(enable = "lsx")]
6150#[rustc_legacy_const_generics(2)]
6151#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6152pub fn lsx_vsrani_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6153    static_assert_uimm_bits!(IMM5, 5);
6154    unsafe { transmute(__lsx_vsrani_h_w(transmute(a), transmute(b), IMM5)) }
6155}
6156
6157#[inline]
6158#[target_feature(enable = "lsx")]
6159#[rustc_legacy_const_generics(2)]
6160#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6161pub fn lsx_vsrani_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6162    static_assert_uimm_bits!(IMM6, 6);
6163    unsafe { transmute(__lsx_vsrani_w_d(transmute(a), transmute(b), IMM6)) }
6164}
6165
6166#[inline]
6167#[target_feature(enable = "lsx")]
6168#[rustc_legacy_const_generics(2)]
6169#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6170pub fn lsx_vsrani_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6171    static_assert_uimm_bits!(IMM7, 7);
6172    unsafe { transmute(__lsx_vsrani_d_q(transmute(a), transmute(b), IMM7)) }
6173}
6174
6175#[inline]
6176#[target_feature(enable = "lsx")]
6177#[rustc_legacy_const_generics(2)]
6178#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6179pub fn lsx_vsrarni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6180    static_assert_uimm_bits!(IMM4, 4);
6181    unsafe { transmute(__lsx_vsrarni_b_h(transmute(a), transmute(b), IMM4)) }
6182}
6183
6184#[inline]
6185#[target_feature(enable = "lsx")]
6186#[rustc_legacy_const_generics(2)]
6187#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6188pub fn lsx_vsrarni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6189    static_assert_uimm_bits!(IMM5, 5);
6190    unsafe { transmute(__lsx_vsrarni_h_w(transmute(a), transmute(b), IMM5)) }
6191}
6192
6193#[inline]
6194#[target_feature(enable = "lsx")]
6195#[rustc_legacy_const_generics(2)]
6196#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6197pub fn lsx_vsrarni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6198    static_assert_uimm_bits!(IMM6, 6);
6199    unsafe { transmute(__lsx_vsrarni_w_d(transmute(a), transmute(b), IMM6)) }
6200}
6201
6202#[inline]
6203#[target_feature(enable = "lsx")]
6204#[rustc_legacy_const_generics(2)]
6205#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6206pub fn lsx_vsrarni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6207    static_assert_uimm_bits!(IMM7, 7);
6208    unsafe { transmute(__lsx_vsrarni_d_q(transmute(a), transmute(b), IMM7)) }
6209}
6210
6211#[inline]
6212#[target_feature(enable = "lsx")]
6213#[rustc_legacy_const_generics(2)]
6214#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6215pub fn lsx_vssrani_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6216    static_assert_uimm_bits!(IMM4, 4);
6217    unsafe { transmute(__lsx_vssrani_b_h(transmute(a), transmute(b), IMM4)) }
6218}
6219
6220#[inline]
6221#[target_feature(enable = "lsx")]
6222#[rustc_legacy_const_generics(2)]
6223#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6224pub fn lsx_vssrani_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6225    static_assert_uimm_bits!(IMM5, 5);
6226    unsafe { transmute(__lsx_vssrani_h_w(transmute(a), transmute(b), IMM5)) }
6227}
6228
6229#[inline]
6230#[target_feature(enable = "lsx")]
6231#[rustc_legacy_const_generics(2)]
6232#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6233pub fn lsx_vssrani_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6234    static_assert_uimm_bits!(IMM6, 6);
6235    unsafe { transmute(__lsx_vssrani_w_d(transmute(a), transmute(b), IMM6)) }
6236}
6237
6238#[inline]
6239#[target_feature(enable = "lsx")]
6240#[rustc_legacy_const_generics(2)]
6241#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6242pub fn lsx_vssrani_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6243    static_assert_uimm_bits!(IMM7, 7);
6244    unsafe { transmute(__lsx_vssrani_d_q(transmute(a), transmute(b), IMM7)) }
6245}
6246
6247#[inline]
6248#[target_feature(enable = "lsx")]
6249#[rustc_legacy_const_generics(2)]
6250#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6251pub fn lsx_vssrani_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6252    static_assert_uimm_bits!(IMM4, 4);
6253    unsafe { transmute(__lsx_vssrani_bu_h(transmute(a), transmute(b), IMM4)) }
6254}
6255
6256#[inline]
6257#[target_feature(enable = "lsx")]
6258#[rustc_legacy_const_generics(2)]
6259#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6260pub fn lsx_vssrani_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6261    static_assert_uimm_bits!(IMM5, 5);
6262    unsafe { transmute(__lsx_vssrani_hu_w(transmute(a), transmute(b), IMM5)) }
6263}
6264
6265#[inline]
6266#[target_feature(enable = "lsx")]
6267#[rustc_legacy_const_generics(2)]
6268#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6269pub fn lsx_vssrani_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6270    static_assert_uimm_bits!(IMM6, 6);
6271    unsafe { transmute(__lsx_vssrani_wu_d(transmute(a), transmute(b), IMM6)) }
6272}
6273
6274#[inline]
6275#[target_feature(enable = "lsx")]
6276#[rustc_legacy_const_generics(2)]
6277#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6278pub fn lsx_vssrani_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6279    static_assert_uimm_bits!(IMM7, 7);
6280    unsafe { transmute(__lsx_vssrani_du_q(transmute(a), transmute(b), IMM7)) }
6281}
6282
6283#[inline]
6284#[target_feature(enable = "lsx")]
6285#[rustc_legacy_const_generics(2)]
6286#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6287pub fn lsx_vssrarni_b_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6288    static_assert_uimm_bits!(IMM4, 4);
6289    unsafe { transmute(__lsx_vssrarni_b_h(transmute(a), transmute(b), IMM4)) }
6290}
6291
6292#[inline]
6293#[target_feature(enable = "lsx")]
6294#[rustc_legacy_const_generics(2)]
6295#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6296pub fn lsx_vssrarni_h_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6297    static_assert_uimm_bits!(IMM5, 5);
6298    unsafe { transmute(__lsx_vssrarni_h_w(transmute(a), transmute(b), IMM5)) }
6299}
6300
6301#[inline]
6302#[target_feature(enable = "lsx")]
6303#[rustc_legacy_const_generics(2)]
6304#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6305pub fn lsx_vssrarni_w_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6306    static_assert_uimm_bits!(IMM6, 6);
6307    unsafe { transmute(__lsx_vssrarni_w_d(transmute(a), transmute(b), IMM6)) }
6308}
6309
6310#[inline]
6311#[target_feature(enable = "lsx")]
6312#[rustc_legacy_const_generics(2)]
6313#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6314pub fn lsx_vssrarni_d_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6315    static_assert_uimm_bits!(IMM7, 7);
6316    unsafe { transmute(__lsx_vssrarni_d_q(transmute(a), transmute(b), IMM7)) }
6317}
6318
6319#[inline]
6320#[target_feature(enable = "lsx")]
6321#[rustc_legacy_const_generics(2)]
6322#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6323pub fn lsx_vssrarni_bu_h<const IMM4: u32>(a: m128i, b: m128i) -> m128i {
6324    static_assert_uimm_bits!(IMM4, 4);
6325    unsafe { transmute(__lsx_vssrarni_bu_h(transmute(a), transmute(b), IMM4)) }
6326}
6327
6328#[inline]
6329#[target_feature(enable = "lsx")]
6330#[rustc_legacy_const_generics(2)]
6331#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6332pub fn lsx_vssrarni_hu_w<const IMM5: u32>(a: m128i, b: m128i) -> m128i {
6333    static_assert_uimm_bits!(IMM5, 5);
6334    unsafe { transmute(__lsx_vssrarni_hu_w(transmute(a), transmute(b), IMM5)) }
6335}
6336
6337#[inline]
6338#[target_feature(enable = "lsx")]
6339#[rustc_legacy_const_generics(2)]
6340#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6341pub fn lsx_vssrarni_wu_d<const IMM6: u32>(a: m128i, b: m128i) -> m128i {
6342    static_assert_uimm_bits!(IMM6, 6);
6343    unsafe { transmute(__lsx_vssrarni_wu_d(transmute(a), transmute(b), IMM6)) }
6344}
6345
6346#[inline]
6347#[target_feature(enable = "lsx")]
6348#[rustc_legacy_const_generics(2)]
6349#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6350pub fn lsx_vssrarni_du_q<const IMM7: u32>(a: m128i, b: m128i) -> m128i {
6351    static_assert_uimm_bits!(IMM7, 7);
6352    unsafe { transmute(__lsx_vssrarni_du_q(transmute(a), transmute(b), IMM7)) }
6353}
6354
6355#[inline]
6356#[target_feature(enable = "lsx")]
6357#[rustc_legacy_const_generics(2)]
6358#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6359pub fn lsx_vpermi_w<const IMM8: u32>(a: m128i, b: m128i) -> m128i {
6360    static_assert_uimm_bits!(IMM8, 8);
6361    unsafe { transmute(__lsx_vpermi_w(transmute(a), transmute(b), IMM8)) }
6362}
6363
6364#[inline]
6365#[target_feature(enable = "lsx")]
6366#[rustc_legacy_const_generics(1)]
6367#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6368pub unsafe fn lsx_vld<const IMM_S12: i32>(mem_addr: *const i8) -> m128i {
6369    static_assert_simm_bits!(IMM_S12, 12);
6370    transmute(__lsx_vld(mem_addr, IMM_S12))
6371}
6372
6373#[inline]
6374#[target_feature(enable = "lsx")]
6375#[rustc_legacy_const_generics(2)]
6376#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6377pub unsafe fn lsx_vst<const IMM_S12: i32>(a: m128i, mem_addr: *mut i8) {
6378    static_assert_simm_bits!(IMM_S12, 12);
6379    transmute(__lsx_vst(transmute(a), mem_addr, IMM_S12))
6380}
6381
6382#[inline]
6383#[target_feature(enable = "lsx")]
6384#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6385pub fn lsx_vssrlrn_b_h(a: m128i, b: m128i) -> m128i {
6386    unsafe { transmute(__lsx_vssrlrn_b_h(transmute(a), transmute(b))) }
6387}
6388
6389#[inline]
6390#[target_feature(enable = "lsx")]
6391#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6392pub fn lsx_vssrlrn_h_w(a: m128i, b: m128i) -> m128i {
6393    unsafe { transmute(__lsx_vssrlrn_h_w(transmute(a), transmute(b))) }
6394}
6395
6396#[inline]
6397#[target_feature(enable = "lsx")]
6398#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6399pub fn lsx_vssrlrn_w_d(a: m128i, b: m128i) -> m128i {
6400    unsafe { transmute(__lsx_vssrlrn_w_d(transmute(a), transmute(b))) }
6401}
6402
6403#[inline]
6404#[target_feature(enable = "lsx")]
6405#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6406pub fn lsx_vssrln_b_h(a: m128i, b: m128i) -> m128i {
6407    unsafe { transmute(__lsx_vssrln_b_h(transmute(a), transmute(b))) }
6408}
6409
6410#[inline]
6411#[target_feature(enable = "lsx")]
6412#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6413pub fn lsx_vssrln_h_w(a: m128i, b: m128i) -> m128i {
6414    unsafe { transmute(__lsx_vssrln_h_w(transmute(a), transmute(b))) }
6415}
6416
6417#[inline]
6418#[target_feature(enable = "lsx")]
6419#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6420pub fn lsx_vssrln_w_d(a: m128i, b: m128i) -> m128i {
6421    unsafe { transmute(__lsx_vssrln_w_d(transmute(a), transmute(b))) }
6422}
6423
6424#[inline]
6425#[target_feature(enable = "lsx")]
6426#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6427pub fn lsx_vorn_v(a: m128i, b: m128i) -> m128i {
6428    unsafe { transmute(__lsx_vorn_v(transmute(a), transmute(b))) }
6429}
6430
6431#[inline]
6432#[target_feature(enable = "lsx")]
6433#[rustc_legacy_const_generics(0)]
6434#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6435pub fn lsx_vldi<const IMM_S13: i32>() -> m128i {
6436    static_assert_simm_bits!(IMM_S13, 13);
6437    unsafe { transmute(__lsx_vldi(IMM_S13)) }
6438}
6439
6440#[inline]
6441#[target_feature(enable = "lsx")]
6442#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6443pub fn lsx_vshuf_b(a: m128i, b: m128i, c: m128i) -> m128i {
6444    unsafe { transmute(__lsx_vshuf_b(transmute(a), transmute(b), transmute(c))) }
6445}
6446
6447#[inline]
6448#[target_feature(enable = "lsx")]
6449#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6450pub unsafe fn lsx_vldx(mem_addr: *const i8, b: i64) -> m128i {
6451    transmute(__lsx_vldx(mem_addr, transmute(b)))
6452}
6453
6454#[inline]
6455#[target_feature(enable = "lsx")]
6456#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6457pub unsafe fn lsx_vstx(a: m128i, mem_addr: *mut i8, b: i64) {
6458    transmute(__lsx_vstx(transmute(a), mem_addr, transmute(b)))
6459}
6460
6461#[inline]
6462#[target_feature(enable = "lsx")]
6463#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6464pub fn lsx_vextl_qu_du(a: m128i) -> m128i {
6465    unsafe { transmute(__lsx_vextl_qu_du(transmute(a))) }
6466}
6467
6468#[inline]
6469#[target_feature(enable = "lsx")]
6470#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6471pub fn lsx_bnz_b(a: m128i) -> i32 {
6472    unsafe { transmute(__lsx_bnz_b(transmute(a))) }
6473}
6474
6475#[inline]
6476#[target_feature(enable = "lsx")]
6477#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6478pub fn lsx_bnz_d(a: m128i) -> i32 {
6479    unsafe { transmute(__lsx_bnz_d(transmute(a))) }
6480}
6481
6482#[inline]
6483#[target_feature(enable = "lsx")]
6484#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6485pub fn lsx_bnz_h(a: m128i) -> i32 {
6486    unsafe { transmute(__lsx_bnz_h(transmute(a))) }
6487}
6488
6489#[inline]
6490#[target_feature(enable = "lsx")]
6491#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6492pub fn lsx_bnz_v(a: m128i) -> i32 {
6493    unsafe { transmute(__lsx_bnz_v(transmute(a))) }
6494}
6495
6496#[inline]
6497#[target_feature(enable = "lsx")]
6498#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6499pub fn lsx_bnz_w(a: m128i) -> i32 {
6500    unsafe { transmute(__lsx_bnz_w(transmute(a))) }
6501}
6502
6503#[inline]
6504#[target_feature(enable = "lsx")]
6505#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6506pub fn lsx_bz_b(a: m128i) -> i32 {
6507    unsafe { transmute(__lsx_bz_b(transmute(a))) }
6508}
6509
6510#[inline]
6511#[target_feature(enable = "lsx")]
6512#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6513pub fn lsx_bz_d(a: m128i) -> i32 {
6514    unsafe { transmute(__lsx_bz_d(transmute(a))) }
6515}
6516
6517#[inline]
6518#[target_feature(enable = "lsx")]
6519#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6520pub fn lsx_bz_h(a: m128i) -> i32 {
6521    unsafe { transmute(__lsx_bz_h(transmute(a))) }
6522}
6523
6524#[inline]
6525#[target_feature(enable = "lsx")]
6526#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6527pub fn lsx_bz_v(a: m128i) -> i32 {
6528    unsafe { transmute(__lsx_bz_v(transmute(a))) }
6529}
6530
6531#[inline]
6532#[target_feature(enable = "lsx")]
6533#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6534pub fn lsx_bz_w(a: m128i) -> i32 {
6535    unsafe { transmute(__lsx_bz_w(transmute(a))) }
6536}
6537
6538#[inline]
6539#[target_feature(enable = "lsx")]
6540#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6541pub fn lsx_vfcmp_caf_d(a: m128d, b: m128d) -> m128i {
6542    unsafe { transmute(__lsx_vfcmp_caf_d(transmute(a), transmute(b))) }
6543}
6544
6545#[inline]
6546#[target_feature(enable = "lsx")]
6547#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6548pub fn lsx_vfcmp_caf_s(a: m128, b: m128) -> m128i {
6549    unsafe { transmute(__lsx_vfcmp_caf_s(transmute(a), transmute(b))) }
6550}
6551
6552#[inline]
6553#[target_feature(enable = "lsx")]
6554#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6555pub fn lsx_vfcmp_ceq_d(a: m128d, b: m128d) -> m128i {
6556    unsafe { transmute(__lsx_vfcmp_ceq_d(transmute(a), transmute(b))) }
6557}
6558
6559#[inline]
6560#[target_feature(enable = "lsx")]
6561#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6562pub fn lsx_vfcmp_ceq_s(a: m128, b: m128) -> m128i {
6563    unsafe { transmute(__lsx_vfcmp_ceq_s(transmute(a), transmute(b))) }
6564}
6565
6566#[inline]
6567#[target_feature(enable = "lsx")]
6568#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6569pub fn lsx_vfcmp_cle_d(a: m128d, b: m128d) -> m128i {
6570    unsafe { transmute(__lsx_vfcmp_cle_d(transmute(a), transmute(b))) }
6571}
6572
6573#[inline]
6574#[target_feature(enable = "lsx")]
6575#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6576pub fn lsx_vfcmp_cle_s(a: m128, b: m128) -> m128i {
6577    unsafe { transmute(__lsx_vfcmp_cle_s(transmute(a), transmute(b))) }
6578}
6579
6580#[inline]
6581#[target_feature(enable = "lsx")]
6582#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6583pub fn lsx_vfcmp_clt_d(a: m128d, b: m128d) -> m128i {
6584    unsafe { transmute(__lsx_vfcmp_clt_d(transmute(a), transmute(b))) }
6585}
6586
6587#[inline]
6588#[target_feature(enable = "lsx")]
6589#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6590pub fn lsx_vfcmp_clt_s(a: m128, b: m128) -> m128i {
6591    unsafe { transmute(__lsx_vfcmp_clt_s(transmute(a), transmute(b))) }
6592}
6593
6594#[inline]
6595#[target_feature(enable = "lsx")]
6596#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6597pub fn lsx_vfcmp_cne_d(a: m128d, b: m128d) -> m128i {
6598    unsafe { transmute(__lsx_vfcmp_cne_d(transmute(a), transmute(b))) }
6599}
6600
6601#[inline]
6602#[target_feature(enable = "lsx")]
6603#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6604pub fn lsx_vfcmp_cne_s(a: m128, b: m128) -> m128i {
6605    unsafe { transmute(__lsx_vfcmp_cne_s(transmute(a), transmute(b))) }
6606}
6607
6608#[inline]
6609#[target_feature(enable = "lsx")]
6610#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6611pub fn lsx_vfcmp_cor_d(a: m128d, b: m128d) -> m128i {
6612    unsafe { transmute(__lsx_vfcmp_cor_d(transmute(a), transmute(b))) }
6613}
6614
6615#[inline]
6616#[target_feature(enable = "lsx")]
6617#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6618pub fn lsx_vfcmp_cor_s(a: m128, b: m128) -> m128i {
6619    unsafe { transmute(__lsx_vfcmp_cor_s(transmute(a), transmute(b))) }
6620}
6621
6622#[inline]
6623#[target_feature(enable = "lsx")]
6624#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6625pub fn lsx_vfcmp_cueq_d(a: m128d, b: m128d) -> m128i {
6626    unsafe { transmute(__lsx_vfcmp_cueq_d(transmute(a), transmute(b))) }
6627}
6628
6629#[inline]
6630#[target_feature(enable = "lsx")]
6631#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6632pub fn lsx_vfcmp_cueq_s(a: m128, b: m128) -> m128i {
6633    unsafe { transmute(__lsx_vfcmp_cueq_s(transmute(a), transmute(b))) }
6634}
6635
6636#[inline]
6637#[target_feature(enable = "lsx")]
6638#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6639pub fn lsx_vfcmp_cule_d(a: m128d, b: m128d) -> m128i {
6640    unsafe { transmute(__lsx_vfcmp_cule_d(transmute(a), transmute(b))) }
6641}
6642
6643#[inline]
6644#[target_feature(enable = "lsx")]
6645#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6646pub fn lsx_vfcmp_cule_s(a: m128, b: m128) -> m128i {
6647    unsafe { transmute(__lsx_vfcmp_cule_s(transmute(a), transmute(b))) }
6648}
6649
6650#[inline]
6651#[target_feature(enable = "lsx")]
6652#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6653pub fn lsx_vfcmp_cult_d(a: m128d, b: m128d) -> m128i {
6654    unsafe { transmute(__lsx_vfcmp_cult_d(transmute(a), transmute(b))) }
6655}
6656
6657#[inline]
6658#[target_feature(enable = "lsx")]
6659#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6660pub fn lsx_vfcmp_cult_s(a: m128, b: m128) -> m128i {
6661    unsafe { transmute(__lsx_vfcmp_cult_s(transmute(a), transmute(b))) }
6662}
6663
6664#[inline]
6665#[target_feature(enable = "lsx")]
6666#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6667pub fn lsx_vfcmp_cun_d(a: m128d, b: m128d) -> m128i {
6668    unsafe { transmute(__lsx_vfcmp_cun_d(transmute(a), transmute(b))) }
6669}
6670
6671#[inline]
6672#[target_feature(enable = "lsx")]
6673#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6674pub fn lsx_vfcmp_cune_d(a: m128d, b: m128d) -> m128i {
6675    unsafe { transmute(__lsx_vfcmp_cune_d(transmute(a), transmute(b))) }
6676}
6677
6678#[inline]
6679#[target_feature(enable = "lsx")]
6680#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6681pub fn lsx_vfcmp_cune_s(a: m128, b: m128) -> m128i {
6682    unsafe { transmute(__lsx_vfcmp_cune_s(transmute(a), transmute(b))) }
6683}
6684
6685#[inline]
6686#[target_feature(enable = "lsx")]
6687#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6688pub fn lsx_vfcmp_cun_s(a: m128, b: m128) -> m128i {
6689    unsafe { transmute(__lsx_vfcmp_cun_s(transmute(a), transmute(b))) }
6690}
6691
6692#[inline]
6693#[target_feature(enable = "lsx")]
6694#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6695pub fn lsx_vfcmp_saf_d(a: m128d, b: m128d) -> m128i {
6696    unsafe { transmute(__lsx_vfcmp_saf_d(transmute(a), transmute(b))) }
6697}
6698
6699#[inline]
6700#[target_feature(enable = "lsx")]
6701#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6702pub fn lsx_vfcmp_saf_s(a: m128, b: m128) -> m128i {
6703    unsafe { transmute(__lsx_vfcmp_saf_s(transmute(a), transmute(b))) }
6704}
6705
6706#[inline]
6707#[target_feature(enable = "lsx")]
6708#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6709pub fn lsx_vfcmp_seq_d(a: m128d, b: m128d) -> m128i {
6710    unsafe { transmute(__lsx_vfcmp_seq_d(transmute(a), transmute(b))) }
6711}
6712
6713#[inline]
6714#[target_feature(enable = "lsx")]
6715#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6716pub fn lsx_vfcmp_seq_s(a: m128, b: m128) -> m128i {
6717    unsafe { transmute(__lsx_vfcmp_seq_s(transmute(a), transmute(b))) }
6718}
6719
6720#[inline]
6721#[target_feature(enable = "lsx")]
6722#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6723pub fn lsx_vfcmp_sle_d(a: m128d, b: m128d) -> m128i {
6724    unsafe { transmute(__lsx_vfcmp_sle_d(transmute(a), transmute(b))) }
6725}
6726
6727#[inline]
6728#[target_feature(enable = "lsx")]
6729#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6730pub fn lsx_vfcmp_sle_s(a: m128, b: m128) -> m128i {
6731    unsafe { transmute(__lsx_vfcmp_sle_s(transmute(a), transmute(b))) }
6732}
6733
6734#[inline]
6735#[target_feature(enable = "lsx")]
6736#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6737pub fn lsx_vfcmp_slt_d(a: m128d, b: m128d) -> m128i {
6738    unsafe { transmute(__lsx_vfcmp_slt_d(transmute(a), transmute(b))) }
6739}
6740
6741#[inline]
6742#[target_feature(enable = "lsx")]
6743#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6744pub fn lsx_vfcmp_slt_s(a: m128, b: m128) -> m128i {
6745    unsafe { transmute(__lsx_vfcmp_slt_s(transmute(a), transmute(b))) }
6746}
6747
6748#[inline]
6749#[target_feature(enable = "lsx")]
6750#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6751pub fn lsx_vfcmp_sne_d(a: m128d, b: m128d) -> m128i {
6752    unsafe { transmute(__lsx_vfcmp_sne_d(transmute(a), transmute(b))) }
6753}
6754
6755#[inline]
6756#[target_feature(enable = "lsx")]
6757#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6758pub fn lsx_vfcmp_sne_s(a: m128, b: m128) -> m128i {
6759    unsafe { transmute(__lsx_vfcmp_sne_s(transmute(a), transmute(b))) }
6760}
6761
6762#[inline]
6763#[target_feature(enable = "lsx")]
6764#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6765pub fn lsx_vfcmp_sor_d(a: m128d, b: m128d) -> m128i {
6766    unsafe { transmute(__lsx_vfcmp_sor_d(transmute(a), transmute(b))) }
6767}
6768
6769#[inline]
6770#[target_feature(enable = "lsx")]
6771#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6772pub fn lsx_vfcmp_sor_s(a: m128, b: m128) -> m128i {
6773    unsafe { transmute(__lsx_vfcmp_sor_s(transmute(a), transmute(b))) }
6774}
6775
6776#[inline]
6777#[target_feature(enable = "lsx")]
6778#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6779pub fn lsx_vfcmp_sueq_d(a: m128d, b: m128d) -> m128i {
6780    unsafe { transmute(__lsx_vfcmp_sueq_d(transmute(a), transmute(b))) }
6781}
6782
6783#[inline]
6784#[target_feature(enable = "lsx")]
6785#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6786pub fn lsx_vfcmp_sueq_s(a: m128, b: m128) -> m128i {
6787    unsafe { transmute(__lsx_vfcmp_sueq_s(transmute(a), transmute(b))) }
6788}
6789
6790#[inline]
6791#[target_feature(enable = "lsx")]
6792#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6793pub fn lsx_vfcmp_sule_d(a: m128d, b: m128d) -> m128i {
6794    unsafe { transmute(__lsx_vfcmp_sule_d(transmute(a), transmute(b))) }
6795}
6796
6797#[inline]
6798#[target_feature(enable = "lsx")]
6799#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6800pub fn lsx_vfcmp_sule_s(a: m128, b: m128) -> m128i {
6801    unsafe { transmute(__lsx_vfcmp_sule_s(transmute(a), transmute(b))) }
6802}
6803
6804#[inline]
6805#[target_feature(enable = "lsx")]
6806#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6807pub fn lsx_vfcmp_sult_d(a: m128d, b: m128d) -> m128i {
6808    unsafe { transmute(__lsx_vfcmp_sult_d(transmute(a), transmute(b))) }
6809}
6810
6811#[inline]
6812#[target_feature(enable = "lsx")]
6813#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6814pub fn lsx_vfcmp_sult_s(a: m128, b: m128) -> m128i {
6815    unsafe { transmute(__lsx_vfcmp_sult_s(transmute(a), transmute(b))) }
6816}
6817
6818#[inline]
6819#[target_feature(enable = "lsx")]
6820#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6821pub fn lsx_vfcmp_sun_d(a: m128d, b: m128d) -> m128i {
6822    unsafe { transmute(__lsx_vfcmp_sun_d(transmute(a), transmute(b))) }
6823}
6824
6825#[inline]
6826#[target_feature(enable = "lsx")]
6827#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6828pub fn lsx_vfcmp_sune_d(a: m128d, b: m128d) -> m128i {
6829    unsafe { transmute(__lsx_vfcmp_sune_d(transmute(a), transmute(b))) }
6830}
6831
6832#[inline]
6833#[target_feature(enable = "lsx")]
6834#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6835pub fn lsx_vfcmp_sune_s(a: m128, b: m128) -> m128i {
6836    unsafe { transmute(__lsx_vfcmp_sune_s(transmute(a), transmute(b))) }
6837}
6838
6839#[inline]
6840#[target_feature(enable = "lsx")]
6841#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6842pub fn lsx_vfcmp_sun_s(a: m128, b: m128) -> m128i {
6843    unsafe { transmute(__lsx_vfcmp_sun_s(transmute(a), transmute(b))) }
6844}
6845
6846#[inline]
6847#[target_feature(enable = "lsx")]
6848#[rustc_legacy_const_generics(0)]
6849#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6850pub fn lsx_vrepli_b<const IMM_S10: i32>() -> m128i {
6851    static_assert_simm_bits!(IMM_S10, 10);
6852    unsafe { transmute(__lsx_vrepli_b(IMM_S10)) }
6853}
6854
6855#[inline]
6856#[target_feature(enable = "lsx")]
6857#[rustc_legacy_const_generics(0)]
6858#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6859pub fn lsx_vrepli_d<const IMM_S10: i32>() -> m128i {
6860    static_assert_simm_bits!(IMM_S10, 10);
6861    unsafe { transmute(__lsx_vrepli_d(IMM_S10)) }
6862}
6863
6864#[inline]
6865#[target_feature(enable = "lsx")]
6866#[rustc_legacy_const_generics(0)]
6867#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6868pub fn lsx_vrepli_h<const IMM_S10: i32>() -> m128i {
6869    static_assert_simm_bits!(IMM_S10, 10);
6870    unsafe { transmute(__lsx_vrepli_h(IMM_S10)) }
6871}
6872
6873#[inline]
6874#[target_feature(enable = "lsx")]
6875#[rustc_legacy_const_generics(0)]
6876#[unstable(feature = "stdarch_loongarch", issue = "117427")]
6877pub fn lsx_vrepli_w<const IMM_S10: i32>() -> m128i {
6878    static_assert_simm_bits!(IMM_S10, 10);
6879    unsafe { transmute(__lsx_vrepli_w(IMM_S10)) }
6880}