[Flang] remove whole-archive option for AIX linker (#76039)
[llvm-project.git] / clang / lib / Headers / lsxintrin.h
bloba29bc7757ab5680e733561da9700716512885f71
1 /*===------------- lsxintrin.h - LoongArch LSX intrinsics ------------------===
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 *===-----------------------------------------------------------------------===
8 */
10 #ifndef _LOONGSON_SXINTRIN_H
11 #define _LOONGSON_SXINTRIN_H 1
13 #if defined(__loongarch_sx)
14 typedef signed char v16i8 __attribute__((vector_size(16), aligned(16)));
15 typedef signed char v16i8_b __attribute__((vector_size(16), aligned(1)));
16 typedef unsigned char v16u8 __attribute__((vector_size(16), aligned(16)));
17 typedef unsigned char v16u8_b __attribute__((vector_size(16), aligned(1)));
18 typedef short v8i16 __attribute__((vector_size(16), aligned(16)));
19 typedef short v8i16_h __attribute__((vector_size(16), aligned(2)));
20 typedef unsigned short v8u16 __attribute__((vector_size(16), aligned(16)));
21 typedef unsigned short v8u16_h __attribute__((vector_size(16), aligned(2)));
22 typedef int v4i32 __attribute__((vector_size(16), aligned(16)));
23 typedef int v4i32_w __attribute__((vector_size(16), aligned(4)));
24 typedef unsigned int v4u32 __attribute__((vector_size(16), aligned(16)));
25 typedef unsigned int v4u32_w __attribute__((vector_size(16), aligned(4)));
26 typedef long long v2i64 __attribute__((vector_size(16), aligned(16)));
27 typedef long long v2i64_d __attribute__((vector_size(16), aligned(8)));
28 typedef unsigned long long v2u64 __attribute__((vector_size(16), aligned(16)));
29 typedef unsigned long long v2u64_d __attribute__((vector_size(16), aligned(8)));
30 typedef float v4f32 __attribute__((vector_size(16), aligned(16)));
31 typedef float v4f32_w __attribute__((vector_size(16), aligned(4)));
32 typedef double v2f64 __attribute__((vector_size(16), aligned(16)));
33 typedef double v2f64_d __attribute__((vector_size(16), aligned(8)));
35 typedef long long __m128i __attribute__((__vector_size__(16), __may_alias__));
36 typedef float __m128 __attribute__((__vector_size__(16), __may_alias__));
37 typedef double __m128d __attribute__((__vector_size__(16), __may_alias__));
39 extern __inline
40 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
41 __lsx_vsll_b(__m128i _1, __m128i _2) {
42 return (__m128i)__builtin_lsx_vsll_b((v16i8)_1, (v16i8)_2);
45 extern __inline
46 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
47 __lsx_vsll_h(__m128i _1, __m128i _2) {
48 return (__m128i)__builtin_lsx_vsll_h((v8i16)_1, (v8i16)_2);
51 extern __inline
52 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
53 __lsx_vsll_w(__m128i _1, __m128i _2) {
54 return (__m128i)__builtin_lsx_vsll_w((v4i32)_1, (v4i32)_2);
57 extern __inline
58 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
59 __lsx_vsll_d(__m128i _1, __m128i _2) {
60 return (__m128i)__builtin_lsx_vsll_d((v2i64)_1, (v2i64)_2);
63 #define __lsx_vslli_b(/*__m128i*/ _1, /*ui3*/ _2) \
64 ((__m128i)__builtin_lsx_vslli_b((v16i8)(_1), (_2)))
66 #define __lsx_vslli_h(/*__m128i*/ _1, /*ui4*/ _2) \
67 ((__m128i)__builtin_lsx_vslli_h((v8i16)(_1), (_2)))
69 #define __lsx_vslli_w(/*__m128i*/ _1, /*ui5*/ _2) \
70 ((__m128i)__builtin_lsx_vslli_w((v4i32)(_1), (_2)))
72 #define __lsx_vslli_d(/*__m128i*/ _1, /*ui6*/ _2) \
73 ((__m128i)__builtin_lsx_vslli_d((v2i64)(_1), (_2)))
75 extern __inline
76 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
77 __lsx_vsra_b(__m128i _1, __m128i _2) {
78 return (__m128i)__builtin_lsx_vsra_b((v16i8)_1, (v16i8)_2);
81 extern __inline
82 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
83 __lsx_vsra_h(__m128i _1, __m128i _2) {
84 return (__m128i)__builtin_lsx_vsra_h((v8i16)_1, (v8i16)_2);
87 extern __inline
88 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
89 __lsx_vsra_w(__m128i _1, __m128i _2) {
90 return (__m128i)__builtin_lsx_vsra_w((v4i32)_1, (v4i32)_2);
93 extern __inline
94 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
95 __lsx_vsra_d(__m128i _1, __m128i _2) {
96 return (__m128i)__builtin_lsx_vsra_d((v2i64)_1, (v2i64)_2);
99 #define __lsx_vsrai_b(/*__m128i*/ _1, /*ui3*/ _2) \
100 ((__m128i)__builtin_lsx_vsrai_b((v16i8)(_1), (_2)))
102 #define __lsx_vsrai_h(/*__m128i*/ _1, /*ui4*/ _2) \
103 ((__m128i)__builtin_lsx_vsrai_h((v8i16)(_1), (_2)))
105 #define __lsx_vsrai_w(/*__m128i*/ _1, /*ui5*/ _2) \
106 ((__m128i)__builtin_lsx_vsrai_w((v4i32)(_1), (_2)))
108 #define __lsx_vsrai_d(/*__m128i*/ _1, /*ui6*/ _2) \
109 ((__m128i)__builtin_lsx_vsrai_d((v2i64)(_1), (_2)))
111 extern __inline
112 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
113 __lsx_vsrar_b(__m128i _1, __m128i _2) {
114 return (__m128i)__builtin_lsx_vsrar_b((v16i8)_1, (v16i8)_2);
117 extern __inline
118 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
119 __lsx_vsrar_h(__m128i _1, __m128i _2) {
120 return (__m128i)__builtin_lsx_vsrar_h((v8i16)_1, (v8i16)_2);
123 extern __inline
124 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
125 __lsx_vsrar_w(__m128i _1, __m128i _2) {
126 return (__m128i)__builtin_lsx_vsrar_w((v4i32)_1, (v4i32)_2);
129 extern __inline
130 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
131 __lsx_vsrar_d(__m128i _1, __m128i _2) {
132 return (__m128i)__builtin_lsx_vsrar_d((v2i64)_1, (v2i64)_2);
135 #define __lsx_vsrari_b(/*__m128i*/ _1, /*ui3*/ _2) \
136 ((__m128i)__builtin_lsx_vsrari_b((v16i8)(_1), (_2)))
138 #define __lsx_vsrari_h(/*__m128i*/ _1, /*ui4*/ _2) \
139 ((__m128i)__builtin_lsx_vsrari_h((v8i16)(_1), (_2)))
141 #define __lsx_vsrari_w(/*__m128i*/ _1, /*ui5*/ _2) \
142 ((__m128i)__builtin_lsx_vsrari_w((v4i32)(_1), (_2)))
144 #define __lsx_vsrari_d(/*__m128i*/ _1, /*ui6*/ _2) \
145 ((__m128i)__builtin_lsx_vsrari_d((v2i64)(_1), (_2)))
147 extern __inline
148 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
149 __lsx_vsrl_b(__m128i _1, __m128i _2) {
150 return (__m128i)__builtin_lsx_vsrl_b((v16i8)_1, (v16i8)_2);
153 extern __inline
154 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
155 __lsx_vsrl_h(__m128i _1, __m128i _2) {
156 return (__m128i)__builtin_lsx_vsrl_h((v8i16)_1, (v8i16)_2);
159 extern __inline
160 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
161 __lsx_vsrl_w(__m128i _1, __m128i _2) {
162 return (__m128i)__builtin_lsx_vsrl_w((v4i32)_1, (v4i32)_2);
165 extern __inline
166 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
167 __lsx_vsrl_d(__m128i _1, __m128i _2) {
168 return (__m128i)__builtin_lsx_vsrl_d((v2i64)_1, (v2i64)_2);
171 #define __lsx_vsrli_b(/*__m128i*/ _1, /*ui3*/ _2) \
172 ((__m128i)__builtin_lsx_vsrli_b((v16i8)(_1), (_2)))
174 #define __lsx_vsrli_h(/*__m128i*/ _1, /*ui4*/ _2) \
175 ((__m128i)__builtin_lsx_vsrli_h((v8i16)(_1), (_2)))
177 #define __lsx_vsrli_w(/*__m128i*/ _1, /*ui5*/ _2) \
178 ((__m128i)__builtin_lsx_vsrli_w((v4i32)(_1), (_2)))
180 #define __lsx_vsrli_d(/*__m128i*/ _1, /*ui6*/ _2) \
181 ((__m128i)__builtin_lsx_vsrli_d((v2i64)(_1), (_2)))
183 extern __inline
184 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
185 __lsx_vsrlr_b(__m128i _1, __m128i _2) {
186 return (__m128i)__builtin_lsx_vsrlr_b((v16i8)_1, (v16i8)_2);
189 extern __inline
190 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
191 __lsx_vsrlr_h(__m128i _1, __m128i _2) {
192 return (__m128i)__builtin_lsx_vsrlr_h((v8i16)_1, (v8i16)_2);
195 extern __inline
196 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
197 __lsx_vsrlr_w(__m128i _1, __m128i _2) {
198 return (__m128i)__builtin_lsx_vsrlr_w((v4i32)_1, (v4i32)_2);
201 extern __inline
202 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
203 __lsx_vsrlr_d(__m128i _1, __m128i _2) {
204 return (__m128i)__builtin_lsx_vsrlr_d((v2i64)_1, (v2i64)_2);
207 #define __lsx_vsrlri_b(/*__m128i*/ _1, /*ui3*/ _2) \
208 ((__m128i)__builtin_lsx_vsrlri_b((v16i8)(_1), (_2)))
210 #define __lsx_vsrlri_h(/*__m128i*/ _1, /*ui4*/ _2) \
211 ((__m128i)__builtin_lsx_vsrlri_h((v8i16)(_1), (_2)))
213 #define __lsx_vsrlri_w(/*__m128i*/ _1, /*ui5*/ _2) \
214 ((__m128i)__builtin_lsx_vsrlri_w((v4i32)(_1), (_2)))
216 #define __lsx_vsrlri_d(/*__m128i*/ _1, /*ui6*/ _2) \
217 ((__m128i)__builtin_lsx_vsrlri_d((v2i64)(_1), (_2)))
219 extern __inline
220 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
221 __lsx_vbitclr_b(__m128i _1, __m128i _2) {
222 return (__m128i)__builtin_lsx_vbitclr_b((v16u8)_1, (v16u8)_2);
225 extern __inline
226 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
227 __lsx_vbitclr_h(__m128i _1, __m128i _2) {
228 return (__m128i)__builtin_lsx_vbitclr_h((v8u16)_1, (v8u16)_2);
231 extern __inline
232 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
233 __lsx_vbitclr_w(__m128i _1, __m128i _2) {
234 return (__m128i)__builtin_lsx_vbitclr_w((v4u32)_1, (v4u32)_2);
237 extern __inline
238 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
239 __lsx_vbitclr_d(__m128i _1, __m128i _2) {
240 return (__m128i)__builtin_lsx_vbitclr_d((v2u64)_1, (v2u64)_2);
243 #define __lsx_vbitclri_b(/*__m128i*/ _1, /*ui3*/ _2) \
244 ((__m128i)__builtin_lsx_vbitclri_b((v16u8)(_1), (_2)))
246 #define __lsx_vbitclri_h(/*__m128i*/ _1, /*ui4*/ _2) \
247 ((__m128i)__builtin_lsx_vbitclri_h((v8u16)(_1), (_2)))
249 #define __lsx_vbitclri_w(/*__m128i*/ _1, /*ui5*/ _2) \
250 ((__m128i)__builtin_lsx_vbitclri_w((v4u32)(_1), (_2)))
252 #define __lsx_vbitclri_d(/*__m128i*/ _1, /*ui6*/ _2) \
253 ((__m128i)__builtin_lsx_vbitclri_d((v2u64)(_1), (_2)))
255 extern __inline
256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
257 __lsx_vbitset_b(__m128i _1, __m128i _2) {
258 return (__m128i)__builtin_lsx_vbitset_b((v16u8)_1, (v16u8)_2);
261 extern __inline
262 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
263 __lsx_vbitset_h(__m128i _1, __m128i _2) {
264 return (__m128i)__builtin_lsx_vbitset_h((v8u16)_1, (v8u16)_2);
267 extern __inline
268 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
269 __lsx_vbitset_w(__m128i _1, __m128i _2) {
270 return (__m128i)__builtin_lsx_vbitset_w((v4u32)_1, (v4u32)_2);
273 extern __inline
274 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
275 __lsx_vbitset_d(__m128i _1, __m128i _2) {
276 return (__m128i)__builtin_lsx_vbitset_d((v2u64)_1, (v2u64)_2);
279 #define __lsx_vbitseti_b(/*__m128i*/ _1, /*ui3*/ _2) \
280 ((__m128i)__builtin_lsx_vbitseti_b((v16u8)(_1), (_2)))
282 #define __lsx_vbitseti_h(/*__m128i*/ _1, /*ui4*/ _2) \
283 ((__m128i)__builtin_lsx_vbitseti_h((v8u16)(_1), (_2)))
285 #define __lsx_vbitseti_w(/*__m128i*/ _1, /*ui5*/ _2) \
286 ((__m128i)__builtin_lsx_vbitseti_w((v4u32)(_1), (_2)))
288 #define __lsx_vbitseti_d(/*__m128i*/ _1, /*ui6*/ _2) \
289 ((__m128i)__builtin_lsx_vbitseti_d((v2u64)(_1), (_2)))
291 extern __inline
292 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
293 __lsx_vbitrev_b(__m128i _1, __m128i _2) {
294 return (__m128i)__builtin_lsx_vbitrev_b((v16u8)_1, (v16u8)_2);
297 extern __inline
298 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
299 __lsx_vbitrev_h(__m128i _1, __m128i _2) {
300 return (__m128i)__builtin_lsx_vbitrev_h((v8u16)_1, (v8u16)_2);
303 extern __inline
304 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
305 __lsx_vbitrev_w(__m128i _1, __m128i _2) {
306 return (__m128i)__builtin_lsx_vbitrev_w((v4u32)_1, (v4u32)_2);
309 extern __inline
310 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
311 __lsx_vbitrev_d(__m128i _1, __m128i _2) {
312 return (__m128i)__builtin_lsx_vbitrev_d((v2u64)_1, (v2u64)_2);
315 #define __lsx_vbitrevi_b(/*__m128i*/ _1, /*ui3*/ _2) \
316 ((__m128i)__builtin_lsx_vbitrevi_b((v16u8)(_1), (_2)))
318 #define __lsx_vbitrevi_h(/*__m128i*/ _1, /*ui4*/ _2) \
319 ((__m128i)__builtin_lsx_vbitrevi_h((v8u16)(_1), (_2)))
321 #define __lsx_vbitrevi_w(/*__m128i*/ _1, /*ui5*/ _2) \
322 ((__m128i)__builtin_lsx_vbitrevi_w((v4u32)(_1), (_2)))
324 #define __lsx_vbitrevi_d(/*__m128i*/ _1, /*ui6*/ _2) \
325 ((__m128i)__builtin_lsx_vbitrevi_d((v2u64)(_1), (_2)))
327 extern __inline
328 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
329 __lsx_vadd_b(__m128i _1, __m128i _2) {
330 return (__m128i)__builtin_lsx_vadd_b((v16i8)_1, (v16i8)_2);
333 extern __inline
334 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
335 __lsx_vadd_h(__m128i _1, __m128i _2) {
336 return (__m128i)__builtin_lsx_vadd_h((v8i16)_1, (v8i16)_2);
339 extern __inline
340 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
341 __lsx_vadd_w(__m128i _1, __m128i _2) {
342 return (__m128i)__builtin_lsx_vadd_w((v4i32)_1, (v4i32)_2);
345 extern __inline
346 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
347 __lsx_vadd_d(__m128i _1, __m128i _2) {
348 return (__m128i)__builtin_lsx_vadd_d((v2i64)_1, (v2i64)_2);
351 #define __lsx_vaddi_bu(/*__m128i*/ _1, /*ui5*/ _2) \
352 ((__m128i)__builtin_lsx_vaddi_bu((v16i8)(_1), (_2)))
354 #define __lsx_vaddi_hu(/*__m128i*/ _1, /*ui5*/ _2) \
355 ((__m128i)__builtin_lsx_vaddi_hu((v8i16)(_1), (_2)))
357 #define __lsx_vaddi_wu(/*__m128i*/ _1, /*ui5*/ _2) \
358 ((__m128i)__builtin_lsx_vaddi_wu((v4i32)(_1), (_2)))
360 #define __lsx_vaddi_du(/*__m128i*/ _1, /*ui5*/ _2) \
361 ((__m128i)__builtin_lsx_vaddi_du((v2i64)(_1), (_2)))
363 extern __inline
364 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
365 __lsx_vsub_b(__m128i _1, __m128i _2) {
366 return (__m128i)__builtin_lsx_vsub_b((v16i8)_1, (v16i8)_2);
369 extern __inline
370 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
371 __lsx_vsub_h(__m128i _1, __m128i _2) {
372 return (__m128i)__builtin_lsx_vsub_h((v8i16)_1, (v8i16)_2);
375 extern __inline
376 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
377 __lsx_vsub_w(__m128i _1, __m128i _2) {
378 return (__m128i)__builtin_lsx_vsub_w((v4i32)_1, (v4i32)_2);
381 extern __inline
382 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
383 __lsx_vsub_d(__m128i _1, __m128i _2) {
384 return (__m128i)__builtin_lsx_vsub_d((v2i64)_1, (v2i64)_2);
387 #define __lsx_vsubi_bu(/*__m128i*/ _1, /*ui5*/ _2) \
388 ((__m128i)__builtin_lsx_vsubi_bu((v16i8)(_1), (_2)))
390 #define __lsx_vsubi_hu(/*__m128i*/ _1, /*ui5*/ _2) \
391 ((__m128i)__builtin_lsx_vsubi_hu((v8i16)(_1), (_2)))
393 #define __lsx_vsubi_wu(/*__m128i*/ _1, /*ui5*/ _2) \
394 ((__m128i)__builtin_lsx_vsubi_wu((v4i32)(_1), (_2)))
396 #define __lsx_vsubi_du(/*__m128i*/ _1, /*ui5*/ _2) \
397 ((__m128i)__builtin_lsx_vsubi_du((v2i64)(_1), (_2)))
399 extern __inline
400 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
401 __lsx_vmax_b(__m128i _1, __m128i _2) {
402 return (__m128i)__builtin_lsx_vmax_b((v16i8)_1, (v16i8)_2);
405 extern __inline
406 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
407 __lsx_vmax_h(__m128i _1, __m128i _2) {
408 return (__m128i)__builtin_lsx_vmax_h((v8i16)_1, (v8i16)_2);
411 extern __inline
412 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
413 __lsx_vmax_w(__m128i _1, __m128i _2) {
414 return (__m128i)__builtin_lsx_vmax_w((v4i32)_1, (v4i32)_2);
417 extern __inline
418 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
419 __lsx_vmax_d(__m128i _1, __m128i _2) {
420 return (__m128i)__builtin_lsx_vmax_d((v2i64)_1, (v2i64)_2);
423 #define __lsx_vmaxi_b(/*__m128i*/ _1, /*si5*/ _2) \
424 ((__m128i)__builtin_lsx_vmaxi_b((v16i8)(_1), (_2)))
426 #define __lsx_vmaxi_h(/*__m128i*/ _1, /*si5*/ _2) \
427 ((__m128i)__builtin_lsx_vmaxi_h((v8i16)(_1), (_2)))
429 #define __lsx_vmaxi_w(/*__m128i*/ _1, /*si5*/ _2) \
430 ((__m128i)__builtin_lsx_vmaxi_w((v4i32)(_1), (_2)))
432 #define __lsx_vmaxi_d(/*__m128i*/ _1, /*si5*/ _2) \
433 ((__m128i)__builtin_lsx_vmaxi_d((v2i64)(_1), (_2)))
435 extern __inline
436 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
437 __lsx_vmax_bu(__m128i _1, __m128i _2) {
438 return (__m128i)__builtin_lsx_vmax_bu((v16u8)_1, (v16u8)_2);
441 extern __inline
442 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
443 __lsx_vmax_hu(__m128i _1, __m128i _2) {
444 return (__m128i)__builtin_lsx_vmax_hu((v8u16)_1, (v8u16)_2);
447 extern __inline
448 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
449 __lsx_vmax_wu(__m128i _1, __m128i _2) {
450 return (__m128i)__builtin_lsx_vmax_wu((v4u32)_1, (v4u32)_2);
453 extern __inline
454 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
455 __lsx_vmax_du(__m128i _1, __m128i _2) {
456 return (__m128i)__builtin_lsx_vmax_du((v2u64)_1, (v2u64)_2);
459 #define __lsx_vmaxi_bu(/*__m128i*/ _1, /*ui5*/ _2) \
460 ((__m128i)__builtin_lsx_vmaxi_bu((v16u8)(_1), (_2)))
462 #define __lsx_vmaxi_hu(/*__m128i*/ _1, /*ui5*/ _2) \
463 ((__m128i)__builtin_lsx_vmaxi_hu((v8u16)(_1), (_2)))
465 #define __lsx_vmaxi_wu(/*__m128i*/ _1, /*ui5*/ _2) \
466 ((__m128i)__builtin_lsx_vmaxi_wu((v4u32)(_1), (_2)))
468 #define __lsx_vmaxi_du(/*__m128i*/ _1, /*ui5*/ _2) \
469 ((__m128i)__builtin_lsx_vmaxi_du((v2u64)(_1), (_2)))
471 extern __inline
472 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
473 __lsx_vmin_b(__m128i _1, __m128i _2) {
474 return (__m128i)__builtin_lsx_vmin_b((v16i8)_1, (v16i8)_2);
477 extern __inline
478 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
479 __lsx_vmin_h(__m128i _1, __m128i _2) {
480 return (__m128i)__builtin_lsx_vmin_h((v8i16)_1, (v8i16)_2);
483 extern __inline
484 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
485 __lsx_vmin_w(__m128i _1, __m128i _2) {
486 return (__m128i)__builtin_lsx_vmin_w((v4i32)_1, (v4i32)_2);
489 extern __inline
490 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
491 __lsx_vmin_d(__m128i _1, __m128i _2) {
492 return (__m128i)__builtin_lsx_vmin_d((v2i64)_1, (v2i64)_2);
495 #define __lsx_vmini_b(/*__m128i*/ _1, /*si5*/ _2) \
496 ((__m128i)__builtin_lsx_vmini_b((v16i8)(_1), (_2)))
498 #define __lsx_vmini_h(/*__m128i*/ _1, /*si5*/ _2) \
499 ((__m128i)__builtin_lsx_vmini_h((v8i16)(_1), (_2)))
501 #define __lsx_vmini_w(/*__m128i*/ _1, /*si5*/ _2) \
502 ((__m128i)__builtin_lsx_vmini_w((v4i32)(_1), (_2)))
504 #define __lsx_vmini_d(/*__m128i*/ _1, /*si5*/ _2) \
505 ((__m128i)__builtin_lsx_vmini_d((v2i64)(_1), (_2)))
507 extern __inline
508 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
509 __lsx_vmin_bu(__m128i _1, __m128i _2) {
510 return (__m128i)__builtin_lsx_vmin_bu((v16u8)_1, (v16u8)_2);
513 extern __inline
514 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
515 __lsx_vmin_hu(__m128i _1, __m128i _2) {
516 return (__m128i)__builtin_lsx_vmin_hu((v8u16)_1, (v8u16)_2);
519 extern __inline
520 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
521 __lsx_vmin_wu(__m128i _1, __m128i _2) {
522 return (__m128i)__builtin_lsx_vmin_wu((v4u32)_1, (v4u32)_2);
525 extern __inline
526 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
527 __lsx_vmin_du(__m128i _1, __m128i _2) {
528 return (__m128i)__builtin_lsx_vmin_du((v2u64)_1, (v2u64)_2);
531 #define __lsx_vmini_bu(/*__m128i*/ _1, /*ui5*/ _2) \
532 ((__m128i)__builtin_lsx_vmini_bu((v16u8)(_1), (_2)))
534 #define __lsx_vmini_hu(/*__m128i*/ _1, /*ui5*/ _2) \
535 ((__m128i)__builtin_lsx_vmini_hu((v8u16)(_1), (_2)))
537 #define __lsx_vmini_wu(/*__m128i*/ _1, /*ui5*/ _2) \
538 ((__m128i)__builtin_lsx_vmini_wu((v4u32)(_1), (_2)))
540 #define __lsx_vmini_du(/*__m128i*/ _1, /*ui5*/ _2) \
541 ((__m128i)__builtin_lsx_vmini_du((v2u64)(_1), (_2)))
543 extern __inline
544 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
545 __lsx_vseq_b(__m128i _1, __m128i _2) {
546 return (__m128i)__builtin_lsx_vseq_b((v16i8)_1, (v16i8)_2);
549 extern __inline
550 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
551 __lsx_vseq_h(__m128i _1, __m128i _2) {
552 return (__m128i)__builtin_lsx_vseq_h((v8i16)_1, (v8i16)_2);
555 extern __inline
556 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
557 __lsx_vseq_w(__m128i _1, __m128i _2) {
558 return (__m128i)__builtin_lsx_vseq_w((v4i32)_1, (v4i32)_2);
561 extern __inline
562 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
563 __lsx_vseq_d(__m128i _1, __m128i _2) {
564 return (__m128i)__builtin_lsx_vseq_d((v2i64)_1, (v2i64)_2);
567 #define __lsx_vseqi_b(/*__m128i*/ _1, /*si5*/ _2) \
568 ((__m128i)__builtin_lsx_vseqi_b((v16i8)(_1), (_2)))
570 #define __lsx_vseqi_h(/*__m128i*/ _1, /*si5*/ _2) \
571 ((__m128i)__builtin_lsx_vseqi_h((v8i16)(_1), (_2)))
573 #define __lsx_vseqi_w(/*__m128i*/ _1, /*si5*/ _2) \
574 ((__m128i)__builtin_lsx_vseqi_w((v4i32)(_1), (_2)))
576 #define __lsx_vseqi_d(/*__m128i*/ _1, /*si5*/ _2) \
577 ((__m128i)__builtin_lsx_vseqi_d((v2i64)(_1), (_2)))
579 #define __lsx_vslti_b(/*__m128i*/ _1, /*si5*/ _2) \
580 ((__m128i)__builtin_lsx_vslti_b((v16i8)(_1), (_2)))
582 extern __inline
583 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
584 __lsx_vslt_b(__m128i _1, __m128i _2) {
585 return (__m128i)__builtin_lsx_vslt_b((v16i8)_1, (v16i8)_2);
588 extern __inline
589 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
590 __lsx_vslt_h(__m128i _1, __m128i _2) {
591 return (__m128i)__builtin_lsx_vslt_h((v8i16)_1, (v8i16)_2);
594 extern __inline
595 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
596 __lsx_vslt_w(__m128i _1, __m128i _2) {
597 return (__m128i)__builtin_lsx_vslt_w((v4i32)_1, (v4i32)_2);
600 extern __inline
601 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
602 __lsx_vslt_d(__m128i _1, __m128i _2) {
603 return (__m128i)__builtin_lsx_vslt_d((v2i64)_1, (v2i64)_2);
606 #define __lsx_vslti_h(/*__m128i*/ _1, /*si5*/ _2) \
607 ((__m128i)__builtin_lsx_vslti_h((v8i16)(_1), (_2)))
609 #define __lsx_vslti_w(/*__m128i*/ _1, /*si5*/ _2) \
610 ((__m128i)__builtin_lsx_vslti_w((v4i32)(_1), (_2)))
612 #define __lsx_vslti_d(/*__m128i*/ _1, /*si5*/ _2) \
613 ((__m128i)__builtin_lsx_vslti_d((v2i64)(_1), (_2)))
615 extern __inline
616 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
617 __lsx_vslt_bu(__m128i _1, __m128i _2) {
618 return (__m128i)__builtin_lsx_vslt_bu((v16u8)_1, (v16u8)_2);
621 extern __inline
622 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
623 __lsx_vslt_hu(__m128i _1, __m128i _2) {
624 return (__m128i)__builtin_lsx_vslt_hu((v8u16)_1, (v8u16)_2);
627 extern __inline
628 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
629 __lsx_vslt_wu(__m128i _1, __m128i _2) {
630 return (__m128i)__builtin_lsx_vslt_wu((v4u32)_1, (v4u32)_2);
633 extern __inline
634 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
635 __lsx_vslt_du(__m128i _1, __m128i _2) {
636 return (__m128i)__builtin_lsx_vslt_du((v2u64)_1, (v2u64)_2);
639 #define __lsx_vslti_bu(/*__m128i*/ _1, /*ui5*/ _2) \
640 ((__m128i)__builtin_lsx_vslti_bu((v16u8)(_1), (_2)))
642 #define __lsx_vslti_hu(/*__m128i*/ _1, /*ui5*/ _2) \
643 ((__m128i)__builtin_lsx_vslti_hu((v8u16)(_1), (_2)))
645 #define __lsx_vslti_wu(/*__m128i*/ _1, /*ui5*/ _2) \
646 ((__m128i)__builtin_lsx_vslti_wu((v4u32)(_1), (_2)))
648 #define __lsx_vslti_du(/*__m128i*/ _1, /*ui5*/ _2) \
649 ((__m128i)__builtin_lsx_vslti_du((v2u64)(_1), (_2)))
651 extern __inline
652 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
653 __lsx_vsle_b(__m128i _1, __m128i _2) {
654 return (__m128i)__builtin_lsx_vsle_b((v16i8)_1, (v16i8)_2);
657 extern __inline
658 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
659 __lsx_vsle_h(__m128i _1, __m128i _2) {
660 return (__m128i)__builtin_lsx_vsle_h((v8i16)_1, (v8i16)_2);
663 extern __inline
664 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
665 __lsx_vsle_w(__m128i _1, __m128i _2) {
666 return (__m128i)__builtin_lsx_vsle_w((v4i32)_1, (v4i32)_2);
669 extern __inline
670 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
671 __lsx_vsle_d(__m128i _1, __m128i _2) {
672 return (__m128i)__builtin_lsx_vsle_d((v2i64)_1, (v2i64)_2);
675 #define __lsx_vslei_b(/*__m128i*/ _1, /*si5*/ _2) \
676 ((__m128i)__builtin_lsx_vslei_b((v16i8)(_1), (_2)))
678 #define __lsx_vslei_h(/*__m128i*/ _1, /*si5*/ _2) \
679 ((__m128i)__builtin_lsx_vslei_h((v8i16)(_1), (_2)))
681 #define __lsx_vslei_w(/*__m128i*/ _1, /*si5*/ _2) \
682 ((__m128i)__builtin_lsx_vslei_w((v4i32)(_1), (_2)))
684 #define __lsx_vslei_d(/*__m128i*/ _1, /*si5*/ _2) \
685 ((__m128i)__builtin_lsx_vslei_d((v2i64)(_1), (_2)))
687 extern __inline
688 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
689 __lsx_vsle_bu(__m128i _1, __m128i _2) {
690 return (__m128i)__builtin_lsx_vsle_bu((v16u8)_1, (v16u8)_2);
693 extern __inline
694 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
695 __lsx_vsle_hu(__m128i _1, __m128i _2) {
696 return (__m128i)__builtin_lsx_vsle_hu((v8u16)_1, (v8u16)_2);
699 extern __inline
700 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
701 __lsx_vsle_wu(__m128i _1, __m128i _2) {
702 return (__m128i)__builtin_lsx_vsle_wu((v4u32)_1, (v4u32)_2);
705 extern __inline
706 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
707 __lsx_vsle_du(__m128i _1, __m128i _2) {
708 return (__m128i)__builtin_lsx_vsle_du((v2u64)_1, (v2u64)_2);
711 #define __lsx_vslei_bu(/*__m128i*/ _1, /*ui5*/ _2) \
712 ((__m128i)__builtin_lsx_vslei_bu((v16u8)(_1), (_2)))
714 #define __lsx_vslei_hu(/*__m128i*/ _1, /*ui5*/ _2) \
715 ((__m128i)__builtin_lsx_vslei_hu((v8u16)(_1), (_2)))
717 #define __lsx_vslei_wu(/*__m128i*/ _1, /*ui5*/ _2) \
718 ((__m128i)__builtin_lsx_vslei_wu((v4u32)(_1), (_2)))
720 #define __lsx_vslei_du(/*__m128i*/ _1, /*ui5*/ _2) \
721 ((__m128i)__builtin_lsx_vslei_du((v2u64)(_1), (_2)))
723 #define __lsx_vsat_b(/*__m128i*/ _1, /*ui3*/ _2) \
724 ((__m128i)__builtin_lsx_vsat_b((v16i8)(_1), (_2)))
726 #define __lsx_vsat_h(/*__m128i*/ _1, /*ui4*/ _2) \
727 ((__m128i)__builtin_lsx_vsat_h((v8i16)(_1), (_2)))
729 #define __lsx_vsat_w(/*__m128i*/ _1, /*ui5*/ _2) \
730 ((__m128i)__builtin_lsx_vsat_w((v4i32)(_1), (_2)))
732 #define __lsx_vsat_d(/*__m128i*/ _1, /*ui6*/ _2) \
733 ((__m128i)__builtin_lsx_vsat_d((v2i64)(_1), (_2)))
735 #define __lsx_vsat_bu(/*__m128i*/ _1, /*ui3*/ _2) \
736 ((__m128i)__builtin_lsx_vsat_bu((v16u8)(_1), (_2)))
738 #define __lsx_vsat_hu(/*__m128i*/ _1, /*ui4*/ _2) \
739 ((__m128i)__builtin_lsx_vsat_hu((v8u16)(_1), (_2)))
741 #define __lsx_vsat_wu(/*__m128i*/ _1, /*ui5*/ _2) \
742 ((__m128i)__builtin_lsx_vsat_wu((v4u32)(_1), (_2)))
744 #define __lsx_vsat_du(/*__m128i*/ _1, /*ui6*/ _2) \
745 ((__m128i)__builtin_lsx_vsat_du((v2u64)(_1), (_2)))
747 extern __inline
748 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
749 __lsx_vadda_b(__m128i _1, __m128i _2) {
750 return (__m128i)__builtin_lsx_vadda_b((v16i8)_1, (v16i8)_2);
753 extern __inline
754 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
755 __lsx_vadda_h(__m128i _1, __m128i _2) {
756 return (__m128i)__builtin_lsx_vadda_h((v8i16)_1, (v8i16)_2);
759 extern __inline
760 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
761 __lsx_vadda_w(__m128i _1, __m128i _2) {
762 return (__m128i)__builtin_lsx_vadda_w((v4i32)_1, (v4i32)_2);
765 extern __inline
766 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
767 __lsx_vadda_d(__m128i _1, __m128i _2) {
768 return (__m128i)__builtin_lsx_vadda_d((v2i64)_1, (v2i64)_2);
771 extern __inline
772 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
773 __lsx_vsadd_b(__m128i _1, __m128i _2) {
774 return (__m128i)__builtin_lsx_vsadd_b((v16i8)_1, (v16i8)_2);
777 extern __inline
778 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
779 __lsx_vsadd_h(__m128i _1, __m128i _2) {
780 return (__m128i)__builtin_lsx_vsadd_h((v8i16)_1, (v8i16)_2);
783 extern __inline
784 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
785 __lsx_vsadd_w(__m128i _1, __m128i _2) {
786 return (__m128i)__builtin_lsx_vsadd_w((v4i32)_1, (v4i32)_2);
789 extern __inline
790 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
791 __lsx_vsadd_d(__m128i _1, __m128i _2) {
792 return (__m128i)__builtin_lsx_vsadd_d((v2i64)_1, (v2i64)_2);
795 extern __inline
796 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
797 __lsx_vsadd_bu(__m128i _1, __m128i _2) {
798 return (__m128i)__builtin_lsx_vsadd_bu((v16u8)_1, (v16u8)_2);
801 extern __inline
802 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
803 __lsx_vsadd_hu(__m128i _1, __m128i _2) {
804 return (__m128i)__builtin_lsx_vsadd_hu((v8u16)_1, (v8u16)_2);
807 extern __inline
808 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
809 __lsx_vsadd_wu(__m128i _1, __m128i _2) {
810 return (__m128i)__builtin_lsx_vsadd_wu((v4u32)_1, (v4u32)_2);
813 extern __inline
814 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
815 __lsx_vsadd_du(__m128i _1, __m128i _2) {
816 return (__m128i)__builtin_lsx_vsadd_du((v2u64)_1, (v2u64)_2);
819 extern __inline
820 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
821 __lsx_vavg_b(__m128i _1, __m128i _2) {
822 return (__m128i)__builtin_lsx_vavg_b((v16i8)_1, (v16i8)_2);
825 extern __inline
826 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
827 __lsx_vavg_h(__m128i _1, __m128i _2) {
828 return (__m128i)__builtin_lsx_vavg_h((v8i16)_1, (v8i16)_2);
831 extern __inline
832 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
833 __lsx_vavg_w(__m128i _1, __m128i _2) {
834 return (__m128i)__builtin_lsx_vavg_w((v4i32)_1, (v4i32)_2);
837 extern __inline
838 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
839 __lsx_vavg_d(__m128i _1, __m128i _2) {
840 return (__m128i)__builtin_lsx_vavg_d((v2i64)_1, (v2i64)_2);
843 extern __inline
844 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
845 __lsx_vavg_bu(__m128i _1, __m128i _2) {
846 return (__m128i)__builtin_lsx_vavg_bu((v16u8)_1, (v16u8)_2);
849 extern __inline
850 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
851 __lsx_vavg_hu(__m128i _1, __m128i _2) {
852 return (__m128i)__builtin_lsx_vavg_hu((v8u16)_1, (v8u16)_2);
855 extern __inline
856 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
857 __lsx_vavg_wu(__m128i _1, __m128i _2) {
858 return (__m128i)__builtin_lsx_vavg_wu((v4u32)_1, (v4u32)_2);
861 extern __inline
862 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
863 __lsx_vavg_du(__m128i _1, __m128i _2) {
864 return (__m128i)__builtin_lsx_vavg_du((v2u64)_1, (v2u64)_2);
867 extern __inline
868 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
869 __lsx_vavgr_b(__m128i _1, __m128i _2) {
870 return (__m128i)__builtin_lsx_vavgr_b((v16i8)_1, (v16i8)_2);
873 extern __inline
874 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
875 __lsx_vavgr_h(__m128i _1, __m128i _2) {
876 return (__m128i)__builtin_lsx_vavgr_h((v8i16)_1, (v8i16)_2);
879 extern __inline
880 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
881 __lsx_vavgr_w(__m128i _1, __m128i _2) {
882 return (__m128i)__builtin_lsx_vavgr_w((v4i32)_1, (v4i32)_2);
885 extern __inline
886 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
887 __lsx_vavgr_d(__m128i _1, __m128i _2) {
888 return (__m128i)__builtin_lsx_vavgr_d((v2i64)_1, (v2i64)_2);
891 extern __inline
892 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
893 __lsx_vavgr_bu(__m128i _1, __m128i _2) {
894 return (__m128i)__builtin_lsx_vavgr_bu((v16u8)_1, (v16u8)_2);
897 extern __inline
898 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
899 __lsx_vavgr_hu(__m128i _1, __m128i _2) {
900 return (__m128i)__builtin_lsx_vavgr_hu((v8u16)_1, (v8u16)_2);
903 extern __inline
904 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
905 __lsx_vavgr_wu(__m128i _1, __m128i _2) {
906 return (__m128i)__builtin_lsx_vavgr_wu((v4u32)_1, (v4u32)_2);
909 extern __inline
910 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
911 __lsx_vavgr_du(__m128i _1, __m128i _2) {
912 return (__m128i)__builtin_lsx_vavgr_du((v2u64)_1, (v2u64)_2);
915 extern __inline
916 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
917 __lsx_vssub_b(__m128i _1, __m128i _2) {
918 return (__m128i)__builtin_lsx_vssub_b((v16i8)_1, (v16i8)_2);
921 extern __inline
922 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
923 __lsx_vssub_h(__m128i _1, __m128i _2) {
924 return (__m128i)__builtin_lsx_vssub_h((v8i16)_1, (v8i16)_2);
927 extern __inline
928 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
929 __lsx_vssub_w(__m128i _1, __m128i _2) {
930 return (__m128i)__builtin_lsx_vssub_w((v4i32)_1, (v4i32)_2);
933 extern __inline
934 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
935 __lsx_vssub_d(__m128i _1, __m128i _2) {
936 return (__m128i)__builtin_lsx_vssub_d((v2i64)_1, (v2i64)_2);
939 extern __inline
940 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
941 __lsx_vssub_bu(__m128i _1, __m128i _2) {
942 return (__m128i)__builtin_lsx_vssub_bu((v16u8)_1, (v16u8)_2);
945 extern __inline
946 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
947 __lsx_vssub_hu(__m128i _1, __m128i _2) {
948 return (__m128i)__builtin_lsx_vssub_hu((v8u16)_1, (v8u16)_2);
951 extern __inline
952 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
953 __lsx_vssub_wu(__m128i _1, __m128i _2) {
954 return (__m128i)__builtin_lsx_vssub_wu((v4u32)_1, (v4u32)_2);
957 extern __inline
958 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
959 __lsx_vssub_du(__m128i _1, __m128i _2) {
960 return (__m128i)__builtin_lsx_vssub_du((v2u64)_1, (v2u64)_2);
963 extern __inline
964 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
965 __lsx_vabsd_b(__m128i _1, __m128i _2) {
966 return (__m128i)__builtin_lsx_vabsd_b((v16i8)_1, (v16i8)_2);
969 extern __inline
970 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
971 __lsx_vabsd_h(__m128i _1, __m128i _2) {
972 return (__m128i)__builtin_lsx_vabsd_h((v8i16)_1, (v8i16)_2);
975 extern __inline
976 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
977 __lsx_vabsd_w(__m128i _1, __m128i _2) {
978 return (__m128i)__builtin_lsx_vabsd_w((v4i32)_1, (v4i32)_2);
981 extern __inline
982 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
983 __lsx_vabsd_d(__m128i _1, __m128i _2) {
984 return (__m128i)__builtin_lsx_vabsd_d((v2i64)_1, (v2i64)_2);
987 extern __inline
988 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
989 __lsx_vabsd_bu(__m128i _1, __m128i _2) {
990 return (__m128i)__builtin_lsx_vabsd_bu((v16u8)_1, (v16u8)_2);
993 extern __inline
994 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
995 __lsx_vabsd_hu(__m128i _1, __m128i _2) {
996 return (__m128i)__builtin_lsx_vabsd_hu((v8u16)_1, (v8u16)_2);
999 extern __inline
1000 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1001 __lsx_vabsd_wu(__m128i _1, __m128i _2) {
1002 return (__m128i)__builtin_lsx_vabsd_wu((v4u32)_1, (v4u32)_2);
1005 extern __inline
1006 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1007 __lsx_vabsd_du(__m128i _1, __m128i _2) {
1008 return (__m128i)__builtin_lsx_vabsd_du((v2u64)_1, (v2u64)_2);
1011 extern __inline
1012 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1013 __lsx_vmul_b(__m128i _1, __m128i _2) {
1014 return (__m128i)__builtin_lsx_vmul_b((v16i8)_1, (v16i8)_2);
1017 extern __inline
1018 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1019 __lsx_vmul_h(__m128i _1, __m128i _2) {
1020 return (__m128i)__builtin_lsx_vmul_h((v8i16)_1, (v8i16)_2);
1023 extern __inline
1024 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1025 __lsx_vmul_w(__m128i _1, __m128i _2) {
1026 return (__m128i)__builtin_lsx_vmul_w((v4i32)_1, (v4i32)_2);
1029 extern __inline
1030 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1031 __lsx_vmul_d(__m128i _1, __m128i _2) {
1032 return (__m128i)__builtin_lsx_vmul_d((v2i64)_1, (v2i64)_2);
1035 extern __inline
1036 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1037 __lsx_vmadd_b(__m128i _1, __m128i _2, __m128i _3) {
1038 return (__m128i)__builtin_lsx_vmadd_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
1041 extern __inline
1042 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1043 __lsx_vmadd_h(__m128i _1, __m128i _2, __m128i _3) {
1044 return (__m128i)__builtin_lsx_vmadd_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
1047 extern __inline
1048 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1049 __lsx_vmadd_w(__m128i _1, __m128i _2, __m128i _3) {
1050 return (__m128i)__builtin_lsx_vmadd_w((v4i32)_1, (v4i32)_2, (v4i32)_3);
1053 extern __inline
1054 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1055 __lsx_vmadd_d(__m128i _1, __m128i _2, __m128i _3) {
1056 return (__m128i)__builtin_lsx_vmadd_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
1059 extern __inline
1060 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1061 __lsx_vmsub_b(__m128i _1, __m128i _2, __m128i _3) {
1062 return (__m128i)__builtin_lsx_vmsub_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
1065 extern __inline
1066 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1067 __lsx_vmsub_h(__m128i _1, __m128i _2, __m128i _3) {
1068 return (__m128i)__builtin_lsx_vmsub_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
1071 extern __inline
1072 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1073 __lsx_vmsub_w(__m128i _1, __m128i _2, __m128i _3) {
1074 return (__m128i)__builtin_lsx_vmsub_w((v4i32)_1, (v4i32)_2, (v4i32)_3);
1077 extern __inline
1078 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1079 __lsx_vmsub_d(__m128i _1, __m128i _2, __m128i _3) {
1080 return (__m128i)__builtin_lsx_vmsub_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
1083 extern __inline
1084 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1085 __lsx_vdiv_b(__m128i _1, __m128i _2) {
1086 return (__m128i)__builtin_lsx_vdiv_b((v16i8)_1, (v16i8)_2);
1089 extern __inline
1090 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1091 __lsx_vdiv_h(__m128i _1, __m128i _2) {
1092 return (__m128i)__builtin_lsx_vdiv_h((v8i16)_1, (v8i16)_2);
1095 extern __inline
1096 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1097 __lsx_vdiv_w(__m128i _1, __m128i _2) {
1098 return (__m128i)__builtin_lsx_vdiv_w((v4i32)_1, (v4i32)_2);
1101 extern __inline
1102 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1103 __lsx_vdiv_d(__m128i _1, __m128i _2) {
1104 return (__m128i)__builtin_lsx_vdiv_d((v2i64)_1, (v2i64)_2);
1107 extern __inline
1108 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1109 __lsx_vdiv_bu(__m128i _1, __m128i _2) {
1110 return (__m128i)__builtin_lsx_vdiv_bu((v16u8)_1, (v16u8)_2);
1113 extern __inline
1114 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1115 __lsx_vdiv_hu(__m128i _1, __m128i _2) {
1116 return (__m128i)__builtin_lsx_vdiv_hu((v8u16)_1, (v8u16)_2);
1119 extern __inline
1120 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1121 __lsx_vdiv_wu(__m128i _1, __m128i _2) {
1122 return (__m128i)__builtin_lsx_vdiv_wu((v4u32)_1, (v4u32)_2);
1125 extern __inline
1126 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1127 __lsx_vdiv_du(__m128i _1, __m128i _2) {
1128 return (__m128i)__builtin_lsx_vdiv_du((v2u64)_1, (v2u64)_2);
1131 extern __inline
1132 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1133 __lsx_vhaddw_h_b(__m128i _1, __m128i _2) {
1134 return (__m128i)__builtin_lsx_vhaddw_h_b((v16i8)_1, (v16i8)_2);
1137 extern __inline
1138 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1139 __lsx_vhaddw_w_h(__m128i _1, __m128i _2) {
1140 return (__m128i)__builtin_lsx_vhaddw_w_h((v8i16)_1, (v8i16)_2);
1143 extern __inline
1144 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1145 __lsx_vhaddw_d_w(__m128i _1, __m128i _2) {
1146 return (__m128i)__builtin_lsx_vhaddw_d_w((v4i32)_1, (v4i32)_2);
1149 extern __inline
1150 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1151 __lsx_vhaddw_hu_bu(__m128i _1, __m128i _2) {
1152 return (__m128i)__builtin_lsx_vhaddw_hu_bu((v16u8)_1, (v16u8)_2);
1155 extern __inline
1156 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1157 __lsx_vhaddw_wu_hu(__m128i _1, __m128i _2) {
1158 return (__m128i)__builtin_lsx_vhaddw_wu_hu((v8u16)_1, (v8u16)_2);
1161 extern __inline
1162 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1163 __lsx_vhaddw_du_wu(__m128i _1, __m128i _2) {
1164 return (__m128i)__builtin_lsx_vhaddw_du_wu((v4u32)_1, (v4u32)_2);
1167 extern __inline
1168 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1169 __lsx_vhsubw_h_b(__m128i _1, __m128i _2) {
1170 return (__m128i)__builtin_lsx_vhsubw_h_b((v16i8)_1, (v16i8)_2);
1173 extern __inline
1174 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1175 __lsx_vhsubw_w_h(__m128i _1, __m128i _2) {
1176 return (__m128i)__builtin_lsx_vhsubw_w_h((v8i16)_1, (v8i16)_2);
1179 extern __inline
1180 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1181 __lsx_vhsubw_d_w(__m128i _1, __m128i _2) {
1182 return (__m128i)__builtin_lsx_vhsubw_d_w((v4i32)_1, (v4i32)_2);
1185 extern __inline
1186 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1187 __lsx_vhsubw_hu_bu(__m128i _1, __m128i _2) {
1188 return (__m128i)__builtin_lsx_vhsubw_hu_bu((v16u8)_1, (v16u8)_2);
1191 extern __inline
1192 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1193 __lsx_vhsubw_wu_hu(__m128i _1, __m128i _2) {
1194 return (__m128i)__builtin_lsx_vhsubw_wu_hu((v8u16)_1, (v8u16)_2);
1197 extern __inline
1198 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1199 __lsx_vhsubw_du_wu(__m128i _1, __m128i _2) {
1200 return (__m128i)__builtin_lsx_vhsubw_du_wu((v4u32)_1, (v4u32)_2);
1203 extern __inline
1204 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1205 __lsx_vmod_b(__m128i _1, __m128i _2) {
1206 return (__m128i)__builtin_lsx_vmod_b((v16i8)_1, (v16i8)_2);
1209 extern __inline
1210 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1211 __lsx_vmod_h(__m128i _1, __m128i _2) {
1212 return (__m128i)__builtin_lsx_vmod_h((v8i16)_1, (v8i16)_2);
1215 extern __inline
1216 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1217 __lsx_vmod_w(__m128i _1, __m128i _2) {
1218 return (__m128i)__builtin_lsx_vmod_w((v4i32)_1, (v4i32)_2);
1221 extern __inline
1222 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1223 __lsx_vmod_d(__m128i _1, __m128i _2) {
1224 return (__m128i)__builtin_lsx_vmod_d((v2i64)_1, (v2i64)_2);
1227 extern __inline
1228 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1229 __lsx_vmod_bu(__m128i _1, __m128i _2) {
1230 return (__m128i)__builtin_lsx_vmod_bu((v16u8)_1, (v16u8)_2);
1233 extern __inline
1234 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1235 __lsx_vmod_hu(__m128i _1, __m128i _2) {
1236 return (__m128i)__builtin_lsx_vmod_hu((v8u16)_1, (v8u16)_2);
1239 extern __inline
1240 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1241 __lsx_vmod_wu(__m128i _1, __m128i _2) {
1242 return (__m128i)__builtin_lsx_vmod_wu((v4u32)_1, (v4u32)_2);
1245 extern __inline
1246 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1247 __lsx_vmod_du(__m128i _1, __m128i _2) {
1248 return (__m128i)__builtin_lsx_vmod_du((v2u64)_1, (v2u64)_2);
1251 extern __inline
1252 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1253 __lsx_vreplve_b(__m128i _1, int _2) {
1254 return (__m128i)__builtin_lsx_vreplve_b((v16i8)_1, (int)_2);
1257 extern __inline
1258 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1259 __lsx_vreplve_h(__m128i _1, int _2) {
1260 return (__m128i)__builtin_lsx_vreplve_h((v8i16)_1, (int)_2);
1263 extern __inline
1264 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1265 __lsx_vreplve_w(__m128i _1, int _2) {
1266 return (__m128i)__builtin_lsx_vreplve_w((v4i32)_1, (int)_2);
1269 extern __inline
1270 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1271 __lsx_vreplve_d(__m128i _1, int _2) {
1272 return (__m128i)__builtin_lsx_vreplve_d((v2i64)_1, (int)_2);
1275 #define __lsx_vreplvei_b(/*__m128i*/ _1, /*ui4*/ _2) \
1276 ((__m128i)__builtin_lsx_vreplvei_b((v16i8)(_1), (_2)))
1278 #define __lsx_vreplvei_h(/*__m128i*/ _1, /*ui3*/ _2) \
1279 ((__m128i)__builtin_lsx_vreplvei_h((v8i16)(_1), (_2)))
1281 #define __lsx_vreplvei_w(/*__m128i*/ _1, /*ui2*/ _2) \
1282 ((__m128i)__builtin_lsx_vreplvei_w((v4i32)(_1), (_2)))
1284 #define __lsx_vreplvei_d(/*__m128i*/ _1, /*ui1*/ _2) \
1285 ((__m128i)__builtin_lsx_vreplvei_d((v2i64)(_1), (_2)))
1287 extern __inline
1288 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1289 __lsx_vpickev_b(__m128i _1, __m128i _2) {
1290 return (__m128i)__builtin_lsx_vpickev_b((v16i8)_1, (v16i8)_2);
1293 extern __inline
1294 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1295 __lsx_vpickev_h(__m128i _1, __m128i _2) {
1296 return (__m128i)__builtin_lsx_vpickev_h((v8i16)_1, (v8i16)_2);
1299 extern __inline
1300 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1301 __lsx_vpickev_w(__m128i _1, __m128i _2) {
1302 return (__m128i)__builtin_lsx_vpickev_w((v4i32)_1, (v4i32)_2);
1305 extern __inline
1306 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1307 __lsx_vpickev_d(__m128i _1, __m128i _2) {
1308 return (__m128i)__builtin_lsx_vpickev_d((v2i64)_1, (v2i64)_2);
1311 extern __inline
1312 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1313 __lsx_vpickod_b(__m128i _1, __m128i _2) {
1314 return (__m128i)__builtin_lsx_vpickod_b((v16i8)_1, (v16i8)_2);
1317 extern __inline
1318 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1319 __lsx_vpickod_h(__m128i _1, __m128i _2) {
1320 return (__m128i)__builtin_lsx_vpickod_h((v8i16)_1, (v8i16)_2);
1323 extern __inline
1324 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1325 __lsx_vpickod_w(__m128i _1, __m128i _2) {
1326 return (__m128i)__builtin_lsx_vpickod_w((v4i32)_1, (v4i32)_2);
1329 extern __inline
1330 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1331 __lsx_vpickod_d(__m128i _1, __m128i _2) {
1332 return (__m128i)__builtin_lsx_vpickod_d((v2i64)_1, (v2i64)_2);
1335 extern __inline
1336 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1337 __lsx_vilvh_b(__m128i _1, __m128i _2) {
1338 return (__m128i)__builtin_lsx_vilvh_b((v16i8)_1, (v16i8)_2);
1341 extern __inline
1342 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1343 __lsx_vilvh_h(__m128i _1, __m128i _2) {
1344 return (__m128i)__builtin_lsx_vilvh_h((v8i16)_1, (v8i16)_2);
1347 extern __inline
1348 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1349 __lsx_vilvh_w(__m128i _1, __m128i _2) {
1350 return (__m128i)__builtin_lsx_vilvh_w((v4i32)_1, (v4i32)_2);
1353 extern __inline
1354 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1355 __lsx_vilvh_d(__m128i _1, __m128i _2) {
1356 return (__m128i)__builtin_lsx_vilvh_d((v2i64)_1, (v2i64)_2);
1359 extern __inline
1360 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1361 __lsx_vilvl_b(__m128i _1, __m128i _2) {
1362 return (__m128i)__builtin_lsx_vilvl_b((v16i8)_1, (v16i8)_2);
1365 extern __inline
1366 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1367 __lsx_vilvl_h(__m128i _1, __m128i _2) {
1368 return (__m128i)__builtin_lsx_vilvl_h((v8i16)_1, (v8i16)_2);
1371 extern __inline
1372 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1373 __lsx_vilvl_w(__m128i _1, __m128i _2) {
1374 return (__m128i)__builtin_lsx_vilvl_w((v4i32)_1, (v4i32)_2);
1377 extern __inline
1378 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1379 __lsx_vilvl_d(__m128i _1, __m128i _2) {
1380 return (__m128i)__builtin_lsx_vilvl_d((v2i64)_1, (v2i64)_2);
1383 extern __inline
1384 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1385 __lsx_vpackev_b(__m128i _1, __m128i _2) {
1386 return (__m128i)__builtin_lsx_vpackev_b((v16i8)_1, (v16i8)_2);
1389 extern __inline
1390 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1391 __lsx_vpackev_h(__m128i _1, __m128i _2) {
1392 return (__m128i)__builtin_lsx_vpackev_h((v8i16)_1, (v8i16)_2);
1395 extern __inline
1396 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1397 __lsx_vpackev_w(__m128i _1, __m128i _2) {
1398 return (__m128i)__builtin_lsx_vpackev_w((v4i32)_1, (v4i32)_2);
1401 extern __inline
1402 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1403 __lsx_vpackev_d(__m128i _1, __m128i _2) {
1404 return (__m128i)__builtin_lsx_vpackev_d((v2i64)_1, (v2i64)_2);
1407 extern __inline
1408 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1409 __lsx_vpackod_b(__m128i _1, __m128i _2) {
1410 return (__m128i)__builtin_lsx_vpackod_b((v16i8)_1, (v16i8)_2);
1413 extern __inline
1414 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1415 __lsx_vpackod_h(__m128i _1, __m128i _2) {
1416 return (__m128i)__builtin_lsx_vpackod_h((v8i16)_1, (v8i16)_2);
1419 extern __inline
1420 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1421 __lsx_vpackod_w(__m128i _1, __m128i _2) {
1422 return (__m128i)__builtin_lsx_vpackod_w((v4i32)_1, (v4i32)_2);
1425 extern __inline
1426 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1427 __lsx_vpackod_d(__m128i _1, __m128i _2) {
1428 return (__m128i)__builtin_lsx_vpackod_d((v2i64)_1, (v2i64)_2);
1431 extern __inline
1432 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1433 __lsx_vshuf_h(__m128i _1, __m128i _2, __m128i _3) {
1434 return (__m128i)__builtin_lsx_vshuf_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
1437 extern __inline
1438 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1439 __lsx_vshuf_w(__m128i _1, __m128i _2, __m128i _3) {
1440 return (__m128i)__builtin_lsx_vshuf_w((v4i32)_1, (v4i32)_2, (v4i32)_3);
1443 extern __inline
1444 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1445 __lsx_vshuf_d(__m128i _1, __m128i _2, __m128i _3) {
1446 return (__m128i)__builtin_lsx_vshuf_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
1449 extern __inline
1450 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1451 __lsx_vand_v(__m128i _1, __m128i _2) {
1452 return (__m128i)__builtin_lsx_vand_v((v16u8)_1, (v16u8)_2);
1455 #define __lsx_vandi_b(/*__m128i*/ _1, /*ui8*/ _2) \
1456 ((__m128i)__builtin_lsx_vandi_b((v16u8)(_1), (_2)))
1458 extern __inline
1459 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1460 __lsx_vor_v(__m128i _1, __m128i _2) {
1461 return (__m128i)__builtin_lsx_vor_v((v16u8)_1, (v16u8)_2);
1464 #define __lsx_vori_b(/*__m128i*/ _1, /*ui8*/ _2) \
1465 ((__m128i)__builtin_lsx_vori_b((v16u8)(_1), (_2)))
1467 extern __inline
1468 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1469 __lsx_vnor_v(__m128i _1, __m128i _2) {
1470 return (__m128i)__builtin_lsx_vnor_v((v16u8)_1, (v16u8)_2);
1473 #define __lsx_vnori_b(/*__m128i*/ _1, /*ui8*/ _2) \
1474 ((__m128i)__builtin_lsx_vnori_b((v16u8)(_1), (_2)))
1476 extern __inline
1477 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1478 __lsx_vxor_v(__m128i _1, __m128i _2) {
1479 return (__m128i)__builtin_lsx_vxor_v((v16u8)_1, (v16u8)_2);
1482 #define __lsx_vxori_b(/*__m128i*/ _1, /*ui8*/ _2) \
1483 ((__m128i)__builtin_lsx_vxori_b((v16u8)(_1), (_2)))
1485 extern __inline
1486 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1487 __lsx_vbitsel_v(__m128i _1, __m128i _2, __m128i _3) {
1488 return (__m128i)__builtin_lsx_vbitsel_v((v16u8)_1, (v16u8)_2, (v16u8)_3);
1491 #define __lsx_vbitseli_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
1492 ((__m128i)__builtin_lsx_vbitseli_b((v16u8)(_1), (v16u8)(_2), (_3)))
1494 #define __lsx_vshuf4i_b(/*__m128i*/ _1, /*ui8*/ _2) \
1495 ((__m128i)__builtin_lsx_vshuf4i_b((v16i8)(_1), (_2)))
1497 #define __lsx_vshuf4i_h(/*__m128i*/ _1, /*ui8*/ _2) \
1498 ((__m128i)__builtin_lsx_vshuf4i_h((v8i16)(_1), (_2)))
1500 #define __lsx_vshuf4i_w(/*__m128i*/ _1, /*ui8*/ _2) \
1501 ((__m128i)__builtin_lsx_vshuf4i_w((v4i32)(_1), (_2)))
1503 extern __inline
1504 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1505 __lsx_vreplgr2vr_b(int _1) {
1506 return (__m128i)__builtin_lsx_vreplgr2vr_b((int)_1);
1509 extern __inline
1510 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1511 __lsx_vreplgr2vr_h(int _1) {
1512 return (__m128i)__builtin_lsx_vreplgr2vr_h((int)_1);
1515 extern __inline
1516 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1517 __lsx_vreplgr2vr_w(int _1) {
1518 return (__m128i)__builtin_lsx_vreplgr2vr_w((int)_1);
1521 extern __inline
1522 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1523 __lsx_vreplgr2vr_d(long int _1) {
1524 return (__m128i)__builtin_lsx_vreplgr2vr_d((long int)_1);
1527 extern __inline
1528 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1529 __lsx_vpcnt_b(__m128i _1) {
1530 return (__m128i)__builtin_lsx_vpcnt_b((v16i8)_1);
1533 extern __inline
1534 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1535 __lsx_vpcnt_h(__m128i _1) {
1536 return (__m128i)__builtin_lsx_vpcnt_h((v8i16)_1);
1539 extern __inline
1540 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1541 __lsx_vpcnt_w(__m128i _1) {
1542 return (__m128i)__builtin_lsx_vpcnt_w((v4i32)_1);
1545 extern __inline
1546 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1547 __lsx_vpcnt_d(__m128i _1) {
1548 return (__m128i)__builtin_lsx_vpcnt_d((v2i64)_1);
1551 extern __inline
1552 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1553 __lsx_vclo_b(__m128i _1) {
1554 return (__m128i)__builtin_lsx_vclo_b((v16i8)_1);
1557 extern __inline
1558 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1559 __lsx_vclo_h(__m128i _1) {
1560 return (__m128i)__builtin_lsx_vclo_h((v8i16)_1);
1563 extern __inline
1564 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1565 __lsx_vclo_w(__m128i _1) {
1566 return (__m128i)__builtin_lsx_vclo_w((v4i32)_1);
1569 extern __inline
1570 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1571 __lsx_vclo_d(__m128i _1) {
1572 return (__m128i)__builtin_lsx_vclo_d((v2i64)_1);
1575 extern __inline
1576 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1577 __lsx_vclz_b(__m128i _1) {
1578 return (__m128i)__builtin_lsx_vclz_b((v16i8)_1);
1581 extern __inline
1582 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1583 __lsx_vclz_h(__m128i _1) {
1584 return (__m128i)__builtin_lsx_vclz_h((v8i16)_1);
1587 extern __inline
1588 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1589 __lsx_vclz_w(__m128i _1) {
1590 return (__m128i)__builtin_lsx_vclz_w((v4i32)_1);
1593 extern __inline
1594 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1595 __lsx_vclz_d(__m128i _1) {
1596 return (__m128i)__builtin_lsx_vclz_d((v2i64)_1);
1599 #define __lsx_vpickve2gr_b(/*__m128i*/ _1, /*ui4*/ _2) \
1600 ((int)__builtin_lsx_vpickve2gr_b((v16i8)(_1), (_2)))
1602 #define __lsx_vpickve2gr_h(/*__m128i*/ _1, /*ui3*/ _2) \
1603 ((int)__builtin_lsx_vpickve2gr_h((v8i16)(_1), (_2)))
1605 #define __lsx_vpickve2gr_w(/*__m128i*/ _1, /*ui2*/ _2) \
1606 ((int)__builtin_lsx_vpickve2gr_w((v4i32)(_1), (_2)))
1608 #define __lsx_vpickve2gr_d(/*__m128i*/ _1, /*ui1*/ _2) \
1609 ((long int)__builtin_lsx_vpickve2gr_d((v2i64)(_1), (_2)))
1611 #define __lsx_vpickve2gr_bu(/*__m128i*/ _1, /*ui4*/ _2) \
1612 ((unsigned int)__builtin_lsx_vpickve2gr_bu((v16i8)(_1), (_2)))
1614 #define __lsx_vpickve2gr_hu(/*__m128i*/ _1, /*ui3*/ _2) \
1615 ((unsigned int)__builtin_lsx_vpickve2gr_hu((v8i16)(_1), (_2)))
1617 #define __lsx_vpickve2gr_wu(/*__m128i*/ _1, /*ui2*/ _2) \
1618 ((unsigned int)__builtin_lsx_vpickve2gr_wu((v4i32)(_1), (_2)))
1620 #define __lsx_vpickve2gr_du(/*__m128i*/ _1, /*ui1*/ _2) \
1621 ((unsigned long int)__builtin_lsx_vpickve2gr_du((v2i64)(_1), (_2)))
1623 #define __lsx_vinsgr2vr_b(/*__m128i*/ _1, /*int*/ _2, /*ui4*/ _3) \
1624 ((__m128i)__builtin_lsx_vinsgr2vr_b((v16i8)(_1), (int)(_2), (_3)))
1626 #define __lsx_vinsgr2vr_h(/*__m128i*/ _1, /*int*/ _2, /*ui3*/ _3) \
1627 ((__m128i)__builtin_lsx_vinsgr2vr_h((v8i16)(_1), (int)(_2), (_3)))
1629 #define __lsx_vinsgr2vr_w(/*__m128i*/ _1, /*int*/ _2, /*ui2*/ _3) \
1630 ((__m128i)__builtin_lsx_vinsgr2vr_w((v4i32)(_1), (int)(_2), (_3)))
1632 #define __lsx_vinsgr2vr_d(/*__m128i*/ _1, /*long int*/ _2, /*ui1*/ _3) \
1633 ((__m128i)__builtin_lsx_vinsgr2vr_d((v2i64)(_1), (long int)(_2), (_3)))
1635 extern __inline
1636 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1637 __lsx_vfadd_s(__m128 _1, __m128 _2) {
1638 return (__m128)__builtin_lsx_vfadd_s((v4f32)_1, (v4f32)_2);
1641 extern __inline
1642 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1643 __lsx_vfadd_d(__m128d _1, __m128d _2) {
1644 return (__m128d)__builtin_lsx_vfadd_d((v2f64)_1, (v2f64)_2);
1647 extern __inline
1648 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1649 __lsx_vfsub_s(__m128 _1, __m128 _2) {
1650 return (__m128)__builtin_lsx_vfsub_s((v4f32)_1, (v4f32)_2);
1653 extern __inline
1654 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1655 __lsx_vfsub_d(__m128d _1, __m128d _2) {
1656 return (__m128d)__builtin_lsx_vfsub_d((v2f64)_1, (v2f64)_2);
1659 extern __inline
1660 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1661 __lsx_vfmul_s(__m128 _1, __m128 _2) {
1662 return (__m128)__builtin_lsx_vfmul_s((v4f32)_1, (v4f32)_2);
1665 extern __inline
1666 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1667 __lsx_vfmul_d(__m128d _1, __m128d _2) {
1668 return (__m128d)__builtin_lsx_vfmul_d((v2f64)_1, (v2f64)_2);
1671 extern __inline
1672 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1673 __lsx_vfdiv_s(__m128 _1, __m128 _2) {
1674 return (__m128)__builtin_lsx_vfdiv_s((v4f32)_1, (v4f32)_2);
1677 extern __inline
1678 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1679 __lsx_vfdiv_d(__m128d _1, __m128d _2) {
1680 return (__m128d)__builtin_lsx_vfdiv_d((v2f64)_1, (v2f64)_2);
1683 extern __inline
1684 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1685 __lsx_vfcvt_h_s(__m128 _1, __m128 _2) {
1686 return (__m128i)__builtin_lsx_vfcvt_h_s((v4f32)_1, (v4f32)_2);
1689 extern __inline
1690 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1691 __lsx_vfcvt_s_d(__m128d _1, __m128d _2) {
1692 return (__m128)__builtin_lsx_vfcvt_s_d((v2f64)_1, (v2f64)_2);
1695 extern __inline
1696 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1697 __lsx_vfmin_s(__m128 _1, __m128 _2) {
1698 return (__m128)__builtin_lsx_vfmin_s((v4f32)_1, (v4f32)_2);
1701 extern __inline
1702 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1703 __lsx_vfmin_d(__m128d _1, __m128d _2) {
1704 return (__m128d)__builtin_lsx_vfmin_d((v2f64)_1, (v2f64)_2);
1707 extern __inline
1708 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1709 __lsx_vfmina_s(__m128 _1, __m128 _2) {
1710 return (__m128)__builtin_lsx_vfmina_s((v4f32)_1, (v4f32)_2);
1713 extern __inline
1714 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1715 __lsx_vfmina_d(__m128d _1, __m128d _2) {
1716 return (__m128d)__builtin_lsx_vfmina_d((v2f64)_1, (v2f64)_2);
1719 extern __inline
1720 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1721 __lsx_vfmax_s(__m128 _1, __m128 _2) {
1722 return (__m128)__builtin_lsx_vfmax_s((v4f32)_1, (v4f32)_2);
1725 extern __inline
1726 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1727 __lsx_vfmax_d(__m128d _1, __m128d _2) {
1728 return (__m128d)__builtin_lsx_vfmax_d((v2f64)_1, (v2f64)_2);
1731 extern __inline
1732 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1733 __lsx_vfmaxa_s(__m128 _1, __m128 _2) {
1734 return (__m128)__builtin_lsx_vfmaxa_s((v4f32)_1, (v4f32)_2);
1737 extern __inline
1738 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1739 __lsx_vfmaxa_d(__m128d _1, __m128d _2) {
1740 return (__m128d)__builtin_lsx_vfmaxa_d((v2f64)_1, (v2f64)_2);
1743 extern __inline
1744 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1745 __lsx_vfclass_s(__m128 _1) {
1746 return (__m128i)__builtin_lsx_vfclass_s((v4f32)_1);
1749 extern __inline
1750 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1751 __lsx_vfclass_d(__m128d _1) {
1752 return (__m128i)__builtin_lsx_vfclass_d((v2f64)_1);
1755 extern __inline
1756 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1757 __lsx_vfsqrt_s(__m128 _1) {
1758 return (__m128)__builtin_lsx_vfsqrt_s((v4f32)_1);
1761 extern __inline
1762 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1763 __lsx_vfsqrt_d(__m128d _1) {
1764 return (__m128d)__builtin_lsx_vfsqrt_d((v2f64)_1);
1767 extern __inline
1768 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1769 __lsx_vfrecip_s(__m128 _1) {
1770 return (__m128)__builtin_lsx_vfrecip_s((v4f32)_1);
1773 extern __inline
1774 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1775 __lsx_vfrecip_d(__m128d _1) {
1776 return (__m128d)__builtin_lsx_vfrecip_d((v2f64)_1);
1779 extern __inline
1780 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1781 __lsx_vfrint_s(__m128 _1) {
1782 return (__m128)__builtin_lsx_vfrint_s((v4f32)_1);
1785 extern __inline
1786 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1787 __lsx_vfrint_d(__m128d _1) {
1788 return (__m128d)__builtin_lsx_vfrint_d((v2f64)_1);
1791 extern __inline
1792 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1793 __lsx_vfrsqrt_s(__m128 _1) {
1794 return (__m128)__builtin_lsx_vfrsqrt_s((v4f32)_1);
1797 extern __inline
1798 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1799 __lsx_vfrsqrt_d(__m128d _1) {
1800 return (__m128d)__builtin_lsx_vfrsqrt_d((v2f64)_1);
1803 extern __inline
1804 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1805 __lsx_vflogb_s(__m128 _1) {
1806 return (__m128)__builtin_lsx_vflogb_s((v4f32)_1);
1809 extern __inline
1810 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1811 __lsx_vflogb_d(__m128d _1) {
1812 return (__m128d)__builtin_lsx_vflogb_d((v2f64)_1);
1815 extern __inline
1816 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1817 __lsx_vfcvth_s_h(__m128i _1) {
1818 return (__m128)__builtin_lsx_vfcvth_s_h((v8i16)_1);
1821 extern __inline
1822 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1823 __lsx_vfcvth_d_s(__m128 _1) {
1824 return (__m128d)__builtin_lsx_vfcvth_d_s((v4f32)_1);
1827 extern __inline
1828 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1829 __lsx_vfcvtl_s_h(__m128i _1) {
1830 return (__m128)__builtin_lsx_vfcvtl_s_h((v8i16)_1);
1833 extern __inline
1834 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1835 __lsx_vfcvtl_d_s(__m128 _1) {
1836 return (__m128d)__builtin_lsx_vfcvtl_d_s((v4f32)_1);
1839 extern __inline
1840 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1841 __lsx_vftint_w_s(__m128 _1) {
1842 return (__m128i)__builtin_lsx_vftint_w_s((v4f32)_1);
1845 extern __inline
1846 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1847 __lsx_vftint_l_d(__m128d _1) {
1848 return (__m128i)__builtin_lsx_vftint_l_d((v2f64)_1);
1851 extern __inline
1852 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1853 __lsx_vftint_wu_s(__m128 _1) {
1854 return (__m128i)__builtin_lsx_vftint_wu_s((v4f32)_1);
1857 extern __inline
1858 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1859 __lsx_vftint_lu_d(__m128d _1) {
1860 return (__m128i)__builtin_lsx_vftint_lu_d((v2f64)_1);
1863 extern __inline
1864 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1865 __lsx_vftintrz_w_s(__m128 _1) {
1866 return (__m128i)__builtin_lsx_vftintrz_w_s((v4f32)_1);
1869 extern __inline
1870 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1871 __lsx_vftintrz_l_d(__m128d _1) {
1872 return (__m128i)__builtin_lsx_vftintrz_l_d((v2f64)_1);
1875 extern __inline
1876 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1877 __lsx_vftintrz_wu_s(__m128 _1) {
1878 return (__m128i)__builtin_lsx_vftintrz_wu_s((v4f32)_1);
1881 extern __inline
1882 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1883 __lsx_vftintrz_lu_d(__m128d _1) {
1884 return (__m128i)__builtin_lsx_vftintrz_lu_d((v2f64)_1);
1887 extern __inline
1888 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1889 __lsx_vffint_s_w(__m128i _1) {
1890 return (__m128)__builtin_lsx_vffint_s_w((v4i32)_1);
1893 extern __inline
1894 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1895 __lsx_vffint_d_l(__m128i _1) {
1896 return (__m128d)__builtin_lsx_vffint_d_l((v2i64)_1);
1899 extern __inline
1900 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
1901 __lsx_vffint_s_wu(__m128i _1) {
1902 return (__m128)__builtin_lsx_vffint_s_wu((v4u32)_1);
1905 extern __inline
1906 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
1907 __lsx_vffint_d_lu(__m128i _1) {
1908 return (__m128d)__builtin_lsx_vffint_d_lu((v2u64)_1);
1911 extern __inline
1912 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1913 __lsx_vandn_v(__m128i _1, __m128i _2) {
1914 return (__m128i)__builtin_lsx_vandn_v((v16u8)_1, (v16u8)_2);
1917 extern __inline
1918 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1919 __lsx_vneg_b(__m128i _1) {
1920 return (__m128i)__builtin_lsx_vneg_b((v16i8)_1);
1923 extern __inline
1924 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1925 __lsx_vneg_h(__m128i _1) {
1926 return (__m128i)__builtin_lsx_vneg_h((v8i16)_1);
1929 extern __inline
1930 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1931 __lsx_vneg_w(__m128i _1) {
1932 return (__m128i)__builtin_lsx_vneg_w((v4i32)_1);
1935 extern __inline
1936 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1937 __lsx_vneg_d(__m128i _1) {
1938 return (__m128i)__builtin_lsx_vneg_d((v2i64)_1);
1941 extern __inline
1942 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1943 __lsx_vmuh_b(__m128i _1, __m128i _2) {
1944 return (__m128i)__builtin_lsx_vmuh_b((v16i8)_1, (v16i8)_2);
1947 extern __inline
1948 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1949 __lsx_vmuh_h(__m128i _1, __m128i _2) {
1950 return (__m128i)__builtin_lsx_vmuh_h((v8i16)_1, (v8i16)_2);
1953 extern __inline
1954 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1955 __lsx_vmuh_w(__m128i _1, __m128i _2) {
1956 return (__m128i)__builtin_lsx_vmuh_w((v4i32)_1, (v4i32)_2);
1959 extern __inline
1960 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1961 __lsx_vmuh_d(__m128i _1, __m128i _2) {
1962 return (__m128i)__builtin_lsx_vmuh_d((v2i64)_1, (v2i64)_2);
1965 extern __inline
1966 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1967 __lsx_vmuh_bu(__m128i _1, __m128i _2) {
1968 return (__m128i)__builtin_lsx_vmuh_bu((v16u8)_1, (v16u8)_2);
1971 extern __inline
1972 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1973 __lsx_vmuh_hu(__m128i _1, __m128i _2) {
1974 return (__m128i)__builtin_lsx_vmuh_hu((v8u16)_1, (v8u16)_2);
1977 extern __inline
1978 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1979 __lsx_vmuh_wu(__m128i _1, __m128i _2) {
1980 return (__m128i)__builtin_lsx_vmuh_wu((v4u32)_1, (v4u32)_2);
1983 extern __inline
1984 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
1985 __lsx_vmuh_du(__m128i _1, __m128i _2) {
1986 return (__m128i)__builtin_lsx_vmuh_du((v2u64)_1, (v2u64)_2);
1989 #define __lsx_vsllwil_h_b(/*__m128i*/ _1, /*ui3*/ _2) \
1990 ((__m128i)__builtin_lsx_vsllwil_h_b((v16i8)(_1), (_2)))
1992 #define __lsx_vsllwil_w_h(/*__m128i*/ _1, /*ui4*/ _2) \
1993 ((__m128i)__builtin_lsx_vsllwil_w_h((v8i16)(_1), (_2)))
1995 #define __lsx_vsllwil_d_w(/*__m128i*/ _1, /*ui5*/ _2) \
1996 ((__m128i)__builtin_lsx_vsllwil_d_w((v4i32)(_1), (_2)))
1998 #define __lsx_vsllwil_hu_bu(/*__m128i*/ _1, /*ui3*/ _2) \
1999 ((__m128i)__builtin_lsx_vsllwil_hu_bu((v16u8)(_1), (_2)))
2001 #define __lsx_vsllwil_wu_hu(/*__m128i*/ _1, /*ui4*/ _2) \
2002 ((__m128i)__builtin_lsx_vsllwil_wu_hu((v8u16)(_1), (_2)))
2004 #define __lsx_vsllwil_du_wu(/*__m128i*/ _1, /*ui5*/ _2) \
2005 ((__m128i)__builtin_lsx_vsllwil_du_wu((v4u32)(_1), (_2)))
2007 extern __inline
2008 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2009 __lsx_vsran_b_h(__m128i _1, __m128i _2) {
2010 return (__m128i)__builtin_lsx_vsran_b_h((v8i16)_1, (v8i16)_2);
2013 extern __inline
2014 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2015 __lsx_vsran_h_w(__m128i _1, __m128i _2) {
2016 return (__m128i)__builtin_lsx_vsran_h_w((v4i32)_1, (v4i32)_2);
2019 extern __inline
2020 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2021 __lsx_vsran_w_d(__m128i _1, __m128i _2) {
2022 return (__m128i)__builtin_lsx_vsran_w_d((v2i64)_1, (v2i64)_2);
2025 extern __inline
2026 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2027 __lsx_vssran_b_h(__m128i _1, __m128i _2) {
2028 return (__m128i)__builtin_lsx_vssran_b_h((v8i16)_1, (v8i16)_2);
2031 extern __inline
2032 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2033 __lsx_vssran_h_w(__m128i _1, __m128i _2) {
2034 return (__m128i)__builtin_lsx_vssran_h_w((v4i32)_1, (v4i32)_2);
2037 extern __inline
2038 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2039 __lsx_vssran_w_d(__m128i _1, __m128i _2) {
2040 return (__m128i)__builtin_lsx_vssran_w_d((v2i64)_1, (v2i64)_2);
2043 extern __inline
2044 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2045 __lsx_vssran_bu_h(__m128i _1, __m128i _2) {
2046 return (__m128i)__builtin_lsx_vssran_bu_h((v8u16)_1, (v8u16)_2);
2049 extern __inline
2050 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2051 __lsx_vssran_hu_w(__m128i _1, __m128i _2) {
2052 return (__m128i)__builtin_lsx_vssran_hu_w((v4u32)_1, (v4u32)_2);
2055 extern __inline
2056 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2057 __lsx_vssran_wu_d(__m128i _1, __m128i _2) {
2058 return (__m128i)__builtin_lsx_vssran_wu_d((v2u64)_1, (v2u64)_2);
2061 extern __inline
2062 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2063 __lsx_vsrarn_b_h(__m128i _1, __m128i _2) {
2064 return (__m128i)__builtin_lsx_vsrarn_b_h((v8i16)_1, (v8i16)_2);
2067 extern __inline
2068 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2069 __lsx_vsrarn_h_w(__m128i _1, __m128i _2) {
2070 return (__m128i)__builtin_lsx_vsrarn_h_w((v4i32)_1, (v4i32)_2);
2073 extern __inline
2074 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2075 __lsx_vsrarn_w_d(__m128i _1, __m128i _2) {
2076 return (__m128i)__builtin_lsx_vsrarn_w_d((v2i64)_1, (v2i64)_2);
2079 extern __inline
2080 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2081 __lsx_vssrarn_b_h(__m128i _1, __m128i _2) {
2082 return (__m128i)__builtin_lsx_vssrarn_b_h((v8i16)_1, (v8i16)_2);
2085 extern __inline
2086 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2087 __lsx_vssrarn_h_w(__m128i _1, __m128i _2) {
2088 return (__m128i)__builtin_lsx_vssrarn_h_w((v4i32)_1, (v4i32)_2);
2091 extern __inline
2092 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2093 __lsx_vssrarn_w_d(__m128i _1, __m128i _2) {
2094 return (__m128i)__builtin_lsx_vssrarn_w_d((v2i64)_1, (v2i64)_2);
2097 extern __inline
2098 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2099 __lsx_vssrarn_bu_h(__m128i _1, __m128i _2) {
2100 return (__m128i)__builtin_lsx_vssrarn_bu_h((v8u16)_1, (v8u16)_2);
2103 extern __inline
2104 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2105 __lsx_vssrarn_hu_w(__m128i _1, __m128i _2) {
2106 return (__m128i)__builtin_lsx_vssrarn_hu_w((v4u32)_1, (v4u32)_2);
2109 extern __inline
2110 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2111 __lsx_vssrarn_wu_d(__m128i _1, __m128i _2) {
2112 return (__m128i)__builtin_lsx_vssrarn_wu_d((v2u64)_1, (v2u64)_2);
2115 extern __inline
2116 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2117 __lsx_vsrln_b_h(__m128i _1, __m128i _2) {
2118 return (__m128i)__builtin_lsx_vsrln_b_h((v8i16)_1, (v8i16)_2);
2121 extern __inline
2122 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2123 __lsx_vsrln_h_w(__m128i _1, __m128i _2) {
2124 return (__m128i)__builtin_lsx_vsrln_h_w((v4i32)_1, (v4i32)_2);
2127 extern __inline
2128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2129 __lsx_vsrln_w_d(__m128i _1, __m128i _2) {
2130 return (__m128i)__builtin_lsx_vsrln_w_d((v2i64)_1, (v2i64)_2);
2133 extern __inline
2134 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2135 __lsx_vssrln_bu_h(__m128i _1, __m128i _2) {
2136 return (__m128i)__builtin_lsx_vssrln_bu_h((v8u16)_1, (v8u16)_2);
2139 extern __inline
2140 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2141 __lsx_vssrln_hu_w(__m128i _1, __m128i _2) {
2142 return (__m128i)__builtin_lsx_vssrln_hu_w((v4u32)_1, (v4u32)_2);
2145 extern __inline
2146 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2147 __lsx_vssrln_wu_d(__m128i _1, __m128i _2) {
2148 return (__m128i)__builtin_lsx_vssrln_wu_d((v2u64)_1, (v2u64)_2);
2151 extern __inline
2152 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2153 __lsx_vsrlrn_b_h(__m128i _1, __m128i _2) {
2154 return (__m128i)__builtin_lsx_vsrlrn_b_h((v8i16)_1, (v8i16)_2);
2157 extern __inline
2158 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2159 __lsx_vsrlrn_h_w(__m128i _1, __m128i _2) {
2160 return (__m128i)__builtin_lsx_vsrlrn_h_w((v4i32)_1, (v4i32)_2);
2163 extern __inline
2164 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2165 __lsx_vsrlrn_w_d(__m128i _1, __m128i _2) {
2166 return (__m128i)__builtin_lsx_vsrlrn_w_d((v2i64)_1, (v2i64)_2);
2169 extern __inline
2170 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2171 __lsx_vssrlrn_bu_h(__m128i _1, __m128i _2) {
2172 return (__m128i)__builtin_lsx_vssrlrn_bu_h((v8u16)_1, (v8u16)_2);
2175 extern __inline
2176 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2177 __lsx_vssrlrn_hu_w(__m128i _1, __m128i _2) {
2178 return (__m128i)__builtin_lsx_vssrlrn_hu_w((v4u32)_1, (v4u32)_2);
2181 extern __inline
2182 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2183 __lsx_vssrlrn_wu_d(__m128i _1, __m128i _2) {
2184 return (__m128i)__builtin_lsx_vssrlrn_wu_d((v2u64)_1, (v2u64)_2);
2187 #define __lsx_vfrstpi_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
2188 ((__m128i)__builtin_lsx_vfrstpi_b((v16i8)(_1), (v16i8)(_2), (_3)))
2190 #define __lsx_vfrstpi_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
2191 ((__m128i)__builtin_lsx_vfrstpi_h((v8i16)(_1), (v8i16)(_2), (_3)))
2193 extern __inline
2194 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2195 __lsx_vfrstp_b(__m128i _1, __m128i _2, __m128i _3) {
2196 return (__m128i)__builtin_lsx_vfrstp_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
2199 extern __inline
2200 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2201 __lsx_vfrstp_h(__m128i _1, __m128i _2, __m128i _3) {
2202 return (__m128i)__builtin_lsx_vfrstp_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
2205 #define __lsx_vshuf4i_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
2206 ((__m128i)__builtin_lsx_vshuf4i_d((v2i64)(_1), (v2i64)(_2), (_3)))
2208 #define __lsx_vbsrl_v(/*__m128i*/ _1, /*ui5*/ _2) \
2209 ((__m128i)__builtin_lsx_vbsrl_v((v16i8)(_1), (_2)))
2211 #define __lsx_vbsll_v(/*__m128i*/ _1, /*ui5*/ _2) \
2212 ((__m128i)__builtin_lsx_vbsll_v((v16i8)(_1), (_2)))
2214 #define __lsx_vextrins_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
2215 ((__m128i)__builtin_lsx_vextrins_b((v16i8)(_1), (v16i8)(_2), (_3)))
2217 #define __lsx_vextrins_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
2218 ((__m128i)__builtin_lsx_vextrins_h((v8i16)(_1), (v8i16)(_2), (_3)))
2220 #define __lsx_vextrins_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
2221 ((__m128i)__builtin_lsx_vextrins_w((v4i32)(_1), (v4i32)(_2), (_3)))
2223 #define __lsx_vextrins_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
2224 ((__m128i)__builtin_lsx_vextrins_d((v2i64)(_1), (v2i64)(_2), (_3)))
2226 extern __inline
2227 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2228 __lsx_vmskltz_b(__m128i _1) {
2229 return (__m128i)__builtin_lsx_vmskltz_b((v16i8)_1);
2232 extern __inline
2233 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2234 __lsx_vmskltz_h(__m128i _1) {
2235 return (__m128i)__builtin_lsx_vmskltz_h((v8i16)_1);
2238 extern __inline
2239 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2240 __lsx_vmskltz_w(__m128i _1) {
2241 return (__m128i)__builtin_lsx_vmskltz_w((v4i32)_1);
2244 extern __inline
2245 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2246 __lsx_vmskltz_d(__m128i _1) {
2247 return (__m128i)__builtin_lsx_vmskltz_d((v2i64)_1);
2250 extern __inline
2251 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2252 __lsx_vsigncov_b(__m128i _1, __m128i _2) {
2253 return (__m128i)__builtin_lsx_vsigncov_b((v16i8)_1, (v16i8)_2);
2256 extern __inline
2257 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2258 __lsx_vsigncov_h(__m128i _1, __m128i _2) {
2259 return (__m128i)__builtin_lsx_vsigncov_h((v8i16)_1, (v8i16)_2);
2262 extern __inline
2263 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2264 __lsx_vsigncov_w(__m128i _1, __m128i _2) {
2265 return (__m128i)__builtin_lsx_vsigncov_w((v4i32)_1, (v4i32)_2);
2268 extern __inline
2269 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2270 __lsx_vsigncov_d(__m128i _1, __m128i _2) {
2271 return (__m128i)__builtin_lsx_vsigncov_d((v2i64)_1, (v2i64)_2);
2274 extern __inline
2275 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2276 __lsx_vfmadd_s(__m128 _1, __m128 _2, __m128 _3) {
2277 return (__m128)__builtin_lsx_vfmadd_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
2280 extern __inline
2281 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2282 __lsx_vfmadd_d(__m128d _1, __m128d _2, __m128d _3) {
2283 return (__m128d)__builtin_lsx_vfmadd_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
2286 extern __inline
2287 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2288 __lsx_vfmsub_s(__m128 _1, __m128 _2, __m128 _3) {
2289 return (__m128)__builtin_lsx_vfmsub_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
2292 extern __inline
2293 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2294 __lsx_vfmsub_d(__m128d _1, __m128d _2, __m128d _3) {
2295 return (__m128d)__builtin_lsx_vfmsub_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
2298 extern __inline
2299 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2300 __lsx_vfnmadd_s(__m128 _1, __m128 _2, __m128 _3) {
2301 return (__m128)__builtin_lsx_vfnmadd_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
2304 extern __inline
2305 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2306 __lsx_vfnmadd_d(__m128d _1, __m128d _2, __m128d _3) {
2307 return (__m128d)__builtin_lsx_vfnmadd_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
2310 extern __inline
2311 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2312 __lsx_vfnmsub_s(__m128 _1, __m128 _2, __m128 _3) {
2313 return (__m128)__builtin_lsx_vfnmsub_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
2316 extern __inline
2317 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2318 __lsx_vfnmsub_d(__m128d _1, __m128d _2, __m128d _3) {
2319 return (__m128d)__builtin_lsx_vfnmsub_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
2322 extern __inline
2323 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2324 __lsx_vftintrne_w_s(__m128 _1) {
2325 return (__m128i)__builtin_lsx_vftintrne_w_s((v4f32)_1);
2328 extern __inline
2329 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2330 __lsx_vftintrne_l_d(__m128d _1) {
2331 return (__m128i)__builtin_lsx_vftintrne_l_d((v2f64)_1);
2334 extern __inline
2335 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2336 __lsx_vftintrp_w_s(__m128 _1) {
2337 return (__m128i)__builtin_lsx_vftintrp_w_s((v4f32)_1);
2340 extern __inline
2341 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2342 __lsx_vftintrp_l_d(__m128d _1) {
2343 return (__m128i)__builtin_lsx_vftintrp_l_d((v2f64)_1);
2346 extern __inline
2347 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2348 __lsx_vftintrm_w_s(__m128 _1) {
2349 return (__m128i)__builtin_lsx_vftintrm_w_s((v4f32)_1);
2352 extern __inline
2353 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2354 __lsx_vftintrm_l_d(__m128d _1) {
2355 return (__m128i)__builtin_lsx_vftintrm_l_d((v2f64)_1);
2358 extern __inline
2359 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2360 __lsx_vftint_w_d(__m128d _1, __m128d _2) {
2361 return (__m128i)__builtin_lsx_vftint_w_d((v2f64)_1, (v2f64)_2);
2364 extern __inline
2365 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2366 __lsx_vffint_s_l(__m128i _1, __m128i _2) {
2367 return (__m128)__builtin_lsx_vffint_s_l((v2i64)_1, (v2i64)_2);
2370 extern __inline
2371 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2372 __lsx_vftintrz_w_d(__m128d _1, __m128d _2) {
2373 return (__m128i)__builtin_lsx_vftintrz_w_d((v2f64)_1, (v2f64)_2);
2376 extern __inline
2377 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2378 __lsx_vftintrp_w_d(__m128d _1, __m128d _2) {
2379 return (__m128i)__builtin_lsx_vftintrp_w_d((v2f64)_1, (v2f64)_2);
2382 extern __inline
2383 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2384 __lsx_vftintrm_w_d(__m128d _1, __m128d _2) {
2385 return (__m128i)__builtin_lsx_vftintrm_w_d((v2f64)_1, (v2f64)_2);
2388 extern __inline
2389 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2390 __lsx_vftintrne_w_d(__m128d _1, __m128d _2) {
2391 return (__m128i)__builtin_lsx_vftintrne_w_d((v2f64)_1, (v2f64)_2);
2394 extern __inline
2395 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2396 __lsx_vftintl_l_s(__m128 _1) {
2397 return (__m128i)__builtin_lsx_vftintl_l_s((v4f32)_1);
2400 extern __inline
2401 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2402 __lsx_vftinth_l_s(__m128 _1) {
2403 return (__m128i)__builtin_lsx_vftinth_l_s((v4f32)_1);
2406 extern __inline
2407 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2408 __lsx_vffinth_d_w(__m128i _1) {
2409 return (__m128d)__builtin_lsx_vffinth_d_w((v4i32)_1);
2412 extern __inline
2413 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2414 __lsx_vffintl_d_w(__m128i _1) {
2415 return (__m128d)__builtin_lsx_vffintl_d_w((v4i32)_1);
2418 extern __inline
2419 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2420 __lsx_vftintrzl_l_s(__m128 _1) {
2421 return (__m128i)__builtin_lsx_vftintrzl_l_s((v4f32)_1);
2424 extern __inline
2425 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2426 __lsx_vftintrzh_l_s(__m128 _1) {
2427 return (__m128i)__builtin_lsx_vftintrzh_l_s((v4f32)_1);
2430 extern __inline
2431 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2432 __lsx_vftintrpl_l_s(__m128 _1) {
2433 return (__m128i)__builtin_lsx_vftintrpl_l_s((v4f32)_1);
2436 extern __inline
2437 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2438 __lsx_vftintrph_l_s(__m128 _1) {
2439 return (__m128i)__builtin_lsx_vftintrph_l_s((v4f32)_1);
2442 extern __inline
2443 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2444 __lsx_vftintrml_l_s(__m128 _1) {
2445 return (__m128i)__builtin_lsx_vftintrml_l_s((v4f32)_1);
2448 extern __inline
2449 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2450 __lsx_vftintrmh_l_s(__m128 _1) {
2451 return (__m128i)__builtin_lsx_vftintrmh_l_s((v4f32)_1);
2454 extern __inline
2455 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2456 __lsx_vftintrnel_l_s(__m128 _1) {
2457 return (__m128i)__builtin_lsx_vftintrnel_l_s((v4f32)_1);
2460 extern __inline
2461 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2462 __lsx_vftintrneh_l_s(__m128 _1) {
2463 return (__m128i)__builtin_lsx_vftintrneh_l_s((v4f32)_1);
2466 extern __inline
2467 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2468 __lsx_vfrintrne_s(__m128 _1) {
2469 return (__m128)__builtin_lsx_vfrintrne_s((v4f32)_1);
2472 extern __inline
2473 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2474 __lsx_vfrintrne_d(__m128d _1) {
2475 return (__m128d)__builtin_lsx_vfrintrne_d((v2f64)_1);
2478 extern __inline
2479 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2480 __lsx_vfrintrz_s(__m128 _1) {
2481 return (__m128)__builtin_lsx_vfrintrz_s((v4f32)_1);
2484 extern __inline
2485 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2486 __lsx_vfrintrz_d(__m128d _1) {
2487 return (__m128d)__builtin_lsx_vfrintrz_d((v2f64)_1);
2490 extern __inline
2491 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2492 __lsx_vfrintrp_s(__m128 _1) {
2493 return (__m128)__builtin_lsx_vfrintrp_s((v4f32)_1);
2496 extern __inline
2497 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2498 __lsx_vfrintrp_d(__m128d _1) {
2499 return (__m128d)__builtin_lsx_vfrintrp_d((v2f64)_1);
2502 extern __inline
2503 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
2504 __lsx_vfrintrm_s(__m128 _1) {
2505 return (__m128)__builtin_lsx_vfrintrm_s((v4f32)_1);
2508 extern __inline
2509 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
2510 __lsx_vfrintrm_d(__m128d _1) {
2511 return (__m128d)__builtin_lsx_vfrintrm_d((v2f64)_1);
2514 #define __lsx_vstelm_b(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \
2515 ((void)__builtin_lsx_vstelm_b((v16i8)(_1), (void *)(_2), (_3), (_4)))
2517 #define __lsx_vstelm_h(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \
2518 ((void)__builtin_lsx_vstelm_h((v8i16)(_1), (void *)(_2), (_3), (_4)))
2520 #define __lsx_vstelm_w(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \
2521 ((void)__builtin_lsx_vstelm_w((v4i32)(_1), (void *)(_2), (_3), (_4)))
2523 #define __lsx_vstelm_d(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \
2524 ((void)__builtin_lsx_vstelm_d((v2i64)(_1), (void *)(_2), (_3), (_4)))
2526 extern __inline
2527 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2528 __lsx_vaddwev_d_w(__m128i _1, __m128i _2) {
2529 return (__m128i)__builtin_lsx_vaddwev_d_w((v4i32)_1, (v4i32)_2);
2532 extern __inline
2533 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2534 __lsx_vaddwev_w_h(__m128i _1, __m128i _2) {
2535 return (__m128i)__builtin_lsx_vaddwev_w_h((v8i16)_1, (v8i16)_2);
2538 extern __inline
2539 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2540 __lsx_vaddwev_h_b(__m128i _1, __m128i _2) {
2541 return (__m128i)__builtin_lsx_vaddwev_h_b((v16i8)_1, (v16i8)_2);
2544 extern __inline
2545 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2546 __lsx_vaddwod_d_w(__m128i _1, __m128i _2) {
2547 return (__m128i)__builtin_lsx_vaddwod_d_w((v4i32)_1, (v4i32)_2);
2550 extern __inline
2551 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2552 __lsx_vaddwod_w_h(__m128i _1, __m128i _2) {
2553 return (__m128i)__builtin_lsx_vaddwod_w_h((v8i16)_1, (v8i16)_2);
2556 extern __inline
2557 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2558 __lsx_vaddwod_h_b(__m128i _1, __m128i _2) {
2559 return (__m128i)__builtin_lsx_vaddwod_h_b((v16i8)_1, (v16i8)_2);
2562 extern __inline
2563 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2564 __lsx_vaddwev_d_wu(__m128i _1, __m128i _2) {
2565 return (__m128i)__builtin_lsx_vaddwev_d_wu((v4u32)_1, (v4u32)_2);
2568 extern __inline
2569 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2570 __lsx_vaddwev_w_hu(__m128i _1, __m128i _2) {
2571 return (__m128i)__builtin_lsx_vaddwev_w_hu((v8u16)_1, (v8u16)_2);
2574 extern __inline
2575 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2576 __lsx_vaddwev_h_bu(__m128i _1, __m128i _2) {
2577 return (__m128i)__builtin_lsx_vaddwev_h_bu((v16u8)_1, (v16u8)_2);
2580 extern __inline
2581 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2582 __lsx_vaddwod_d_wu(__m128i _1, __m128i _2) {
2583 return (__m128i)__builtin_lsx_vaddwod_d_wu((v4u32)_1, (v4u32)_2);
2586 extern __inline
2587 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2588 __lsx_vaddwod_w_hu(__m128i _1, __m128i _2) {
2589 return (__m128i)__builtin_lsx_vaddwod_w_hu((v8u16)_1, (v8u16)_2);
2592 extern __inline
2593 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2594 __lsx_vaddwod_h_bu(__m128i _1, __m128i _2) {
2595 return (__m128i)__builtin_lsx_vaddwod_h_bu((v16u8)_1, (v16u8)_2);
2598 extern __inline
2599 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2600 __lsx_vaddwev_d_wu_w(__m128i _1, __m128i _2) {
2601 return (__m128i)__builtin_lsx_vaddwev_d_wu_w((v4u32)_1, (v4i32)_2);
2604 extern __inline
2605 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2606 __lsx_vaddwev_w_hu_h(__m128i _1, __m128i _2) {
2607 return (__m128i)__builtin_lsx_vaddwev_w_hu_h((v8u16)_1, (v8i16)_2);
2610 extern __inline
2611 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2612 __lsx_vaddwev_h_bu_b(__m128i _1, __m128i _2) {
2613 return (__m128i)__builtin_lsx_vaddwev_h_bu_b((v16u8)_1, (v16i8)_2);
2616 extern __inline
2617 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2618 __lsx_vaddwod_d_wu_w(__m128i _1, __m128i _2) {
2619 return (__m128i)__builtin_lsx_vaddwod_d_wu_w((v4u32)_1, (v4i32)_2);
2622 extern __inline
2623 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2624 __lsx_vaddwod_w_hu_h(__m128i _1, __m128i _2) {
2625 return (__m128i)__builtin_lsx_vaddwod_w_hu_h((v8u16)_1, (v8i16)_2);
2628 extern __inline
2629 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2630 __lsx_vaddwod_h_bu_b(__m128i _1, __m128i _2) {
2631 return (__m128i)__builtin_lsx_vaddwod_h_bu_b((v16u8)_1, (v16i8)_2);
2634 extern __inline
2635 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2636 __lsx_vsubwev_d_w(__m128i _1, __m128i _2) {
2637 return (__m128i)__builtin_lsx_vsubwev_d_w((v4i32)_1, (v4i32)_2);
2640 extern __inline
2641 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2642 __lsx_vsubwev_w_h(__m128i _1, __m128i _2) {
2643 return (__m128i)__builtin_lsx_vsubwev_w_h((v8i16)_1, (v8i16)_2);
2646 extern __inline
2647 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2648 __lsx_vsubwev_h_b(__m128i _1, __m128i _2) {
2649 return (__m128i)__builtin_lsx_vsubwev_h_b((v16i8)_1, (v16i8)_2);
2652 extern __inline
2653 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2654 __lsx_vsubwod_d_w(__m128i _1, __m128i _2) {
2655 return (__m128i)__builtin_lsx_vsubwod_d_w((v4i32)_1, (v4i32)_2);
2658 extern __inline
2659 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2660 __lsx_vsubwod_w_h(__m128i _1, __m128i _2) {
2661 return (__m128i)__builtin_lsx_vsubwod_w_h((v8i16)_1, (v8i16)_2);
2664 extern __inline
2665 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2666 __lsx_vsubwod_h_b(__m128i _1, __m128i _2) {
2667 return (__m128i)__builtin_lsx_vsubwod_h_b((v16i8)_1, (v16i8)_2);
2670 extern __inline
2671 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2672 __lsx_vsubwev_d_wu(__m128i _1, __m128i _2) {
2673 return (__m128i)__builtin_lsx_vsubwev_d_wu((v4u32)_1, (v4u32)_2);
2676 extern __inline
2677 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2678 __lsx_vsubwev_w_hu(__m128i _1, __m128i _2) {
2679 return (__m128i)__builtin_lsx_vsubwev_w_hu((v8u16)_1, (v8u16)_2);
2682 extern __inline
2683 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2684 __lsx_vsubwev_h_bu(__m128i _1, __m128i _2) {
2685 return (__m128i)__builtin_lsx_vsubwev_h_bu((v16u8)_1, (v16u8)_2);
2688 extern __inline
2689 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2690 __lsx_vsubwod_d_wu(__m128i _1, __m128i _2) {
2691 return (__m128i)__builtin_lsx_vsubwod_d_wu((v4u32)_1, (v4u32)_2);
2694 extern __inline
2695 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2696 __lsx_vsubwod_w_hu(__m128i _1, __m128i _2) {
2697 return (__m128i)__builtin_lsx_vsubwod_w_hu((v8u16)_1, (v8u16)_2);
2700 extern __inline
2701 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2702 __lsx_vsubwod_h_bu(__m128i _1, __m128i _2) {
2703 return (__m128i)__builtin_lsx_vsubwod_h_bu((v16u8)_1, (v16u8)_2);
2706 extern __inline
2707 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2708 __lsx_vaddwev_q_d(__m128i _1, __m128i _2) {
2709 return (__m128i)__builtin_lsx_vaddwev_q_d((v2i64)_1, (v2i64)_2);
2712 extern __inline
2713 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2714 __lsx_vaddwod_q_d(__m128i _1, __m128i _2) {
2715 return (__m128i)__builtin_lsx_vaddwod_q_d((v2i64)_1, (v2i64)_2);
2718 extern __inline
2719 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2720 __lsx_vaddwev_q_du(__m128i _1, __m128i _2) {
2721 return (__m128i)__builtin_lsx_vaddwev_q_du((v2u64)_1, (v2u64)_2);
2724 extern __inline
2725 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2726 __lsx_vaddwod_q_du(__m128i _1, __m128i _2) {
2727 return (__m128i)__builtin_lsx_vaddwod_q_du((v2u64)_1, (v2u64)_2);
2730 extern __inline
2731 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2732 __lsx_vsubwev_q_d(__m128i _1, __m128i _2) {
2733 return (__m128i)__builtin_lsx_vsubwev_q_d((v2i64)_1, (v2i64)_2);
2736 extern __inline
2737 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2738 __lsx_vsubwod_q_d(__m128i _1, __m128i _2) {
2739 return (__m128i)__builtin_lsx_vsubwod_q_d((v2i64)_1, (v2i64)_2);
2742 extern __inline
2743 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2744 __lsx_vsubwev_q_du(__m128i _1, __m128i _2) {
2745 return (__m128i)__builtin_lsx_vsubwev_q_du((v2u64)_1, (v2u64)_2);
2748 extern __inline
2749 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2750 __lsx_vsubwod_q_du(__m128i _1, __m128i _2) {
2751 return (__m128i)__builtin_lsx_vsubwod_q_du((v2u64)_1, (v2u64)_2);
2754 extern __inline
2755 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2756 __lsx_vaddwev_q_du_d(__m128i _1, __m128i _2) {
2757 return (__m128i)__builtin_lsx_vaddwev_q_du_d((v2u64)_1, (v2i64)_2);
2760 extern __inline
2761 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2762 __lsx_vaddwod_q_du_d(__m128i _1, __m128i _2) {
2763 return (__m128i)__builtin_lsx_vaddwod_q_du_d((v2u64)_1, (v2i64)_2);
2766 extern __inline
2767 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2768 __lsx_vmulwev_d_w(__m128i _1, __m128i _2) {
2769 return (__m128i)__builtin_lsx_vmulwev_d_w((v4i32)_1, (v4i32)_2);
2772 extern __inline
2773 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2774 __lsx_vmulwev_w_h(__m128i _1, __m128i _2) {
2775 return (__m128i)__builtin_lsx_vmulwev_w_h((v8i16)_1, (v8i16)_2);
2778 extern __inline
2779 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2780 __lsx_vmulwev_h_b(__m128i _1, __m128i _2) {
2781 return (__m128i)__builtin_lsx_vmulwev_h_b((v16i8)_1, (v16i8)_2);
2784 extern __inline
2785 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2786 __lsx_vmulwod_d_w(__m128i _1, __m128i _2) {
2787 return (__m128i)__builtin_lsx_vmulwod_d_w((v4i32)_1, (v4i32)_2);
2790 extern __inline
2791 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2792 __lsx_vmulwod_w_h(__m128i _1, __m128i _2) {
2793 return (__m128i)__builtin_lsx_vmulwod_w_h((v8i16)_1, (v8i16)_2);
2796 extern __inline
2797 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2798 __lsx_vmulwod_h_b(__m128i _1, __m128i _2) {
2799 return (__m128i)__builtin_lsx_vmulwod_h_b((v16i8)_1, (v16i8)_2);
2802 extern __inline
2803 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2804 __lsx_vmulwev_d_wu(__m128i _1, __m128i _2) {
2805 return (__m128i)__builtin_lsx_vmulwev_d_wu((v4u32)_1, (v4u32)_2);
2808 extern __inline
2809 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2810 __lsx_vmulwev_w_hu(__m128i _1, __m128i _2) {
2811 return (__m128i)__builtin_lsx_vmulwev_w_hu((v8u16)_1, (v8u16)_2);
2814 extern __inline
2815 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2816 __lsx_vmulwev_h_bu(__m128i _1, __m128i _2) {
2817 return (__m128i)__builtin_lsx_vmulwev_h_bu((v16u8)_1, (v16u8)_2);
2820 extern __inline
2821 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2822 __lsx_vmulwod_d_wu(__m128i _1, __m128i _2) {
2823 return (__m128i)__builtin_lsx_vmulwod_d_wu((v4u32)_1, (v4u32)_2);
2826 extern __inline
2827 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2828 __lsx_vmulwod_w_hu(__m128i _1, __m128i _2) {
2829 return (__m128i)__builtin_lsx_vmulwod_w_hu((v8u16)_1, (v8u16)_2);
2832 extern __inline
2833 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2834 __lsx_vmulwod_h_bu(__m128i _1, __m128i _2) {
2835 return (__m128i)__builtin_lsx_vmulwod_h_bu((v16u8)_1, (v16u8)_2);
2838 extern __inline
2839 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2840 __lsx_vmulwev_d_wu_w(__m128i _1, __m128i _2) {
2841 return (__m128i)__builtin_lsx_vmulwev_d_wu_w((v4u32)_1, (v4i32)_2);
2844 extern __inline
2845 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2846 __lsx_vmulwev_w_hu_h(__m128i _1, __m128i _2) {
2847 return (__m128i)__builtin_lsx_vmulwev_w_hu_h((v8u16)_1, (v8i16)_2);
2850 extern __inline
2851 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2852 __lsx_vmulwev_h_bu_b(__m128i _1, __m128i _2) {
2853 return (__m128i)__builtin_lsx_vmulwev_h_bu_b((v16u8)_1, (v16i8)_2);
2856 extern __inline
2857 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2858 __lsx_vmulwod_d_wu_w(__m128i _1, __m128i _2) {
2859 return (__m128i)__builtin_lsx_vmulwod_d_wu_w((v4u32)_1, (v4i32)_2);
2862 extern __inline
2863 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2864 __lsx_vmulwod_w_hu_h(__m128i _1, __m128i _2) {
2865 return (__m128i)__builtin_lsx_vmulwod_w_hu_h((v8u16)_1, (v8i16)_2);
2868 extern __inline
2869 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2870 __lsx_vmulwod_h_bu_b(__m128i _1, __m128i _2) {
2871 return (__m128i)__builtin_lsx_vmulwod_h_bu_b((v16u8)_1, (v16i8)_2);
2874 extern __inline
2875 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2876 __lsx_vmulwev_q_d(__m128i _1, __m128i _2) {
2877 return (__m128i)__builtin_lsx_vmulwev_q_d((v2i64)_1, (v2i64)_2);
2880 extern __inline
2881 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2882 __lsx_vmulwod_q_d(__m128i _1, __m128i _2) {
2883 return (__m128i)__builtin_lsx_vmulwod_q_d((v2i64)_1, (v2i64)_2);
2886 extern __inline
2887 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2888 __lsx_vmulwev_q_du(__m128i _1, __m128i _2) {
2889 return (__m128i)__builtin_lsx_vmulwev_q_du((v2u64)_1, (v2u64)_2);
2892 extern __inline
2893 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2894 __lsx_vmulwod_q_du(__m128i _1, __m128i _2) {
2895 return (__m128i)__builtin_lsx_vmulwod_q_du((v2u64)_1, (v2u64)_2);
2898 extern __inline
2899 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2900 __lsx_vmulwev_q_du_d(__m128i _1, __m128i _2) {
2901 return (__m128i)__builtin_lsx_vmulwev_q_du_d((v2u64)_1, (v2i64)_2);
2904 extern __inline
2905 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2906 __lsx_vmulwod_q_du_d(__m128i _1, __m128i _2) {
2907 return (__m128i)__builtin_lsx_vmulwod_q_du_d((v2u64)_1, (v2i64)_2);
2910 extern __inline
2911 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2912 __lsx_vhaddw_q_d(__m128i _1, __m128i _2) {
2913 return (__m128i)__builtin_lsx_vhaddw_q_d((v2i64)_1, (v2i64)_2);
2916 extern __inline
2917 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2918 __lsx_vhaddw_qu_du(__m128i _1, __m128i _2) {
2919 return (__m128i)__builtin_lsx_vhaddw_qu_du((v2u64)_1, (v2u64)_2);
2922 extern __inline
2923 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2924 __lsx_vhsubw_q_d(__m128i _1, __m128i _2) {
2925 return (__m128i)__builtin_lsx_vhsubw_q_d((v2i64)_1, (v2i64)_2);
2928 extern __inline
2929 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2930 __lsx_vhsubw_qu_du(__m128i _1, __m128i _2) {
2931 return (__m128i)__builtin_lsx_vhsubw_qu_du((v2u64)_1, (v2u64)_2);
2934 extern __inline
2935 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2936 __lsx_vmaddwev_d_w(__m128i _1, __m128i _2, __m128i _3) {
2937 return (__m128i)__builtin_lsx_vmaddwev_d_w((v2i64)_1, (v4i32)_2, (v4i32)_3);
2940 extern __inline
2941 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2942 __lsx_vmaddwev_w_h(__m128i _1, __m128i _2, __m128i _3) {
2943 return (__m128i)__builtin_lsx_vmaddwev_w_h((v4i32)_1, (v8i16)_2, (v8i16)_3);
2946 extern __inline
2947 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2948 __lsx_vmaddwev_h_b(__m128i _1, __m128i _2, __m128i _3) {
2949 return (__m128i)__builtin_lsx_vmaddwev_h_b((v8i16)_1, (v16i8)_2, (v16i8)_3);
2952 extern __inline
2953 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2954 __lsx_vmaddwev_d_wu(__m128i _1, __m128i _2, __m128i _3) {
2955 return (__m128i)__builtin_lsx_vmaddwev_d_wu((v2u64)_1, (v4u32)_2, (v4u32)_3);
2958 extern __inline
2959 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2960 __lsx_vmaddwev_w_hu(__m128i _1, __m128i _2, __m128i _3) {
2961 return (__m128i)__builtin_lsx_vmaddwev_w_hu((v4u32)_1, (v8u16)_2, (v8u16)_3);
2964 extern __inline
2965 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2966 __lsx_vmaddwev_h_bu(__m128i _1, __m128i _2, __m128i _3) {
2967 return (__m128i)__builtin_lsx_vmaddwev_h_bu((v8u16)_1, (v16u8)_2, (v16u8)_3);
2970 extern __inline
2971 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2972 __lsx_vmaddwod_d_w(__m128i _1, __m128i _2, __m128i _3) {
2973 return (__m128i)__builtin_lsx_vmaddwod_d_w((v2i64)_1, (v4i32)_2, (v4i32)_3);
2976 extern __inline
2977 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2978 __lsx_vmaddwod_w_h(__m128i _1, __m128i _2, __m128i _3) {
2979 return (__m128i)__builtin_lsx_vmaddwod_w_h((v4i32)_1, (v8i16)_2, (v8i16)_3);
2982 extern __inline
2983 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2984 __lsx_vmaddwod_h_b(__m128i _1, __m128i _2, __m128i _3) {
2985 return (__m128i)__builtin_lsx_vmaddwod_h_b((v8i16)_1, (v16i8)_2, (v16i8)_3);
2988 extern __inline
2989 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2990 __lsx_vmaddwod_d_wu(__m128i _1, __m128i _2, __m128i _3) {
2991 return (__m128i)__builtin_lsx_vmaddwod_d_wu((v2u64)_1, (v4u32)_2, (v4u32)_3);
2994 extern __inline
2995 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
2996 __lsx_vmaddwod_w_hu(__m128i _1, __m128i _2, __m128i _3) {
2997 return (__m128i)__builtin_lsx_vmaddwod_w_hu((v4u32)_1, (v8u16)_2, (v8u16)_3);
3000 extern __inline
3001 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3002 __lsx_vmaddwod_h_bu(__m128i _1, __m128i _2, __m128i _3) {
3003 return (__m128i)__builtin_lsx_vmaddwod_h_bu((v8u16)_1, (v16u8)_2, (v16u8)_3);
3006 extern __inline
3007 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3008 __lsx_vmaddwev_d_wu_w(__m128i _1, __m128i _2, __m128i _3) {
3009 return (__m128i)__builtin_lsx_vmaddwev_d_wu_w((v2i64)_1, (v4u32)_2,
3010 (v4i32)_3);
3013 extern __inline
3014 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3015 __lsx_vmaddwev_w_hu_h(__m128i _1, __m128i _2, __m128i _3) {
3016 return (__m128i)__builtin_lsx_vmaddwev_w_hu_h((v4i32)_1, (v8u16)_2,
3017 (v8i16)_3);
3020 extern __inline
3021 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3022 __lsx_vmaddwev_h_bu_b(__m128i _1, __m128i _2, __m128i _3) {
3023 return (__m128i)__builtin_lsx_vmaddwev_h_bu_b((v8i16)_1, (v16u8)_2,
3024 (v16i8)_3);
3027 extern __inline
3028 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3029 __lsx_vmaddwod_d_wu_w(__m128i _1, __m128i _2, __m128i _3) {
3030 return (__m128i)__builtin_lsx_vmaddwod_d_wu_w((v2i64)_1, (v4u32)_2,
3031 (v4i32)_3);
3034 extern __inline
3035 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3036 __lsx_vmaddwod_w_hu_h(__m128i _1, __m128i _2, __m128i _3) {
3037 return (__m128i)__builtin_lsx_vmaddwod_w_hu_h((v4i32)_1, (v8u16)_2,
3038 (v8i16)_3);
3041 extern __inline
3042 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3043 __lsx_vmaddwod_h_bu_b(__m128i _1, __m128i _2, __m128i _3) {
3044 return (__m128i)__builtin_lsx_vmaddwod_h_bu_b((v8i16)_1, (v16u8)_2,
3045 (v16i8)_3);
3048 extern __inline
3049 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3050 __lsx_vmaddwev_q_d(__m128i _1, __m128i _2, __m128i _3) {
3051 return (__m128i)__builtin_lsx_vmaddwev_q_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
3054 extern __inline
3055 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3056 __lsx_vmaddwod_q_d(__m128i _1, __m128i _2, __m128i _3) {
3057 return (__m128i)__builtin_lsx_vmaddwod_q_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
3060 extern __inline
3061 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3062 __lsx_vmaddwev_q_du(__m128i _1, __m128i _2, __m128i _3) {
3063 return (__m128i)__builtin_lsx_vmaddwev_q_du((v2u64)_1, (v2u64)_2, (v2u64)_3);
3066 extern __inline
3067 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3068 __lsx_vmaddwod_q_du(__m128i _1, __m128i _2, __m128i _3) {
3069 return (__m128i)__builtin_lsx_vmaddwod_q_du((v2u64)_1, (v2u64)_2, (v2u64)_3);
3072 extern __inline
3073 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3074 __lsx_vmaddwev_q_du_d(__m128i _1, __m128i _2, __m128i _3) {
3075 return (__m128i)__builtin_lsx_vmaddwev_q_du_d((v2i64)_1, (v2u64)_2,
3076 (v2i64)_3);
3079 extern __inline
3080 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3081 __lsx_vmaddwod_q_du_d(__m128i _1, __m128i _2, __m128i _3) {
3082 return (__m128i)__builtin_lsx_vmaddwod_q_du_d((v2i64)_1, (v2u64)_2,
3083 (v2i64)_3);
3086 extern __inline
3087 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3088 __lsx_vrotr_b(__m128i _1, __m128i _2) {
3089 return (__m128i)__builtin_lsx_vrotr_b((v16i8)_1, (v16i8)_2);
3092 extern __inline
3093 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3094 __lsx_vrotr_h(__m128i _1, __m128i _2) {
3095 return (__m128i)__builtin_lsx_vrotr_h((v8i16)_1, (v8i16)_2);
3098 extern __inline
3099 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3100 __lsx_vrotr_w(__m128i _1, __m128i _2) {
3101 return (__m128i)__builtin_lsx_vrotr_w((v4i32)_1, (v4i32)_2);
3104 extern __inline
3105 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3106 __lsx_vrotr_d(__m128i _1, __m128i _2) {
3107 return (__m128i)__builtin_lsx_vrotr_d((v2i64)_1, (v2i64)_2);
3110 extern __inline
3111 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3112 __lsx_vadd_q(__m128i _1, __m128i _2) {
3113 return (__m128i)__builtin_lsx_vadd_q((v2i64)_1, (v2i64)_2);
3116 extern __inline
3117 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3118 __lsx_vsub_q(__m128i _1, __m128i _2) {
3119 return (__m128i)__builtin_lsx_vsub_q((v2i64)_1, (v2i64)_2);
3122 #define __lsx_vldrepl_b(/*void **/ _1, /*si12*/ _2) \
3123 ((__m128i)__builtin_lsx_vldrepl_b((void const *)(_1), (_2)))
3125 #define __lsx_vldrepl_h(/*void **/ _1, /*si11*/ _2) \
3126 ((__m128i)__builtin_lsx_vldrepl_h((void const *)(_1), (_2)))
3128 #define __lsx_vldrepl_w(/*void **/ _1, /*si10*/ _2) \
3129 ((__m128i)__builtin_lsx_vldrepl_w((void const *)(_1), (_2)))
3131 #define __lsx_vldrepl_d(/*void **/ _1, /*si9*/ _2) \
3132 ((__m128i)__builtin_lsx_vldrepl_d((void const *)(_1), (_2)))
3134 extern __inline
3135 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3136 __lsx_vmskgez_b(__m128i _1) {
3137 return (__m128i)__builtin_lsx_vmskgez_b((v16i8)_1);
3140 extern __inline
3141 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3142 __lsx_vmsknz_b(__m128i _1) {
3143 return (__m128i)__builtin_lsx_vmsknz_b((v16i8)_1);
3146 extern __inline
3147 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3148 __lsx_vexth_h_b(__m128i _1) {
3149 return (__m128i)__builtin_lsx_vexth_h_b((v16i8)_1);
3152 extern __inline
3153 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3154 __lsx_vexth_w_h(__m128i _1) {
3155 return (__m128i)__builtin_lsx_vexth_w_h((v8i16)_1);
3158 extern __inline
3159 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3160 __lsx_vexth_d_w(__m128i _1) {
3161 return (__m128i)__builtin_lsx_vexth_d_w((v4i32)_1);
3164 extern __inline
3165 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3166 __lsx_vexth_q_d(__m128i _1) {
3167 return (__m128i)__builtin_lsx_vexth_q_d((v2i64)_1);
3170 extern __inline
3171 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3172 __lsx_vexth_hu_bu(__m128i _1) {
3173 return (__m128i)__builtin_lsx_vexth_hu_bu((v16u8)_1);
3176 extern __inline
3177 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3178 __lsx_vexth_wu_hu(__m128i _1) {
3179 return (__m128i)__builtin_lsx_vexth_wu_hu((v8u16)_1);
3182 extern __inline
3183 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3184 __lsx_vexth_du_wu(__m128i _1) {
3185 return (__m128i)__builtin_lsx_vexth_du_wu((v4u32)_1);
3188 extern __inline
3189 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3190 __lsx_vexth_qu_du(__m128i _1) {
3191 return (__m128i)__builtin_lsx_vexth_qu_du((v2u64)_1);
3194 #define __lsx_vrotri_b(/*__m128i*/ _1, /*ui3*/ _2) \
3195 ((__m128i)__builtin_lsx_vrotri_b((v16i8)(_1), (_2)))
3197 #define __lsx_vrotri_h(/*__m128i*/ _1, /*ui4*/ _2) \
3198 ((__m128i)__builtin_lsx_vrotri_h((v8i16)(_1), (_2)))
3200 #define __lsx_vrotri_w(/*__m128i*/ _1, /*ui5*/ _2) \
3201 ((__m128i)__builtin_lsx_vrotri_w((v4i32)(_1), (_2)))
3203 #define __lsx_vrotri_d(/*__m128i*/ _1, /*ui6*/ _2) \
3204 ((__m128i)__builtin_lsx_vrotri_d((v2i64)(_1), (_2)))
3206 extern __inline
3207 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3208 __lsx_vextl_q_d(__m128i _1) {
3209 return (__m128i)__builtin_lsx_vextl_q_d((v2i64)_1);
3212 #define __lsx_vsrlni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3213 ((__m128i)__builtin_lsx_vsrlni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3215 #define __lsx_vsrlni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3216 ((__m128i)__builtin_lsx_vsrlni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3218 #define __lsx_vsrlni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3219 ((__m128i)__builtin_lsx_vsrlni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3221 #define __lsx_vsrlni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3222 ((__m128i)__builtin_lsx_vsrlni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3224 #define __lsx_vsrlrni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3225 ((__m128i)__builtin_lsx_vsrlrni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3227 #define __lsx_vsrlrni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3228 ((__m128i)__builtin_lsx_vsrlrni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3230 #define __lsx_vsrlrni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3231 ((__m128i)__builtin_lsx_vsrlrni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3233 #define __lsx_vsrlrni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3234 ((__m128i)__builtin_lsx_vsrlrni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3236 #define __lsx_vssrlni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3237 ((__m128i)__builtin_lsx_vssrlni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3239 #define __lsx_vssrlni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3240 ((__m128i)__builtin_lsx_vssrlni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3242 #define __lsx_vssrlni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3243 ((__m128i)__builtin_lsx_vssrlni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3245 #define __lsx_vssrlni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3246 ((__m128i)__builtin_lsx_vssrlni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3248 #define __lsx_vssrlni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3249 ((__m128i)__builtin_lsx_vssrlni_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
3251 #define __lsx_vssrlni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3252 ((__m128i)__builtin_lsx_vssrlni_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
3254 #define __lsx_vssrlni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3255 ((__m128i)__builtin_lsx_vssrlni_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
3257 #define __lsx_vssrlni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3258 ((__m128i)__builtin_lsx_vssrlni_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
3260 #define __lsx_vssrlrni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3261 ((__m128i)__builtin_lsx_vssrlrni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3263 #define __lsx_vssrlrni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3264 ((__m128i)__builtin_lsx_vssrlrni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3266 #define __lsx_vssrlrni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3267 ((__m128i)__builtin_lsx_vssrlrni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3269 #define __lsx_vssrlrni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3270 ((__m128i)__builtin_lsx_vssrlrni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3272 #define __lsx_vssrlrni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3273 ((__m128i)__builtin_lsx_vssrlrni_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
3275 #define __lsx_vssrlrni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3276 ((__m128i)__builtin_lsx_vssrlrni_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
3278 #define __lsx_vssrlrni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3279 ((__m128i)__builtin_lsx_vssrlrni_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
3281 #define __lsx_vssrlrni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3282 ((__m128i)__builtin_lsx_vssrlrni_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
3284 #define __lsx_vsrani_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3285 ((__m128i)__builtin_lsx_vsrani_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3287 #define __lsx_vsrani_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3288 ((__m128i)__builtin_lsx_vsrani_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3290 #define __lsx_vsrani_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3291 ((__m128i)__builtin_lsx_vsrani_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3293 #define __lsx_vsrani_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3294 ((__m128i)__builtin_lsx_vsrani_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3296 #define __lsx_vsrarni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3297 ((__m128i)__builtin_lsx_vsrarni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3299 #define __lsx_vsrarni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3300 ((__m128i)__builtin_lsx_vsrarni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3302 #define __lsx_vsrarni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3303 ((__m128i)__builtin_lsx_vsrarni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3305 #define __lsx_vsrarni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3306 ((__m128i)__builtin_lsx_vsrarni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3308 #define __lsx_vssrani_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3309 ((__m128i)__builtin_lsx_vssrani_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3311 #define __lsx_vssrani_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3312 ((__m128i)__builtin_lsx_vssrani_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3314 #define __lsx_vssrani_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3315 ((__m128i)__builtin_lsx_vssrani_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3317 #define __lsx_vssrani_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3318 ((__m128i)__builtin_lsx_vssrani_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3320 #define __lsx_vssrani_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3321 ((__m128i)__builtin_lsx_vssrani_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
3323 #define __lsx_vssrani_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3324 ((__m128i)__builtin_lsx_vssrani_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
3326 #define __lsx_vssrani_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3327 ((__m128i)__builtin_lsx_vssrani_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
3329 #define __lsx_vssrani_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3330 ((__m128i)__builtin_lsx_vssrani_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
3332 #define __lsx_vssrarni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3333 ((__m128i)__builtin_lsx_vssrarni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
3335 #define __lsx_vssrarni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3336 ((__m128i)__builtin_lsx_vssrarni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
3338 #define __lsx_vssrarni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3339 ((__m128i)__builtin_lsx_vssrarni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
3341 #define __lsx_vssrarni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3342 ((__m128i)__builtin_lsx_vssrarni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
3344 #define __lsx_vssrarni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \
3345 ((__m128i)__builtin_lsx_vssrarni_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
3347 #define __lsx_vssrarni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \
3348 ((__m128i)__builtin_lsx_vssrarni_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
3350 #define __lsx_vssrarni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \
3351 ((__m128i)__builtin_lsx_vssrarni_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
3353 #define __lsx_vssrarni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \
3354 ((__m128i)__builtin_lsx_vssrarni_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
3356 #define __lsx_vpermi_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \
3357 ((__m128i)__builtin_lsx_vpermi_w((v4i32)(_1), (v4i32)(_2), (_3)))
3359 #define __lsx_vld(/*void **/ _1, /*si12*/ _2) \
3360 ((__m128i)__builtin_lsx_vld((void const *)(_1), (_2)))
3362 #define __lsx_vst(/*__m128i*/ _1, /*void **/ _2, /*si12*/ _3) \
3363 ((void)__builtin_lsx_vst((v16i8)(_1), (void *)(_2), (_3)))
3365 extern __inline
3366 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3367 __lsx_vssrlrn_b_h(__m128i _1, __m128i _2) {
3368 return (__m128i)__builtin_lsx_vssrlrn_b_h((v8i16)_1, (v8i16)_2);
3371 extern __inline
3372 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3373 __lsx_vssrlrn_h_w(__m128i _1, __m128i _2) {
3374 return (__m128i)__builtin_lsx_vssrlrn_h_w((v4i32)_1, (v4i32)_2);
3377 extern __inline
3378 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3379 __lsx_vssrlrn_w_d(__m128i _1, __m128i _2) {
3380 return (__m128i)__builtin_lsx_vssrlrn_w_d((v2i64)_1, (v2i64)_2);
3383 extern __inline
3384 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3385 __lsx_vssrln_b_h(__m128i _1, __m128i _2) {
3386 return (__m128i)__builtin_lsx_vssrln_b_h((v8i16)_1, (v8i16)_2);
3389 extern __inline
3390 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3391 __lsx_vssrln_h_w(__m128i _1, __m128i _2) {
3392 return (__m128i)__builtin_lsx_vssrln_h_w((v4i32)_1, (v4i32)_2);
3395 extern __inline
3396 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3397 __lsx_vssrln_w_d(__m128i _1, __m128i _2) {
3398 return (__m128i)__builtin_lsx_vssrln_w_d((v2i64)_1, (v2i64)_2);
3401 extern __inline
3402 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3403 __lsx_vorn_v(__m128i _1, __m128i _2) {
3404 return (__m128i)__builtin_lsx_vorn_v((v16i8)_1, (v16i8)_2);
3407 #define __lsx_vldi(/*i13*/ _1) ((__m128i)__builtin_lsx_vldi((_1)))
3409 extern __inline
3410 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3411 __lsx_vshuf_b(__m128i _1, __m128i _2, __m128i _3) {
3412 return (__m128i)__builtin_lsx_vshuf_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
3415 extern __inline
3416 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3417 __lsx_vldx(void const *_1, long int _2) {
3418 return (__m128i)__builtin_lsx_vldx((void const *)_1, (long int)_2);
3421 extern __inline
3422 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) void
3423 __lsx_vstx(__m128i _1, void *_2, long int _3) {
3424 return (void)__builtin_lsx_vstx((v16i8)_1, (void *)_2, (long int)_3);
3427 extern __inline
3428 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3429 __lsx_vextl_qu_du(__m128i _1) {
3430 return (__m128i)__builtin_lsx_vextl_qu_du((v2u64)_1);
3433 #define __lsx_bnz_b(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_b((v16u8)(_1)))
3435 #define __lsx_bnz_d(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_d((v2u64)(_1)))
3437 #define __lsx_bnz_h(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_h((v8u16)(_1)))
3439 #define __lsx_bnz_v(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_v((v16u8)(_1)))
3441 #define __lsx_bnz_w(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_w((v4u32)(_1)))
3443 #define __lsx_bz_b(/*__m128i*/ _1) ((int)__builtin_lsx_bz_b((v16u8)(_1)))
3445 #define __lsx_bz_d(/*__m128i*/ _1) ((int)__builtin_lsx_bz_d((v2u64)(_1)))
3447 #define __lsx_bz_h(/*__m128i*/ _1) ((int)__builtin_lsx_bz_h((v8u16)(_1)))
3449 #define __lsx_bz_v(/*__m128i*/ _1) ((int)__builtin_lsx_bz_v((v16u8)(_1)))
3451 #define __lsx_bz_w(/*__m128i*/ _1) ((int)__builtin_lsx_bz_w((v4u32)(_1)))
3453 extern __inline
3454 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3455 __lsx_vfcmp_caf_d(__m128d _1, __m128d _2) {
3456 return (__m128i)__builtin_lsx_vfcmp_caf_d((v2f64)_1, (v2f64)_2);
3459 extern __inline
3460 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3461 __lsx_vfcmp_caf_s(__m128 _1, __m128 _2) {
3462 return (__m128i)__builtin_lsx_vfcmp_caf_s((v4f32)_1, (v4f32)_2);
3465 extern __inline
3466 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3467 __lsx_vfcmp_ceq_d(__m128d _1, __m128d _2) {
3468 return (__m128i)__builtin_lsx_vfcmp_ceq_d((v2f64)_1, (v2f64)_2);
3471 extern __inline
3472 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3473 __lsx_vfcmp_ceq_s(__m128 _1, __m128 _2) {
3474 return (__m128i)__builtin_lsx_vfcmp_ceq_s((v4f32)_1, (v4f32)_2);
3477 extern __inline
3478 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3479 __lsx_vfcmp_cle_d(__m128d _1, __m128d _2) {
3480 return (__m128i)__builtin_lsx_vfcmp_cle_d((v2f64)_1, (v2f64)_2);
3483 extern __inline
3484 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3485 __lsx_vfcmp_cle_s(__m128 _1, __m128 _2) {
3486 return (__m128i)__builtin_lsx_vfcmp_cle_s((v4f32)_1, (v4f32)_2);
3489 extern __inline
3490 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3491 __lsx_vfcmp_clt_d(__m128d _1, __m128d _2) {
3492 return (__m128i)__builtin_lsx_vfcmp_clt_d((v2f64)_1, (v2f64)_2);
3495 extern __inline
3496 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3497 __lsx_vfcmp_clt_s(__m128 _1, __m128 _2) {
3498 return (__m128i)__builtin_lsx_vfcmp_clt_s((v4f32)_1, (v4f32)_2);
3501 extern __inline
3502 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3503 __lsx_vfcmp_cne_d(__m128d _1, __m128d _2) {
3504 return (__m128i)__builtin_lsx_vfcmp_cne_d((v2f64)_1, (v2f64)_2);
3507 extern __inline
3508 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3509 __lsx_vfcmp_cne_s(__m128 _1, __m128 _2) {
3510 return (__m128i)__builtin_lsx_vfcmp_cne_s((v4f32)_1, (v4f32)_2);
3513 extern __inline
3514 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3515 __lsx_vfcmp_cor_d(__m128d _1, __m128d _2) {
3516 return (__m128i)__builtin_lsx_vfcmp_cor_d((v2f64)_1, (v2f64)_2);
3519 extern __inline
3520 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3521 __lsx_vfcmp_cor_s(__m128 _1, __m128 _2) {
3522 return (__m128i)__builtin_lsx_vfcmp_cor_s((v4f32)_1, (v4f32)_2);
3525 extern __inline
3526 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3527 __lsx_vfcmp_cueq_d(__m128d _1, __m128d _2) {
3528 return (__m128i)__builtin_lsx_vfcmp_cueq_d((v2f64)_1, (v2f64)_2);
3531 extern __inline
3532 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3533 __lsx_vfcmp_cueq_s(__m128 _1, __m128 _2) {
3534 return (__m128i)__builtin_lsx_vfcmp_cueq_s((v4f32)_1, (v4f32)_2);
3537 extern __inline
3538 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3539 __lsx_vfcmp_cule_d(__m128d _1, __m128d _2) {
3540 return (__m128i)__builtin_lsx_vfcmp_cule_d((v2f64)_1, (v2f64)_2);
3543 extern __inline
3544 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3545 __lsx_vfcmp_cule_s(__m128 _1, __m128 _2) {
3546 return (__m128i)__builtin_lsx_vfcmp_cule_s((v4f32)_1, (v4f32)_2);
3549 extern __inline
3550 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3551 __lsx_vfcmp_cult_d(__m128d _1, __m128d _2) {
3552 return (__m128i)__builtin_lsx_vfcmp_cult_d((v2f64)_1, (v2f64)_2);
3555 extern __inline
3556 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3557 __lsx_vfcmp_cult_s(__m128 _1, __m128 _2) {
3558 return (__m128i)__builtin_lsx_vfcmp_cult_s((v4f32)_1, (v4f32)_2);
3561 extern __inline
3562 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3563 __lsx_vfcmp_cun_d(__m128d _1, __m128d _2) {
3564 return (__m128i)__builtin_lsx_vfcmp_cun_d((v2f64)_1, (v2f64)_2);
3567 extern __inline
3568 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3569 __lsx_vfcmp_cune_d(__m128d _1, __m128d _2) {
3570 return (__m128i)__builtin_lsx_vfcmp_cune_d((v2f64)_1, (v2f64)_2);
3573 extern __inline
3574 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3575 __lsx_vfcmp_cune_s(__m128 _1, __m128 _2) {
3576 return (__m128i)__builtin_lsx_vfcmp_cune_s((v4f32)_1, (v4f32)_2);
3579 extern __inline
3580 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3581 __lsx_vfcmp_cun_s(__m128 _1, __m128 _2) {
3582 return (__m128i)__builtin_lsx_vfcmp_cun_s((v4f32)_1, (v4f32)_2);
3585 extern __inline
3586 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3587 __lsx_vfcmp_saf_d(__m128d _1, __m128d _2) {
3588 return (__m128i)__builtin_lsx_vfcmp_saf_d((v2f64)_1, (v2f64)_2);
3591 extern __inline
3592 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3593 __lsx_vfcmp_saf_s(__m128 _1, __m128 _2) {
3594 return (__m128i)__builtin_lsx_vfcmp_saf_s((v4f32)_1, (v4f32)_2);
3597 extern __inline
3598 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3599 __lsx_vfcmp_seq_d(__m128d _1, __m128d _2) {
3600 return (__m128i)__builtin_lsx_vfcmp_seq_d((v2f64)_1, (v2f64)_2);
3603 extern __inline
3604 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3605 __lsx_vfcmp_seq_s(__m128 _1, __m128 _2) {
3606 return (__m128i)__builtin_lsx_vfcmp_seq_s((v4f32)_1, (v4f32)_2);
3609 extern __inline
3610 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3611 __lsx_vfcmp_sle_d(__m128d _1, __m128d _2) {
3612 return (__m128i)__builtin_lsx_vfcmp_sle_d((v2f64)_1, (v2f64)_2);
3615 extern __inline
3616 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3617 __lsx_vfcmp_sle_s(__m128 _1, __m128 _2) {
3618 return (__m128i)__builtin_lsx_vfcmp_sle_s((v4f32)_1, (v4f32)_2);
3621 extern __inline
3622 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3623 __lsx_vfcmp_slt_d(__m128d _1, __m128d _2) {
3624 return (__m128i)__builtin_lsx_vfcmp_slt_d((v2f64)_1, (v2f64)_2);
3627 extern __inline
3628 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3629 __lsx_vfcmp_slt_s(__m128 _1, __m128 _2) {
3630 return (__m128i)__builtin_lsx_vfcmp_slt_s((v4f32)_1, (v4f32)_2);
3633 extern __inline
3634 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3635 __lsx_vfcmp_sne_d(__m128d _1, __m128d _2) {
3636 return (__m128i)__builtin_lsx_vfcmp_sne_d((v2f64)_1, (v2f64)_2);
3639 extern __inline
3640 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3641 __lsx_vfcmp_sne_s(__m128 _1, __m128 _2) {
3642 return (__m128i)__builtin_lsx_vfcmp_sne_s((v4f32)_1, (v4f32)_2);
3645 extern __inline
3646 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3647 __lsx_vfcmp_sor_d(__m128d _1, __m128d _2) {
3648 return (__m128i)__builtin_lsx_vfcmp_sor_d((v2f64)_1, (v2f64)_2);
3651 extern __inline
3652 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3653 __lsx_vfcmp_sor_s(__m128 _1, __m128 _2) {
3654 return (__m128i)__builtin_lsx_vfcmp_sor_s((v4f32)_1, (v4f32)_2);
3657 extern __inline
3658 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3659 __lsx_vfcmp_sueq_d(__m128d _1, __m128d _2) {
3660 return (__m128i)__builtin_lsx_vfcmp_sueq_d((v2f64)_1, (v2f64)_2);
3663 extern __inline
3664 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3665 __lsx_vfcmp_sueq_s(__m128 _1, __m128 _2) {
3666 return (__m128i)__builtin_lsx_vfcmp_sueq_s((v4f32)_1, (v4f32)_2);
3669 extern __inline
3670 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3671 __lsx_vfcmp_sule_d(__m128d _1, __m128d _2) {
3672 return (__m128i)__builtin_lsx_vfcmp_sule_d((v2f64)_1, (v2f64)_2);
3675 extern __inline
3676 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3677 __lsx_vfcmp_sule_s(__m128 _1, __m128 _2) {
3678 return (__m128i)__builtin_lsx_vfcmp_sule_s((v4f32)_1, (v4f32)_2);
3681 extern __inline
3682 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3683 __lsx_vfcmp_sult_d(__m128d _1, __m128d _2) {
3684 return (__m128i)__builtin_lsx_vfcmp_sult_d((v2f64)_1, (v2f64)_2);
3687 extern __inline
3688 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3689 __lsx_vfcmp_sult_s(__m128 _1, __m128 _2) {
3690 return (__m128i)__builtin_lsx_vfcmp_sult_s((v4f32)_1, (v4f32)_2);
3693 extern __inline
3694 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3695 __lsx_vfcmp_sun_d(__m128d _1, __m128d _2) {
3696 return (__m128i)__builtin_lsx_vfcmp_sun_d((v2f64)_1, (v2f64)_2);
3699 extern __inline
3700 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3701 __lsx_vfcmp_sune_d(__m128d _1, __m128d _2) {
3702 return (__m128i)__builtin_lsx_vfcmp_sune_d((v2f64)_1, (v2f64)_2);
3705 extern __inline
3706 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3707 __lsx_vfcmp_sune_s(__m128 _1, __m128 _2) {
3708 return (__m128i)__builtin_lsx_vfcmp_sune_s((v4f32)_1, (v4f32)_2);
3711 extern __inline
3712 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3713 __lsx_vfcmp_sun_s(__m128 _1, __m128 _2) {
3714 return (__m128i)__builtin_lsx_vfcmp_sun_s((v4f32)_1, (v4f32)_2);
3717 #define __lsx_vrepli_b(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_b((_1)))
3719 #define __lsx_vrepli_d(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_d((_1)))
3721 #define __lsx_vrepli_h(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_h((_1)))
3723 #define __lsx_vrepli_w(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_w((_1)))
3725 #endif /* defined(__loongarch_sx) */
3726 #endif /* _LOONGSON_SXINTRIN_H */