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