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