1 /*===------------- lsxintrin.h - LoongArch LSX intrinsics ------------------=== 2 * 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 6 * 7 *===-----------------------------------------------------------------------=== 8 */ 9 10 #ifndef _LOONGSON_SXINTRIN_H 11 #define _LOONGSON_SXINTRIN_H 1 12 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))); 34 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__)); 38 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); 43 } 44 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); 49 } 50 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); 55 } 56 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); 61 } 62 63 #define __lsx_vslli_b(/*__m128i*/ _1, /*ui3*/ _2) \ 64 ((__m128i)__builtin_lsx_vslli_b((v16i8)(_1), (_2))) 65 66 #define __lsx_vslli_h(/*__m128i*/ _1, /*ui4*/ _2) \ 67 ((__m128i)__builtin_lsx_vslli_h((v8i16)(_1), (_2))) 68 69 #define __lsx_vslli_w(/*__m128i*/ _1, /*ui5*/ _2) \ 70 ((__m128i)__builtin_lsx_vslli_w((v4i32)(_1), (_2))) 71 72 #define __lsx_vslli_d(/*__m128i*/ _1, /*ui6*/ _2) \ 73 ((__m128i)__builtin_lsx_vslli_d((v2i64)(_1), (_2))) 74 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); 79 } 80 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); 85 } 86 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); 91 } 92 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); 97 } 98 99 #define __lsx_vsrai_b(/*__m128i*/ _1, /*ui3*/ _2) \ 100 ((__m128i)__builtin_lsx_vsrai_b((v16i8)(_1), (_2))) 101 102 #define __lsx_vsrai_h(/*__m128i*/ _1, /*ui4*/ _2) \ 103 ((__m128i)__builtin_lsx_vsrai_h((v8i16)(_1), (_2))) 104 105 #define __lsx_vsrai_w(/*__m128i*/ _1, /*ui5*/ _2) \ 106 ((__m128i)__builtin_lsx_vsrai_w((v4i32)(_1), (_2))) 107 108 #define __lsx_vsrai_d(/*__m128i*/ _1, /*ui6*/ _2) \ 109 ((__m128i)__builtin_lsx_vsrai_d((v2i64)(_1), (_2))) 110 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); 115 } 116 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); 121 } 122 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); 127 } 128 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); 133 } 134 135 #define __lsx_vsrari_b(/*__m128i*/ _1, /*ui3*/ _2) \ 136 ((__m128i)__builtin_lsx_vsrari_b((v16i8)(_1), (_2))) 137 138 #define __lsx_vsrari_h(/*__m128i*/ _1, /*ui4*/ _2) \ 139 ((__m128i)__builtin_lsx_vsrari_h((v8i16)(_1), (_2))) 140 141 #define __lsx_vsrari_w(/*__m128i*/ _1, /*ui5*/ _2) \ 142 ((__m128i)__builtin_lsx_vsrari_w((v4i32)(_1), (_2))) 143 144 #define __lsx_vsrari_d(/*__m128i*/ _1, /*ui6*/ _2) \ 145 ((__m128i)__builtin_lsx_vsrari_d((v2i64)(_1), (_2))) 146 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); 151 } 152 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); 157 } 158 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); 163 } 164 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); 169 } 170 171 #define __lsx_vsrli_b(/*__m128i*/ _1, /*ui3*/ _2) \ 172 ((__m128i)__builtin_lsx_vsrli_b((v16i8)(_1), (_2))) 173 174 #define __lsx_vsrli_h(/*__m128i*/ _1, /*ui4*/ _2) \ 175 ((__m128i)__builtin_lsx_vsrli_h((v8i16)(_1), (_2))) 176 177 #define __lsx_vsrli_w(/*__m128i*/ _1, /*ui5*/ _2) \ 178 ((__m128i)__builtin_lsx_vsrli_w((v4i32)(_1), (_2))) 179 180 #define __lsx_vsrli_d(/*__m128i*/ _1, /*ui6*/ _2) \ 181 ((__m128i)__builtin_lsx_vsrli_d((v2i64)(_1), (_2))) 182 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); 187 } 188 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); 193 } 194 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); 199 } 200 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); 205 } 206 207 #define __lsx_vsrlri_b(/*__m128i*/ _1, /*ui3*/ _2) \ 208 ((__m128i)__builtin_lsx_vsrlri_b((v16i8)(_1), (_2))) 209 210 #define __lsx_vsrlri_h(/*__m128i*/ _1, /*ui4*/ _2) \ 211 ((__m128i)__builtin_lsx_vsrlri_h((v8i16)(_1), (_2))) 212 213 #define __lsx_vsrlri_w(/*__m128i*/ _1, /*ui5*/ _2) \ 214 ((__m128i)__builtin_lsx_vsrlri_w((v4i32)(_1), (_2))) 215 216 #define __lsx_vsrlri_d(/*__m128i*/ _1, /*ui6*/ _2) \ 217 ((__m128i)__builtin_lsx_vsrlri_d((v2i64)(_1), (_2))) 218 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); 223 } 224 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); 229 } 230 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); 235 } 236 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); 241 } 242 243 #define __lsx_vbitclri_b(/*__m128i*/ _1, /*ui3*/ _2) \ 244 ((__m128i)__builtin_lsx_vbitclri_b((v16u8)(_1), (_2))) 245 246 #define __lsx_vbitclri_h(/*__m128i*/ _1, /*ui4*/ _2) \ 247 ((__m128i)__builtin_lsx_vbitclri_h((v8u16)(_1), (_2))) 248 249 #define __lsx_vbitclri_w(/*__m128i*/ _1, /*ui5*/ _2) \ 250 ((__m128i)__builtin_lsx_vbitclri_w((v4u32)(_1), (_2))) 251 252 #define __lsx_vbitclri_d(/*__m128i*/ _1, /*ui6*/ _2) \ 253 ((__m128i)__builtin_lsx_vbitclri_d((v2u64)(_1), (_2))) 254 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); 259 } 260 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); 265 } 266 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); 271 } 272 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); 277 } 278 279 #define __lsx_vbitseti_b(/*__m128i*/ _1, /*ui3*/ _2) \ 280 ((__m128i)__builtin_lsx_vbitseti_b((v16u8)(_1), (_2))) 281 282 #define __lsx_vbitseti_h(/*__m128i*/ _1, /*ui4*/ _2) \ 283 ((__m128i)__builtin_lsx_vbitseti_h((v8u16)(_1), (_2))) 284 285 #define __lsx_vbitseti_w(/*__m128i*/ _1, /*ui5*/ _2) \ 286 ((__m128i)__builtin_lsx_vbitseti_w((v4u32)(_1), (_2))) 287 288 #define __lsx_vbitseti_d(/*__m128i*/ _1, /*ui6*/ _2) \ 289 ((__m128i)__builtin_lsx_vbitseti_d((v2u64)(_1), (_2))) 290 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); 295 } 296 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); 301 } 302 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); 307 } 308 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); 313 } 314 315 #define __lsx_vbitrevi_b(/*__m128i*/ _1, /*ui3*/ _2) \ 316 ((__m128i)__builtin_lsx_vbitrevi_b((v16u8)(_1), (_2))) 317 318 #define __lsx_vbitrevi_h(/*__m128i*/ _1, /*ui4*/ _2) \ 319 ((__m128i)__builtin_lsx_vbitrevi_h((v8u16)(_1), (_2))) 320 321 #define __lsx_vbitrevi_w(/*__m128i*/ _1, /*ui5*/ _2) \ 322 ((__m128i)__builtin_lsx_vbitrevi_w((v4u32)(_1), (_2))) 323 324 #define __lsx_vbitrevi_d(/*__m128i*/ _1, /*ui6*/ _2) \ 325 ((__m128i)__builtin_lsx_vbitrevi_d((v2u64)(_1), (_2))) 326 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); 331 } 332 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); 337 } 338 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); 343 } 344 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); 349 } 350 351 #define __lsx_vaddi_bu(/*__m128i*/ _1, /*ui5*/ _2) \ 352 ((__m128i)__builtin_lsx_vaddi_bu((v16i8)(_1), (_2))) 353 354 #define __lsx_vaddi_hu(/*__m128i*/ _1, /*ui5*/ _2) \ 355 ((__m128i)__builtin_lsx_vaddi_hu((v8i16)(_1), (_2))) 356 357 #define __lsx_vaddi_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 358 ((__m128i)__builtin_lsx_vaddi_wu((v4i32)(_1), (_2))) 359 360 #define __lsx_vaddi_du(/*__m128i*/ _1, /*ui5*/ _2) \ 361 ((__m128i)__builtin_lsx_vaddi_du((v2i64)(_1), (_2))) 362 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); 367 } 368 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); 373 } 374 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); 379 } 380 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); 385 } 386 387 #define __lsx_vsubi_bu(/*__m128i*/ _1, /*ui5*/ _2) \ 388 ((__m128i)__builtin_lsx_vsubi_bu((v16i8)(_1), (_2))) 389 390 #define __lsx_vsubi_hu(/*__m128i*/ _1, /*ui5*/ _2) \ 391 ((__m128i)__builtin_lsx_vsubi_hu((v8i16)(_1), (_2))) 392 393 #define __lsx_vsubi_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 394 ((__m128i)__builtin_lsx_vsubi_wu((v4i32)(_1), (_2))) 395 396 #define __lsx_vsubi_du(/*__m128i*/ _1, /*ui5*/ _2) \ 397 ((__m128i)__builtin_lsx_vsubi_du((v2i64)(_1), (_2))) 398 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); 403 } 404 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); 409 } 410 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); 415 } 416 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); 421 } 422 423 #define __lsx_vmaxi_b(/*__m128i*/ _1, /*si5*/ _2) \ 424 ((__m128i)__builtin_lsx_vmaxi_b((v16i8)(_1), (_2))) 425 426 #define __lsx_vmaxi_h(/*__m128i*/ _1, /*si5*/ _2) \ 427 ((__m128i)__builtin_lsx_vmaxi_h((v8i16)(_1), (_2))) 428 429 #define __lsx_vmaxi_w(/*__m128i*/ _1, /*si5*/ _2) \ 430 ((__m128i)__builtin_lsx_vmaxi_w((v4i32)(_1), (_2))) 431 432 #define __lsx_vmaxi_d(/*__m128i*/ _1, /*si5*/ _2) \ 433 ((__m128i)__builtin_lsx_vmaxi_d((v2i64)(_1), (_2))) 434 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); 439 } 440 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); 445 } 446 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); 451 } 452 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); 457 } 458 459 #define __lsx_vmaxi_bu(/*__m128i*/ _1, /*ui5*/ _2) \ 460 ((__m128i)__builtin_lsx_vmaxi_bu((v16u8)(_1), (_2))) 461 462 #define __lsx_vmaxi_hu(/*__m128i*/ _1, /*ui5*/ _2) \ 463 ((__m128i)__builtin_lsx_vmaxi_hu((v8u16)(_1), (_2))) 464 465 #define __lsx_vmaxi_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 466 ((__m128i)__builtin_lsx_vmaxi_wu((v4u32)(_1), (_2))) 467 468 #define __lsx_vmaxi_du(/*__m128i*/ _1, /*ui5*/ _2) \ 469 ((__m128i)__builtin_lsx_vmaxi_du((v2u64)(_1), (_2))) 470 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); 475 } 476 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); 481 } 482 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); 487 } 488 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); 493 } 494 495 #define __lsx_vmini_b(/*__m128i*/ _1, /*si5*/ _2) \ 496 ((__m128i)__builtin_lsx_vmini_b((v16i8)(_1), (_2))) 497 498 #define __lsx_vmini_h(/*__m128i*/ _1, /*si5*/ _2) \ 499 ((__m128i)__builtin_lsx_vmini_h((v8i16)(_1), (_2))) 500 501 #define __lsx_vmini_w(/*__m128i*/ _1, /*si5*/ _2) \ 502 ((__m128i)__builtin_lsx_vmini_w((v4i32)(_1), (_2))) 503 504 #define __lsx_vmini_d(/*__m128i*/ _1, /*si5*/ _2) \ 505 ((__m128i)__builtin_lsx_vmini_d((v2i64)(_1), (_2))) 506 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); 511 } 512 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); 517 } 518 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); 523 } 524 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); 529 } 530 531 #define __lsx_vmini_bu(/*__m128i*/ _1, /*ui5*/ _2) \ 532 ((__m128i)__builtin_lsx_vmini_bu((v16u8)(_1), (_2))) 533 534 #define __lsx_vmini_hu(/*__m128i*/ _1, /*ui5*/ _2) \ 535 ((__m128i)__builtin_lsx_vmini_hu((v8u16)(_1), (_2))) 536 537 #define __lsx_vmini_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 538 ((__m128i)__builtin_lsx_vmini_wu((v4u32)(_1), (_2))) 539 540 #define __lsx_vmini_du(/*__m128i*/ _1, /*ui5*/ _2) \ 541 ((__m128i)__builtin_lsx_vmini_du((v2u64)(_1), (_2))) 542 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); 547 } 548 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); 553 } 554 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); 559 } 560 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); 565 } 566 567 #define __lsx_vseqi_b(/*__m128i*/ _1, /*si5*/ _2) \ 568 ((__m128i)__builtin_lsx_vseqi_b((v16i8)(_1), (_2))) 569 570 #define __lsx_vseqi_h(/*__m128i*/ _1, /*si5*/ _2) \ 571 ((__m128i)__builtin_lsx_vseqi_h((v8i16)(_1), (_2))) 572 573 #define __lsx_vseqi_w(/*__m128i*/ _1, /*si5*/ _2) \ 574 ((__m128i)__builtin_lsx_vseqi_w((v4i32)(_1), (_2))) 575 576 #define __lsx_vseqi_d(/*__m128i*/ _1, /*si5*/ _2) \ 577 ((__m128i)__builtin_lsx_vseqi_d((v2i64)(_1), (_2))) 578 579 #define __lsx_vslti_b(/*__m128i*/ _1, /*si5*/ _2) \ 580 ((__m128i)__builtin_lsx_vslti_b((v16i8)(_1), (_2))) 581 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); 586 } 587 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); 592 } 593 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); 598 } 599 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); 604 } 605 606 #define __lsx_vslti_h(/*__m128i*/ _1, /*si5*/ _2) \ 607 ((__m128i)__builtin_lsx_vslti_h((v8i16)(_1), (_2))) 608 609 #define __lsx_vslti_w(/*__m128i*/ _1, /*si5*/ _2) \ 610 ((__m128i)__builtin_lsx_vslti_w((v4i32)(_1), (_2))) 611 612 #define __lsx_vslti_d(/*__m128i*/ _1, /*si5*/ _2) \ 613 ((__m128i)__builtin_lsx_vslti_d((v2i64)(_1), (_2))) 614 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); 619 } 620 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); 625 } 626 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); 631 } 632 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); 637 } 638 639 #define __lsx_vslti_bu(/*__m128i*/ _1, /*ui5*/ _2) \ 640 ((__m128i)__builtin_lsx_vslti_bu((v16u8)(_1), (_2))) 641 642 #define __lsx_vslti_hu(/*__m128i*/ _1, /*ui5*/ _2) \ 643 ((__m128i)__builtin_lsx_vslti_hu((v8u16)(_1), (_2))) 644 645 #define __lsx_vslti_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 646 ((__m128i)__builtin_lsx_vslti_wu((v4u32)(_1), (_2))) 647 648 #define __lsx_vslti_du(/*__m128i*/ _1, /*ui5*/ _2) \ 649 ((__m128i)__builtin_lsx_vslti_du((v2u64)(_1), (_2))) 650 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); 655 } 656 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); 661 } 662 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); 667 } 668 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); 673 } 674 675 #define __lsx_vslei_b(/*__m128i*/ _1, /*si5*/ _2) \ 676 ((__m128i)__builtin_lsx_vslei_b((v16i8)(_1), (_2))) 677 678 #define __lsx_vslei_h(/*__m128i*/ _1, /*si5*/ _2) \ 679 ((__m128i)__builtin_lsx_vslei_h((v8i16)(_1), (_2))) 680 681 #define __lsx_vslei_w(/*__m128i*/ _1, /*si5*/ _2) \ 682 ((__m128i)__builtin_lsx_vslei_w((v4i32)(_1), (_2))) 683 684 #define __lsx_vslei_d(/*__m128i*/ _1, /*si5*/ _2) \ 685 ((__m128i)__builtin_lsx_vslei_d((v2i64)(_1), (_2))) 686 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); 691 } 692 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); 697 } 698 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); 703 } 704 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); 709 } 710 711 #define __lsx_vslei_bu(/*__m128i*/ _1, /*ui5*/ _2) \ 712 ((__m128i)__builtin_lsx_vslei_bu((v16u8)(_1), (_2))) 713 714 #define __lsx_vslei_hu(/*__m128i*/ _1, /*ui5*/ _2) \ 715 ((__m128i)__builtin_lsx_vslei_hu((v8u16)(_1), (_2))) 716 717 #define __lsx_vslei_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 718 ((__m128i)__builtin_lsx_vslei_wu((v4u32)(_1), (_2))) 719 720 #define __lsx_vslei_du(/*__m128i*/ _1, /*ui5*/ _2) \ 721 ((__m128i)__builtin_lsx_vslei_du((v2u64)(_1), (_2))) 722 723 #define __lsx_vsat_b(/*__m128i*/ _1, /*ui3*/ _2) \ 724 ((__m128i)__builtin_lsx_vsat_b((v16i8)(_1), (_2))) 725 726 #define __lsx_vsat_h(/*__m128i*/ _1, /*ui4*/ _2) \ 727 ((__m128i)__builtin_lsx_vsat_h((v8i16)(_1), (_2))) 728 729 #define __lsx_vsat_w(/*__m128i*/ _1, /*ui5*/ _2) \ 730 ((__m128i)__builtin_lsx_vsat_w((v4i32)(_1), (_2))) 731 732 #define __lsx_vsat_d(/*__m128i*/ _1, /*ui6*/ _2) \ 733 ((__m128i)__builtin_lsx_vsat_d((v2i64)(_1), (_2))) 734 735 #define __lsx_vsat_bu(/*__m128i*/ _1, /*ui3*/ _2) \ 736 ((__m128i)__builtin_lsx_vsat_bu((v16u8)(_1), (_2))) 737 738 #define __lsx_vsat_hu(/*__m128i*/ _1, /*ui4*/ _2) \ 739 ((__m128i)__builtin_lsx_vsat_hu((v8u16)(_1), (_2))) 740 741 #define __lsx_vsat_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 742 ((__m128i)__builtin_lsx_vsat_wu((v4u32)(_1), (_2))) 743 744 #define __lsx_vsat_du(/*__m128i*/ _1, /*ui6*/ _2) \ 745 ((__m128i)__builtin_lsx_vsat_du((v2u64)(_1), (_2))) 746 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); 751 } 752 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); 757 } 758 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); 763 } 764 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); 769 } 770 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); 775 } 776 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); 781 } 782 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); 787 } 788 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); 793 } 794 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); 799 } 800 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); 805 } 806 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); 811 } 812 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); 817 } 818 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); 823 } 824 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); 829 } 830 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); 835 } 836 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); 841 } 842 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); 847 } 848 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); 853 } 854 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); 859 } 860 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); 865 } 866 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); 871 } 872 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); 877 } 878 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); 883 } 884 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); 889 } 890 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); 895 } 896 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); 901 } 902 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); 907 } 908 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); 913 } 914 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); 919 } 920 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); 925 } 926 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); 931 } 932 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); 937 } 938 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); 943 } 944 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); 949 } 950 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); 955 } 956 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); 961 } 962 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); 967 } 968 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); 973 } 974 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); 979 } 980 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); 985 } 986 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); 991 } 992 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); 997 } 998 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); 1003 } 1004 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); 1009 } 1010 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); 1015 } 1016 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); 1021 } 1022 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); 1027 } 1028 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); 1033 } 1034 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); 1039 } 1040 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); 1045 } 1046 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); 1051 } 1052 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); 1057 } 1058 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); 1063 } 1064 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); 1069 } 1070 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); 1075 } 1076 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); 1081 } 1082 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); 1087 } 1088 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); 1093 } 1094 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); 1099 } 1100 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); 1105 } 1106 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); 1111 } 1112 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); 1117 } 1118 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); 1123 } 1124 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); 1129 } 1130 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); 1135 } 1136 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); 1141 } 1142 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); 1147 } 1148 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); 1153 } 1154 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); 1159 } 1160 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); 1165 } 1166 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); 1171 } 1172 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); 1177 } 1178 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); 1183 } 1184 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); 1189 } 1190 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); 1195 } 1196 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); 1201 } 1202 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); 1207 } 1208 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); 1213 } 1214 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); 1219 } 1220 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); 1225 } 1226 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); 1231 } 1232 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); 1237 } 1238 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); 1243 } 1244 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); 1249 } 1250 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); 1255 } 1256 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); 1261 } 1262 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); 1267 } 1268 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); 1273 } 1274 1275 #define __lsx_vreplvei_b(/*__m128i*/ _1, /*ui4*/ _2) \ 1276 ((__m128i)__builtin_lsx_vreplvei_b((v16i8)(_1), (_2))) 1277 1278 #define __lsx_vreplvei_h(/*__m128i*/ _1, /*ui3*/ _2) \ 1279 ((__m128i)__builtin_lsx_vreplvei_h((v8i16)(_1), (_2))) 1280 1281 #define __lsx_vreplvei_w(/*__m128i*/ _1, /*ui2*/ _2) \ 1282 ((__m128i)__builtin_lsx_vreplvei_w((v4i32)(_1), (_2))) 1283 1284 #define __lsx_vreplvei_d(/*__m128i*/ _1, /*ui1*/ _2) \ 1285 ((__m128i)__builtin_lsx_vreplvei_d((v2i64)(_1), (_2))) 1286 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); 1291 } 1292 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); 1297 } 1298 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); 1303 } 1304 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); 1309 } 1310 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); 1315 } 1316 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); 1321 } 1322 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); 1327 } 1328 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); 1333 } 1334 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); 1339 } 1340 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); 1345 } 1346 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); 1351 } 1352 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); 1357 } 1358 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); 1363 } 1364 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); 1369 } 1370 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); 1375 } 1376 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); 1381 } 1382 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); 1387 } 1388 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); 1393 } 1394 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); 1399 } 1400 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); 1405 } 1406 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); 1411 } 1412 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); 1417 } 1418 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); 1423 } 1424 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); 1429 } 1430 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); 1435 } 1436 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); 1441 } 1442 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); 1447 } 1448 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); 1453 } 1454 1455 #define __lsx_vandi_b(/*__m128i*/ _1, /*ui8*/ _2) \ 1456 ((__m128i)__builtin_lsx_vandi_b((v16u8)(_1), (_2))) 1457 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); 1462 } 1463 1464 #define __lsx_vori_b(/*__m128i*/ _1, /*ui8*/ _2) \ 1465 ((__m128i)__builtin_lsx_vori_b((v16u8)(_1), (_2))) 1466 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); 1471 } 1472 1473 #define __lsx_vnori_b(/*__m128i*/ _1, /*ui8*/ _2) \ 1474 ((__m128i)__builtin_lsx_vnori_b((v16u8)(_1), (_2))) 1475 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); 1480 } 1481 1482 #define __lsx_vxori_b(/*__m128i*/ _1, /*ui8*/ _2) \ 1483 ((__m128i)__builtin_lsx_vxori_b((v16u8)(_1), (_2))) 1484 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); 1489 } 1490 1491 #define __lsx_vbitseli_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 1492 ((__m128i)__builtin_lsx_vbitseli_b((v16u8)(_1), (v16u8)(_2), (_3))) 1493 1494 #define __lsx_vshuf4i_b(/*__m128i*/ _1, /*ui8*/ _2) \ 1495 ((__m128i)__builtin_lsx_vshuf4i_b((v16i8)(_1), (_2))) 1496 1497 #define __lsx_vshuf4i_h(/*__m128i*/ _1, /*ui8*/ _2) \ 1498 ((__m128i)__builtin_lsx_vshuf4i_h((v8i16)(_1), (_2))) 1499 1500 #define __lsx_vshuf4i_w(/*__m128i*/ _1, /*ui8*/ _2) \ 1501 ((__m128i)__builtin_lsx_vshuf4i_w((v4i32)(_1), (_2))) 1502 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); 1507 } 1508 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); 1513 } 1514 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); 1519 } 1520 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); 1525 } 1526 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); 1531 } 1532 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); 1537 } 1538 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); 1543 } 1544 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); 1549 } 1550 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); 1555 } 1556 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); 1561 } 1562 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); 1567 } 1568 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); 1573 } 1574 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); 1579 } 1580 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); 1585 } 1586 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); 1591 } 1592 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); 1597 } 1598 1599 #define __lsx_vpickve2gr_b(/*__m128i*/ _1, /*ui4*/ _2) \ 1600 ((int)__builtin_lsx_vpickve2gr_b((v16i8)(_1), (_2))) 1601 1602 #define __lsx_vpickve2gr_h(/*__m128i*/ _1, /*ui3*/ _2) \ 1603 ((int)__builtin_lsx_vpickve2gr_h((v8i16)(_1), (_2))) 1604 1605 #define __lsx_vpickve2gr_w(/*__m128i*/ _1, /*ui2*/ _2) \ 1606 ((int)__builtin_lsx_vpickve2gr_w((v4i32)(_1), (_2))) 1607 1608 #define __lsx_vpickve2gr_d(/*__m128i*/ _1, /*ui1*/ _2) \ 1609 ((long int)__builtin_lsx_vpickve2gr_d((v2i64)(_1), (_2))) 1610 1611 #define __lsx_vpickve2gr_bu(/*__m128i*/ _1, /*ui4*/ _2) \ 1612 ((unsigned int)__builtin_lsx_vpickve2gr_bu((v16i8)(_1), (_2))) 1613 1614 #define __lsx_vpickve2gr_hu(/*__m128i*/ _1, /*ui3*/ _2) \ 1615 ((unsigned int)__builtin_lsx_vpickve2gr_hu((v8i16)(_1), (_2))) 1616 1617 #define __lsx_vpickve2gr_wu(/*__m128i*/ _1, /*ui2*/ _2) \ 1618 ((unsigned int)__builtin_lsx_vpickve2gr_wu((v4i32)(_1), (_2))) 1619 1620 #define __lsx_vpickve2gr_du(/*__m128i*/ _1, /*ui1*/ _2) \ 1621 ((unsigned long int)__builtin_lsx_vpickve2gr_du((v2i64)(_1), (_2))) 1622 1623 #define __lsx_vinsgr2vr_b(/*__m128i*/ _1, /*int*/ _2, /*ui4*/ _3) \ 1624 ((__m128i)__builtin_lsx_vinsgr2vr_b((v16i8)(_1), (int)(_2), (_3))) 1625 1626 #define __lsx_vinsgr2vr_h(/*__m128i*/ _1, /*int*/ _2, /*ui3*/ _3) \ 1627 ((__m128i)__builtin_lsx_vinsgr2vr_h((v8i16)(_1), (int)(_2), (_3))) 1628 1629 #define __lsx_vinsgr2vr_w(/*__m128i*/ _1, /*int*/ _2, /*ui2*/ _3) \ 1630 ((__m128i)__builtin_lsx_vinsgr2vr_w((v4i32)(_1), (int)(_2), (_3))) 1631 1632 #define __lsx_vinsgr2vr_d(/*__m128i*/ _1, /*long int*/ _2, /*ui1*/ _3) \ 1633 ((__m128i)__builtin_lsx_vinsgr2vr_d((v2i64)(_1), (long int)(_2), (_3))) 1634 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); 1639 } 1640 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); 1645 } 1646 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); 1651 } 1652 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); 1657 } 1658 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); 1663 } 1664 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); 1669 } 1670 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); 1675 } 1676 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); 1681 } 1682 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); 1687 } 1688 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); 1693 } 1694 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); 1699 } 1700 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); 1705 } 1706 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); 1711 } 1712 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); 1717 } 1718 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); 1723 } 1724 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); 1729 } 1730 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); 1735 } 1736 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); 1741 } 1742 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); 1747 } 1748 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); 1753 } 1754 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); 1759 } 1760 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); 1765 } 1766 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); 1771 } 1772 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); 1777 } 1778 1779 extern __inline 1780 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1781 __lsx_vfrecipe_s(__m128 _1) { 1782 return (__m128)__builtin_lsx_vfrecipe_s((v4f32)_1); 1783 } 1784 1785 extern __inline 1786 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1787 __lsx_vfrecipe_d(__m128d _1) { 1788 return (__m128d)__builtin_lsx_vfrecipe_d((v2f64)_1); 1789 } 1790 1791 extern __inline 1792 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1793 __lsx_vfrint_s(__m128 _1) { 1794 return (__m128)__builtin_lsx_vfrint_s((v4f32)_1); 1795 } 1796 1797 extern __inline 1798 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1799 __lsx_vfrint_d(__m128d _1) { 1800 return (__m128d)__builtin_lsx_vfrint_d((v2f64)_1); 1801 } 1802 1803 extern __inline 1804 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1805 __lsx_vfrsqrt_s(__m128 _1) { 1806 return (__m128)__builtin_lsx_vfrsqrt_s((v4f32)_1); 1807 } 1808 1809 extern __inline 1810 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1811 __lsx_vfrsqrt_d(__m128d _1) { 1812 return (__m128d)__builtin_lsx_vfrsqrt_d((v2f64)_1); 1813 } 1814 1815 extern __inline 1816 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1817 __lsx_vfrsqrte_s(__m128 _1) { 1818 return (__m128)__builtin_lsx_vfrsqrte_s((v4f32)_1); 1819 } 1820 1821 extern __inline 1822 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1823 __lsx_vfrsqrte_d(__m128d _1) { 1824 return (__m128d)__builtin_lsx_vfrsqrte_d((v2f64)_1); 1825 } 1826 1827 extern __inline 1828 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1829 __lsx_vflogb_s(__m128 _1) { 1830 return (__m128)__builtin_lsx_vflogb_s((v4f32)_1); 1831 } 1832 1833 extern __inline 1834 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1835 __lsx_vflogb_d(__m128d _1) { 1836 return (__m128d)__builtin_lsx_vflogb_d((v2f64)_1); 1837 } 1838 1839 extern __inline 1840 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1841 __lsx_vfcvth_s_h(__m128i _1) { 1842 return (__m128)__builtin_lsx_vfcvth_s_h((v8i16)_1); 1843 } 1844 1845 extern __inline 1846 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1847 __lsx_vfcvth_d_s(__m128 _1) { 1848 return (__m128d)__builtin_lsx_vfcvth_d_s((v4f32)_1); 1849 } 1850 1851 extern __inline 1852 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1853 __lsx_vfcvtl_s_h(__m128i _1) { 1854 return (__m128)__builtin_lsx_vfcvtl_s_h((v8i16)_1); 1855 } 1856 1857 extern __inline 1858 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1859 __lsx_vfcvtl_d_s(__m128 _1) { 1860 return (__m128d)__builtin_lsx_vfcvtl_d_s((v4f32)_1); 1861 } 1862 1863 extern __inline 1864 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1865 __lsx_vftint_w_s(__m128 _1) { 1866 return (__m128i)__builtin_lsx_vftint_w_s((v4f32)_1); 1867 } 1868 1869 extern __inline 1870 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1871 __lsx_vftint_l_d(__m128d _1) { 1872 return (__m128i)__builtin_lsx_vftint_l_d((v2f64)_1); 1873 } 1874 1875 extern __inline 1876 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1877 __lsx_vftint_wu_s(__m128 _1) { 1878 return (__m128i)__builtin_lsx_vftint_wu_s((v4f32)_1); 1879 } 1880 1881 extern __inline 1882 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1883 __lsx_vftint_lu_d(__m128d _1) { 1884 return (__m128i)__builtin_lsx_vftint_lu_d((v2f64)_1); 1885 } 1886 1887 extern __inline 1888 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1889 __lsx_vftintrz_w_s(__m128 _1) { 1890 return (__m128i)__builtin_lsx_vftintrz_w_s((v4f32)_1); 1891 } 1892 1893 extern __inline 1894 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1895 __lsx_vftintrz_l_d(__m128d _1) { 1896 return (__m128i)__builtin_lsx_vftintrz_l_d((v2f64)_1); 1897 } 1898 1899 extern __inline 1900 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1901 __lsx_vftintrz_wu_s(__m128 _1) { 1902 return (__m128i)__builtin_lsx_vftintrz_wu_s((v4f32)_1); 1903 } 1904 1905 extern __inline 1906 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1907 __lsx_vftintrz_lu_d(__m128d _1) { 1908 return (__m128i)__builtin_lsx_vftintrz_lu_d((v2f64)_1); 1909 } 1910 1911 extern __inline 1912 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1913 __lsx_vffint_s_w(__m128i _1) { 1914 return (__m128)__builtin_lsx_vffint_s_w((v4i32)_1); 1915 } 1916 1917 extern __inline 1918 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1919 __lsx_vffint_d_l(__m128i _1) { 1920 return (__m128d)__builtin_lsx_vffint_d_l((v2i64)_1); 1921 } 1922 1923 extern __inline 1924 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 1925 __lsx_vffint_s_wu(__m128i _1) { 1926 return (__m128)__builtin_lsx_vffint_s_wu((v4u32)_1); 1927 } 1928 1929 extern __inline 1930 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 1931 __lsx_vffint_d_lu(__m128i _1) { 1932 return (__m128d)__builtin_lsx_vffint_d_lu((v2u64)_1); 1933 } 1934 1935 extern __inline 1936 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1937 __lsx_vandn_v(__m128i _1, __m128i _2) { 1938 return (__m128i)__builtin_lsx_vandn_v((v16u8)_1, (v16u8)_2); 1939 } 1940 1941 extern __inline 1942 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1943 __lsx_vneg_b(__m128i _1) { 1944 return (__m128i)__builtin_lsx_vneg_b((v16i8)_1); 1945 } 1946 1947 extern __inline 1948 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1949 __lsx_vneg_h(__m128i _1) { 1950 return (__m128i)__builtin_lsx_vneg_h((v8i16)_1); 1951 } 1952 1953 extern __inline 1954 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1955 __lsx_vneg_w(__m128i _1) { 1956 return (__m128i)__builtin_lsx_vneg_w((v4i32)_1); 1957 } 1958 1959 extern __inline 1960 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1961 __lsx_vneg_d(__m128i _1) { 1962 return (__m128i)__builtin_lsx_vneg_d((v2i64)_1); 1963 } 1964 1965 extern __inline 1966 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1967 __lsx_vmuh_b(__m128i _1, __m128i _2) { 1968 return (__m128i)__builtin_lsx_vmuh_b((v16i8)_1, (v16i8)_2); 1969 } 1970 1971 extern __inline 1972 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1973 __lsx_vmuh_h(__m128i _1, __m128i _2) { 1974 return (__m128i)__builtin_lsx_vmuh_h((v8i16)_1, (v8i16)_2); 1975 } 1976 1977 extern __inline 1978 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1979 __lsx_vmuh_w(__m128i _1, __m128i _2) { 1980 return (__m128i)__builtin_lsx_vmuh_w((v4i32)_1, (v4i32)_2); 1981 } 1982 1983 extern __inline 1984 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1985 __lsx_vmuh_d(__m128i _1, __m128i _2) { 1986 return (__m128i)__builtin_lsx_vmuh_d((v2i64)_1, (v2i64)_2); 1987 } 1988 1989 extern __inline 1990 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1991 __lsx_vmuh_bu(__m128i _1, __m128i _2) { 1992 return (__m128i)__builtin_lsx_vmuh_bu((v16u8)_1, (v16u8)_2); 1993 } 1994 1995 extern __inline 1996 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 1997 __lsx_vmuh_hu(__m128i _1, __m128i _2) { 1998 return (__m128i)__builtin_lsx_vmuh_hu((v8u16)_1, (v8u16)_2); 1999 } 2000 2001 extern __inline 2002 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2003 __lsx_vmuh_wu(__m128i _1, __m128i _2) { 2004 return (__m128i)__builtin_lsx_vmuh_wu((v4u32)_1, (v4u32)_2); 2005 } 2006 2007 extern __inline 2008 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2009 __lsx_vmuh_du(__m128i _1, __m128i _2) { 2010 return (__m128i)__builtin_lsx_vmuh_du((v2u64)_1, (v2u64)_2); 2011 } 2012 2013 #define __lsx_vsllwil_h_b(/*__m128i*/ _1, /*ui3*/ _2) \ 2014 ((__m128i)__builtin_lsx_vsllwil_h_b((v16i8)(_1), (_2))) 2015 2016 #define __lsx_vsllwil_w_h(/*__m128i*/ _1, /*ui4*/ _2) \ 2017 ((__m128i)__builtin_lsx_vsllwil_w_h((v8i16)(_1), (_2))) 2018 2019 #define __lsx_vsllwil_d_w(/*__m128i*/ _1, /*ui5*/ _2) \ 2020 ((__m128i)__builtin_lsx_vsllwil_d_w((v4i32)(_1), (_2))) 2021 2022 #define __lsx_vsllwil_hu_bu(/*__m128i*/ _1, /*ui3*/ _2) \ 2023 ((__m128i)__builtin_lsx_vsllwil_hu_bu((v16u8)(_1), (_2))) 2024 2025 #define __lsx_vsllwil_wu_hu(/*__m128i*/ _1, /*ui4*/ _2) \ 2026 ((__m128i)__builtin_lsx_vsllwil_wu_hu((v8u16)(_1), (_2))) 2027 2028 #define __lsx_vsllwil_du_wu(/*__m128i*/ _1, /*ui5*/ _2) \ 2029 ((__m128i)__builtin_lsx_vsllwil_du_wu((v4u32)(_1), (_2))) 2030 2031 extern __inline 2032 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2033 __lsx_vsran_b_h(__m128i _1, __m128i _2) { 2034 return (__m128i)__builtin_lsx_vsran_b_h((v8i16)_1, (v8i16)_2); 2035 } 2036 2037 extern __inline 2038 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2039 __lsx_vsran_h_w(__m128i _1, __m128i _2) { 2040 return (__m128i)__builtin_lsx_vsran_h_w((v4i32)_1, (v4i32)_2); 2041 } 2042 2043 extern __inline 2044 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2045 __lsx_vsran_w_d(__m128i _1, __m128i _2) { 2046 return (__m128i)__builtin_lsx_vsran_w_d((v2i64)_1, (v2i64)_2); 2047 } 2048 2049 extern __inline 2050 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2051 __lsx_vssran_b_h(__m128i _1, __m128i _2) { 2052 return (__m128i)__builtin_lsx_vssran_b_h((v8i16)_1, (v8i16)_2); 2053 } 2054 2055 extern __inline 2056 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2057 __lsx_vssran_h_w(__m128i _1, __m128i _2) { 2058 return (__m128i)__builtin_lsx_vssran_h_w((v4i32)_1, (v4i32)_2); 2059 } 2060 2061 extern __inline 2062 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2063 __lsx_vssran_w_d(__m128i _1, __m128i _2) { 2064 return (__m128i)__builtin_lsx_vssran_w_d((v2i64)_1, (v2i64)_2); 2065 } 2066 2067 extern __inline 2068 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2069 __lsx_vssran_bu_h(__m128i _1, __m128i _2) { 2070 return (__m128i)__builtin_lsx_vssran_bu_h((v8u16)_1, (v8u16)_2); 2071 } 2072 2073 extern __inline 2074 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2075 __lsx_vssran_hu_w(__m128i _1, __m128i _2) { 2076 return (__m128i)__builtin_lsx_vssran_hu_w((v4u32)_1, (v4u32)_2); 2077 } 2078 2079 extern __inline 2080 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2081 __lsx_vssran_wu_d(__m128i _1, __m128i _2) { 2082 return (__m128i)__builtin_lsx_vssran_wu_d((v2u64)_1, (v2u64)_2); 2083 } 2084 2085 extern __inline 2086 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2087 __lsx_vsrarn_b_h(__m128i _1, __m128i _2) { 2088 return (__m128i)__builtin_lsx_vsrarn_b_h((v8i16)_1, (v8i16)_2); 2089 } 2090 2091 extern __inline 2092 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2093 __lsx_vsrarn_h_w(__m128i _1, __m128i _2) { 2094 return (__m128i)__builtin_lsx_vsrarn_h_w((v4i32)_1, (v4i32)_2); 2095 } 2096 2097 extern __inline 2098 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2099 __lsx_vsrarn_w_d(__m128i _1, __m128i _2) { 2100 return (__m128i)__builtin_lsx_vsrarn_w_d((v2i64)_1, (v2i64)_2); 2101 } 2102 2103 extern __inline 2104 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2105 __lsx_vssrarn_b_h(__m128i _1, __m128i _2) { 2106 return (__m128i)__builtin_lsx_vssrarn_b_h((v8i16)_1, (v8i16)_2); 2107 } 2108 2109 extern __inline 2110 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2111 __lsx_vssrarn_h_w(__m128i _1, __m128i _2) { 2112 return (__m128i)__builtin_lsx_vssrarn_h_w((v4i32)_1, (v4i32)_2); 2113 } 2114 2115 extern __inline 2116 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2117 __lsx_vssrarn_w_d(__m128i _1, __m128i _2) { 2118 return (__m128i)__builtin_lsx_vssrarn_w_d((v2i64)_1, (v2i64)_2); 2119 } 2120 2121 extern __inline 2122 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2123 __lsx_vssrarn_bu_h(__m128i _1, __m128i _2) { 2124 return (__m128i)__builtin_lsx_vssrarn_bu_h((v8u16)_1, (v8u16)_2); 2125 } 2126 2127 extern __inline 2128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2129 __lsx_vssrarn_hu_w(__m128i _1, __m128i _2) { 2130 return (__m128i)__builtin_lsx_vssrarn_hu_w((v4u32)_1, (v4u32)_2); 2131 } 2132 2133 extern __inline 2134 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2135 __lsx_vssrarn_wu_d(__m128i _1, __m128i _2) { 2136 return (__m128i)__builtin_lsx_vssrarn_wu_d((v2u64)_1, (v2u64)_2); 2137 } 2138 2139 extern __inline 2140 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2141 __lsx_vsrln_b_h(__m128i _1, __m128i _2) { 2142 return (__m128i)__builtin_lsx_vsrln_b_h((v8i16)_1, (v8i16)_2); 2143 } 2144 2145 extern __inline 2146 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2147 __lsx_vsrln_h_w(__m128i _1, __m128i _2) { 2148 return (__m128i)__builtin_lsx_vsrln_h_w((v4i32)_1, (v4i32)_2); 2149 } 2150 2151 extern __inline 2152 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2153 __lsx_vsrln_w_d(__m128i _1, __m128i _2) { 2154 return (__m128i)__builtin_lsx_vsrln_w_d((v2i64)_1, (v2i64)_2); 2155 } 2156 2157 extern __inline 2158 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2159 __lsx_vssrln_bu_h(__m128i _1, __m128i _2) { 2160 return (__m128i)__builtin_lsx_vssrln_bu_h((v8u16)_1, (v8u16)_2); 2161 } 2162 2163 extern __inline 2164 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2165 __lsx_vssrln_hu_w(__m128i _1, __m128i _2) { 2166 return (__m128i)__builtin_lsx_vssrln_hu_w((v4u32)_1, (v4u32)_2); 2167 } 2168 2169 extern __inline 2170 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2171 __lsx_vssrln_wu_d(__m128i _1, __m128i _2) { 2172 return (__m128i)__builtin_lsx_vssrln_wu_d((v2u64)_1, (v2u64)_2); 2173 } 2174 2175 extern __inline 2176 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2177 __lsx_vsrlrn_b_h(__m128i _1, __m128i _2) { 2178 return (__m128i)__builtin_lsx_vsrlrn_b_h((v8i16)_1, (v8i16)_2); 2179 } 2180 2181 extern __inline 2182 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2183 __lsx_vsrlrn_h_w(__m128i _1, __m128i _2) { 2184 return (__m128i)__builtin_lsx_vsrlrn_h_w((v4i32)_1, (v4i32)_2); 2185 } 2186 2187 extern __inline 2188 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2189 __lsx_vsrlrn_w_d(__m128i _1, __m128i _2) { 2190 return (__m128i)__builtin_lsx_vsrlrn_w_d((v2i64)_1, (v2i64)_2); 2191 } 2192 2193 extern __inline 2194 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2195 __lsx_vssrlrn_bu_h(__m128i _1, __m128i _2) { 2196 return (__m128i)__builtin_lsx_vssrlrn_bu_h((v8u16)_1, (v8u16)_2); 2197 } 2198 2199 extern __inline 2200 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2201 __lsx_vssrlrn_hu_w(__m128i _1, __m128i _2) { 2202 return (__m128i)__builtin_lsx_vssrlrn_hu_w((v4u32)_1, (v4u32)_2); 2203 } 2204 2205 extern __inline 2206 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2207 __lsx_vssrlrn_wu_d(__m128i _1, __m128i _2) { 2208 return (__m128i)__builtin_lsx_vssrlrn_wu_d((v2u64)_1, (v2u64)_2); 2209 } 2210 2211 #define __lsx_vfrstpi_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 2212 ((__m128i)__builtin_lsx_vfrstpi_b((v16i8)(_1), (v16i8)(_2), (_3))) 2213 2214 #define __lsx_vfrstpi_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 2215 ((__m128i)__builtin_lsx_vfrstpi_h((v8i16)(_1), (v8i16)(_2), (_3))) 2216 2217 extern __inline 2218 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2219 __lsx_vfrstp_b(__m128i _1, __m128i _2, __m128i _3) { 2220 return (__m128i)__builtin_lsx_vfrstp_b((v16i8)_1, (v16i8)_2, (v16i8)_3); 2221 } 2222 2223 extern __inline 2224 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2225 __lsx_vfrstp_h(__m128i _1, __m128i _2, __m128i _3) { 2226 return (__m128i)__builtin_lsx_vfrstp_h((v8i16)_1, (v8i16)_2, (v8i16)_3); 2227 } 2228 2229 #define __lsx_vshuf4i_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 2230 ((__m128i)__builtin_lsx_vshuf4i_d((v2i64)(_1), (v2i64)(_2), (_3))) 2231 2232 #define __lsx_vbsrl_v(/*__m128i*/ _1, /*ui5*/ _2) \ 2233 ((__m128i)__builtin_lsx_vbsrl_v((v16i8)(_1), (_2))) 2234 2235 #define __lsx_vbsll_v(/*__m128i*/ _1, /*ui5*/ _2) \ 2236 ((__m128i)__builtin_lsx_vbsll_v((v16i8)(_1), (_2))) 2237 2238 #define __lsx_vextrins_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 2239 ((__m128i)__builtin_lsx_vextrins_b((v16i8)(_1), (v16i8)(_2), (_3))) 2240 2241 #define __lsx_vextrins_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 2242 ((__m128i)__builtin_lsx_vextrins_h((v8i16)(_1), (v8i16)(_2), (_3))) 2243 2244 #define __lsx_vextrins_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 2245 ((__m128i)__builtin_lsx_vextrins_w((v4i32)(_1), (v4i32)(_2), (_3))) 2246 2247 #define __lsx_vextrins_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 2248 ((__m128i)__builtin_lsx_vextrins_d((v2i64)(_1), (v2i64)(_2), (_3))) 2249 2250 extern __inline 2251 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2252 __lsx_vmskltz_b(__m128i _1) { 2253 return (__m128i)__builtin_lsx_vmskltz_b((v16i8)_1); 2254 } 2255 2256 extern __inline 2257 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2258 __lsx_vmskltz_h(__m128i _1) { 2259 return (__m128i)__builtin_lsx_vmskltz_h((v8i16)_1); 2260 } 2261 2262 extern __inline 2263 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2264 __lsx_vmskltz_w(__m128i _1) { 2265 return (__m128i)__builtin_lsx_vmskltz_w((v4i32)_1); 2266 } 2267 2268 extern __inline 2269 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2270 __lsx_vmskltz_d(__m128i _1) { 2271 return (__m128i)__builtin_lsx_vmskltz_d((v2i64)_1); 2272 } 2273 2274 extern __inline 2275 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2276 __lsx_vsigncov_b(__m128i _1, __m128i _2) { 2277 return (__m128i)__builtin_lsx_vsigncov_b((v16i8)_1, (v16i8)_2); 2278 } 2279 2280 extern __inline 2281 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2282 __lsx_vsigncov_h(__m128i _1, __m128i _2) { 2283 return (__m128i)__builtin_lsx_vsigncov_h((v8i16)_1, (v8i16)_2); 2284 } 2285 2286 extern __inline 2287 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2288 __lsx_vsigncov_w(__m128i _1, __m128i _2) { 2289 return (__m128i)__builtin_lsx_vsigncov_w((v4i32)_1, (v4i32)_2); 2290 } 2291 2292 extern __inline 2293 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2294 __lsx_vsigncov_d(__m128i _1, __m128i _2) { 2295 return (__m128i)__builtin_lsx_vsigncov_d((v2i64)_1, (v2i64)_2); 2296 } 2297 2298 extern __inline 2299 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2300 __lsx_vfmadd_s(__m128 _1, __m128 _2, __m128 _3) { 2301 return (__m128)__builtin_lsx_vfmadd_s((v4f32)_1, (v4f32)_2, (v4f32)_3); 2302 } 2303 2304 extern __inline 2305 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2306 __lsx_vfmadd_d(__m128d _1, __m128d _2, __m128d _3) { 2307 return (__m128d)__builtin_lsx_vfmadd_d((v2f64)_1, (v2f64)_2, (v2f64)_3); 2308 } 2309 2310 extern __inline 2311 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2312 __lsx_vfmsub_s(__m128 _1, __m128 _2, __m128 _3) { 2313 return (__m128)__builtin_lsx_vfmsub_s((v4f32)_1, (v4f32)_2, (v4f32)_3); 2314 } 2315 2316 extern __inline 2317 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2318 __lsx_vfmsub_d(__m128d _1, __m128d _2, __m128d _3) { 2319 return (__m128d)__builtin_lsx_vfmsub_d((v2f64)_1, (v2f64)_2, (v2f64)_3); 2320 } 2321 2322 extern __inline 2323 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2324 __lsx_vfnmadd_s(__m128 _1, __m128 _2, __m128 _3) { 2325 return (__m128)__builtin_lsx_vfnmadd_s((v4f32)_1, (v4f32)_2, (v4f32)_3); 2326 } 2327 2328 extern __inline 2329 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2330 __lsx_vfnmadd_d(__m128d _1, __m128d _2, __m128d _3) { 2331 return (__m128d)__builtin_lsx_vfnmadd_d((v2f64)_1, (v2f64)_2, (v2f64)_3); 2332 } 2333 2334 extern __inline 2335 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2336 __lsx_vfnmsub_s(__m128 _1, __m128 _2, __m128 _3) { 2337 return (__m128)__builtin_lsx_vfnmsub_s((v4f32)_1, (v4f32)_2, (v4f32)_3); 2338 } 2339 2340 extern __inline 2341 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2342 __lsx_vfnmsub_d(__m128d _1, __m128d _2, __m128d _3) { 2343 return (__m128d)__builtin_lsx_vfnmsub_d((v2f64)_1, (v2f64)_2, (v2f64)_3); 2344 } 2345 2346 extern __inline 2347 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2348 __lsx_vftintrne_w_s(__m128 _1) { 2349 return (__m128i)__builtin_lsx_vftintrne_w_s((v4f32)_1); 2350 } 2351 2352 extern __inline 2353 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2354 __lsx_vftintrne_l_d(__m128d _1) { 2355 return (__m128i)__builtin_lsx_vftintrne_l_d((v2f64)_1); 2356 } 2357 2358 extern __inline 2359 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2360 __lsx_vftintrp_w_s(__m128 _1) { 2361 return (__m128i)__builtin_lsx_vftintrp_w_s((v4f32)_1); 2362 } 2363 2364 extern __inline 2365 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2366 __lsx_vftintrp_l_d(__m128d _1) { 2367 return (__m128i)__builtin_lsx_vftintrp_l_d((v2f64)_1); 2368 } 2369 2370 extern __inline 2371 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2372 __lsx_vftintrm_w_s(__m128 _1) { 2373 return (__m128i)__builtin_lsx_vftintrm_w_s((v4f32)_1); 2374 } 2375 2376 extern __inline 2377 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2378 __lsx_vftintrm_l_d(__m128d _1) { 2379 return (__m128i)__builtin_lsx_vftintrm_l_d((v2f64)_1); 2380 } 2381 2382 extern __inline 2383 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2384 __lsx_vftint_w_d(__m128d _1, __m128d _2) { 2385 return (__m128i)__builtin_lsx_vftint_w_d((v2f64)_1, (v2f64)_2); 2386 } 2387 2388 extern __inline 2389 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2390 __lsx_vffint_s_l(__m128i _1, __m128i _2) { 2391 return (__m128)__builtin_lsx_vffint_s_l((v2i64)_1, (v2i64)_2); 2392 } 2393 2394 extern __inline 2395 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2396 __lsx_vftintrz_w_d(__m128d _1, __m128d _2) { 2397 return (__m128i)__builtin_lsx_vftintrz_w_d((v2f64)_1, (v2f64)_2); 2398 } 2399 2400 extern __inline 2401 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2402 __lsx_vftintrp_w_d(__m128d _1, __m128d _2) { 2403 return (__m128i)__builtin_lsx_vftintrp_w_d((v2f64)_1, (v2f64)_2); 2404 } 2405 2406 extern __inline 2407 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2408 __lsx_vftintrm_w_d(__m128d _1, __m128d _2) { 2409 return (__m128i)__builtin_lsx_vftintrm_w_d((v2f64)_1, (v2f64)_2); 2410 } 2411 2412 extern __inline 2413 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2414 __lsx_vftintrne_w_d(__m128d _1, __m128d _2) { 2415 return (__m128i)__builtin_lsx_vftintrne_w_d((v2f64)_1, (v2f64)_2); 2416 } 2417 2418 extern __inline 2419 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2420 __lsx_vftintl_l_s(__m128 _1) { 2421 return (__m128i)__builtin_lsx_vftintl_l_s((v4f32)_1); 2422 } 2423 2424 extern __inline 2425 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2426 __lsx_vftinth_l_s(__m128 _1) { 2427 return (__m128i)__builtin_lsx_vftinth_l_s((v4f32)_1); 2428 } 2429 2430 extern __inline 2431 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2432 __lsx_vffinth_d_w(__m128i _1) { 2433 return (__m128d)__builtin_lsx_vffinth_d_w((v4i32)_1); 2434 } 2435 2436 extern __inline 2437 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2438 __lsx_vffintl_d_w(__m128i _1) { 2439 return (__m128d)__builtin_lsx_vffintl_d_w((v4i32)_1); 2440 } 2441 2442 extern __inline 2443 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2444 __lsx_vftintrzl_l_s(__m128 _1) { 2445 return (__m128i)__builtin_lsx_vftintrzl_l_s((v4f32)_1); 2446 } 2447 2448 extern __inline 2449 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2450 __lsx_vftintrzh_l_s(__m128 _1) { 2451 return (__m128i)__builtin_lsx_vftintrzh_l_s((v4f32)_1); 2452 } 2453 2454 extern __inline 2455 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2456 __lsx_vftintrpl_l_s(__m128 _1) { 2457 return (__m128i)__builtin_lsx_vftintrpl_l_s((v4f32)_1); 2458 } 2459 2460 extern __inline 2461 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2462 __lsx_vftintrph_l_s(__m128 _1) { 2463 return (__m128i)__builtin_lsx_vftintrph_l_s((v4f32)_1); 2464 } 2465 2466 extern __inline 2467 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2468 __lsx_vftintrml_l_s(__m128 _1) { 2469 return (__m128i)__builtin_lsx_vftintrml_l_s((v4f32)_1); 2470 } 2471 2472 extern __inline 2473 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2474 __lsx_vftintrmh_l_s(__m128 _1) { 2475 return (__m128i)__builtin_lsx_vftintrmh_l_s((v4f32)_1); 2476 } 2477 2478 extern __inline 2479 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2480 __lsx_vftintrnel_l_s(__m128 _1) { 2481 return (__m128i)__builtin_lsx_vftintrnel_l_s((v4f32)_1); 2482 } 2483 2484 extern __inline 2485 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2486 __lsx_vftintrneh_l_s(__m128 _1) { 2487 return (__m128i)__builtin_lsx_vftintrneh_l_s((v4f32)_1); 2488 } 2489 2490 extern __inline 2491 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2492 __lsx_vfrintrne_s(__m128 _1) { 2493 return (__m128)__builtin_lsx_vfrintrne_s((v4f32)_1); 2494 } 2495 2496 extern __inline 2497 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2498 __lsx_vfrintrne_d(__m128d _1) { 2499 return (__m128d)__builtin_lsx_vfrintrne_d((v2f64)_1); 2500 } 2501 2502 extern __inline 2503 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2504 __lsx_vfrintrz_s(__m128 _1) { 2505 return (__m128)__builtin_lsx_vfrintrz_s((v4f32)_1); 2506 } 2507 2508 extern __inline 2509 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2510 __lsx_vfrintrz_d(__m128d _1) { 2511 return (__m128d)__builtin_lsx_vfrintrz_d((v2f64)_1); 2512 } 2513 2514 extern __inline 2515 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2516 __lsx_vfrintrp_s(__m128 _1) { 2517 return (__m128)__builtin_lsx_vfrintrp_s((v4f32)_1); 2518 } 2519 2520 extern __inline 2521 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2522 __lsx_vfrintrp_d(__m128d _1) { 2523 return (__m128d)__builtin_lsx_vfrintrp_d((v2f64)_1); 2524 } 2525 2526 extern __inline 2527 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128 2528 __lsx_vfrintrm_s(__m128 _1) { 2529 return (__m128)__builtin_lsx_vfrintrm_s((v4f32)_1); 2530 } 2531 2532 extern __inline 2533 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d 2534 __lsx_vfrintrm_d(__m128d _1) { 2535 return (__m128d)__builtin_lsx_vfrintrm_d((v2f64)_1); 2536 } 2537 2538 #define __lsx_vstelm_b(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \ 2539 ((void)__builtin_lsx_vstelm_b((v16i8)(_1), (void *)(_2), (_3), (_4))) 2540 2541 #define __lsx_vstelm_h(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \ 2542 ((void)__builtin_lsx_vstelm_h((v8i16)(_1), (void *)(_2), (_3), (_4))) 2543 2544 #define __lsx_vstelm_w(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \ 2545 ((void)__builtin_lsx_vstelm_w((v4i32)(_1), (void *)(_2), (_3), (_4))) 2546 2547 #define __lsx_vstelm_d(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4) \ 2548 ((void)__builtin_lsx_vstelm_d((v2i64)(_1), (void *)(_2), (_3), (_4))) 2549 2550 extern __inline 2551 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2552 __lsx_vaddwev_d_w(__m128i _1, __m128i _2) { 2553 return (__m128i)__builtin_lsx_vaddwev_d_w((v4i32)_1, (v4i32)_2); 2554 } 2555 2556 extern __inline 2557 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2558 __lsx_vaddwev_w_h(__m128i _1, __m128i _2) { 2559 return (__m128i)__builtin_lsx_vaddwev_w_h((v8i16)_1, (v8i16)_2); 2560 } 2561 2562 extern __inline 2563 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2564 __lsx_vaddwev_h_b(__m128i _1, __m128i _2) { 2565 return (__m128i)__builtin_lsx_vaddwev_h_b((v16i8)_1, (v16i8)_2); 2566 } 2567 2568 extern __inline 2569 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2570 __lsx_vaddwod_d_w(__m128i _1, __m128i _2) { 2571 return (__m128i)__builtin_lsx_vaddwod_d_w((v4i32)_1, (v4i32)_2); 2572 } 2573 2574 extern __inline 2575 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2576 __lsx_vaddwod_w_h(__m128i _1, __m128i _2) { 2577 return (__m128i)__builtin_lsx_vaddwod_w_h((v8i16)_1, (v8i16)_2); 2578 } 2579 2580 extern __inline 2581 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2582 __lsx_vaddwod_h_b(__m128i _1, __m128i _2) { 2583 return (__m128i)__builtin_lsx_vaddwod_h_b((v16i8)_1, (v16i8)_2); 2584 } 2585 2586 extern __inline 2587 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2588 __lsx_vaddwev_d_wu(__m128i _1, __m128i _2) { 2589 return (__m128i)__builtin_lsx_vaddwev_d_wu((v4u32)_1, (v4u32)_2); 2590 } 2591 2592 extern __inline 2593 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2594 __lsx_vaddwev_w_hu(__m128i _1, __m128i _2) { 2595 return (__m128i)__builtin_lsx_vaddwev_w_hu((v8u16)_1, (v8u16)_2); 2596 } 2597 2598 extern __inline 2599 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2600 __lsx_vaddwev_h_bu(__m128i _1, __m128i _2) { 2601 return (__m128i)__builtin_lsx_vaddwev_h_bu((v16u8)_1, (v16u8)_2); 2602 } 2603 2604 extern __inline 2605 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2606 __lsx_vaddwod_d_wu(__m128i _1, __m128i _2) { 2607 return (__m128i)__builtin_lsx_vaddwod_d_wu((v4u32)_1, (v4u32)_2); 2608 } 2609 2610 extern __inline 2611 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2612 __lsx_vaddwod_w_hu(__m128i _1, __m128i _2) { 2613 return (__m128i)__builtin_lsx_vaddwod_w_hu((v8u16)_1, (v8u16)_2); 2614 } 2615 2616 extern __inline 2617 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2618 __lsx_vaddwod_h_bu(__m128i _1, __m128i _2) { 2619 return (__m128i)__builtin_lsx_vaddwod_h_bu((v16u8)_1, (v16u8)_2); 2620 } 2621 2622 extern __inline 2623 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2624 __lsx_vaddwev_d_wu_w(__m128i _1, __m128i _2) { 2625 return (__m128i)__builtin_lsx_vaddwev_d_wu_w((v4u32)_1, (v4i32)_2); 2626 } 2627 2628 extern __inline 2629 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2630 __lsx_vaddwev_w_hu_h(__m128i _1, __m128i _2) { 2631 return (__m128i)__builtin_lsx_vaddwev_w_hu_h((v8u16)_1, (v8i16)_2); 2632 } 2633 2634 extern __inline 2635 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2636 __lsx_vaddwev_h_bu_b(__m128i _1, __m128i _2) { 2637 return (__m128i)__builtin_lsx_vaddwev_h_bu_b((v16u8)_1, (v16i8)_2); 2638 } 2639 2640 extern __inline 2641 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2642 __lsx_vaddwod_d_wu_w(__m128i _1, __m128i _2) { 2643 return (__m128i)__builtin_lsx_vaddwod_d_wu_w((v4u32)_1, (v4i32)_2); 2644 } 2645 2646 extern __inline 2647 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2648 __lsx_vaddwod_w_hu_h(__m128i _1, __m128i _2) { 2649 return (__m128i)__builtin_lsx_vaddwod_w_hu_h((v8u16)_1, (v8i16)_2); 2650 } 2651 2652 extern __inline 2653 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2654 __lsx_vaddwod_h_bu_b(__m128i _1, __m128i _2) { 2655 return (__m128i)__builtin_lsx_vaddwod_h_bu_b((v16u8)_1, (v16i8)_2); 2656 } 2657 2658 extern __inline 2659 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2660 __lsx_vsubwev_d_w(__m128i _1, __m128i _2) { 2661 return (__m128i)__builtin_lsx_vsubwev_d_w((v4i32)_1, (v4i32)_2); 2662 } 2663 2664 extern __inline 2665 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2666 __lsx_vsubwev_w_h(__m128i _1, __m128i _2) { 2667 return (__m128i)__builtin_lsx_vsubwev_w_h((v8i16)_1, (v8i16)_2); 2668 } 2669 2670 extern __inline 2671 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2672 __lsx_vsubwev_h_b(__m128i _1, __m128i _2) { 2673 return (__m128i)__builtin_lsx_vsubwev_h_b((v16i8)_1, (v16i8)_2); 2674 } 2675 2676 extern __inline 2677 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2678 __lsx_vsubwod_d_w(__m128i _1, __m128i _2) { 2679 return (__m128i)__builtin_lsx_vsubwod_d_w((v4i32)_1, (v4i32)_2); 2680 } 2681 2682 extern __inline 2683 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2684 __lsx_vsubwod_w_h(__m128i _1, __m128i _2) { 2685 return (__m128i)__builtin_lsx_vsubwod_w_h((v8i16)_1, (v8i16)_2); 2686 } 2687 2688 extern __inline 2689 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2690 __lsx_vsubwod_h_b(__m128i _1, __m128i _2) { 2691 return (__m128i)__builtin_lsx_vsubwod_h_b((v16i8)_1, (v16i8)_2); 2692 } 2693 2694 extern __inline 2695 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2696 __lsx_vsubwev_d_wu(__m128i _1, __m128i _2) { 2697 return (__m128i)__builtin_lsx_vsubwev_d_wu((v4u32)_1, (v4u32)_2); 2698 } 2699 2700 extern __inline 2701 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2702 __lsx_vsubwev_w_hu(__m128i _1, __m128i _2) { 2703 return (__m128i)__builtin_lsx_vsubwev_w_hu((v8u16)_1, (v8u16)_2); 2704 } 2705 2706 extern __inline 2707 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2708 __lsx_vsubwev_h_bu(__m128i _1, __m128i _2) { 2709 return (__m128i)__builtin_lsx_vsubwev_h_bu((v16u8)_1, (v16u8)_2); 2710 } 2711 2712 extern __inline 2713 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2714 __lsx_vsubwod_d_wu(__m128i _1, __m128i _2) { 2715 return (__m128i)__builtin_lsx_vsubwod_d_wu((v4u32)_1, (v4u32)_2); 2716 } 2717 2718 extern __inline 2719 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2720 __lsx_vsubwod_w_hu(__m128i _1, __m128i _2) { 2721 return (__m128i)__builtin_lsx_vsubwod_w_hu((v8u16)_1, (v8u16)_2); 2722 } 2723 2724 extern __inline 2725 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2726 __lsx_vsubwod_h_bu(__m128i _1, __m128i _2) { 2727 return (__m128i)__builtin_lsx_vsubwod_h_bu((v16u8)_1, (v16u8)_2); 2728 } 2729 2730 extern __inline 2731 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2732 __lsx_vaddwev_q_d(__m128i _1, __m128i _2) { 2733 return (__m128i)__builtin_lsx_vaddwev_q_d((v2i64)_1, (v2i64)_2); 2734 } 2735 2736 extern __inline 2737 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2738 __lsx_vaddwod_q_d(__m128i _1, __m128i _2) { 2739 return (__m128i)__builtin_lsx_vaddwod_q_d((v2i64)_1, (v2i64)_2); 2740 } 2741 2742 extern __inline 2743 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2744 __lsx_vaddwev_q_du(__m128i _1, __m128i _2) { 2745 return (__m128i)__builtin_lsx_vaddwev_q_du((v2u64)_1, (v2u64)_2); 2746 } 2747 2748 extern __inline 2749 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2750 __lsx_vaddwod_q_du(__m128i _1, __m128i _2) { 2751 return (__m128i)__builtin_lsx_vaddwod_q_du((v2u64)_1, (v2u64)_2); 2752 } 2753 2754 extern __inline 2755 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2756 __lsx_vsubwev_q_d(__m128i _1, __m128i _2) { 2757 return (__m128i)__builtin_lsx_vsubwev_q_d((v2i64)_1, (v2i64)_2); 2758 } 2759 2760 extern __inline 2761 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2762 __lsx_vsubwod_q_d(__m128i _1, __m128i _2) { 2763 return (__m128i)__builtin_lsx_vsubwod_q_d((v2i64)_1, (v2i64)_2); 2764 } 2765 2766 extern __inline 2767 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2768 __lsx_vsubwev_q_du(__m128i _1, __m128i _2) { 2769 return (__m128i)__builtin_lsx_vsubwev_q_du((v2u64)_1, (v2u64)_2); 2770 } 2771 2772 extern __inline 2773 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2774 __lsx_vsubwod_q_du(__m128i _1, __m128i _2) { 2775 return (__m128i)__builtin_lsx_vsubwod_q_du((v2u64)_1, (v2u64)_2); 2776 } 2777 2778 extern __inline 2779 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2780 __lsx_vaddwev_q_du_d(__m128i _1, __m128i _2) { 2781 return (__m128i)__builtin_lsx_vaddwev_q_du_d((v2u64)_1, (v2i64)_2); 2782 } 2783 2784 extern __inline 2785 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2786 __lsx_vaddwod_q_du_d(__m128i _1, __m128i _2) { 2787 return (__m128i)__builtin_lsx_vaddwod_q_du_d((v2u64)_1, (v2i64)_2); 2788 } 2789 2790 extern __inline 2791 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2792 __lsx_vmulwev_d_w(__m128i _1, __m128i _2) { 2793 return (__m128i)__builtin_lsx_vmulwev_d_w((v4i32)_1, (v4i32)_2); 2794 } 2795 2796 extern __inline 2797 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2798 __lsx_vmulwev_w_h(__m128i _1, __m128i _2) { 2799 return (__m128i)__builtin_lsx_vmulwev_w_h((v8i16)_1, (v8i16)_2); 2800 } 2801 2802 extern __inline 2803 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2804 __lsx_vmulwev_h_b(__m128i _1, __m128i _2) { 2805 return (__m128i)__builtin_lsx_vmulwev_h_b((v16i8)_1, (v16i8)_2); 2806 } 2807 2808 extern __inline 2809 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2810 __lsx_vmulwod_d_w(__m128i _1, __m128i _2) { 2811 return (__m128i)__builtin_lsx_vmulwod_d_w((v4i32)_1, (v4i32)_2); 2812 } 2813 2814 extern __inline 2815 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2816 __lsx_vmulwod_w_h(__m128i _1, __m128i _2) { 2817 return (__m128i)__builtin_lsx_vmulwod_w_h((v8i16)_1, (v8i16)_2); 2818 } 2819 2820 extern __inline 2821 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2822 __lsx_vmulwod_h_b(__m128i _1, __m128i _2) { 2823 return (__m128i)__builtin_lsx_vmulwod_h_b((v16i8)_1, (v16i8)_2); 2824 } 2825 2826 extern __inline 2827 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2828 __lsx_vmulwev_d_wu(__m128i _1, __m128i _2) { 2829 return (__m128i)__builtin_lsx_vmulwev_d_wu((v4u32)_1, (v4u32)_2); 2830 } 2831 2832 extern __inline 2833 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2834 __lsx_vmulwev_w_hu(__m128i _1, __m128i _2) { 2835 return (__m128i)__builtin_lsx_vmulwev_w_hu((v8u16)_1, (v8u16)_2); 2836 } 2837 2838 extern __inline 2839 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2840 __lsx_vmulwev_h_bu(__m128i _1, __m128i _2) { 2841 return (__m128i)__builtin_lsx_vmulwev_h_bu((v16u8)_1, (v16u8)_2); 2842 } 2843 2844 extern __inline 2845 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2846 __lsx_vmulwod_d_wu(__m128i _1, __m128i _2) { 2847 return (__m128i)__builtin_lsx_vmulwod_d_wu((v4u32)_1, (v4u32)_2); 2848 } 2849 2850 extern __inline 2851 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2852 __lsx_vmulwod_w_hu(__m128i _1, __m128i _2) { 2853 return (__m128i)__builtin_lsx_vmulwod_w_hu((v8u16)_1, (v8u16)_2); 2854 } 2855 2856 extern __inline 2857 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2858 __lsx_vmulwod_h_bu(__m128i _1, __m128i _2) { 2859 return (__m128i)__builtin_lsx_vmulwod_h_bu((v16u8)_1, (v16u8)_2); 2860 } 2861 2862 extern __inline 2863 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2864 __lsx_vmulwev_d_wu_w(__m128i _1, __m128i _2) { 2865 return (__m128i)__builtin_lsx_vmulwev_d_wu_w((v4u32)_1, (v4i32)_2); 2866 } 2867 2868 extern __inline 2869 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2870 __lsx_vmulwev_w_hu_h(__m128i _1, __m128i _2) { 2871 return (__m128i)__builtin_lsx_vmulwev_w_hu_h((v8u16)_1, (v8i16)_2); 2872 } 2873 2874 extern __inline 2875 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2876 __lsx_vmulwev_h_bu_b(__m128i _1, __m128i _2) { 2877 return (__m128i)__builtin_lsx_vmulwev_h_bu_b((v16u8)_1, (v16i8)_2); 2878 } 2879 2880 extern __inline 2881 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2882 __lsx_vmulwod_d_wu_w(__m128i _1, __m128i _2) { 2883 return (__m128i)__builtin_lsx_vmulwod_d_wu_w((v4u32)_1, (v4i32)_2); 2884 } 2885 2886 extern __inline 2887 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2888 __lsx_vmulwod_w_hu_h(__m128i _1, __m128i _2) { 2889 return (__m128i)__builtin_lsx_vmulwod_w_hu_h((v8u16)_1, (v8i16)_2); 2890 } 2891 2892 extern __inline 2893 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2894 __lsx_vmulwod_h_bu_b(__m128i _1, __m128i _2) { 2895 return (__m128i)__builtin_lsx_vmulwod_h_bu_b((v16u8)_1, (v16i8)_2); 2896 } 2897 2898 extern __inline 2899 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2900 __lsx_vmulwev_q_d(__m128i _1, __m128i _2) { 2901 return (__m128i)__builtin_lsx_vmulwev_q_d((v2i64)_1, (v2i64)_2); 2902 } 2903 2904 extern __inline 2905 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2906 __lsx_vmulwod_q_d(__m128i _1, __m128i _2) { 2907 return (__m128i)__builtin_lsx_vmulwod_q_d((v2i64)_1, (v2i64)_2); 2908 } 2909 2910 extern __inline 2911 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2912 __lsx_vmulwev_q_du(__m128i _1, __m128i _2) { 2913 return (__m128i)__builtin_lsx_vmulwev_q_du((v2u64)_1, (v2u64)_2); 2914 } 2915 2916 extern __inline 2917 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2918 __lsx_vmulwod_q_du(__m128i _1, __m128i _2) { 2919 return (__m128i)__builtin_lsx_vmulwod_q_du((v2u64)_1, (v2u64)_2); 2920 } 2921 2922 extern __inline 2923 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2924 __lsx_vmulwev_q_du_d(__m128i _1, __m128i _2) { 2925 return (__m128i)__builtin_lsx_vmulwev_q_du_d((v2u64)_1, (v2i64)_2); 2926 } 2927 2928 extern __inline 2929 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2930 __lsx_vmulwod_q_du_d(__m128i _1, __m128i _2) { 2931 return (__m128i)__builtin_lsx_vmulwod_q_du_d((v2u64)_1, (v2i64)_2); 2932 } 2933 2934 extern __inline 2935 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2936 __lsx_vhaddw_q_d(__m128i _1, __m128i _2) { 2937 return (__m128i)__builtin_lsx_vhaddw_q_d((v2i64)_1, (v2i64)_2); 2938 } 2939 2940 extern __inline 2941 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2942 __lsx_vhaddw_qu_du(__m128i _1, __m128i _2) { 2943 return (__m128i)__builtin_lsx_vhaddw_qu_du((v2u64)_1, (v2u64)_2); 2944 } 2945 2946 extern __inline 2947 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2948 __lsx_vhsubw_q_d(__m128i _1, __m128i _2) { 2949 return (__m128i)__builtin_lsx_vhsubw_q_d((v2i64)_1, (v2i64)_2); 2950 } 2951 2952 extern __inline 2953 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2954 __lsx_vhsubw_qu_du(__m128i _1, __m128i _2) { 2955 return (__m128i)__builtin_lsx_vhsubw_qu_du((v2u64)_1, (v2u64)_2); 2956 } 2957 2958 extern __inline 2959 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2960 __lsx_vmaddwev_d_w(__m128i _1, __m128i _2, __m128i _3) { 2961 return (__m128i)__builtin_lsx_vmaddwev_d_w((v2i64)_1, (v4i32)_2, (v4i32)_3); 2962 } 2963 2964 extern __inline 2965 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2966 __lsx_vmaddwev_w_h(__m128i _1, __m128i _2, __m128i _3) { 2967 return (__m128i)__builtin_lsx_vmaddwev_w_h((v4i32)_1, (v8i16)_2, (v8i16)_3); 2968 } 2969 2970 extern __inline 2971 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2972 __lsx_vmaddwev_h_b(__m128i _1, __m128i _2, __m128i _3) { 2973 return (__m128i)__builtin_lsx_vmaddwev_h_b((v8i16)_1, (v16i8)_2, (v16i8)_3); 2974 } 2975 2976 extern __inline 2977 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2978 __lsx_vmaddwev_d_wu(__m128i _1, __m128i _2, __m128i _3) { 2979 return (__m128i)__builtin_lsx_vmaddwev_d_wu((v2u64)_1, (v4u32)_2, (v4u32)_3); 2980 } 2981 2982 extern __inline 2983 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2984 __lsx_vmaddwev_w_hu(__m128i _1, __m128i _2, __m128i _3) { 2985 return (__m128i)__builtin_lsx_vmaddwev_w_hu((v4u32)_1, (v8u16)_2, (v8u16)_3); 2986 } 2987 2988 extern __inline 2989 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2990 __lsx_vmaddwev_h_bu(__m128i _1, __m128i _2, __m128i _3) { 2991 return (__m128i)__builtin_lsx_vmaddwev_h_bu((v8u16)_1, (v16u8)_2, (v16u8)_3); 2992 } 2993 2994 extern __inline 2995 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 2996 __lsx_vmaddwod_d_w(__m128i _1, __m128i _2, __m128i _3) { 2997 return (__m128i)__builtin_lsx_vmaddwod_d_w((v2i64)_1, (v4i32)_2, (v4i32)_3); 2998 } 2999 3000 extern __inline 3001 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3002 __lsx_vmaddwod_w_h(__m128i _1, __m128i _2, __m128i _3) { 3003 return (__m128i)__builtin_lsx_vmaddwod_w_h((v4i32)_1, (v8i16)_2, (v8i16)_3); 3004 } 3005 3006 extern __inline 3007 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3008 __lsx_vmaddwod_h_b(__m128i _1, __m128i _2, __m128i _3) { 3009 return (__m128i)__builtin_lsx_vmaddwod_h_b((v8i16)_1, (v16i8)_2, (v16i8)_3); 3010 } 3011 3012 extern __inline 3013 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3014 __lsx_vmaddwod_d_wu(__m128i _1, __m128i _2, __m128i _3) { 3015 return (__m128i)__builtin_lsx_vmaddwod_d_wu((v2u64)_1, (v4u32)_2, (v4u32)_3); 3016 } 3017 3018 extern __inline 3019 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3020 __lsx_vmaddwod_w_hu(__m128i _1, __m128i _2, __m128i _3) { 3021 return (__m128i)__builtin_lsx_vmaddwod_w_hu((v4u32)_1, (v8u16)_2, (v8u16)_3); 3022 } 3023 3024 extern __inline 3025 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3026 __lsx_vmaddwod_h_bu(__m128i _1, __m128i _2, __m128i _3) { 3027 return (__m128i)__builtin_lsx_vmaddwod_h_bu((v8u16)_1, (v16u8)_2, (v16u8)_3); 3028 } 3029 3030 extern __inline 3031 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3032 __lsx_vmaddwev_d_wu_w(__m128i _1, __m128i _2, __m128i _3) { 3033 return (__m128i)__builtin_lsx_vmaddwev_d_wu_w((v2i64)_1, (v4u32)_2, 3034 (v4i32)_3); 3035 } 3036 3037 extern __inline 3038 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3039 __lsx_vmaddwev_w_hu_h(__m128i _1, __m128i _2, __m128i _3) { 3040 return (__m128i)__builtin_lsx_vmaddwev_w_hu_h((v4i32)_1, (v8u16)_2, 3041 (v8i16)_3); 3042 } 3043 3044 extern __inline 3045 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3046 __lsx_vmaddwev_h_bu_b(__m128i _1, __m128i _2, __m128i _3) { 3047 return (__m128i)__builtin_lsx_vmaddwev_h_bu_b((v8i16)_1, (v16u8)_2, 3048 (v16i8)_3); 3049 } 3050 3051 extern __inline 3052 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3053 __lsx_vmaddwod_d_wu_w(__m128i _1, __m128i _2, __m128i _3) { 3054 return (__m128i)__builtin_lsx_vmaddwod_d_wu_w((v2i64)_1, (v4u32)_2, 3055 (v4i32)_3); 3056 } 3057 3058 extern __inline 3059 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3060 __lsx_vmaddwod_w_hu_h(__m128i _1, __m128i _2, __m128i _3) { 3061 return (__m128i)__builtin_lsx_vmaddwod_w_hu_h((v4i32)_1, (v8u16)_2, 3062 (v8i16)_3); 3063 } 3064 3065 extern __inline 3066 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3067 __lsx_vmaddwod_h_bu_b(__m128i _1, __m128i _2, __m128i _3) { 3068 return (__m128i)__builtin_lsx_vmaddwod_h_bu_b((v8i16)_1, (v16u8)_2, 3069 (v16i8)_3); 3070 } 3071 3072 extern __inline 3073 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3074 __lsx_vmaddwev_q_d(__m128i _1, __m128i _2, __m128i _3) { 3075 return (__m128i)__builtin_lsx_vmaddwev_q_d((v2i64)_1, (v2i64)_2, (v2i64)_3); 3076 } 3077 3078 extern __inline 3079 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3080 __lsx_vmaddwod_q_d(__m128i _1, __m128i _2, __m128i _3) { 3081 return (__m128i)__builtin_lsx_vmaddwod_q_d((v2i64)_1, (v2i64)_2, (v2i64)_3); 3082 } 3083 3084 extern __inline 3085 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3086 __lsx_vmaddwev_q_du(__m128i _1, __m128i _2, __m128i _3) { 3087 return (__m128i)__builtin_lsx_vmaddwev_q_du((v2u64)_1, (v2u64)_2, (v2u64)_3); 3088 } 3089 3090 extern __inline 3091 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3092 __lsx_vmaddwod_q_du(__m128i _1, __m128i _2, __m128i _3) { 3093 return (__m128i)__builtin_lsx_vmaddwod_q_du((v2u64)_1, (v2u64)_2, (v2u64)_3); 3094 } 3095 3096 extern __inline 3097 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3098 __lsx_vmaddwev_q_du_d(__m128i _1, __m128i _2, __m128i _3) { 3099 return (__m128i)__builtin_lsx_vmaddwev_q_du_d((v2i64)_1, (v2u64)_2, 3100 (v2i64)_3); 3101 } 3102 3103 extern __inline 3104 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3105 __lsx_vmaddwod_q_du_d(__m128i _1, __m128i _2, __m128i _3) { 3106 return (__m128i)__builtin_lsx_vmaddwod_q_du_d((v2i64)_1, (v2u64)_2, 3107 (v2i64)_3); 3108 } 3109 3110 extern __inline 3111 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3112 __lsx_vrotr_b(__m128i _1, __m128i _2) { 3113 return (__m128i)__builtin_lsx_vrotr_b((v16i8)_1, (v16i8)_2); 3114 } 3115 3116 extern __inline 3117 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3118 __lsx_vrotr_h(__m128i _1, __m128i _2) { 3119 return (__m128i)__builtin_lsx_vrotr_h((v8i16)_1, (v8i16)_2); 3120 } 3121 3122 extern __inline 3123 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3124 __lsx_vrotr_w(__m128i _1, __m128i _2) { 3125 return (__m128i)__builtin_lsx_vrotr_w((v4i32)_1, (v4i32)_2); 3126 } 3127 3128 extern __inline 3129 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3130 __lsx_vrotr_d(__m128i _1, __m128i _2) { 3131 return (__m128i)__builtin_lsx_vrotr_d((v2i64)_1, (v2i64)_2); 3132 } 3133 3134 extern __inline 3135 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3136 __lsx_vadd_q(__m128i _1, __m128i _2) { 3137 return (__m128i)__builtin_lsx_vadd_q((v2i64)_1, (v2i64)_2); 3138 } 3139 3140 extern __inline 3141 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3142 __lsx_vsub_q(__m128i _1, __m128i _2) { 3143 return (__m128i)__builtin_lsx_vsub_q((v2i64)_1, (v2i64)_2); 3144 } 3145 3146 #define __lsx_vldrepl_b(/*void **/ _1, /*si12*/ _2) \ 3147 ((__m128i)__builtin_lsx_vldrepl_b((void const *)(_1), (_2))) 3148 3149 #define __lsx_vldrepl_h(/*void **/ _1, /*si11*/ _2) \ 3150 ((__m128i)__builtin_lsx_vldrepl_h((void const *)(_1), (_2))) 3151 3152 #define __lsx_vldrepl_w(/*void **/ _1, /*si10*/ _2) \ 3153 ((__m128i)__builtin_lsx_vldrepl_w((void const *)(_1), (_2))) 3154 3155 #define __lsx_vldrepl_d(/*void **/ _1, /*si9*/ _2) \ 3156 ((__m128i)__builtin_lsx_vldrepl_d((void const *)(_1), (_2))) 3157 3158 extern __inline 3159 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3160 __lsx_vmskgez_b(__m128i _1) { 3161 return (__m128i)__builtin_lsx_vmskgez_b((v16i8)_1); 3162 } 3163 3164 extern __inline 3165 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3166 __lsx_vmsknz_b(__m128i _1) { 3167 return (__m128i)__builtin_lsx_vmsknz_b((v16i8)_1); 3168 } 3169 3170 extern __inline 3171 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3172 __lsx_vexth_h_b(__m128i _1) { 3173 return (__m128i)__builtin_lsx_vexth_h_b((v16i8)_1); 3174 } 3175 3176 extern __inline 3177 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3178 __lsx_vexth_w_h(__m128i _1) { 3179 return (__m128i)__builtin_lsx_vexth_w_h((v8i16)_1); 3180 } 3181 3182 extern __inline 3183 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3184 __lsx_vexth_d_w(__m128i _1) { 3185 return (__m128i)__builtin_lsx_vexth_d_w((v4i32)_1); 3186 } 3187 3188 extern __inline 3189 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3190 __lsx_vexth_q_d(__m128i _1) { 3191 return (__m128i)__builtin_lsx_vexth_q_d((v2i64)_1); 3192 } 3193 3194 extern __inline 3195 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3196 __lsx_vexth_hu_bu(__m128i _1) { 3197 return (__m128i)__builtin_lsx_vexth_hu_bu((v16u8)_1); 3198 } 3199 3200 extern __inline 3201 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3202 __lsx_vexth_wu_hu(__m128i _1) { 3203 return (__m128i)__builtin_lsx_vexth_wu_hu((v8u16)_1); 3204 } 3205 3206 extern __inline 3207 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3208 __lsx_vexth_du_wu(__m128i _1) { 3209 return (__m128i)__builtin_lsx_vexth_du_wu((v4u32)_1); 3210 } 3211 3212 extern __inline 3213 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3214 __lsx_vexth_qu_du(__m128i _1) { 3215 return (__m128i)__builtin_lsx_vexth_qu_du((v2u64)_1); 3216 } 3217 3218 #define __lsx_vrotri_b(/*__m128i*/ _1, /*ui3*/ _2) \ 3219 ((__m128i)__builtin_lsx_vrotri_b((v16i8)(_1), (_2))) 3220 3221 #define __lsx_vrotri_h(/*__m128i*/ _1, /*ui4*/ _2) \ 3222 ((__m128i)__builtin_lsx_vrotri_h((v8i16)(_1), (_2))) 3223 3224 #define __lsx_vrotri_w(/*__m128i*/ _1, /*ui5*/ _2) \ 3225 ((__m128i)__builtin_lsx_vrotri_w((v4i32)(_1), (_2))) 3226 3227 #define __lsx_vrotri_d(/*__m128i*/ _1, /*ui6*/ _2) \ 3228 ((__m128i)__builtin_lsx_vrotri_d((v2i64)(_1), (_2))) 3229 3230 extern __inline 3231 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3232 __lsx_vextl_q_d(__m128i _1) { 3233 return (__m128i)__builtin_lsx_vextl_q_d((v2i64)_1); 3234 } 3235 3236 #define __lsx_vsrlni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3237 ((__m128i)__builtin_lsx_vsrlni_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3238 3239 #define __lsx_vsrlni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3240 ((__m128i)__builtin_lsx_vsrlni_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3241 3242 #define __lsx_vsrlni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3243 ((__m128i)__builtin_lsx_vsrlni_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3244 3245 #define __lsx_vsrlni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3246 ((__m128i)__builtin_lsx_vsrlni_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3247 3248 #define __lsx_vsrlrni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3249 ((__m128i)__builtin_lsx_vsrlrni_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3250 3251 #define __lsx_vsrlrni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3252 ((__m128i)__builtin_lsx_vsrlrni_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3253 3254 #define __lsx_vsrlrni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3255 ((__m128i)__builtin_lsx_vsrlrni_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3256 3257 #define __lsx_vsrlrni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3258 ((__m128i)__builtin_lsx_vsrlrni_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3259 3260 #define __lsx_vssrlni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3261 ((__m128i)__builtin_lsx_vssrlni_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3262 3263 #define __lsx_vssrlni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3264 ((__m128i)__builtin_lsx_vssrlni_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3265 3266 #define __lsx_vssrlni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3267 ((__m128i)__builtin_lsx_vssrlni_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3268 3269 #define __lsx_vssrlni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3270 ((__m128i)__builtin_lsx_vssrlni_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3271 3272 #define __lsx_vssrlni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3273 ((__m128i)__builtin_lsx_vssrlni_bu_h((v16u8)(_1), (v16i8)(_2), (_3))) 3274 3275 #define __lsx_vssrlni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3276 ((__m128i)__builtin_lsx_vssrlni_hu_w((v8u16)(_1), (v8i16)(_2), (_3))) 3277 3278 #define __lsx_vssrlni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3279 ((__m128i)__builtin_lsx_vssrlni_wu_d((v4u32)(_1), (v4i32)(_2), (_3))) 3280 3281 #define __lsx_vssrlni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3282 ((__m128i)__builtin_lsx_vssrlni_du_q((v2u64)(_1), (v2i64)(_2), (_3))) 3283 3284 #define __lsx_vssrlrni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3285 ((__m128i)__builtin_lsx_vssrlrni_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3286 3287 #define __lsx_vssrlrni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3288 ((__m128i)__builtin_lsx_vssrlrni_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3289 3290 #define __lsx_vssrlrni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3291 ((__m128i)__builtin_lsx_vssrlrni_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3292 3293 #define __lsx_vssrlrni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3294 ((__m128i)__builtin_lsx_vssrlrni_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3295 3296 #define __lsx_vssrlrni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3297 ((__m128i)__builtin_lsx_vssrlrni_bu_h((v16u8)(_1), (v16i8)(_2), (_3))) 3298 3299 #define __lsx_vssrlrni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3300 ((__m128i)__builtin_lsx_vssrlrni_hu_w((v8u16)(_1), (v8i16)(_2), (_3))) 3301 3302 #define __lsx_vssrlrni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3303 ((__m128i)__builtin_lsx_vssrlrni_wu_d((v4u32)(_1), (v4i32)(_2), (_3))) 3304 3305 #define __lsx_vssrlrni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3306 ((__m128i)__builtin_lsx_vssrlrni_du_q((v2u64)(_1), (v2i64)(_2), (_3))) 3307 3308 #define __lsx_vsrani_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3309 ((__m128i)__builtin_lsx_vsrani_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3310 3311 #define __lsx_vsrani_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3312 ((__m128i)__builtin_lsx_vsrani_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3313 3314 #define __lsx_vsrani_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3315 ((__m128i)__builtin_lsx_vsrani_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3316 3317 #define __lsx_vsrani_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3318 ((__m128i)__builtin_lsx_vsrani_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3319 3320 #define __lsx_vsrarni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3321 ((__m128i)__builtin_lsx_vsrarni_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3322 3323 #define __lsx_vsrarni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3324 ((__m128i)__builtin_lsx_vsrarni_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3325 3326 #define __lsx_vsrarni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3327 ((__m128i)__builtin_lsx_vsrarni_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3328 3329 #define __lsx_vsrarni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3330 ((__m128i)__builtin_lsx_vsrarni_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3331 3332 #define __lsx_vssrani_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3333 ((__m128i)__builtin_lsx_vssrani_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3334 3335 #define __lsx_vssrani_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3336 ((__m128i)__builtin_lsx_vssrani_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3337 3338 #define __lsx_vssrani_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3339 ((__m128i)__builtin_lsx_vssrani_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3340 3341 #define __lsx_vssrani_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3342 ((__m128i)__builtin_lsx_vssrani_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3343 3344 #define __lsx_vssrani_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3345 ((__m128i)__builtin_lsx_vssrani_bu_h((v16u8)(_1), (v16i8)(_2), (_3))) 3346 3347 #define __lsx_vssrani_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3348 ((__m128i)__builtin_lsx_vssrani_hu_w((v8u16)(_1), (v8i16)(_2), (_3))) 3349 3350 #define __lsx_vssrani_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3351 ((__m128i)__builtin_lsx_vssrani_wu_d((v4u32)(_1), (v4i32)(_2), (_3))) 3352 3353 #define __lsx_vssrani_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3354 ((__m128i)__builtin_lsx_vssrani_du_q((v2u64)(_1), (v2i64)(_2), (_3))) 3355 3356 #define __lsx_vssrarni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3357 ((__m128i)__builtin_lsx_vssrarni_b_h((v16i8)(_1), (v16i8)(_2), (_3))) 3358 3359 #define __lsx_vssrarni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3360 ((__m128i)__builtin_lsx_vssrarni_h_w((v8i16)(_1), (v8i16)(_2), (_3))) 3361 3362 #define __lsx_vssrarni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3363 ((__m128i)__builtin_lsx_vssrarni_w_d((v4i32)(_1), (v4i32)(_2), (_3))) 3364 3365 #define __lsx_vssrarni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3366 ((__m128i)__builtin_lsx_vssrarni_d_q((v2i64)(_1), (v2i64)(_2), (_3))) 3367 3368 #define __lsx_vssrarni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3) \ 3369 ((__m128i)__builtin_lsx_vssrarni_bu_h((v16u8)(_1), (v16i8)(_2), (_3))) 3370 3371 #define __lsx_vssrarni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3) \ 3372 ((__m128i)__builtin_lsx_vssrarni_hu_w((v8u16)(_1), (v8i16)(_2), (_3))) 3373 3374 #define __lsx_vssrarni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3) \ 3375 ((__m128i)__builtin_lsx_vssrarni_wu_d((v4u32)(_1), (v4i32)(_2), (_3))) 3376 3377 #define __lsx_vssrarni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3) \ 3378 ((__m128i)__builtin_lsx_vssrarni_du_q((v2u64)(_1), (v2i64)(_2), (_3))) 3379 3380 #define __lsx_vpermi_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3) \ 3381 ((__m128i)__builtin_lsx_vpermi_w((v4i32)(_1), (v4i32)(_2), (_3))) 3382 3383 #define __lsx_vld(/*void **/ _1, /*si12*/ _2) \ 3384 ((__m128i)__builtin_lsx_vld((void const *)(_1), (_2))) 3385 3386 #define __lsx_vst(/*__m128i*/ _1, /*void **/ _2, /*si12*/ _3) \ 3387 ((void)__builtin_lsx_vst((v16i8)(_1), (void *)(_2), (_3))) 3388 3389 extern __inline 3390 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3391 __lsx_vssrlrn_b_h(__m128i _1, __m128i _2) { 3392 return (__m128i)__builtin_lsx_vssrlrn_b_h((v8i16)_1, (v8i16)_2); 3393 } 3394 3395 extern __inline 3396 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3397 __lsx_vssrlrn_h_w(__m128i _1, __m128i _2) { 3398 return (__m128i)__builtin_lsx_vssrlrn_h_w((v4i32)_1, (v4i32)_2); 3399 } 3400 3401 extern __inline 3402 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3403 __lsx_vssrlrn_w_d(__m128i _1, __m128i _2) { 3404 return (__m128i)__builtin_lsx_vssrlrn_w_d((v2i64)_1, (v2i64)_2); 3405 } 3406 3407 extern __inline 3408 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3409 __lsx_vssrln_b_h(__m128i _1, __m128i _2) { 3410 return (__m128i)__builtin_lsx_vssrln_b_h((v8i16)_1, (v8i16)_2); 3411 } 3412 3413 extern __inline 3414 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3415 __lsx_vssrln_h_w(__m128i _1, __m128i _2) { 3416 return (__m128i)__builtin_lsx_vssrln_h_w((v4i32)_1, (v4i32)_2); 3417 } 3418 3419 extern __inline 3420 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3421 __lsx_vssrln_w_d(__m128i _1, __m128i _2) { 3422 return (__m128i)__builtin_lsx_vssrln_w_d((v2i64)_1, (v2i64)_2); 3423 } 3424 3425 extern __inline 3426 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3427 __lsx_vorn_v(__m128i _1, __m128i _2) { 3428 return (__m128i)__builtin_lsx_vorn_v((v16i8)_1, (v16i8)_2); 3429 } 3430 3431 #define __lsx_vldi(/*i13*/ _1) ((__m128i)__builtin_lsx_vldi((_1))) 3432 3433 extern __inline 3434 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3435 __lsx_vshuf_b(__m128i _1, __m128i _2, __m128i _3) { 3436 return (__m128i)__builtin_lsx_vshuf_b((v16i8)_1, (v16i8)_2, (v16i8)_3); 3437 } 3438 3439 extern __inline 3440 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3441 __lsx_vldx(void const *_1, long int _2) { 3442 return (__m128i)__builtin_lsx_vldx((void const *)_1, (long int)_2); 3443 } 3444 3445 extern __inline 3446 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) void 3447 __lsx_vstx(__m128i _1, void *_2, long int _3) { 3448 return (void)__builtin_lsx_vstx((v16i8)_1, (void *)_2, (long int)_3); 3449 } 3450 3451 extern __inline 3452 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3453 __lsx_vextl_qu_du(__m128i _1) { 3454 return (__m128i)__builtin_lsx_vextl_qu_du((v2u64)_1); 3455 } 3456 3457 #define __lsx_bnz_b(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_b((v16u8)(_1))) 3458 3459 #define __lsx_bnz_d(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_d((v2u64)(_1))) 3460 3461 #define __lsx_bnz_h(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_h((v8u16)(_1))) 3462 3463 #define __lsx_bnz_v(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_v((v16u8)(_1))) 3464 3465 #define __lsx_bnz_w(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_w((v4u32)(_1))) 3466 3467 #define __lsx_bz_b(/*__m128i*/ _1) ((int)__builtin_lsx_bz_b((v16u8)(_1))) 3468 3469 #define __lsx_bz_d(/*__m128i*/ _1) ((int)__builtin_lsx_bz_d((v2u64)(_1))) 3470 3471 #define __lsx_bz_h(/*__m128i*/ _1) ((int)__builtin_lsx_bz_h((v8u16)(_1))) 3472 3473 #define __lsx_bz_v(/*__m128i*/ _1) ((int)__builtin_lsx_bz_v((v16u8)(_1))) 3474 3475 #define __lsx_bz_w(/*__m128i*/ _1) ((int)__builtin_lsx_bz_w((v4u32)(_1))) 3476 3477 extern __inline 3478 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3479 __lsx_vfcmp_caf_d(__m128d _1, __m128d _2) { 3480 return (__m128i)__builtin_lsx_vfcmp_caf_d((v2f64)_1, (v2f64)_2); 3481 } 3482 3483 extern __inline 3484 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3485 __lsx_vfcmp_caf_s(__m128 _1, __m128 _2) { 3486 return (__m128i)__builtin_lsx_vfcmp_caf_s((v4f32)_1, (v4f32)_2); 3487 } 3488 3489 extern __inline 3490 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3491 __lsx_vfcmp_ceq_d(__m128d _1, __m128d _2) { 3492 return (__m128i)__builtin_lsx_vfcmp_ceq_d((v2f64)_1, (v2f64)_2); 3493 } 3494 3495 extern __inline 3496 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3497 __lsx_vfcmp_ceq_s(__m128 _1, __m128 _2) { 3498 return (__m128i)__builtin_lsx_vfcmp_ceq_s((v4f32)_1, (v4f32)_2); 3499 } 3500 3501 extern __inline 3502 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3503 __lsx_vfcmp_cle_d(__m128d _1, __m128d _2) { 3504 return (__m128i)__builtin_lsx_vfcmp_cle_d((v2f64)_1, (v2f64)_2); 3505 } 3506 3507 extern __inline 3508 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3509 __lsx_vfcmp_cle_s(__m128 _1, __m128 _2) { 3510 return (__m128i)__builtin_lsx_vfcmp_cle_s((v4f32)_1, (v4f32)_2); 3511 } 3512 3513 extern __inline 3514 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3515 __lsx_vfcmp_clt_d(__m128d _1, __m128d _2) { 3516 return (__m128i)__builtin_lsx_vfcmp_clt_d((v2f64)_1, (v2f64)_2); 3517 } 3518 3519 extern __inline 3520 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3521 __lsx_vfcmp_clt_s(__m128 _1, __m128 _2) { 3522 return (__m128i)__builtin_lsx_vfcmp_clt_s((v4f32)_1, (v4f32)_2); 3523 } 3524 3525 extern __inline 3526 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3527 __lsx_vfcmp_cne_d(__m128d _1, __m128d _2) { 3528 return (__m128i)__builtin_lsx_vfcmp_cne_d((v2f64)_1, (v2f64)_2); 3529 } 3530 3531 extern __inline 3532 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3533 __lsx_vfcmp_cne_s(__m128 _1, __m128 _2) { 3534 return (__m128i)__builtin_lsx_vfcmp_cne_s((v4f32)_1, (v4f32)_2); 3535 } 3536 3537 extern __inline 3538 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3539 __lsx_vfcmp_cor_d(__m128d _1, __m128d _2) { 3540 return (__m128i)__builtin_lsx_vfcmp_cor_d((v2f64)_1, (v2f64)_2); 3541 } 3542 3543 extern __inline 3544 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3545 __lsx_vfcmp_cor_s(__m128 _1, __m128 _2) { 3546 return (__m128i)__builtin_lsx_vfcmp_cor_s((v4f32)_1, (v4f32)_2); 3547 } 3548 3549 extern __inline 3550 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3551 __lsx_vfcmp_cueq_d(__m128d _1, __m128d _2) { 3552 return (__m128i)__builtin_lsx_vfcmp_cueq_d((v2f64)_1, (v2f64)_2); 3553 } 3554 3555 extern __inline 3556 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3557 __lsx_vfcmp_cueq_s(__m128 _1, __m128 _2) { 3558 return (__m128i)__builtin_lsx_vfcmp_cueq_s((v4f32)_1, (v4f32)_2); 3559 } 3560 3561 extern __inline 3562 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3563 __lsx_vfcmp_cule_d(__m128d _1, __m128d _2) { 3564 return (__m128i)__builtin_lsx_vfcmp_cule_d((v2f64)_1, (v2f64)_2); 3565 } 3566 3567 extern __inline 3568 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3569 __lsx_vfcmp_cule_s(__m128 _1, __m128 _2) { 3570 return (__m128i)__builtin_lsx_vfcmp_cule_s((v4f32)_1, (v4f32)_2); 3571 } 3572 3573 extern __inline 3574 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3575 __lsx_vfcmp_cult_d(__m128d _1, __m128d _2) { 3576 return (__m128i)__builtin_lsx_vfcmp_cult_d((v2f64)_1, (v2f64)_2); 3577 } 3578 3579 extern __inline 3580 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3581 __lsx_vfcmp_cult_s(__m128 _1, __m128 _2) { 3582 return (__m128i)__builtin_lsx_vfcmp_cult_s((v4f32)_1, (v4f32)_2); 3583 } 3584 3585 extern __inline 3586 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3587 __lsx_vfcmp_cun_d(__m128d _1, __m128d _2) { 3588 return (__m128i)__builtin_lsx_vfcmp_cun_d((v2f64)_1, (v2f64)_2); 3589 } 3590 3591 extern __inline 3592 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3593 __lsx_vfcmp_cune_d(__m128d _1, __m128d _2) { 3594 return (__m128i)__builtin_lsx_vfcmp_cune_d((v2f64)_1, (v2f64)_2); 3595 } 3596 3597 extern __inline 3598 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3599 __lsx_vfcmp_cune_s(__m128 _1, __m128 _2) { 3600 return (__m128i)__builtin_lsx_vfcmp_cune_s((v4f32)_1, (v4f32)_2); 3601 } 3602 3603 extern __inline 3604 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3605 __lsx_vfcmp_cun_s(__m128 _1, __m128 _2) { 3606 return (__m128i)__builtin_lsx_vfcmp_cun_s((v4f32)_1, (v4f32)_2); 3607 } 3608 3609 extern __inline 3610 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3611 __lsx_vfcmp_saf_d(__m128d _1, __m128d _2) { 3612 return (__m128i)__builtin_lsx_vfcmp_saf_d((v2f64)_1, (v2f64)_2); 3613 } 3614 3615 extern __inline 3616 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3617 __lsx_vfcmp_saf_s(__m128 _1, __m128 _2) { 3618 return (__m128i)__builtin_lsx_vfcmp_saf_s((v4f32)_1, (v4f32)_2); 3619 } 3620 3621 extern __inline 3622 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3623 __lsx_vfcmp_seq_d(__m128d _1, __m128d _2) { 3624 return (__m128i)__builtin_lsx_vfcmp_seq_d((v2f64)_1, (v2f64)_2); 3625 } 3626 3627 extern __inline 3628 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3629 __lsx_vfcmp_seq_s(__m128 _1, __m128 _2) { 3630 return (__m128i)__builtin_lsx_vfcmp_seq_s((v4f32)_1, (v4f32)_2); 3631 } 3632 3633 extern __inline 3634 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3635 __lsx_vfcmp_sle_d(__m128d _1, __m128d _2) { 3636 return (__m128i)__builtin_lsx_vfcmp_sle_d((v2f64)_1, (v2f64)_2); 3637 } 3638 3639 extern __inline 3640 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3641 __lsx_vfcmp_sle_s(__m128 _1, __m128 _2) { 3642 return (__m128i)__builtin_lsx_vfcmp_sle_s((v4f32)_1, (v4f32)_2); 3643 } 3644 3645 extern __inline 3646 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3647 __lsx_vfcmp_slt_d(__m128d _1, __m128d _2) { 3648 return (__m128i)__builtin_lsx_vfcmp_slt_d((v2f64)_1, (v2f64)_2); 3649 } 3650 3651 extern __inline 3652 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3653 __lsx_vfcmp_slt_s(__m128 _1, __m128 _2) { 3654 return (__m128i)__builtin_lsx_vfcmp_slt_s((v4f32)_1, (v4f32)_2); 3655 } 3656 3657 extern __inline 3658 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3659 __lsx_vfcmp_sne_d(__m128d _1, __m128d _2) { 3660 return (__m128i)__builtin_lsx_vfcmp_sne_d((v2f64)_1, (v2f64)_2); 3661 } 3662 3663 extern __inline 3664 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3665 __lsx_vfcmp_sne_s(__m128 _1, __m128 _2) { 3666 return (__m128i)__builtin_lsx_vfcmp_sne_s((v4f32)_1, (v4f32)_2); 3667 } 3668 3669 extern __inline 3670 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3671 __lsx_vfcmp_sor_d(__m128d _1, __m128d _2) { 3672 return (__m128i)__builtin_lsx_vfcmp_sor_d((v2f64)_1, (v2f64)_2); 3673 } 3674 3675 extern __inline 3676 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3677 __lsx_vfcmp_sor_s(__m128 _1, __m128 _2) { 3678 return (__m128i)__builtin_lsx_vfcmp_sor_s((v4f32)_1, (v4f32)_2); 3679 } 3680 3681 extern __inline 3682 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3683 __lsx_vfcmp_sueq_d(__m128d _1, __m128d _2) { 3684 return (__m128i)__builtin_lsx_vfcmp_sueq_d((v2f64)_1, (v2f64)_2); 3685 } 3686 3687 extern __inline 3688 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3689 __lsx_vfcmp_sueq_s(__m128 _1, __m128 _2) { 3690 return (__m128i)__builtin_lsx_vfcmp_sueq_s((v4f32)_1, (v4f32)_2); 3691 } 3692 3693 extern __inline 3694 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3695 __lsx_vfcmp_sule_d(__m128d _1, __m128d _2) { 3696 return (__m128i)__builtin_lsx_vfcmp_sule_d((v2f64)_1, (v2f64)_2); 3697 } 3698 3699 extern __inline 3700 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3701 __lsx_vfcmp_sule_s(__m128 _1, __m128 _2) { 3702 return (__m128i)__builtin_lsx_vfcmp_sule_s((v4f32)_1, (v4f32)_2); 3703 } 3704 3705 extern __inline 3706 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3707 __lsx_vfcmp_sult_d(__m128d _1, __m128d _2) { 3708 return (__m128i)__builtin_lsx_vfcmp_sult_d((v2f64)_1, (v2f64)_2); 3709 } 3710 3711 extern __inline 3712 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3713 __lsx_vfcmp_sult_s(__m128 _1, __m128 _2) { 3714 return (__m128i)__builtin_lsx_vfcmp_sult_s((v4f32)_1, (v4f32)_2); 3715 } 3716 3717 extern __inline 3718 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3719 __lsx_vfcmp_sun_d(__m128d _1, __m128d _2) { 3720 return (__m128i)__builtin_lsx_vfcmp_sun_d((v2f64)_1, (v2f64)_2); 3721 } 3722 3723 extern __inline 3724 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3725 __lsx_vfcmp_sune_d(__m128d _1, __m128d _2) { 3726 return (__m128i)__builtin_lsx_vfcmp_sune_d((v2f64)_1, (v2f64)_2); 3727 } 3728 3729 extern __inline 3730 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3731 __lsx_vfcmp_sune_s(__m128 _1, __m128 _2) { 3732 return (__m128i)__builtin_lsx_vfcmp_sune_s((v4f32)_1, (v4f32)_2); 3733 } 3734 3735 extern __inline 3736 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i 3737 __lsx_vfcmp_sun_s(__m128 _1, __m128 _2) { 3738 return (__m128i)__builtin_lsx_vfcmp_sun_s((v4f32)_1, (v4f32)_2); 3739 } 3740 3741 #define __lsx_vrepli_b(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_b((_1))) 3742 3743 #define __lsx_vrepli_d(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_d((_1))) 3744 3745 #define __lsx_vrepli_h(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_h((_1))) 3746 3747 #define __lsx_vrepli_w(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_w((_1))) 3748 3749 #endif /* defined(__loongarch_sx) */ 3750 #endif /* _LOONGSON_SXINTRIN_H */ 3751