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