zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

lsxintrin.h (137936B) - Raw


      1 /*===------------- lsxintrin.h - LoongArch LSX intrinsics ------------------===
      2  *
      3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
      4  * See https://llvm.org/LICENSE.txt for license information.
      5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      6  *
      7  *===-----------------------------------------------------------------------===
      8  */
      9 
     10 #ifndef _LOONGSON_SXINTRIN_H
     11 #define _LOONGSON_SXINTRIN_H 1
     12 
     13 #if defined(__loongarch_sx)
     14 typedef signed char v16i8 __attribute__((vector_size(16), aligned(16)));
     15 typedef signed char v16i8_b __attribute__((vector_size(16), aligned(1)));
     16 typedef unsigned char v16u8 __attribute__((vector_size(16), aligned(16)));
     17 typedef unsigned char v16u8_b __attribute__((vector_size(16), aligned(1)));
     18 typedef short v8i16 __attribute__((vector_size(16), aligned(16)));
     19 typedef short v8i16_h __attribute__((vector_size(16), aligned(2)));
     20 typedef unsigned short v8u16 __attribute__((vector_size(16), aligned(16)));
     21 typedef unsigned short v8u16_h __attribute__((vector_size(16), aligned(2)));
     22 typedef int v4i32 __attribute__((vector_size(16), aligned(16)));
     23 typedef int v4i32_w __attribute__((vector_size(16), aligned(4)));
     24 typedef unsigned int v4u32 __attribute__((vector_size(16), aligned(16)));
     25 typedef unsigned int v4u32_w __attribute__((vector_size(16), aligned(4)));
     26 typedef long long v2i64 __attribute__((vector_size(16), aligned(16)));
     27 typedef long long v2i64_d __attribute__((vector_size(16), aligned(8)));
     28 typedef unsigned long long v2u64 __attribute__((vector_size(16), aligned(16)));
     29 typedef unsigned long long v2u64_d __attribute__((vector_size(16), aligned(8)));
     30 typedef float v4f32 __attribute__((vector_size(16), aligned(16)));
     31 typedef float v4f32_w __attribute__((vector_size(16), aligned(4)));
     32 typedef double v2f64 __attribute__((vector_size(16), aligned(16)));
     33 typedef double v2f64_d __attribute__((vector_size(16), aligned(8)));
     34 
     35 typedef long long __m128i __attribute__((__vector_size__(16), __may_alias__));
     36 typedef float __m128 __attribute__((__vector_size__(16), __may_alias__));
     37 typedef double __m128d __attribute__((__vector_size__(16), __may_alias__));
     38 
     39 extern __inline
     40     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     41     __lsx_vsll_b(__m128i _1, __m128i _2) {
     42   return (__m128i)__builtin_lsx_vsll_b((v16i8)_1, (v16i8)_2);
     43 }
     44 
     45 extern __inline
     46     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     47     __lsx_vsll_h(__m128i _1, __m128i _2) {
     48   return (__m128i)__builtin_lsx_vsll_h((v8i16)_1, (v8i16)_2);
     49 }
     50 
     51 extern __inline
     52     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     53     __lsx_vsll_w(__m128i _1, __m128i _2) {
     54   return (__m128i)__builtin_lsx_vsll_w((v4i32)_1, (v4i32)_2);
     55 }
     56 
     57 extern __inline
     58     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     59     __lsx_vsll_d(__m128i _1, __m128i _2) {
     60   return (__m128i)__builtin_lsx_vsll_d((v2i64)_1, (v2i64)_2);
     61 }
     62 
     63 #define __lsx_vslli_b(/*__m128i*/ _1, /*ui3*/ _2)                              \
     64   ((__m128i)__builtin_lsx_vslli_b((v16i8)(_1), (_2)))
     65 
     66 #define __lsx_vslli_h(/*__m128i*/ _1, /*ui4*/ _2)                              \
     67   ((__m128i)__builtin_lsx_vslli_h((v8i16)(_1), (_2)))
     68 
     69 #define __lsx_vslli_w(/*__m128i*/ _1, /*ui5*/ _2)                              \
     70   ((__m128i)__builtin_lsx_vslli_w((v4i32)(_1), (_2)))
     71 
     72 #define __lsx_vslli_d(/*__m128i*/ _1, /*ui6*/ _2)                              \
     73   ((__m128i)__builtin_lsx_vslli_d((v2i64)(_1), (_2)))
     74 
     75 extern __inline
     76     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     77     __lsx_vsra_b(__m128i _1, __m128i _2) {
     78   return (__m128i)__builtin_lsx_vsra_b((v16i8)_1, (v16i8)_2);
     79 }
     80 
     81 extern __inline
     82     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     83     __lsx_vsra_h(__m128i _1, __m128i _2) {
     84   return (__m128i)__builtin_lsx_vsra_h((v8i16)_1, (v8i16)_2);
     85 }
     86 
     87 extern __inline
     88     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     89     __lsx_vsra_w(__m128i _1, __m128i _2) {
     90   return (__m128i)__builtin_lsx_vsra_w((v4i32)_1, (v4i32)_2);
     91 }
     92 
     93 extern __inline
     94     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
     95     __lsx_vsra_d(__m128i _1, __m128i _2) {
     96   return (__m128i)__builtin_lsx_vsra_d((v2i64)_1, (v2i64)_2);
     97 }
     98 
     99 #define __lsx_vsrai_b(/*__m128i*/ _1, /*ui3*/ _2)                              \
    100   ((__m128i)__builtin_lsx_vsrai_b((v16i8)(_1), (_2)))
    101 
    102 #define __lsx_vsrai_h(/*__m128i*/ _1, /*ui4*/ _2)                              \
    103   ((__m128i)__builtin_lsx_vsrai_h((v8i16)(_1), (_2)))
    104 
    105 #define __lsx_vsrai_w(/*__m128i*/ _1, /*ui5*/ _2)                              \
    106   ((__m128i)__builtin_lsx_vsrai_w((v4i32)(_1), (_2)))
    107 
    108 #define __lsx_vsrai_d(/*__m128i*/ _1, /*ui6*/ _2)                              \
    109   ((__m128i)__builtin_lsx_vsrai_d((v2i64)(_1), (_2)))
    110 
    111 extern __inline
    112     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    113     __lsx_vsrar_b(__m128i _1, __m128i _2) {
    114   return (__m128i)__builtin_lsx_vsrar_b((v16i8)_1, (v16i8)_2);
    115 }
    116 
    117 extern __inline
    118     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    119     __lsx_vsrar_h(__m128i _1, __m128i _2) {
    120   return (__m128i)__builtin_lsx_vsrar_h((v8i16)_1, (v8i16)_2);
    121 }
    122 
    123 extern __inline
    124     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    125     __lsx_vsrar_w(__m128i _1, __m128i _2) {
    126   return (__m128i)__builtin_lsx_vsrar_w((v4i32)_1, (v4i32)_2);
    127 }
    128 
    129 extern __inline
    130     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    131     __lsx_vsrar_d(__m128i _1, __m128i _2) {
    132   return (__m128i)__builtin_lsx_vsrar_d((v2i64)_1, (v2i64)_2);
    133 }
    134 
    135 #define __lsx_vsrari_b(/*__m128i*/ _1, /*ui3*/ _2)                             \
    136   ((__m128i)__builtin_lsx_vsrari_b((v16i8)(_1), (_2)))
    137 
    138 #define __lsx_vsrari_h(/*__m128i*/ _1, /*ui4*/ _2)                             \
    139   ((__m128i)__builtin_lsx_vsrari_h((v8i16)(_1), (_2)))
    140 
    141 #define __lsx_vsrari_w(/*__m128i*/ _1, /*ui5*/ _2)                             \
    142   ((__m128i)__builtin_lsx_vsrari_w((v4i32)(_1), (_2)))
    143 
    144 #define __lsx_vsrari_d(/*__m128i*/ _1, /*ui6*/ _2)                             \
    145   ((__m128i)__builtin_lsx_vsrari_d((v2i64)(_1), (_2)))
    146 
    147 extern __inline
    148     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    149     __lsx_vsrl_b(__m128i _1, __m128i _2) {
    150   return (__m128i)__builtin_lsx_vsrl_b((v16i8)_1, (v16i8)_2);
    151 }
    152 
    153 extern __inline
    154     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    155     __lsx_vsrl_h(__m128i _1, __m128i _2) {
    156   return (__m128i)__builtin_lsx_vsrl_h((v8i16)_1, (v8i16)_2);
    157 }
    158 
    159 extern __inline
    160     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    161     __lsx_vsrl_w(__m128i _1, __m128i _2) {
    162   return (__m128i)__builtin_lsx_vsrl_w((v4i32)_1, (v4i32)_2);
    163 }
    164 
    165 extern __inline
    166     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    167     __lsx_vsrl_d(__m128i _1, __m128i _2) {
    168   return (__m128i)__builtin_lsx_vsrl_d((v2i64)_1, (v2i64)_2);
    169 }
    170 
    171 #define __lsx_vsrli_b(/*__m128i*/ _1, /*ui3*/ _2)                              \
    172   ((__m128i)__builtin_lsx_vsrli_b((v16i8)(_1), (_2)))
    173 
    174 #define __lsx_vsrli_h(/*__m128i*/ _1, /*ui4*/ _2)                              \
    175   ((__m128i)__builtin_lsx_vsrli_h((v8i16)(_1), (_2)))
    176 
    177 #define __lsx_vsrli_w(/*__m128i*/ _1, /*ui5*/ _2)                              \
    178   ((__m128i)__builtin_lsx_vsrli_w((v4i32)(_1), (_2)))
    179 
    180 #define __lsx_vsrli_d(/*__m128i*/ _1, /*ui6*/ _2)                              \
    181   ((__m128i)__builtin_lsx_vsrli_d((v2i64)(_1), (_2)))
    182 
    183 extern __inline
    184     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    185     __lsx_vsrlr_b(__m128i _1, __m128i _2) {
    186   return (__m128i)__builtin_lsx_vsrlr_b((v16i8)_1, (v16i8)_2);
    187 }
    188 
    189 extern __inline
    190     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    191     __lsx_vsrlr_h(__m128i _1, __m128i _2) {
    192   return (__m128i)__builtin_lsx_vsrlr_h((v8i16)_1, (v8i16)_2);
    193 }
    194 
    195 extern __inline
    196     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    197     __lsx_vsrlr_w(__m128i _1, __m128i _2) {
    198   return (__m128i)__builtin_lsx_vsrlr_w((v4i32)_1, (v4i32)_2);
    199 }
    200 
    201 extern __inline
    202     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    203     __lsx_vsrlr_d(__m128i _1, __m128i _2) {
    204   return (__m128i)__builtin_lsx_vsrlr_d((v2i64)_1, (v2i64)_2);
    205 }
    206 
    207 #define __lsx_vsrlri_b(/*__m128i*/ _1, /*ui3*/ _2)                             \
    208   ((__m128i)__builtin_lsx_vsrlri_b((v16i8)(_1), (_2)))
    209 
    210 #define __lsx_vsrlri_h(/*__m128i*/ _1, /*ui4*/ _2)                             \
    211   ((__m128i)__builtin_lsx_vsrlri_h((v8i16)(_1), (_2)))
    212 
    213 #define __lsx_vsrlri_w(/*__m128i*/ _1, /*ui5*/ _2)                             \
    214   ((__m128i)__builtin_lsx_vsrlri_w((v4i32)(_1), (_2)))
    215 
    216 #define __lsx_vsrlri_d(/*__m128i*/ _1, /*ui6*/ _2)                             \
    217   ((__m128i)__builtin_lsx_vsrlri_d((v2i64)(_1), (_2)))
    218 
    219 extern __inline
    220     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    221     __lsx_vbitclr_b(__m128i _1, __m128i _2) {
    222   return (__m128i)__builtin_lsx_vbitclr_b((v16u8)_1, (v16u8)_2);
    223 }
    224 
    225 extern __inline
    226     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    227     __lsx_vbitclr_h(__m128i _1, __m128i _2) {
    228   return (__m128i)__builtin_lsx_vbitclr_h((v8u16)_1, (v8u16)_2);
    229 }
    230 
    231 extern __inline
    232     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    233     __lsx_vbitclr_w(__m128i _1, __m128i _2) {
    234   return (__m128i)__builtin_lsx_vbitclr_w((v4u32)_1, (v4u32)_2);
    235 }
    236 
    237 extern __inline
    238     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    239     __lsx_vbitclr_d(__m128i _1, __m128i _2) {
    240   return (__m128i)__builtin_lsx_vbitclr_d((v2u64)_1, (v2u64)_2);
    241 }
    242 
    243 #define __lsx_vbitclri_b(/*__m128i*/ _1, /*ui3*/ _2)                           \
    244   ((__m128i)__builtin_lsx_vbitclri_b((v16u8)(_1), (_2)))
    245 
    246 #define __lsx_vbitclri_h(/*__m128i*/ _1, /*ui4*/ _2)                           \
    247   ((__m128i)__builtin_lsx_vbitclri_h((v8u16)(_1), (_2)))
    248 
    249 #define __lsx_vbitclri_w(/*__m128i*/ _1, /*ui5*/ _2)                           \
    250   ((__m128i)__builtin_lsx_vbitclri_w((v4u32)(_1), (_2)))
    251 
    252 #define __lsx_vbitclri_d(/*__m128i*/ _1, /*ui6*/ _2)                           \
    253   ((__m128i)__builtin_lsx_vbitclri_d((v2u64)(_1), (_2)))
    254 
    255 extern __inline
    256     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    257     __lsx_vbitset_b(__m128i _1, __m128i _2) {
    258   return (__m128i)__builtin_lsx_vbitset_b((v16u8)_1, (v16u8)_2);
    259 }
    260 
    261 extern __inline
    262     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    263     __lsx_vbitset_h(__m128i _1, __m128i _2) {
    264   return (__m128i)__builtin_lsx_vbitset_h((v8u16)_1, (v8u16)_2);
    265 }
    266 
    267 extern __inline
    268     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    269     __lsx_vbitset_w(__m128i _1, __m128i _2) {
    270   return (__m128i)__builtin_lsx_vbitset_w((v4u32)_1, (v4u32)_2);
    271 }
    272 
    273 extern __inline
    274     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    275     __lsx_vbitset_d(__m128i _1, __m128i _2) {
    276   return (__m128i)__builtin_lsx_vbitset_d((v2u64)_1, (v2u64)_2);
    277 }
    278 
    279 #define __lsx_vbitseti_b(/*__m128i*/ _1, /*ui3*/ _2)                           \
    280   ((__m128i)__builtin_lsx_vbitseti_b((v16u8)(_1), (_2)))
    281 
    282 #define __lsx_vbitseti_h(/*__m128i*/ _1, /*ui4*/ _2)                           \
    283   ((__m128i)__builtin_lsx_vbitseti_h((v8u16)(_1), (_2)))
    284 
    285 #define __lsx_vbitseti_w(/*__m128i*/ _1, /*ui5*/ _2)                           \
    286   ((__m128i)__builtin_lsx_vbitseti_w((v4u32)(_1), (_2)))
    287 
    288 #define __lsx_vbitseti_d(/*__m128i*/ _1, /*ui6*/ _2)                           \
    289   ((__m128i)__builtin_lsx_vbitseti_d((v2u64)(_1), (_2)))
    290 
    291 extern __inline
    292     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    293     __lsx_vbitrev_b(__m128i _1, __m128i _2) {
    294   return (__m128i)__builtin_lsx_vbitrev_b((v16u8)_1, (v16u8)_2);
    295 }
    296 
    297 extern __inline
    298     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    299     __lsx_vbitrev_h(__m128i _1, __m128i _2) {
    300   return (__m128i)__builtin_lsx_vbitrev_h((v8u16)_1, (v8u16)_2);
    301 }
    302 
    303 extern __inline
    304     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    305     __lsx_vbitrev_w(__m128i _1, __m128i _2) {
    306   return (__m128i)__builtin_lsx_vbitrev_w((v4u32)_1, (v4u32)_2);
    307 }
    308 
    309 extern __inline
    310     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    311     __lsx_vbitrev_d(__m128i _1, __m128i _2) {
    312   return (__m128i)__builtin_lsx_vbitrev_d((v2u64)_1, (v2u64)_2);
    313 }
    314 
    315 #define __lsx_vbitrevi_b(/*__m128i*/ _1, /*ui3*/ _2)                           \
    316   ((__m128i)__builtin_lsx_vbitrevi_b((v16u8)(_1), (_2)))
    317 
    318 #define __lsx_vbitrevi_h(/*__m128i*/ _1, /*ui4*/ _2)                           \
    319   ((__m128i)__builtin_lsx_vbitrevi_h((v8u16)(_1), (_2)))
    320 
    321 #define __lsx_vbitrevi_w(/*__m128i*/ _1, /*ui5*/ _2)                           \
    322   ((__m128i)__builtin_lsx_vbitrevi_w((v4u32)(_1), (_2)))
    323 
    324 #define __lsx_vbitrevi_d(/*__m128i*/ _1, /*ui6*/ _2)                           \
    325   ((__m128i)__builtin_lsx_vbitrevi_d((v2u64)(_1), (_2)))
    326 
    327 extern __inline
    328     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    329     __lsx_vadd_b(__m128i _1, __m128i _2) {
    330   return (__m128i)__builtin_lsx_vadd_b((v16i8)_1, (v16i8)_2);
    331 }
    332 
    333 extern __inline
    334     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    335     __lsx_vadd_h(__m128i _1, __m128i _2) {
    336   return (__m128i)__builtin_lsx_vadd_h((v8i16)_1, (v8i16)_2);
    337 }
    338 
    339 extern __inline
    340     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    341     __lsx_vadd_w(__m128i _1, __m128i _2) {
    342   return (__m128i)__builtin_lsx_vadd_w((v4i32)_1, (v4i32)_2);
    343 }
    344 
    345 extern __inline
    346     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    347     __lsx_vadd_d(__m128i _1, __m128i _2) {
    348   return (__m128i)__builtin_lsx_vadd_d((v2i64)_1, (v2i64)_2);
    349 }
    350 
    351 #define __lsx_vaddi_bu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    352   ((__m128i)__builtin_lsx_vaddi_bu((v16i8)(_1), (_2)))
    353 
    354 #define __lsx_vaddi_hu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    355   ((__m128i)__builtin_lsx_vaddi_hu((v8i16)(_1), (_2)))
    356 
    357 #define __lsx_vaddi_wu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    358   ((__m128i)__builtin_lsx_vaddi_wu((v4i32)(_1), (_2)))
    359 
    360 #define __lsx_vaddi_du(/*__m128i*/ _1, /*ui5*/ _2)                             \
    361   ((__m128i)__builtin_lsx_vaddi_du((v2i64)(_1), (_2)))
    362 
    363 extern __inline
    364     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    365     __lsx_vsub_b(__m128i _1, __m128i _2) {
    366   return (__m128i)__builtin_lsx_vsub_b((v16i8)_1, (v16i8)_2);
    367 }
    368 
    369 extern __inline
    370     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    371     __lsx_vsub_h(__m128i _1, __m128i _2) {
    372   return (__m128i)__builtin_lsx_vsub_h((v8i16)_1, (v8i16)_2);
    373 }
    374 
    375 extern __inline
    376     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    377     __lsx_vsub_w(__m128i _1, __m128i _2) {
    378   return (__m128i)__builtin_lsx_vsub_w((v4i32)_1, (v4i32)_2);
    379 }
    380 
    381 extern __inline
    382     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    383     __lsx_vsub_d(__m128i _1, __m128i _2) {
    384   return (__m128i)__builtin_lsx_vsub_d((v2i64)_1, (v2i64)_2);
    385 }
    386 
    387 #define __lsx_vsubi_bu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    388   ((__m128i)__builtin_lsx_vsubi_bu((v16i8)(_1), (_2)))
    389 
    390 #define __lsx_vsubi_hu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    391   ((__m128i)__builtin_lsx_vsubi_hu((v8i16)(_1), (_2)))
    392 
    393 #define __lsx_vsubi_wu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    394   ((__m128i)__builtin_lsx_vsubi_wu((v4i32)(_1), (_2)))
    395 
    396 #define __lsx_vsubi_du(/*__m128i*/ _1, /*ui5*/ _2)                             \
    397   ((__m128i)__builtin_lsx_vsubi_du((v2i64)(_1), (_2)))
    398 
    399 extern __inline
    400     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    401     __lsx_vmax_b(__m128i _1, __m128i _2) {
    402   return (__m128i)__builtin_lsx_vmax_b((v16i8)_1, (v16i8)_2);
    403 }
    404 
    405 extern __inline
    406     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    407     __lsx_vmax_h(__m128i _1, __m128i _2) {
    408   return (__m128i)__builtin_lsx_vmax_h((v8i16)_1, (v8i16)_2);
    409 }
    410 
    411 extern __inline
    412     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    413     __lsx_vmax_w(__m128i _1, __m128i _2) {
    414   return (__m128i)__builtin_lsx_vmax_w((v4i32)_1, (v4i32)_2);
    415 }
    416 
    417 extern __inline
    418     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    419     __lsx_vmax_d(__m128i _1, __m128i _2) {
    420   return (__m128i)__builtin_lsx_vmax_d((v2i64)_1, (v2i64)_2);
    421 }
    422 
    423 #define __lsx_vmaxi_b(/*__m128i*/ _1, /*si5*/ _2)                              \
    424   ((__m128i)__builtin_lsx_vmaxi_b((v16i8)(_1), (_2)))
    425 
    426 #define __lsx_vmaxi_h(/*__m128i*/ _1, /*si5*/ _2)                              \
    427   ((__m128i)__builtin_lsx_vmaxi_h((v8i16)(_1), (_2)))
    428 
    429 #define __lsx_vmaxi_w(/*__m128i*/ _1, /*si5*/ _2)                              \
    430   ((__m128i)__builtin_lsx_vmaxi_w((v4i32)(_1), (_2)))
    431 
    432 #define __lsx_vmaxi_d(/*__m128i*/ _1, /*si5*/ _2)                              \
    433   ((__m128i)__builtin_lsx_vmaxi_d((v2i64)(_1), (_2)))
    434 
    435 extern __inline
    436     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    437     __lsx_vmax_bu(__m128i _1, __m128i _2) {
    438   return (__m128i)__builtin_lsx_vmax_bu((v16u8)_1, (v16u8)_2);
    439 }
    440 
    441 extern __inline
    442     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    443     __lsx_vmax_hu(__m128i _1, __m128i _2) {
    444   return (__m128i)__builtin_lsx_vmax_hu((v8u16)_1, (v8u16)_2);
    445 }
    446 
    447 extern __inline
    448     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    449     __lsx_vmax_wu(__m128i _1, __m128i _2) {
    450   return (__m128i)__builtin_lsx_vmax_wu((v4u32)_1, (v4u32)_2);
    451 }
    452 
    453 extern __inline
    454     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    455     __lsx_vmax_du(__m128i _1, __m128i _2) {
    456   return (__m128i)__builtin_lsx_vmax_du((v2u64)_1, (v2u64)_2);
    457 }
    458 
    459 #define __lsx_vmaxi_bu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    460   ((__m128i)__builtin_lsx_vmaxi_bu((v16u8)(_1), (_2)))
    461 
    462 #define __lsx_vmaxi_hu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    463   ((__m128i)__builtin_lsx_vmaxi_hu((v8u16)(_1), (_2)))
    464 
    465 #define __lsx_vmaxi_wu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    466   ((__m128i)__builtin_lsx_vmaxi_wu((v4u32)(_1), (_2)))
    467 
    468 #define __lsx_vmaxi_du(/*__m128i*/ _1, /*ui5*/ _2)                             \
    469   ((__m128i)__builtin_lsx_vmaxi_du((v2u64)(_1), (_2)))
    470 
    471 extern __inline
    472     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    473     __lsx_vmin_b(__m128i _1, __m128i _2) {
    474   return (__m128i)__builtin_lsx_vmin_b((v16i8)_1, (v16i8)_2);
    475 }
    476 
    477 extern __inline
    478     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    479     __lsx_vmin_h(__m128i _1, __m128i _2) {
    480   return (__m128i)__builtin_lsx_vmin_h((v8i16)_1, (v8i16)_2);
    481 }
    482 
    483 extern __inline
    484     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    485     __lsx_vmin_w(__m128i _1, __m128i _2) {
    486   return (__m128i)__builtin_lsx_vmin_w((v4i32)_1, (v4i32)_2);
    487 }
    488 
    489 extern __inline
    490     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    491     __lsx_vmin_d(__m128i _1, __m128i _2) {
    492   return (__m128i)__builtin_lsx_vmin_d((v2i64)_1, (v2i64)_2);
    493 }
    494 
    495 #define __lsx_vmini_b(/*__m128i*/ _1, /*si5*/ _2)                              \
    496   ((__m128i)__builtin_lsx_vmini_b((v16i8)(_1), (_2)))
    497 
    498 #define __lsx_vmini_h(/*__m128i*/ _1, /*si5*/ _2)                              \
    499   ((__m128i)__builtin_lsx_vmini_h((v8i16)(_1), (_2)))
    500 
    501 #define __lsx_vmini_w(/*__m128i*/ _1, /*si5*/ _2)                              \
    502   ((__m128i)__builtin_lsx_vmini_w((v4i32)(_1), (_2)))
    503 
    504 #define __lsx_vmini_d(/*__m128i*/ _1, /*si5*/ _2)                              \
    505   ((__m128i)__builtin_lsx_vmini_d((v2i64)(_1), (_2)))
    506 
    507 extern __inline
    508     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    509     __lsx_vmin_bu(__m128i _1, __m128i _2) {
    510   return (__m128i)__builtin_lsx_vmin_bu((v16u8)_1, (v16u8)_2);
    511 }
    512 
    513 extern __inline
    514     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    515     __lsx_vmin_hu(__m128i _1, __m128i _2) {
    516   return (__m128i)__builtin_lsx_vmin_hu((v8u16)_1, (v8u16)_2);
    517 }
    518 
    519 extern __inline
    520     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    521     __lsx_vmin_wu(__m128i _1, __m128i _2) {
    522   return (__m128i)__builtin_lsx_vmin_wu((v4u32)_1, (v4u32)_2);
    523 }
    524 
    525 extern __inline
    526     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    527     __lsx_vmin_du(__m128i _1, __m128i _2) {
    528   return (__m128i)__builtin_lsx_vmin_du((v2u64)_1, (v2u64)_2);
    529 }
    530 
    531 #define __lsx_vmini_bu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    532   ((__m128i)__builtin_lsx_vmini_bu((v16u8)(_1), (_2)))
    533 
    534 #define __lsx_vmini_hu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    535   ((__m128i)__builtin_lsx_vmini_hu((v8u16)(_1), (_2)))
    536 
    537 #define __lsx_vmini_wu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    538   ((__m128i)__builtin_lsx_vmini_wu((v4u32)(_1), (_2)))
    539 
    540 #define __lsx_vmini_du(/*__m128i*/ _1, /*ui5*/ _2)                             \
    541   ((__m128i)__builtin_lsx_vmini_du((v2u64)(_1), (_2)))
    542 
    543 extern __inline
    544     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    545     __lsx_vseq_b(__m128i _1, __m128i _2) {
    546   return (__m128i)__builtin_lsx_vseq_b((v16i8)_1, (v16i8)_2);
    547 }
    548 
    549 extern __inline
    550     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    551     __lsx_vseq_h(__m128i _1, __m128i _2) {
    552   return (__m128i)__builtin_lsx_vseq_h((v8i16)_1, (v8i16)_2);
    553 }
    554 
    555 extern __inline
    556     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    557     __lsx_vseq_w(__m128i _1, __m128i _2) {
    558   return (__m128i)__builtin_lsx_vseq_w((v4i32)_1, (v4i32)_2);
    559 }
    560 
    561 extern __inline
    562     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    563     __lsx_vseq_d(__m128i _1, __m128i _2) {
    564   return (__m128i)__builtin_lsx_vseq_d((v2i64)_1, (v2i64)_2);
    565 }
    566 
    567 #define __lsx_vseqi_b(/*__m128i*/ _1, /*si5*/ _2)                              \
    568   ((__m128i)__builtin_lsx_vseqi_b((v16i8)(_1), (_2)))
    569 
    570 #define __lsx_vseqi_h(/*__m128i*/ _1, /*si5*/ _2)                              \
    571   ((__m128i)__builtin_lsx_vseqi_h((v8i16)(_1), (_2)))
    572 
    573 #define __lsx_vseqi_w(/*__m128i*/ _1, /*si5*/ _2)                              \
    574   ((__m128i)__builtin_lsx_vseqi_w((v4i32)(_1), (_2)))
    575 
    576 #define __lsx_vseqi_d(/*__m128i*/ _1, /*si5*/ _2)                              \
    577   ((__m128i)__builtin_lsx_vseqi_d((v2i64)(_1), (_2)))
    578 
    579 #define __lsx_vslti_b(/*__m128i*/ _1, /*si5*/ _2)                              \
    580   ((__m128i)__builtin_lsx_vslti_b((v16i8)(_1), (_2)))
    581 
    582 extern __inline
    583     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    584     __lsx_vslt_b(__m128i _1, __m128i _2) {
    585   return (__m128i)__builtin_lsx_vslt_b((v16i8)_1, (v16i8)_2);
    586 }
    587 
    588 extern __inline
    589     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    590     __lsx_vslt_h(__m128i _1, __m128i _2) {
    591   return (__m128i)__builtin_lsx_vslt_h((v8i16)_1, (v8i16)_2);
    592 }
    593 
    594 extern __inline
    595     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    596     __lsx_vslt_w(__m128i _1, __m128i _2) {
    597   return (__m128i)__builtin_lsx_vslt_w((v4i32)_1, (v4i32)_2);
    598 }
    599 
    600 extern __inline
    601     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    602     __lsx_vslt_d(__m128i _1, __m128i _2) {
    603   return (__m128i)__builtin_lsx_vslt_d((v2i64)_1, (v2i64)_2);
    604 }
    605 
    606 #define __lsx_vslti_h(/*__m128i*/ _1, /*si5*/ _2)                              \
    607   ((__m128i)__builtin_lsx_vslti_h((v8i16)(_1), (_2)))
    608 
    609 #define __lsx_vslti_w(/*__m128i*/ _1, /*si5*/ _2)                              \
    610   ((__m128i)__builtin_lsx_vslti_w((v4i32)(_1), (_2)))
    611 
    612 #define __lsx_vslti_d(/*__m128i*/ _1, /*si5*/ _2)                              \
    613   ((__m128i)__builtin_lsx_vslti_d((v2i64)(_1), (_2)))
    614 
    615 extern __inline
    616     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    617     __lsx_vslt_bu(__m128i _1, __m128i _2) {
    618   return (__m128i)__builtin_lsx_vslt_bu((v16u8)_1, (v16u8)_2);
    619 }
    620 
    621 extern __inline
    622     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    623     __lsx_vslt_hu(__m128i _1, __m128i _2) {
    624   return (__m128i)__builtin_lsx_vslt_hu((v8u16)_1, (v8u16)_2);
    625 }
    626 
    627 extern __inline
    628     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    629     __lsx_vslt_wu(__m128i _1, __m128i _2) {
    630   return (__m128i)__builtin_lsx_vslt_wu((v4u32)_1, (v4u32)_2);
    631 }
    632 
    633 extern __inline
    634     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    635     __lsx_vslt_du(__m128i _1, __m128i _2) {
    636   return (__m128i)__builtin_lsx_vslt_du((v2u64)_1, (v2u64)_2);
    637 }
    638 
    639 #define __lsx_vslti_bu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    640   ((__m128i)__builtin_lsx_vslti_bu((v16u8)(_1), (_2)))
    641 
    642 #define __lsx_vslti_hu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    643   ((__m128i)__builtin_lsx_vslti_hu((v8u16)(_1), (_2)))
    644 
    645 #define __lsx_vslti_wu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    646   ((__m128i)__builtin_lsx_vslti_wu((v4u32)(_1), (_2)))
    647 
    648 #define __lsx_vslti_du(/*__m128i*/ _1, /*ui5*/ _2)                             \
    649   ((__m128i)__builtin_lsx_vslti_du((v2u64)(_1), (_2)))
    650 
    651 extern __inline
    652     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    653     __lsx_vsle_b(__m128i _1, __m128i _2) {
    654   return (__m128i)__builtin_lsx_vsle_b((v16i8)_1, (v16i8)_2);
    655 }
    656 
    657 extern __inline
    658     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    659     __lsx_vsle_h(__m128i _1, __m128i _2) {
    660   return (__m128i)__builtin_lsx_vsle_h((v8i16)_1, (v8i16)_2);
    661 }
    662 
    663 extern __inline
    664     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    665     __lsx_vsle_w(__m128i _1, __m128i _2) {
    666   return (__m128i)__builtin_lsx_vsle_w((v4i32)_1, (v4i32)_2);
    667 }
    668 
    669 extern __inline
    670     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    671     __lsx_vsle_d(__m128i _1, __m128i _2) {
    672   return (__m128i)__builtin_lsx_vsle_d((v2i64)_1, (v2i64)_2);
    673 }
    674 
    675 #define __lsx_vslei_b(/*__m128i*/ _1, /*si5*/ _2)                              \
    676   ((__m128i)__builtin_lsx_vslei_b((v16i8)(_1), (_2)))
    677 
    678 #define __lsx_vslei_h(/*__m128i*/ _1, /*si5*/ _2)                              \
    679   ((__m128i)__builtin_lsx_vslei_h((v8i16)(_1), (_2)))
    680 
    681 #define __lsx_vslei_w(/*__m128i*/ _1, /*si5*/ _2)                              \
    682   ((__m128i)__builtin_lsx_vslei_w((v4i32)(_1), (_2)))
    683 
    684 #define __lsx_vslei_d(/*__m128i*/ _1, /*si5*/ _2)                              \
    685   ((__m128i)__builtin_lsx_vslei_d((v2i64)(_1), (_2)))
    686 
    687 extern __inline
    688     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    689     __lsx_vsle_bu(__m128i _1, __m128i _2) {
    690   return (__m128i)__builtin_lsx_vsle_bu((v16u8)_1, (v16u8)_2);
    691 }
    692 
    693 extern __inline
    694     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    695     __lsx_vsle_hu(__m128i _1, __m128i _2) {
    696   return (__m128i)__builtin_lsx_vsle_hu((v8u16)_1, (v8u16)_2);
    697 }
    698 
    699 extern __inline
    700     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    701     __lsx_vsle_wu(__m128i _1, __m128i _2) {
    702   return (__m128i)__builtin_lsx_vsle_wu((v4u32)_1, (v4u32)_2);
    703 }
    704 
    705 extern __inline
    706     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    707     __lsx_vsle_du(__m128i _1, __m128i _2) {
    708   return (__m128i)__builtin_lsx_vsle_du((v2u64)_1, (v2u64)_2);
    709 }
    710 
    711 #define __lsx_vslei_bu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    712   ((__m128i)__builtin_lsx_vslei_bu((v16u8)(_1), (_2)))
    713 
    714 #define __lsx_vslei_hu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    715   ((__m128i)__builtin_lsx_vslei_hu((v8u16)(_1), (_2)))
    716 
    717 #define __lsx_vslei_wu(/*__m128i*/ _1, /*ui5*/ _2)                             \
    718   ((__m128i)__builtin_lsx_vslei_wu((v4u32)(_1), (_2)))
    719 
    720 #define __lsx_vslei_du(/*__m128i*/ _1, /*ui5*/ _2)                             \
    721   ((__m128i)__builtin_lsx_vslei_du((v2u64)(_1), (_2)))
    722 
    723 #define __lsx_vsat_b(/*__m128i*/ _1, /*ui3*/ _2)                               \
    724   ((__m128i)__builtin_lsx_vsat_b((v16i8)(_1), (_2)))
    725 
    726 #define __lsx_vsat_h(/*__m128i*/ _1, /*ui4*/ _2)                               \
    727   ((__m128i)__builtin_lsx_vsat_h((v8i16)(_1), (_2)))
    728 
    729 #define __lsx_vsat_w(/*__m128i*/ _1, /*ui5*/ _2)                               \
    730   ((__m128i)__builtin_lsx_vsat_w((v4i32)(_1), (_2)))
    731 
    732 #define __lsx_vsat_d(/*__m128i*/ _1, /*ui6*/ _2)                               \
    733   ((__m128i)__builtin_lsx_vsat_d((v2i64)(_1), (_2)))
    734 
    735 #define __lsx_vsat_bu(/*__m128i*/ _1, /*ui3*/ _2)                              \
    736   ((__m128i)__builtin_lsx_vsat_bu((v16u8)(_1), (_2)))
    737 
    738 #define __lsx_vsat_hu(/*__m128i*/ _1, /*ui4*/ _2)                              \
    739   ((__m128i)__builtin_lsx_vsat_hu((v8u16)(_1), (_2)))
    740 
    741 #define __lsx_vsat_wu(/*__m128i*/ _1, /*ui5*/ _2)                              \
    742   ((__m128i)__builtin_lsx_vsat_wu((v4u32)(_1), (_2)))
    743 
    744 #define __lsx_vsat_du(/*__m128i*/ _1, /*ui6*/ _2)                              \
    745   ((__m128i)__builtin_lsx_vsat_du((v2u64)(_1), (_2)))
    746 
    747 extern __inline
    748     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    749     __lsx_vadda_b(__m128i _1, __m128i _2) {
    750   return (__m128i)__builtin_lsx_vadda_b((v16i8)_1, (v16i8)_2);
    751 }
    752 
    753 extern __inline
    754     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    755     __lsx_vadda_h(__m128i _1, __m128i _2) {
    756   return (__m128i)__builtin_lsx_vadda_h((v8i16)_1, (v8i16)_2);
    757 }
    758 
    759 extern __inline
    760     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    761     __lsx_vadda_w(__m128i _1, __m128i _2) {
    762   return (__m128i)__builtin_lsx_vadda_w((v4i32)_1, (v4i32)_2);
    763 }
    764 
    765 extern __inline
    766     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    767     __lsx_vadda_d(__m128i _1, __m128i _2) {
    768   return (__m128i)__builtin_lsx_vadda_d((v2i64)_1, (v2i64)_2);
    769 }
    770 
    771 extern __inline
    772     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    773     __lsx_vsadd_b(__m128i _1, __m128i _2) {
    774   return (__m128i)__builtin_lsx_vsadd_b((v16i8)_1, (v16i8)_2);
    775 }
    776 
    777 extern __inline
    778     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    779     __lsx_vsadd_h(__m128i _1, __m128i _2) {
    780   return (__m128i)__builtin_lsx_vsadd_h((v8i16)_1, (v8i16)_2);
    781 }
    782 
    783 extern __inline
    784     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    785     __lsx_vsadd_w(__m128i _1, __m128i _2) {
    786   return (__m128i)__builtin_lsx_vsadd_w((v4i32)_1, (v4i32)_2);
    787 }
    788 
    789 extern __inline
    790     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    791     __lsx_vsadd_d(__m128i _1, __m128i _2) {
    792   return (__m128i)__builtin_lsx_vsadd_d((v2i64)_1, (v2i64)_2);
    793 }
    794 
    795 extern __inline
    796     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    797     __lsx_vsadd_bu(__m128i _1, __m128i _2) {
    798   return (__m128i)__builtin_lsx_vsadd_bu((v16u8)_1, (v16u8)_2);
    799 }
    800 
    801 extern __inline
    802     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    803     __lsx_vsadd_hu(__m128i _1, __m128i _2) {
    804   return (__m128i)__builtin_lsx_vsadd_hu((v8u16)_1, (v8u16)_2);
    805 }
    806 
    807 extern __inline
    808     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    809     __lsx_vsadd_wu(__m128i _1, __m128i _2) {
    810   return (__m128i)__builtin_lsx_vsadd_wu((v4u32)_1, (v4u32)_2);
    811 }
    812 
    813 extern __inline
    814     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    815     __lsx_vsadd_du(__m128i _1, __m128i _2) {
    816   return (__m128i)__builtin_lsx_vsadd_du((v2u64)_1, (v2u64)_2);
    817 }
    818 
    819 extern __inline
    820     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    821     __lsx_vavg_b(__m128i _1, __m128i _2) {
    822   return (__m128i)__builtin_lsx_vavg_b((v16i8)_1, (v16i8)_2);
    823 }
    824 
    825 extern __inline
    826     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    827     __lsx_vavg_h(__m128i _1, __m128i _2) {
    828   return (__m128i)__builtin_lsx_vavg_h((v8i16)_1, (v8i16)_2);
    829 }
    830 
    831 extern __inline
    832     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    833     __lsx_vavg_w(__m128i _1, __m128i _2) {
    834   return (__m128i)__builtin_lsx_vavg_w((v4i32)_1, (v4i32)_2);
    835 }
    836 
    837 extern __inline
    838     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    839     __lsx_vavg_d(__m128i _1, __m128i _2) {
    840   return (__m128i)__builtin_lsx_vavg_d((v2i64)_1, (v2i64)_2);
    841 }
    842 
    843 extern __inline
    844     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    845     __lsx_vavg_bu(__m128i _1, __m128i _2) {
    846   return (__m128i)__builtin_lsx_vavg_bu((v16u8)_1, (v16u8)_2);
    847 }
    848 
    849 extern __inline
    850     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    851     __lsx_vavg_hu(__m128i _1, __m128i _2) {
    852   return (__m128i)__builtin_lsx_vavg_hu((v8u16)_1, (v8u16)_2);
    853 }
    854 
    855 extern __inline
    856     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    857     __lsx_vavg_wu(__m128i _1, __m128i _2) {
    858   return (__m128i)__builtin_lsx_vavg_wu((v4u32)_1, (v4u32)_2);
    859 }
    860 
    861 extern __inline
    862     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    863     __lsx_vavg_du(__m128i _1, __m128i _2) {
    864   return (__m128i)__builtin_lsx_vavg_du((v2u64)_1, (v2u64)_2);
    865 }
    866 
    867 extern __inline
    868     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    869     __lsx_vavgr_b(__m128i _1, __m128i _2) {
    870   return (__m128i)__builtin_lsx_vavgr_b((v16i8)_1, (v16i8)_2);
    871 }
    872 
    873 extern __inline
    874     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    875     __lsx_vavgr_h(__m128i _1, __m128i _2) {
    876   return (__m128i)__builtin_lsx_vavgr_h((v8i16)_1, (v8i16)_2);
    877 }
    878 
    879 extern __inline
    880     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    881     __lsx_vavgr_w(__m128i _1, __m128i _2) {
    882   return (__m128i)__builtin_lsx_vavgr_w((v4i32)_1, (v4i32)_2);
    883 }
    884 
    885 extern __inline
    886     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    887     __lsx_vavgr_d(__m128i _1, __m128i _2) {
    888   return (__m128i)__builtin_lsx_vavgr_d((v2i64)_1, (v2i64)_2);
    889 }
    890 
    891 extern __inline
    892     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    893     __lsx_vavgr_bu(__m128i _1, __m128i _2) {
    894   return (__m128i)__builtin_lsx_vavgr_bu((v16u8)_1, (v16u8)_2);
    895 }
    896 
    897 extern __inline
    898     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    899     __lsx_vavgr_hu(__m128i _1, __m128i _2) {
    900   return (__m128i)__builtin_lsx_vavgr_hu((v8u16)_1, (v8u16)_2);
    901 }
    902 
    903 extern __inline
    904     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    905     __lsx_vavgr_wu(__m128i _1, __m128i _2) {
    906   return (__m128i)__builtin_lsx_vavgr_wu((v4u32)_1, (v4u32)_2);
    907 }
    908 
    909 extern __inline
    910     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    911     __lsx_vavgr_du(__m128i _1, __m128i _2) {
    912   return (__m128i)__builtin_lsx_vavgr_du((v2u64)_1, (v2u64)_2);
    913 }
    914 
    915 extern __inline
    916     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    917     __lsx_vssub_b(__m128i _1, __m128i _2) {
    918   return (__m128i)__builtin_lsx_vssub_b((v16i8)_1, (v16i8)_2);
    919 }
    920 
    921 extern __inline
    922     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    923     __lsx_vssub_h(__m128i _1, __m128i _2) {
    924   return (__m128i)__builtin_lsx_vssub_h((v8i16)_1, (v8i16)_2);
    925 }
    926 
    927 extern __inline
    928     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    929     __lsx_vssub_w(__m128i _1, __m128i _2) {
    930   return (__m128i)__builtin_lsx_vssub_w((v4i32)_1, (v4i32)_2);
    931 }
    932 
    933 extern __inline
    934     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    935     __lsx_vssub_d(__m128i _1, __m128i _2) {
    936   return (__m128i)__builtin_lsx_vssub_d((v2i64)_1, (v2i64)_2);
    937 }
    938 
    939 extern __inline
    940     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    941     __lsx_vssub_bu(__m128i _1, __m128i _2) {
    942   return (__m128i)__builtin_lsx_vssub_bu((v16u8)_1, (v16u8)_2);
    943 }
    944 
    945 extern __inline
    946     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    947     __lsx_vssub_hu(__m128i _1, __m128i _2) {
    948   return (__m128i)__builtin_lsx_vssub_hu((v8u16)_1, (v8u16)_2);
    949 }
    950 
    951 extern __inline
    952     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    953     __lsx_vssub_wu(__m128i _1, __m128i _2) {
    954   return (__m128i)__builtin_lsx_vssub_wu((v4u32)_1, (v4u32)_2);
    955 }
    956 
    957 extern __inline
    958     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    959     __lsx_vssub_du(__m128i _1, __m128i _2) {
    960   return (__m128i)__builtin_lsx_vssub_du((v2u64)_1, (v2u64)_2);
    961 }
    962 
    963 extern __inline
    964     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    965     __lsx_vabsd_b(__m128i _1, __m128i _2) {
    966   return (__m128i)__builtin_lsx_vabsd_b((v16i8)_1, (v16i8)_2);
    967 }
    968 
    969 extern __inline
    970     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    971     __lsx_vabsd_h(__m128i _1, __m128i _2) {
    972   return (__m128i)__builtin_lsx_vabsd_h((v8i16)_1, (v8i16)_2);
    973 }
    974 
    975 extern __inline
    976     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    977     __lsx_vabsd_w(__m128i _1, __m128i _2) {
    978   return (__m128i)__builtin_lsx_vabsd_w((v4i32)_1, (v4i32)_2);
    979 }
    980 
    981 extern __inline
    982     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    983     __lsx_vabsd_d(__m128i _1, __m128i _2) {
    984   return (__m128i)__builtin_lsx_vabsd_d((v2i64)_1, (v2i64)_2);
    985 }
    986 
    987 extern __inline
    988     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    989     __lsx_vabsd_bu(__m128i _1, __m128i _2) {
    990   return (__m128i)__builtin_lsx_vabsd_bu((v16u8)_1, (v16u8)_2);
    991 }
    992 
    993 extern __inline
    994     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
    995     __lsx_vabsd_hu(__m128i _1, __m128i _2) {
    996   return (__m128i)__builtin_lsx_vabsd_hu((v8u16)_1, (v8u16)_2);
    997 }
    998 
    999 extern __inline
   1000     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1001     __lsx_vabsd_wu(__m128i _1, __m128i _2) {
   1002   return (__m128i)__builtin_lsx_vabsd_wu((v4u32)_1, (v4u32)_2);
   1003 }
   1004 
   1005 extern __inline
   1006     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1007     __lsx_vabsd_du(__m128i _1, __m128i _2) {
   1008   return (__m128i)__builtin_lsx_vabsd_du((v2u64)_1, (v2u64)_2);
   1009 }
   1010 
   1011 extern __inline
   1012     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1013     __lsx_vmul_b(__m128i _1, __m128i _2) {
   1014   return (__m128i)__builtin_lsx_vmul_b((v16i8)_1, (v16i8)_2);
   1015 }
   1016 
   1017 extern __inline
   1018     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1019     __lsx_vmul_h(__m128i _1, __m128i _2) {
   1020   return (__m128i)__builtin_lsx_vmul_h((v8i16)_1, (v8i16)_2);
   1021 }
   1022 
   1023 extern __inline
   1024     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1025     __lsx_vmul_w(__m128i _1, __m128i _2) {
   1026   return (__m128i)__builtin_lsx_vmul_w((v4i32)_1, (v4i32)_2);
   1027 }
   1028 
   1029 extern __inline
   1030     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1031     __lsx_vmul_d(__m128i _1, __m128i _2) {
   1032   return (__m128i)__builtin_lsx_vmul_d((v2i64)_1, (v2i64)_2);
   1033 }
   1034 
   1035 extern __inline
   1036     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1037     __lsx_vmadd_b(__m128i _1, __m128i _2, __m128i _3) {
   1038   return (__m128i)__builtin_lsx_vmadd_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
   1039 }
   1040 
   1041 extern __inline
   1042     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1043     __lsx_vmadd_h(__m128i _1, __m128i _2, __m128i _3) {
   1044   return (__m128i)__builtin_lsx_vmadd_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
   1045 }
   1046 
   1047 extern __inline
   1048     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1049     __lsx_vmadd_w(__m128i _1, __m128i _2, __m128i _3) {
   1050   return (__m128i)__builtin_lsx_vmadd_w((v4i32)_1, (v4i32)_2, (v4i32)_3);
   1051 }
   1052 
   1053 extern __inline
   1054     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1055     __lsx_vmadd_d(__m128i _1, __m128i _2, __m128i _3) {
   1056   return (__m128i)__builtin_lsx_vmadd_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
   1057 }
   1058 
   1059 extern __inline
   1060     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1061     __lsx_vmsub_b(__m128i _1, __m128i _2, __m128i _3) {
   1062   return (__m128i)__builtin_lsx_vmsub_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
   1063 }
   1064 
   1065 extern __inline
   1066     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1067     __lsx_vmsub_h(__m128i _1, __m128i _2, __m128i _3) {
   1068   return (__m128i)__builtin_lsx_vmsub_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
   1069 }
   1070 
   1071 extern __inline
   1072     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1073     __lsx_vmsub_w(__m128i _1, __m128i _2, __m128i _3) {
   1074   return (__m128i)__builtin_lsx_vmsub_w((v4i32)_1, (v4i32)_2, (v4i32)_3);
   1075 }
   1076 
   1077 extern __inline
   1078     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1079     __lsx_vmsub_d(__m128i _1, __m128i _2, __m128i _3) {
   1080   return (__m128i)__builtin_lsx_vmsub_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
   1081 }
   1082 
   1083 extern __inline
   1084     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1085     __lsx_vdiv_b(__m128i _1, __m128i _2) {
   1086   return (__m128i)__builtin_lsx_vdiv_b((v16i8)_1, (v16i8)_2);
   1087 }
   1088 
   1089 extern __inline
   1090     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1091     __lsx_vdiv_h(__m128i _1, __m128i _2) {
   1092   return (__m128i)__builtin_lsx_vdiv_h((v8i16)_1, (v8i16)_2);
   1093 }
   1094 
   1095 extern __inline
   1096     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1097     __lsx_vdiv_w(__m128i _1, __m128i _2) {
   1098   return (__m128i)__builtin_lsx_vdiv_w((v4i32)_1, (v4i32)_2);
   1099 }
   1100 
   1101 extern __inline
   1102     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1103     __lsx_vdiv_d(__m128i _1, __m128i _2) {
   1104   return (__m128i)__builtin_lsx_vdiv_d((v2i64)_1, (v2i64)_2);
   1105 }
   1106 
   1107 extern __inline
   1108     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1109     __lsx_vdiv_bu(__m128i _1, __m128i _2) {
   1110   return (__m128i)__builtin_lsx_vdiv_bu((v16u8)_1, (v16u8)_2);
   1111 }
   1112 
   1113 extern __inline
   1114     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1115     __lsx_vdiv_hu(__m128i _1, __m128i _2) {
   1116   return (__m128i)__builtin_lsx_vdiv_hu((v8u16)_1, (v8u16)_2);
   1117 }
   1118 
   1119 extern __inline
   1120     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1121     __lsx_vdiv_wu(__m128i _1, __m128i _2) {
   1122   return (__m128i)__builtin_lsx_vdiv_wu((v4u32)_1, (v4u32)_2);
   1123 }
   1124 
   1125 extern __inline
   1126     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1127     __lsx_vdiv_du(__m128i _1, __m128i _2) {
   1128   return (__m128i)__builtin_lsx_vdiv_du((v2u64)_1, (v2u64)_2);
   1129 }
   1130 
   1131 extern __inline
   1132     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1133     __lsx_vhaddw_h_b(__m128i _1, __m128i _2) {
   1134   return (__m128i)__builtin_lsx_vhaddw_h_b((v16i8)_1, (v16i8)_2);
   1135 }
   1136 
   1137 extern __inline
   1138     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1139     __lsx_vhaddw_w_h(__m128i _1, __m128i _2) {
   1140   return (__m128i)__builtin_lsx_vhaddw_w_h((v8i16)_1, (v8i16)_2);
   1141 }
   1142 
   1143 extern __inline
   1144     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1145     __lsx_vhaddw_d_w(__m128i _1, __m128i _2) {
   1146   return (__m128i)__builtin_lsx_vhaddw_d_w((v4i32)_1, (v4i32)_2);
   1147 }
   1148 
   1149 extern __inline
   1150     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1151     __lsx_vhaddw_hu_bu(__m128i _1, __m128i _2) {
   1152   return (__m128i)__builtin_lsx_vhaddw_hu_bu((v16u8)_1, (v16u8)_2);
   1153 }
   1154 
   1155 extern __inline
   1156     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1157     __lsx_vhaddw_wu_hu(__m128i _1, __m128i _2) {
   1158   return (__m128i)__builtin_lsx_vhaddw_wu_hu((v8u16)_1, (v8u16)_2);
   1159 }
   1160 
   1161 extern __inline
   1162     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1163     __lsx_vhaddw_du_wu(__m128i _1, __m128i _2) {
   1164   return (__m128i)__builtin_lsx_vhaddw_du_wu((v4u32)_1, (v4u32)_2);
   1165 }
   1166 
   1167 extern __inline
   1168     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1169     __lsx_vhsubw_h_b(__m128i _1, __m128i _2) {
   1170   return (__m128i)__builtin_lsx_vhsubw_h_b((v16i8)_1, (v16i8)_2);
   1171 }
   1172 
   1173 extern __inline
   1174     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1175     __lsx_vhsubw_w_h(__m128i _1, __m128i _2) {
   1176   return (__m128i)__builtin_lsx_vhsubw_w_h((v8i16)_1, (v8i16)_2);
   1177 }
   1178 
   1179 extern __inline
   1180     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1181     __lsx_vhsubw_d_w(__m128i _1, __m128i _2) {
   1182   return (__m128i)__builtin_lsx_vhsubw_d_w((v4i32)_1, (v4i32)_2);
   1183 }
   1184 
   1185 extern __inline
   1186     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1187     __lsx_vhsubw_hu_bu(__m128i _1, __m128i _2) {
   1188   return (__m128i)__builtin_lsx_vhsubw_hu_bu((v16u8)_1, (v16u8)_2);
   1189 }
   1190 
   1191 extern __inline
   1192     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1193     __lsx_vhsubw_wu_hu(__m128i _1, __m128i _2) {
   1194   return (__m128i)__builtin_lsx_vhsubw_wu_hu((v8u16)_1, (v8u16)_2);
   1195 }
   1196 
   1197 extern __inline
   1198     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1199     __lsx_vhsubw_du_wu(__m128i _1, __m128i _2) {
   1200   return (__m128i)__builtin_lsx_vhsubw_du_wu((v4u32)_1, (v4u32)_2);
   1201 }
   1202 
   1203 extern __inline
   1204     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1205     __lsx_vmod_b(__m128i _1, __m128i _2) {
   1206   return (__m128i)__builtin_lsx_vmod_b((v16i8)_1, (v16i8)_2);
   1207 }
   1208 
   1209 extern __inline
   1210     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1211     __lsx_vmod_h(__m128i _1, __m128i _2) {
   1212   return (__m128i)__builtin_lsx_vmod_h((v8i16)_1, (v8i16)_2);
   1213 }
   1214 
   1215 extern __inline
   1216     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1217     __lsx_vmod_w(__m128i _1, __m128i _2) {
   1218   return (__m128i)__builtin_lsx_vmod_w((v4i32)_1, (v4i32)_2);
   1219 }
   1220 
   1221 extern __inline
   1222     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1223     __lsx_vmod_d(__m128i _1, __m128i _2) {
   1224   return (__m128i)__builtin_lsx_vmod_d((v2i64)_1, (v2i64)_2);
   1225 }
   1226 
   1227 extern __inline
   1228     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1229     __lsx_vmod_bu(__m128i _1, __m128i _2) {
   1230   return (__m128i)__builtin_lsx_vmod_bu((v16u8)_1, (v16u8)_2);
   1231 }
   1232 
   1233 extern __inline
   1234     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1235     __lsx_vmod_hu(__m128i _1, __m128i _2) {
   1236   return (__m128i)__builtin_lsx_vmod_hu((v8u16)_1, (v8u16)_2);
   1237 }
   1238 
   1239 extern __inline
   1240     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1241     __lsx_vmod_wu(__m128i _1, __m128i _2) {
   1242   return (__m128i)__builtin_lsx_vmod_wu((v4u32)_1, (v4u32)_2);
   1243 }
   1244 
   1245 extern __inline
   1246     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1247     __lsx_vmod_du(__m128i _1, __m128i _2) {
   1248   return (__m128i)__builtin_lsx_vmod_du((v2u64)_1, (v2u64)_2);
   1249 }
   1250 
   1251 extern __inline
   1252     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1253     __lsx_vreplve_b(__m128i _1, int _2) {
   1254   return (__m128i)__builtin_lsx_vreplve_b((v16i8)_1, (int)_2);
   1255 }
   1256 
   1257 extern __inline
   1258     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1259     __lsx_vreplve_h(__m128i _1, int _2) {
   1260   return (__m128i)__builtin_lsx_vreplve_h((v8i16)_1, (int)_2);
   1261 }
   1262 
   1263 extern __inline
   1264     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1265     __lsx_vreplve_w(__m128i _1, int _2) {
   1266   return (__m128i)__builtin_lsx_vreplve_w((v4i32)_1, (int)_2);
   1267 }
   1268 
   1269 extern __inline
   1270     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1271     __lsx_vreplve_d(__m128i _1, int _2) {
   1272   return (__m128i)__builtin_lsx_vreplve_d((v2i64)_1, (int)_2);
   1273 }
   1274 
   1275 #define __lsx_vreplvei_b(/*__m128i*/ _1, /*ui4*/ _2)                           \
   1276   ((__m128i)__builtin_lsx_vreplvei_b((v16i8)(_1), (_2)))
   1277 
   1278 #define __lsx_vreplvei_h(/*__m128i*/ _1, /*ui3*/ _2)                           \
   1279   ((__m128i)__builtin_lsx_vreplvei_h((v8i16)(_1), (_2)))
   1280 
   1281 #define __lsx_vreplvei_w(/*__m128i*/ _1, /*ui2*/ _2)                           \
   1282   ((__m128i)__builtin_lsx_vreplvei_w((v4i32)(_1), (_2)))
   1283 
   1284 #define __lsx_vreplvei_d(/*__m128i*/ _1, /*ui1*/ _2)                           \
   1285   ((__m128i)__builtin_lsx_vreplvei_d((v2i64)(_1), (_2)))
   1286 
   1287 extern __inline
   1288     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1289     __lsx_vpickev_b(__m128i _1, __m128i _2) {
   1290   return (__m128i)__builtin_lsx_vpickev_b((v16i8)_1, (v16i8)_2);
   1291 }
   1292 
   1293 extern __inline
   1294     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1295     __lsx_vpickev_h(__m128i _1, __m128i _2) {
   1296   return (__m128i)__builtin_lsx_vpickev_h((v8i16)_1, (v8i16)_2);
   1297 }
   1298 
   1299 extern __inline
   1300     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1301     __lsx_vpickev_w(__m128i _1, __m128i _2) {
   1302   return (__m128i)__builtin_lsx_vpickev_w((v4i32)_1, (v4i32)_2);
   1303 }
   1304 
   1305 extern __inline
   1306     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1307     __lsx_vpickev_d(__m128i _1, __m128i _2) {
   1308   return (__m128i)__builtin_lsx_vpickev_d((v2i64)_1, (v2i64)_2);
   1309 }
   1310 
   1311 extern __inline
   1312     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1313     __lsx_vpickod_b(__m128i _1, __m128i _2) {
   1314   return (__m128i)__builtin_lsx_vpickod_b((v16i8)_1, (v16i8)_2);
   1315 }
   1316 
   1317 extern __inline
   1318     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1319     __lsx_vpickod_h(__m128i _1, __m128i _2) {
   1320   return (__m128i)__builtin_lsx_vpickod_h((v8i16)_1, (v8i16)_2);
   1321 }
   1322 
   1323 extern __inline
   1324     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1325     __lsx_vpickod_w(__m128i _1, __m128i _2) {
   1326   return (__m128i)__builtin_lsx_vpickod_w((v4i32)_1, (v4i32)_2);
   1327 }
   1328 
   1329 extern __inline
   1330     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1331     __lsx_vpickod_d(__m128i _1, __m128i _2) {
   1332   return (__m128i)__builtin_lsx_vpickod_d((v2i64)_1, (v2i64)_2);
   1333 }
   1334 
   1335 extern __inline
   1336     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1337     __lsx_vilvh_b(__m128i _1, __m128i _2) {
   1338   return (__m128i)__builtin_lsx_vilvh_b((v16i8)_1, (v16i8)_2);
   1339 }
   1340 
   1341 extern __inline
   1342     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1343     __lsx_vilvh_h(__m128i _1, __m128i _2) {
   1344   return (__m128i)__builtin_lsx_vilvh_h((v8i16)_1, (v8i16)_2);
   1345 }
   1346 
   1347 extern __inline
   1348     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1349     __lsx_vilvh_w(__m128i _1, __m128i _2) {
   1350   return (__m128i)__builtin_lsx_vilvh_w((v4i32)_1, (v4i32)_2);
   1351 }
   1352 
   1353 extern __inline
   1354     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1355     __lsx_vilvh_d(__m128i _1, __m128i _2) {
   1356   return (__m128i)__builtin_lsx_vilvh_d((v2i64)_1, (v2i64)_2);
   1357 }
   1358 
   1359 extern __inline
   1360     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1361     __lsx_vilvl_b(__m128i _1, __m128i _2) {
   1362   return (__m128i)__builtin_lsx_vilvl_b((v16i8)_1, (v16i8)_2);
   1363 }
   1364 
   1365 extern __inline
   1366     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1367     __lsx_vilvl_h(__m128i _1, __m128i _2) {
   1368   return (__m128i)__builtin_lsx_vilvl_h((v8i16)_1, (v8i16)_2);
   1369 }
   1370 
   1371 extern __inline
   1372     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1373     __lsx_vilvl_w(__m128i _1, __m128i _2) {
   1374   return (__m128i)__builtin_lsx_vilvl_w((v4i32)_1, (v4i32)_2);
   1375 }
   1376 
   1377 extern __inline
   1378     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1379     __lsx_vilvl_d(__m128i _1, __m128i _2) {
   1380   return (__m128i)__builtin_lsx_vilvl_d((v2i64)_1, (v2i64)_2);
   1381 }
   1382 
   1383 extern __inline
   1384     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1385     __lsx_vpackev_b(__m128i _1, __m128i _2) {
   1386   return (__m128i)__builtin_lsx_vpackev_b((v16i8)_1, (v16i8)_2);
   1387 }
   1388 
   1389 extern __inline
   1390     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1391     __lsx_vpackev_h(__m128i _1, __m128i _2) {
   1392   return (__m128i)__builtin_lsx_vpackev_h((v8i16)_1, (v8i16)_2);
   1393 }
   1394 
   1395 extern __inline
   1396     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1397     __lsx_vpackev_w(__m128i _1, __m128i _2) {
   1398   return (__m128i)__builtin_lsx_vpackev_w((v4i32)_1, (v4i32)_2);
   1399 }
   1400 
   1401 extern __inline
   1402     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1403     __lsx_vpackev_d(__m128i _1, __m128i _2) {
   1404   return (__m128i)__builtin_lsx_vpackev_d((v2i64)_1, (v2i64)_2);
   1405 }
   1406 
   1407 extern __inline
   1408     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1409     __lsx_vpackod_b(__m128i _1, __m128i _2) {
   1410   return (__m128i)__builtin_lsx_vpackod_b((v16i8)_1, (v16i8)_2);
   1411 }
   1412 
   1413 extern __inline
   1414     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1415     __lsx_vpackod_h(__m128i _1, __m128i _2) {
   1416   return (__m128i)__builtin_lsx_vpackod_h((v8i16)_1, (v8i16)_2);
   1417 }
   1418 
   1419 extern __inline
   1420     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1421     __lsx_vpackod_w(__m128i _1, __m128i _2) {
   1422   return (__m128i)__builtin_lsx_vpackod_w((v4i32)_1, (v4i32)_2);
   1423 }
   1424 
   1425 extern __inline
   1426     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1427     __lsx_vpackod_d(__m128i _1, __m128i _2) {
   1428   return (__m128i)__builtin_lsx_vpackod_d((v2i64)_1, (v2i64)_2);
   1429 }
   1430 
   1431 extern __inline
   1432     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1433     __lsx_vshuf_h(__m128i _1, __m128i _2, __m128i _3) {
   1434   return (__m128i)__builtin_lsx_vshuf_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
   1435 }
   1436 
   1437 extern __inline
   1438     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1439     __lsx_vshuf_w(__m128i _1, __m128i _2, __m128i _3) {
   1440   return (__m128i)__builtin_lsx_vshuf_w((v4i32)_1, (v4i32)_2, (v4i32)_3);
   1441 }
   1442 
   1443 extern __inline
   1444     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1445     __lsx_vshuf_d(__m128i _1, __m128i _2, __m128i _3) {
   1446   return (__m128i)__builtin_lsx_vshuf_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
   1447 }
   1448 
   1449 extern __inline
   1450     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1451     __lsx_vand_v(__m128i _1, __m128i _2) {
   1452   return (__m128i)__builtin_lsx_vand_v((v16u8)_1, (v16u8)_2);
   1453 }
   1454 
   1455 #define __lsx_vandi_b(/*__m128i*/ _1, /*ui8*/ _2)                              \
   1456   ((__m128i)__builtin_lsx_vandi_b((v16u8)(_1), (_2)))
   1457 
   1458 extern __inline
   1459     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1460     __lsx_vor_v(__m128i _1, __m128i _2) {
   1461   return (__m128i)__builtin_lsx_vor_v((v16u8)_1, (v16u8)_2);
   1462 }
   1463 
   1464 #define __lsx_vori_b(/*__m128i*/ _1, /*ui8*/ _2)                               \
   1465   ((__m128i)__builtin_lsx_vori_b((v16u8)(_1), (_2)))
   1466 
   1467 extern __inline
   1468     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1469     __lsx_vnor_v(__m128i _1, __m128i _2) {
   1470   return (__m128i)__builtin_lsx_vnor_v((v16u8)_1, (v16u8)_2);
   1471 }
   1472 
   1473 #define __lsx_vnori_b(/*__m128i*/ _1, /*ui8*/ _2)                              \
   1474   ((__m128i)__builtin_lsx_vnori_b((v16u8)(_1), (_2)))
   1475 
   1476 extern __inline
   1477     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1478     __lsx_vxor_v(__m128i _1, __m128i _2) {
   1479   return (__m128i)__builtin_lsx_vxor_v((v16u8)_1, (v16u8)_2);
   1480 }
   1481 
   1482 #define __lsx_vxori_b(/*__m128i*/ _1, /*ui8*/ _2)                              \
   1483   ((__m128i)__builtin_lsx_vxori_b((v16u8)(_1), (_2)))
   1484 
   1485 extern __inline
   1486     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1487     __lsx_vbitsel_v(__m128i _1, __m128i _2, __m128i _3) {
   1488   return (__m128i)__builtin_lsx_vbitsel_v((v16u8)_1, (v16u8)_2, (v16u8)_3);
   1489 }
   1490 
   1491 #define __lsx_vbitseli_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)           \
   1492   ((__m128i)__builtin_lsx_vbitseli_b((v16u8)(_1), (v16u8)(_2), (_3)))
   1493 
   1494 #define __lsx_vshuf4i_b(/*__m128i*/ _1, /*ui8*/ _2)                            \
   1495   ((__m128i)__builtin_lsx_vshuf4i_b((v16i8)(_1), (_2)))
   1496 
   1497 #define __lsx_vshuf4i_h(/*__m128i*/ _1, /*ui8*/ _2)                            \
   1498   ((__m128i)__builtin_lsx_vshuf4i_h((v8i16)(_1), (_2)))
   1499 
   1500 #define __lsx_vshuf4i_w(/*__m128i*/ _1, /*ui8*/ _2)                            \
   1501   ((__m128i)__builtin_lsx_vshuf4i_w((v4i32)(_1), (_2)))
   1502 
   1503 extern __inline
   1504     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1505     __lsx_vreplgr2vr_b(int _1) {
   1506   return (__m128i)__builtin_lsx_vreplgr2vr_b((int)_1);
   1507 }
   1508 
   1509 extern __inline
   1510     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1511     __lsx_vreplgr2vr_h(int _1) {
   1512   return (__m128i)__builtin_lsx_vreplgr2vr_h((int)_1);
   1513 }
   1514 
   1515 extern __inline
   1516     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1517     __lsx_vreplgr2vr_w(int _1) {
   1518   return (__m128i)__builtin_lsx_vreplgr2vr_w((int)_1);
   1519 }
   1520 
   1521 extern __inline
   1522     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1523     __lsx_vreplgr2vr_d(long int _1) {
   1524   return (__m128i)__builtin_lsx_vreplgr2vr_d((long int)_1);
   1525 }
   1526 
   1527 extern __inline
   1528     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1529     __lsx_vpcnt_b(__m128i _1) {
   1530   return (__m128i)__builtin_lsx_vpcnt_b((v16i8)_1);
   1531 }
   1532 
   1533 extern __inline
   1534     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1535     __lsx_vpcnt_h(__m128i _1) {
   1536   return (__m128i)__builtin_lsx_vpcnt_h((v8i16)_1);
   1537 }
   1538 
   1539 extern __inline
   1540     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1541     __lsx_vpcnt_w(__m128i _1) {
   1542   return (__m128i)__builtin_lsx_vpcnt_w((v4i32)_1);
   1543 }
   1544 
   1545 extern __inline
   1546     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1547     __lsx_vpcnt_d(__m128i _1) {
   1548   return (__m128i)__builtin_lsx_vpcnt_d((v2i64)_1);
   1549 }
   1550 
   1551 extern __inline
   1552     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1553     __lsx_vclo_b(__m128i _1) {
   1554   return (__m128i)__builtin_lsx_vclo_b((v16i8)_1);
   1555 }
   1556 
   1557 extern __inline
   1558     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1559     __lsx_vclo_h(__m128i _1) {
   1560   return (__m128i)__builtin_lsx_vclo_h((v8i16)_1);
   1561 }
   1562 
   1563 extern __inline
   1564     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1565     __lsx_vclo_w(__m128i _1) {
   1566   return (__m128i)__builtin_lsx_vclo_w((v4i32)_1);
   1567 }
   1568 
   1569 extern __inline
   1570     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1571     __lsx_vclo_d(__m128i _1) {
   1572   return (__m128i)__builtin_lsx_vclo_d((v2i64)_1);
   1573 }
   1574 
   1575 extern __inline
   1576     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1577     __lsx_vclz_b(__m128i _1) {
   1578   return (__m128i)__builtin_lsx_vclz_b((v16i8)_1);
   1579 }
   1580 
   1581 extern __inline
   1582     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1583     __lsx_vclz_h(__m128i _1) {
   1584   return (__m128i)__builtin_lsx_vclz_h((v8i16)_1);
   1585 }
   1586 
   1587 extern __inline
   1588     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1589     __lsx_vclz_w(__m128i _1) {
   1590   return (__m128i)__builtin_lsx_vclz_w((v4i32)_1);
   1591 }
   1592 
   1593 extern __inline
   1594     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1595     __lsx_vclz_d(__m128i _1) {
   1596   return (__m128i)__builtin_lsx_vclz_d((v2i64)_1);
   1597 }
   1598 
   1599 #define __lsx_vpickve2gr_b(/*__m128i*/ _1, /*ui4*/ _2)                         \
   1600   ((int)__builtin_lsx_vpickve2gr_b((v16i8)(_1), (_2)))
   1601 
   1602 #define __lsx_vpickve2gr_h(/*__m128i*/ _1, /*ui3*/ _2)                         \
   1603   ((int)__builtin_lsx_vpickve2gr_h((v8i16)(_1), (_2)))
   1604 
   1605 #define __lsx_vpickve2gr_w(/*__m128i*/ _1, /*ui2*/ _2)                         \
   1606   ((int)__builtin_lsx_vpickve2gr_w((v4i32)(_1), (_2)))
   1607 
   1608 #define __lsx_vpickve2gr_d(/*__m128i*/ _1, /*ui1*/ _2)                         \
   1609   ((long int)__builtin_lsx_vpickve2gr_d((v2i64)(_1), (_2)))
   1610 
   1611 #define __lsx_vpickve2gr_bu(/*__m128i*/ _1, /*ui4*/ _2)                        \
   1612   ((unsigned int)__builtin_lsx_vpickve2gr_bu((v16i8)(_1), (_2)))
   1613 
   1614 #define __lsx_vpickve2gr_hu(/*__m128i*/ _1, /*ui3*/ _2)                        \
   1615   ((unsigned int)__builtin_lsx_vpickve2gr_hu((v8i16)(_1), (_2)))
   1616 
   1617 #define __lsx_vpickve2gr_wu(/*__m128i*/ _1, /*ui2*/ _2)                        \
   1618   ((unsigned int)__builtin_lsx_vpickve2gr_wu((v4i32)(_1), (_2)))
   1619 
   1620 #define __lsx_vpickve2gr_du(/*__m128i*/ _1, /*ui1*/ _2)                        \
   1621   ((unsigned long int)__builtin_lsx_vpickve2gr_du((v2i64)(_1), (_2)))
   1622 
   1623 #define __lsx_vinsgr2vr_b(/*__m128i*/ _1, /*int*/ _2, /*ui4*/ _3)              \
   1624   ((__m128i)__builtin_lsx_vinsgr2vr_b((v16i8)(_1), (int)(_2), (_3)))
   1625 
   1626 #define __lsx_vinsgr2vr_h(/*__m128i*/ _1, /*int*/ _2, /*ui3*/ _3)              \
   1627   ((__m128i)__builtin_lsx_vinsgr2vr_h((v8i16)(_1), (int)(_2), (_3)))
   1628 
   1629 #define __lsx_vinsgr2vr_w(/*__m128i*/ _1, /*int*/ _2, /*ui2*/ _3)              \
   1630   ((__m128i)__builtin_lsx_vinsgr2vr_w((v4i32)(_1), (int)(_2), (_3)))
   1631 
   1632 #define __lsx_vinsgr2vr_d(/*__m128i*/ _1, /*long int*/ _2, /*ui1*/ _3)         \
   1633   ((__m128i)__builtin_lsx_vinsgr2vr_d((v2i64)(_1), (long int)(_2), (_3)))
   1634 
   1635 extern __inline
   1636     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1637     __lsx_vfadd_s(__m128 _1, __m128 _2) {
   1638   return (__m128)__builtin_lsx_vfadd_s((v4f32)_1, (v4f32)_2);
   1639 }
   1640 
   1641 extern __inline
   1642     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1643     __lsx_vfadd_d(__m128d _1, __m128d _2) {
   1644   return (__m128d)__builtin_lsx_vfadd_d((v2f64)_1, (v2f64)_2);
   1645 }
   1646 
   1647 extern __inline
   1648     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1649     __lsx_vfsub_s(__m128 _1, __m128 _2) {
   1650   return (__m128)__builtin_lsx_vfsub_s((v4f32)_1, (v4f32)_2);
   1651 }
   1652 
   1653 extern __inline
   1654     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1655     __lsx_vfsub_d(__m128d _1, __m128d _2) {
   1656   return (__m128d)__builtin_lsx_vfsub_d((v2f64)_1, (v2f64)_2);
   1657 }
   1658 
   1659 extern __inline
   1660     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1661     __lsx_vfmul_s(__m128 _1, __m128 _2) {
   1662   return (__m128)__builtin_lsx_vfmul_s((v4f32)_1, (v4f32)_2);
   1663 }
   1664 
   1665 extern __inline
   1666     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1667     __lsx_vfmul_d(__m128d _1, __m128d _2) {
   1668   return (__m128d)__builtin_lsx_vfmul_d((v2f64)_1, (v2f64)_2);
   1669 }
   1670 
   1671 extern __inline
   1672     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1673     __lsx_vfdiv_s(__m128 _1, __m128 _2) {
   1674   return (__m128)__builtin_lsx_vfdiv_s((v4f32)_1, (v4f32)_2);
   1675 }
   1676 
   1677 extern __inline
   1678     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1679     __lsx_vfdiv_d(__m128d _1, __m128d _2) {
   1680   return (__m128d)__builtin_lsx_vfdiv_d((v2f64)_1, (v2f64)_2);
   1681 }
   1682 
   1683 extern __inline
   1684     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1685     __lsx_vfcvt_h_s(__m128 _1, __m128 _2) {
   1686   return (__m128i)__builtin_lsx_vfcvt_h_s((v4f32)_1, (v4f32)_2);
   1687 }
   1688 
   1689 extern __inline
   1690     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1691     __lsx_vfcvt_s_d(__m128d _1, __m128d _2) {
   1692   return (__m128)__builtin_lsx_vfcvt_s_d((v2f64)_1, (v2f64)_2);
   1693 }
   1694 
   1695 extern __inline
   1696     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1697     __lsx_vfmin_s(__m128 _1, __m128 _2) {
   1698   return (__m128)__builtin_lsx_vfmin_s((v4f32)_1, (v4f32)_2);
   1699 }
   1700 
   1701 extern __inline
   1702     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1703     __lsx_vfmin_d(__m128d _1, __m128d _2) {
   1704   return (__m128d)__builtin_lsx_vfmin_d((v2f64)_1, (v2f64)_2);
   1705 }
   1706 
   1707 extern __inline
   1708     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1709     __lsx_vfmina_s(__m128 _1, __m128 _2) {
   1710   return (__m128)__builtin_lsx_vfmina_s((v4f32)_1, (v4f32)_2);
   1711 }
   1712 
   1713 extern __inline
   1714     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1715     __lsx_vfmina_d(__m128d _1, __m128d _2) {
   1716   return (__m128d)__builtin_lsx_vfmina_d((v2f64)_1, (v2f64)_2);
   1717 }
   1718 
   1719 extern __inline
   1720     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1721     __lsx_vfmax_s(__m128 _1, __m128 _2) {
   1722   return (__m128)__builtin_lsx_vfmax_s((v4f32)_1, (v4f32)_2);
   1723 }
   1724 
   1725 extern __inline
   1726     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1727     __lsx_vfmax_d(__m128d _1, __m128d _2) {
   1728   return (__m128d)__builtin_lsx_vfmax_d((v2f64)_1, (v2f64)_2);
   1729 }
   1730 
   1731 extern __inline
   1732     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1733     __lsx_vfmaxa_s(__m128 _1, __m128 _2) {
   1734   return (__m128)__builtin_lsx_vfmaxa_s((v4f32)_1, (v4f32)_2);
   1735 }
   1736 
   1737 extern __inline
   1738     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1739     __lsx_vfmaxa_d(__m128d _1, __m128d _2) {
   1740   return (__m128d)__builtin_lsx_vfmaxa_d((v2f64)_1, (v2f64)_2);
   1741 }
   1742 
   1743 extern __inline
   1744     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1745     __lsx_vfclass_s(__m128 _1) {
   1746   return (__m128i)__builtin_lsx_vfclass_s((v4f32)_1);
   1747 }
   1748 
   1749 extern __inline
   1750     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1751     __lsx_vfclass_d(__m128d _1) {
   1752   return (__m128i)__builtin_lsx_vfclass_d((v2f64)_1);
   1753 }
   1754 
   1755 extern __inline
   1756     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1757     __lsx_vfsqrt_s(__m128 _1) {
   1758   return (__m128)__builtin_lsx_vfsqrt_s((v4f32)_1);
   1759 }
   1760 
   1761 extern __inline
   1762     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1763     __lsx_vfsqrt_d(__m128d _1) {
   1764   return (__m128d)__builtin_lsx_vfsqrt_d((v2f64)_1);
   1765 }
   1766 
   1767 extern __inline
   1768     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1769     __lsx_vfrecip_s(__m128 _1) {
   1770   return (__m128)__builtin_lsx_vfrecip_s((v4f32)_1);
   1771 }
   1772 
   1773 extern __inline
   1774     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1775     __lsx_vfrecip_d(__m128d _1) {
   1776   return (__m128d)__builtin_lsx_vfrecip_d((v2f64)_1);
   1777 }
   1778 
   1779 extern __inline
   1780     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1781     __lsx_vfrint_s(__m128 _1) {
   1782   return (__m128)__builtin_lsx_vfrint_s((v4f32)_1);
   1783 }
   1784 
   1785 extern __inline
   1786     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1787     __lsx_vfrint_d(__m128d _1) {
   1788   return (__m128d)__builtin_lsx_vfrint_d((v2f64)_1);
   1789 }
   1790 
   1791 extern __inline
   1792     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1793     __lsx_vfrsqrt_s(__m128 _1) {
   1794   return (__m128)__builtin_lsx_vfrsqrt_s((v4f32)_1);
   1795 }
   1796 
   1797 extern __inline
   1798     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1799     __lsx_vfrsqrt_d(__m128d _1) {
   1800   return (__m128d)__builtin_lsx_vfrsqrt_d((v2f64)_1);
   1801 }
   1802 
   1803 extern __inline
   1804     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1805     __lsx_vflogb_s(__m128 _1) {
   1806   return (__m128)__builtin_lsx_vflogb_s((v4f32)_1);
   1807 }
   1808 
   1809 extern __inline
   1810     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1811     __lsx_vflogb_d(__m128d _1) {
   1812   return (__m128d)__builtin_lsx_vflogb_d((v2f64)_1);
   1813 }
   1814 
   1815 extern __inline
   1816     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1817     __lsx_vfcvth_s_h(__m128i _1) {
   1818   return (__m128)__builtin_lsx_vfcvth_s_h((v8i16)_1);
   1819 }
   1820 
   1821 extern __inline
   1822     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1823     __lsx_vfcvth_d_s(__m128 _1) {
   1824   return (__m128d)__builtin_lsx_vfcvth_d_s((v4f32)_1);
   1825 }
   1826 
   1827 extern __inline
   1828     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1829     __lsx_vfcvtl_s_h(__m128i _1) {
   1830   return (__m128)__builtin_lsx_vfcvtl_s_h((v8i16)_1);
   1831 }
   1832 
   1833 extern __inline
   1834     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1835     __lsx_vfcvtl_d_s(__m128 _1) {
   1836   return (__m128d)__builtin_lsx_vfcvtl_d_s((v4f32)_1);
   1837 }
   1838 
   1839 extern __inline
   1840     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1841     __lsx_vftint_w_s(__m128 _1) {
   1842   return (__m128i)__builtin_lsx_vftint_w_s((v4f32)_1);
   1843 }
   1844 
   1845 extern __inline
   1846     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1847     __lsx_vftint_l_d(__m128d _1) {
   1848   return (__m128i)__builtin_lsx_vftint_l_d((v2f64)_1);
   1849 }
   1850 
   1851 extern __inline
   1852     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1853     __lsx_vftint_wu_s(__m128 _1) {
   1854   return (__m128i)__builtin_lsx_vftint_wu_s((v4f32)_1);
   1855 }
   1856 
   1857 extern __inline
   1858     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1859     __lsx_vftint_lu_d(__m128d _1) {
   1860   return (__m128i)__builtin_lsx_vftint_lu_d((v2f64)_1);
   1861 }
   1862 
   1863 extern __inline
   1864     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1865     __lsx_vftintrz_w_s(__m128 _1) {
   1866   return (__m128i)__builtin_lsx_vftintrz_w_s((v4f32)_1);
   1867 }
   1868 
   1869 extern __inline
   1870     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1871     __lsx_vftintrz_l_d(__m128d _1) {
   1872   return (__m128i)__builtin_lsx_vftintrz_l_d((v2f64)_1);
   1873 }
   1874 
   1875 extern __inline
   1876     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1877     __lsx_vftintrz_wu_s(__m128 _1) {
   1878   return (__m128i)__builtin_lsx_vftintrz_wu_s((v4f32)_1);
   1879 }
   1880 
   1881 extern __inline
   1882     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1883     __lsx_vftintrz_lu_d(__m128d _1) {
   1884   return (__m128i)__builtin_lsx_vftintrz_lu_d((v2f64)_1);
   1885 }
   1886 
   1887 extern __inline
   1888     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1889     __lsx_vffint_s_w(__m128i _1) {
   1890   return (__m128)__builtin_lsx_vffint_s_w((v4i32)_1);
   1891 }
   1892 
   1893 extern __inline
   1894     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1895     __lsx_vffint_d_l(__m128i _1) {
   1896   return (__m128d)__builtin_lsx_vffint_d_l((v2i64)_1);
   1897 }
   1898 
   1899 extern __inline
   1900     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   1901     __lsx_vffint_s_wu(__m128i _1) {
   1902   return (__m128)__builtin_lsx_vffint_s_wu((v4u32)_1);
   1903 }
   1904 
   1905 extern __inline
   1906     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   1907     __lsx_vffint_d_lu(__m128i _1) {
   1908   return (__m128d)__builtin_lsx_vffint_d_lu((v2u64)_1);
   1909 }
   1910 
   1911 extern __inline
   1912     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1913     __lsx_vandn_v(__m128i _1, __m128i _2) {
   1914   return (__m128i)__builtin_lsx_vandn_v((v16u8)_1, (v16u8)_2);
   1915 }
   1916 
   1917 extern __inline
   1918     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1919     __lsx_vneg_b(__m128i _1) {
   1920   return (__m128i)__builtin_lsx_vneg_b((v16i8)_1);
   1921 }
   1922 
   1923 extern __inline
   1924     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1925     __lsx_vneg_h(__m128i _1) {
   1926   return (__m128i)__builtin_lsx_vneg_h((v8i16)_1);
   1927 }
   1928 
   1929 extern __inline
   1930     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1931     __lsx_vneg_w(__m128i _1) {
   1932   return (__m128i)__builtin_lsx_vneg_w((v4i32)_1);
   1933 }
   1934 
   1935 extern __inline
   1936     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1937     __lsx_vneg_d(__m128i _1) {
   1938   return (__m128i)__builtin_lsx_vneg_d((v2i64)_1);
   1939 }
   1940 
   1941 extern __inline
   1942     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1943     __lsx_vmuh_b(__m128i _1, __m128i _2) {
   1944   return (__m128i)__builtin_lsx_vmuh_b((v16i8)_1, (v16i8)_2);
   1945 }
   1946 
   1947 extern __inline
   1948     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1949     __lsx_vmuh_h(__m128i _1, __m128i _2) {
   1950   return (__m128i)__builtin_lsx_vmuh_h((v8i16)_1, (v8i16)_2);
   1951 }
   1952 
   1953 extern __inline
   1954     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1955     __lsx_vmuh_w(__m128i _1, __m128i _2) {
   1956   return (__m128i)__builtin_lsx_vmuh_w((v4i32)_1, (v4i32)_2);
   1957 }
   1958 
   1959 extern __inline
   1960     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1961     __lsx_vmuh_d(__m128i _1, __m128i _2) {
   1962   return (__m128i)__builtin_lsx_vmuh_d((v2i64)_1, (v2i64)_2);
   1963 }
   1964 
   1965 extern __inline
   1966     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1967     __lsx_vmuh_bu(__m128i _1, __m128i _2) {
   1968   return (__m128i)__builtin_lsx_vmuh_bu((v16u8)_1, (v16u8)_2);
   1969 }
   1970 
   1971 extern __inline
   1972     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1973     __lsx_vmuh_hu(__m128i _1, __m128i _2) {
   1974   return (__m128i)__builtin_lsx_vmuh_hu((v8u16)_1, (v8u16)_2);
   1975 }
   1976 
   1977 extern __inline
   1978     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1979     __lsx_vmuh_wu(__m128i _1, __m128i _2) {
   1980   return (__m128i)__builtin_lsx_vmuh_wu((v4u32)_1, (v4u32)_2);
   1981 }
   1982 
   1983 extern __inline
   1984     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   1985     __lsx_vmuh_du(__m128i _1, __m128i _2) {
   1986   return (__m128i)__builtin_lsx_vmuh_du((v2u64)_1, (v2u64)_2);
   1987 }
   1988 
   1989 #define __lsx_vsllwil_h_b(/*__m128i*/ _1, /*ui3*/ _2)                          \
   1990   ((__m128i)__builtin_lsx_vsllwil_h_b((v16i8)(_1), (_2)))
   1991 
   1992 #define __lsx_vsllwil_w_h(/*__m128i*/ _1, /*ui4*/ _2)                          \
   1993   ((__m128i)__builtin_lsx_vsllwil_w_h((v8i16)(_1), (_2)))
   1994 
   1995 #define __lsx_vsllwil_d_w(/*__m128i*/ _1, /*ui5*/ _2)                          \
   1996   ((__m128i)__builtin_lsx_vsllwil_d_w((v4i32)(_1), (_2)))
   1997 
   1998 #define __lsx_vsllwil_hu_bu(/*__m128i*/ _1, /*ui3*/ _2)                        \
   1999   ((__m128i)__builtin_lsx_vsllwil_hu_bu((v16u8)(_1), (_2)))
   2000 
   2001 #define __lsx_vsllwil_wu_hu(/*__m128i*/ _1, /*ui4*/ _2)                        \
   2002   ((__m128i)__builtin_lsx_vsllwil_wu_hu((v8u16)(_1), (_2)))
   2003 
   2004 #define __lsx_vsllwil_du_wu(/*__m128i*/ _1, /*ui5*/ _2)                        \
   2005   ((__m128i)__builtin_lsx_vsllwil_du_wu((v4u32)(_1), (_2)))
   2006 
   2007 extern __inline
   2008     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2009     __lsx_vsran_b_h(__m128i _1, __m128i _2) {
   2010   return (__m128i)__builtin_lsx_vsran_b_h((v8i16)_1, (v8i16)_2);
   2011 }
   2012 
   2013 extern __inline
   2014     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2015     __lsx_vsran_h_w(__m128i _1, __m128i _2) {
   2016   return (__m128i)__builtin_lsx_vsran_h_w((v4i32)_1, (v4i32)_2);
   2017 }
   2018 
   2019 extern __inline
   2020     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2021     __lsx_vsran_w_d(__m128i _1, __m128i _2) {
   2022   return (__m128i)__builtin_lsx_vsran_w_d((v2i64)_1, (v2i64)_2);
   2023 }
   2024 
   2025 extern __inline
   2026     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2027     __lsx_vssran_b_h(__m128i _1, __m128i _2) {
   2028   return (__m128i)__builtin_lsx_vssran_b_h((v8i16)_1, (v8i16)_2);
   2029 }
   2030 
   2031 extern __inline
   2032     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2033     __lsx_vssran_h_w(__m128i _1, __m128i _2) {
   2034   return (__m128i)__builtin_lsx_vssran_h_w((v4i32)_1, (v4i32)_2);
   2035 }
   2036 
   2037 extern __inline
   2038     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2039     __lsx_vssran_w_d(__m128i _1, __m128i _2) {
   2040   return (__m128i)__builtin_lsx_vssran_w_d((v2i64)_1, (v2i64)_2);
   2041 }
   2042 
   2043 extern __inline
   2044     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2045     __lsx_vssran_bu_h(__m128i _1, __m128i _2) {
   2046   return (__m128i)__builtin_lsx_vssran_bu_h((v8u16)_1, (v8u16)_2);
   2047 }
   2048 
   2049 extern __inline
   2050     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2051     __lsx_vssran_hu_w(__m128i _1, __m128i _2) {
   2052   return (__m128i)__builtin_lsx_vssran_hu_w((v4u32)_1, (v4u32)_2);
   2053 }
   2054 
   2055 extern __inline
   2056     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2057     __lsx_vssran_wu_d(__m128i _1, __m128i _2) {
   2058   return (__m128i)__builtin_lsx_vssran_wu_d((v2u64)_1, (v2u64)_2);
   2059 }
   2060 
   2061 extern __inline
   2062     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2063     __lsx_vsrarn_b_h(__m128i _1, __m128i _2) {
   2064   return (__m128i)__builtin_lsx_vsrarn_b_h((v8i16)_1, (v8i16)_2);
   2065 }
   2066 
   2067 extern __inline
   2068     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2069     __lsx_vsrarn_h_w(__m128i _1, __m128i _2) {
   2070   return (__m128i)__builtin_lsx_vsrarn_h_w((v4i32)_1, (v4i32)_2);
   2071 }
   2072 
   2073 extern __inline
   2074     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2075     __lsx_vsrarn_w_d(__m128i _1, __m128i _2) {
   2076   return (__m128i)__builtin_lsx_vsrarn_w_d((v2i64)_1, (v2i64)_2);
   2077 }
   2078 
   2079 extern __inline
   2080     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2081     __lsx_vssrarn_b_h(__m128i _1, __m128i _2) {
   2082   return (__m128i)__builtin_lsx_vssrarn_b_h((v8i16)_1, (v8i16)_2);
   2083 }
   2084 
   2085 extern __inline
   2086     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2087     __lsx_vssrarn_h_w(__m128i _1, __m128i _2) {
   2088   return (__m128i)__builtin_lsx_vssrarn_h_w((v4i32)_1, (v4i32)_2);
   2089 }
   2090 
   2091 extern __inline
   2092     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2093     __lsx_vssrarn_w_d(__m128i _1, __m128i _2) {
   2094   return (__m128i)__builtin_lsx_vssrarn_w_d((v2i64)_1, (v2i64)_2);
   2095 }
   2096 
   2097 extern __inline
   2098     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2099     __lsx_vssrarn_bu_h(__m128i _1, __m128i _2) {
   2100   return (__m128i)__builtin_lsx_vssrarn_bu_h((v8u16)_1, (v8u16)_2);
   2101 }
   2102 
   2103 extern __inline
   2104     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2105     __lsx_vssrarn_hu_w(__m128i _1, __m128i _2) {
   2106   return (__m128i)__builtin_lsx_vssrarn_hu_w((v4u32)_1, (v4u32)_2);
   2107 }
   2108 
   2109 extern __inline
   2110     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2111     __lsx_vssrarn_wu_d(__m128i _1, __m128i _2) {
   2112   return (__m128i)__builtin_lsx_vssrarn_wu_d((v2u64)_1, (v2u64)_2);
   2113 }
   2114 
   2115 extern __inline
   2116     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2117     __lsx_vsrln_b_h(__m128i _1, __m128i _2) {
   2118   return (__m128i)__builtin_lsx_vsrln_b_h((v8i16)_1, (v8i16)_2);
   2119 }
   2120 
   2121 extern __inline
   2122     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2123     __lsx_vsrln_h_w(__m128i _1, __m128i _2) {
   2124   return (__m128i)__builtin_lsx_vsrln_h_w((v4i32)_1, (v4i32)_2);
   2125 }
   2126 
   2127 extern __inline
   2128     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2129     __lsx_vsrln_w_d(__m128i _1, __m128i _2) {
   2130   return (__m128i)__builtin_lsx_vsrln_w_d((v2i64)_1, (v2i64)_2);
   2131 }
   2132 
   2133 extern __inline
   2134     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2135     __lsx_vssrln_bu_h(__m128i _1, __m128i _2) {
   2136   return (__m128i)__builtin_lsx_vssrln_bu_h((v8u16)_1, (v8u16)_2);
   2137 }
   2138 
   2139 extern __inline
   2140     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2141     __lsx_vssrln_hu_w(__m128i _1, __m128i _2) {
   2142   return (__m128i)__builtin_lsx_vssrln_hu_w((v4u32)_1, (v4u32)_2);
   2143 }
   2144 
   2145 extern __inline
   2146     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2147     __lsx_vssrln_wu_d(__m128i _1, __m128i _2) {
   2148   return (__m128i)__builtin_lsx_vssrln_wu_d((v2u64)_1, (v2u64)_2);
   2149 }
   2150 
   2151 extern __inline
   2152     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2153     __lsx_vsrlrn_b_h(__m128i _1, __m128i _2) {
   2154   return (__m128i)__builtin_lsx_vsrlrn_b_h((v8i16)_1, (v8i16)_2);
   2155 }
   2156 
   2157 extern __inline
   2158     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2159     __lsx_vsrlrn_h_w(__m128i _1, __m128i _2) {
   2160   return (__m128i)__builtin_lsx_vsrlrn_h_w((v4i32)_1, (v4i32)_2);
   2161 }
   2162 
   2163 extern __inline
   2164     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2165     __lsx_vsrlrn_w_d(__m128i _1, __m128i _2) {
   2166   return (__m128i)__builtin_lsx_vsrlrn_w_d((v2i64)_1, (v2i64)_2);
   2167 }
   2168 
   2169 extern __inline
   2170     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2171     __lsx_vssrlrn_bu_h(__m128i _1, __m128i _2) {
   2172   return (__m128i)__builtin_lsx_vssrlrn_bu_h((v8u16)_1, (v8u16)_2);
   2173 }
   2174 
   2175 extern __inline
   2176     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2177     __lsx_vssrlrn_hu_w(__m128i _1, __m128i _2) {
   2178   return (__m128i)__builtin_lsx_vssrlrn_hu_w((v4u32)_1, (v4u32)_2);
   2179 }
   2180 
   2181 extern __inline
   2182     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2183     __lsx_vssrlrn_wu_d(__m128i _1, __m128i _2) {
   2184   return (__m128i)__builtin_lsx_vssrlrn_wu_d((v2u64)_1, (v2u64)_2);
   2185 }
   2186 
   2187 #define __lsx_vfrstpi_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)            \
   2188   ((__m128i)__builtin_lsx_vfrstpi_b((v16i8)(_1), (v16i8)(_2), (_3)))
   2189 
   2190 #define __lsx_vfrstpi_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)            \
   2191   ((__m128i)__builtin_lsx_vfrstpi_h((v8i16)(_1), (v8i16)(_2), (_3)))
   2192 
   2193 extern __inline
   2194     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2195     __lsx_vfrstp_b(__m128i _1, __m128i _2, __m128i _3) {
   2196   return (__m128i)__builtin_lsx_vfrstp_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
   2197 }
   2198 
   2199 extern __inline
   2200     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2201     __lsx_vfrstp_h(__m128i _1, __m128i _2, __m128i _3) {
   2202   return (__m128i)__builtin_lsx_vfrstp_h((v8i16)_1, (v8i16)_2, (v8i16)_3);
   2203 }
   2204 
   2205 #define __lsx_vshuf4i_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)            \
   2206   ((__m128i)__builtin_lsx_vshuf4i_d((v2i64)(_1), (v2i64)(_2), (_3)))
   2207 
   2208 #define __lsx_vbsrl_v(/*__m128i*/ _1, /*ui5*/ _2)                              \
   2209   ((__m128i)__builtin_lsx_vbsrl_v((v16i8)(_1), (_2)))
   2210 
   2211 #define __lsx_vbsll_v(/*__m128i*/ _1, /*ui5*/ _2)                              \
   2212   ((__m128i)__builtin_lsx_vbsll_v((v16i8)(_1), (_2)))
   2213 
   2214 #define __lsx_vextrins_b(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)           \
   2215   ((__m128i)__builtin_lsx_vextrins_b((v16i8)(_1), (v16i8)(_2), (_3)))
   2216 
   2217 #define __lsx_vextrins_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)           \
   2218   ((__m128i)__builtin_lsx_vextrins_h((v8i16)(_1), (v8i16)(_2), (_3)))
   2219 
   2220 #define __lsx_vextrins_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)           \
   2221   ((__m128i)__builtin_lsx_vextrins_w((v4i32)(_1), (v4i32)(_2), (_3)))
   2222 
   2223 #define __lsx_vextrins_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)           \
   2224   ((__m128i)__builtin_lsx_vextrins_d((v2i64)(_1), (v2i64)(_2), (_3)))
   2225 
   2226 extern __inline
   2227     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2228     __lsx_vmskltz_b(__m128i _1) {
   2229   return (__m128i)__builtin_lsx_vmskltz_b((v16i8)_1);
   2230 }
   2231 
   2232 extern __inline
   2233     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2234     __lsx_vmskltz_h(__m128i _1) {
   2235   return (__m128i)__builtin_lsx_vmskltz_h((v8i16)_1);
   2236 }
   2237 
   2238 extern __inline
   2239     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2240     __lsx_vmskltz_w(__m128i _1) {
   2241   return (__m128i)__builtin_lsx_vmskltz_w((v4i32)_1);
   2242 }
   2243 
   2244 extern __inline
   2245     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2246     __lsx_vmskltz_d(__m128i _1) {
   2247   return (__m128i)__builtin_lsx_vmskltz_d((v2i64)_1);
   2248 }
   2249 
   2250 extern __inline
   2251     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2252     __lsx_vsigncov_b(__m128i _1, __m128i _2) {
   2253   return (__m128i)__builtin_lsx_vsigncov_b((v16i8)_1, (v16i8)_2);
   2254 }
   2255 
   2256 extern __inline
   2257     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2258     __lsx_vsigncov_h(__m128i _1, __m128i _2) {
   2259   return (__m128i)__builtin_lsx_vsigncov_h((v8i16)_1, (v8i16)_2);
   2260 }
   2261 
   2262 extern __inline
   2263     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2264     __lsx_vsigncov_w(__m128i _1, __m128i _2) {
   2265   return (__m128i)__builtin_lsx_vsigncov_w((v4i32)_1, (v4i32)_2);
   2266 }
   2267 
   2268 extern __inline
   2269     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2270     __lsx_vsigncov_d(__m128i _1, __m128i _2) {
   2271   return (__m128i)__builtin_lsx_vsigncov_d((v2i64)_1, (v2i64)_2);
   2272 }
   2273 
   2274 extern __inline
   2275     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2276     __lsx_vfmadd_s(__m128 _1, __m128 _2, __m128 _3) {
   2277   return (__m128)__builtin_lsx_vfmadd_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
   2278 }
   2279 
   2280 extern __inline
   2281     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2282     __lsx_vfmadd_d(__m128d _1, __m128d _2, __m128d _3) {
   2283   return (__m128d)__builtin_lsx_vfmadd_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
   2284 }
   2285 
   2286 extern __inline
   2287     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2288     __lsx_vfmsub_s(__m128 _1, __m128 _2, __m128 _3) {
   2289   return (__m128)__builtin_lsx_vfmsub_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
   2290 }
   2291 
   2292 extern __inline
   2293     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2294     __lsx_vfmsub_d(__m128d _1, __m128d _2, __m128d _3) {
   2295   return (__m128d)__builtin_lsx_vfmsub_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
   2296 }
   2297 
   2298 extern __inline
   2299     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2300     __lsx_vfnmadd_s(__m128 _1, __m128 _2, __m128 _3) {
   2301   return (__m128)__builtin_lsx_vfnmadd_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
   2302 }
   2303 
   2304 extern __inline
   2305     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2306     __lsx_vfnmadd_d(__m128d _1, __m128d _2, __m128d _3) {
   2307   return (__m128d)__builtin_lsx_vfnmadd_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
   2308 }
   2309 
   2310 extern __inline
   2311     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2312     __lsx_vfnmsub_s(__m128 _1, __m128 _2, __m128 _3) {
   2313   return (__m128)__builtin_lsx_vfnmsub_s((v4f32)_1, (v4f32)_2, (v4f32)_3);
   2314 }
   2315 
   2316 extern __inline
   2317     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2318     __lsx_vfnmsub_d(__m128d _1, __m128d _2, __m128d _3) {
   2319   return (__m128d)__builtin_lsx_vfnmsub_d((v2f64)_1, (v2f64)_2, (v2f64)_3);
   2320 }
   2321 
   2322 extern __inline
   2323     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2324     __lsx_vftintrne_w_s(__m128 _1) {
   2325   return (__m128i)__builtin_lsx_vftintrne_w_s((v4f32)_1);
   2326 }
   2327 
   2328 extern __inline
   2329     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2330     __lsx_vftintrne_l_d(__m128d _1) {
   2331   return (__m128i)__builtin_lsx_vftintrne_l_d((v2f64)_1);
   2332 }
   2333 
   2334 extern __inline
   2335     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2336     __lsx_vftintrp_w_s(__m128 _1) {
   2337   return (__m128i)__builtin_lsx_vftintrp_w_s((v4f32)_1);
   2338 }
   2339 
   2340 extern __inline
   2341     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2342     __lsx_vftintrp_l_d(__m128d _1) {
   2343   return (__m128i)__builtin_lsx_vftintrp_l_d((v2f64)_1);
   2344 }
   2345 
   2346 extern __inline
   2347     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2348     __lsx_vftintrm_w_s(__m128 _1) {
   2349   return (__m128i)__builtin_lsx_vftintrm_w_s((v4f32)_1);
   2350 }
   2351 
   2352 extern __inline
   2353     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2354     __lsx_vftintrm_l_d(__m128d _1) {
   2355   return (__m128i)__builtin_lsx_vftintrm_l_d((v2f64)_1);
   2356 }
   2357 
   2358 extern __inline
   2359     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2360     __lsx_vftint_w_d(__m128d _1, __m128d _2) {
   2361   return (__m128i)__builtin_lsx_vftint_w_d((v2f64)_1, (v2f64)_2);
   2362 }
   2363 
   2364 extern __inline
   2365     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2366     __lsx_vffint_s_l(__m128i _1, __m128i _2) {
   2367   return (__m128)__builtin_lsx_vffint_s_l((v2i64)_1, (v2i64)_2);
   2368 }
   2369 
   2370 extern __inline
   2371     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2372     __lsx_vftintrz_w_d(__m128d _1, __m128d _2) {
   2373   return (__m128i)__builtin_lsx_vftintrz_w_d((v2f64)_1, (v2f64)_2);
   2374 }
   2375 
   2376 extern __inline
   2377     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2378     __lsx_vftintrp_w_d(__m128d _1, __m128d _2) {
   2379   return (__m128i)__builtin_lsx_vftintrp_w_d((v2f64)_1, (v2f64)_2);
   2380 }
   2381 
   2382 extern __inline
   2383     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2384     __lsx_vftintrm_w_d(__m128d _1, __m128d _2) {
   2385   return (__m128i)__builtin_lsx_vftintrm_w_d((v2f64)_1, (v2f64)_2);
   2386 }
   2387 
   2388 extern __inline
   2389     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2390     __lsx_vftintrne_w_d(__m128d _1, __m128d _2) {
   2391   return (__m128i)__builtin_lsx_vftintrne_w_d((v2f64)_1, (v2f64)_2);
   2392 }
   2393 
   2394 extern __inline
   2395     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2396     __lsx_vftintl_l_s(__m128 _1) {
   2397   return (__m128i)__builtin_lsx_vftintl_l_s((v4f32)_1);
   2398 }
   2399 
   2400 extern __inline
   2401     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2402     __lsx_vftinth_l_s(__m128 _1) {
   2403   return (__m128i)__builtin_lsx_vftinth_l_s((v4f32)_1);
   2404 }
   2405 
   2406 extern __inline
   2407     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2408     __lsx_vffinth_d_w(__m128i _1) {
   2409   return (__m128d)__builtin_lsx_vffinth_d_w((v4i32)_1);
   2410 }
   2411 
   2412 extern __inline
   2413     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2414     __lsx_vffintl_d_w(__m128i _1) {
   2415   return (__m128d)__builtin_lsx_vffintl_d_w((v4i32)_1);
   2416 }
   2417 
   2418 extern __inline
   2419     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2420     __lsx_vftintrzl_l_s(__m128 _1) {
   2421   return (__m128i)__builtin_lsx_vftintrzl_l_s((v4f32)_1);
   2422 }
   2423 
   2424 extern __inline
   2425     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2426     __lsx_vftintrzh_l_s(__m128 _1) {
   2427   return (__m128i)__builtin_lsx_vftintrzh_l_s((v4f32)_1);
   2428 }
   2429 
   2430 extern __inline
   2431     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2432     __lsx_vftintrpl_l_s(__m128 _1) {
   2433   return (__m128i)__builtin_lsx_vftintrpl_l_s((v4f32)_1);
   2434 }
   2435 
   2436 extern __inline
   2437     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2438     __lsx_vftintrph_l_s(__m128 _1) {
   2439   return (__m128i)__builtin_lsx_vftintrph_l_s((v4f32)_1);
   2440 }
   2441 
   2442 extern __inline
   2443     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2444     __lsx_vftintrml_l_s(__m128 _1) {
   2445   return (__m128i)__builtin_lsx_vftintrml_l_s((v4f32)_1);
   2446 }
   2447 
   2448 extern __inline
   2449     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2450     __lsx_vftintrmh_l_s(__m128 _1) {
   2451   return (__m128i)__builtin_lsx_vftintrmh_l_s((v4f32)_1);
   2452 }
   2453 
   2454 extern __inline
   2455     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2456     __lsx_vftintrnel_l_s(__m128 _1) {
   2457   return (__m128i)__builtin_lsx_vftintrnel_l_s((v4f32)_1);
   2458 }
   2459 
   2460 extern __inline
   2461     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2462     __lsx_vftintrneh_l_s(__m128 _1) {
   2463   return (__m128i)__builtin_lsx_vftintrneh_l_s((v4f32)_1);
   2464 }
   2465 
   2466 extern __inline
   2467     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2468     __lsx_vfrintrne_s(__m128 _1) {
   2469   return (__m128)__builtin_lsx_vfrintrne_s((v4f32)_1);
   2470 }
   2471 
   2472 extern __inline
   2473     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2474     __lsx_vfrintrne_d(__m128d _1) {
   2475   return (__m128d)__builtin_lsx_vfrintrne_d((v2f64)_1);
   2476 }
   2477 
   2478 extern __inline
   2479     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2480     __lsx_vfrintrz_s(__m128 _1) {
   2481   return (__m128)__builtin_lsx_vfrintrz_s((v4f32)_1);
   2482 }
   2483 
   2484 extern __inline
   2485     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2486     __lsx_vfrintrz_d(__m128d _1) {
   2487   return (__m128d)__builtin_lsx_vfrintrz_d((v2f64)_1);
   2488 }
   2489 
   2490 extern __inline
   2491     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2492     __lsx_vfrintrp_s(__m128 _1) {
   2493   return (__m128)__builtin_lsx_vfrintrp_s((v4f32)_1);
   2494 }
   2495 
   2496 extern __inline
   2497     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2498     __lsx_vfrintrp_d(__m128d _1) {
   2499   return (__m128d)__builtin_lsx_vfrintrp_d((v2f64)_1);
   2500 }
   2501 
   2502 extern __inline
   2503     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   2504     __lsx_vfrintrm_s(__m128 _1) {
   2505   return (__m128)__builtin_lsx_vfrintrm_s((v4f32)_1);
   2506 }
   2507 
   2508 extern __inline
   2509     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   2510     __lsx_vfrintrm_d(__m128d _1) {
   2511   return (__m128d)__builtin_lsx_vfrintrm_d((v2f64)_1);
   2512 }
   2513 
   2514 #define __lsx_vstelm_b(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4)  \
   2515   ((void)__builtin_lsx_vstelm_b((v16i8)(_1), (void *)(_2), (_3), (_4)))
   2516 
   2517 #define __lsx_vstelm_h(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4)  \
   2518   ((void)__builtin_lsx_vstelm_h((v8i16)(_1), (void *)(_2), (_3), (_4)))
   2519 
   2520 #define __lsx_vstelm_w(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4)  \
   2521   ((void)__builtin_lsx_vstelm_w((v4i32)(_1), (void *)(_2), (_3), (_4)))
   2522 
   2523 #define __lsx_vstelm_d(/*__m128i*/ _1, /*void **/ _2, /*si8*/ _3, /*idx*/ _4)  \
   2524   ((void)__builtin_lsx_vstelm_d((v2i64)(_1), (void *)(_2), (_3), (_4)))
   2525 
   2526 extern __inline
   2527     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2528     __lsx_vaddwev_d_w(__m128i _1, __m128i _2) {
   2529   return (__m128i)__builtin_lsx_vaddwev_d_w((v4i32)_1, (v4i32)_2);
   2530 }
   2531 
   2532 extern __inline
   2533     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2534     __lsx_vaddwev_w_h(__m128i _1, __m128i _2) {
   2535   return (__m128i)__builtin_lsx_vaddwev_w_h((v8i16)_1, (v8i16)_2);
   2536 }
   2537 
   2538 extern __inline
   2539     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2540     __lsx_vaddwev_h_b(__m128i _1, __m128i _2) {
   2541   return (__m128i)__builtin_lsx_vaddwev_h_b((v16i8)_1, (v16i8)_2);
   2542 }
   2543 
   2544 extern __inline
   2545     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2546     __lsx_vaddwod_d_w(__m128i _1, __m128i _2) {
   2547   return (__m128i)__builtin_lsx_vaddwod_d_w((v4i32)_1, (v4i32)_2);
   2548 }
   2549 
   2550 extern __inline
   2551     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2552     __lsx_vaddwod_w_h(__m128i _1, __m128i _2) {
   2553   return (__m128i)__builtin_lsx_vaddwod_w_h((v8i16)_1, (v8i16)_2);
   2554 }
   2555 
   2556 extern __inline
   2557     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2558     __lsx_vaddwod_h_b(__m128i _1, __m128i _2) {
   2559   return (__m128i)__builtin_lsx_vaddwod_h_b((v16i8)_1, (v16i8)_2);
   2560 }
   2561 
   2562 extern __inline
   2563     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2564     __lsx_vaddwev_d_wu(__m128i _1, __m128i _2) {
   2565   return (__m128i)__builtin_lsx_vaddwev_d_wu((v4u32)_1, (v4u32)_2);
   2566 }
   2567 
   2568 extern __inline
   2569     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2570     __lsx_vaddwev_w_hu(__m128i _1, __m128i _2) {
   2571   return (__m128i)__builtin_lsx_vaddwev_w_hu((v8u16)_1, (v8u16)_2);
   2572 }
   2573 
   2574 extern __inline
   2575     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2576     __lsx_vaddwev_h_bu(__m128i _1, __m128i _2) {
   2577   return (__m128i)__builtin_lsx_vaddwev_h_bu((v16u8)_1, (v16u8)_2);
   2578 }
   2579 
   2580 extern __inline
   2581     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2582     __lsx_vaddwod_d_wu(__m128i _1, __m128i _2) {
   2583   return (__m128i)__builtin_lsx_vaddwod_d_wu((v4u32)_1, (v4u32)_2);
   2584 }
   2585 
   2586 extern __inline
   2587     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2588     __lsx_vaddwod_w_hu(__m128i _1, __m128i _2) {
   2589   return (__m128i)__builtin_lsx_vaddwod_w_hu((v8u16)_1, (v8u16)_2);
   2590 }
   2591 
   2592 extern __inline
   2593     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2594     __lsx_vaddwod_h_bu(__m128i _1, __m128i _2) {
   2595   return (__m128i)__builtin_lsx_vaddwod_h_bu((v16u8)_1, (v16u8)_2);
   2596 }
   2597 
   2598 extern __inline
   2599     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2600     __lsx_vaddwev_d_wu_w(__m128i _1, __m128i _2) {
   2601   return (__m128i)__builtin_lsx_vaddwev_d_wu_w((v4u32)_1, (v4i32)_2);
   2602 }
   2603 
   2604 extern __inline
   2605     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2606     __lsx_vaddwev_w_hu_h(__m128i _1, __m128i _2) {
   2607   return (__m128i)__builtin_lsx_vaddwev_w_hu_h((v8u16)_1, (v8i16)_2);
   2608 }
   2609 
   2610 extern __inline
   2611     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2612     __lsx_vaddwev_h_bu_b(__m128i _1, __m128i _2) {
   2613   return (__m128i)__builtin_lsx_vaddwev_h_bu_b((v16u8)_1, (v16i8)_2);
   2614 }
   2615 
   2616 extern __inline
   2617     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2618     __lsx_vaddwod_d_wu_w(__m128i _1, __m128i _2) {
   2619   return (__m128i)__builtin_lsx_vaddwod_d_wu_w((v4u32)_1, (v4i32)_2);
   2620 }
   2621 
   2622 extern __inline
   2623     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2624     __lsx_vaddwod_w_hu_h(__m128i _1, __m128i _2) {
   2625   return (__m128i)__builtin_lsx_vaddwod_w_hu_h((v8u16)_1, (v8i16)_2);
   2626 }
   2627 
   2628 extern __inline
   2629     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2630     __lsx_vaddwod_h_bu_b(__m128i _1, __m128i _2) {
   2631   return (__m128i)__builtin_lsx_vaddwod_h_bu_b((v16u8)_1, (v16i8)_2);
   2632 }
   2633 
   2634 extern __inline
   2635     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2636     __lsx_vsubwev_d_w(__m128i _1, __m128i _2) {
   2637   return (__m128i)__builtin_lsx_vsubwev_d_w((v4i32)_1, (v4i32)_2);
   2638 }
   2639 
   2640 extern __inline
   2641     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2642     __lsx_vsubwev_w_h(__m128i _1, __m128i _2) {
   2643   return (__m128i)__builtin_lsx_vsubwev_w_h((v8i16)_1, (v8i16)_2);
   2644 }
   2645 
   2646 extern __inline
   2647     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2648     __lsx_vsubwev_h_b(__m128i _1, __m128i _2) {
   2649   return (__m128i)__builtin_lsx_vsubwev_h_b((v16i8)_1, (v16i8)_2);
   2650 }
   2651 
   2652 extern __inline
   2653     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2654     __lsx_vsubwod_d_w(__m128i _1, __m128i _2) {
   2655   return (__m128i)__builtin_lsx_vsubwod_d_w((v4i32)_1, (v4i32)_2);
   2656 }
   2657 
   2658 extern __inline
   2659     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2660     __lsx_vsubwod_w_h(__m128i _1, __m128i _2) {
   2661   return (__m128i)__builtin_lsx_vsubwod_w_h((v8i16)_1, (v8i16)_2);
   2662 }
   2663 
   2664 extern __inline
   2665     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2666     __lsx_vsubwod_h_b(__m128i _1, __m128i _2) {
   2667   return (__m128i)__builtin_lsx_vsubwod_h_b((v16i8)_1, (v16i8)_2);
   2668 }
   2669 
   2670 extern __inline
   2671     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2672     __lsx_vsubwev_d_wu(__m128i _1, __m128i _2) {
   2673   return (__m128i)__builtin_lsx_vsubwev_d_wu((v4u32)_1, (v4u32)_2);
   2674 }
   2675 
   2676 extern __inline
   2677     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2678     __lsx_vsubwev_w_hu(__m128i _1, __m128i _2) {
   2679   return (__m128i)__builtin_lsx_vsubwev_w_hu((v8u16)_1, (v8u16)_2);
   2680 }
   2681 
   2682 extern __inline
   2683     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2684     __lsx_vsubwev_h_bu(__m128i _1, __m128i _2) {
   2685   return (__m128i)__builtin_lsx_vsubwev_h_bu((v16u8)_1, (v16u8)_2);
   2686 }
   2687 
   2688 extern __inline
   2689     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2690     __lsx_vsubwod_d_wu(__m128i _1, __m128i _2) {
   2691   return (__m128i)__builtin_lsx_vsubwod_d_wu((v4u32)_1, (v4u32)_2);
   2692 }
   2693 
   2694 extern __inline
   2695     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2696     __lsx_vsubwod_w_hu(__m128i _1, __m128i _2) {
   2697   return (__m128i)__builtin_lsx_vsubwod_w_hu((v8u16)_1, (v8u16)_2);
   2698 }
   2699 
   2700 extern __inline
   2701     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2702     __lsx_vsubwod_h_bu(__m128i _1, __m128i _2) {
   2703   return (__m128i)__builtin_lsx_vsubwod_h_bu((v16u8)_1, (v16u8)_2);
   2704 }
   2705 
   2706 extern __inline
   2707     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2708     __lsx_vaddwev_q_d(__m128i _1, __m128i _2) {
   2709   return (__m128i)__builtin_lsx_vaddwev_q_d((v2i64)_1, (v2i64)_2);
   2710 }
   2711 
   2712 extern __inline
   2713     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2714     __lsx_vaddwod_q_d(__m128i _1, __m128i _2) {
   2715   return (__m128i)__builtin_lsx_vaddwod_q_d((v2i64)_1, (v2i64)_2);
   2716 }
   2717 
   2718 extern __inline
   2719     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2720     __lsx_vaddwev_q_du(__m128i _1, __m128i _2) {
   2721   return (__m128i)__builtin_lsx_vaddwev_q_du((v2u64)_1, (v2u64)_2);
   2722 }
   2723 
   2724 extern __inline
   2725     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2726     __lsx_vaddwod_q_du(__m128i _1, __m128i _2) {
   2727   return (__m128i)__builtin_lsx_vaddwod_q_du((v2u64)_1, (v2u64)_2);
   2728 }
   2729 
   2730 extern __inline
   2731     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2732     __lsx_vsubwev_q_d(__m128i _1, __m128i _2) {
   2733   return (__m128i)__builtin_lsx_vsubwev_q_d((v2i64)_1, (v2i64)_2);
   2734 }
   2735 
   2736 extern __inline
   2737     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2738     __lsx_vsubwod_q_d(__m128i _1, __m128i _2) {
   2739   return (__m128i)__builtin_lsx_vsubwod_q_d((v2i64)_1, (v2i64)_2);
   2740 }
   2741 
   2742 extern __inline
   2743     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2744     __lsx_vsubwev_q_du(__m128i _1, __m128i _2) {
   2745   return (__m128i)__builtin_lsx_vsubwev_q_du((v2u64)_1, (v2u64)_2);
   2746 }
   2747 
   2748 extern __inline
   2749     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2750     __lsx_vsubwod_q_du(__m128i _1, __m128i _2) {
   2751   return (__m128i)__builtin_lsx_vsubwod_q_du((v2u64)_1, (v2u64)_2);
   2752 }
   2753 
   2754 extern __inline
   2755     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2756     __lsx_vaddwev_q_du_d(__m128i _1, __m128i _2) {
   2757   return (__m128i)__builtin_lsx_vaddwev_q_du_d((v2u64)_1, (v2i64)_2);
   2758 }
   2759 
   2760 extern __inline
   2761     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2762     __lsx_vaddwod_q_du_d(__m128i _1, __m128i _2) {
   2763   return (__m128i)__builtin_lsx_vaddwod_q_du_d((v2u64)_1, (v2i64)_2);
   2764 }
   2765 
   2766 extern __inline
   2767     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2768     __lsx_vmulwev_d_w(__m128i _1, __m128i _2) {
   2769   return (__m128i)__builtin_lsx_vmulwev_d_w((v4i32)_1, (v4i32)_2);
   2770 }
   2771 
   2772 extern __inline
   2773     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2774     __lsx_vmulwev_w_h(__m128i _1, __m128i _2) {
   2775   return (__m128i)__builtin_lsx_vmulwev_w_h((v8i16)_1, (v8i16)_2);
   2776 }
   2777 
   2778 extern __inline
   2779     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2780     __lsx_vmulwev_h_b(__m128i _1, __m128i _2) {
   2781   return (__m128i)__builtin_lsx_vmulwev_h_b((v16i8)_1, (v16i8)_2);
   2782 }
   2783 
   2784 extern __inline
   2785     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2786     __lsx_vmulwod_d_w(__m128i _1, __m128i _2) {
   2787   return (__m128i)__builtin_lsx_vmulwod_d_w((v4i32)_1, (v4i32)_2);
   2788 }
   2789 
   2790 extern __inline
   2791     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2792     __lsx_vmulwod_w_h(__m128i _1, __m128i _2) {
   2793   return (__m128i)__builtin_lsx_vmulwod_w_h((v8i16)_1, (v8i16)_2);
   2794 }
   2795 
   2796 extern __inline
   2797     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2798     __lsx_vmulwod_h_b(__m128i _1, __m128i _2) {
   2799   return (__m128i)__builtin_lsx_vmulwod_h_b((v16i8)_1, (v16i8)_2);
   2800 }
   2801 
   2802 extern __inline
   2803     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2804     __lsx_vmulwev_d_wu(__m128i _1, __m128i _2) {
   2805   return (__m128i)__builtin_lsx_vmulwev_d_wu((v4u32)_1, (v4u32)_2);
   2806 }
   2807 
   2808 extern __inline
   2809     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2810     __lsx_vmulwev_w_hu(__m128i _1, __m128i _2) {
   2811   return (__m128i)__builtin_lsx_vmulwev_w_hu((v8u16)_1, (v8u16)_2);
   2812 }
   2813 
   2814 extern __inline
   2815     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2816     __lsx_vmulwev_h_bu(__m128i _1, __m128i _2) {
   2817   return (__m128i)__builtin_lsx_vmulwev_h_bu((v16u8)_1, (v16u8)_2);
   2818 }
   2819 
   2820 extern __inline
   2821     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2822     __lsx_vmulwod_d_wu(__m128i _1, __m128i _2) {
   2823   return (__m128i)__builtin_lsx_vmulwod_d_wu((v4u32)_1, (v4u32)_2);
   2824 }
   2825 
   2826 extern __inline
   2827     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2828     __lsx_vmulwod_w_hu(__m128i _1, __m128i _2) {
   2829   return (__m128i)__builtin_lsx_vmulwod_w_hu((v8u16)_1, (v8u16)_2);
   2830 }
   2831 
   2832 extern __inline
   2833     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2834     __lsx_vmulwod_h_bu(__m128i _1, __m128i _2) {
   2835   return (__m128i)__builtin_lsx_vmulwod_h_bu((v16u8)_1, (v16u8)_2);
   2836 }
   2837 
   2838 extern __inline
   2839     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2840     __lsx_vmulwev_d_wu_w(__m128i _1, __m128i _2) {
   2841   return (__m128i)__builtin_lsx_vmulwev_d_wu_w((v4u32)_1, (v4i32)_2);
   2842 }
   2843 
   2844 extern __inline
   2845     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2846     __lsx_vmulwev_w_hu_h(__m128i _1, __m128i _2) {
   2847   return (__m128i)__builtin_lsx_vmulwev_w_hu_h((v8u16)_1, (v8i16)_2);
   2848 }
   2849 
   2850 extern __inline
   2851     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2852     __lsx_vmulwev_h_bu_b(__m128i _1, __m128i _2) {
   2853   return (__m128i)__builtin_lsx_vmulwev_h_bu_b((v16u8)_1, (v16i8)_2);
   2854 }
   2855 
   2856 extern __inline
   2857     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2858     __lsx_vmulwod_d_wu_w(__m128i _1, __m128i _2) {
   2859   return (__m128i)__builtin_lsx_vmulwod_d_wu_w((v4u32)_1, (v4i32)_2);
   2860 }
   2861 
   2862 extern __inline
   2863     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2864     __lsx_vmulwod_w_hu_h(__m128i _1, __m128i _2) {
   2865   return (__m128i)__builtin_lsx_vmulwod_w_hu_h((v8u16)_1, (v8i16)_2);
   2866 }
   2867 
   2868 extern __inline
   2869     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2870     __lsx_vmulwod_h_bu_b(__m128i _1, __m128i _2) {
   2871   return (__m128i)__builtin_lsx_vmulwod_h_bu_b((v16u8)_1, (v16i8)_2);
   2872 }
   2873 
   2874 extern __inline
   2875     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2876     __lsx_vmulwev_q_d(__m128i _1, __m128i _2) {
   2877   return (__m128i)__builtin_lsx_vmulwev_q_d((v2i64)_1, (v2i64)_2);
   2878 }
   2879 
   2880 extern __inline
   2881     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2882     __lsx_vmulwod_q_d(__m128i _1, __m128i _2) {
   2883   return (__m128i)__builtin_lsx_vmulwod_q_d((v2i64)_1, (v2i64)_2);
   2884 }
   2885 
   2886 extern __inline
   2887     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2888     __lsx_vmulwev_q_du(__m128i _1, __m128i _2) {
   2889   return (__m128i)__builtin_lsx_vmulwev_q_du((v2u64)_1, (v2u64)_2);
   2890 }
   2891 
   2892 extern __inline
   2893     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2894     __lsx_vmulwod_q_du(__m128i _1, __m128i _2) {
   2895   return (__m128i)__builtin_lsx_vmulwod_q_du((v2u64)_1, (v2u64)_2);
   2896 }
   2897 
   2898 extern __inline
   2899     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2900     __lsx_vmulwev_q_du_d(__m128i _1, __m128i _2) {
   2901   return (__m128i)__builtin_lsx_vmulwev_q_du_d((v2u64)_1, (v2i64)_2);
   2902 }
   2903 
   2904 extern __inline
   2905     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2906     __lsx_vmulwod_q_du_d(__m128i _1, __m128i _2) {
   2907   return (__m128i)__builtin_lsx_vmulwod_q_du_d((v2u64)_1, (v2i64)_2);
   2908 }
   2909 
   2910 extern __inline
   2911     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2912     __lsx_vhaddw_q_d(__m128i _1, __m128i _2) {
   2913   return (__m128i)__builtin_lsx_vhaddw_q_d((v2i64)_1, (v2i64)_2);
   2914 }
   2915 
   2916 extern __inline
   2917     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2918     __lsx_vhaddw_qu_du(__m128i _1, __m128i _2) {
   2919   return (__m128i)__builtin_lsx_vhaddw_qu_du((v2u64)_1, (v2u64)_2);
   2920 }
   2921 
   2922 extern __inline
   2923     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2924     __lsx_vhsubw_q_d(__m128i _1, __m128i _2) {
   2925   return (__m128i)__builtin_lsx_vhsubw_q_d((v2i64)_1, (v2i64)_2);
   2926 }
   2927 
   2928 extern __inline
   2929     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2930     __lsx_vhsubw_qu_du(__m128i _1, __m128i _2) {
   2931   return (__m128i)__builtin_lsx_vhsubw_qu_du((v2u64)_1, (v2u64)_2);
   2932 }
   2933 
   2934 extern __inline
   2935     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2936     __lsx_vmaddwev_d_w(__m128i _1, __m128i _2, __m128i _3) {
   2937   return (__m128i)__builtin_lsx_vmaddwev_d_w((v2i64)_1, (v4i32)_2, (v4i32)_3);
   2938 }
   2939 
   2940 extern __inline
   2941     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2942     __lsx_vmaddwev_w_h(__m128i _1, __m128i _2, __m128i _3) {
   2943   return (__m128i)__builtin_lsx_vmaddwev_w_h((v4i32)_1, (v8i16)_2, (v8i16)_3);
   2944 }
   2945 
   2946 extern __inline
   2947     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2948     __lsx_vmaddwev_h_b(__m128i _1, __m128i _2, __m128i _3) {
   2949   return (__m128i)__builtin_lsx_vmaddwev_h_b((v8i16)_1, (v16i8)_2, (v16i8)_3);
   2950 }
   2951 
   2952 extern __inline
   2953     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2954     __lsx_vmaddwev_d_wu(__m128i _1, __m128i _2, __m128i _3) {
   2955   return (__m128i)__builtin_lsx_vmaddwev_d_wu((v2u64)_1, (v4u32)_2, (v4u32)_3);
   2956 }
   2957 
   2958 extern __inline
   2959     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2960     __lsx_vmaddwev_w_hu(__m128i _1, __m128i _2, __m128i _3) {
   2961   return (__m128i)__builtin_lsx_vmaddwev_w_hu((v4u32)_1, (v8u16)_2, (v8u16)_3);
   2962 }
   2963 
   2964 extern __inline
   2965     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2966     __lsx_vmaddwev_h_bu(__m128i _1, __m128i _2, __m128i _3) {
   2967   return (__m128i)__builtin_lsx_vmaddwev_h_bu((v8u16)_1, (v16u8)_2, (v16u8)_3);
   2968 }
   2969 
   2970 extern __inline
   2971     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2972     __lsx_vmaddwod_d_w(__m128i _1, __m128i _2, __m128i _3) {
   2973   return (__m128i)__builtin_lsx_vmaddwod_d_w((v2i64)_1, (v4i32)_2, (v4i32)_3);
   2974 }
   2975 
   2976 extern __inline
   2977     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2978     __lsx_vmaddwod_w_h(__m128i _1, __m128i _2, __m128i _3) {
   2979   return (__m128i)__builtin_lsx_vmaddwod_w_h((v4i32)_1, (v8i16)_2, (v8i16)_3);
   2980 }
   2981 
   2982 extern __inline
   2983     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2984     __lsx_vmaddwod_h_b(__m128i _1, __m128i _2, __m128i _3) {
   2985   return (__m128i)__builtin_lsx_vmaddwod_h_b((v8i16)_1, (v16i8)_2, (v16i8)_3);
   2986 }
   2987 
   2988 extern __inline
   2989     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2990     __lsx_vmaddwod_d_wu(__m128i _1, __m128i _2, __m128i _3) {
   2991   return (__m128i)__builtin_lsx_vmaddwod_d_wu((v2u64)_1, (v4u32)_2, (v4u32)_3);
   2992 }
   2993 
   2994 extern __inline
   2995     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   2996     __lsx_vmaddwod_w_hu(__m128i _1, __m128i _2, __m128i _3) {
   2997   return (__m128i)__builtin_lsx_vmaddwod_w_hu((v4u32)_1, (v8u16)_2, (v8u16)_3);
   2998 }
   2999 
   3000 extern __inline
   3001     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3002     __lsx_vmaddwod_h_bu(__m128i _1, __m128i _2, __m128i _3) {
   3003   return (__m128i)__builtin_lsx_vmaddwod_h_bu((v8u16)_1, (v16u8)_2, (v16u8)_3);
   3004 }
   3005 
   3006 extern __inline
   3007     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3008     __lsx_vmaddwev_d_wu_w(__m128i _1, __m128i _2, __m128i _3) {
   3009   return (__m128i)__builtin_lsx_vmaddwev_d_wu_w((v2i64)_1, (v4u32)_2,
   3010                                                 (v4i32)_3);
   3011 }
   3012 
   3013 extern __inline
   3014     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3015     __lsx_vmaddwev_w_hu_h(__m128i _1, __m128i _2, __m128i _3) {
   3016   return (__m128i)__builtin_lsx_vmaddwev_w_hu_h((v4i32)_1, (v8u16)_2,
   3017                                                 (v8i16)_3);
   3018 }
   3019 
   3020 extern __inline
   3021     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3022     __lsx_vmaddwev_h_bu_b(__m128i _1, __m128i _2, __m128i _3) {
   3023   return (__m128i)__builtin_lsx_vmaddwev_h_bu_b((v8i16)_1, (v16u8)_2,
   3024                                                 (v16i8)_3);
   3025 }
   3026 
   3027 extern __inline
   3028     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3029     __lsx_vmaddwod_d_wu_w(__m128i _1, __m128i _2, __m128i _3) {
   3030   return (__m128i)__builtin_lsx_vmaddwod_d_wu_w((v2i64)_1, (v4u32)_2,
   3031                                                 (v4i32)_3);
   3032 }
   3033 
   3034 extern __inline
   3035     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3036     __lsx_vmaddwod_w_hu_h(__m128i _1, __m128i _2, __m128i _3) {
   3037   return (__m128i)__builtin_lsx_vmaddwod_w_hu_h((v4i32)_1, (v8u16)_2,
   3038                                                 (v8i16)_3);
   3039 }
   3040 
   3041 extern __inline
   3042     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3043     __lsx_vmaddwod_h_bu_b(__m128i _1, __m128i _2, __m128i _3) {
   3044   return (__m128i)__builtin_lsx_vmaddwod_h_bu_b((v8i16)_1, (v16u8)_2,
   3045                                                 (v16i8)_3);
   3046 }
   3047 
   3048 extern __inline
   3049     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3050     __lsx_vmaddwev_q_d(__m128i _1, __m128i _2, __m128i _3) {
   3051   return (__m128i)__builtin_lsx_vmaddwev_q_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
   3052 }
   3053 
   3054 extern __inline
   3055     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3056     __lsx_vmaddwod_q_d(__m128i _1, __m128i _2, __m128i _3) {
   3057   return (__m128i)__builtin_lsx_vmaddwod_q_d((v2i64)_1, (v2i64)_2, (v2i64)_3);
   3058 }
   3059 
   3060 extern __inline
   3061     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3062     __lsx_vmaddwev_q_du(__m128i _1, __m128i _2, __m128i _3) {
   3063   return (__m128i)__builtin_lsx_vmaddwev_q_du((v2u64)_1, (v2u64)_2, (v2u64)_3);
   3064 }
   3065 
   3066 extern __inline
   3067     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3068     __lsx_vmaddwod_q_du(__m128i _1, __m128i _2, __m128i _3) {
   3069   return (__m128i)__builtin_lsx_vmaddwod_q_du((v2u64)_1, (v2u64)_2, (v2u64)_3);
   3070 }
   3071 
   3072 extern __inline
   3073     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3074     __lsx_vmaddwev_q_du_d(__m128i _1, __m128i _2, __m128i _3) {
   3075   return (__m128i)__builtin_lsx_vmaddwev_q_du_d((v2i64)_1, (v2u64)_2,
   3076                                                 (v2i64)_3);
   3077 }
   3078 
   3079 extern __inline
   3080     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3081     __lsx_vmaddwod_q_du_d(__m128i _1, __m128i _2, __m128i _3) {
   3082   return (__m128i)__builtin_lsx_vmaddwod_q_du_d((v2i64)_1, (v2u64)_2,
   3083                                                 (v2i64)_3);
   3084 }
   3085 
   3086 extern __inline
   3087     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3088     __lsx_vrotr_b(__m128i _1, __m128i _2) {
   3089   return (__m128i)__builtin_lsx_vrotr_b((v16i8)_1, (v16i8)_2);
   3090 }
   3091 
   3092 extern __inline
   3093     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3094     __lsx_vrotr_h(__m128i _1, __m128i _2) {
   3095   return (__m128i)__builtin_lsx_vrotr_h((v8i16)_1, (v8i16)_2);
   3096 }
   3097 
   3098 extern __inline
   3099     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3100     __lsx_vrotr_w(__m128i _1, __m128i _2) {
   3101   return (__m128i)__builtin_lsx_vrotr_w((v4i32)_1, (v4i32)_2);
   3102 }
   3103 
   3104 extern __inline
   3105     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3106     __lsx_vrotr_d(__m128i _1, __m128i _2) {
   3107   return (__m128i)__builtin_lsx_vrotr_d((v2i64)_1, (v2i64)_2);
   3108 }
   3109 
   3110 extern __inline
   3111     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3112     __lsx_vadd_q(__m128i _1, __m128i _2) {
   3113   return (__m128i)__builtin_lsx_vadd_q((v2i64)_1, (v2i64)_2);
   3114 }
   3115 
   3116 extern __inline
   3117     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3118     __lsx_vsub_q(__m128i _1, __m128i _2) {
   3119   return (__m128i)__builtin_lsx_vsub_q((v2i64)_1, (v2i64)_2);
   3120 }
   3121 
   3122 #define __lsx_vldrepl_b(/*void **/ _1, /*si12*/ _2)                            \
   3123   ((__m128i)__builtin_lsx_vldrepl_b((void const *)(_1), (_2)))
   3124 
   3125 #define __lsx_vldrepl_h(/*void **/ _1, /*si11*/ _2)                            \
   3126   ((__m128i)__builtin_lsx_vldrepl_h((void const *)(_1), (_2)))
   3127 
   3128 #define __lsx_vldrepl_w(/*void **/ _1, /*si10*/ _2)                            \
   3129   ((__m128i)__builtin_lsx_vldrepl_w((void const *)(_1), (_2)))
   3130 
   3131 #define __lsx_vldrepl_d(/*void **/ _1, /*si9*/ _2)                             \
   3132   ((__m128i)__builtin_lsx_vldrepl_d((void const *)(_1), (_2)))
   3133 
   3134 extern __inline
   3135     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3136     __lsx_vmskgez_b(__m128i _1) {
   3137   return (__m128i)__builtin_lsx_vmskgez_b((v16i8)_1);
   3138 }
   3139 
   3140 extern __inline
   3141     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3142     __lsx_vmsknz_b(__m128i _1) {
   3143   return (__m128i)__builtin_lsx_vmsknz_b((v16i8)_1);
   3144 }
   3145 
   3146 extern __inline
   3147     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3148     __lsx_vexth_h_b(__m128i _1) {
   3149   return (__m128i)__builtin_lsx_vexth_h_b((v16i8)_1);
   3150 }
   3151 
   3152 extern __inline
   3153     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3154     __lsx_vexth_w_h(__m128i _1) {
   3155   return (__m128i)__builtin_lsx_vexth_w_h((v8i16)_1);
   3156 }
   3157 
   3158 extern __inline
   3159     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3160     __lsx_vexth_d_w(__m128i _1) {
   3161   return (__m128i)__builtin_lsx_vexth_d_w((v4i32)_1);
   3162 }
   3163 
   3164 extern __inline
   3165     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3166     __lsx_vexth_q_d(__m128i _1) {
   3167   return (__m128i)__builtin_lsx_vexth_q_d((v2i64)_1);
   3168 }
   3169 
   3170 extern __inline
   3171     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3172     __lsx_vexth_hu_bu(__m128i _1) {
   3173   return (__m128i)__builtin_lsx_vexth_hu_bu((v16u8)_1);
   3174 }
   3175 
   3176 extern __inline
   3177     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3178     __lsx_vexth_wu_hu(__m128i _1) {
   3179   return (__m128i)__builtin_lsx_vexth_wu_hu((v8u16)_1);
   3180 }
   3181 
   3182 extern __inline
   3183     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3184     __lsx_vexth_du_wu(__m128i _1) {
   3185   return (__m128i)__builtin_lsx_vexth_du_wu((v4u32)_1);
   3186 }
   3187 
   3188 extern __inline
   3189     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3190     __lsx_vexth_qu_du(__m128i _1) {
   3191   return (__m128i)__builtin_lsx_vexth_qu_du((v2u64)_1);
   3192 }
   3193 
   3194 #define __lsx_vrotri_b(/*__m128i*/ _1, /*ui3*/ _2)                             \
   3195   ((__m128i)__builtin_lsx_vrotri_b((v16i8)(_1), (_2)))
   3196 
   3197 #define __lsx_vrotri_h(/*__m128i*/ _1, /*ui4*/ _2)                             \
   3198   ((__m128i)__builtin_lsx_vrotri_h((v8i16)(_1), (_2)))
   3199 
   3200 #define __lsx_vrotri_w(/*__m128i*/ _1, /*ui5*/ _2)                             \
   3201   ((__m128i)__builtin_lsx_vrotri_w((v4i32)(_1), (_2)))
   3202 
   3203 #define __lsx_vrotri_d(/*__m128i*/ _1, /*ui6*/ _2)                             \
   3204   ((__m128i)__builtin_lsx_vrotri_d((v2i64)(_1), (_2)))
   3205 
   3206 extern __inline
   3207     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3208     __lsx_vextl_q_d(__m128i _1) {
   3209   return (__m128i)__builtin_lsx_vextl_q_d((v2i64)_1);
   3210 }
   3211 
   3212 #define __lsx_vsrlni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)           \
   3213   ((__m128i)__builtin_lsx_vsrlni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3214 
   3215 #define __lsx_vsrlni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)           \
   3216   ((__m128i)__builtin_lsx_vsrlni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3217 
   3218 #define __lsx_vsrlni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)           \
   3219   ((__m128i)__builtin_lsx_vsrlni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3220 
   3221 #define __lsx_vsrlni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)           \
   3222   ((__m128i)__builtin_lsx_vsrlni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3223 
   3224 #define __lsx_vsrlrni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)          \
   3225   ((__m128i)__builtin_lsx_vsrlrni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3226 
   3227 #define __lsx_vsrlrni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)          \
   3228   ((__m128i)__builtin_lsx_vsrlrni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3229 
   3230 #define __lsx_vsrlrni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)          \
   3231   ((__m128i)__builtin_lsx_vsrlrni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3232 
   3233 #define __lsx_vsrlrni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)          \
   3234   ((__m128i)__builtin_lsx_vsrlrni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3235 
   3236 #define __lsx_vssrlni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)          \
   3237   ((__m128i)__builtin_lsx_vssrlni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3238 
   3239 #define __lsx_vssrlni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)          \
   3240   ((__m128i)__builtin_lsx_vssrlni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3241 
   3242 #define __lsx_vssrlni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)          \
   3243   ((__m128i)__builtin_lsx_vssrlni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3244 
   3245 #define __lsx_vssrlni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)          \
   3246   ((__m128i)__builtin_lsx_vssrlni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3247 
   3248 #define __lsx_vssrlni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)         \
   3249   ((__m128i)__builtin_lsx_vssrlni_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
   3250 
   3251 #define __lsx_vssrlni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)         \
   3252   ((__m128i)__builtin_lsx_vssrlni_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
   3253 
   3254 #define __lsx_vssrlni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)         \
   3255   ((__m128i)__builtin_lsx_vssrlni_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
   3256 
   3257 #define __lsx_vssrlni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)         \
   3258   ((__m128i)__builtin_lsx_vssrlni_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
   3259 
   3260 #define __lsx_vssrlrni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)         \
   3261   ((__m128i)__builtin_lsx_vssrlrni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3262 
   3263 #define __lsx_vssrlrni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)         \
   3264   ((__m128i)__builtin_lsx_vssrlrni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3265 
   3266 #define __lsx_vssrlrni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)         \
   3267   ((__m128i)__builtin_lsx_vssrlrni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3268 
   3269 #define __lsx_vssrlrni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)         \
   3270   ((__m128i)__builtin_lsx_vssrlrni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3271 
   3272 #define __lsx_vssrlrni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)        \
   3273   ((__m128i)__builtin_lsx_vssrlrni_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
   3274 
   3275 #define __lsx_vssrlrni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)        \
   3276   ((__m128i)__builtin_lsx_vssrlrni_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
   3277 
   3278 #define __lsx_vssrlrni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)        \
   3279   ((__m128i)__builtin_lsx_vssrlrni_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
   3280 
   3281 #define __lsx_vssrlrni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)        \
   3282   ((__m128i)__builtin_lsx_vssrlrni_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
   3283 
   3284 #define __lsx_vsrani_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)           \
   3285   ((__m128i)__builtin_lsx_vsrani_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3286 
   3287 #define __lsx_vsrani_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)           \
   3288   ((__m128i)__builtin_lsx_vsrani_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3289 
   3290 #define __lsx_vsrani_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)           \
   3291   ((__m128i)__builtin_lsx_vsrani_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3292 
   3293 #define __lsx_vsrani_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)           \
   3294   ((__m128i)__builtin_lsx_vsrani_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3295 
   3296 #define __lsx_vsrarni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)          \
   3297   ((__m128i)__builtin_lsx_vsrarni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3298 
   3299 #define __lsx_vsrarni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)          \
   3300   ((__m128i)__builtin_lsx_vsrarni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3301 
   3302 #define __lsx_vsrarni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)          \
   3303   ((__m128i)__builtin_lsx_vsrarni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3304 
   3305 #define __lsx_vsrarni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)          \
   3306   ((__m128i)__builtin_lsx_vsrarni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3307 
   3308 #define __lsx_vssrani_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)          \
   3309   ((__m128i)__builtin_lsx_vssrani_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3310 
   3311 #define __lsx_vssrani_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)          \
   3312   ((__m128i)__builtin_lsx_vssrani_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3313 
   3314 #define __lsx_vssrani_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)          \
   3315   ((__m128i)__builtin_lsx_vssrani_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3316 
   3317 #define __lsx_vssrani_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)          \
   3318   ((__m128i)__builtin_lsx_vssrani_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3319 
   3320 #define __lsx_vssrani_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)         \
   3321   ((__m128i)__builtin_lsx_vssrani_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
   3322 
   3323 #define __lsx_vssrani_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)         \
   3324   ((__m128i)__builtin_lsx_vssrani_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
   3325 
   3326 #define __lsx_vssrani_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)         \
   3327   ((__m128i)__builtin_lsx_vssrani_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
   3328 
   3329 #define __lsx_vssrani_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)         \
   3330   ((__m128i)__builtin_lsx_vssrani_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
   3331 
   3332 #define __lsx_vssrarni_b_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)         \
   3333   ((__m128i)__builtin_lsx_vssrarni_b_h((v16i8)(_1), (v16i8)(_2), (_3)))
   3334 
   3335 #define __lsx_vssrarni_h_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)         \
   3336   ((__m128i)__builtin_lsx_vssrarni_h_w((v8i16)(_1), (v8i16)(_2), (_3)))
   3337 
   3338 #define __lsx_vssrarni_w_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)         \
   3339   ((__m128i)__builtin_lsx_vssrarni_w_d((v4i32)(_1), (v4i32)(_2), (_3)))
   3340 
   3341 #define __lsx_vssrarni_d_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)         \
   3342   ((__m128i)__builtin_lsx_vssrarni_d_q((v2i64)(_1), (v2i64)(_2), (_3)))
   3343 
   3344 #define __lsx_vssrarni_bu_h(/*__m128i*/ _1, /*__m128i*/ _2, /*ui4*/ _3)        \
   3345   ((__m128i)__builtin_lsx_vssrarni_bu_h((v16u8)(_1), (v16i8)(_2), (_3)))
   3346 
   3347 #define __lsx_vssrarni_hu_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui5*/ _3)        \
   3348   ((__m128i)__builtin_lsx_vssrarni_hu_w((v8u16)(_1), (v8i16)(_2), (_3)))
   3349 
   3350 #define __lsx_vssrarni_wu_d(/*__m128i*/ _1, /*__m128i*/ _2, /*ui6*/ _3)        \
   3351   ((__m128i)__builtin_lsx_vssrarni_wu_d((v4u32)(_1), (v4i32)(_2), (_3)))
   3352 
   3353 #define __lsx_vssrarni_du_q(/*__m128i*/ _1, /*__m128i*/ _2, /*ui7*/ _3)        \
   3354   ((__m128i)__builtin_lsx_vssrarni_du_q((v2u64)(_1), (v2i64)(_2), (_3)))
   3355 
   3356 #define __lsx_vpermi_w(/*__m128i*/ _1, /*__m128i*/ _2, /*ui8*/ _3)             \
   3357   ((__m128i)__builtin_lsx_vpermi_w((v4i32)(_1), (v4i32)(_2), (_3)))
   3358 
   3359 #define __lsx_vld(/*void **/ _1, /*si12*/ _2)                                  \
   3360   ((__m128i)__builtin_lsx_vld((void const *)(_1), (_2)))
   3361 
   3362 #define __lsx_vst(/*__m128i*/ _1, /*void **/ _2, /*si12*/ _3)                  \
   3363   ((void)__builtin_lsx_vst((v16i8)(_1), (void *)(_2), (_3)))
   3364 
   3365 extern __inline
   3366     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3367     __lsx_vssrlrn_b_h(__m128i _1, __m128i _2) {
   3368   return (__m128i)__builtin_lsx_vssrlrn_b_h((v8i16)_1, (v8i16)_2);
   3369 }
   3370 
   3371 extern __inline
   3372     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3373     __lsx_vssrlrn_h_w(__m128i _1, __m128i _2) {
   3374   return (__m128i)__builtin_lsx_vssrlrn_h_w((v4i32)_1, (v4i32)_2);
   3375 }
   3376 
   3377 extern __inline
   3378     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3379     __lsx_vssrlrn_w_d(__m128i _1, __m128i _2) {
   3380   return (__m128i)__builtin_lsx_vssrlrn_w_d((v2i64)_1, (v2i64)_2);
   3381 }
   3382 
   3383 extern __inline
   3384     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3385     __lsx_vssrln_b_h(__m128i _1, __m128i _2) {
   3386   return (__m128i)__builtin_lsx_vssrln_b_h((v8i16)_1, (v8i16)_2);
   3387 }
   3388 
   3389 extern __inline
   3390     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3391     __lsx_vssrln_h_w(__m128i _1, __m128i _2) {
   3392   return (__m128i)__builtin_lsx_vssrln_h_w((v4i32)_1, (v4i32)_2);
   3393 }
   3394 
   3395 extern __inline
   3396     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3397     __lsx_vssrln_w_d(__m128i _1, __m128i _2) {
   3398   return (__m128i)__builtin_lsx_vssrln_w_d((v2i64)_1, (v2i64)_2);
   3399 }
   3400 
   3401 extern __inline
   3402     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3403     __lsx_vorn_v(__m128i _1, __m128i _2) {
   3404   return (__m128i)__builtin_lsx_vorn_v((v16u8)_1, (v16u8)_2);
   3405 }
   3406 
   3407 #define __lsx_vldi(/*i13*/ _1) ((__m128i)__builtin_lsx_vldi((_1)))
   3408 
   3409 extern __inline
   3410     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3411     __lsx_vshuf_b(__m128i _1, __m128i _2, __m128i _3) {
   3412   return (__m128i)__builtin_lsx_vshuf_b((v16i8)_1, (v16i8)_2, (v16i8)_3);
   3413 }
   3414 
   3415 extern __inline
   3416     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3417     __lsx_vldx(void const *_1, long int _2) {
   3418   return (__m128i)__builtin_lsx_vldx((void const *)_1, (long int)_2);
   3419 }
   3420 
   3421 extern __inline
   3422     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) void
   3423     __lsx_vstx(__m128i _1, void *_2, long int _3) {
   3424   return (void)__builtin_lsx_vstx((v16i8)_1, (void *)_2, (long int)_3);
   3425 }
   3426 
   3427 extern __inline
   3428     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3429     __lsx_vextl_qu_du(__m128i _1) {
   3430   return (__m128i)__builtin_lsx_vextl_qu_du((v2u64)_1);
   3431 }
   3432 
   3433 #define __lsx_bnz_b(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_b((v16u8)(_1)))
   3434 
   3435 #define __lsx_bnz_d(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_d((v2u64)(_1)))
   3436 
   3437 #define __lsx_bnz_h(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_h((v8u16)(_1)))
   3438 
   3439 #define __lsx_bnz_v(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_v((v16u8)(_1)))
   3440 
   3441 #define __lsx_bnz_w(/*__m128i*/ _1) ((int)__builtin_lsx_bnz_w((v4u32)(_1)))
   3442 
   3443 #define __lsx_bz_b(/*__m128i*/ _1) ((int)__builtin_lsx_bz_b((v16u8)(_1)))
   3444 
   3445 #define __lsx_bz_d(/*__m128i*/ _1) ((int)__builtin_lsx_bz_d((v2u64)(_1)))
   3446 
   3447 #define __lsx_bz_h(/*__m128i*/ _1) ((int)__builtin_lsx_bz_h((v8u16)(_1)))
   3448 
   3449 #define __lsx_bz_v(/*__m128i*/ _1) ((int)__builtin_lsx_bz_v((v16u8)(_1)))
   3450 
   3451 #define __lsx_bz_w(/*__m128i*/ _1) ((int)__builtin_lsx_bz_w((v4u32)(_1)))
   3452 
   3453 extern __inline
   3454     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3455     __lsx_vfcmp_caf_d(__m128d _1, __m128d _2) {
   3456   return (__m128i)__builtin_lsx_vfcmp_caf_d((v2f64)_1, (v2f64)_2);
   3457 }
   3458 
   3459 extern __inline
   3460     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3461     __lsx_vfcmp_caf_s(__m128 _1, __m128 _2) {
   3462   return (__m128i)__builtin_lsx_vfcmp_caf_s((v4f32)_1, (v4f32)_2);
   3463 }
   3464 
   3465 extern __inline
   3466     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3467     __lsx_vfcmp_ceq_d(__m128d _1, __m128d _2) {
   3468   return (__m128i)__builtin_lsx_vfcmp_ceq_d((v2f64)_1, (v2f64)_2);
   3469 }
   3470 
   3471 extern __inline
   3472     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3473     __lsx_vfcmp_ceq_s(__m128 _1, __m128 _2) {
   3474   return (__m128i)__builtin_lsx_vfcmp_ceq_s((v4f32)_1, (v4f32)_2);
   3475 }
   3476 
   3477 extern __inline
   3478     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3479     __lsx_vfcmp_cle_d(__m128d _1, __m128d _2) {
   3480   return (__m128i)__builtin_lsx_vfcmp_cle_d((v2f64)_1, (v2f64)_2);
   3481 }
   3482 
   3483 extern __inline
   3484     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3485     __lsx_vfcmp_cle_s(__m128 _1, __m128 _2) {
   3486   return (__m128i)__builtin_lsx_vfcmp_cle_s((v4f32)_1, (v4f32)_2);
   3487 }
   3488 
   3489 extern __inline
   3490     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3491     __lsx_vfcmp_clt_d(__m128d _1, __m128d _2) {
   3492   return (__m128i)__builtin_lsx_vfcmp_clt_d((v2f64)_1, (v2f64)_2);
   3493 }
   3494 
   3495 extern __inline
   3496     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3497     __lsx_vfcmp_clt_s(__m128 _1, __m128 _2) {
   3498   return (__m128i)__builtin_lsx_vfcmp_clt_s((v4f32)_1, (v4f32)_2);
   3499 }
   3500 
   3501 extern __inline
   3502     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3503     __lsx_vfcmp_cne_d(__m128d _1, __m128d _2) {
   3504   return (__m128i)__builtin_lsx_vfcmp_cne_d((v2f64)_1, (v2f64)_2);
   3505 }
   3506 
   3507 extern __inline
   3508     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3509     __lsx_vfcmp_cne_s(__m128 _1, __m128 _2) {
   3510   return (__m128i)__builtin_lsx_vfcmp_cne_s((v4f32)_1, (v4f32)_2);
   3511 }
   3512 
   3513 extern __inline
   3514     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3515     __lsx_vfcmp_cor_d(__m128d _1, __m128d _2) {
   3516   return (__m128i)__builtin_lsx_vfcmp_cor_d((v2f64)_1, (v2f64)_2);
   3517 }
   3518 
   3519 extern __inline
   3520     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3521     __lsx_vfcmp_cor_s(__m128 _1, __m128 _2) {
   3522   return (__m128i)__builtin_lsx_vfcmp_cor_s((v4f32)_1, (v4f32)_2);
   3523 }
   3524 
   3525 extern __inline
   3526     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3527     __lsx_vfcmp_cueq_d(__m128d _1, __m128d _2) {
   3528   return (__m128i)__builtin_lsx_vfcmp_cueq_d((v2f64)_1, (v2f64)_2);
   3529 }
   3530 
   3531 extern __inline
   3532     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3533     __lsx_vfcmp_cueq_s(__m128 _1, __m128 _2) {
   3534   return (__m128i)__builtin_lsx_vfcmp_cueq_s((v4f32)_1, (v4f32)_2);
   3535 }
   3536 
   3537 extern __inline
   3538     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3539     __lsx_vfcmp_cule_d(__m128d _1, __m128d _2) {
   3540   return (__m128i)__builtin_lsx_vfcmp_cule_d((v2f64)_1, (v2f64)_2);
   3541 }
   3542 
   3543 extern __inline
   3544     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3545     __lsx_vfcmp_cule_s(__m128 _1, __m128 _2) {
   3546   return (__m128i)__builtin_lsx_vfcmp_cule_s((v4f32)_1, (v4f32)_2);
   3547 }
   3548 
   3549 extern __inline
   3550     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3551     __lsx_vfcmp_cult_d(__m128d _1, __m128d _2) {
   3552   return (__m128i)__builtin_lsx_vfcmp_cult_d((v2f64)_1, (v2f64)_2);
   3553 }
   3554 
   3555 extern __inline
   3556     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3557     __lsx_vfcmp_cult_s(__m128 _1, __m128 _2) {
   3558   return (__m128i)__builtin_lsx_vfcmp_cult_s((v4f32)_1, (v4f32)_2);
   3559 }
   3560 
   3561 extern __inline
   3562     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3563     __lsx_vfcmp_cun_d(__m128d _1, __m128d _2) {
   3564   return (__m128i)__builtin_lsx_vfcmp_cun_d((v2f64)_1, (v2f64)_2);
   3565 }
   3566 
   3567 extern __inline
   3568     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3569     __lsx_vfcmp_cune_d(__m128d _1, __m128d _2) {
   3570   return (__m128i)__builtin_lsx_vfcmp_cune_d((v2f64)_1, (v2f64)_2);
   3571 }
   3572 
   3573 extern __inline
   3574     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3575     __lsx_vfcmp_cune_s(__m128 _1, __m128 _2) {
   3576   return (__m128i)__builtin_lsx_vfcmp_cune_s((v4f32)_1, (v4f32)_2);
   3577 }
   3578 
   3579 extern __inline
   3580     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3581     __lsx_vfcmp_cun_s(__m128 _1, __m128 _2) {
   3582   return (__m128i)__builtin_lsx_vfcmp_cun_s((v4f32)_1, (v4f32)_2);
   3583 }
   3584 
   3585 extern __inline
   3586     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3587     __lsx_vfcmp_saf_d(__m128d _1, __m128d _2) {
   3588   return (__m128i)__builtin_lsx_vfcmp_saf_d((v2f64)_1, (v2f64)_2);
   3589 }
   3590 
   3591 extern __inline
   3592     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3593     __lsx_vfcmp_saf_s(__m128 _1, __m128 _2) {
   3594   return (__m128i)__builtin_lsx_vfcmp_saf_s((v4f32)_1, (v4f32)_2);
   3595 }
   3596 
   3597 extern __inline
   3598     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3599     __lsx_vfcmp_seq_d(__m128d _1, __m128d _2) {
   3600   return (__m128i)__builtin_lsx_vfcmp_seq_d((v2f64)_1, (v2f64)_2);
   3601 }
   3602 
   3603 extern __inline
   3604     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3605     __lsx_vfcmp_seq_s(__m128 _1, __m128 _2) {
   3606   return (__m128i)__builtin_lsx_vfcmp_seq_s((v4f32)_1, (v4f32)_2);
   3607 }
   3608 
   3609 extern __inline
   3610     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3611     __lsx_vfcmp_sle_d(__m128d _1, __m128d _2) {
   3612   return (__m128i)__builtin_lsx_vfcmp_sle_d((v2f64)_1, (v2f64)_2);
   3613 }
   3614 
   3615 extern __inline
   3616     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3617     __lsx_vfcmp_sle_s(__m128 _1, __m128 _2) {
   3618   return (__m128i)__builtin_lsx_vfcmp_sle_s((v4f32)_1, (v4f32)_2);
   3619 }
   3620 
   3621 extern __inline
   3622     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3623     __lsx_vfcmp_slt_d(__m128d _1, __m128d _2) {
   3624   return (__m128i)__builtin_lsx_vfcmp_slt_d((v2f64)_1, (v2f64)_2);
   3625 }
   3626 
   3627 extern __inline
   3628     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3629     __lsx_vfcmp_slt_s(__m128 _1, __m128 _2) {
   3630   return (__m128i)__builtin_lsx_vfcmp_slt_s((v4f32)_1, (v4f32)_2);
   3631 }
   3632 
   3633 extern __inline
   3634     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3635     __lsx_vfcmp_sne_d(__m128d _1, __m128d _2) {
   3636   return (__m128i)__builtin_lsx_vfcmp_sne_d((v2f64)_1, (v2f64)_2);
   3637 }
   3638 
   3639 extern __inline
   3640     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3641     __lsx_vfcmp_sne_s(__m128 _1, __m128 _2) {
   3642   return (__m128i)__builtin_lsx_vfcmp_sne_s((v4f32)_1, (v4f32)_2);
   3643 }
   3644 
   3645 extern __inline
   3646     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3647     __lsx_vfcmp_sor_d(__m128d _1, __m128d _2) {
   3648   return (__m128i)__builtin_lsx_vfcmp_sor_d((v2f64)_1, (v2f64)_2);
   3649 }
   3650 
   3651 extern __inline
   3652     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3653     __lsx_vfcmp_sor_s(__m128 _1, __m128 _2) {
   3654   return (__m128i)__builtin_lsx_vfcmp_sor_s((v4f32)_1, (v4f32)_2);
   3655 }
   3656 
   3657 extern __inline
   3658     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3659     __lsx_vfcmp_sueq_d(__m128d _1, __m128d _2) {
   3660   return (__m128i)__builtin_lsx_vfcmp_sueq_d((v2f64)_1, (v2f64)_2);
   3661 }
   3662 
   3663 extern __inline
   3664     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3665     __lsx_vfcmp_sueq_s(__m128 _1, __m128 _2) {
   3666   return (__m128i)__builtin_lsx_vfcmp_sueq_s((v4f32)_1, (v4f32)_2);
   3667 }
   3668 
   3669 extern __inline
   3670     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3671     __lsx_vfcmp_sule_d(__m128d _1, __m128d _2) {
   3672   return (__m128i)__builtin_lsx_vfcmp_sule_d((v2f64)_1, (v2f64)_2);
   3673 }
   3674 
   3675 extern __inline
   3676     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3677     __lsx_vfcmp_sule_s(__m128 _1, __m128 _2) {
   3678   return (__m128i)__builtin_lsx_vfcmp_sule_s((v4f32)_1, (v4f32)_2);
   3679 }
   3680 
   3681 extern __inline
   3682     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3683     __lsx_vfcmp_sult_d(__m128d _1, __m128d _2) {
   3684   return (__m128i)__builtin_lsx_vfcmp_sult_d((v2f64)_1, (v2f64)_2);
   3685 }
   3686 
   3687 extern __inline
   3688     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3689     __lsx_vfcmp_sult_s(__m128 _1, __m128 _2) {
   3690   return (__m128i)__builtin_lsx_vfcmp_sult_s((v4f32)_1, (v4f32)_2);
   3691 }
   3692 
   3693 extern __inline
   3694     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3695     __lsx_vfcmp_sun_d(__m128d _1, __m128d _2) {
   3696   return (__m128i)__builtin_lsx_vfcmp_sun_d((v2f64)_1, (v2f64)_2);
   3697 }
   3698 
   3699 extern __inline
   3700     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3701     __lsx_vfcmp_sune_d(__m128d _1, __m128d _2) {
   3702   return (__m128i)__builtin_lsx_vfcmp_sune_d((v2f64)_1, (v2f64)_2);
   3703 }
   3704 
   3705 extern __inline
   3706     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3707     __lsx_vfcmp_sune_s(__m128 _1, __m128 _2) {
   3708   return (__m128i)__builtin_lsx_vfcmp_sune_s((v4f32)_1, (v4f32)_2);
   3709 }
   3710 
   3711 extern __inline
   3712     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
   3713     __lsx_vfcmp_sun_s(__m128 _1, __m128 _2) {
   3714   return (__m128i)__builtin_lsx_vfcmp_sun_s((v4f32)_1, (v4f32)_2);
   3715 }
   3716 
   3717 #if defined(__loongarch_frecipe)
   3718 extern __inline
   3719     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   3720     __lsx_vfrecipe_s(__m128 _1) {
   3721   return (__m128)__builtin_lsx_vfrecipe_s((v4f32)_1);
   3722 }
   3723 
   3724 extern __inline
   3725     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   3726     __lsx_vfrecipe_d(__m128d _1) {
   3727   return (__m128d)__builtin_lsx_vfrecipe_d((v2f64)_1);
   3728 }
   3729 
   3730 extern __inline
   3731     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
   3732     __lsx_vfrsqrte_s(__m128 _1) {
   3733   return (__m128)__builtin_lsx_vfrsqrte_s((v4f32)_1);
   3734 }
   3735 
   3736 extern __inline
   3737     __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
   3738     __lsx_vfrsqrte_d(__m128d _1) {
   3739   return (__m128d)__builtin_lsx_vfrsqrte_d((v2f64)_1);
   3740 }
   3741 #endif
   3742 
   3743 #define __lsx_vrepli_b(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_b((_1)))
   3744 
   3745 #define __lsx_vrepli_d(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_d((_1)))
   3746 
   3747 #define __lsx_vrepli_h(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_h((_1)))
   3748 
   3749 #define __lsx_vrepli_w(/*si10*/ _1) ((__m128i)__builtin_lsx_vrepli_w((_1)))
   3750 
   3751 #endif /* defined(__loongarch_sx) */
   3752 #endif /* _LOONGSON_SXINTRIN_H */