Home | History | Annotate | Download | only in include
      1 /* MIPS MSA intrinsics include file.
      2 
      3    Copyright (C) 2014 Free Software Foundation, Inc.
      4    Contributed by Imagination Technologies Ltd.
      5 
      6    This file is part of GCC.
      7 
      8    GCC is free software; you can redistribute it and/or modify it
      9    under the terms of the GNU General Public License as published
     10    by the Free Software Foundation; either version 3, or (at your
     11    option) any later version.
     12 
     13    GCC is distributed in the hope that it will be useful, but WITHOUT
     14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     16    License for more details.
     17 
     18    Under Section 7 of GPL version 3, you are granted additional
     19    permissions described in the GCC Runtime Library Exception, version
     20    3.1, as published by the Free Software Foundation.
     21 
     22    You should have received a copy of the GNU General Public License and
     23    a copy of the GCC Runtime Library Exception along with this program;
     24    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     25    <http://www.gnu.org/licenses/>.  */
     26 
     27 #ifndef _MSA_H
     28 #define _MSA_H 1
     29 
     30 #if defined(__mips_msa)
     31 typedef signed char v16i8 __attribute__((vector_size(16), aligned(16)));
     32 typedef signed char v16i8_b __attribute__((vector_size(16), aligned(1)));
     33 typedef unsigned char v16u8 __attribute__((vector_size(16), aligned(16)));
     34 typedef unsigned char v16u8_b __attribute__((vector_size(16), aligned(1)));
     35 typedef short v8i16 __attribute__((vector_size(16), aligned(16)));
     36 typedef short v8i16_h __attribute__((vector_size(16), aligned(2)));
     37 typedef unsigned short v8u16 __attribute__((vector_size(16), aligned(16)));
     38 typedef unsigned short v8u16_h __attribute__((vector_size(16), aligned(2)));
     39 typedef int v4i32 __attribute__((vector_size(16), aligned(16)));
     40 typedef int v4i32_w __attribute__((vector_size(16), aligned(4)));
     41 typedef unsigned int v4u32 __attribute__((vector_size(16), aligned(16)));
     42 typedef unsigned int v4u32_w __attribute__((vector_size(16), aligned(4)));
     43 typedef long long v2i64 __attribute__((vector_size(16), aligned(16)));
     44 typedef long long v2i64_d __attribute__((vector_size(16), aligned(8)));
     45 typedef unsigned long long v2u64 __attribute__((vector_size(16), aligned(16)));
     46 typedef unsigned long long v2u64_d __attribute__((vector_size(16), aligned(8)));
     47 typedef float v4f32 __attribute__((vector_size(16), aligned(16)));
     48 typedef float v4f32_w __attribute__((vector_size(16), aligned(4)));
     49 typedef double v2f64 __attribute__ ((vector_size(16), aligned(16)));
     50 typedef double v2f64_d __attribute__ ((vector_size(16), aligned(8)));
     51 
     52 #ifndef __clang__
     53 extern v16i8 __builtin_msa_sll_b(v16i8, v16i8);
     54 #define __msa_sll_b __builtin_msa_sll_b
     55 extern v8i16 __builtin_msa_sll_h(v8i16, v8i16);
     56 #define __msa_sll_h __builtin_msa_sll_h
     57 extern v4i32 __builtin_msa_sll_w(v4i32, v4i32);
     58 #define __msa_sll_w __builtin_msa_sll_w
     59 extern v2i64 __builtin_msa_sll_d(v2i64, v2i64);
     60 #define __msa_sll_d __builtin_msa_sll_d
     61 extern v16i8 __builtin_msa_slli_b(v16i8, unsigned char);
     62 #define __msa_slli_b __builtin_msa_slli_b
     63 extern v8i16 __builtin_msa_slli_h(v8i16, unsigned char);
     64 #define __msa_slli_h __builtin_msa_slli_h
     65 extern v4i32 __builtin_msa_slli_w(v4i32, unsigned char);
     66 #define __msa_slli_w __builtin_msa_slli_w
     67 extern v2i64 __builtin_msa_slli_d(v2i64, unsigned char);
     68 #define __msa_slli_d __builtin_msa_slli_d
     69 extern v16i8 __builtin_msa_sra_b(v16i8, v16i8);
     70 #define __msa_sra_b __builtin_msa_sra_b
     71 extern v8i16 __builtin_msa_sra_h(v8i16, v8i16);
     72 #define __msa_sra_h __builtin_msa_sra_h
     73 extern v4i32 __builtin_msa_sra_w(v4i32, v4i32);
     74 #define __msa_sra_w __builtin_msa_sra_w
     75 extern v2i64 __builtin_msa_sra_d(v2i64, v2i64);
     76 #define __msa_sra_d __builtin_msa_sra_d
     77 extern v16i8 __builtin_msa_srai_b(v16i8, unsigned char);
     78 #define __msa_srai_b __builtin_msa_srai_b
     79 extern v8i16 __builtin_msa_srai_h(v8i16, unsigned char);
     80 #define __msa_srai_h __builtin_msa_srai_h
     81 extern v4i32 __builtin_msa_srai_w(v4i32, unsigned char);
     82 #define __msa_srai_w __builtin_msa_srai_w
     83 extern v2i64 __builtin_msa_srai_d(v2i64, unsigned char);
     84 #define __msa_srai_d __builtin_msa_srai_d
     85 extern v16i8 __builtin_msa_srar_b(v16i8, v16i8);
     86 #define __msa_srar_b __builtin_msa_srar_b
     87 extern v8i16 __builtin_msa_srar_h(v8i16, v8i16);
     88 #define __msa_srar_h __builtin_msa_srar_h
     89 extern v4i32 __builtin_msa_srar_w(v4i32, v4i32);
     90 #define __msa_srar_w __builtin_msa_srar_w
     91 extern v2i64 __builtin_msa_srar_d(v2i64, v2i64);
     92 #define __msa_srar_d __builtin_msa_srar_d
     93 extern v16i8 __builtin_msa_srari_b(v16i8, unsigned char);
     94 #define __msa_srari_b __builtin_msa_srari_b
     95 extern v8i16 __builtin_msa_srari_h(v8i16, unsigned char);
     96 #define __msa_srari_h __builtin_msa_srari_h
     97 extern v4i32 __builtin_msa_srari_w(v4i32, unsigned char);
     98 #define __msa_srari_w __builtin_msa_srari_w
     99 extern v2i64 __builtin_msa_srari_d(v2i64, unsigned char);
    100 #define __msa_srari_d __builtin_msa_srari_d
    101 extern v16i8 __builtin_msa_srl_b(v16i8, v16i8);
    102 #define __msa_srl_b __builtin_msa_srl_b
    103 extern v8i16 __builtin_msa_srl_h(v8i16, v8i16);
    104 #define __msa_srl_h __builtin_msa_srl_h
    105 extern v4i32 __builtin_msa_srl_w(v4i32, v4i32);
    106 #define __msa_srl_w __builtin_msa_srl_w
    107 extern v2i64 __builtin_msa_srl_d(v2i64, v2i64);
    108 #define __msa_srl_d __builtin_msa_srl_d
    109 extern v16i8 __builtin_msa_srli_b(v16i8, unsigned char);
    110 #define __msa_srli_b __builtin_msa_srli_b
    111 extern v8i16 __builtin_msa_srli_h(v8i16, unsigned char);
    112 #define __msa_srli_h __builtin_msa_srli_h
    113 extern v4i32 __builtin_msa_srli_w(v4i32, unsigned char);
    114 #define __msa_srli_w __builtin_msa_srli_w
    115 extern v2i64 __builtin_msa_srli_d(v2i64, unsigned char);
    116 #define __msa_srli_d __builtin_msa_srli_d
    117 extern v16i8 __builtin_msa_srlr_b(v16i8, v16i8);
    118 #define __msa_srlr_b __builtin_msa_srlr_b
    119 extern v8i16 __builtin_msa_srlr_h(v8i16, v8i16);
    120 #define __msa_srlr_h __builtin_msa_srlr_h
    121 extern v4i32 __builtin_msa_srlr_w(v4i32, v4i32);
    122 #define __msa_srlr_w __builtin_msa_srlr_w
    123 extern v2i64 __builtin_msa_srlr_d(v2i64, v2i64);
    124 #define __msa_srlr_d __builtin_msa_srlr_d
    125 extern v16i8 __builtin_msa_srlri_b(v16i8, unsigned char);
    126 #define __msa_srlri_b __builtin_msa_srlri_b
    127 extern v8i16 __builtin_msa_srlri_h(v8i16, unsigned char);
    128 #define __msa_srlri_h __builtin_msa_srlri_h
    129 extern v4i32 __builtin_msa_srlri_w(v4i32, unsigned char);
    130 #define __msa_srlri_w __builtin_msa_srlri_w
    131 extern v2i64 __builtin_msa_srlri_d(v2i64, unsigned char);
    132 #define __msa_srlri_d __builtin_msa_srlri_d
    133 extern v16u8 __builtin_msa_bclr_b(v16u8, v16u8);
    134 #define __msa_bclr_b __builtin_msa_bclr_b
    135 extern v8u16 __builtin_msa_bclr_h(v8u16, v8u16);
    136 #define __msa_bclr_h __builtin_msa_bclr_h
    137 extern v4u32 __builtin_msa_bclr_w(v4u32, v4u32);
    138 #define __msa_bclr_w __builtin_msa_bclr_w
    139 extern v2u64 __builtin_msa_bclr_d(v2u64, v2u64);
    140 #define __msa_bclr_d __builtin_msa_bclr_d
    141 extern v16u8 __builtin_msa_bclri_b(v16u8, unsigned char);
    142 #define __msa_bclri_b __builtin_msa_bclri_b
    143 extern v8u16 __builtin_msa_bclri_h(v8u16, unsigned char);
    144 #define __msa_bclri_h __builtin_msa_bclri_h
    145 extern v4u32 __builtin_msa_bclri_w(v4u32, unsigned char);
    146 #define __msa_bclri_w __builtin_msa_bclri_w
    147 extern v2u64 __builtin_msa_bclri_d(v2u64, unsigned char);
    148 #define __msa_bclri_d __builtin_msa_bclri_d
    149 extern v16u8 __builtin_msa_bset_b(v16u8, v16u8);
    150 #define __msa_bset_b __builtin_msa_bset_b
    151 extern v8u16 __builtin_msa_bset_h(v8u16, v8u16);
    152 #define __msa_bset_h __builtin_msa_bset_h
    153 extern v4u32 __builtin_msa_bset_w(v4u32, v4u32);
    154 #define __msa_bset_w __builtin_msa_bset_w
    155 extern v2u64 __builtin_msa_bset_d(v2u64, v2u64);
    156 #define __msa_bset_d __builtin_msa_bset_d
    157 extern v16u8 __builtin_msa_bseti_b(v16u8, unsigned char);
    158 #define __msa_bseti_b __builtin_msa_bseti_b
    159 extern v8u16 __builtin_msa_bseti_h(v8u16, unsigned char);
    160 #define __msa_bseti_h __builtin_msa_bseti_h
    161 extern v4u32 __builtin_msa_bseti_w(v4u32, unsigned char);
    162 #define __msa_bseti_w __builtin_msa_bseti_w
    163 extern v2u64 __builtin_msa_bseti_d(v2u64, unsigned char);
    164 #define __msa_bseti_d __builtin_msa_bseti_d
    165 extern v16u8 __builtin_msa_bneg_b(v16u8, v16u8);
    166 #define __msa_bneg_b __builtin_msa_bneg_b
    167 extern v8u16 __builtin_msa_bneg_h(v8u16, v8u16);
    168 #define __msa_bneg_h __builtin_msa_bneg_h
    169 extern v4u32 __builtin_msa_bneg_w(v4u32, v4u32);
    170 #define __msa_bneg_w __builtin_msa_bneg_w
    171 extern v2u64 __builtin_msa_bneg_d(v2u64, v2u64);
    172 #define __msa_bneg_d __builtin_msa_bneg_d
    173 extern v16u8 __builtin_msa_bnegi_b(v16u8, unsigned char);
    174 #define __msa_bnegi_b __builtin_msa_bnegi_b
    175 extern v8u16 __builtin_msa_bnegi_h(v8u16, unsigned char);
    176 #define __msa_bnegi_h __builtin_msa_bnegi_h
    177 extern v4u32 __builtin_msa_bnegi_w(v4u32, unsigned char);
    178 #define __msa_bnegi_w __builtin_msa_bnegi_w
    179 extern v2u64 __builtin_msa_bnegi_d(v2u64, unsigned char);
    180 #define __msa_bnegi_d __builtin_msa_bnegi_d
    181 extern v16u8 __builtin_msa_binsl_b(v16u8, v16u8, v16u8);
    182 #define __msa_binsl_b __builtin_msa_binsl_b
    183 extern v8u16 __builtin_msa_binsl_h(v8u16, v8u16, v8u16);
    184 #define __msa_binsl_h __builtin_msa_binsl_h
    185 extern v4u32 __builtin_msa_binsl_w(v4u32, v4u32, v4u32);
    186 #define __msa_binsl_w __builtin_msa_binsl_w
    187 extern v2u64 __builtin_msa_binsl_d(v2u64, v2u64, v2u64);
    188 #define __msa_binsl_d __builtin_msa_binsl_d
    189 extern v16u8 __builtin_msa_binsli_b(v16u8, v16u8, unsigned char);
    190 #define __msa_binsli_b __builtin_msa_binsli_b
    191 extern v8u16 __builtin_msa_binsli_h(v8u16, v8u16, unsigned char);
    192 #define __msa_binsli_h __builtin_msa_binsli_h
    193 extern v4u32 __builtin_msa_binsli_w(v4u32, v4u32, unsigned char);
    194 #define __msa_binsli_w __builtin_msa_binsli_w
    195 extern v2u64 __builtin_msa_binsli_d(v2u64, v2u64, unsigned char);
    196 #define __msa_binsli_d __builtin_msa_binsli_d
    197 extern v16u8 __builtin_msa_binsr_b(v16u8, v16u8, v16u8);
    198 #define __msa_binsr_b __builtin_msa_binsr_b
    199 extern v8u16 __builtin_msa_binsr_h(v8u16, v8u16, v8u16);
    200 #define __msa_binsr_h __builtin_msa_binsr_h
    201 extern v4u32 __builtin_msa_binsr_w(v4u32, v4u32, v4u32);
    202 #define __msa_binsr_w __builtin_msa_binsr_w
    203 extern v2u64 __builtin_msa_binsr_d(v2u64, v2u64, v2u64);
    204 #define __msa_binsr_d __builtin_msa_binsr_d
    205 extern v16u8 __builtin_msa_binsri_b(v16u8, v16u8, unsigned char);
    206 #define __msa_binsri_b __builtin_msa_binsri_b
    207 extern v8u16 __builtin_msa_binsri_h(v8u16, v8u16, unsigned char);
    208 #define __msa_binsri_h __builtin_msa_binsri_h
    209 extern v4u32 __builtin_msa_binsri_w(v4u32, v4u32, unsigned char);
    210 #define __msa_binsri_w __builtin_msa_binsri_w
    211 extern v2u64 __builtin_msa_binsri_d(v2u64, v2u64, unsigned char);
    212 #define __msa_binsri_d __builtin_msa_binsri_d
    213 extern v16i8 __builtin_msa_addv_b(v16i8, v16i8);
    214 #define __msa_addv_b __builtin_msa_addv_b
    215 extern v8i16 __builtin_msa_addv_h(v8i16, v8i16);
    216 #define __msa_addv_h __builtin_msa_addv_h
    217 extern v4i32 __builtin_msa_addv_w(v4i32, v4i32);
    218 #define __msa_addv_w __builtin_msa_addv_w
    219 extern v2i64 __builtin_msa_addv_d(v2i64, v2i64);
    220 #define __msa_addv_d __builtin_msa_addv_d
    221 extern v16i8 __builtin_msa_addvi_b(v16i8, unsigned char);
    222 #define __msa_addvi_b __builtin_msa_addvi_b
    223 extern v8i16 __builtin_msa_addvi_h(v8i16, unsigned char);
    224 #define __msa_addvi_h __builtin_msa_addvi_h
    225 extern v4i32 __builtin_msa_addvi_w(v4i32, unsigned char);
    226 #define __msa_addvi_w __builtin_msa_addvi_w
    227 extern v2i64 __builtin_msa_addvi_d(v2i64, unsigned char);
    228 #define __msa_addvi_d __builtin_msa_addvi_d
    229 extern v16i8 __builtin_msa_subv_b(v16i8, v16i8);
    230 #define __msa_subv_b __builtin_msa_subv_b
    231 extern v8i16 __builtin_msa_subv_h(v8i16, v8i16);
    232 #define __msa_subv_h __builtin_msa_subv_h
    233 extern v4i32 __builtin_msa_subv_w(v4i32, v4i32);
    234 #define __msa_subv_w __builtin_msa_subv_w
    235 extern v2i64 __builtin_msa_subv_d(v2i64, v2i64);
    236 #define __msa_subv_d __builtin_msa_subv_d
    237 extern v16i8 __builtin_msa_subvi_b(v16i8, unsigned char);
    238 #define __msa_subvi_b __builtin_msa_subvi_b
    239 extern v8i16 __builtin_msa_subvi_h(v8i16, unsigned char);
    240 #define __msa_subvi_h __builtin_msa_subvi_h
    241 extern v4i32 __builtin_msa_subvi_w(v4i32, unsigned char);
    242 #define __msa_subvi_w __builtin_msa_subvi_w
    243 extern v2i64 __builtin_msa_subvi_d(v2i64, unsigned char);
    244 #define __msa_subvi_d __builtin_msa_subvi_d
    245 extern v16i8 __builtin_msa_max_s_b(v16i8, v16i8);
    246 #define __msa_max_s_b __builtin_msa_max_s_b
    247 extern v8i16 __builtin_msa_max_s_h(v8i16, v8i16);
    248 #define __msa_max_s_h __builtin_msa_max_s_h
    249 extern v4i32 __builtin_msa_max_s_w(v4i32, v4i32);
    250 #define __msa_max_s_w __builtin_msa_max_s_w
    251 extern v2i64 __builtin_msa_max_s_d(v2i64, v2i64);
    252 #define __msa_max_s_d __builtin_msa_max_s_d
    253 extern v16i8 __builtin_msa_maxi_s_b(v16i8, char);
    254 #define __msa_maxi_s_b __builtin_msa_maxi_s_b
    255 extern v8i16 __builtin_msa_maxi_s_h(v8i16, char);
    256 #define __msa_maxi_s_h __builtin_msa_maxi_s_h
    257 extern v4i32 __builtin_msa_maxi_s_w(v4i32, char);
    258 #define __msa_maxi_s_w __builtin_msa_maxi_s_w
    259 extern v2i64 __builtin_msa_maxi_s_d(v2i64, char);
    260 #define __msa_maxi_s_d __builtin_msa_maxi_s_d
    261 extern v16u8 __builtin_msa_max_u_b(v16u8, v16u8);
    262 #define __msa_max_u_b __builtin_msa_max_u_b
    263 extern v8u16 __builtin_msa_max_u_h(v8u16, v8u16);
    264 #define __msa_max_u_h __builtin_msa_max_u_h
    265 extern v4u32 __builtin_msa_max_u_w(v4u32, v4u32);
    266 #define __msa_max_u_w __builtin_msa_max_u_w
    267 extern v2u64 __builtin_msa_max_u_d(v2u64, v2u64);
    268 #define __msa_max_u_d __builtin_msa_max_u_d
    269 extern v16u8 __builtin_msa_maxi_u_b(v16u8, unsigned char);
    270 #define __msa_maxi_u_b __builtin_msa_maxi_u_b
    271 extern v8u16 __builtin_msa_maxi_u_h(v8u16, unsigned char);
    272 #define __msa_maxi_u_h __builtin_msa_maxi_u_h
    273 extern v4u32 __builtin_msa_maxi_u_w(v4u32, unsigned char);
    274 #define __msa_maxi_u_w __builtin_msa_maxi_u_w
    275 extern v2u64 __builtin_msa_maxi_u_d(v2u64, unsigned char);
    276 #define __msa_maxi_u_d __builtin_msa_maxi_u_d
    277 extern v16i8 __builtin_msa_min_s_b(v16i8, v16i8);
    278 #define __msa_min_s_b __builtin_msa_min_s_b
    279 extern v8i16 __builtin_msa_min_s_h(v8i16, v8i16);
    280 #define __msa_min_s_h __builtin_msa_min_s_h
    281 extern v4i32 __builtin_msa_min_s_w(v4i32, v4i32);
    282 #define __msa_min_s_w __builtin_msa_min_s_w
    283 extern v2i64 __builtin_msa_min_s_d(v2i64, v2i64);
    284 #define __msa_min_s_d __builtin_msa_min_s_d
    285 extern v16i8 __builtin_msa_mini_s_b(v16i8, char);
    286 #define __msa_mini_s_b __builtin_msa_mini_s_b
    287 extern v8i16 __builtin_msa_mini_s_h(v8i16, char);
    288 #define __msa_mini_s_h __builtin_msa_mini_s_h
    289 extern v4i32 __builtin_msa_mini_s_w(v4i32, char);
    290 #define __msa_mini_s_w __builtin_msa_mini_s_w
    291 extern v2i64 __builtin_msa_mini_s_d(v2i64, char);
    292 #define __msa_mini_s_d __builtin_msa_mini_s_d
    293 extern v16u8 __builtin_msa_min_u_b(v16u8, v16u8);
    294 #define __msa_min_u_b __builtin_msa_min_u_b
    295 extern v8u16 __builtin_msa_min_u_h(v8u16, v8u16);
    296 #define __msa_min_u_h __builtin_msa_min_u_h
    297 extern v4u32 __builtin_msa_min_u_w(v4u32, v4u32);
    298 #define __msa_min_u_w __builtin_msa_min_u_w
    299 extern v2u64 __builtin_msa_min_u_d(v2u64, v2u64);
    300 #define __msa_min_u_d __builtin_msa_min_u_d
    301 extern v16u8 __builtin_msa_mini_u_b(v16u8, unsigned char);
    302 #define __msa_mini_u_b __builtin_msa_mini_u_b
    303 extern v8u16 __builtin_msa_mini_u_h(v8u16, unsigned char);
    304 #define __msa_mini_u_h __builtin_msa_mini_u_h
    305 extern v4u32 __builtin_msa_mini_u_w(v4u32, unsigned char);
    306 #define __msa_mini_u_w __builtin_msa_mini_u_w
    307 extern v2u64 __builtin_msa_mini_u_d(v2u64, unsigned char);
    308 #define __msa_mini_u_d __builtin_msa_mini_u_d
    309 extern v16i8 __builtin_msa_max_a_b(v16i8, v16i8);
    310 #define __msa_max_a_b __builtin_msa_max_a_b
    311 extern v8i16 __builtin_msa_max_a_h(v8i16, v8i16);
    312 #define __msa_max_a_h __builtin_msa_max_a_h
    313 extern v4i32 __builtin_msa_max_a_w(v4i32, v4i32);
    314 #define __msa_max_a_w __builtin_msa_max_a_w
    315 extern v2i64 __builtin_msa_max_a_d(v2i64, v2i64);
    316 #define __msa_max_a_d __builtin_msa_max_a_d
    317 extern v16i8 __builtin_msa_min_a_b(v16i8, v16i8);
    318 #define __msa_min_a_b __builtin_msa_min_a_b
    319 extern v8i16 __builtin_msa_min_a_h(v8i16, v8i16);
    320 #define __msa_min_a_h __builtin_msa_min_a_h
    321 extern v4i32 __builtin_msa_min_a_w(v4i32, v4i32);
    322 #define __msa_min_a_w __builtin_msa_min_a_w
    323 extern v2i64 __builtin_msa_min_a_d(v2i64, v2i64);
    324 #define __msa_min_a_d __builtin_msa_min_a_d
    325 extern v16i8 __builtin_msa_ceq_b(v16i8, v16i8);
    326 #define __msa_ceq_b __builtin_msa_ceq_b
    327 extern v8i16 __builtin_msa_ceq_h(v8i16, v8i16);
    328 #define __msa_ceq_h __builtin_msa_ceq_h
    329 extern v4i32 __builtin_msa_ceq_w(v4i32, v4i32);
    330 #define __msa_ceq_w __builtin_msa_ceq_w
    331 extern v2i64 __builtin_msa_ceq_d(v2i64, v2i64);
    332 #define __msa_ceq_d __builtin_msa_ceq_d
    333 extern v16i8 __builtin_msa_ceqi_b(v16i8, char);
    334 #define __msa_ceqi_b __builtin_msa_ceqi_b
    335 extern v8i16 __builtin_msa_ceqi_h(v8i16, char);
    336 #define __msa_ceqi_h __builtin_msa_ceqi_h
    337 extern v4i32 __builtin_msa_ceqi_w(v4i32, char);
    338 #define __msa_ceqi_w __builtin_msa_ceqi_w
    339 extern v2i64 __builtin_msa_ceqi_d(v2i64, char);
    340 #define __msa_ceqi_d __builtin_msa_ceqi_d
    341 extern v16i8 __builtin_msa_clt_s_b(v16i8, v16i8);
    342 #define __msa_clt_s_b __builtin_msa_clt_s_b
    343 extern v8i16 __builtin_msa_clt_s_h(v8i16, v8i16);
    344 #define __msa_clt_s_h __builtin_msa_clt_s_h
    345 extern v4i32 __builtin_msa_clt_s_w(v4i32, v4i32);
    346 #define __msa_clt_s_w __builtin_msa_clt_s_w
    347 extern v2i64 __builtin_msa_clt_s_d(v2i64, v2i64);
    348 #define __msa_clt_s_d __builtin_msa_clt_s_d
    349 extern v16i8 __builtin_msa_clti_s_b(v16i8, char);
    350 #define __msa_clti_s_b __builtin_msa_clti_s_b
    351 extern v8i16 __builtin_msa_clti_s_h(v8i16, char);
    352 #define __msa_clti_s_h __builtin_msa_clti_s_h
    353 extern v4i32 __builtin_msa_clti_s_w(v4i32, char);
    354 #define __msa_clti_s_w __builtin_msa_clti_s_w
    355 extern v2i64 __builtin_msa_clti_s_d(v2i64, char);
    356 #define __msa_clti_s_d __builtin_msa_clti_s_d
    357 extern v16i8 __builtin_msa_clt_u_b(v16u8, v16u8);
    358 #define __msa_clt_u_b __builtin_msa_clt_u_b
    359 extern v8i16 __builtin_msa_clt_u_h(v8u16, v8u16);
    360 #define __msa_clt_u_h __builtin_msa_clt_u_h
    361 extern v4i32 __builtin_msa_clt_u_w(v4u32, v4u32);
    362 #define __msa_clt_u_w __builtin_msa_clt_u_w
    363 extern v2i64 __builtin_msa_clt_u_d(v2u64, v2u64);
    364 #define __msa_clt_u_d __builtin_msa_clt_u_d
    365 extern v16i8 __builtin_msa_clti_u_b(v16u8, unsigned char);
    366 #define __msa_clti_u_b __builtin_msa_clti_u_b
    367 extern v8i16 __builtin_msa_clti_u_h(v8u16, unsigned char);
    368 #define __msa_clti_u_h __builtin_msa_clti_u_h
    369 extern v4i32 __builtin_msa_clti_u_w(v4u32, unsigned char);
    370 #define __msa_clti_u_w __builtin_msa_clti_u_w
    371 extern v2i64 __builtin_msa_clti_u_d(v2u64, unsigned char);
    372 #define __msa_clti_u_d __builtin_msa_clti_u_d
    373 extern v16i8 __builtin_msa_cle_s_b(v16i8, v16i8);
    374 #define __msa_cle_s_b __builtin_msa_cle_s_b
    375 extern v8i16 __builtin_msa_cle_s_h(v8i16, v8i16);
    376 #define __msa_cle_s_h __builtin_msa_cle_s_h
    377 extern v4i32 __builtin_msa_cle_s_w(v4i32, v4i32);
    378 #define __msa_cle_s_w __builtin_msa_cle_s_w
    379 extern v2i64 __builtin_msa_cle_s_d(v2i64, v2i64);
    380 #define __msa_cle_s_d __builtin_msa_cle_s_d
    381 extern v16i8 __builtin_msa_clei_s_b(v16i8, char);
    382 #define __msa_clei_s_b __builtin_msa_clei_s_b
    383 extern v8i16 __builtin_msa_clei_s_h(v8i16, char);
    384 #define __msa_clei_s_h __builtin_msa_clei_s_h
    385 extern v4i32 __builtin_msa_clei_s_w(v4i32, char);
    386 #define __msa_clei_s_w __builtin_msa_clei_s_w
    387 extern v2i64 __builtin_msa_clei_s_d(v2i64, char);
    388 #define __msa_clei_s_d __builtin_msa_clei_s_d
    389 extern v16i8 __builtin_msa_cle_u_b(v16u8, v16u8);
    390 #define __msa_cle_u_b __builtin_msa_cle_u_b
    391 extern v8i16 __builtin_msa_cle_u_h(v8u16, v8u16);
    392 #define __msa_cle_u_h __builtin_msa_cle_u_h
    393 extern v4i32 __builtin_msa_cle_u_w(v4u32, v4u32);
    394 #define __msa_cle_u_w __builtin_msa_cle_u_w
    395 extern v2i64 __builtin_msa_cle_u_d(v2u64, v2u64);
    396 #define __msa_cle_u_d __builtin_msa_cle_u_d
    397 extern v16i8 __builtin_msa_clei_u_b(v16u8, unsigned char);
    398 #define __msa_clei_u_b __builtin_msa_clei_u_b
    399 extern v8i16 __builtin_msa_clei_u_h(v8u16, unsigned char);
    400 #define __msa_clei_u_h __builtin_msa_clei_u_h
    401 extern v4i32 __builtin_msa_clei_u_w(v4u32, unsigned char);
    402 #define __msa_clei_u_w __builtin_msa_clei_u_w
    403 extern v2i64 __builtin_msa_clei_u_d(v2u64, unsigned char);
    404 #define __msa_clei_u_d __builtin_msa_clei_u_d
    405 extern v16i8 __builtin_msa_ld_b(void *, int);
    406 #define __msa_ld_b __builtin_msa_ld_b
    407 extern v8i16 __builtin_msa_ld_h(void *, int);
    408 #define __msa_ld_h __builtin_msa_ld_h
    409 extern v4i32 __builtin_msa_ld_w(void *, int);
    410 #define __msa_ld_w __builtin_msa_ld_w
    411 extern v2i64 __builtin_msa_ld_d(void *, int);
    412 #define __msa_ld_d __builtin_msa_ld_d
    413 extern v16i8 __builtin_msa_sat_s_b(v16i8, unsigned char);
    414 #define __msa_sat_s_b __builtin_msa_sat_s_b
    415 extern v8i16 __builtin_msa_sat_s_h(v8i16, unsigned char);
    416 #define __msa_sat_s_h __builtin_msa_sat_s_h
    417 extern v4i32 __builtin_msa_sat_s_w(v4i32, unsigned char);
    418 #define __msa_sat_s_w __builtin_msa_sat_s_w
    419 extern v2i64 __builtin_msa_sat_s_d(v2i64, unsigned char);
    420 #define __msa_sat_s_d __builtin_msa_sat_s_d
    421 extern v16u8 __builtin_msa_sat_u_b(v16u8, unsigned char);
    422 #define __msa_sat_u_b __builtin_msa_sat_u_b
    423 extern v8u16 __builtin_msa_sat_u_h(v8u16, unsigned char);
    424 #define __msa_sat_u_h __builtin_msa_sat_u_h
    425 extern v4u32 __builtin_msa_sat_u_w(v4u32, unsigned char);
    426 #define __msa_sat_u_w __builtin_msa_sat_u_w
    427 extern v2u64 __builtin_msa_sat_u_d(v2u64, unsigned char);
    428 #define __msa_sat_u_d __builtin_msa_sat_u_d
    429 extern v16i8 __builtin_msa_add_a_b(v16i8, v16i8);
    430 #define __msa_add_a_b __builtin_msa_add_a_b
    431 extern v8i16 __builtin_msa_add_a_h(v8i16, v8i16);
    432 #define __msa_add_a_h __builtin_msa_add_a_h
    433 extern v4i32 __builtin_msa_add_a_w(v4i32, v4i32);
    434 #define __msa_add_a_w __builtin_msa_add_a_w
    435 extern v2i64 __builtin_msa_add_a_d(v2i64, v2i64);
    436 #define __msa_add_a_d __builtin_msa_add_a_d
    437 extern v16i8 __builtin_msa_adds_a_b(v16i8, v16i8);
    438 #define __msa_adds_a_b __builtin_msa_adds_a_b
    439 extern v8i16 __builtin_msa_adds_a_h(v8i16, v8i16);
    440 #define __msa_adds_a_h __builtin_msa_adds_a_h
    441 extern v4i32 __builtin_msa_adds_a_w(v4i32, v4i32);
    442 #define __msa_adds_a_w __builtin_msa_adds_a_w
    443 extern v2i64 __builtin_msa_adds_a_d(v2i64, v2i64);
    444 #define __msa_adds_a_d __builtin_msa_adds_a_d
    445 extern v16i8 __builtin_msa_adds_s_b(v16i8, v16i8);
    446 #define __msa_adds_s_b __builtin_msa_adds_s_b
    447 extern v8i16 __builtin_msa_adds_s_h(v8i16, v8i16);
    448 #define __msa_adds_s_h __builtin_msa_adds_s_h
    449 extern v4i32 __builtin_msa_adds_s_w(v4i32, v4i32);
    450 #define __msa_adds_s_w __builtin_msa_adds_s_w
    451 extern v2i64 __builtin_msa_adds_s_d(v2i64, v2i64);
    452 #define __msa_adds_s_d __builtin_msa_adds_s_d
    453 extern v16u8 __builtin_msa_adds_u_b(v16u8, v16u8);
    454 #define __msa_adds_u_b __builtin_msa_adds_u_b
    455 extern v8u16 __builtin_msa_adds_u_h(v8u16, v8u16);
    456 #define __msa_adds_u_h __builtin_msa_adds_u_h
    457 extern v4u32 __builtin_msa_adds_u_w(v4u32, v4u32);
    458 #define __msa_adds_u_w __builtin_msa_adds_u_w
    459 extern v2u64 __builtin_msa_adds_u_d(v2u64, v2u64);
    460 #define __msa_adds_u_d __builtin_msa_adds_u_d
    461 extern v16i8 __builtin_msa_ave_s_b(v16i8, v16i8);
    462 #define __msa_ave_s_b __builtin_msa_ave_s_b
    463 extern v8i16 __builtin_msa_ave_s_h(v8i16, v8i16);
    464 #define __msa_ave_s_h __builtin_msa_ave_s_h
    465 extern v4i32 __builtin_msa_ave_s_w(v4i32, v4i32);
    466 #define __msa_ave_s_w __builtin_msa_ave_s_w
    467 extern v2i64 __builtin_msa_ave_s_d(v2i64, v2i64);
    468 #define __msa_ave_s_d __builtin_msa_ave_s_d
    469 extern v16u8 __builtin_msa_ave_u_b(v16u8, v16u8);
    470 #define __msa_ave_u_b __builtin_msa_ave_u_b
    471 extern v8u16 __builtin_msa_ave_u_h(v8u16, v8u16);
    472 #define __msa_ave_u_h __builtin_msa_ave_u_h
    473 extern v4u32 __builtin_msa_ave_u_w(v4u32, v4u32);
    474 #define __msa_ave_u_w __builtin_msa_ave_u_w
    475 extern v2u64 __builtin_msa_ave_u_d(v2u64, v2u64);
    476 #define __msa_ave_u_d __builtin_msa_ave_u_d
    477 extern v16i8 __builtin_msa_aver_s_b(v16i8, v16i8);
    478 #define __msa_aver_s_b __builtin_msa_aver_s_b
    479 extern v8i16 __builtin_msa_aver_s_h(v8i16, v8i16);
    480 #define __msa_aver_s_h __builtin_msa_aver_s_h
    481 extern v4i32 __builtin_msa_aver_s_w(v4i32, v4i32);
    482 #define __msa_aver_s_w __builtin_msa_aver_s_w
    483 extern v2i64 __builtin_msa_aver_s_d(v2i64, v2i64);
    484 #define __msa_aver_s_d __builtin_msa_aver_s_d
    485 extern v16u8 __builtin_msa_aver_u_b(v16u8, v16u8);
    486 #define __msa_aver_u_b __builtin_msa_aver_u_b
    487 extern v8u16 __builtin_msa_aver_u_h(v8u16, v8u16);
    488 #define __msa_aver_u_h __builtin_msa_aver_u_h
    489 extern v4u32 __builtin_msa_aver_u_w(v4u32, v4u32);
    490 #define __msa_aver_u_w __builtin_msa_aver_u_w
    491 extern v2u64 __builtin_msa_aver_u_d(v2u64, v2u64);
    492 #define __msa_aver_u_d __builtin_msa_aver_u_d
    493 extern v16i8 __builtin_msa_subs_s_b(v16i8, v16i8);
    494 #define __msa_subs_s_b __builtin_msa_subs_s_b
    495 extern v8i16 __builtin_msa_subs_s_h(v8i16, v8i16);
    496 #define __msa_subs_s_h __builtin_msa_subs_s_h
    497 extern v4i32 __builtin_msa_subs_s_w(v4i32, v4i32);
    498 #define __msa_subs_s_w __builtin_msa_subs_s_w
    499 extern v2i64 __builtin_msa_subs_s_d(v2i64, v2i64);
    500 #define __msa_subs_s_d __builtin_msa_subs_s_d
    501 extern v16u8 __builtin_msa_subs_u_b(v16u8, v16u8);
    502 #define __msa_subs_u_b __builtin_msa_subs_u_b
    503 extern v8u16 __builtin_msa_subs_u_h(v8u16, v8u16);
    504 #define __msa_subs_u_h __builtin_msa_subs_u_h
    505 extern v4u32 __builtin_msa_subs_u_w(v4u32, v4u32);
    506 #define __msa_subs_u_w __builtin_msa_subs_u_w
    507 extern v2u64 __builtin_msa_subs_u_d(v2u64, v2u64);
    508 #define __msa_subs_u_d __builtin_msa_subs_u_d
    509 extern v16i8 __builtin_msa_subsuu_s_b(v16u8, v16u8);
    510 #define __msa_subsuu_s_b __builtin_msa_subsuu_s_b
    511 extern v8i16 __builtin_msa_subsuu_s_h(v8u16, v8u16);
    512 #define __msa_subsuu_s_h __builtin_msa_subsuu_s_h
    513 extern v4i32 __builtin_msa_subsuu_s_w(v4u32, v4u32);
    514 #define __msa_subsuu_s_w __builtin_msa_subsuu_s_w
    515 extern v2i64 __builtin_msa_subsuu_s_d(v2u64, v2u64);
    516 #define __msa_subsuu_s_d __builtin_msa_subsuu_s_d
    517 extern v16u8 __builtin_msa_subsus_u_b(v16u8, v16i8);
    518 #define __msa_subsus_u_b __builtin_msa_subsus_u_b
    519 extern v8u16 __builtin_msa_subsus_u_h(v8u16, v8i16);
    520 #define __msa_subsus_u_h __builtin_msa_subsus_u_h
    521 extern v4u32 __builtin_msa_subsus_u_w(v4u32, v4i32);
    522 #define __msa_subsus_u_w __builtin_msa_subsus_u_w
    523 extern v2u64 __builtin_msa_subsus_u_d(v2u64, v2i64);
    524 #define __msa_subsus_u_d __builtin_msa_subsus_u_d
    525 extern v16i8 __builtin_msa_asub_s_b(v16i8, v16i8);
    526 #define __msa_asub_s_b __builtin_msa_asub_s_b
    527 extern v8i16 __builtin_msa_asub_s_h(v8i16, v8i16);
    528 #define __msa_asub_s_h __builtin_msa_asub_s_h
    529 extern v4i32 __builtin_msa_asub_s_w(v4i32, v4i32);
    530 #define __msa_asub_s_w __builtin_msa_asub_s_w
    531 extern v2i64 __builtin_msa_asub_s_d(v2i64, v2i64);
    532 #define __msa_asub_s_d __builtin_msa_asub_s_d
    533 extern v16u8 __builtin_msa_asub_u_b(v16u8, v16u8);
    534 #define __msa_asub_u_b __builtin_msa_asub_u_b
    535 extern v8u16 __builtin_msa_asub_u_h(v8u16, v8u16);
    536 #define __msa_asub_u_h __builtin_msa_asub_u_h
    537 extern v4u32 __builtin_msa_asub_u_w(v4u32, v4u32);
    538 #define __msa_asub_u_w __builtin_msa_asub_u_w
    539 extern v2u64 __builtin_msa_asub_u_d(v2u64, v2u64);
    540 #define __msa_asub_u_d __builtin_msa_asub_u_d
    541 extern v16i8 __builtin_msa_mulv_b(v16i8, v16i8);
    542 #define __msa_mulv_b __builtin_msa_mulv_b
    543 extern v8i16 __builtin_msa_mulv_h(v8i16, v8i16);
    544 #define __msa_mulv_h __builtin_msa_mulv_h
    545 extern v4i32 __builtin_msa_mulv_w(v4i32, v4i32);
    546 #define __msa_mulv_w __builtin_msa_mulv_w
    547 extern v2i64 __builtin_msa_mulv_d(v2i64, v2i64);
    548 #define __msa_mulv_d __builtin_msa_mulv_d
    549 extern v16i8 __builtin_msa_maddv_b(v16i8, v16i8, v16i8);
    550 #define __msa_maddv_b __builtin_msa_maddv_b
    551 extern v8i16 __builtin_msa_maddv_h(v8i16, v8i16, v8i16);
    552 #define __msa_maddv_h __builtin_msa_maddv_h
    553 extern v4i32 __builtin_msa_maddv_w(v4i32, v4i32, v4i32);
    554 #define __msa_maddv_w __builtin_msa_maddv_w
    555 extern v2i64 __builtin_msa_maddv_d(v2i64, v2i64, v2i64);
    556 #define __msa_maddv_d __builtin_msa_maddv_d
    557 extern v16i8 __builtin_msa_msubv_b(v16i8, v16i8, v16i8);
    558 #define __msa_msubv_b __builtin_msa_msubv_b
    559 extern v8i16 __builtin_msa_msubv_h(v8i16, v8i16, v8i16);
    560 #define __msa_msubv_h __builtin_msa_msubv_h
    561 extern v4i32 __builtin_msa_msubv_w(v4i32, v4i32, v4i32);
    562 #define __msa_msubv_w __builtin_msa_msubv_w
    563 extern v2i64 __builtin_msa_msubv_d(v2i64, v2i64, v2i64);
    564 #define __msa_msubv_d __builtin_msa_msubv_d
    565 extern v16i8 __builtin_msa_div_s_b(v16i8, v16i8);
    566 #define __msa_div_s_b __builtin_msa_div_s_b
    567 extern v8i16 __builtin_msa_div_s_h(v8i16, v8i16);
    568 #define __msa_div_s_h __builtin_msa_div_s_h
    569 extern v4i32 __builtin_msa_div_s_w(v4i32, v4i32);
    570 #define __msa_div_s_w __builtin_msa_div_s_w
    571 extern v2i64 __builtin_msa_div_s_d(v2i64, v2i64);
    572 #define __msa_div_s_d __builtin_msa_div_s_d
    573 extern v16u8 __builtin_msa_div_u_b(v16u8, v16u8);
    574 #define __msa_div_u_b __builtin_msa_div_u_b
    575 extern v8u16 __builtin_msa_div_u_h(v8u16, v8u16);
    576 #define __msa_div_u_h __builtin_msa_div_u_h
    577 extern v4u32 __builtin_msa_div_u_w(v4u32, v4u32);
    578 #define __msa_div_u_w __builtin_msa_div_u_w
    579 extern v2u64 __builtin_msa_div_u_d(v2u64, v2u64);
    580 #define __msa_div_u_d __builtin_msa_div_u_d
    581 extern v8i16 __builtin_msa_hadd_s_h(v16i8, v16i8);
    582 #define __msa_hadd_s_h __builtin_msa_hadd_s_h
    583 extern v4i32 __builtin_msa_hadd_s_w(v8i16, v8i16);
    584 #define __msa_hadd_s_w __builtin_msa_hadd_s_w
    585 extern v2i64 __builtin_msa_hadd_s_d(v4i32, v4i32);
    586 #define __msa_hadd_s_d __builtin_msa_hadd_s_d
    587 extern v8u16 __builtin_msa_hadd_u_h(v16u8, v16u8);
    588 #define __msa_hadd_u_h __builtin_msa_hadd_u_h
    589 extern v4u32 __builtin_msa_hadd_u_w(v8u16, v8u16);
    590 #define __msa_hadd_u_w __builtin_msa_hadd_u_w
    591 extern v2u64 __builtin_msa_hadd_u_d(v4u32, v4u32);
    592 #define __msa_hadd_u_d __builtin_msa_hadd_u_d
    593 extern v8i16 __builtin_msa_hsub_s_h(v16i8, v16i8);
    594 #define __msa_hsub_s_h __builtin_msa_hsub_s_h
    595 extern v4i32 __builtin_msa_hsub_s_w(v8i16, v8i16);
    596 #define __msa_hsub_s_w __builtin_msa_hsub_s_w
    597 extern v2i64 __builtin_msa_hsub_s_d(v4i32, v4i32);
    598 #define __msa_hsub_s_d __builtin_msa_hsub_s_d
    599 extern v8i16 __builtin_msa_hsub_u_h(v16u8, v16u8);
    600 #define __msa_hsub_u_h __builtin_msa_hsub_u_h
    601 extern v4i32 __builtin_msa_hsub_u_w(v8u16, v8u16);
    602 #define __msa_hsub_u_w __builtin_msa_hsub_u_w
    603 extern v2i64 __builtin_msa_hsub_u_d(v4u32, v4u32);
    604 #define __msa_hsub_u_d __builtin_msa_hsub_u_d
    605 extern v16i8 __builtin_msa_mod_s_b(v16i8, v16i8);
    606 #define __msa_mod_s_b __builtin_msa_mod_s_b
    607 extern v8i16 __builtin_msa_mod_s_h(v8i16, v8i16);
    608 #define __msa_mod_s_h __builtin_msa_mod_s_h
    609 extern v4i32 __builtin_msa_mod_s_w(v4i32, v4i32);
    610 #define __msa_mod_s_w __builtin_msa_mod_s_w
    611 extern v2i64 __builtin_msa_mod_s_d(v2i64, v2i64);
    612 #define __msa_mod_s_d __builtin_msa_mod_s_d
    613 extern v16u8 __builtin_msa_mod_u_b(v16u8, v16u8);
    614 #define __msa_mod_u_b __builtin_msa_mod_u_b
    615 extern v8u16 __builtin_msa_mod_u_h(v8u16, v8u16);
    616 #define __msa_mod_u_h __builtin_msa_mod_u_h
    617 extern v4u32 __builtin_msa_mod_u_w(v4u32, v4u32);
    618 #define __msa_mod_u_w __builtin_msa_mod_u_w
    619 extern v2u64 __builtin_msa_mod_u_d(v2u64, v2u64);
    620 #define __msa_mod_u_d __builtin_msa_mod_u_d
    621 extern v8i16 __builtin_msa_dotp_s_h(v16i8, v16i8);
    622 #define __msa_dotp_s_h __builtin_msa_dotp_s_h
    623 extern v4i32 __builtin_msa_dotp_s_w(v8i16, v8i16);
    624 #define __msa_dotp_s_w __builtin_msa_dotp_s_w
    625 extern v2i64 __builtin_msa_dotp_s_d(v4i32, v4i32);
    626 #define __msa_dotp_s_d __builtin_msa_dotp_s_d
    627 extern v8u16 __builtin_msa_dotp_u_h(v16u8, v16u8);
    628 #define __msa_dotp_u_h __builtin_msa_dotp_u_h
    629 extern v4u32 __builtin_msa_dotp_u_w(v8u16, v8u16);
    630 #define __msa_dotp_u_w __builtin_msa_dotp_u_w
    631 extern v2u64 __builtin_msa_dotp_u_d(v4u32, v4u32);
    632 #define __msa_dotp_u_d __builtin_msa_dotp_u_d
    633 extern v8i16 __builtin_msa_dpadd_s_h(v8i16, v16i8, v16i8);
    634 #define __msa_dpadd_s_h __builtin_msa_dpadd_s_h
    635 extern v4i32 __builtin_msa_dpadd_s_w(v4i32, v8i16, v8i16);
    636 #define __msa_dpadd_s_w __builtin_msa_dpadd_s_w
    637 extern v2i64 __builtin_msa_dpadd_s_d(v2i64, v4i32, v4i32);
    638 #define __msa_dpadd_s_d __builtin_msa_dpadd_s_d
    639 extern v8u16 __builtin_msa_dpadd_u_h(v8u16, v16u8, v16u8);
    640 #define __msa_dpadd_u_h __builtin_msa_dpadd_u_h
    641 extern v4u32 __builtin_msa_dpadd_u_w(v4u32, v8u16, v8u16);
    642 #define __msa_dpadd_u_w __builtin_msa_dpadd_u_w
    643 extern v2u64 __builtin_msa_dpadd_u_d(v2u64, v4u32, v4u32);
    644 #define __msa_dpadd_u_d __builtin_msa_dpadd_u_d
    645 extern v8i16 __builtin_msa_dpsub_s_h(v8i16, v16i8, v16i8);
    646 #define __msa_dpsub_s_h __builtin_msa_dpsub_s_h
    647 extern v4i32 __builtin_msa_dpsub_s_w(v4i32, v8i16, v8i16);
    648 #define __msa_dpsub_s_w __builtin_msa_dpsub_s_w
    649 extern v2i64 __builtin_msa_dpsub_s_d(v2i64, v4i32, v4i32);
    650 #define __msa_dpsub_s_d __builtin_msa_dpsub_s_d
    651 extern v8i16 __builtin_msa_dpsub_u_h(v8i16, v16u8, v16u8);
    652 #define __msa_dpsub_u_h __builtin_msa_dpsub_u_h
    653 extern v4i32 __builtin_msa_dpsub_u_w(v4i32, v8u16, v8u16);
    654 #define __msa_dpsub_u_w __builtin_msa_dpsub_u_w
    655 extern v2i64 __builtin_msa_dpsub_u_d(v2i64, v4u32, v4u32);
    656 #define __msa_dpsub_u_d __builtin_msa_dpsub_u_d
    657 extern v16i8 __builtin_msa_sld_b(v16i8, v16i8, int);
    658 #define __msa_sld_b __builtin_msa_sld_b
    659 extern v8i16 __builtin_msa_sld_h(v8i16, v8i16, int);
    660 #define __msa_sld_h __builtin_msa_sld_h
    661 extern v4i32 __builtin_msa_sld_w(v4i32, v4i32, int);
    662 #define __msa_sld_w __builtin_msa_sld_w
    663 extern v2i64 __builtin_msa_sld_d(v2i64, v2i64, int);
    664 #define __msa_sld_d __builtin_msa_sld_d
    665 extern v16i8 __builtin_msa_sldi_b(v16i8, v16i8, unsigned char);
    666 #define __msa_sldi_b __builtin_msa_sldi_b
    667 extern v8i16 __builtin_msa_sldi_h(v8i16, v8i16, unsigned char);
    668 #define __msa_sldi_h __builtin_msa_sldi_h
    669 extern v4i32 __builtin_msa_sldi_w(v4i32, v4i32, unsigned char);
    670 #define __msa_sldi_w __builtin_msa_sldi_w
    671 extern v2i64 __builtin_msa_sldi_d(v2i64, v2i64, unsigned char);
    672 #define __msa_sldi_d __builtin_msa_sldi_d
    673 extern v16i8 __builtin_msa_splat_b(v16i8, int);
    674 #define __msa_splat_b __builtin_msa_splat_b
    675 extern v8i16 __builtin_msa_splat_h(v8i16, int);
    676 #define __msa_splat_h __builtin_msa_splat_h
    677 extern v4i32 __builtin_msa_splat_w(v4i32, int);
    678 #define __msa_splat_w __builtin_msa_splat_w
    679 extern v2i64 __builtin_msa_splat_d(v2i64, int);
    680 #define __msa_splat_d __builtin_msa_splat_d
    681 extern v16i8 __builtin_msa_splati_b(v16i8, unsigned char);
    682 #define __msa_splati_b __builtin_msa_splati_b
    683 extern v8i16 __builtin_msa_splati_h(v8i16, unsigned char);
    684 #define __msa_splati_h __builtin_msa_splati_h
    685 extern v4i32 __builtin_msa_splati_w(v4i32, unsigned char);
    686 #define __msa_splati_w __builtin_msa_splati_w
    687 extern v2i64 __builtin_msa_splati_d(v2i64, unsigned char);
    688 #define __msa_splati_d __builtin_msa_splati_d
    689 extern v16i8 __builtin_msa_pckev_b(v16i8, v16i8);
    690 #define __msa_pckev_b __builtin_msa_pckev_b
    691 extern v8i16 __builtin_msa_pckev_h(v8i16, v8i16);
    692 #define __msa_pckev_h __builtin_msa_pckev_h
    693 extern v4i32 __builtin_msa_pckev_w(v4i32, v4i32);
    694 #define __msa_pckev_w __builtin_msa_pckev_w
    695 extern v2i64 __builtin_msa_pckev_d(v2i64, v2i64);
    696 #define __msa_pckev_d __builtin_msa_pckev_d
    697 extern v16i8 __builtin_msa_pckod_b(v16i8, v16i8);
    698 #define __msa_pckod_b __builtin_msa_pckod_b
    699 extern v8i16 __builtin_msa_pckod_h(v8i16, v8i16);
    700 #define __msa_pckod_h __builtin_msa_pckod_h
    701 extern v4i32 __builtin_msa_pckod_w(v4i32, v4i32);
    702 #define __msa_pckod_w __builtin_msa_pckod_w
    703 extern v2i64 __builtin_msa_pckod_d(v2i64, v2i64);
    704 #define __msa_pckod_d __builtin_msa_pckod_d
    705 extern v16i8 __builtin_msa_ilvl_b(v16i8, v16i8);
    706 #define __msa_ilvl_b __builtin_msa_ilvl_b
    707 extern v8i16 __builtin_msa_ilvl_h(v8i16, v8i16);
    708 #define __msa_ilvl_h __builtin_msa_ilvl_h
    709 extern v4i32 __builtin_msa_ilvl_w(v4i32, v4i32);
    710 #define __msa_ilvl_w __builtin_msa_ilvl_w
    711 extern v2i64 __builtin_msa_ilvl_d(v2i64, v2i64);
    712 #define __msa_ilvl_d __builtin_msa_ilvl_d
    713 extern v16i8 __builtin_msa_ilvr_b(v16i8, v16i8);
    714 #define __msa_ilvr_b __builtin_msa_ilvr_b
    715 extern v8i16 __builtin_msa_ilvr_h(v8i16, v8i16);
    716 #define __msa_ilvr_h __builtin_msa_ilvr_h
    717 extern v4i32 __builtin_msa_ilvr_w(v4i32, v4i32);
    718 #define __msa_ilvr_w __builtin_msa_ilvr_w
    719 extern v2i64 __builtin_msa_ilvr_d(v2i64, v2i64);
    720 #define __msa_ilvr_d __builtin_msa_ilvr_d
    721 extern v16i8 __builtin_msa_ilvev_b(v16i8, v16i8);
    722 #define __msa_ilvev_b __builtin_msa_ilvev_b
    723 extern v8i16 __builtin_msa_ilvev_h(v8i16, v8i16);
    724 #define __msa_ilvev_h __builtin_msa_ilvev_h
    725 extern v4i32 __builtin_msa_ilvev_w(v4i32, v4i32);
    726 #define __msa_ilvev_w __builtin_msa_ilvev_w
    727 extern v2i64 __builtin_msa_ilvev_d(v2i64, v2i64);
    728 #define __msa_ilvev_d __builtin_msa_ilvev_d
    729 extern v16i8 __builtin_msa_ilvod_b(v16i8, v16i8);
    730 #define __msa_ilvod_b __builtin_msa_ilvod_b
    731 extern v8i16 __builtin_msa_ilvod_h(v8i16, v8i16);
    732 #define __msa_ilvod_h __builtin_msa_ilvod_h
    733 extern v4i32 __builtin_msa_ilvod_w(v4i32, v4i32);
    734 #define __msa_ilvod_w __builtin_msa_ilvod_w
    735 extern v2i64 __builtin_msa_ilvod_d(v2i64, v2i64);
    736 #define __msa_ilvod_d __builtin_msa_ilvod_d
    737 extern v16i8 __builtin_msa_vshf_b(v16i8, v16i8, v16i8);
    738 #define __msa_vshf_b __builtin_msa_vshf_b
    739 extern v8i16 __builtin_msa_vshf_h(v8i16, v8i16, v8i16);
    740 #define __msa_vshf_h __builtin_msa_vshf_h
    741 extern v4i32 __builtin_msa_vshf_w(v4i32, v4i32, v4i32);
    742 #define __msa_vshf_w __builtin_msa_vshf_w
    743 extern v2i64 __builtin_msa_vshf_d(v2i64, v2i64, v2i64);
    744 #define __msa_vshf_d __builtin_msa_vshf_d
    745 extern v16u8 __builtin_msa_and_v(v16u8, v16u8);
    746 #define __msa_and_v __builtin_msa_and_v
    747 extern v16u8 __builtin_msa_andi_b(v16u8, unsigned char);
    748 #define __msa_andi_b __builtin_msa_andi_b
    749 extern v16u8 __builtin_msa_or_v(v16u8, v16u8);
    750 #define __msa_or_v __builtin_msa_or_v
    751 extern v16u8 __builtin_msa_ori_b(v16u8, unsigned char);
    752 #define __msa_ori_b __builtin_msa_ori_b
    753 extern v16u8 __builtin_msa_nor_v(v16u8, v16u8);
    754 #define __msa_nor_v __builtin_msa_nor_v
    755 extern v16u8 __builtin_msa_nori_b(v16u8, unsigned char);
    756 #define __msa_nori_b __builtin_msa_nori_b
    757 extern v16u8 __builtin_msa_xor_v(v16u8, v16u8);
    758 #define __msa_xor_v __builtin_msa_xor_v
    759 extern v16u8 __builtin_msa_xori_b(v16u8, unsigned char);
    760 #define __msa_xori_b __builtin_msa_xori_b
    761 extern v16u8 __builtin_msa_bmnz_v(v16u8, v16u8, v16u8);
    762 #define __msa_bmnz_v __builtin_msa_bmnz_v
    763 extern v16u8 __builtin_msa_bmnzi_b(v16u8, v16u8, unsigned char);
    764 #define __msa_bmnzi_b __builtin_msa_bmnzi_b
    765 extern v16u8 __builtin_msa_bmz_v(v16u8, v16u8, v16u8);
    766 #define __msa_bmz_v __builtin_msa_bmz_v
    767 extern v16u8 __builtin_msa_bmzi_b(v16u8, v16u8, unsigned char);
    768 #define __msa_bmzi_b __builtin_msa_bmzi_b
    769 extern v16u8 __builtin_msa_bsel_v(v16u8, v16u8, v16u8);
    770 #define __msa_bsel_v __builtin_msa_bsel_v
    771 extern v16u8 __builtin_msa_bseli_b(v16u8, v16u8, unsigned char);
    772 #define __msa_bseli_b __builtin_msa_bseli_b
    773 extern v16i8 __builtin_msa_shf_b(v16i8, unsigned char);
    774 #define __msa_shf_b __builtin_msa_shf_b
    775 extern v8i16 __builtin_msa_shf_h(v8i16, unsigned char);
    776 #define __msa_shf_h __builtin_msa_shf_h
    777 extern v4i32 __builtin_msa_shf_w(v4i32, unsigned char);
    778 #define __msa_shf_w __builtin_msa_shf_w
    779 extern int __builtin_msa_bnz_v(v16u8);
    780 #define __msa_test_bnz_v __builtin_msa_bnz_v
    781 extern int __builtin_msa_bz_v(v16u8);
    782 #define __msa_test_bz_v __builtin_msa_bz_v
    783 extern v16i8 __builtin_msa_fill_b(int);
    784 #define __msa_fill_b __builtin_msa_fill_b
    785 extern v8i16 __builtin_msa_fill_h(int);
    786 #define __msa_fill_h __builtin_msa_fill_h
    787 extern v4i32 __builtin_msa_fill_w(int);
    788 #define __msa_fill_w __builtin_msa_fill_w
    789 extern v2i64 __builtin_msa_fill_d(long long);
    790 #define __msa_fill_d __builtin_msa_fill_d
    791 extern v16i8 __builtin_msa_pcnt_b(v16i8);
    792 #define __msa_pcnt_b __builtin_msa_pcnt_b
    793 extern v8i16 __builtin_msa_pcnt_h(v8i16);
    794 #define __msa_pcnt_h __builtin_msa_pcnt_h
    795 extern v4i32 __builtin_msa_pcnt_w(v4i32);
    796 #define __msa_pcnt_w __builtin_msa_pcnt_w
    797 extern v2i64 __builtin_msa_pcnt_d(v2i64);
    798 #define __msa_pcnt_d __builtin_msa_pcnt_d
    799 extern v16i8 __builtin_msa_nloc_b(v16i8);
    800 #define __msa_nloc_b __builtin_msa_nloc_b
    801 extern v8i16 __builtin_msa_nloc_h(v8i16);
    802 #define __msa_nloc_h __builtin_msa_nloc_h
    803 extern v4i32 __builtin_msa_nloc_w(v4i32);
    804 #define __msa_nloc_w __builtin_msa_nloc_w
    805 extern v2i64 __builtin_msa_nloc_d(v2i64);
    806 #define __msa_nloc_d __builtin_msa_nloc_d
    807 extern v16i8 __builtin_msa_nlzc_b(v16i8);
    808 #define __msa_nlzc_b __builtin_msa_nlzc_b
    809 extern v8i16 __builtin_msa_nlzc_h(v8i16);
    810 #define __msa_nlzc_h __builtin_msa_nlzc_h
    811 extern v4i32 __builtin_msa_nlzc_w(v4i32);
    812 #define __msa_nlzc_w __builtin_msa_nlzc_w
    813 extern v2i64 __builtin_msa_nlzc_d(v2i64);
    814 #define __msa_nlzc_d __builtin_msa_nlzc_d
    815 extern int __builtin_msa_copy_s_b(v16i8, unsigned char);
    816 #define __msa_copy_s_b __builtin_msa_copy_s_b
    817 extern int __builtin_msa_copy_s_h(v8i16, unsigned char);
    818 #define __msa_copy_s_h __builtin_msa_copy_s_h
    819 extern int __builtin_msa_copy_s_w(v4i32, unsigned char);
    820 #define __msa_copy_s_w __builtin_msa_copy_s_w
    821 extern long long __builtin_msa_copy_s_d(v2i64, unsigned char);
    822 #define __msa_copy_s_d __builtin_msa_copy_s_d
    823 extern int __builtin_msa_copy_u_b(v16i8, unsigned char);
    824 #define __msa_copy_u_b __builtin_msa_copy_u_b
    825 extern int __builtin_msa_copy_u_h(v8i16, unsigned char);
    826 #define __msa_copy_u_h __builtin_msa_copy_u_h
    827 extern int __builtin_msa_copy_u_w(v4i32, unsigned char);
    828 #define __msa_copy_u_w __builtin_msa_copy_u_w
    829 extern long long __builtin_msa_copy_u_d(v2i64, unsigned char);
    830 #define __msa_copy_u_d __builtin_msa_copy_u_d
    831 extern v16i8 __builtin_msa_insert_b(v16i8, unsigned char, int);
    832 #define __msa_insert_b __builtin_msa_insert_b
    833 extern v8i16 __builtin_msa_insert_h(v8i16, unsigned char, int);
    834 #define __msa_insert_h __builtin_msa_insert_h
    835 extern v4i32 __builtin_msa_insert_w(v4i32, unsigned char, int);
    836 #define __msa_insert_w __builtin_msa_insert_w
    837 extern v2i64 __builtin_msa_insert_d(v2i64, unsigned char, long long);
    838 #define __msa_insert_d __builtin_msa_insert_d
    839 extern v16i8 __builtin_msa_insve_b(v16i8, unsigned char, v16i8);
    840 #define __msa_insve_b __builtin_msa_insve_b
    841 extern v8i16 __builtin_msa_insve_h(v8i16, unsigned char, v8i16);
    842 #define __msa_insve_h __builtin_msa_insve_h
    843 extern v4i32 __builtin_msa_insve_w(v4i32, unsigned char, v4i32);
    844 #define __msa_insve_w __builtin_msa_insve_w
    845 extern v2i64 __builtin_msa_insve_d(v2i64, unsigned char, v2i64);
    846 #define __msa_insve_d __builtin_msa_insve_d
    847 extern int __builtin_msa_bnz_b(v16u8);
    848 #define __msa_test_bnz_b __builtin_msa_bnz_b
    849 extern int __builtin_msa_bnz_h(v8u16);
    850 #define __msa_test_bnz_h __builtin_msa_bnz_h
    851 extern int __builtin_msa_bnz_w(v4u32);
    852 #define __msa_test_bnz_w __builtin_msa_bnz_w
    853 extern int __builtin_msa_bnz_d(v2u64);
    854 #define __msa_test_bnz_d __builtin_msa_bnz_d
    855 extern int __builtin_msa_bz_b(v16u8);
    856 #define __msa_test_bz_b __builtin_msa_bz_b
    857 extern int __builtin_msa_bz_h(v8u16);
    858 #define __msa_test_bz_h __builtin_msa_bz_h
    859 extern int __builtin_msa_bz_w(v4u32);
    860 #define __msa_test_bz_w __builtin_msa_bz_w
    861 extern int __builtin_msa_bz_d(v2u64);
    862 #define __msa_test_bz_d __builtin_msa_bz_d
    863 extern v16i8 __builtin_msa_ldi_b(short);
    864 #define __msa_ldi_b __builtin_msa_ldi_b
    865 extern v8i16 __builtin_msa_ldi_h(short);
    866 #define __msa_ldi_h __builtin_msa_ldi_h
    867 extern v4i32 __builtin_msa_ldi_w(short);
    868 #define __msa_ldi_w __builtin_msa_ldi_w
    869 extern v2i64 __builtin_msa_ldi_d(short);
    870 #define __msa_ldi_d __builtin_msa_ldi_d
    871 extern v4i32 __builtin_msa_fcaf_w(v4f32, v4f32);
    872 #define __msa_fcaf_w __builtin_msa_fcaf_w
    873 extern v2i64 __builtin_msa_fcaf_d(v2f64, v2f64);
    874 #define __msa_fcaf_d __builtin_msa_fcaf_d
    875 extern v4i32 __builtin_msa_fcor_w(v4f32, v4f32);
    876 #define __msa_fcor_w __builtin_msa_fcor_w
    877 extern v2i64 __builtin_msa_fcor_d(v2f64, v2f64);
    878 #define __msa_fcor_d __builtin_msa_fcor_d
    879 extern v4i32 __builtin_msa_fcun_w(v4f32, v4f32);
    880 #define __msa_fcun_w __builtin_msa_fcun_w
    881 extern v2i64 __builtin_msa_fcun_d(v2f64, v2f64);
    882 #define __msa_fcun_d __builtin_msa_fcun_d
    883 extern v4i32 __builtin_msa_fcune_w(v4f32, v4f32);
    884 #define __msa_fcune_w __builtin_msa_fcune_w
    885 extern v2i64 __builtin_msa_fcune_d(v2f64, v2f64);
    886 #define __msa_fcune_d __builtin_msa_fcune_d
    887 extern v4i32 __builtin_msa_fcueq_w(v4f32, v4f32);
    888 #define __msa_fcueq_w __builtin_msa_fcueq_w
    889 extern v2i64 __builtin_msa_fcueq_d(v2f64, v2f64);
    890 #define __msa_fcueq_d __builtin_msa_fcueq_d
    891 extern v4i32 __builtin_msa_fceq_w(v4f32, v4f32);
    892 #define __msa_fceq_w __builtin_msa_fceq_w
    893 extern v2i64 __builtin_msa_fceq_d(v2f64, v2f64);
    894 #define __msa_fceq_d __builtin_msa_fceq_d
    895 extern v4i32 __builtin_msa_fcne_w(v4f32, v4f32);
    896 #define __msa_fcne_w __builtin_msa_fcne_w
    897 extern v2i64 __builtin_msa_fcne_d(v2f64, v2f64);
    898 #define __msa_fcne_d __builtin_msa_fcne_d
    899 extern v4i32 __builtin_msa_fclt_w(v4f32, v4f32);
    900 #define __msa_fclt_w __builtin_msa_fclt_w
    901 extern v2i64 __builtin_msa_fclt_d(v2f64, v2f64);
    902 #define __msa_fclt_d __builtin_msa_fclt_d
    903 extern v4i32 __builtin_msa_fcult_w(v4f32, v4f32);
    904 #define __msa_fcult_w __builtin_msa_fcult_w
    905 extern v2i64 __builtin_msa_fcult_d(v2f64, v2f64);
    906 #define __msa_fcult_d __builtin_msa_fcult_d
    907 extern v4i32 __builtin_msa_fcle_w(v4f32, v4f32);
    908 #define __msa_fcle_w __builtin_msa_fcle_w
    909 extern v2i64 __builtin_msa_fcle_d(v2f64, v2f64);
    910 #define __msa_fcle_d __builtin_msa_fcle_d
    911 extern v4i32 __builtin_msa_fcule_w(v4f32, v4f32);
    912 #define __msa_fcule_w __builtin_msa_fcule_w
    913 extern v2i64 __builtin_msa_fcule_d(v2f64, v2f64);
    914 #define __msa_fcule_d __builtin_msa_fcule_d
    915 extern v4i32 __builtin_msa_fsaf_w(v4f32, v4f32);
    916 #define __msa_fsaf_w __builtin_msa_fsaf_w
    917 extern v2i64 __builtin_msa_fsaf_d(v2f64, v2f64);
    918 #define __msa_fsaf_d __builtin_msa_fsaf_d
    919 extern v4i32 __builtin_msa_fsor_w(v4f32, v4f32);
    920 #define __msa_fsor_w __builtin_msa_fsor_w
    921 extern v2i64 __builtin_msa_fsor_d(v2f64, v2f64);
    922 #define __msa_fsor_d __builtin_msa_fsor_d
    923 extern v4i32 __builtin_msa_fsun_w(v4f32, v4f32);
    924 #define __msa_fsun_w __builtin_msa_fsun_w
    925 extern v2i64 __builtin_msa_fsun_d(v2f64, v2f64);
    926 #define __msa_fsun_d __builtin_msa_fsun_d
    927 extern v4i32 __builtin_msa_fsune_w(v4f32, v4f32);
    928 #define __msa_fsune_w __builtin_msa_fsune_w
    929 extern v2i64 __builtin_msa_fsune_d(v2f64, v2f64);
    930 #define __msa_fsune_d __builtin_msa_fsune_d
    931 extern v4i32 __builtin_msa_fsueq_w(v4f32, v4f32);
    932 #define __msa_fsueq_w __builtin_msa_fsueq_w
    933 extern v2i64 __builtin_msa_fsueq_d(v2f64, v2f64);
    934 #define __msa_fsueq_d __builtin_msa_fsueq_d
    935 extern v4i32 __builtin_msa_fseq_w(v4f32, v4f32);
    936 #define __msa_fseq_w __builtin_msa_fseq_w
    937 extern v2i64 __builtin_msa_fseq_d(v2f64, v2f64);
    938 #define __msa_fseq_d __builtin_msa_fseq_d
    939 extern v4i32 __builtin_msa_fsne_w(v4f32, v4f32);
    940 #define __msa_fsne_w __builtin_msa_fsne_w
    941 extern v2i64 __builtin_msa_fsne_d(v2f64, v2f64);
    942 #define __msa_fsne_d __builtin_msa_fsne_d
    943 extern v4i32 __builtin_msa_fslt_w(v4f32, v4f32);
    944 #define __msa_fslt_w __builtin_msa_fslt_w
    945 extern v2i64 __builtin_msa_fslt_d(v2f64, v2f64);
    946 #define __msa_fslt_d __builtin_msa_fslt_d
    947 extern v4i32 __builtin_msa_fsult_w(v4f32, v4f32);
    948 #define __msa_fsult_w __builtin_msa_fsult_w
    949 extern v2i64 __builtin_msa_fsult_d(v2f64, v2f64);
    950 #define __msa_fsult_d __builtin_msa_fsult_d
    951 extern v4i32 __builtin_msa_fsle_w(v4f32, v4f32);
    952 #define __msa_fsle_w __builtin_msa_fsle_w
    953 extern v2i64 __builtin_msa_fsle_d(v2f64, v2f64);
    954 #define __msa_fsle_d __builtin_msa_fsle_d
    955 extern v4i32 __builtin_msa_fsule_w(v4f32, v4f32);
    956 #define __msa_fsule_w __builtin_msa_fsule_w
    957 extern v2i64 __builtin_msa_fsule_d(v2f64, v2f64);
    958 #define __msa_fsule_d __builtin_msa_fsule_d
    959 extern v4f32 __builtin_msa_fadd_w(v4f32, v4f32);
    960 #define __msa_fadd_w __builtin_msa_fadd_w
    961 extern v2f64 __builtin_msa_fadd_d(v2f64, v2f64);
    962 #define __msa_fadd_d __builtin_msa_fadd_d
    963 extern v4f32 __builtin_msa_fsub_w(v4f32, v4f32);
    964 #define __msa_fsub_w __builtin_msa_fsub_w
    965 extern v2f64 __builtin_msa_fsub_d(v2f64, v2f64);
    966 #define __msa_fsub_d __builtin_msa_fsub_d
    967 extern v4f32 __builtin_msa_fmul_w(v4f32, v4f32);
    968 #define __msa_fmul_w __builtin_msa_fmul_w
    969 extern v2f64 __builtin_msa_fmul_d(v2f64, v2f64);
    970 #define __msa_fmul_d __builtin_msa_fmul_d
    971 extern v4f32 __builtin_msa_fdiv_w(v4f32, v4f32);
    972 #define __msa_fdiv_w __builtin_msa_fdiv_w
    973 extern v2f64 __builtin_msa_fdiv_d(v2f64, v2f64);
    974 #define __msa_fdiv_d __builtin_msa_fdiv_d
    975 extern v4f32 __builtin_msa_fmadd_w(v4f32, v4f32, v4f32);
    976 #define __msa_fmadd_w __builtin_msa_fmadd_w
    977 extern v2f64 __builtin_msa_fmadd_d(v2f64, v2f64, v2f64);
    978 #define __msa_fmadd_d __builtin_msa_fmadd_d
    979 extern v4f32 __builtin_msa_fmsub_w(v4f32, v4f32, v4f32);
    980 #define __msa_fmsub_w __builtin_msa_fmsub_w
    981 extern v2f64 __builtin_msa_fmsub_d(v2f64, v2f64, v2f64);
    982 #define __msa_fmsub_d __builtin_msa_fmsub_d
    983 extern v4f32 __builtin_msa_fexp2_w(v4f32, v4i32);
    984 #define __msa_fexp2_w __builtin_msa_fexp2_w
    985 extern v2f64 __builtin_msa_fexp2_d(v2f64, v2i64);
    986 #define __msa_fexp2_d __builtin_msa_fexp2_d
    987 extern v8i16 __builtin_msa_fexdo_h(v4f32, v4f32);
    988 #define __msa_fexdo_h __builtin_msa_fexdo_h
    989 extern v4f32 __builtin_msa_fexdo_w(v2f64, v2f64);
    990 #define __msa_fexdo_w __builtin_msa_fexdo_w
    991 extern v8i16 __builtin_msa_ftq_h(v4f32, v4f32);
    992 #define __msa_ftq_h __builtin_msa_ftq_h
    993 extern v4i32 __builtin_msa_ftq_w(v2f64, v2f64);
    994 #define __msa_ftq_w __builtin_msa_ftq_w
    995 extern v4f32 __builtin_msa_fmin_w(v4f32, v4f32);
    996 #define __msa_fmin_w __builtin_msa_fmin_w
    997 extern v2f64 __builtin_msa_fmin_d(v2f64, v2f64);
    998 #define __msa_fmin_d __builtin_msa_fmin_d
    999 extern v4f32 __builtin_msa_fmin_a_w(v4f32, v4f32);
   1000 #define __msa_fmin_a_w __builtin_msa_fmin_a_w
   1001 extern v2f64 __builtin_msa_fmin_a_d(v2f64, v2f64);
   1002 #define __msa_fmin_a_d __builtin_msa_fmin_a_d
   1003 extern v4f32 __builtin_msa_fmax_w(v4f32, v4f32);
   1004 #define __msa_fmax_w __builtin_msa_fmax_w
   1005 extern v2f64 __builtin_msa_fmax_d(v2f64, v2f64);
   1006 #define __msa_fmax_d __builtin_msa_fmax_d
   1007 extern v4f32 __builtin_msa_fmax_a_w(v4f32, v4f32);
   1008 #define __msa_fmax_a_w __builtin_msa_fmax_a_w
   1009 extern v2f64 __builtin_msa_fmax_a_d(v2f64, v2f64);
   1010 #define __msa_fmax_a_d __builtin_msa_fmax_a_d
   1011 extern v8i16 __builtin_msa_mul_q_h(v8i16, v8i16);
   1012 #define __msa_mul_q_h __builtin_msa_mul_q_h
   1013 extern v4i32 __builtin_msa_mul_q_w(v4i32, v4i32);
   1014 #define __msa_mul_q_w __builtin_msa_mul_q_w
   1015 extern v8i16 __builtin_msa_mulr_q_h(v8i16, v8i16);
   1016 #define __msa_mulr_q_h __builtin_msa_mulr_q_h
   1017 extern v4i32 __builtin_msa_mulr_q_w(v4i32, v4i32);
   1018 #define __msa_mulr_q_w __builtin_msa_mulr_q_w
   1019 extern v8i16 __builtin_msa_madd_q_h(v8i16, v8i16, v8i16);
   1020 #define __msa_madd_q_h __builtin_msa_madd_q_h
   1021 extern v4i32 __builtin_msa_madd_q_w(v4i32, v4i32, v4i32);
   1022 #define __msa_madd_q_w __builtin_msa_madd_q_w
   1023 extern v8i16 __builtin_msa_maddr_q_h(v8i16, v8i16, v8i16);
   1024 #define __msa_maddr_q_h __builtin_msa_maddr_q_h
   1025 extern v4i32 __builtin_msa_maddr_q_w(v4i32, v4i32, v4i32);
   1026 #define __msa_maddr_q_w __builtin_msa_maddr_q_w
   1027 extern v8i16 __builtin_msa_msub_q_h(v8i16, v8i16, v8i16);
   1028 #define __msa_msub_q_h __builtin_msa_msub_q_h
   1029 extern v4i32 __builtin_msa_msub_q_w(v4i32, v4i32, v4i32);
   1030 #define __msa_msub_q_w __builtin_msa_msub_q_w
   1031 extern v8i16 __builtin_msa_msubr_q_h(v8i16, v8i16, v8i16);
   1032 #define __msa_msubr_q_h __builtin_msa_msubr_q_h
   1033 extern v4i32 __builtin_msa_msubr_q_w(v4i32, v4i32, v4i32);
   1034 #define __msa_msubr_q_w __builtin_msa_msubr_q_w
   1035 extern v4i32 __builtin_msa_fclass_w(v4f32);
   1036 #define __msa_fclass_w __builtin_msa_fclass_w
   1037 extern v2i64 __builtin_msa_fclass_d(v2f64);
   1038 #define __msa_fclass_d __builtin_msa_fclass_d
   1039 extern v4f32 __builtin_msa_fsqrt_w(v4f32);
   1040 #define __msa_fsqrt_w __builtin_msa_fsqrt_w
   1041 extern v2f64 __builtin_msa_fsqrt_d(v2f64);
   1042 #define __msa_fsqrt_d __builtin_msa_fsqrt_d
   1043 extern v4f32 __builtin_msa_frcp_w(v4f32);
   1044 #define __msa_frcp_w __builtin_msa_frcp_w
   1045 extern v2f64 __builtin_msa_frcp_d(v2f64);
   1046 #define __msa_frcp_d __builtin_msa_frcp_d
   1047 extern v4f32 __builtin_msa_frint_w(v4f32);
   1048 #define __msa_frint_w __builtin_msa_frint_w
   1049 extern v2f64 __builtin_msa_frint_d(v2f64);
   1050 #define __msa_frint_d __builtin_msa_frint_d
   1051 extern v4f32 __builtin_msa_frsqrt_w(v4f32);
   1052 #define __msa_frsqrt_w __builtin_msa_frsqrt_w
   1053 extern v2f64 __builtin_msa_frsqrt_d(v2f64);
   1054 #define __msa_frsqrt_d __builtin_msa_frsqrt_d
   1055 extern v4f32 __builtin_msa_flog2_w(v4f32);
   1056 #define __msa_flog2_w __builtin_msa_flog2_w
   1057 extern v2f64 __builtin_msa_flog2_d(v2f64);
   1058 #define __msa_flog2_d __builtin_msa_flog2_d
   1059 extern v4f32 __builtin_msa_fexupl_w(v8i16);
   1060 #define __msa_fexupl_w __builtin_msa_fexupl_w
   1061 extern v2f64 __builtin_msa_fexupl_d(v4f32);
   1062 #define __msa_fexupl_d __builtin_msa_fexupl_d
   1063 extern v4f32 __builtin_msa_fexupr_w(v8i16);
   1064 #define __msa_fexupr_w __builtin_msa_fexupr_w
   1065 extern v2f64 __builtin_msa_fexupr_d(v4f32);
   1066 #define __msa_fexupr_d __builtin_msa_fexupr_d
   1067 extern v4f32 __builtin_msa_ffql_w(v8i16);
   1068 #define __msa_ffql_w __builtin_msa_ffql_w
   1069 extern v2f64 __builtin_msa_ffql_d(v4i32);
   1070 #define __msa_ffql_d __builtin_msa_ffql_d
   1071 extern v4f32 __builtin_msa_ffqr_w(v8i16);
   1072 #define __msa_ffqr_w __builtin_msa_ffqr_w
   1073 extern v2f64 __builtin_msa_ffqr_d(v4i32);
   1074 #define __msa_ffqr_d __builtin_msa_ffqr_d
   1075 extern v4i32 __builtin_msa_ftint_s_w(v4f32);
   1076 #define __msa_ftint_s_w __builtin_msa_ftint_s_w
   1077 extern v2i64 __builtin_msa_ftint_s_d(v2f64);
   1078 #define __msa_ftint_s_d __builtin_msa_ftint_s_d
   1079 extern v4u32 __builtin_msa_ftint_u_w(v4f32);
   1080 #define __msa_ftint_u_w __builtin_msa_ftint_u_w
   1081 extern v2u64 __builtin_msa_ftint_u_d(v2f64);
   1082 #define __msa_ftint_u_d __builtin_msa_ftint_u_d
   1083 extern v4i32 __builtin_msa_ftrunc_s_w(v4f32);
   1084 #define __msa_ftrunc_s_w __builtin_msa_ftrunc_s_w
   1085 extern v2i64 __builtin_msa_ftrunc_s_d(v2f64);
   1086 #define __msa_ftrunc_s_d __builtin_msa_ftrunc_s_d
   1087 extern v4u32 __builtin_msa_ftrunc_u_w(v4f32);
   1088 #define __msa_ftrunc_u_w __builtin_msa_ftrunc_u_w
   1089 extern v2u64 __builtin_msa_ftrunc_u_d(v2f64);
   1090 #define __msa_ftrunc_u_d __builtin_msa_ftrunc_u_d
   1091 extern v4f32 __builtin_msa_ffint_s_w(v4i32);
   1092 #define __msa_ffint_s_w __builtin_msa_ffint_s_w
   1093 extern v2f64 __builtin_msa_ffint_s_d(v2i64);
   1094 #define __msa_ffint_s_d __builtin_msa_ffint_s_d
   1095 extern v4f32 __builtin_msa_ffint_u_w(v4u32);
   1096 #define __msa_ffint_u_w __builtin_msa_ffint_u_w
   1097 extern v2f64 __builtin_msa_ffint_u_d(v2u64);
   1098 #define __msa_ffint_u_d __builtin_msa_ffint_u_d
   1099 extern int __builtin_msa_cfcmsa(unsigned char);
   1100 #define __msa_cfcmsa __builtin_msa_cfcmsa
   1101 extern v16i8 __builtin_msa_move_v(v16i8);
   1102 #define __msa_move_v __builtin_msa_move_v
   1103 extern v4f32 __builtin_msa_cast_to_vector_float(float);
   1104 #define __msa_cast_to_vector_float __builtin_msa_cast_to_vector_float
   1105 extern v2f64 __builtin_msa_cast_to_vector_double(double);
   1106 #define __msa_cast_to_vector_double __builtin_msa_cast_to_vector_double
   1107 extern float __builtin_msa_cast_to_scalar_float(v4f32);
   1108 #define __msa_cast_to_scalar_float __builtin_msa_cast_to_scalar_float
   1109 extern double __builtin_msa_cast_to_scalar_double(v2f64);
   1110 #define __msa_cast_to_scalar_double __builtin_msa_cast_to_scalar_double
   1111 #endif /* __clang__ */
   1112 #endif /* defined(__mips_msa) */
   1113 #endif /* _MSA_H */
   1114