1 /*===------------ lasxintrin.h - LoongArch LASX 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_ASXINTRIN_H 11 #define _LOONGSON_ASXINTRIN_H 1 12 13 #if defined(__loongarch_asx) 14 15 typedef signed char v32i8 __attribute__((vector_size(32), aligned(32))); 16 typedef signed char v32i8_b __attribute__((vector_size(32), aligned(1))); 17 typedef unsigned char v32u8 __attribute__((vector_size(32), aligned(32))); 18 typedef unsigned char v32u8_b __attribute__((vector_size(32), aligned(1))); 19 typedef short v16i16 __attribute__((vector_size(32), aligned(32))); 20 typedef short v16i16_h __attribute__((vector_size(32), aligned(2))); 21 typedef unsigned short v16u16 __attribute__((vector_size(32), aligned(32))); 22 typedef unsigned short v16u16_h __attribute__((vector_size(32), aligned(2))); 23 typedef int v8i32 __attribute__((vector_size(32), aligned(32))); 24 typedef int v8i32_w __attribute__((vector_size(32), aligned(4))); 25 typedef unsigned int v8u32 __attribute__((vector_size(32), aligned(32))); 26 typedef unsigned int v8u32_w __attribute__((vector_size(32), aligned(4))); 27 typedef long long v4i64 __attribute__((vector_size(32), aligned(32))); 28 typedef long long v4i64_d __attribute__((vector_size(32), aligned(8))); 29 typedef unsigned long long v4u64 __attribute__((vector_size(32), aligned(32))); 30 typedef unsigned long long v4u64_d __attribute__((vector_size(32), aligned(8))); 31 typedef float v8f32 __attribute__((vector_size(32), aligned(32))); 32 typedef float v8f32_w __attribute__((vector_size(32), aligned(4))); 33 typedef double v4f64 __attribute__((vector_size(32), aligned(32))); 34 typedef double v4f64_d __attribute__((vector_size(32), aligned(8))); 35 36 typedef double v4f64 __attribute__((vector_size(32), aligned(32))); 37 typedef double v4f64_d __attribute__((vector_size(32), aligned(8))); 38 39 typedef float __m256 __attribute__((__vector_size__(32), __may_alias__)); 40 typedef long long __m256i __attribute__((__vector_size__(32), __may_alias__)); 41 typedef double __m256d __attribute__((__vector_size__(32), __may_alias__)); 42 43 extern __inline 44 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 45 __lasx_xvsll_b(__m256i _1, __m256i _2) { 46 return (__m256i)__builtin_lasx_xvsll_b((v32i8)_1, (v32i8)_2); 47 } 48 49 extern __inline 50 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 51 __lasx_xvsll_h(__m256i _1, __m256i _2) { 52 return (__m256i)__builtin_lasx_xvsll_h((v16i16)_1, (v16i16)_2); 53 } 54 55 extern __inline 56 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 57 __lasx_xvsll_w(__m256i _1, __m256i _2) { 58 return (__m256i)__builtin_lasx_xvsll_w((v8i32)_1, (v8i32)_2); 59 } 60 61 extern __inline 62 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 63 __lasx_xvsll_d(__m256i _1, __m256i _2) { 64 return (__m256i)__builtin_lasx_xvsll_d((v4i64)_1, (v4i64)_2); 65 } 66 67 #define __lasx_xvslli_b(/*__m256i*/ _1, /*ui3*/ _2) \ 68 ((__m256i)__builtin_lasx_xvslli_b((v32i8)(_1), (_2))) 69 70 #define __lasx_xvslli_h(/*__m256i*/ _1, /*ui4*/ _2) \ 71 ((__m256i)__builtin_lasx_xvslli_h((v16i16)(_1), (_2))) 72 73 #define __lasx_xvslli_w(/*__m256i*/ _1, /*ui5*/ _2) \ 74 ((__m256i)__builtin_lasx_xvslli_w((v8i32)(_1), (_2))) 75 76 #define __lasx_xvslli_d(/*__m256i*/ _1, /*ui6*/ _2) \ 77 ((__m256i)__builtin_lasx_xvslli_d((v4i64)(_1), (_2))) 78 79 extern __inline 80 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 81 __lasx_xvsra_b(__m256i _1, __m256i _2) { 82 return (__m256i)__builtin_lasx_xvsra_b((v32i8)_1, (v32i8)_2); 83 } 84 85 extern __inline 86 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 87 __lasx_xvsra_h(__m256i _1, __m256i _2) { 88 return (__m256i)__builtin_lasx_xvsra_h((v16i16)_1, (v16i16)_2); 89 } 90 91 extern __inline 92 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 93 __lasx_xvsra_w(__m256i _1, __m256i _2) { 94 return (__m256i)__builtin_lasx_xvsra_w((v8i32)_1, (v8i32)_2); 95 } 96 97 extern __inline 98 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 99 __lasx_xvsra_d(__m256i _1, __m256i _2) { 100 return (__m256i)__builtin_lasx_xvsra_d((v4i64)_1, (v4i64)_2); 101 } 102 103 #define __lasx_xvsrai_b(/*__m256i*/ _1, /*ui3*/ _2) \ 104 ((__m256i)__builtin_lasx_xvsrai_b((v32i8)(_1), (_2))) 105 106 #define __lasx_xvsrai_h(/*__m256i*/ _1, /*ui4*/ _2) \ 107 ((__m256i)__builtin_lasx_xvsrai_h((v16i16)(_1), (_2))) 108 109 #define __lasx_xvsrai_w(/*__m256i*/ _1, /*ui5*/ _2) \ 110 ((__m256i)__builtin_lasx_xvsrai_w((v8i32)(_1), (_2))) 111 112 #define __lasx_xvsrai_d(/*__m256i*/ _1, /*ui6*/ _2) \ 113 ((__m256i)__builtin_lasx_xvsrai_d((v4i64)(_1), (_2))) 114 115 extern __inline 116 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 117 __lasx_xvsrar_b(__m256i _1, __m256i _2) { 118 return (__m256i)__builtin_lasx_xvsrar_b((v32i8)_1, (v32i8)_2); 119 } 120 121 extern __inline 122 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 123 __lasx_xvsrar_h(__m256i _1, __m256i _2) { 124 return (__m256i)__builtin_lasx_xvsrar_h((v16i16)_1, (v16i16)_2); 125 } 126 127 extern __inline 128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 129 __lasx_xvsrar_w(__m256i _1, __m256i _2) { 130 return (__m256i)__builtin_lasx_xvsrar_w((v8i32)_1, (v8i32)_2); 131 } 132 133 extern __inline 134 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 135 __lasx_xvsrar_d(__m256i _1, __m256i _2) { 136 return (__m256i)__builtin_lasx_xvsrar_d((v4i64)_1, (v4i64)_2); 137 } 138 139 #define __lasx_xvsrari_b(/*__m256i*/ _1, /*ui3*/ _2) \ 140 ((__m256i)__builtin_lasx_xvsrari_b((v32i8)(_1), (_2))) 141 142 #define __lasx_xvsrari_h(/*__m256i*/ _1, /*ui4*/ _2) \ 143 ((__m256i)__builtin_lasx_xvsrari_h((v16i16)(_1), (_2))) 144 145 #define __lasx_xvsrari_w(/*__m256i*/ _1, /*ui5*/ _2) \ 146 ((__m256i)__builtin_lasx_xvsrari_w((v8i32)(_1), (_2))) 147 148 #define __lasx_xvsrari_d(/*__m256i*/ _1, /*ui6*/ _2) \ 149 ((__m256i)__builtin_lasx_xvsrari_d((v4i64)(_1), (_2))) 150 151 extern __inline 152 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 153 __lasx_xvsrl_b(__m256i _1, __m256i _2) { 154 return (__m256i)__builtin_lasx_xvsrl_b((v32i8)_1, (v32i8)_2); 155 } 156 157 extern __inline 158 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 159 __lasx_xvsrl_h(__m256i _1, __m256i _2) { 160 return (__m256i)__builtin_lasx_xvsrl_h((v16i16)_1, (v16i16)_2); 161 } 162 163 extern __inline 164 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 165 __lasx_xvsrl_w(__m256i _1, __m256i _2) { 166 return (__m256i)__builtin_lasx_xvsrl_w((v8i32)_1, (v8i32)_2); 167 } 168 169 extern __inline 170 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 171 __lasx_xvsrl_d(__m256i _1, __m256i _2) { 172 return (__m256i)__builtin_lasx_xvsrl_d((v4i64)_1, (v4i64)_2); 173 } 174 175 #define __lasx_xvsrli_b(/*__m256i*/ _1, /*ui3*/ _2) \ 176 ((__m256i)__builtin_lasx_xvsrli_b((v32i8)(_1), (_2))) 177 178 #define __lasx_xvsrli_h(/*__m256i*/ _1, /*ui4*/ _2) \ 179 ((__m256i)__builtin_lasx_xvsrli_h((v16i16)(_1), (_2))) 180 181 #define __lasx_xvsrli_w(/*__m256i*/ _1, /*ui5*/ _2) \ 182 ((__m256i)__builtin_lasx_xvsrli_w((v8i32)(_1), (_2))) 183 184 #define __lasx_xvsrli_d(/*__m256i*/ _1, /*ui6*/ _2) \ 185 ((__m256i)__builtin_lasx_xvsrli_d((v4i64)(_1), (_2))) 186 187 extern __inline 188 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 189 __lasx_xvsrlr_b(__m256i _1, __m256i _2) { 190 return (__m256i)__builtin_lasx_xvsrlr_b((v32i8)_1, (v32i8)_2); 191 } 192 193 extern __inline 194 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 195 __lasx_xvsrlr_h(__m256i _1, __m256i _2) { 196 return (__m256i)__builtin_lasx_xvsrlr_h((v16i16)_1, (v16i16)_2); 197 } 198 199 extern __inline 200 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 201 __lasx_xvsrlr_w(__m256i _1, __m256i _2) { 202 return (__m256i)__builtin_lasx_xvsrlr_w((v8i32)_1, (v8i32)_2); 203 } 204 205 extern __inline 206 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 207 __lasx_xvsrlr_d(__m256i _1, __m256i _2) { 208 return (__m256i)__builtin_lasx_xvsrlr_d((v4i64)_1, (v4i64)_2); 209 } 210 211 #define __lasx_xvsrlri_b(/*__m256i*/ _1, /*ui3*/ _2) \ 212 ((__m256i)__builtin_lasx_xvsrlri_b((v32i8)(_1), (_2))) 213 214 #define __lasx_xvsrlri_h(/*__m256i*/ _1, /*ui4*/ _2) \ 215 ((__m256i)__builtin_lasx_xvsrlri_h((v16i16)(_1), (_2))) 216 217 #define __lasx_xvsrlri_w(/*__m256i*/ _1, /*ui5*/ _2) \ 218 ((__m256i)__builtin_lasx_xvsrlri_w((v8i32)(_1), (_2))) 219 220 #define __lasx_xvsrlri_d(/*__m256i*/ _1, /*ui6*/ _2) \ 221 ((__m256i)__builtin_lasx_xvsrlri_d((v4i64)(_1), (_2))) 222 223 extern __inline 224 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 225 __lasx_xvbitclr_b(__m256i _1, __m256i _2) { 226 return (__m256i)__builtin_lasx_xvbitclr_b((v32u8)_1, (v32u8)_2); 227 } 228 229 extern __inline 230 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 231 __lasx_xvbitclr_h(__m256i _1, __m256i _2) { 232 return (__m256i)__builtin_lasx_xvbitclr_h((v16u16)_1, (v16u16)_2); 233 } 234 235 extern __inline 236 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 237 __lasx_xvbitclr_w(__m256i _1, __m256i _2) { 238 return (__m256i)__builtin_lasx_xvbitclr_w((v8u32)_1, (v8u32)_2); 239 } 240 241 extern __inline 242 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 243 __lasx_xvbitclr_d(__m256i _1, __m256i _2) { 244 return (__m256i)__builtin_lasx_xvbitclr_d((v4u64)_1, (v4u64)_2); 245 } 246 247 #define __lasx_xvbitclri_b(/*__m256i*/ _1, /*ui3*/ _2) \ 248 ((__m256i)__builtin_lasx_xvbitclri_b((v32u8)(_1), (_2))) 249 250 #define __lasx_xvbitclri_h(/*__m256i*/ _1, /*ui4*/ _2) \ 251 ((__m256i)__builtin_lasx_xvbitclri_h((v16u16)(_1), (_2))) 252 253 #define __lasx_xvbitclri_w(/*__m256i*/ _1, /*ui5*/ _2) \ 254 ((__m256i)__builtin_lasx_xvbitclri_w((v8u32)(_1), (_2))) 255 256 #define __lasx_xvbitclri_d(/*__m256i*/ _1, /*ui6*/ _2) \ 257 ((__m256i)__builtin_lasx_xvbitclri_d((v4u64)(_1), (_2))) 258 259 extern __inline 260 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 261 __lasx_xvbitset_b(__m256i _1, __m256i _2) { 262 return (__m256i)__builtin_lasx_xvbitset_b((v32u8)_1, (v32u8)_2); 263 } 264 265 extern __inline 266 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 267 __lasx_xvbitset_h(__m256i _1, __m256i _2) { 268 return (__m256i)__builtin_lasx_xvbitset_h((v16u16)_1, (v16u16)_2); 269 } 270 271 extern __inline 272 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 273 __lasx_xvbitset_w(__m256i _1, __m256i _2) { 274 return (__m256i)__builtin_lasx_xvbitset_w((v8u32)_1, (v8u32)_2); 275 } 276 277 extern __inline 278 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 279 __lasx_xvbitset_d(__m256i _1, __m256i _2) { 280 return (__m256i)__builtin_lasx_xvbitset_d((v4u64)_1, (v4u64)_2); 281 } 282 283 #define __lasx_xvbitseti_b(/*__m256i*/ _1, /*ui3*/ _2) \ 284 ((__m256i)__builtin_lasx_xvbitseti_b((v32u8)(_1), (_2))) 285 286 #define __lasx_xvbitseti_h(/*__m256i*/ _1, /*ui4*/ _2) \ 287 ((__m256i)__builtin_lasx_xvbitseti_h((v16u16)(_1), (_2))) 288 289 #define __lasx_xvbitseti_w(/*__m256i*/ _1, /*ui5*/ _2) \ 290 ((__m256i)__builtin_lasx_xvbitseti_w((v8u32)(_1), (_2))) 291 292 #define __lasx_xvbitseti_d(/*__m256i*/ _1, /*ui6*/ _2) \ 293 ((__m256i)__builtin_lasx_xvbitseti_d((v4u64)(_1), (_2))) 294 295 extern __inline 296 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 297 __lasx_xvbitrev_b(__m256i _1, __m256i _2) { 298 return (__m256i)__builtin_lasx_xvbitrev_b((v32u8)_1, (v32u8)_2); 299 } 300 301 extern __inline 302 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 303 __lasx_xvbitrev_h(__m256i _1, __m256i _2) { 304 return (__m256i)__builtin_lasx_xvbitrev_h((v16u16)_1, (v16u16)_2); 305 } 306 307 extern __inline 308 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 309 __lasx_xvbitrev_w(__m256i _1, __m256i _2) { 310 return (__m256i)__builtin_lasx_xvbitrev_w((v8u32)_1, (v8u32)_2); 311 } 312 313 extern __inline 314 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 315 __lasx_xvbitrev_d(__m256i _1, __m256i _2) { 316 return (__m256i)__builtin_lasx_xvbitrev_d((v4u64)_1, (v4u64)_2); 317 } 318 319 #define __lasx_xvbitrevi_b(/*__m256i*/ _1, /*ui3*/ _2) \ 320 ((__m256i)__builtin_lasx_xvbitrevi_b((v32u8)(_1), (_2))) 321 322 #define __lasx_xvbitrevi_h(/*__m256i*/ _1, /*ui4*/ _2) \ 323 ((__m256i)__builtin_lasx_xvbitrevi_h((v16u16)(_1), (_2))) 324 325 #define __lasx_xvbitrevi_w(/*__m256i*/ _1, /*ui5*/ _2) \ 326 ((__m256i)__builtin_lasx_xvbitrevi_w((v8u32)(_1), (_2))) 327 328 #define __lasx_xvbitrevi_d(/*__m256i*/ _1, /*ui6*/ _2) \ 329 ((__m256i)__builtin_lasx_xvbitrevi_d((v4u64)(_1), (_2))) 330 331 extern __inline 332 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 333 __lasx_xvadd_b(__m256i _1, __m256i _2) { 334 return (__m256i)__builtin_lasx_xvadd_b((v32i8)_1, (v32i8)_2); 335 } 336 337 extern __inline 338 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 339 __lasx_xvadd_h(__m256i _1, __m256i _2) { 340 return (__m256i)__builtin_lasx_xvadd_h((v16i16)_1, (v16i16)_2); 341 } 342 343 extern __inline 344 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 345 __lasx_xvadd_w(__m256i _1, __m256i _2) { 346 return (__m256i)__builtin_lasx_xvadd_w((v8i32)_1, (v8i32)_2); 347 } 348 349 extern __inline 350 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 351 __lasx_xvadd_d(__m256i _1, __m256i _2) { 352 return (__m256i)__builtin_lasx_xvadd_d((v4i64)_1, (v4i64)_2); 353 } 354 355 #define __lasx_xvaddi_bu(/*__m256i*/ _1, /*ui5*/ _2) \ 356 ((__m256i)__builtin_lasx_xvaddi_bu((v32i8)(_1), (_2))) 357 358 #define __lasx_xvaddi_hu(/*__m256i*/ _1, /*ui5*/ _2) \ 359 ((__m256i)__builtin_lasx_xvaddi_hu((v16i16)(_1), (_2))) 360 361 #define __lasx_xvaddi_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 362 ((__m256i)__builtin_lasx_xvaddi_wu((v8i32)(_1), (_2))) 363 364 #define __lasx_xvaddi_du(/*__m256i*/ _1, /*ui5*/ _2) \ 365 ((__m256i)__builtin_lasx_xvaddi_du((v4i64)(_1), (_2))) 366 367 extern __inline 368 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 369 __lasx_xvsub_b(__m256i _1, __m256i _2) { 370 return (__m256i)__builtin_lasx_xvsub_b((v32i8)_1, (v32i8)_2); 371 } 372 373 extern __inline 374 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 375 __lasx_xvsub_h(__m256i _1, __m256i _2) { 376 return (__m256i)__builtin_lasx_xvsub_h((v16i16)_1, (v16i16)_2); 377 } 378 379 extern __inline 380 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 381 __lasx_xvsub_w(__m256i _1, __m256i _2) { 382 return (__m256i)__builtin_lasx_xvsub_w((v8i32)_1, (v8i32)_2); 383 } 384 385 extern __inline 386 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 387 __lasx_xvsub_d(__m256i _1, __m256i _2) { 388 return (__m256i)__builtin_lasx_xvsub_d((v4i64)_1, (v4i64)_2); 389 } 390 391 #define __lasx_xvsubi_bu(/*__m256i*/ _1, /*ui5*/ _2) \ 392 ((__m256i)__builtin_lasx_xvsubi_bu((v32i8)(_1), (_2))) 393 394 #define __lasx_xvsubi_hu(/*__m256i*/ _1, /*ui5*/ _2) \ 395 ((__m256i)__builtin_lasx_xvsubi_hu((v16i16)(_1), (_2))) 396 397 #define __lasx_xvsubi_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 398 ((__m256i)__builtin_lasx_xvsubi_wu((v8i32)(_1), (_2))) 399 400 #define __lasx_xvsubi_du(/*__m256i*/ _1, /*ui5*/ _2) \ 401 ((__m256i)__builtin_lasx_xvsubi_du((v4i64)(_1), (_2))) 402 403 extern __inline 404 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 405 __lasx_xvmax_b(__m256i _1, __m256i _2) { 406 return (__m256i)__builtin_lasx_xvmax_b((v32i8)_1, (v32i8)_2); 407 } 408 409 extern __inline 410 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 411 __lasx_xvmax_h(__m256i _1, __m256i _2) { 412 return (__m256i)__builtin_lasx_xvmax_h((v16i16)_1, (v16i16)_2); 413 } 414 415 extern __inline 416 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 417 __lasx_xvmax_w(__m256i _1, __m256i _2) { 418 return (__m256i)__builtin_lasx_xvmax_w((v8i32)_1, (v8i32)_2); 419 } 420 421 extern __inline 422 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 423 __lasx_xvmax_d(__m256i _1, __m256i _2) { 424 return (__m256i)__builtin_lasx_xvmax_d((v4i64)_1, (v4i64)_2); 425 } 426 427 #define __lasx_xvmaxi_b(/*__m256i*/ _1, /*si5*/ _2) \ 428 ((__m256i)__builtin_lasx_xvmaxi_b((v32i8)(_1), (_2))) 429 430 #define __lasx_xvmaxi_h(/*__m256i*/ _1, /*si5*/ _2) \ 431 ((__m256i)__builtin_lasx_xvmaxi_h((v16i16)(_1), (_2))) 432 433 #define __lasx_xvmaxi_w(/*__m256i*/ _1, /*si5*/ _2) \ 434 ((__m256i)__builtin_lasx_xvmaxi_w((v8i32)(_1), (_2))) 435 436 #define __lasx_xvmaxi_d(/*__m256i*/ _1, /*si5*/ _2) \ 437 ((__m256i)__builtin_lasx_xvmaxi_d((v4i64)(_1), (_2))) 438 439 extern __inline 440 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 441 __lasx_xvmax_bu(__m256i _1, __m256i _2) { 442 return (__m256i)__builtin_lasx_xvmax_bu((v32u8)_1, (v32u8)_2); 443 } 444 445 extern __inline 446 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 447 __lasx_xvmax_hu(__m256i _1, __m256i _2) { 448 return (__m256i)__builtin_lasx_xvmax_hu((v16u16)_1, (v16u16)_2); 449 } 450 451 extern __inline 452 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 453 __lasx_xvmax_wu(__m256i _1, __m256i _2) { 454 return (__m256i)__builtin_lasx_xvmax_wu((v8u32)_1, (v8u32)_2); 455 } 456 457 extern __inline 458 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 459 __lasx_xvmax_du(__m256i _1, __m256i _2) { 460 return (__m256i)__builtin_lasx_xvmax_du((v4u64)_1, (v4u64)_2); 461 } 462 463 #define __lasx_xvmaxi_bu(/*__m256i*/ _1, /*ui5*/ _2) \ 464 ((__m256i)__builtin_lasx_xvmaxi_bu((v32u8)(_1), (_2))) 465 466 #define __lasx_xvmaxi_hu(/*__m256i*/ _1, /*ui5*/ _2) \ 467 ((__m256i)__builtin_lasx_xvmaxi_hu((v16u16)(_1), (_2))) 468 469 #define __lasx_xvmaxi_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 470 ((__m256i)__builtin_lasx_xvmaxi_wu((v8u32)(_1), (_2))) 471 472 #define __lasx_xvmaxi_du(/*__m256i*/ _1, /*ui5*/ _2) \ 473 ((__m256i)__builtin_lasx_xvmaxi_du((v4u64)(_1), (_2))) 474 475 extern __inline 476 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 477 __lasx_xvmin_b(__m256i _1, __m256i _2) { 478 return (__m256i)__builtin_lasx_xvmin_b((v32i8)_1, (v32i8)_2); 479 } 480 481 extern __inline 482 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 483 __lasx_xvmin_h(__m256i _1, __m256i _2) { 484 return (__m256i)__builtin_lasx_xvmin_h((v16i16)_1, (v16i16)_2); 485 } 486 487 extern __inline 488 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 489 __lasx_xvmin_w(__m256i _1, __m256i _2) { 490 return (__m256i)__builtin_lasx_xvmin_w((v8i32)_1, (v8i32)_2); 491 } 492 493 extern __inline 494 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 495 __lasx_xvmin_d(__m256i _1, __m256i _2) { 496 return (__m256i)__builtin_lasx_xvmin_d((v4i64)_1, (v4i64)_2); 497 } 498 499 #define __lasx_xvmini_b(/*__m256i*/ _1, /*si5*/ _2) \ 500 ((__m256i)__builtin_lasx_xvmini_b((v32i8)(_1), (_2))) 501 502 #define __lasx_xvmini_h(/*__m256i*/ _1, /*si5*/ _2) \ 503 ((__m256i)__builtin_lasx_xvmini_h((v16i16)(_1), (_2))) 504 505 #define __lasx_xvmini_w(/*__m256i*/ _1, /*si5*/ _2) \ 506 ((__m256i)__builtin_lasx_xvmini_w((v8i32)(_1), (_2))) 507 508 #define __lasx_xvmini_d(/*__m256i*/ _1, /*si5*/ _2) \ 509 ((__m256i)__builtin_lasx_xvmini_d((v4i64)(_1), (_2))) 510 511 extern __inline 512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 513 __lasx_xvmin_bu(__m256i _1, __m256i _2) { 514 return (__m256i)__builtin_lasx_xvmin_bu((v32u8)_1, (v32u8)_2); 515 } 516 517 extern __inline 518 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 519 __lasx_xvmin_hu(__m256i _1, __m256i _2) { 520 return (__m256i)__builtin_lasx_xvmin_hu((v16u16)_1, (v16u16)_2); 521 } 522 523 extern __inline 524 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 525 __lasx_xvmin_wu(__m256i _1, __m256i _2) { 526 return (__m256i)__builtin_lasx_xvmin_wu((v8u32)_1, (v8u32)_2); 527 } 528 529 extern __inline 530 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 531 __lasx_xvmin_du(__m256i _1, __m256i _2) { 532 return (__m256i)__builtin_lasx_xvmin_du((v4u64)_1, (v4u64)_2); 533 } 534 535 #define __lasx_xvmini_bu(/*__m256i*/ _1, /*ui5*/ _2) \ 536 ((__m256i)__builtin_lasx_xvmini_bu((v32u8)(_1), (_2))) 537 538 #define __lasx_xvmini_hu(/*__m256i*/ _1, /*ui5*/ _2) \ 539 ((__m256i)__builtin_lasx_xvmini_hu((v16u16)(_1), (_2))) 540 541 #define __lasx_xvmini_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 542 ((__m256i)__builtin_lasx_xvmini_wu((v8u32)(_1), (_2))) 543 544 #define __lasx_xvmini_du(/*__m256i*/ _1, /*ui5*/ _2) \ 545 ((__m256i)__builtin_lasx_xvmini_du((v4u64)(_1), (_2))) 546 547 extern __inline 548 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 549 __lasx_xvseq_b(__m256i _1, __m256i _2) { 550 return (__m256i)__builtin_lasx_xvseq_b((v32i8)_1, (v32i8)_2); 551 } 552 553 extern __inline 554 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 555 __lasx_xvseq_h(__m256i _1, __m256i _2) { 556 return (__m256i)__builtin_lasx_xvseq_h((v16i16)_1, (v16i16)_2); 557 } 558 559 extern __inline 560 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 561 __lasx_xvseq_w(__m256i _1, __m256i _2) { 562 return (__m256i)__builtin_lasx_xvseq_w((v8i32)_1, (v8i32)_2); 563 } 564 565 extern __inline 566 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 567 __lasx_xvseq_d(__m256i _1, __m256i _2) { 568 return (__m256i)__builtin_lasx_xvseq_d((v4i64)_1, (v4i64)_2); 569 } 570 571 #define __lasx_xvseqi_b(/*__m256i*/ _1, /*si5*/ _2) \ 572 ((__m256i)__builtin_lasx_xvseqi_b((v32i8)(_1), (_2))) 573 574 #define __lasx_xvseqi_h(/*__m256i*/ _1, /*si5*/ _2) \ 575 ((__m256i)__builtin_lasx_xvseqi_h((v16i16)(_1), (_2))) 576 577 #define __lasx_xvseqi_w(/*__m256i*/ _1, /*si5*/ _2) \ 578 ((__m256i)__builtin_lasx_xvseqi_w((v8i32)(_1), (_2))) 579 580 #define __lasx_xvseqi_d(/*__m256i*/ _1, /*si5*/ _2) \ 581 ((__m256i)__builtin_lasx_xvseqi_d((v4i64)(_1), (_2))) 582 583 extern __inline 584 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 585 __lasx_xvslt_b(__m256i _1, __m256i _2) { 586 return (__m256i)__builtin_lasx_xvslt_b((v32i8)_1, (v32i8)_2); 587 } 588 589 extern __inline 590 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 591 __lasx_xvslt_h(__m256i _1, __m256i _2) { 592 return (__m256i)__builtin_lasx_xvslt_h((v16i16)_1, (v16i16)_2); 593 } 594 595 extern __inline 596 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 597 __lasx_xvslt_w(__m256i _1, __m256i _2) { 598 return (__m256i)__builtin_lasx_xvslt_w((v8i32)_1, (v8i32)_2); 599 } 600 601 extern __inline 602 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 603 __lasx_xvslt_d(__m256i _1, __m256i _2) { 604 return (__m256i)__builtin_lasx_xvslt_d((v4i64)_1, (v4i64)_2); 605 } 606 607 #define __lasx_xvslti_b(/*__m256i*/ _1, /*si5*/ _2) \ 608 ((__m256i)__builtin_lasx_xvslti_b((v32i8)(_1), (_2))) 609 610 #define __lasx_xvslti_h(/*__m256i*/ _1, /*si5*/ _2) \ 611 ((__m256i)__builtin_lasx_xvslti_h((v16i16)(_1), (_2))) 612 613 #define __lasx_xvslti_w(/*__m256i*/ _1, /*si5*/ _2) \ 614 ((__m256i)__builtin_lasx_xvslti_w((v8i32)(_1), (_2))) 615 616 #define __lasx_xvslti_d(/*__m256i*/ _1, /*si5*/ _2) \ 617 ((__m256i)__builtin_lasx_xvslti_d((v4i64)(_1), (_2))) 618 619 extern __inline 620 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 621 __lasx_xvslt_bu(__m256i _1, __m256i _2) { 622 return (__m256i)__builtin_lasx_xvslt_bu((v32u8)_1, (v32u8)_2); 623 } 624 625 extern __inline 626 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 627 __lasx_xvslt_hu(__m256i _1, __m256i _2) { 628 return (__m256i)__builtin_lasx_xvslt_hu((v16u16)_1, (v16u16)_2); 629 } 630 631 extern __inline 632 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 633 __lasx_xvslt_wu(__m256i _1, __m256i _2) { 634 return (__m256i)__builtin_lasx_xvslt_wu((v8u32)_1, (v8u32)_2); 635 } 636 637 extern __inline 638 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 639 __lasx_xvslt_du(__m256i _1, __m256i _2) { 640 return (__m256i)__builtin_lasx_xvslt_du((v4u64)_1, (v4u64)_2); 641 } 642 643 #define __lasx_xvslti_bu(/*__m256i*/ _1, /*ui5*/ _2) \ 644 ((__m256i)__builtin_lasx_xvslti_bu((v32u8)(_1), (_2))) 645 646 #define __lasx_xvslti_hu(/*__m256i*/ _1, /*ui5*/ _2) \ 647 ((__m256i)__builtin_lasx_xvslti_hu((v16u16)(_1), (_2))) 648 649 #define __lasx_xvslti_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 650 ((__m256i)__builtin_lasx_xvslti_wu((v8u32)(_1), (_2))) 651 652 #define __lasx_xvslti_du(/*__m256i*/ _1, /*ui5*/ _2) \ 653 ((__m256i)__builtin_lasx_xvslti_du((v4u64)(_1), (_2))) 654 655 extern __inline 656 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 657 __lasx_xvsle_b(__m256i _1, __m256i _2) { 658 return (__m256i)__builtin_lasx_xvsle_b((v32i8)_1, (v32i8)_2); 659 } 660 661 extern __inline 662 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 663 __lasx_xvsle_h(__m256i _1, __m256i _2) { 664 return (__m256i)__builtin_lasx_xvsle_h((v16i16)_1, (v16i16)_2); 665 } 666 667 extern __inline 668 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 669 __lasx_xvsle_w(__m256i _1, __m256i _2) { 670 return (__m256i)__builtin_lasx_xvsle_w((v8i32)_1, (v8i32)_2); 671 } 672 673 extern __inline 674 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 675 __lasx_xvsle_d(__m256i _1, __m256i _2) { 676 return (__m256i)__builtin_lasx_xvsle_d((v4i64)_1, (v4i64)_2); 677 } 678 679 #define __lasx_xvslei_b(/*__m256i*/ _1, /*si5*/ _2) \ 680 ((__m256i)__builtin_lasx_xvslei_b((v32i8)(_1), (_2))) 681 682 #define __lasx_xvslei_h(/*__m256i*/ _1, /*si5*/ _2) \ 683 ((__m256i)__builtin_lasx_xvslei_h((v16i16)(_1), (_2))) 684 685 #define __lasx_xvslei_w(/*__m256i*/ _1, /*si5*/ _2) \ 686 ((__m256i)__builtin_lasx_xvslei_w((v8i32)(_1), (_2))) 687 688 #define __lasx_xvslei_d(/*__m256i*/ _1, /*si5*/ _2) \ 689 ((__m256i)__builtin_lasx_xvslei_d((v4i64)(_1), (_2))) 690 691 extern __inline 692 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 693 __lasx_xvsle_bu(__m256i _1, __m256i _2) { 694 return (__m256i)__builtin_lasx_xvsle_bu((v32u8)_1, (v32u8)_2); 695 } 696 697 extern __inline 698 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 699 __lasx_xvsle_hu(__m256i _1, __m256i _2) { 700 return (__m256i)__builtin_lasx_xvsle_hu((v16u16)_1, (v16u16)_2); 701 } 702 703 extern __inline 704 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 705 __lasx_xvsle_wu(__m256i _1, __m256i _2) { 706 return (__m256i)__builtin_lasx_xvsle_wu((v8u32)_1, (v8u32)_2); 707 } 708 709 extern __inline 710 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 711 __lasx_xvsle_du(__m256i _1, __m256i _2) { 712 return (__m256i)__builtin_lasx_xvsle_du((v4u64)_1, (v4u64)_2); 713 } 714 715 #define __lasx_xvslei_bu(/*__m256i*/ _1, /*ui5*/ _2) \ 716 ((__m256i)__builtin_lasx_xvslei_bu((v32u8)(_1), (_2))) 717 718 #define __lasx_xvslei_hu(/*__m256i*/ _1, /*ui5*/ _2) \ 719 ((__m256i)__builtin_lasx_xvslei_hu((v16u16)(_1), (_2))) 720 721 #define __lasx_xvslei_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 722 ((__m256i)__builtin_lasx_xvslei_wu((v8u32)(_1), (_2))) 723 724 #define __lasx_xvslei_du(/*__m256i*/ _1, /*ui5*/ _2) \ 725 ((__m256i)__builtin_lasx_xvslei_du((v4u64)(_1), (_2))) 726 727 #define __lasx_xvsat_b(/*__m256i*/ _1, /*ui3*/ _2) \ 728 ((__m256i)__builtin_lasx_xvsat_b((v32i8)(_1), (_2))) 729 730 #define __lasx_xvsat_h(/*__m256i*/ _1, /*ui4*/ _2) \ 731 ((__m256i)__builtin_lasx_xvsat_h((v16i16)(_1), (_2))) 732 733 #define __lasx_xvsat_w(/*__m256i*/ _1, /*ui5*/ _2) \ 734 ((__m256i)__builtin_lasx_xvsat_w((v8i32)(_1), (_2))) 735 736 #define __lasx_xvsat_d(/*__m256i*/ _1, /*ui6*/ _2) \ 737 ((__m256i)__builtin_lasx_xvsat_d((v4i64)(_1), (_2))) 738 739 #define __lasx_xvsat_bu(/*__m256i*/ _1, /*ui3*/ _2) \ 740 ((__m256i)__builtin_lasx_xvsat_bu((v32u8)(_1), (_2))) 741 742 #define __lasx_xvsat_hu(/*__m256i*/ _1, /*ui4*/ _2) \ 743 ((__m256i)__builtin_lasx_xvsat_hu((v16u16)(_1), (_2))) 744 745 #define __lasx_xvsat_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 746 ((__m256i)__builtin_lasx_xvsat_wu((v8u32)(_1), (_2))) 747 748 #define __lasx_xvsat_du(/*__m256i*/ _1, /*ui6*/ _2) \ 749 ((__m256i)__builtin_lasx_xvsat_du((v4u64)(_1), (_2))) 750 751 extern __inline 752 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 753 __lasx_xvadda_b(__m256i _1, __m256i _2) { 754 return (__m256i)__builtin_lasx_xvadda_b((v32i8)_1, (v32i8)_2); 755 } 756 757 extern __inline 758 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 759 __lasx_xvadda_h(__m256i _1, __m256i _2) { 760 return (__m256i)__builtin_lasx_xvadda_h((v16i16)_1, (v16i16)_2); 761 } 762 763 extern __inline 764 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 765 __lasx_xvadda_w(__m256i _1, __m256i _2) { 766 return (__m256i)__builtin_lasx_xvadda_w((v8i32)_1, (v8i32)_2); 767 } 768 769 extern __inline 770 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 771 __lasx_xvadda_d(__m256i _1, __m256i _2) { 772 return (__m256i)__builtin_lasx_xvadda_d((v4i64)_1, (v4i64)_2); 773 } 774 775 extern __inline 776 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 777 __lasx_xvsadd_b(__m256i _1, __m256i _2) { 778 return (__m256i)__builtin_lasx_xvsadd_b((v32i8)_1, (v32i8)_2); 779 } 780 781 extern __inline 782 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 783 __lasx_xvsadd_h(__m256i _1, __m256i _2) { 784 return (__m256i)__builtin_lasx_xvsadd_h((v16i16)_1, (v16i16)_2); 785 } 786 787 extern __inline 788 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 789 __lasx_xvsadd_w(__m256i _1, __m256i _2) { 790 return (__m256i)__builtin_lasx_xvsadd_w((v8i32)_1, (v8i32)_2); 791 } 792 793 extern __inline 794 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 795 __lasx_xvsadd_d(__m256i _1, __m256i _2) { 796 return (__m256i)__builtin_lasx_xvsadd_d((v4i64)_1, (v4i64)_2); 797 } 798 799 extern __inline 800 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 801 __lasx_xvsadd_bu(__m256i _1, __m256i _2) { 802 return (__m256i)__builtin_lasx_xvsadd_bu((v32u8)_1, (v32u8)_2); 803 } 804 805 extern __inline 806 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 807 __lasx_xvsadd_hu(__m256i _1, __m256i _2) { 808 return (__m256i)__builtin_lasx_xvsadd_hu((v16u16)_1, (v16u16)_2); 809 } 810 811 extern __inline 812 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 813 __lasx_xvsadd_wu(__m256i _1, __m256i _2) { 814 return (__m256i)__builtin_lasx_xvsadd_wu((v8u32)_1, (v8u32)_2); 815 } 816 817 extern __inline 818 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 819 __lasx_xvsadd_du(__m256i _1, __m256i _2) { 820 return (__m256i)__builtin_lasx_xvsadd_du((v4u64)_1, (v4u64)_2); 821 } 822 823 extern __inline 824 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 825 __lasx_xvavg_b(__m256i _1, __m256i _2) { 826 return (__m256i)__builtin_lasx_xvavg_b((v32i8)_1, (v32i8)_2); 827 } 828 829 extern __inline 830 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 831 __lasx_xvavg_h(__m256i _1, __m256i _2) { 832 return (__m256i)__builtin_lasx_xvavg_h((v16i16)_1, (v16i16)_2); 833 } 834 835 extern __inline 836 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 837 __lasx_xvavg_w(__m256i _1, __m256i _2) { 838 return (__m256i)__builtin_lasx_xvavg_w((v8i32)_1, (v8i32)_2); 839 } 840 841 extern __inline 842 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 843 __lasx_xvavg_d(__m256i _1, __m256i _2) { 844 return (__m256i)__builtin_lasx_xvavg_d((v4i64)_1, (v4i64)_2); 845 } 846 847 extern __inline 848 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 849 __lasx_xvavg_bu(__m256i _1, __m256i _2) { 850 return (__m256i)__builtin_lasx_xvavg_bu((v32u8)_1, (v32u8)_2); 851 } 852 853 extern __inline 854 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 855 __lasx_xvavg_hu(__m256i _1, __m256i _2) { 856 return (__m256i)__builtin_lasx_xvavg_hu((v16u16)_1, (v16u16)_2); 857 } 858 859 extern __inline 860 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 861 __lasx_xvavg_wu(__m256i _1, __m256i _2) { 862 return (__m256i)__builtin_lasx_xvavg_wu((v8u32)_1, (v8u32)_2); 863 } 864 865 extern __inline 866 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 867 __lasx_xvavg_du(__m256i _1, __m256i _2) { 868 return (__m256i)__builtin_lasx_xvavg_du((v4u64)_1, (v4u64)_2); 869 } 870 871 extern __inline 872 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 873 __lasx_xvavgr_b(__m256i _1, __m256i _2) { 874 return (__m256i)__builtin_lasx_xvavgr_b((v32i8)_1, (v32i8)_2); 875 } 876 877 extern __inline 878 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 879 __lasx_xvavgr_h(__m256i _1, __m256i _2) { 880 return (__m256i)__builtin_lasx_xvavgr_h((v16i16)_1, (v16i16)_2); 881 } 882 883 extern __inline 884 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 885 __lasx_xvavgr_w(__m256i _1, __m256i _2) { 886 return (__m256i)__builtin_lasx_xvavgr_w((v8i32)_1, (v8i32)_2); 887 } 888 889 extern __inline 890 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 891 __lasx_xvavgr_d(__m256i _1, __m256i _2) { 892 return (__m256i)__builtin_lasx_xvavgr_d((v4i64)_1, (v4i64)_2); 893 } 894 895 extern __inline 896 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 897 __lasx_xvavgr_bu(__m256i _1, __m256i _2) { 898 return (__m256i)__builtin_lasx_xvavgr_bu((v32u8)_1, (v32u8)_2); 899 } 900 901 extern __inline 902 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 903 __lasx_xvavgr_hu(__m256i _1, __m256i _2) { 904 return (__m256i)__builtin_lasx_xvavgr_hu((v16u16)_1, (v16u16)_2); 905 } 906 907 extern __inline 908 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 909 __lasx_xvavgr_wu(__m256i _1, __m256i _2) { 910 return (__m256i)__builtin_lasx_xvavgr_wu((v8u32)_1, (v8u32)_2); 911 } 912 913 extern __inline 914 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 915 __lasx_xvavgr_du(__m256i _1, __m256i _2) { 916 return (__m256i)__builtin_lasx_xvavgr_du((v4u64)_1, (v4u64)_2); 917 } 918 919 extern __inline 920 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 921 __lasx_xvssub_b(__m256i _1, __m256i _2) { 922 return (__m256i)__builtin_lasx_xvssub_b((v32i8)_1, (v32i8)_2); 923 } 924 925 extern __inline 926 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 927 __lasx_xvssub_h(__m256i _1, __m256i _2) { 928 return (__m256i)__builtin_lasx_xvssub_h((v16i16)_1, (v16i16)_2); 929 } 930 931 extern __inline 932 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 933 __lasx_xvssub_w(__m256i _1, __m256i _2) { 934 return (__m256i)__builtin_lasx_xvssub_w((v8i32)_1, (v8i32)_2); 935 } 936 937 extern __inline 938 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 939 __lasx_xvssub_d(__m256i _1, __m256i _2) { 940 return (__m256i)__builtin_lasx_xvssub_d((v4i64)_1, (v4i64)_2); 941 } 942 943 extern __inline 944 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 945 __lasx_xvssub_bu(__m256i _1, __m256i _2) { 946 return (__m256i)__builtin_lasx_xvssub_bu((v32u8)_1, (v32u8)_2); 947 } 948 949 extern __inline 950 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 951 __lasx_xvssub_hu(__m256i _1, __m256i _2) { 952 return (__m256i)__builtin_lasx_xvssub_hu((v16u16)_1, (v16u16)_2); 953 } 954 955 extern __inline 956 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 957 __lasx_xvssub_wu(__m256i _1, __m256i _2) { 958 return (__m256i)__builtin_lasx_xvssub_wu((v8u32)_1, (v8u32)_2); 959 } 960 961 extern __inline 962 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 963 __lasx_xvssub_du(__m256i _1, __m256i _2) { 964 return (__m256i)__builtin_lasx_xvssub_du((v4u64)_1, (v4u64)_2); 965 } 966 967 extern __inline 968 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 969 __lasx_xvabsd_b(__m256i _1, __m256i _2) { 970 return (__m256i)__builtin_lasx_xvabsd_b((v32i8)_1, (v32i8)_2); 971 } 972 973 extern __inline 974 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 975 __lasx_xvabsd_h(__m256i _1, __m256i _2) { 976 return (__m256i)__builtin_lasx_xvabsd_h((v16i16)_1, (v16i16)_2); 977 } 978 979 extern __inline 980 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 981 __lasx_xvabsd_w(__m256i _1, __m256i _2) { 982 return (__m256i)__builtin_lasx_xvabsd_w((v8i32)_1, (v8i32)_2); 983 } 984 985 extern __inline 986 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 987 __lasx_xvabsd_d(__m256i _1, __m256i _2) { 988 return (__m256i)__builtin_lasx_xvabsd_d((v4i64)_1, (v4i64)_2); 989 } 990 991 extern __inline 992 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 993 __lasx_xvabsd_bu(__m256i _1, __m256i _2) { 994 return (__m256i)__builtin_lasx_xvabsd_bu((v32u8)_1, (v32u8)_2); 995 } 996 997 extern __inline 998 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 999 __lasx_xvabsd_hu(__m256i _1, __m256i _2) { 1000 return (__m256i)__builtin_lasx_xvabsd_hu((v16u16)_1, (v16u16)_2); 1001 } 1002 1003 extern __inline 1004 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1005 __lasx_xvabsd_wu(__m256i _1, __m256i _2) { 1006 return (__m256i)__builtin_lasx_xvabsd_wu((v8u32)_1, (v8u32)_2); 1007 } 1008 1009 extern __inline 1010 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1011 __lasx_xvabsd_du(__m256i _1, __m256i _2) { 1012 return (__m256i)__builtin_lasx_xvabsd_du((v4u64)_1, (v4u64)_2); 1013 } 1014 1015 extern __inline 1016 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1017 __lasx_xvmul_b(__m256i _1, __m256i _2) { 1018 return (__m256i)__builtin_lasx_xvmul_b((v32i8)_1, (v32i8)_2); 1019 } 1020 1021 extern __inline 1022 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1023 __lasx_xvmul_h(__m256i _1, __m256i _2) { 1024 return (__m256i)__builtin_lasx_xvmul_h((v16i16)_1, (v16i16)_2); 1025 } 1026 1027 extern __inline 1028 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1029 __lasx_xvmul_w(__m256i _1, __m256i _2) { 1030 return (__m256i)__builtin_lasx_xvmul_w((v8i32)_1, (v8i32)_2); 1031 } 1032 1033 extern __inline 1034 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1035 __lasx_xvmul_d(__m256i _1, __m256i _2) { 1036 return (__m256i)__builtin_lasx_xvmul_d((v4i64)_1, (v4i64)_2); 1037 } 1038 1039 extern __inline 1040 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1041 __lasx_xvmadd_b(__m256i _1, __m256i _2, __m256i _3) { 1042 return (__m256i)__builtin_lasx_xvmadd_b((v32i8)_1, (v32i8)_2, (v32i8)_3); 1043 } 1044 1045 extern __inline 1046 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1047 __lasx_xvmadd_h(__m256i _1, __m256i _2, __m256i _3) { 1048 return (__m256i)__builtin_lasx_xvmadd_h((v16i16)_1, (v16i16)_2, (v16i16)_3); 1049 } 1050 1051 extern __inline 1052 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1053 __lasx_xvmadd_w(__m256i _1, __m256i _2, __m256i _3) { 1054 return (__m256i)__builtin_lasx_xvmadd_w((v8i32)_1, (v8i32)_2, (v8i32)_3); 1055 } 1056 1057 extern __inline 1058 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1059 __lasx_xvmadd_d(__m256i _1, __m256i _2, __m256i _3) { 1060 return (__m256i)__builtin_lasx_xvmadd_d((v4i64)_1, (v4i64)_2, (v4i64)_3); 1061 } 1062 1063 extern __inline 1064 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1065 __lasx_xvmsub_b(__m256i _1, __m256i _2, __m256i _3) { 1066 return (__m256i)__builtin_lasx_xvmsub_b((v32i8)_1, (v32i8)_2, (v32i8)_3); 1067 } 1068 1069 extern __inline 1070 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1071 __lasx_xvmsub_h(__m256i _1, __m256i _2, __m256i _3) { 1072 return (__m256i)__builtin_lasx_xvmsub_h((v16i16)_1, (v16i16)_2, (v16i16)_3); 1073 } 1074 1075 extern __inline 1076 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1077 __lasx_xvmsub_w(__m256i _1, __m256i _2, __m256i _3) { 1078 return (__m256i)__builtin_lasx_xvmsub_w((v8i32)_1, (v8i32)_2, (v8i32)_3); 1079 } 1080 1081 extern __inline 1082 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1083 __lasx_xvmsub_d(__m256i _1, __m256i _2, __m256i _3) { 1084 return (__m256i)__builtin_lasx_xvmsub_d((v4i64)_1, (v4i64)_2, (v4i64)_3); 1085 } 1086 1087 extern __inline 1088 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1089 __lasx_xvdiv_b(__m256i _1, __m256i _2) { 1090 return (__m256i)__builtin_lasx_xvdiv_b((v32i8)_1, (v32i8)_2); 1091 } 1092 1093 extern __inline 1094 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1095 __lasx_xvdiv_h(__m256i _1, __m256i _2) { 1096 return (__m256i)__builtin_lasx_xvdiv_h((v16i16)_1, (v16i16)_2); 1097 } 1098 1099 extern __inline 1100 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1101 __lasx_xvdiv_w(__m256i _1, __m256i _2) { 1102 return (__m256i)__builtin_lasx_xvdiv_w((v8i32)_1, (v8i32)_2); 1103 } 1104 1105 extern __inline 1106 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1107 __lasx_xvdiv_d(__m256i _1, __m256i _2) { 1108 return (__m256i)__builtin_lasx_xvdiv_d((v4i64)_1, (v4i64)_2); 1109 } 1110 1111 extern __inline 1112 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1113 __lasx_xvdiv_bu(__m256i _1, __m256i _2) { 1114 return (__m256i)__builtin_lasx_xvdiv_bu((v32u8)_1, (v32u8)_2); 1115 } 1116 1117 extern __inline 1118 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1119 __lasx_xvdiv_hu(__m256i _1, __m256i _2) { 1120 return (__m256i)__builtin_lasx_xvdiv_hu((v16u16)_1, (v16u16)_2); 1121 } 1122 1123 extern __inline 1124 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1125 __lasx_xvdiv_wu(__m256i _1, __m256i _2) { 1126 return (__m256i)__builtin_lasx_xvdiv_wu((v8u32)_1, (v8u32)_2); 1127 } 1128 1129 extern __inline 1130 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1131 __lasx_xvdiv_du(__m256i _1, __m256i _2) { 1132 return (__m256i)__builtin_lasx_xvdiv_du((v4u64)_1, (v4u64)_2); 1133 } 1134 1135 extern __inline 1136 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1137 __lasx_xvhaddw_h_b(__m256i _1, __m256i _2) { 1138 return (__m256i)__builtin_lasx_xvhaddw_h_b((v32i8)_1, (v32i8)_2); 1139 } 1140 1141 extern __inline 1142 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1143 __lasx_xvhaddw_w_h(__m256i _1, __m256i _2) { 1144 return (__m256i)__builtin_lasx_xvhaddw_w_h((v16i16)_1, (v16i16)_2); 1145 } 1146 1147 extern __inline 1148 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1149 __lasx_xvhaddw_d_w(__m256i _1, __m256i _2) { 1150 return (__m256i)__builtin_lasx_xvhaddw_d_w((v8i32)_1, (v8i32)_2); 1151 } 1152 1153 extern __inline 1154 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1155 __lasx_xvhaddw_hu_bu(__m256i _1, __m256i _2) { 1156 return (__m256i)__builtin_lasx_xvhaddw_hu_bu((v32u8)_1, (v32u8)_2); 1157 } 1158 1159 extern __inline 1160 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1161 __lasx_xvhaddw_wu_hu(__m256i _1, __m256i _2) { 1162 return (__m256i)__builtin_lasx_xvhaddw_wu_hu((v16u16)_1, (v16u16)_2); 1163 } 1164 1165 extern __inline 1166 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1167 __lasx_xvhaddw_du_wu(__m256i _1, __m256i _2) { 1168 return (__m256i)__builtin_lasx_xvhaddw_du_wu((v8u32)_1, (v8u32)_2); 1169 } 1170 1171 extern __inline 1172 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1173 __lasx_xvhsubw_h_b(__m256i _1, __m256i _2) { 1174 return (__m256i)__builtin_lasx_xvhsubw_h_b((v32i8)_1, (v32i8)_2); 1175 } 1176 1177 extern __inline 1178 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1179 __lasx_xvhsubw_w_h(__m256i _1, __m256i _2) { 1180 return (__m256i)__builtin_lasx_xvhsubw_w_h((v16i16)_1, (v16i16)_2); 1181 } 1182 1183 extern __inline 1184 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1185 __lasx_xvhsubw_d_w(__m256i _1, __m256i _2) { 1186 return (__m256i)__builtin_lasx_xvhsubw_d_w((v8i32)_1, (v8i32)_2); 1187 } 1188 1189 extern __inline 1190 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1191 __lasx_xvhsubw_hu_bu(__m256i _1, __m256i _2) { 1192 return (__m256i)__builtin_lasx_xvhsubw_hu_bu((v32u8)_1, (v32u8)_2); 1193 } 1194 1195 extern __inline 1196 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1197 __lasx_xvhsubw_wu_hu(__m256i _1, __m256i _2) { 1198 return (__m256i)__builtin_lasx_xvhsubw_wu_hu((v16u16)_1, (v16u16)_2); 1199 } 1200 1201 extern __inline 1202 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1203 __lasx_xvhsubw_du_wu(__m256i _1, __m256i _2) { 1204 return (__m256i)__builtin_lasx_xvhsubw_du_wu((v8u32)_1, (v8u32)_2); 1205 } 1206 1207 extern __inline 1208 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1209 __lasx_xvmod_b(__m256i _1, __m256i _2) { 1210 return (__m256i)__builtin_lasx_xvmod_b((v32i8)_1, (v32i8)_2); 1211 } 1212 1213 extern __inline 1214 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1215 __lasx_xvmod_h(__m256i _1, __m256i _2) { 1216 return (__m256i)__builtin_lasx_xvmod_h((v16i16)_1, (v16i16)_2); 1217 } 1218 1219 extern __inline 1220 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1221 __lasx_xvmod_w(__m256i _1, __m256i _2) { 1222 return (__m256i)__builtin_lasx_xvmod_w((v8i32)_1, (v8i32)_2); 1223 } 1224 1225 extern __inline 1226 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1227 __lasx_xvmod_d(__m256i _1, __m256i _2) { 1228 return (__m256i)__builtin_lasx_xvmod_d((v4i64)_1, (v4i64)_2); 1229 } 1230 1231 extern __inline 1232 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1233 __lasx_xvmod_bu(__m256i _1, __m256i _2) { 1234 return (__m256i)__builtin_lasx_xvmod_bu((v32u8)_1, (v32u8)_2); 1235 } 1236 1237 extern __inline 1238 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1239 __lasx_xvmod_hu(__m256i _1, __m256i _2) { 1240 return (__m256i)__builtin_lasx_xvmod_hu((v16u16)_1, (v16u16)_2); 1241 } 1242 1243 extern __inline 1244 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1245 __lasx_xvmod_wu(__m256i _1, __m256i _2) { 1246 return (__m256i)__builtin_lasx_xvmod_wu((v8u32)_1, (v8u32)_2); 1247 } 1248 1249 extern __inline 1250 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1251 __lasx_xvmod_du(__m256i _1, __m256i _2) { 1252 return (__m256i)__builtin_lasx_xvmod_du((v4u64)_1, (v4u64)_2); 1253 } 1254 1255 #define __lasx_xvrepl128vei_b(/*__m256i*/ _1, /*ui4*/ _2) \ 1256 ((__m256i)__builtin_lasx_xvrepl128vei_b((v32i8)(_1), (_2))) 1257 1258 #define __lasx_xvrepl128vei_h(/*__m256i*/ _1, /*ui3*/ _2) \ 1259 ((__m256i)__builtin_lasx_xvrepl128vei_h((v16i16)(_1), (_2))) 1260 1261 #define __lasx_xvrepl128vei_w(/*__m256i*/ _1, /*ui2*/ _2) \ 1262 ((__m256i)__builtin_lasx_xvrepl128vei_w((v8i32)(_1), (_2))) 1263 1264 #define __lasx_xvrepl128vei_d(/*__m256i*/ _1, /*ui1*/ _2) \ 1265 ((__m256i)__builtin_lasx_xvrepl128vei_d((v4i64)(_1), (_2))) 1266 1267 extern __inline 1268 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1269 __lasx_xvpickev_b(__m256i _1, __m256i _2) { 1270 return (__m256i)__builtin_lasx_xvpickev_b((v32i8)_1, (v32i8)_2); 1271 } 1272 1273 extern __inline 1274 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1275 __lasx_xvpickev_h(__m256i _1, __m256i _2) { 1276 return (__m256i)__builtin_lasx_xvpickev_h((v16i16)_1, (v16i16)_2); 1277 } 1278 1279 extern __inline 1280 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1281 __lasx_xvpickev_w(__m256i _1, __m256i _2) { 1282 return (__m256i)__builtin_lasx_xvpickev_w((v8i32)_1, (v8i32)_2); 1283 } 1284 1285 extern __inline 1286 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1287 __lasx_xvpickev_d(__m256i _1, __m256i _2) { 1288 return (__m256i)__builtin_lasx_xvpickev_d((v4i64)_1, (v4i64)_2); 1289 } 1290 1291 extern __inline 1292 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1293 __lasx_xvpickod_b(__m256i _1, __m256i _2) { 1294 return (__m256i)__builtin_lasx_xvpickod_b((v32i8)_1, (v32i8)_2); 1295 } 1296 1297 extern __inline 1298 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1299 __lasx_xvpickod_h(__m256i _1, __m256i _2) { 1300 return (__m256i)__builtin_lasx_xvpickod_h((v16i16)_1, (v16i16)_2); 1301 } 1302 1303 extern __inline 1304 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1305 __lasx_xvpickod_w(__m256i _1, __m256i _2) { 1306 return (__m256i)__builtin_lasx_xvpickod_w((v8i32)_1, (v8i32)_2); 1307 } 1308 1309 extern __inline 1310 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1311 __lasx_xvpickod_d(__m256i _1, __m256i _2) { 1312 return (__m256i)__builtin_lasx_xvpickod_d((v4i64)_1, (v4i64)_2); 1313 } 1314 1315 extern __inline 1316 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1317 __lasx_xvilvh_b(__m256i _1, __m256i _2) { 1318 return (__m256i)__builtin_lasx_xvilvh_b((v32i8)_1, (v32i8)_2); 1319 } 1320 1321 extern __inline 1322 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1323 __lasx_xvilvh_h(__m256i _1, __m256i _2) { 1324 return (__m256i)__builtin_lasx_xvilvh_h((v16i16)_1, (v16i16)_2); 1325 } 1326 1327 extern __inline 1328 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1329 __lasx_xvilvh_w(__m256i _1, __m256i _2) { 1330 return (__m256i)__builtin_lasx_xvilvh_w((v8i32)_1, (v8i32)_2); 1331 } 1332 1333 extern __inline 1334 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1335 __lasx_xvilvh_d(__m256i _1, __m256i _2) { 1336 return (__m256i)__builtin_lasx_xvilvh_d((v4i64)_1, (v4i64)_2); 1337 } 1338 1339 extern __inline 1340 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1341 __lasx_xvilvl_b(__m256i _1, __m256i _2) { 1342 return (__m256i)__builtin_lasx_xvilvl_b((v32i8)_1, (v32i8)_2); 1343 } 1344 1345 extern __inline 1346 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1347 __lasx_xvilvl_h(__m256i _1, __m256i _2) { 1348 return (__m256i)__builtin_lasx_xvilvl_h((v16i16)_1, (v16i16)_2); 1349 } 1350 1351 extern __inline 1352 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1353 __lasx_xvilvl_w(__m256i _1, __m256i _2) { 1354 return (__m256i)__builtin_lasx_xvilvl_w((v8i32)_1, (v8i32)_2); 1355 } 1356 1357 extern __inline 1358 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1359 __lasx_xvilvl_d(__m256i _1, __m256i _2) { 1360 return (__m256i)__builtin_lasx_xvilvl_d((v4i64)_1, (v4i64)_2); 1361 } 1362 1363 extern __inline 1364 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1365 __lasx_xvpackev_b(__m256i _1, __m256i _2) { 1366 return (__m256i)__builtin_lasx_xvpackev_b((v32i8)_1, (v32i8)_2); 1367 } 1368 1369 extern __inline 1370 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1371 __lasx_xvpackev_h(__m256i _1, __m256i _2) { 1372 return (__m256i)__builtin_lasx_xvpackev_h((v16i16)_1, (v16i16)_2); 1373 } 1374 1375 extern __inline 1376 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1377 __lasx_xvpackev_w(__m256i _1, __m256i _2) { 1378 return (__m256i)__builtin_lasx_xvpackev_w((v8i32)_1, (v8i32)_2); 1379 } 1380 1381 extern __inline 1382 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1383 __lasx_xvpackev_d(__m256i _1, __m256i _2) { 1384 return (__m256i)__builtin_lasx_xvpackev_d((v4i64)_1, (v4i64)_2); 1385 } 1386 1387 extern __inline 1388 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1389 __lasx_xvpackod_b(__m256i _1, __m256i _2) { 1390 return (__m256i)__builtin_lasx_xvpackod_b((v32i8)_1, (v32i8)_2); 1391 } 1392 1393 extern __inline 1394 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1395 __lasx_xvpackod_h(__m256i _1, __m256i _2) { 1396 return (__m256i)__builtin_lasx_xvpackod_h((v16i16)_1, (v16i16)_2); 1397 } 1398 1399 extern __inline 1400 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1401 __lasx_xvpackod_w(__m256i _1, __m256i _2) { 1402 return (__m256i)__builtin_lasx_xvpackod_w((v8i32)_1, (v8i32)_2); 1403 } 1404 1405 extern __inline 1406 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1407 __lasx_xvpackod_d(__m256i _1, __m256i _2) { 1408 return (__m256i)__builtin_lasx_xvpackod_d((v4i64)_1, (v4i64)_2); 1409 } 1410 1411 extern __inline 1412 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1413 __lasx_xvshuf_b(__m256i _1, __m256i _2, __m256i _3) { 1414 return (__m256i)__builtin_lasx_xvshuf_b((v32i8)_1, (v32i8)_2, (v32i8)_3); 1415 } 1416 1417 extern __inline 1418 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1419 __lasx_xvshuf_h(__m256i _1, __m256i _2, __m256i _3) { 1420 return (__m256i)__builtin_lasx_xvshuf_h((v16i16)_1, (v16i16)_2, (v16i16)_3); 1421 } 1422 1423 extern __inline 1424 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1425 __lasx_xvshuf_w(__m256i _1, __m256i _2, __m256i _3) { 1426 return (__m256i)__builtin_lasx_xvshuf_w((v8i32)_1, (v8i32)_2, (v8i32)_3); 1427 } 1428 1429 extern __inline 1430 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1431 __lasx_xvshuf_d(__m256i _1, __m256i _2, __m256i _3) { 1432 return (__m256i)__builtin_lasx_xvshuf_d((v4i64)_1, (v4i64)_2, (v4i64)_3); 1433 } 1434 1435 extern __inline 1436 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1437 __lasx_xvand_v(__m256i _1, __m256i _2) { 1438 return (__m256i)__builtin_lasx_xvand_v((v32u8)_1, (v32u8)_2); 1439 } 1440 1441 #define __lasx_xvandi_b(/*__m256i*/ _1, /*ui8*/ _2) \ 1442 ((__m256i)__builtin_lasx_xvandi_b((v32u8)(_1), (_2))) 1443 1444 extern __inline 1445 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1446 __lasx_xvor_v(__m256i _1, __m256i _2) { 1447 return (__m256i)__builtin_lasx_xvor_v((v32u8)_1, (v32u8)_2); 1448 } 1449 1450 #define __lasx_xvori_b(/*__m256i*/ _1, /*ui8*/ _2) \ 1451 ((__m256i)__builtin_lasx_xvori_b((v32u8)(_1), (_2))) 1452 1453 extern __inline 1454 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1455 __lasx_xvnor_v(__m256i _1, __m256i _2) { 1456 return (__m256i)__builtin_lasx_xvnor_v((v32u8)_1, (v32u8)_2); 1457 } 1458 1459 #define __lasx_xvnori_b(/*__m256i*/ _1, /*ui8*/ _2) \ 1460 ((__m256i)__builtin_lasx_xvnori_b((v32u8)(_1), (_2))) 1461 1462 extern __inline 1463 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1464 __lasx_xvxor_v(__m256i _1, __m256i _2) { 1465 return (__m256i)__builtin_lasx_xvxor_v((v32u8)_1, (v32u8)_2); 1466 } 1467 1468 #define __lasx_xvxori_b(/*__m256i*/ _1, /*ui8*/ _2) \ 1469 ((__m256i)__builtin_lasx_xvxori_b((v32u8)(_1), (_2))) 1470 1471 extern __inline 1472 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1473 __lasx_xvbitsel_v(__m256i _1, __m256i _2, __m256i _3) { 1474 return (__m256i)__builtin_lasx_xvbitsel_v((v32u8)_1, (v32u8)_2, (v32u8)_3); 1475 } 1476 1477 #define __lasx_xvbitseli_b(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 1478 ((__m256i)__builtin_lasx_xvbitseli_b((v32u8)(_1), (v32u8)(_2), (_3))) 1479 1480 #define __lasx_xvshuf4i_b(/*__m256i*/ _1, /*ui8*/ _2) \ 1481 ((__m256i)__builtin_lasx_xvshuf4i_b((v32i8)(_1), (_2))) 1482 1483 #define __lasx_xvshuf4i_h(/*__m256i*/ _1, /*ui8*/ _2) \ 1484 ((__m256i)__builtin_lasx_xvshuf4i_h((v16i16)(_1), (_2))) 1485 1486 #define __lasx_xvshuf4i_w(/*__m256i*/ _1, /*ui8*/ _2) \ 1487 ((__m256i)__builtin_lasx_xvshuf4i_w((v8i32)(_1), (_2))) 1488 1489 extern __inline 1490 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1491 __lasx_xvreplgr2vr_b(int _1) { 1492 return (__m256i)__builtin_lasx_xvreplgr2vr_b((int)_1); 1493 } 1494 1495 extern __inline 1496 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1497 __lasx_xvreplgr2vr_h(int _1) { 1498 return (__m256i)__builtin_lasx_xvreplgr2vr_h((int)_1); 1499 } 1500 1501 extern __inline 1502 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1503 __lasx_xvreplgr2vr_w(int _1) { 1504 return (__m256i)__builtin_lasx_xvreplgr2vr_w((int)_1); 1505 } 1506 1507 extern __inline 1508 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1509 __lasx_xvreplgr2vr_d(long int _1) { 1510 return (__m256i)__builtin_lasx_xvreplgr2vr_d((long int)_1); 1511 } 1512 1513 extern __inline 1514 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1515 __lasx_xvpcnt_b(__m256i _1) { 1516 return (__m256i)__builtin_lasx_xvpcnt_b((v32i8)_1); 1517 } 1518 1519 extern __inline 1520 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1521 __lasx_xvpcnt_h(__m256i _1) { 1522 return (__m256i)__builtin_lasx_xvpcnt_h((v16i16)_1); 1523 } 1524 1525 extern __inline 1526 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1527 __lasx_xvpcnt_w(__m256i _1) { 1528 return (__m256i)__builtin_lasx_xvpcnt_w((v8i32)_1); 1529 } 1530 1531 extern __inline 1532 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1533 __lasx_xvpcnt_d(__m256i _1) { 1534 return (__m256i)__builtin_lasx_xvpcnt_d((v4i64)_1); 1535 } 1536 1537 extern __inline 1538 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1539 __lasx_xvclo_b(__m256i _1) { 1540 return (__m256i)__builtin_lasx_xvclo_b((v32i8)_1); 1541 } 1542 1543 extern __inline 1544 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1545 __lasx_xvclo_h(__m256i _1) { 1546 return (__m256i)__builtin_lasx_xvclo_h((v16i16)_1); 1547 } 1548 1549 extern __inline 1550 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1551 __lasx_xvclo_w(__m256i _1) { 1552 return (__m256i)__builtin_lasx_xvclo_w((v8i32)_1); 1553 } 1554 1555 extern __inline 1556 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1557 __lasx_xvclo_d(__m256i _1) { 1558 return (__m256i)__builtin_lasx_xvclo_d((v4i64)_1); 1559 } 1560 1561 extern __inline 1562 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1563 __lasx_xvclz_b(__m256i _1) { 1564 return (__m256i)__builtin_lasx_xvclz_b((v32i8)_1); 1565 } 1566 1567 extern __inline 1568 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1569 __lasx_xvclz_h(__m256i _1) { 1570 return (__m256i)__builtin_lasx_xvclz_h((v16i16)_1); 1571 } 1572 1573 extern __inline 1574 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1575 __lasx_xvclz_w(__m256i _1) { 1576 return (__m256i)__builtin_lasx_xvclz_w((v8i32)_1); 1577 } 1578 1579 extern __inline 1580 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1581 __lasx_xvclz_d(__m256i _1) { 1582 return (__m256i)__builtin_lasx_xvclz_d((v4i64)_1); 1583 } 1584 1585 extern __inline 1586 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1587 __lasx_xvfadd_s(__m256 _1, __m256 _2) { 1588 return (__m256)__builtin_lasx_xvfadd_s((v8f32)_1, (v8f32)_2); 1589 } 1590 1591 extern __inline 1592 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1593 __lasx_xvfadd_d(__m256d _1, __m256d _2) { 1594 return (__m256d)__builtin_lasx_xvfadd_d((v4f64)_1, (v4f64)_2); 1595 } 1596 1597 extern __inline 1598 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1599 __lasx_xvfsub_s(__m256 _1, __m256 _2) { 1600 return (__m256)__builtin_lasx_xvfsub_s((v8f32)_1, (v8f32)_2); 1601 } 1602 1603 extern __inline 1604 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1605 __lasx_xvfsub_d(__m256d _1, __m256d _2) { 1606 return (__m256d)__builtin_lasx_xvfsub_d((v4f64)_1, (v4f64)_2); 1607 } 1608 1609 extern __inline 1610 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1611 __lasx_xvfmul_s(__m256 _1, __m256 _2) { 1612 return (__m256)__builtin_lasx_xvfmul_s((v8f32)_1, (v8f32)_2); 1613 } 1614 1615 extern __inline 1616 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1617 __lasx_xvfmul_d(__m256d _1, __m256d _2) { 1618 return (__m256d)__builtin_lasx_xvfmul_d((v4f64)_1, (v4f64)_2); 1619 } 1620 1621 extern __inline 1622 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1623 __lasx_xvfdiv_s(__m256 _1, __m256 _2) { 1624 return (__m256)__builtin_lasx_xvfdiv_s((v8f32)_1, (v8f32)_2); 1625 } 1626 1627 extern __inline 1628 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1629 __lasx_xvfdiv_d(__m256d _1, __m256d _2) { 1630 return (__m256d)__builtin_lasx_xvfdiv_d((v4f64)_1, (v4f64)_2); 1631 } 1632 1633 extern __inline 1634 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1635 __lasx_xvfcvt_h_s(__m256 _1, __m256 _2) { 1636 return (__m256i)__builtin_lasx_xvfcvt_h_s((v8f32)_1, (v8f32)_2); 1637 } 1638 1639 extern __inline 1640 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1641 __lasx_xvfcvt_s_d(__m256d _1, __m256d _2) { 1642 return (__m256)__builtin_lasx_xvfcvt_s_d((v4f64)_1, (v4f64)_2); 1643 } 1644 1645 extern __inline 1646 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1647 __lasx_xvfmin_s(__m256 _1, __m256 _2) { 1648 return (__m256)__builtin_lasx_xvfmin_s((v8f32)_1, (v8f32)_2); 1649 } 1650 1651 extern __inline 1652 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1653 __lasx_xvfmin_d(__m256d _1, __m256d _2) { 1654 return (__m256d)__builtin_lasx_xvfmin_d((v4f64)_1, (v4f64)_2); 1655 } 1656 1657 extern __inline 1658 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1659 __lasx_xvfmina_s(__m256 _1, __m256 _2) { 1660 return (__m256)__builtin_lasx_xvfmina_s((v8f32)_1, (v8f32)_2); 1661 } 1662 1663 extern __inline 1664 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1665 __lasx_xvfmina_d(__m256d _1, __m256d _2) { 1666 return (__m256d)__builtin_lasx_xvfmina_d((v4f64)_1, (v4f64)_2); 1667 } 1668 1669 extern __inline 1670 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1671 __lasx_xvfmax_s(__m256 _1, __m256 _2) { 1672 return (__m256)__builtin_lasx_xvfmax_s((v8f32)_1, (v8f32)_2); 1673 } 1674 1675 extern __inline 1676 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1677 __lasx_xvfmax_d(__m256d _1, __m256d _2) { 1678 return (__m256d)__builtin_lasx_xvfmax_d((v4f64)_1, (v4f64)_2); 1679 } 1680 1681 extern __inline 1682 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1683 __lasx_xvfmaxa_s(__m256 _1, __m256 _2) { 1684 return (__m256)__builtin_lasx_xvfmaxa_s((v8f32)_1, (v8f32)_2); 1685 } 1686 1687 extern __inline 1688 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1689 __lasx_xvfmaxa_d(__m256d _1, __m256d _2) { 1690 return (__m256d)__builtin_lasx_xvfmaxa_d((v4f64)_1, (v4f64)_2); 1691 } 1692 1693 extern __inline 1694 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1695 __lasx_xvfclass_s(__m256 _1) { 1696 return (__m256i)__builtin_lasx_xvfclass_s((v8f32)_1); 1697 } 1698 1699 extern __inline 1700 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1701 __lasx_xvfclass_d(__m256d _1) { 1702 return (__m256i)__builtin_lasx_xvfclass_d((v4f64)_1); 1703 } 1704 1705 extern __inline 1706 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1707 __lasx_xvfsqrt_s(__m256 _1) { 1708 return (__m256)__builtin_lasx_xvfsqrt_s((v8f32)_1); 1709 } 1710 1711 extern __inline 1712 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1713 __lasx_xvfsqrt_d(__m256d _1) { 1714 return (__m256d)__builtin_lasx_xvfsqrt_d((v4f64)_1); 1715 } 1716 1717 extern __inline 1718 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1719 __lasx_xvfrecip_s(__m256 _1) { 1720 return (__m256)__builtin_lasx_xvfrecip_s((v8f32)_1); 1721 } 1722 1723 extern __inline 1724 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1725 __lasx_xvfrecip_d(__m256d _1) { 1726 return (__m256d)__builtin_lasx_xvfrecip_d((v4f64)_1); 1727 } 1728 1729 extern __inline 1730 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1731 __lasx_xvfrecipe_s(__m256 _1) { 1732 return (__m256)__builtin_lasx_xvfrecipe_s((v8f32)_1); 1733 } 1734 1735 extern __inline 1736 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1737 __lasx_xvfrecipe_d(__m256d _1) { 1738 return (__m256d)__builtin_lasx_xvfrecipe_d((v4f64)_1); 1739 } 1740 1741 extern __inline 1742 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1743 __lasx_xvfrint_s(__m256 _1) { 1744 return (__m256)__builtin_lasx_xvfrint_s((v8f32)_1); 1745 } 1746 1747 extern __inline 1748 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1749 __lasx_xvfrint_d(__m256d _1) { 1750 return (__m256d)__builtin_lasx_xvfrint_d((v4f64)_1); 1751 } 1752 1753 extern __inline 1754 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1755 __lasx_xvfrsqrt_s(__m256 _1) { 1756 return (__m256)__builtin_lasx_xvfrsqrt_s((v8f32)_1); 1757 } 1758 1759 extern __inline 1760 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1761 __lasx_xvfrsqrt_d(__m256d _1) { 1762 return (__m256d)__builtin_lasx_xvfrsqrt_d((v4f64)_1); 1763 } 1764 1765 extern __inline 1766 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1767 __lasx_xvfrsqrte_s(__m256 _1) { 1768 return (__m256)__builtin_lasx_xvfrsqrte_s((v8f32)_1); 1769 } 1770 1771 extern __inline 1772 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1773 __lasx_xvfrsqrte_d(__m256d _1) { 1774 return (__m256d)__builtin_lasx_xvfrsqrte_d((v4f64)_1); 1775 } 1776 1777 extern __inline 1778 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1779 __lasx_xvflogb_s(__m256 _1) { 1780 return (__m256)__builtin_lasx_xvflogb_s((v8f32)_1); 1781 } 1782 1783 extern __inline 1784 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1785 __lasx_xvflogb_d(__m256d _1) { 1786 return (__m256d)__builtin_lasx_xvflogb_d((v4f64)_1); 1787 } 1788 1789 extern __inline 1790 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1791 __lasx_xvfcvth_s_h(__m256i _1) { 1792 return (__m256)__builtin_lasx_xvfcvth_s_h((v16i16)_1); 1793 } 1794 1795 extern __inline 1796 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1797 __lasx_xvfcvth_d_s(__m256 _1) { 1798 return (__m256d)__builtin_lasx_xvfcvth_d_s((v8f32)_1); 1799 } 1800 1801 extern __inline 1802 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1803 __lasx_xvfcvtl_s_h(__m256i _1) { 1804 return (__m256)__builtin_lasx_xvfcvtl_s_h((v16i16)_1); 1805 } 1806 1807 extern __inline 1808 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1809 __lasx_xvfcvtl_d_s(__m256 _1) { 1810 return (__m256d)__builtin_lasx_xvfcvtl_d_s((v8f32)_1); 1811 } 1812 1813 extern __inline 1814 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1815 __lasx_xvftint_w_s(__m256 _1) { 1816 return (__m256i)__builtin_lasx_xvftint_w_s((v8f32)_1); 1817 } 1818 1819 extern __inline 1820 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1821 __lasx_xvftint_l_d(__m256d _1) { 1822 return (__m256i)__builtin_lasx_xvftint_l_d((v4f64)_1); 1823 } 1824 1825 extern __inline 1826 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1827 __lasx_xvftint_wu_s(__m256 _1) { 1828 return (__m256i)__builtin_lasx_xvftint_wu_s((v8f32)_1); 1829 } 1830 1831 extern __inline 1832 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1833 __lasx_xvftint_lu_d(__m256d _1) { 1834 return (__m256i)__builtin_lasx_xvftint_lu_d((v4f64)_1); 1835 } 1836 1837 extern __inline 1838 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1839 __lasx_xvftintrz_w_s(__m256 _1) { 1840 return (__m256i)__builtin_lasx_xvftintrz_w_s((v8f32)_1); 1841 } 1842 1843 extern __inline 1844 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1845 __lasx_xvftintrz_l_d(__m256d _1) { 1846 return (__m256i)__builtin_lasx_xvftintrz_l_d((v4f64)_1); 1847 } 1848 1849 extern __inline 1850 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1851 __lasx_xvftintrz_wu_s(__m256 _1) { 1852 return (__m256i)__builtin_lasx_xvftintrz_wu_s((v8f32)_1); 1853 } 1854 1855 extern __inline 1856 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1857 __lasx_xvftintrz_lu_d(__m256d _1) { 1858 return (__m256i)__builtin_lasx_xvftintrz_lu_d((v4f64)_1); 1859 } 1860 1861 extern __inline 1862 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1863 __lasx_xvffint_s_w(__m256i _1) { 1864 return (__m256)__builtin_lasx_xvffint_s_w((v8i32)_1); 1865 } 1866 1867 extern __inline 1868 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1869 __lasx_xvffint_d_l(__m256i _1) { 1870 return (__m256d)__builtin_lasx_xvffint_d_l((v4i64)_1); 1871 } 1872 1873 extern __inline 1874 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 1875 __lasx_xvffint_s_wu(__m256i _1) { 1876 return (__m256)__builtin_lasx_xvffint_s_wu((v8u32)_1); 1877 } 1878 1879 extern __inline 1880 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 1881 __lasx_xvffint_d_lu(__m256i _1) { 1882 return (__m256d)__builtin_lasx_xvffint_d_lu((v4u64)_1); 1883 } 1884 1885 extern __inline 1886 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1887 __lasx_xvreplve_b(__m256i _1, int _2) { 1888 return (__m256i)__builtin_lasx_xvreplve_b((v32i8)_1, (int)_2); 1889 } 1890 1891 extern __inline 1892 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1893 __lasx_xvreplve_h(__m256i _1, int _2) { 1894 return (__m256i)__builtin_lasx_xvreplve_h((v16i16)_1, (int)_2); 1895 } 1896 1897 extern __inline 1898 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1899 __lasx_xvreplve_w(__m256i _1, int _2) { 1900 return (__m256i)__builtin_lasx_xvreplve_w((v8i32)_1, (int)_2); 1901 } 1902 1903 extern __inline 1904 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1905 __lasx_xvreplve_d(__m256i _1, int _2) { 1906 return (__m256i)__builtin_lasx_xvreplve_d((v4i64)_1, (int)_2); 1907 } 1908 1909 #define __lasx_xvpermi_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 1910 ((__m256i)__builtin_lasx_xvpermi_w((v8i32)(_1), (v8i32)(_2), (_3))) 1911 1912 extern __inline 1913 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1914 __lasx_xvandn_v(__m256i _1, __m256i _2) { 1915 return (__m256i)__builtin_lasx_xvandn_v((v32u8)_1, (v32u8)_2); 1916 } 1917 1918 extern __inline 1919 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1920 __lasx_xvneg_b(__m256i _1) { 1921 return (__m256i)__builtin_lasx_xvneg_b((v32i8)_1); 1922 } 1923 1924 extern __inline 1925 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1926 __lasx_xvneg_h(__m256i _1) { 1927 return (__m256i)__builtin_lasx_xvneg_h((v16i16)_1); 1928 } 1929 1930 extern __inline 1931 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1932 __lasx_xvneg_w(__m256i _1) { 1933 return (__m256i)__builtin_lasx_xvneg_w((v8i32)_1); 1934 } 1935 1936 extern __inline 1937 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1938 __lasx_xvneg_d(__m256i _1) { 1939 return (__m256i)__builtin_lasx_xvneg_d((v4i64)_1); 1940 } 1941 1942 extern __inline 1943 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1944 __lasx_xvmuh_b(__m256i _1, __m256i _2) { 1945 return (__m256i)__builtin_lasx_xvmuh_b((v32i8)_1, (v32i8)_2); 1946 } 1947 1948 extern __inline 1949 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1950 __lasx_xvmuh_h(__m256i _1, __m256i _2) { 1951 return (__m256i)__builtin_lasx_xvmuh_h((v16i16)_1, (v16i16)_2); 1952 } 1953 1954 extern __inline 1955 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1956 __lasx_xvmuh_w(__m256i _1, __m256i _2) { 1957 return (__m256i)__builtin_lasx_xvmuh_w((v8i32)_1, (v8i32)_2); 1958 } 1959 1960 extern __inline 1961 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1962 __lasx_xvmuh_d(__m256i _1, __m256i _2) { 1963 return (__m256i)__builtin_lasx_xvmuh_d((v4i64)_1, (v4i64)_2); 1964 } 1965 1966 extern __inline 1967 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1968 __lasx_xvmuh_bu(__m256i _1, __m256i _2) { 1969 return (__m256i)__builtin_lasx_xvmuh_bu((v32u8)_1, (v32u8)_2); 1970 } 1971 1972 extern __inline 1973 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1974 __lasx_xvmuh_hu(__m256i _1, __m256i _2) { 1975 return (__m256i)__builtin_lasx_xvmuh_hu((v16u16)_1, (v16u16)_2); 1976 } 1977 1978 extern __inline 1979 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1980 __lasx_xvmuh_wu(__m256i _1, __m256i _2) { 1981 return (__m256i)__builtin_lasx_xvmuh_wu((v8u32)_1, (v8u32)_2); 1982 } 1983 1984 extern __inline 1985 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 1986 __lasx_xvmuh_du(__m256i _1, __m256i _2) { 1987 return (__m256i)__builtin_lasx_xvmuh_du((v4u64)_1, (v4u64)_2); 1988 } 1989 1990 #define __lasx_xvsllwil_h_b(/*__m256i*/ _1, /*ui3*/ _2) \ 1991 ((__m256i)__builtin_lasx_xvsllwil_h_b((v32i8)(_1), (_2))) 1992 1993 #define __lasx_xvsllwil_w_h(/*__m256i*/ _1, /*ui4*/ _2) \ 1994 ((__m256i)__builtin_lasx_xvsllwil_w_h((v16i16)(_1), (_2))) 1995 1996 #define __lasx_xvsllwil_d_w(/*__m256i*/ _1, /*ui5*/ _2) \ 1997 ((__m256i)__builtin_lasx_xvsllwil_d_w((v8i32)(_1), (_2))) 1998 1999 #define __lasx_xvsllwil_hu_bu(/*__m256i*/ _1, /*ui3*/ _2) \ 2000 ((__m256i)__builtin_lasx_xvsllwil_hu_bu((v32u8)(_1), (_2))) 2001 2002 #define __lasx_xvsllwil_wu_hu(/*__m256i*/ _1, /*ui4*/ _2) \ 2003 ((__m256i)__builtin_lasx_xvsllwil_wu_hu((v16u16)(_1), (_2))) 2004 2005 #define __lasx_xvsllwil_du_wu(/*__m256i*/ _1, /*ui5*/ _2) \ 2006 ((__m256i)__builtin_lasx_xvsllwil_du_wu((v8u32)(_1), (_2))) 2007 2008 extern __inline 2009 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2010 __lasx_xvsran_b_h(__m256i _1, __m256i _2) { 2011 return (__m256i)__builtin_lasx_xvsran_b_h((v16i16)_1, (v16i16)_2); 2012 } 2013 2014 extern __inline 2015 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2016 __lasx_xvsran_h_w(__m256i _1, __m256i _2) { 2017 return (__m256i)__builtin_lasx_xvsran_h_w((v8i32)_1, (v8i32)_2); 2018 } 2019 2020 extern __inline 2021 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2022 __lasx_xvsran_w_d(__m256i _1, __m256i _2) { 2023 return (__m256i)__builtin_lasx_xvsran_w_d((v4i64)_1, (v4i64)_2); 2024 } 2025 2026 extern __inline 2027 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2028 __lasx_xvssran_b_h(__m256i _1, __m256i _2) { 2029 return (__m256i)__builtin_lasx_xvssran_b_h((v16i16)_1, (v16i16)_2); 2030 } 2031 2032 extern __inline 2033 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2034 __lasx_xvssran_h_w(__m256i _1, __m256i _2) { 2035 return (__m256i)__builtin_lasx_xvssran_h_w((v8i32)_1, (v8i32)_2); 2036 } 2037 2038 extern __inline 2039 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2040 __lasx_xvssran_w_d(__m256i _1, __m256i _2) { 2041 return (__m256i)__builtin_lasx_xvssran_w_d((v4i64)_1, (v4i64)_2); 2042 } 2043 2044 extern __inline 2045 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2046 __lasx_xvssran_bu_h(__m256i _1, __m256i _2) { 2047 return (__m256i)__builtin_lasx_xvssran_bu_h((v16u16)_1, (v16u16)_2); 2048 } 2049 2050 extern __inline 2051 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2052 __lasx_xvssran_hu_w(__m256i _1, __m256i _2) { 2053 return (__m256i)__builtin_lasx_xvssran_hu_w((v8u32)_1, (v8u32)_2); 2054 } 2055 2056 extern __inline 2057 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2058 __lasx_xvssran_wu_d(__m256i _1, __m256i _2) { 2059 return (__m256i)__builtin_lasx_xvssran_wu_d((v4u64)_1, (v4u64)_2); 2060 } 2061 2062 extern __inline 2063 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2064 __lasx_xvsrarn_b_h(__m256i _1, __m256i _2) { 2065 return (__m256i)__builtin_lasx_xvsrarn_b_h((v16i16)_1, (v16i16)_2); 2066 } 2067 2068 extern __inline 2069 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2070 __lasx_xvsrarn_h_w(__m256i _1, __m256i _2) { 2071 return (__m256i)__builtin_lasx_xvsrarn_h_w((v8i32)_1, (v8i32)_2); 2072 } 2073 2074 extern __inline 2075 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2076 __lasx_xvsrarn_w_d(__m256i _1, __m256i _2) { 2077 return (__m256i)__builtin_lasx_xvsrarn_w_d((v4i64)_1, (v4i64)_2); 2078 } 2079 2080 extern __inline 2081 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2082 __lasx_xvssrarn_b_h(__m256i _1, __m256i _2) { 2083 return (__m256i)__builtin_lasx_xvssrarn_b_h((v16i16)_1, (v16i16)_2); 2084 } 2085 2086 extern __inline 2087 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2088 __lasx_xvssrarn_h_w(__m256i _1, __m256i _2) { 2089 return (__m256i)__builtin_lasx_xvssrarn_h_w((v8i32)_1, (v8i32)_2); 2090 } 2091 2092 extern __inline 2093 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2094 __lasx_xvssrarn_w_d(__m256i _1, __m256i _2) { 2095 return (__m256i)__builtin_lasx_xvssrarn_w_d((v4i64)_1, (v4i64)_2); 2096 } 2097 2098 extern __inline 2099 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2100 __lasx_xvssrarn_bu_h(__m256i _1, __m256i _2) { 2101 return (__m256i)__builtin_lasx_xvssrarn_bu_h((v16u16)_1, (v16u16)_2); 2102 } 2103 2104 extern __inline 2105 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2106 __lasx_xvssrarn_hu_w(__m256i _1, __m256i _2) { 2107 return (__m256i)__builtin_lasx_xvssrarn_hu_w((v8u32)_1, (v8u32)_2); 2108 } 2109 2110 extern __inline 2111 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2112 __lasx_xvssrarn_wu_d(__m256i _1, __m256i _2) { 2113 return (__m256i)__builtin_lasx_xvssrarn_wu_d((v4u64)_1, (v4u64)_2); 2114 } 2115 2116 extern __inline 2117 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2118 __lasx_xvsrln_b_h(__m256i _1, __m256i _2) { 2119 return (__m256i)__builtin_lasx_xvsrln_b_h((v16i16)_1, (v16i16)_2); 2120 } 2121 2122 extern __inline 2123 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2124 __lasx_xvsrln_h_w(__m256i _1, __m256i _2) { 2125 return (__m256i)__builtin_lasx_xvsrln_h_w((v8i32)_1, (v8i32)_2); 2126 } 2127 2128 extern __inline 2129 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2130 __lasx_xvsrln_w_d(__m256i _1, __m256i _2) { 2131 return (__m256i)__builtin_lasx_xvsrln_w_d((v4i64)_1, (v4i64)_2); 2132 } 2133 2134 extern __inline 2135 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2136 __lasx_xvssrln_bu_h(__m256i _1, __m256i _2) { 2137 return (__m256i)__builtin_lasx_xvssrln_bu_h((v16u16)_1, (v16u16)_2); 2138 } 2139 2140 extern __inline 2141 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2142 __lasx_xvssrln_hu_w(__m256i _1, __m256i _2) { 2143 return (__m256i)__builtin_lasx_xvssrln_hu_w((v8u32)_1, (v8u32)_2); 2144 } 2145 2146 extern __inline 2147 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2148 __lasx_xvssrln_wu_d(__m256i _1, __m256i _2) { 2149 return (__m256i)__builtin_lasx_xvssrln_wu_d((v4u64)_1, (v4u64)_2); 2150 } 2151 2152 extern __inline 2153 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2154 __lasx_xvsrlrn_b_h(__m256i _1, __m256i _2) { 2155 return (__m256i)__builtin_lasx_xvsrlrn_b_h((v16i16)_1, (v16i16)_2); 2156 } 2157 2158 extern __inline 2159 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2160 __lasx_xvsrlrn_h_w(__m256i _1, __m256i _2) { 2161 return (__m256i)__builtin_lasx_xvsrlrn_h_w((v8i32)_1, (v8i32)_2); 2162 } 2163 2164 extern __inline 2165 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2166 __lasx_xvsrlrn_w_d(__m256i _1, __m256i _2) { 2167 return (__m256i)__builtin_lasx_xvsrlrn_w_d((v4i64)_1, (v4i64)_2); 2168 } 2169 2170 extern __inline 2171 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2172 __lasx_xvssrlrn_bu_h(__m256i _1, __m256i _2) { 2173 return (__m256i)__builtin_lasx_xvssrlrn_bu_h((v16u16)_1, (v16u16)_2); 2174 } 2175 2176 extern __inline 2177 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2178 __lasx_xvssrlrn_hu_w(__m256i _1, __m256i _2) { 2179 return (__m256i)__builtin_lasx_xvssrlrn_hu_w((v8u32)_1, (v8u32)_2); 2180 } 2181 2182 extern __inline 2183 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2184 __lasx_xvssrlrn_wu_d(__m256i _1, __m256i _2) { 2185 return (__m256i)__builtin_lasx_xvssrlrn_wu_d((v4u64)_1, (v4u64)_2); 2186 } 2187 2188 #define __lasx_xvfrstpi_b(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 2189 ((__m256i)__builtin_lasx_xvfrstpi_b((v32i8)(_1), (v32i8)(_2), (_3))) 2190 2191 #define __lasx_xvfrstpi_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 2192 ((__m256i)__builtin_lasx_xvfrstpi_h((v16i16)(_1), (v16i16)(_2), (_3))) 2193 2194 extern __inline 2195 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2196 __lasx_xvfrstp_b(__m256i _1, __m256i _2, __m256i _3) { 2197 return (__m256i)__builtin_lasx_xvfrstp_b((v32i8)_1, (v32i8)_2, (v32i8)_3); 2198 } 2199 2200 extern __inline 2201 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2202 __lasx_xvfrstp_h(__m256i _1, __m256i _2, __m256i _3) { 2203 return (__m256i)__builtin_lasx_xvfrstp_h((v16i16)_1, (v16i16)_2, (v16i16)_3); 2204 } 2205 2206 #define __lasx_xvshuf4i_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 2207 ((__m256i)__builtin_lasx_xvshuf4i_d((v4i64)(_1), (v4i64)(_2), (_3))) 2208 2209 #define __lasx_xvbsrl_v(/*__m256i*/ _1, /*ui5*/ _2) \ 2210 ((__m256i)__builtin_lasx_xvbsrl_v((v32i8)(_1), (_2))) 2211 2212 #define __lasx_xvbsll_v(/*__m256i*/ _1, /*ui5*/ _2) \ 2213 ((__m256i)__builtin_lasx_xvbsll_v((v32i8)(_1), (_2))) 2214 2215 #define __lasx_xvextrins_b(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 2216 ((__m256i)__builtin_lasx_xvextrins_b((v32i8)(_1), (v32i8)(_2), (_3))) 2217 2218 #define __lasx_xvextrins_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 2219 ((__m256i)__builtin_lasx_xvextrins_h((v16i16)(_1), (v16i16)(_2), (_3))) 2220 2221 #define __lasx_xvextrins_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 2222 ((__m256i)__builtin_lasx_xvextrins_w((v8i32)(_1), (v8i32)(_2), (_3))) 2223 2224 #define __lasx_xvextrins_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 2225 ((__m256i)__builtin_lasx_xvextrins_d((v4i64)(_1), (v4i64)(_2), (_3))) 2226 2227 extern __inline 2228 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2229 __lasx_xvmskltz_b(__m256i _1) { 2230 return (__m256i)__builtin_lasx_xvmskltz_b((v32i8)_1); 2231 } 2232 2233 extern __inline 2234 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2235 __lasx_xvmskltz_h(__m256i _1) { 2236 return (__m256i)__builtin_lasx_xvmskltz_h((v16i16)_1); 2237 } 2238 2239 extern __inline 2240 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2241 __lasx_xvmskltz_w(__m256i _1) { 2242 return (__m256i)__builtin_lasx_xvmskltz_w((v8i32)_1); 2243 } 2244 2245 extern __inline 2246 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2247 __lasx_xvmskltz_d(__m256i _1) { 2248 return (__m256i)__builtin_lasx_xvmskltz_d((v4i64)_1); 2249 } 2250 2251 extern __inline 2252 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2253 __lasx_xvsigncov_b(__m256i _1, __m256i _2) { 2254 return (__m256i)__builtin_lasx_xvsigncov_b((v32i8)_1, (v32i8)_2); 2255 } 2256 2257 extern __inline 2258 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2259 __lasx_xvsigncov_h(__m256i _1, __m256i _2) { 2260 return (__m256i)__builtin_lasx_xvsigncov_h((v16i16)_1, (v16i16)_2); 2261 } 2262 2263 extern __inline 2264 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2265 __lasx_xvsigncov_w(__m256i _1, __m256i _2) { 2266 return (__m256i)__builtin_lasx_xvsigncov_w((v8i32)_1, (v8i32)_2); 2267 } 2268 2269 extern __inline 2270 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2271 __lasx_xvsigncov_d(__m256i _1, __m256i _2) { 2272 return (__m256i)__builtin_lasx_xvsigncov_d((v4i64)_1, (v4i64)_2); 2273 } 2274 2275 extern __inline 2276 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2277 __lasx_xvfmadd_s(__m256 _1, __m256 _2, __m256 _3) { 2278 return (__m256)__builtin_lasx_xvfmadd_s((v8f32)_1, (v8f32)_2, (v8f32)_3); 2279 } 2280 2281 extern __inline 2282 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2283 __lasx_xvfmadd_d(__m256d _1, __m256d _2, __m256d _3) { 2284 return (__m256d)__builtin_lasx_xvfmadd_d((v4f64)_1, (v4f64)_2, (v4f64)_3); 2285 } 2286 2287 extern __inline 2288 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2289 __lasx_xvfmsub_s(__m256 _1, __m256 _2, __m256 _3) { 2290 return (__m256)__builtin_lasx_xvfmsub_s((v8f32)_1, (v8f32)_2, (v8f32)_3); 2291 } 2292 2293 extern __inline 2294 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2295 __lasx_xvfmsub_d(__m256d _1, __m256d _2, __m256d _3) { 2296 return (__m256d)__builtin_lasx_xvfmsub_d((v4f64)_1, (v4f64)_2, (v4f64)_3); 2297 } 2298 2299 extern __inline 2300 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2301 __lasx_xvfnmadd_s(__m256 _1, __m256 _2, __m256 _3) { 2302 return (__m256)__builtin_lasx_xvfnmadd_s((v8f32)_1, (v8f32)_2, (v8f32)_3); 2303 } 2304 2305 extern __inline 2306 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2307 __lasx_xvfnmadd_d(__m256d _1, __m256d _2, __m256d _3) { 2308 return (__m256d)__builtin_lasx_xvfnmadd_d((v4f64)_1, (v4f64)_2, (v4f64)_3); 2309 } 2310 2311 extern __inline 2312 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2313 __lasx_xvfnmsub_s(__m256 _1, __m256 _2, __m256 _3) { 2314 return (__m256)__builtin_lasx_xvfnmsub_s((v8f32)_1, (v8f32)_2, (v8f32)_3); 2315 } 2316 2317 extern __inline 2318 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2319 __lasx_xvfnmsub_d(__m256d _1, __m256d _2, __m256d _3) { 2320 return (__m256d)__builtin_lasx_xvfnmsub_d((v4f64)_1, (v4f64)_2, (v4f64)_3); 2321 } 2322 2323 extern __inline 2324 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2325 __lasx_xvftintrne_w_s(__m256 _1) { 2326 return (__m256i)__builtin_lasx_xvftintrne_w_s((v8f32)_1); 2327 } 2328 2329 extern __inline 2330 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2331 __lasx_xvftintrne_l_d(__m256d _1) { 2332 return (__m256i)__builtin_lasx_xvftintrne_l_d((v4f64)_1); 2333 } 2334 2335 extern __inline 2336 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2337 __lasx_xvftintrp_w_s(__m256 _1) { 2338 return (__m256i)__builtin_lasx_xvftintrp_w_s((v8f32)_1); 2339 } 2340 2341 extern __inline 2342 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2343 __lasx_xvftintrp_l_d(__m256d _1) { 2344 return (__m256i)__builtin_lasx_xvftintrp_l_d((v4f64)_1); 2345 } 2346 2347 extern __inline 2348 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2349 __lasx_xvftintrm_w_s(__m256 _1) { 2350 return (__m256i)__builtin_lasx_xvftintrm_w_s((v8f32)_1); 2351 } 2352 2353 extern __inline 2354 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2355 __lasx_xvftintrm_l_d(__m256d _1) { 2356 return (__m256i)__builtin_lasx_xvftintrm_l_d((v4f64)_1); 2357 } 2358 2359 extern __inline 2360 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2361 __lasx_xvftint_w_d(__m256d _1, __m256d _2) { 2362 return (__m256i)__builtin_lasx_xvftint_w_d((v4f64)_1, (v4f64)_2); 2363 } 2364 2365 extern __inline 2366 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2367 __lasx_xvffint_s_l(__m256i _1, __m256i _2) { 2368 return (__m256)__builtin_lasx_xvffint_s_l((v4i64)_1, (v4i64)_2); 2369 } 2370 2371 extern __inline 2372 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2373 __lasx_xvftintrz_w_d(__m256d _1, __m256d _2) { 2374 return (__m256i)__builtin_lasx_xvftintrz_w_d((v4f64)_1, (v4f64)_2); 2375 } 2376 2377 extern __inline 2378 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2379 __lasx_xvftintrp_w_d(__m256d _1, __m256d _2) { 2380 return (__m256i)__builtin_lasx_xvftintrp_w_d((v4f64)_1, (v4f64)_2); 2381 } 2382 2383 extern __inline 2384 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2385 __lasx_xvftintrm_w_d(__m256d _1, __m256d _2) { 2386 return (__m256i)__builtin_lasx_xvftintrm_w_d((v4f64)_1, (v4f64)_2); 2387 } 2388 2389 extern __inline 2390 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2391 __lasx_xvftintrne_w_d(__m256d _1, __m256d _2) { 2392 return (__m256i)__builtin_lasx_xvftintrne_w_d((v4f64)_1, (v4f64)_2); 2393 } 2394 2395 extern __inline 2396 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2397 __lasx_xvftinth_l_s(__m256 _1) { 2398 return (__m256i)__builtin_lasx_xvftinth_l_s((v8f32)_1); 2399 } 2400 2401 extern __inline 2402 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2403 __lasx_xvftintl_l_s(__m256 _1) { 2404 return (__m256i)__builtin_lasx_xvftintl_l_s((v8f32)_1); 2405 } 2406 2407 extern __inline 2408 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2409 __lasx_xvffinth_d_w(__m256i _1) { 2410 return (__m256d)__builtin_lasx_xvffinth_d_w((v8i32)_1); 2411 } 2412 2413 extern __inline 2414 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2415 __lasx_xvffintl_d_w(__m256i _1) { 2416 return (__m256d)__builtin_lasx_xvffintl_d_w((v8i32)_1); 2417 } 2418 2419 extern __inline 2420 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2421 __lasx_xvftintrzh_l_s(__m256 _1) { 2422 return (__m256i)__builtin_lasx_xvftintrzh_l_s((v8f32)_1); 2423 } 2424 2425 extern __inline 2426 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2427 __lasx_xvftintrzl_l_s(__m256 _1) { 2428 return (__m256i)__builtin_lasx_xvftintrzl_l_s((v8f32)_1); 2429 } 2430 2431 extern __inline 2432 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2433 __lasx_xvftintrph_l_s(__m256 _1) { 2434 return (__m256i)__builtin_lasx_xvftintrph_l_s((v8f32)_1); 2435 } 2436 2437 extern __inline 2438 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2439 __lasx_xvftintrpl_l_s(__m256 _1) { 2440 return (__m256i)__builtin_lasx_xvftintrpl_l_s((v8f32)_1); 2441 } 2442 2443 extern __inline 2444 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2445 __lasx_xvftintrmh_l_s(__m256 _1) { 2446 return (__m256i)__builtin_lasx_xvftintrmh_l_s((v8f32)_1); 2447 } 2448 2449 extern __inline 2450 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2451 __lasx_xvftintrml_l_s(__m256 _1) { 2452 return (__m256i)__builtin_lasx_xvftintrml_l_s((v8f32)_1); 2453 } 2454 2455 extern __inline 2456 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2457 __lasx_xvftintrneh_l_s(__m256 _1) { 2458 return (__m256i)__builtin_lasx_xvftintrneh_l_s((v8f32)_1); 2459 } 2460 2461 extern __inline 2462 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2463 __lasx_xvftintrnel_l_s(__m256 _1) { 2464 return (__m256i)__builtin_lasx_xvftintrnel_l_s((v8f32)_1); 2465 } 2466 2467 extern __inline 2468 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2469 __lasx_xvfrintrne_s(__m256 _1) { 2470 return (__m256)__builtin_lasx_xvfrintrne_s((v8f32)_1); 2471 } 2472 2473 extern __inline 2474 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2475 __lasx_xvfrintrne_d(__m256d _1) { 2476 return (__m256d)__builtin_lasx_xvfrintrne_d((v4f64)_1); 2477 } 2478 2479 extern __inline 2480 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2481 __lasx_xvfrintrz_s(__m256 _1) { 2482 return (__m256)__builtin_lasx_xvfrintrz_s((v8f32)_1); 2483 } 2484 2485 extern __inline 2486 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2487 __lasx_xvfrintrz_d(__m256d _1) { 2488 return (__m256d)__builtin_lasx_xvfrintrz_d((v4f64)_1); 2489 } 2490 2491 extern __inline 2492 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2493 __lasx_xvfrintrp_s(__m256 _1) { 2494 return (__m256)__builtin_lasx_xvfrintrp_s((v8f32)_1); 2495 } 2496 2497 extern __inline 2498 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2499 __lasx_xvfrintrp_d(__m256d _1) { 2500 return (__m256d)__builtin_lasx_xvfrintrp_d((v4f64)_1); 2501 } 2502 2503 extern __inline 2504 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256 2505 __lasx_xvfrintrm_s(__m256 _1) { 2506 return (__m256)__builtin_lasx_xvfrintrm_s((v8f32)_1); 2507 } 2508 2509 extern __inline 2510 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d 2511 __lasx_xvfrintrm_d(__m256d _1) { 2512 return (__m256d)__builtin_lasx_xvfrintrm_d((v4f64)_1); 2513 } 2514 2515 #define __lasx_xvld(/*void **/ _1, /*si12*/ _2) \ 2516 ((__m256i)__builtin_lasx_xvld((void const *)(_1), (_2))) 2517 2518 #define __lasx_xvst(/*__m256i*/ _1, /*void **/ _2, /*si12*/ _3) \ 2519 ((void)__builtin_lasx_xvst((v32i8)(_1), (void *)(_2), (_3))) 2520 2521 #define __lasx_xvstelm_b(/*__m256i*/ _1, /*void **/ _2, /*si8*/ _3, \ 2522 /*idx*/ _4) \ 2523 ((void)__builtin_lasx_xvstelm_b((v32i8)(_1), (void *)(_2), (_3), (_4))) 2524 2525 #define __lasx_xvstelm_h(/*__m256i*/ _1, /*void **/ _2, /*si8*/ _3, \ 2526 /*idx*/ _4) \ 2527 ((void)__builtin_lasx_xvstelm_h((v16i16)(_1), (void *)(_2), (_3), (_4))) 2528 2529 #define __lasx_xvstelm_w(/*__m256i*/ _1, /*void **/ _2, /*si8*/ _3, \ 2530 /*idx*/ _4) \ 2531 ((void)__builtin_lasx_xvstelm_w((v8i32)(_1), (void *)(_2), (_3), (_4))) 2532 2533 #define __lasx_xvstelm_d(/*__m256i*/ _1, /*void **/ _2, /*si8*/ _3, \ 2534 /*idx*/ _4) \ 2535 ((void)__builtin_lasx_xvstelm_d((v4i64)(_1), (void *)(_2), (_3), (_4))) 2536 2537 #define __lasx_xvinsve0_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui3*/ _3) \ 2538 ((__m256i)__builtin_lasx_xvinsve0_w((v8i32)(_1), (v8i32)(_2), (_3))) 2539 2540 #define __lasx_xvinsve0_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui2*/ _3) \ 2541 ((__m256i)__builtin_lasx_xvinsve0_d((v4i64)(_1), (v4i64)(_2), (_3))) 2542 2543 #define __lasx_xvpickve_w(/*__m256i*/ _1, /*ui3*/ _2) \ 2544 ((__m256i)__builtin_lasx_xvpickve_w((v8i32)(_1), (_2))) 2545 2546 #define __lasx_xvpickve_d(/*__m256i*/ _1, /*ui2*/ _2) \ 2547 ((__m256i)__builtin_lasx_xvpickve_d((v4i64)(_1), (_2))) 2548 2549 extern __inline 2550 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2551 __lasx_xvssrlrn_b_h(__m256i _1, __m256i _2) { 2552 return (__m256i)__builtin_lasx_xvssrlrn_b_h((v16i16)_1, (v16i16)_2); 2553 } 2554 2555 extern __inline 2556 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2557 __lasx_xvssrlrn_h_w(__m256i _1, __m256i _2) { 2558 return (__m256i)__builtin_lasx_xvssrlrn_h_w((v8i32)_1, (v8i32)_2); 2559 } 2560 2561 extern __inline 2562 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2563 __lasx_xvssrlrn_w_d(__m256i _1, __m256i _2) { 2564 return (__m256i)__builtin_lasx_xvssrlrn_w_d((v4i64)_1, (v4i64)_2); 2565 } 2566 2567 extern __inline 2568 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2569 __lasx_xvssrln_b_h(__m256i _1, __m256i _2) { 2570 return (__m256i)__builtin_lasx_xvssrln_b_h((v16i16)_1, (v16i16)_2); 2571 } 2572 2573 extern __inline 2574 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2575 __lasx_xvssrln_h_w(__m256i _1, __m256i _2) { 2576 return (__m256i)__builtin_lasx_xvssrln_h_w((v8i32)_1, (v8i32)_2); 2577 } 2578 2579 extern __inline 2580 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2581 __lasx_xvssrln_w_d(__m256i _1, __m256i _2) { 2582 return (__m256i)__builtin_lasx_xvssrln_w_d((v4i64)_1, (v4i64)_2); 2583 } 2584 2585 extern __inline 2586 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2587 __lasx_xvorn_v(__m256i _1, __m256i _2) { 2588 return (__m256i)__builtin_lasx_xvorn_v((v32i8)_1, (v32i8)_2); 2589 } 2590 2591 #define __lasx_xvldi(/*i13*/ _1) ((__m256i)__builtin_lasx_xvldi((_1))) 2592 2593 extern __inline 2594 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2595 __lasx_xvldx(void const *_1, long int _2) { 2596 return (__m256i)__builtin_lasx_xvldx((void const *)_1, (long int)_2); 2597 } 2598 2599 extern __inline 2600 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) void 2601 __lasx_xvstx(__m256i _1, void *_2, long int _3) { 2602 return (void)__builtin_lasx_xvstx((v32i8)_1, (void *)_2, (long int)_3); 2603 } 2604 2605 extern __inline 2606 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2607 __lasx_xvextl_qu_du(__m256i _1) { 2608 return (__m256i)__builtin_lasx_xvextl_qu_du((v4u64)_1); 2609 } 2610 2611 #define __lasx_xvinsgr2vr_w(/*__m256i*/ _1, /*int*/ _2, /*ui3*/ _3) \ 2612 ((__m256i)__builtin_lasx_xvinsgr2vr_w((v8i32)(_1), (int)(_2), (_3))) 2613 2614 #define __lasx_xvinsgr2vr_d(/*__m256i*/ _1, /*long int*/ _2, /*ui2*/ _3) \ 2615 ((__m256i)__builtin_lasx_xvinsgr2vr_d((v4i64)(_1), (long int)(_2), (_3))) 2616 2617 extern __inline 2618 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2619 __lasx_xvreplve0_b(__m256i _1) { 2620 return (__m256i)__builtin_lasx_xvreplve0_b((v32i8)_1); 2621 } 2622 2623 extern __inline 2624 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2625 __lasx_xvreplve0_h(__m256i _1) { 2626 return (__m256i)__builtin_lasx_xvreplve0_h((v16i16)_1); 2627 } 2628 2629 extern __inline 2630 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2631 __lasx_xvreplve0_w(__m256i _1) { 2632 return (__m256i)__builtin_lasx_xvreplve0_w((v8i32)_1); 2633 } 2634 2635 extern __inline 2636 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2637 __lasx_xvreplve0_d(__m256i _1) { 2638 return (__m256i)__builtin_lasx_xvreplve0_d((v4i64)_1); 2639 } 2640 2641 extern __inline 2642 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2643 __lasx_xvreplve0_q(__m256i _1) { 2644 return (__m256i)__builtin_lasx_xvreplve0_q((v32i8)_1); 2645 } 2646 2647 extern __inline 2648 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2649 __lasx_vext2xv_h_b(__m256i _1) { 2650 return (__m256i)__builtin_lasx_vext2xv_h_b((v32i8)_1); 2651 } 2652 2653 extern __inline 2654 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2655 __lasx_vext2xv_w_h(__m256i _1) { 2656 return (__m256i)__builtin_lasx_vext2xv_w_h((v16i16)_1); 2657 } 2658 2659 extern __inline 2660 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2661 __lasx_vext2xv_d_w(__m256i _1) { 2662 return (__m256i)__builtin_lasx_vext2xv_d_w((v8i32)_1); 2663 } 2664 2665 extern __inline 2666 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2667 __lasx_vext2xv_w_b(__m256i _1) { 2668 return (__m256i)__builtin_lasx_vext2xv_w_b((v32i8)_1); 2669 } 2670 2671 extern __inline 2672 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2673 __lasx_vext2xv_d_h(__m256i _1) { 2674 return (__m256i)__builtin_lasx_vext2xv_d_h((v16i16)_1); 2675 } 2676 2677 extern __inline 2678 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2679 __lasx_vext2xv_d_b(__m256i _1) { 2680 return (__m256i)__builtin_lasx_vext2xv_d_b((v32i8)_1); 2681 } 2682 2683 extern __inline 2684 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2685 __lasx_vext2xv_hu_bu(__m256i _1) { 2686 return (__m256i)__builtin_lasx_vext2xv_hu_bu((v32i8)_1); 2687 } 2688 2689 extern __inline 2690 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2691 __lasx_vext2xv_wu_hu(__m256i _1) { 2692 return (__m256i)__builtin_lasx_vext2xv_wu_hu((v16i16)_1); 2693 } 2694 2695 extern __inline 2696 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2697 __lasx_vext2xv_du_wu(__m256i _1) { 2698 return (__m256i)__builtin_lasx_vext2xv_du_wu((v8i32)_1); 2699 } 2700 2701 extern __inline 2702 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2703 __lasx_vext2xv_wu_bu(__m256i _1) { 2704 return (__m256i)__builtin_lasx_vext2xv_wu_bu((v32i8)_1); 2705 } 2706 2707 extern __inline 2708 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2709 __lasx_vext2xv_du_hu(__m256i _1) { 2710 return (__m256i)__builtin_lasx_vext2xv_du_hu((v16i16)_1); 2711 } 2712 2713 extern __inline 2714 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2715 __lasx_vext2xv_du_bu(__m256i _1) { 2716 return (__m256i)__builtin_lasx_vext2xv_du_bu((v32i8)_1); 2717 } 2718 2719 #define __lasx_xvpermi_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui8*/ _3) \ 2720 ((__m256i)__builtin_lasx_xvpermi_q((v32i8)(_1), (v32i8)(_2), (_3))) 2721 2722 #define __lasx_xvpermi_d(/*__m256i*/ _1, /*ui8*/ _2) \ 2723 ((__m256i)__builtin_lasx_xvpermi_d((v4i64)(_1), (_2))) 2724 2725 extern __inline 2726 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2727 __lasx_xvperm_w(__m256i _1, __m256i _2) { 2728 return (__m256i)__builtin_lasx_xvperm_w((v8i32)_1, (v8i32)_2); 2729 } 2730 2731 #define __lasx_xvldrepl_b(/*void **/ _1, /*si12*/ _2) \ 2732 ((__m256i)__builtin_lasx_xvldrepl_b((void const *)(_1), (_2))) 2733 2734 #define __lasx_xvldrepl_h(/*void **/ _1, /*si11*/ _2) \ 2735 ((__m256i)__builtin_lasx_xvldrepl_h((void const *)(_1), (_2))) 2736 2737 #define __lasx_xvldrepl_w(/*void **/ _1, /*si10*/ _2) \ 2738 ((__m256i)__builtin_lasx_xvldrepl_w((void const *)(_1), (_2))) 2739 2740 #define __lasx_xvldrepl_d(/*void **/ _1, /*si9*/ _2) \ 2741 ((__m256i)__builtin_lasx_xvldrepl_d((void const *)(_1), (_2))) 2742 2743 #define __lasx_xvpickve2gr_w(/*__m256i*/ _1, /*ui3*/ _2) \ 2744 ((int)__builtin_lasx_xvpickve2gr_w((v8i32)(_1), (_2))) 2745 2746 #define __lasx_xvpickve2gr_wu(/*__m256i*/ _1, /*ui3*/ _2) \ 2747 ((unsigned int)__builtin_lasx_xvpickve2gr_wu((v8i32)(_1), (_2))) 2748 2749 #define __lasx_xvpickve2gr_d(/*__m256i*/ _1, /*ui2*/ _2) \ 2750 ((long int)__builtin_lasx_xvpickve2gr_d((v4i64)(_1), (_2))) 2751 2752 #define __lasx_xvpickve2gr_du(/*__m256i*/ _1, /*ui2*/ _2) \ 2753 ((unsigned long int)__builtin_lasx_xvpickve2gr_du((v4i64)(_1), (_2))) 2754 2755 extern __inline 2756 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2757 __lasx_xvaddwev_q_d(__m256i _1, __m256i _2) { 2758 return (__m256i)__builtin_lasx_xvaddwev_q_d((v4i64)_1, (v4i64)_2); 2759 } 2760 2761 extern __inline 2762 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2763 __lasx_xvaddwev_d_w(__m256i _1, __m256i _2) { 2764 return (__m256i)__builtin_lasx_xvaddwev_d_w((v8i32)_1, (v8i32)_2); 2765 } 2766 2767 extern __inline 2768 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2769 __lasx_xvaddwev_w_h(__m256i _1, __m256i _2) { 2770 return (__m256i)__builtin_lasx_xvaddwev_w_h((v16i16)_1, (v16i16)_2); 2771 } 2772 2773 extern __inline 2774 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2775 __lasx_xvaddwev_h_b(__m256i _1, __m256i _2) { 2776 return (__m256i)__builtin_lasx_xvaddwev_h_b((v32i8)_1, (v32i8)_2); 2777 } 2778 2779 extern __inline 2780 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2781 __lasx_xvaddwev_q_du(__m256i _1, __m256i _2) { 2782 return (__m256i)__builtin_lasx_xvaddwev_q_du((v4u64)_1, (v4u64)_2); 2783 } 2784 2785 extern __inline 2786 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2787 __lasx_xvaddwev_d_wu(__m256i _1, __m256i _2) { 2788 return (__m256i)__builtin_lasx_xvaddwev_d_wu((v8u32)_1, (v8u32)_2); 2789 } 2790 2791 extern __inline 2792 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2793 __lasx_xvaddwev_w_hu(__m256i _1, __m256i _2) { 2794 return (__m256i)__builtin_lasx_xvaddwev_w_hu((v16u16)_1, (v16u16)_2); 2795 } 2796 2797 extern __inline 2798 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2799 __lasx_xvaddwev_h_bu(__m256i _1, __m256i _2) { 2800 return (__m256i)__builtin_lasx_xvaddwev_h_bu((v32u8)_1, (v32u8)_2); 2801 } 2802 2803 extern __inline 2804 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2805 __lasx_xvsubwev_q_d(__m256i _1, __m256i _2) { 2806 return (__m256i)__builtin_lasx_xvsubwev_q_d((v4i64)_1, (v4i64)_2); 2807 } 2808 2809 extern __inline 2810 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2811 __lasx_xvsubwev_d_w(__m256i _1, __m256i _2) { 2812 return (__m256i)__builtin_lasx_xvsubwev_d_w((v8i32)_1, (v8i32)_2); 2813 } 2814 2815 extern __inline 2816 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2817 __lasx_xvsubwev_w_h(__m256i _1, __m256i _2) { 2818 return (__m256i)__builtin_lasx_xvsubwev_w_h((v16i16)_1, (v16i16)_2); 2819 } 2820 2821 extern __inline 2822 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2823 __lasx_xvsubwev_h_b(__m256i _1, __m256i _2) { 2824 return (__m256i)__builtin_lasx_xvsubwev_h_b((v32i8)_1, (v32i8)_2); 2825 } 2826 2827 extern __inline 2828 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2829 __lasx_xvsubwev_q_du(__m256i _1, __m256i _2) { 2830 return (__m256i)__builtin_lasx_xvsubwev_q_du((v4u64)_1, (v4u64)_2); 2831 } 2832 2833 extern __inline 2834 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2835 __lasx_xvsubwev_d_wu(__m256i _1, __m256i _2) { 2836 return (__m256i)__builtin_lasx_xvsubwev_d_wu((v8u32)_1, (v8u32)_2); 2837 } 2838 2839 extern __inline 2840 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2841 __lasx_xvsubwev_w_hu(__m256i _1, __m256i _2) { 2842 return (__m256i)__builtin_lasx_xvsubwev_w_hu((v16u16)_1, (v16u16)_2); 2843 } 2844 2845 extern __inline 2846 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2847 __lasx_xvsubwev_h_bu(__m256i _1, __m256i _2) { 2848 return (__m256i)__builtin_lasx_xvsubwev_h_bu((v32u8)_1, (v32u8)_2); 2849 } 2850 2851 extern __inline 2852 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2853 __lasx_xvmulwev_q_d(__m256i _1, __m256i _2) { 2854 return (__m256i)__builtin_lasx_xvmulwev_q_d((v4i64)_1, (v4i64)_2); 2855 } 2856 2857 extern __inline 2858 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2859 __lasx_xvmulwev_d_w(__m256i _1, __m256i _2) { 2860 return (__m256i)__builtin_lasx_xvmulwev_d_w((v8i32)_1, (v8i32)_2); 2861 } 2862 2863 extern __inline 2864 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2865 __lasx_xvmulwev_w_h(__m256i _1, __m256i _2) { 2866 return (__m256i)__builtin_lasx_xvmulwev_w_h((v16i16)_1, (v16i16)_2); 2867 } 2868 2869 extern __inline 2870 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2871 __lasx_xvmulwev_h_b(__m256i _1, __m256i _2) { 2872 return (__m256i)__builtin_lasx_xvmulwev_h_b((v32i8)_1, (v32i8)_2); 2873 } 2874 2875 extern __inline 2876 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2877 __lasx_xvmulwev_q_du(__m256i _1, __m256i _2) { 2878 return (__m256i)__builtin_lasx_xvmulwev_q_du((v4u64)_1, (v4u64)_2); 2879 } 2880 2881 extern __inline 2882 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2883 __lasx_xvmulwev_d_wu(__m256i _1, __m256i _2) { 2884 return (__m256i)__builtin_lasx_xvmulwev_d_wu((v8u32)_1, (v8u32)_2); 2885 } 2886 2887 extern __inline 2888 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2889 __lasx_xvmulwev_w_hu(__m256i _1, __m256i _2) { 2890 return (__m256i)__builtin_lasx_xvmulwev_w_hu((v16u16)_1, (v16u16)_2); 2891 } 2892 2893 extern __inline 2894 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2895 __lasx_xvmulwev_h_bu(__m256i _1, __m256i _2) { 2896 return (__m256i)__builtin_lasx_xvmulwev_h_bu((v32u8)_1, (v32u8)_2); 2897 } 2898 2899 extern __inline 2900 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2901 __lasx_xvaddwod_q_d(__m256i _1, __m256i _2) { 2902 return (__m256i)__builtin_lasx_xvaddwod_q_d((v4i64)_1, (v4i64)_2); 2903 } 2904 2905 extern __inline 2906 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2907 __lasx_xvaddwod_d_w(__m256i _1, __m256i _2) { 2908 return (__m256i)__builtin_lasx_xvaddwod_d_w((v8i32)_1, (v8i32)_2); 2909 } 2910 2911 extern __inline 2912 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2913 __lasx_xvaddwod_w_h(__m256i _1, __m256i _2) { 2914 return (__m256i)__builtin_lasx_xvaddwod_w_h((v16i16)_1, (v16i16)_2); 2915 } 2916 2917 extern __inline 2918 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2919 __lasx_xvaddwod_h_b(__m256i _1, __m256i _2) { 2920 return (__m256i)__builtin_lasx_xvaddwod_h_b((v32i8)_1, (v32i8)_2); 2921 } 2922 2923 extern __inline 2924 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2925 __lasx_xvaddwod_q_du(__m256i _1, __m256i _2) { 2926 return (__m256i)__builtin_lasx_xvaddwod_q_du((v4u64)_1, (v4u64)_2); 2927 } 2928 2929 extern __inline 2930 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2931 __lasx_xvaddwod_d_wu(__m256i _1, __m256i _2) { 2932 return (__m256i)__builtin_lasx_xvaddwod_d_wu((v8u32)_1, (v8u32)_2); 2933 } 2934 2935 extern __inline 2936 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2937 __lasx_xvaddwod_w_hu(__m256i _1, __m256i _2) { 2938 return (__m256i)__builtin_lasx_xvaddwod_w_hu((v16u16)_1, (v16u16)_2); 2939 } 2940 2941 extern __inline 2942 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2943 __lasx_xvaddwod_h_bu(__m256i _1, __m256i _2) { 2944 return (__m256i)__builtin_lasx_xvaddwod_h_bu((v32u8)_1, (v32u8)_2); 2945 } 2946 2947 extern __inline 2948 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2949 __lasx_xvsubwod_q_d(__m256i _1, __m256i _2) { 2950 return (__m256i)__builtin_lasx_xvsubwod_q_d((v4i64)_1, (v4i64)_2); 2951 } 2952 2953 extern __inline 2954 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2955 __lasx_xvsubwod_d_w(__m256i _1, __m256i _2) { 2956 return (__m256i)__builtin_lasx_xvsubwod_d_w((v8i32)_1, (v8i32)_2); 2957 } 2958 2959 extern __inline 2960 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2961 __lasx_xvsubwod_w_h(__m256i _1, __m256i _2) { 2962 return (__m256i)__builtin_lasx_xvsubwod_w_h((v16i16)_1, (v16i16)_2); 2963 } 2964 2965 extern __inline 2966 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2967 __lasx_xvsubwod_h_b(__m256i _1, __m256i _2) { 2968 return (__m256i)__builtin_lasx_xvsubwod_h_b((v32i8)_1, (v32i8)_2); 2969 } 2970 2971 extern __inline 2972 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2973 __lasx_xvsubwod_q_du(__m256i _1, __m256i _2) { 2974 return (__m256i)__builtin_lasx_xvsubwod_q_du((v4u64)_1, (v4u64)_2); 2975 } 2976 2977 extern __inline 2978 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2979 __lasx_xvsubwod_d_wu(__m256i _1, __m256i _2) { 2980 return (__m256i)__builtin_lasx_xvsubwod_d_wu((v8u32)_1, (v8u32)_2); 2981 } 2982 2983 extern __inline 2984 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2985 __lasx_xvsubwod_w_hu(__m256i _1, __m256i _2) { 2986 return (__m256i)__builtin_lasx_xvsubwod_w_hu((v16u16)_1, (v16u16)_2); 2987 } 2988 2989 extern __inline 2990 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2991 __lasx_xvsubwod_h_bu(__m256i _1, __m256i _2) { 2992 return (__m256i)__builtin_lasx_xvsubwod_h_bu((v32u8)_1, (v32u8)_2); 2993 } 2994 2995 extern __inline 2996 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 2997 __lasx_xvmulwod_q_d(__m256i _1, __m256i _2) { 2998 return (__m256i)__builtin_lasx_xvmulwod_q_d((v4i64)_1, (v4i64)_2); 2999 } 3000 3001 extern __inline 3002 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3003 __lasx_xvmulwod_d_w(__m256i _1, __m256i _2) { 3004 return (__m256i)__builtin_lasx_xvmulwod_d_w((v8i32)_1, (v8i32)_2); 3005 } 3006 3007 extern __inline 3008 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3009 __lasx_xvmulwod_w_h(__m256i _1, __m256i _2) { 3010 return (__m256i)__builtin_lasx_xvmulwod_w_h((v16i16)_1, (v16i16)_2); 3011 } 3012 3013 extern __inline 3014 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3015 __lasx_xvmulwod_h_b(__m256i _1, __m256i _2) { 3016 return (__m256i)__builtin_lasx_xvmulwod_h_b((v32i8)_1, (v32i8)_2); 3017 } 3018 3019 extern __inline 3020 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3021 __lasx_xvmulwod_q_du(__m256i _1, __m256i _2) { 3022 return (__m256i)__builtin_lasx_xvmulwod_q_du((v4u64)_1, (v4u64)_2); 3023 } 3024 3025 extern __inline 3026 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3027 __lasx_xvmulwod_d_wu(__m256i _1, __m256i _2) { 3028 return (__m256i)__builtin_lasx_xvmulwod_d_wu((v8u32)_1, (v8u32)_2); 3029 } 3030 3031 extern __inline 3032 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3033 __lasx_xvmulwod_w_hu(__m256i _1, __m256i _2) { 3034 return (__m256i)__builtin_lasx_xvmulwod_w_hu((v16u16)_1, (v16u16)_2); 3035 } 3036 3037 extern __inline 3038 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3039 __lasx_xvmulwod_h_bu(__m256i _1, __m256i _2) { 3040 return (__m256i)__builtin_lasx_xvmulwod_h_bu((v32u8)_1, (v32u8)_2); 3041 } 3042 3043 extern __inline 3044 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3045 __lasx_xvaddwev_d_wu_w(__m256i _1, __m256i _2) { 3046 return (__m256i)__builtin_lasx_xvaddwev_d_wu_w((v8u32)_1, (v8i32)_2); 3047 } 3048 3049 extern __inline 3050 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3051 __lasx_xvaddwev_w_hu_h(__m256i _1, __m256i _2) { 3052 return (__m256i)__builtin_lasx_xvaddwev_w_hu_h((v16u16)_1, (v16i16)_2); 3053 } 3054 3055 extern __inline 3056 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3057 __lasx_xvaddwev_h_bu_b(__m256i _1, __m256i _2) { 3058 return (__m256i)__builtin_lasx_xvaddwev_h_bu_b((v32u8)_1, (v32i8)_2); 3059 } 3060 3061 extern __inline 3062 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3063 __lasx_xvmulwev_d_wu_w(__m256i _1, __m256i _2) { 3064 return (__m256i)__builtin_lasx_xvmulwev_d_wu_w((v8u32)_1, (v8i32)_2); 3065 } 3066 3067 extern __inline 3068 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3069 __lasx_xvmulwev_w_hu_h(__m256i _1, __m256i _2) { 3070 return (__m256i)__builtin_lasx_xvmulwev_w_hu_h((v16u16)_1, (v16i16)_2); 3071 } 3072 3073 extern __inline 3074 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3075 __lasx_xvmulwev_h_bu_b(__m256i _1, __m256i _2) { 3076 return (__m256i)__builtin_lasx_xvmulwev_h_bu_b((v32u8)_1, (v32i8)_2); 3077 } 3078 3079 extern __inline 3080 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3081 __lasx_xvaddwod_d_wu_w(__m256i _1, __m256i _2) { 3082 return (__m256i)__builtin_lasx_xvaddwod_d_wu_w((v8u32)_1, (v8i32)_2); 3083 } 3084 3085 extern __inline 3086 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3087 __lasx_xvaddwod_w_hu_h(__m256i _1, __m256i _2) { 3088 return (__m256i)__builtin_lasx_xvaddwod_w_hu_h((v16u16)_1, (v16i16)_2); 3089 } 3090 3091 extern __inline 3092 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3093 __lasx_xvaddwod_h_bu_b(__m256i _1, __m256i _2) { 3094 return (__m256i)__builtin_lasx_xvaddwod_h_bu_b((v32u8)_1, (v32i8)_2); 3095 } 3096 3097 extern __inline 3098 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3099 __lasx_xvmulwod_d_wu_w(__m256i _1, __m256i _2) { 3100 return (__m256i)__builtin_lasx_xvmulwod_d_wu_w((v8u32)_1, (v8i32)_2); 3101 } 3102 3103 extern __inline 3104 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3105 __lasx_xvmulwod_w_hu_h(__m256i _1, __m256i _2) { 3106 return (__m256i)__builtin_lasx_xvmulwod_w_hu_h((v16u16)_1, (v16i16)_2); 3107 } 3108 3109 extern __inline 3110 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3111 __lasx_xvmulwod_h_bu_b(__m256i _1, __m256i _2) { 3112 return (__m256i)__builtin_lasx_xvmulwod_h_bu_b((v32u8)_1, (v32i8)_2); 3113 } 3114 3115 extern __inline 3116 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3117 __lasx_xvhaddw_q_d(__m256i _1, __m256i _2) { 3118 return (__m256i)__builtin_lasx_xvhaddw_q_d((v4i64)_1, (v4i64)_2); 3119 } 3120 3121 extern __inline 3122 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3123 __lasx_xvhaddw_qu_du(__m256i _1, __m256i _2) { 3124 return (__m256i)__builtin_lasx_xvhaddw_qu_du((v4u64)_1, (v4u64)_2); 3125 } 3126 3127 extern __inline 3128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3129 __lasx_xvhsubw_q_d(__m256i _1, __m256i _2) { 3130 return (__m256i)__builtin_lasx_xvhsubw_q_d((v4i64)_1, (v4i64)_2); 3131 } 3132 3133 extern __inline 3134 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3135 __lasx_xvhsubw_qu_du(__m256i _1, __m256i _2) { 3136 return (__m256i)__builtin_lasx_xvhsubw_qu_du((v4u64)_1, (v4u64)_2); 3137 } 3138 3139 extern __inline 3140 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3141 __lasx_xvmaddwev_q_d(__m256i _1, __m256i _2, __m256i _3) { 3142 return (__m256i)__builtin_lasx_xvmaddwev_q_d((v4i64)_1, (v4i64)_2, (v4i64)_3); 3143 } 3144 3145 extern __inline 3146 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3147 __lasx_xvmaddwev_d_w(__m256i _1, __m256i _2, __m256i _3) { 3148 return (__m256i)__builtin_lasx_xvmaddwev_d_w((v4i64)_1, (v8i32)_2, (v8i32)_3); 3149 } 3150 3151 extern __inline 3152 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3153 __lasx_xvmaddwev_w_h(__m256i _1, __m256i _2, __m256i _3) { 3154 return (__m256i)__builtin_lasx_xvmaddwev_w_h((v8i32)_1, (v16i16)_2, 3155 (v16i16)_3); 3156 } 3157 3158 extern __inline 3159 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3160 __lasx_xvmaddwev_h_b(__m256i _1, __m256i _2, __m256i _3) { 3161 return (__m256i)__builtin_lasx_xvmaddwev_h_b((v16i16)_1, (v32i8)_2, 3162 (v32i8)_3); 3163 } 3164 3165 extern __inline 3166 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3167 __lasx_xvmaddwev_q_du(__m256i _1, __m256i _2, __m256i _3) { 3168 return (__m256i)__builtin_lasx_xvmaddwev_q_du((v4u64)_1, (v4u64)_2, 3169 (v4u64)_3); 3170 } 3171 3172 extern __inline 3173 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3174 __lasx_xvmaddwev_d_wu(__m256i _1, __m256i _2, __m256i _3) { 3175 return (__m256i)__builtin_lasx_xvmaddwev_d_wu((v4u64)_1, (v8u32)_2, 3176 (v8u32)_3); 3177 } 3178 3179 extern __inline 3180 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3181 __lasx_xvmaddwev_w_hu(__m256i _1, __m256i _2, __m256i _3) { 3182 return (__m256i)__builtin_lasx_xvmaddwev_w_hu((v8u32)_1, (v16u16)_2, 3183 (v16u16)_3); 3184 } 3185 3186 extern __inline 3187 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3188 __lasx_xvmaddwev_h_bu(__m256i _1, __m256i _2, __m256i _3) { 3189 return (__m256i)__builtin_lasx_xvmaddwev_h_bu((v16u16)_1, (v32u8)_2, 3190 (v32u8)_3); 3191 } 3192 3193 extern __inline 3194 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3195 __lasx_xvmaddwod_q_d(__m256i _1, __m256i _2, __m256i _3) { 3196 return (__m256i)__builtin_lasx_xvmaddwod_q_d((v4i64)_1, (v4i64)_2, (v4i64)_3); 3197 } 3198 3199 extern __inline 3200 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3201 __lasx_xvmaddwod_d_w(__m256i _1, __m256i _2, __m256i _3) { 3202 return (__m256i)__builtin_lasx_xvmaddwod_d_w((v4i64)_1, (v8i32)_2, (v8i32)_3); 3203 } 3204 3205 extern __inline 3206 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3207 __lasx_xvmaddwod_w_h(__m256i _1, __m256i _2, __m256i _3) { 3208 return (__m256i)__builtin_lasx_xvmaddwod_w_h((v8i32)_1, (v16i16)_2, 3209 (v16i16)_3); 3210 } 3211 3212 extern __inline 3213 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3214 __lasx_xvmaddwod_h_b(__m256i _1, __m256i _2, __m256i _3) { 3215 return (__m256i)__builtin_lasx_xvmaddwod_h_b((v16i16)_1, (v32i8)_2, 3216 (v32i8)_3); 3217 } 3218 3219 extern __inline 3220 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3221 __lasx_xvmaddwod_q_du(__m256i _1, __m256i _2, __m256i _3) { 3222 return (__m256i)__builtin_lasx_xvmaddwod_q_du((v4u64)_1, (v4u64)_2, 3223 (v4u64)_3); 3224 } 3225 3226 extern __inline 3227 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3228 __lasx_xvmaddwod_d_wu(__m256i _1, __m256i _2, __m256i _3) { 3229 return (__m256i)__builtin_lasx_xvmaddwod_d_wu((v4u64)_1, (v8u32)_2, 3230 (v8u32)_3); 3231 } 3232 3233 extern __inline 3234 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3235 __lasx_xvmaddwod_w_hu(__m256i _1, __m256i _2, __m256i _3) { 3236 return (__m256i)__builtin_lasx_xvmaddwod_w_hu((v8u32)_1, (v16u16)_2, 3237 (v16u16)_3); 3238 } 3239 3240 extern __inline 3241 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3242 __lasx_xvmaddwod_h_bu(__m256i _1, __m256i _2, __m256i _3) { 3243 return (__m256i)__builtin_lasx_xvmaddwod_h_bu((v16u16)_1, (v32u8)_2, 3244 (v32u8)_3); 3245 } 3246 3247 extern __inline 3248 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3249 __lasx_xvmaddwev_q_du_d(__m256i _1, __m256i _2, __m256i _3) { 3250 return (__m256i)__builtin_lasx_xvmaddwev_q_du_d((v4i64)_1, (v4u64)_2, 3251 (v4i64)_3); 3252 } 3253 3254 extern __inline 3255 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3256 __lasx_xvmaddwev_d_wu_w(__m256i _1, __m256i _2, __m256i _3) { 3257 return (__m256i)__builtin_lasx_xvmaddwev_d_wu_w((v4i64)_1, (v8u32)_2, 3258 (v8i32)_3); 3259 } 3260 3261 extern __inline 3262 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3263 __lasx_xvmaddwev_w_hu_h(__m256i _1, __m256i _2, __m256i _3) { 3264 return (__m256i)__builtin_lasx_xvmaddwev_w_hu_h((v8i32)_1, (v16u16)_2, 3265 (v16i16)_3); 3266 } 3267 3268 extern __inline 3269 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3270 __lasx_xvmaddwev_h_bu_b(__m256i _1, __m256i _2, __m256i _3) { 3271 return (__m256i)__builtin_lasx_xvmaddwev_h_bu_b((v16i16)_1, (v32u8)_2, 3272 (v32i8)_3); 3273 } 3274 3275 extern __inline 3276 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3277 __lasx_xvmaddwod_q_du_d(__m256i _1, __m256i _2, __m256i _3) { 3278 return (__m256i)__builtin_lasx_xvmaddwod_q_du_d((v4i64)_1, (v4u64)_2, 3279 (v4i64)_3); 3280 } 3281 3282 extern __inline 3283 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3284 __lasx_xvmaddwod_d_wu_w(__m256i _1, __m256i _2, __m256i _3) { 3285 return (__m256i)__builtin_lasx_xvmaddwod_d_wu_w((v4i64)_1, (v8u32)_2, 3286 (v8i32)_3); 3287 } 3288 3289 extern __inline 3290 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3291 __lasx_xvmaddwod_w_hu_h(__m256i _1, __m256i _2, __m256i _3) { 3292 return (__m256i)__builtin_lasx_xvmaddwod_w_hu_h((v8i32)_1, (v16u16)_2, 3293 (v16i16)_3); 3294 } 3295 3296 extern __inline 3297 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3298 __lasx_xvmaddwod_h_bu_b(__m256i _1, __m256i _2, __m256i _3) { 3299 return (__m256i)__builtin_lasx_xvmaddwod_h_bu_b((v16i16)_1, (v32u8)_2, 3300 (v32i8)_3); 3301 } 3302 3303 extern __inline 3304 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3305 __lasx_xvrotr_b(__m256i _1, __m256i _2) { 3306 return (__m256i)__builtin_lasx_xvrotr_b((v32i8)_1, (v32i8)_2); 3307 } 3308 3309 extern __inline 3310 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3311 __lasx_xvrotr_h(__m256i _1, __m256i _2) { 3312 return (__m256i)__builtin_lasx_xvrotr_h((v16i16)_1, (v16i16)_2); 3313 } 3314 3315 extern __inline 3316 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3317 __lasx_xvrotr_w(__m256i _1, __m256i _2) { 3318 return (__m256i)__builtin_lasx_xvrotr_w((v8i32)_1, (v8i32)_2); 3319 } 3320 3321 extern __inline 3322 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3323 __lasx_xvrotr_d(__m256i _1, __m256i _2) { 3324 return (__m256i)__builtin_lasx_xvrotr_d((v4i64)_1, (v4i64)_2); 3325 } 3326 3327 extern __inline 3328 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3329 __lasx_xvadd_q(__m256i _1, __m256i _2) { 3330 return (__m256i)__builtin_lasx_xvadd_q((v4i64)_1, (v4i64)_2); 3331 } 3332 3333 extern __inline 3334 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3335 __lasx_xvsub_q(__m256i _1, __m256i _2) { 3336 return (__m256i)__builtin_lasx_xvsub_q((v4i64)_1, (v4i64)_2); 3337 } 3338 3339 extern __inline 3340 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3341 __lasx_xvaddwev_q_du_d(__m256i _1, __m256i _2) { 3342 return (__m256i)__builtin_lasx_xvaddwev_q_du_d((v4u64)_1, (v4i64)_2); 3343 } 3344 3345 extern __inline 3346 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3347 __lasx_xvaddwod_q_du_d(__m256i _1, __m256i _2) { 3348 return (__m256i)__builtin_lasx_xvaddwod_q_du_d((v4u64)_1, (v4i64)_2); 3349 } 3350 3351 extern __inline 3352 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3353 __lasx_xvmulwev_q_du_d(__m256i _1, __m256i _2) { 3354 return (__m256i)__builtin_lasx_xvmulwev_q_du_d((v4u64)_1, (v4i64)_2); 3355 } 3356 3357 extern __inline 3358 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3359 __lasx_xvmulwod_q_du_d(__m256i _1, __m256i _2) { 3360 return (__m256i)__builtin_lasx_xvmulwod_q_du_d((v4u64)_1, (v4i64)_2); 3361 } 3362 3363 extern __inline 3364 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3365 __lasx_xvmskgez_b(__m256i _1) { 3366 return (__m256i)__builtin_lasx_xvmskgez_b((v32i8)_1); 3367 } 3368 3369 extern __inline 3370 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3371 __lasx_xvmsknz_b(__m256i _1) { 3372 return (__m256i)__builtin_lasx_xvmsknz_b((v32i8)_1); 3373 } 3374 3375 extern __inline 3376 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3377 __lasx_xvexth_h_b(__m256i _1) { 3378 return (__m256i)__builtin_lasx_xvexth_h_b((v32i8)_1); 3379 } 3380 3381 extern __inline 3382 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3383 __lasx_xvexth_w_h(__m256i _1) { 3384 return (__m256i)__builtin_lasx_xvexth_w_h((v16i16)_1); 3385 } 3386 3387 extern __inline 3388 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3389 __lasx_xvexth_d_w(__m256i _1) { 3390 return (__m256i)__builtin_lasx_xvexth_d_w((v8i32)_1); 3391 } 3392 3393 extern __inline 3394 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3395 __lasx_xvexth_q_d(__m256i _1) { 3396 return (__m256i)__builtin_lasx_xvexth_q_d((v4i64)_1); 3397 } 3398 3399 extern __inline 3400 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3401 __lasx_xvexth_hu_bu(__m256i _1) { 3402 return (__m256i)__builtin_lasx_xvexth_hu_bu((v32u8)_1); 3403 } 3404 3405 extern __inline 3406 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3407 __lasx_xvexth_wu_hu(__m256i _1) { 3408 return (__m256i)__builtin_lasx_xvexth_wu_hu((v16u16)_1); 3409 } 3410 3411 extern __inline 3412 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3413 __lasx_xvexth_du_wu(__m256i _1) { 3414 return (__m256i)__builtin_lasx_xvexth_du_wu((v8u32)_1); 3415 } 3416 3417 extern __inline 3418 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3419 __lasx_xvexth_qu_du(__m256i _1) { 3420 return (__m256i)__builtin_lasx_xvexth_qu_du((v4u64)_1); 3421 } 3422 3423 #define __lasx_xvrotri_b(/*__m256i*/ _1, /*ui3*/ _2) \ 3424 ((__m256i)__builtin_lasx_xvrotri_b((v32i8)(_1), (_2))) 3425 3426 #define __lasx_xvrotri_h(/*__m256i*/ _1, /*ui4*/ _2) \ 3427 ((__m256i)__builtin_lasx_xvrotri_h((v16i16)(_1), (_2))) 3428 3429 #define __lasx_xvrotri_w(/*__m256i*/ _1, /*ui5*/ _2) \ 3430 ((__m256i)__builtin_lasx_xvrotri_w((v8i32)(_1), (_2))) 3431 3432 #define __lasx_xvrotri_d(/*__m256i*/ _1, /*ui6*/ _2) \ 3433 ((__m256i)__builtin_lasx_xvrotri_d((v4i64)(_1), (_2))) 3434 3435 extern __inline 3436 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3437 __lasx_xvextl_q_d(__m256i _1) { 3438 return (__m256i)__builtin_lasx_xvextl_q_d((v4i64)_1); 3439 } 3440 3441 #define __lasx_xvsrlni_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3442 ((__m256i)__builtin_lasx_xvsrlni_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3443 3444 #define __lasx_xvsrlni_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3445 ((__m256i)__builtin_lasx_xvsrlni_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3446 3447 #define __lasx_xvsrlni_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3448 ((__m256i)__builtin_lasx_xvsrlni_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3449 3450 #define __lasx_xvsrlni_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3451 ((__m256i)__builtin_lasx_xvsrlni_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3452 3453 #define __lasx_xvsrlrni_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3454 ((__m256i)__builtin_lasx_xvsrlrni_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3455 3456 #define __lasx_xvsrlrni_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3457 ((__m256i)__builtin_lasx_xvsrlrni_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3458 3459 #define __lasx_xvsrlrni_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3460 ((__m256i)__builtin_lasx_xvsrlrni_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3461 3462 #define __lasx_xvsrlrni_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3463 ((__m256i)__builtin_lasx_xvsrlrni_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3464 3465 #define __lasx_xvssrlni_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3466 ((__m256i)__builtin_lasx_xvssrlni_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3467 3468 #define __lasx_xvssrlni_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3469 ((__m256i)__builtin_lasx_xvssrlni_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3470 3471 #define __lasx_xvssrlni_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3472 ((__m256i)__builtin_lasx_xvssrlni_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3473 3474 #define __lasx_xvssrlni_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3475 ((__m256i)__builtin_lasx_xvssrlni_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3476 3477 #define __lasx_xvssrlni_bu_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3478 ((__m256i)__builtin_lasx_xvssrlni_bu_h((v32u8)(_1), (v32i8)(_2), (_3))) 3479 3480 #define __lasx_xvssrlni_hu_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3481 ((__m256i)__builtin_lasx_xvssrlni_hu_w((v16u16)(_1), (v16i16)(_2), (_3))) 3482 3483 #define __lasx_xvssrlni_wu_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3484 ((__m256i)__builtin_lasx_xvssrlni_wu_d((v8u32)(_1), (v8i32)(_2), (_3))) 3485 3486 #define __lasx_xvssrlni_du_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3487 ((__m256i)__builtin_lasx_xvssrlni_du_q((v4u64)(_1), (v4i64)(_2), (_3))) 3488 3489 #define __lasx_xvssrlrni_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3490 ((__m256i)__builtin_lasx_xvssrlrni_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3491 3492 #define __lasx_xvssrlrni_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3493 ((__m256i)__builtin_lasx_xvssrlrni_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3494 3495 #define __lasx_xvssrlrni_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3496 ((__m256i)__builtin_lasx_xvssrlrni_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3497 3498 #define __lasx_xvssrlrni_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3499 ((__m256i)__builtin_lasx_xvssrlrni_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3500 3501 #define __lasx_xvssrlrni_bu_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3502 ((__m256i)__builtin_lasx_xvssrlrni_bu_h((v32u8)(_1), (v32i8)(_2), (_3))) 3503 3504 #define __lasx_xvssrlrni_hu_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3505 ((__m256i)__builtin_lasx_xvssrlrni_hu_w((v16u16)(_1), (v16i16)(_2), (_3))) 3506 3507 #define __lasx_xvssrlrni_wu_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3508 ((__m256i)__builtin_lasx_xvssrlrni_wu_d((v8u32)(_1), (v8i32)(_2), (_3))) 3509 3510 #define __lasx_xvssrlrni_du_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3511 ((__m256i)__builtin_lasx_xvssrlrni_du_q((v4u64)(_1), (v4i64)(_2), (_3))) 3512 3513 #define __lasx_xvsrani_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3514 ((__m256i)__builtin_lasx_xvsrani_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3515 3516 #define __lasx_xvsrani_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3517 ((__m256i)__builtin_lasx_xvsrani_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3518 3519 #define __lasx_xvsrani_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3520 ((__m256i)__builtin_lasx_xvsrani_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3521 3522 #define __lasx_xvsrani_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3523 ((__m256i)__builtin_lasx_xvsrani_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3524 3525 #define __lasx_xvsrarni_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3526 ((__m256i)__builtin_lasx_xvsrarni_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3527 3528 #define __lasx_xvsrarni_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3529 ((__m256i)__builtin_lasx_xvsrarni_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3530 3531 #define __lasx_xvsrarni_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3532 ((__m256i)__builtin_lasx_xvsrarni_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3533 3534 #define __lasx_xvsrarni_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3535 ((__m256i)__builtin_lasx_xvsrarni_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3536 3537 #define __lasx_xvssrani_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3538 ((__m256i)__builtin_lasx_xvssrani_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3539 3540 #define __lasx_xvssrani_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3541 ((__m256i)__builtin_lasx_xvssrani_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3542 3543 #define __lasx_xvssrani_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3544 ((__m256i)__builtin_lasx_xvssrani_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3545 3546 #define __lasx_xvssrani_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3547 ((__m256i)__builtin_lasx_xvssrani_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3548 3549 #define __lasx_xvssrani_bu_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3550 ((__m256i)__builtin_lasx_xvssrani_bu_h((v32u8)(_1), (v32i8)(_2), (_3))) 3551 3552 #define __lasx_xvssrani_hu_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3553 ((__m256i)__builtin_lasx_xvssrani_hu_w((v16u16)(_1), (v16i16)(_2), (_3))) 3554 3555 #define __lasx_xvssrani_wu_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3556 ((__m256i)__builtin_lasx_xvssrani_wu_d((v8u32)(_1), (v8i32)(_2), (_3))) 3557 3558 #define __lasx_xvssrani_du_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3559 ((__m256i)__builtin_lasx_xvssrani_du_q((v4u64)(_1), (v4i64)(_2), (_3))) 3560 3561 #define __lasx_xvssrarni_b_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3562 ((__m256i)__builtin_lasx_xvssrarni_b_h((v32i8)(_1), (v32i8)(_2), (_3))) 3563 3564 #define __lasx_xvssrarni_h_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3565 ((__m256i)__builtin_lasx_xvssrarni_h_w((v16i16)(_1), (v16i16)(_2), (_3))) 3566 3567 #define __lasx_xvssrarni_w_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3568 ((__m256i)__builtin_lasx_xvssrarni_w_d((v8i32)(_1), (v8i32)(_2), (_3))) 3569 3570 #define __lasx_xvssrarni_d_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3571 ((__m256i)__builtin_lasx_xvssrarni_d_q((v4i64)(_1), (v4i64)(_2), (_3))) 3572 3573 #define __lasx_xvssrarni_bu_h(/*__m256i*/ _1, /*__m256i*/ _2, /*ui4*/ _3) \ 3574 ((__m256i)__builtin_lasx_xvssrarni_bu_h((v32u8)(_1), (v32i8)(_2), (_3))) 3575 3576 #define __lasx_xvssrarni_hu_w(/*__m256i*/ _1, /*__m256i*/ _2, /*ui5*/ _3) \ 3577 ((__m256i)__builtin_lasx_xvssrarni_hu_w((v16u16)(_1), (v16i16)(_2), (_3))) 3578 3579 #define __lasx_xvssrarni_wu_d(/*__m256i*/ _1, /*__m256i*/ _2, /*ui6*/ _3) \ 3580 ((__m256i)__builtin_lasx_xvssrarni_wu_d((v8u32)(_1), (v8i32)(_2), (_3))) 3581 3582 #define __lasx_xvssrarni_du_q(/*__m256i*/ _1, /*__m256i*/ _2, /*ui7*/ _3) \ 3583 ((__m256i)__builtin_lasx_xvssrarni_du_q((v4u64)(_1), (v4i64)(_2), (_3))) 3584 3585 #define __lasx_xbnz_b(/*__m256i*/ _1) ((int)__builtin_lasx_xbnz_b((v32u8)(_1))) 3586 3587 #define __lasx_xbnz_d(/*__m256i*/ _1) ((int)__builtin_lasx_xbnz_d((v4u64)(_1))) 3588 3589 #define __lasx_xbnz_h(/*__m256i*/ _1) ((int)__builtin_lasx_xbnz_h((v16u16)(_1))) 3590 3591 #define __lasx_xbnz_v(/*__m256i*/ _1) ((int)__builtin_lasx_xbnz_v((v32u8)(_1))) 3592 3593 #define __lasx_xbnz_w(/*__m256i*/ _1) ((int)__builtin_lasx_xbnz_w((v8u32)(_1))) 3594 3595 #define __lasx_xbz_b(/*__m256i*/ _1) ((int)__builtin_lasx_xbz_b((v32u8)(_1))) 3596 3597 #define __lasx_xbz_d(/*__m256i*/ _1) ((int)__builtin_lasx_xbz_d((v4u64)(_1))) 3598 3599 #define __lasx_xbz_h(/*__m256i*/ _1) ((int)__builtin_lasx_xbz_h((v16u16)(_1))) 3600 3601 #define __lasx_xbz_v(/*__m256i*/ _1) ((int)__builtin_lasx_xbz_v((v32u8)(_1))) 3602 3603 #define __lasx_xbz_w(/*__m256i*/ _1) ((int)__builtin_lasx_xbz_w((v8u32)(_1))) 3604 3605 extern __inline 3606 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3607 __lasx_xvfcmp_caf_d(__m256d _1, __m256d _2) { 3608 return (__m256i)__builtin_lasx_xvfcmp_caf_d((v4f64)_1, (v4f64)_2); 3609 } 3610 3611 extern __inline 3612 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3613 __lasx_xvfcmp_caf_s(__m256 _1, __m256 _2) { 3614 return (__m256i)__builtin_lasx_xvfcmp_caf_s((v8f32)_1, (v8f32)_2); 3615 } 3616 3617 extern __inline 3618 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3619 __lasx_xvfcmp_ceq_d(__m256d _1, __m256d _2) { 3620 return (__m256i)__builtin_lasx_xvfcmp_ceq_d((v4f64)_1, (v4f64)_2); 3621 } 3622 3623 extern __inline 3624 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3625 __lasx_xvfcmp_ceq_s(__m256 _1, __m256 _2) { 3626 return (__m256i)__builtin_lasx_xvfcmp_ceq_s((v8f32)_1, (v8f32)_2); 3627 } 3628 3629 extern __inline 3630 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3631 __lasx_xvfcmp_cle_d(__m256d _1, __m256d _2) { 3632 return (__m256i)__builtin_lasx_xvfcmp_cle_d((v4f64)_1, (v4f64)_2); 3633 } 3634 3635 extern __inline 3636 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3637 __lasx_xvfcmp_cle_s(__m256 _1, __m256 _2) { 3638 return (__m256i)__builtin_lasx_xvfcmp_cle_s((v8f32)_1, (v8f32)_2); 3639 } 3640 3641 extern __inline 3642 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3643 __lasx_xvfcmp_clt_d(__m256d _1, __m256d _2) { 3644 return (__m256i)__builtin_lasx_xvfcmp_clt_d((v4f64)_1, (v4f64)_2); 3645 } 3646 3647 extern __inline 3648 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3649 __lasx_xvfcmp_clt_s(__m256 _1, __m256 _2) { 3650 return (__m256i)__builtin_lasx_xvfcmp_clt_s((v8f32)_1, (v8f32)_2); 3651 } 3652 3653 extern __inline 3654 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3655 __lasx_xvfcmp_cne_d(__m256d _1, __m256d _2) { 3656 return (__m256i)__builtin_lasx_xvfcmp_cne_d((v4f64)_1, (v4f64)_2); 3657 } 3658 3659 extern __inline 3660 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3661 __lasx_xvfcmp_cne_s(__m256 _1, __m256 _2) { 3662 return (__m256i)__builtin_lasx_xvfcmp_cne_s((v8f32)_1, (v8f32)_2); 3663 } 3664 3665 extern __inline 3666 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3667 __lasx_xvfcmp_cor_d(__m256d _1, __m256d _2) { 3668 return (__m256i)__builtin_lasx_xvfcmp_cor_d((v4f64)_1, (v4f64)_2); 3669 } 3670 3671 extern __inline 3672 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3673 __lasx_xvfcmp_cor_s(__m256 _1, __m256 _2) { 3674 return (__m256i)__builtin_lasx_xvfcmp_cor_s((v8f32)_1, (v8f32)_2); 3675 } 3676 3677 extern __inline 3678 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3679 __lasx_xvfcmp_cueq_d(__m256d _1, __m256d _2) { 3680 return (__m256i)__builtin_lasx_xvfcmp_cueq_d((v4f64)_1, (v4f64)_2); 3681 } 3682 3683 extern __inline 3684 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3685 __lasx_xvfcmp_cueq_s(__m256 _1, __m256 _2) { 3686 return (__m256i)__builtin_lasx_xvfcmp_cueq_s((v8f32)_1, (v8f32)_2); 3687 } 3688 3689 extern __inline 3690 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3691 __lasx_xvfcmp_cule_d(__m256d _1, __m256d _2) { 3692 return (__m256i)__builtin_lasx_xvfcmp_cule_d((v4f64)_1, (v4f64)_2); 3693 } 3694 3695 extern __inline 3696 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3697 __lasx_xvfcmp_cule_s(__m256 _1, __m256 _2) { 3698 return (__m256i)__builtin_lasx_xvfcmp_cule_s((v8f32)_1, (v8f32)_2); 3699 } 3700 3701 extern __inline 3702 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3703 __lasx_xvfcmp_cult_d(__m256d _1, __m256d _2) { 3704 return (__m256i)__builtin_lasx_xvfcmp_cult_d((v4f64)_1, (v4f64)_2); 3705 } 3706 3707 extern __inline 3708 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3709 __lasx_xvfcmp_cult_s(__m256 _1, __m256 _2) { 3710 return (__m256i)__builtin_lasx_xvfcmp_cult_s((v8f32)_1, (v8f32)_2); 3711 } 3712 3713 extern __inline 3714 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3715 __lasx_xvfcmp_cun_d(__m256d _1, __m256d _2) { 3716 return (__m256i)__builtin_lasx_xvfcmp_cun_d((v4f64)_1, (v4f64)_2); 3717 } 3718 3719 extern __inline 3720 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3721 __lasx_xvfcmp_cune_d(__m256d _1, __m256d _2) { 3722 return (__m256i)__builtin_lasx_xvfcmp_cune_d((v4f64)_1, (v4f64)_2); 3723 } 3724 3725 extern __inline 3726 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3727 __lasx_xvfcmp_cune_s(__m256 _1, __m256 _2) { 3728 return (__m256i)__builtin_lasx_xvfcmp_cune_s((v8f32)_1, (v8f32)_2); 3729 } 3730 3731 extern __inline 3732 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3733 __lasx_xvfcmp_cun_s(__m256 _1, __m256 _2) { 3734 return (__m256i)__builtin_lasx_xvfcmp_cun_s((v8f32)_1, (v8f32)_2); 3735 } 3736 3737 extern __inline 3738 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3739 __lasx_xvfcmp_saf_d(__m256d _1, __m256d _2) { 3740 return (__m256i)__builtin_lasx_xvfcmp_saf_d((v4f64)_1, (v4f64)_2); 3741 } 3742 3743 extern __inline 3744 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3745 __lasx_xvfcmp_saf_s(__m256 _1, __m256 _2) { 3746 return (__m256i)__builtin_lasx_xvfcmp_saf_s((v8f32)_1, (v8f32)_2); 3747 } 3748 3749 extern __inline 3750 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3751 __lasx_xvfcmp_seq_d(__m256d _1, __m256d _2) { 3752 return (__m256i)__builtin_lasx_xvfcmp_seq_d((v4f64)_1, (v4f64)_2); 3753 } 3754 3755 extern __inline 3756 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3757 __lasx_xvfcmp_seq_s(__m256 _1, __m256 _2) { 3758 return (__m256i)__builtin_lasx_xvfcmp_seq_s((v8f32)_1, (v8f32)_2); 3759 } 3760 3761 extern __inline 3762 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3763 __lasx_xvfcmp_sle_d(__m256d _1, __m256d _2) { 3764 return (__m256i)__builtin_lasx_xvfcmp_sle_d((v4f64)_1, (v4f64)_2); 3765 } 3766 3767 extern __inline 3768 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3769 __lasx_xvfcmp_sle_s(__m256 _1, __m256 _2) { 3770 return (__m256i)__builtin_lasx_xvfcmp_sle_s((v8f32)_1, (v8f32)_2); 3771 } 3772 3773 extern __inline 3774 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3775 __lasx_xvfcmp_slt_d(__m256d _1, __m256d _2) { 3776 return (__m256i)__builtin_lasx_xvfcmp_slt_d((v4f64)_1, (v4f64)_2); 3777 } 3778 3779 extern __inline 3780 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3781 __lasx_xvfcmp_slt_s(__m256 _1, __m256 _2) { 3782 return (__m256i)__builtin_lasx_xvfcmp_slt_s((v8f32)_1, (v8f32)_2); 3783 } 3784 3785 extern __inline 3786 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3787 __lasx_xvfcmp_sne_d(__m256d _1, __m256d _2) { 3788 return (__m256i)__builtin_lasx_xvfcmp_sne_d((v4f64)_1, (v4f64)_2); 3789 } 3790 3791 extern __inline 3792 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3793 __lasx_xvfcmp_sne_s(__m256 _1, __m256 _2) { 3794 return (__m256i)__builtin_lasx_xvfcmp_sne_s((v8f32)_1, (v8f32)_2); 3795 } 3796 3797 extern __inline 3798 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3799 __lasx_xvfcmp_sor_d(__m256d _1, __m256d _2) { 3800 return (__m256i)__builtin_lasx_xvfcmp_sor_d((v4f64)_1, (v4f64)_2); 3801 } 3802 3803 extern __inline 3804 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3805 __lasx_xvfcmp_sor_s(__m256 _1, __m256 _2) { 3806 return (__m256i)__builtin_lasx_xvfcmp_sor_s((v8f32)_1, (v8f32)_2); 3807 } 3808 3809 extern __inline 3810 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3811 __lasx_xvfcmp_sueq_d(__m256d _1, __m256d _2) { 3812 return (__m256i)__builtin_lasx_xvfcmp_sueq_d((v4f64)_1, (v4f64)_2); 3813 } 3814 3815 extern __inline 3816 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3817 __lasx_xvfcmp_sueq_s(__m256 _1, __m256 _2) { 3818 return (__m256i)__builtin_lasx_xvfcmp_sueq_s((v8f32)_1, (v8f32)_2); 3819 } 3820 3821 extern __inline 3822 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3823 __lasx_xvfcmp_sule_d(__m256d _1, __m256d _2) { 3824 return (__m256i)__builtin_lasx_xvfcmp_sule_d((v4f64)_1, (v4f64)_2); 3825 } 3826 3827 extern __inline 3828 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3829 __lasx_xvfcmp_sule_s(__m256 _1, __m256 _2) { 3830 return (__m256i)__builtin_lasx_xvfcmp_sule_s((v8f32)_1, (v8f32)_2); 3831 } 3832 3833 extern __inline 3834 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3835 __lasx_xvfcmp_sult_d(__m256d _1, __m256d _2) { 3836 return (__m256i)__builtin_lasx_xvfcmp_sult_d((v4f64)_1, (v4f64)_2); 3837 } 3838 3839 extern __inline 3840 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3841 __lasx_xvfcmp_sult_s(__m256 _1, __m256 _2) { 3842 return (__m256i)__builtin_lasx_xvfcmp_sult_s((v8f32)_1, (v8f32)_2); 3843 } 3844 3845 extern __inline 3846 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3847 __lasx_xvfcmp_sun_d(__m256d _1, __m256d _2) { 3848 return (__m256i)__builtin_lasx_xvfcmp_sun_d((v4f64)_1, (v4f64)_2); 3849 } 3850 3851 extern __inline 3852 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3853 __lasx_xvfcmp_sune_d(__m256d _1, __m256d _2) { 3854 return (__m256i)__builtin_lasx_xvfcmp_sune_d((v4f64)_1, (v4f64)_2); 3855 } 3856 3857 extern __inline 3858 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3859 __lasx_xvfcmp_sune_s(__m256 _1, __m256 _2) { 3860 return (__m256i)__builtin_lasx_xvfcmp_sune_s((v8f32)_1, (v8f32)_2); 3861 } 3862 3863 extern __inline 3864 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i 3865 __lasx_xvfcmp_sun_s(__m256 _1, __m256 _2) { 3866 return (__m256i)__builtin_lasx_xvfcmp_sun_s((v8f32)_1, (v8f32)_2); 3867 } 3868 3869 #define __lasx_xvpickve_d_f(/*__m256d*/ _1, /*ui2*/ _2) \ 3870 ((__m256d)__builtin_lasx_xvpickve_d_f((v4f64)(_1), (_2))) 3871 3872 #define __lasx_xvpickve_w_f(/*__m256*/ _1, /*ui3*/ _2) \ 3873 ((__m256)__builtin_lasx_xvpickve_w_f((v8f32)(_1), (_2))) 3874 3875 #define __lasx_xvrepli_b(/*si10*/ _1) ((__m256i)__builtin_lasx_xvrepli_b((_1))) 3876 3877 #define __lasx_xvrepli_d(/*si10*/ _1) ((__m256i)__builtin_lasx_xvrepli_d((_1))) 3878 3879 #define __lasx_xvrepli_h(/*si10*/ _1) ((__m256i)__builtin_lasx_xvrepli_h((_1))) 3880 3881 #define __lasx_xvrepli_w(/*si10*/ _1) ((__m256i)__builtin_lasx_xvrepli_w((_1))) 3882 3883 #endif /* defined(__loongarch_asx). */ 3884 #endif /* _LOONGSON_ASXINTRIN_H. */ 3885