Home | History | Annotate | Download | only in Basic
      1 //===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 //
     10 // This file defines the MIPS-specific builtin function database. Users of
     11 // this file must define the BUILTIN macro to make use of this information.
     12 //
     13 //===----------------------------------------------------------------------===//
     14 
     15 // The format of this database matches clang/Basic/Builtins.def.
     16 
     17 // MIPS DSP Rev 1
     18 
     19 // Add/subtract with optional saturation
     20 BUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n")
     21 BUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n")
     22 BUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n")
     23 BUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n")
     24 
     25 BUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n")
     26 BUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n")
     27 BUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n")
     28 BUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n")
     29 
     30 BUILTIN(__builtin_mips_madd, "LLiLLiii", "nc")
     31 BUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc")
     32 BUILTIN(__builtin_mips_msub, "LLiLLiii", "nc")
     33 BUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc")
     34 
     35 BUILTIN(__builtin_mips_addq_s_w, "iii", "n")
     36 BUILTIN(__builtin_mips_subq_s_w, "iii", "n")
     37 
     38 BUILTIN(__builtin_mips_addsc, "iii", "n")
     39 BUILTIN(__builtin_mips_addwc, "iii", "n")
     40 
     41 BUILTIN(__builtin_mips_modsub, "iii", "nc")
     42 
     43 BUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc")
     44 
     45 BUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n")
     46 BUILTIN(__builtin_mips_absq_s_w, "ii", "n")
     47 
     48 BUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc")
     49 BUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n")
     50 BUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc")
     51 BUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n")
     52 BUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc")
     53 BUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc")
     54 BUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc")
     55 BUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc")
     56 BUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc")
     57 BUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc")
     58 BUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc")
     59 BUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc")
     60 BUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc")
     61 BUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc")
     62 
     63 BUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n")
     64 BUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc")
     65 BUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n")
     66 BUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n")
     67 BUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc")
     68 BUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc")
     69 BUILTIN(__builtin_mips_shll_s_w, "iii", "n")
     70 BUILTIN(__builtin_mips_shra_r_w, "iii", "nc")
     71 BUILTIN(__builtin_mips_shilo, "LLiLLii", "nc")
     72 
     73 BUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n")
     74 BUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n")
     75 BUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n")
     76 BUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n")
     77 BUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n")
     78 BUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n")
     79 BUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n")
     80 BUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n")
     81 BUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n")
     82 BUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n")
     83 BUILTIN(__builtin_mips_mult, "LLiii", "nc")
     84 BUILTIN(__builtin_mips_multu, "LLiUiUi", "nc")
     85 
     86 BUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc")
     87 BUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc")
     88 BUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc")
     89 BUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc")
     90 BUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n")
     91 BUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n")
     92 BUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n")
     93 BUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n")
     94 
     95 BUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n")
     96 BUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n")
     97 BUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n")
     98 BUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n")
     99 BUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n")
    100 BUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n")
    101 BUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n")
    102 BUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n")
    103 BUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n")
    104 
    105 BUILTIN(__builtin_mips_extr_s_h, "iLLii", "n")
    106 BUILTIN(__builtin_mips_extr_w, "iLLii", "n")
    107 BUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n")
    108 BUILTIN(__builtin_mips_extr_r_w, "iLLii", "n")
    109 BUILTIN(__builtin_mips_extp, "iLLii", "n")
    110 BUILTIN(__builtin_mips_extpdp, "iLLii", "n")
    111 
    112 BUILTIN(__builtin_mips_wrdsp, "viIi", "n")
    113 BUILTIN(__builtin_mips_rddsp, "iIi", "n")
    114 BUILTIN(__builtin_mips_insv, "iii", "n")
    115 BUILTIN(__builtin_mips_bitrev, "ii", "nc")
    116 BUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc")
    117 BUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc")
    118 BUILTIN(__builtin_mips_repl_ph, "V2si", "nc")
    119 BUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n")
    120 BUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n")
    121 BUILTIN(__builtin_mips_mthlip, "LLiLLii", "n")
    122 BUILTIN(__builtin_mips_bposge32, "i", "n")
    123 BUILTIN(__builtin_mips_lbux, "iv*i", "n")
    124 BUILTIN(__builtin_mips_lhx, "iv*i", "n")
    125 BUILTIN(__builtin_mips_lwx, "iv*i", "n")
    126 
    127 // MIPS DSP Rev 2
    128 
    129 BUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n")
    130 
    131 BUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc")
    132 BUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc")
    133 BUILTIN(__builtin_mips_addqh_w, "iii", "nc")
    134 BUILTIN(__builtin_mips_addqh_r_w, "iii", "nc")
    135 
    136 BUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n")
    137 BUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n")
    138 
    139 BUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc")
    140 BUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc")
    141 
    142 BUILTIN(__builtin_mips_append, "iiiIi", "nc")
    143 BUILTIN(__builtin_mips_balign, "iiiIi", "nc")
    144 
    145 BUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n")
    146 BUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n")
    147 BUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n")
    148 
    149 BUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc")
    150 BUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc")
    151 
    152 BUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n")
    153 BUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n")
    154 BUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc")
    155 BUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc")
    156 BUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n")
    157 BUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n")
    158 
    159 BUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n")
    160 BUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n")
    161 
    162 BUILTIN(__builtin_mips_mulq_rs_w, "iii", "n")
    163 BUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n")
    164 BUILTIN(__builtin_mips_mulq_s_w, "iii", "n")
    165 BUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc")
    166 
    167 BUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n")
    168 BUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc")
    169 BUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc")
    170 
    171 BUILTIN(__builtin_mips_prepend, "iiiIi", "nc")
    172 
    173 BUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc")
    174 BUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc")
    175 BUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc")
    176 
    177 BUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc")
    178 BUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc")
    179 BUILTIN(__builtin_mips_subqh_w, "iii", "nc")
    180 BUILTIN(__builtin_mips_subqh_r_w, "iii", "nc")
    181 
    182 BUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n")
    183 BUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n")
    184 
    185 BUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc")
    186 BUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc")
    187 
    188 // MIPS MSA
    189 
    190 BUILTIN(__builtin_msa_add_a_b, "V16ScV16ScV16Sc", "nc")
    191 BUILTIN(__builtin_msa_add_a_h, "V8SsV8SsV8Ss", "nc")
    192 BUILTIN(__builtin_msa_add_a_w, "V4SiV4SiV4Si", "nc")
    193 BUILTIN(__builtin_msa_add_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
    194 
    195 BUILTIN(__builtin_msa_adds_a_b, "V16ScV16ScV16Sc", "nc")
    196 BUILTIN(__builtin_msa_adds_a_h, "V8SsV8SsV8Ss", "nc")
    197 BUILTIN(__builtin_msa_adds_a_w, "V4SiV4SiV4Si", "nc")
    198 BUILTIN(__builtin_msa_adds_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
    199 
    200 BUILTIN(__builtin_msa_adds_s_b, "V16ScV16ScV16Sc", "nc")
    201 BUILTIN(__builtin_msa_adds_s_h, "V8SsV8SsV8Ss", "nc")
    202 BUILTIN(__builtin_msa_adds_s_w, "V4SiV4SiV4Si", "nc")
    203 BUILTIN(__builtin_msa_adds_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    204 
    205 BUILTIN(__builtin_msa_adds_u_b, "V16UcV16UcV16Uc", "nc")
    206 BUILTIN(__builtin_msa_adds_u_h, "V8UsV8UsV8Us", "nc")
    207 BUILTIN(__builtin_msa_adds_u_w, "V4UiV4UiV4Ui", "nc")
    208 BUILTIN(__builtin_msa_adds_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    209 
    210 BUILTIN(__builtin_msa_addv_b, "V16cV16cV16c", "nc")
    211 BUILTIN(__builtin_msa_addv_h, "V8sV8sV8s", "nc")
    212 BUILTIN(__builtin_msa_addv_w, "V4iV4iV4i", "nc")
    213 BUILTIN(__builtin_msa_addv_d, "V2LLiV2LLiV2LLi", "nc")
    214 
    215 BUILTIN(__builtin_msa_addvi_b, "V16cV16cIUi", "nc")
    216 BUILTIN(__builtin_msa_addvi_h, "V8sV8sIUi", "nc")
    217 BUILTIN(__builtin_msa_addvi_w, "V4iV4iIUi", "nc")
    218 BUILTIN(__builtin_msa_addvi_d, "V2LLiV2LLiIUi", "nc")
    219 
    220 BUILTIN(__builtin_msa_and_v, "V16UcV16UcV16Uc", "nc")
    221 
    222 BUILTIN(__builtin_msa_andi_b, "V16UcV16UcIUi", "nc")
    223 
    224 BUILTIN(__builtin_msa_asub_s_b, "V16ScV16ScV16Sc", "nc")
    225 BUILTIN(__builtin_msa_asub_s_h, "V8SsV8SsV8Ss", "nc")
    226 BUILTIN(__builtin_msa_asub_s_w, "V4SiV4SiV4Si", "nc")
    227 BUILTIN(__builtin_msa_asub_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    228 
    229 BUILTIN(__builtin_msa_asub_u_b, "V16UcV16UcV16Uc", "nc")
    230 BUILTIN(__builtin_msa_asub_u_h, "V8UsV8UsV8Us", "nc")
    231 BUILTIN(__builtin_msa_asub_u_w, "V4UiV4UiV4Ui", "nc")
    232 BUILTIN(__builtin_msa_asub_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    233 
    234 BUILTIN(__builtin_msa_ave_s_b, "V16ScV16ScV16Sc", "nc")
    235 BUILTIN(__builtin_msa_ave_s_h, "V8SsV8SsV8Ss", "nc")
    236 BUILTIN(__builtin_msa_ave_s_w, "V4SiV4SiV4Si", "nc")
    237 BUILTIN(__builtin_msa_ave_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    238 
    239 BUILTIN(__builtin_msa_ave_u_b, "V16UcV16UcV16Uc", "nc")
    240 BUILTIN(__builtin_msa_ave_u_h, "V8UsV8UsV8Us", "nc")
    241 BUILTIN(__builtin_msa_ave_u_w, "V4UiV4UiV4Ui", "nc")
    242 BUILTIN(__builtin_msa_ave_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    243 
    244 BUILTIN(__builtin_msa_aver_s_b, "V16ScV16ScV16Sc", "nc")
    245 BUILTIN(__builtin_msa_aver_s_h, "V8SsV8SsV8Ss", "nc")
    246 BUILTIN(__builtin_msa_aver_s_w, "V4SiV4SiV4Si", "nc")
    247 BUILTIN(__builtin_msa_aver_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    248 
    249 BUILTIN(__builtin_msa_aver_u_b, "V16UcV16UcV16Uc", "nc")
    250 BUILTIN(__builtin_msa_aver_u_h, "V8UsV8UsV8Us", "nc")
    251 BUILTIN(__builtin_msa_aver_u_w, "V4UiV4UiV4Ui", "nc")
    252 BUILTIN(__builtin_msa_aver_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    253 
    254 BUILTIN(__builtin_msa_bclr_b, "V16UcV16UcV16Uc", "nc")
    255 BUILTIN(__builtin_msa_bclr_h, "V8UsV8UsV8Us", "nc")
    256 BUILTIN(__builtin_msa_bclr_w, "V4UiV4UiV4Ui", "nc")
    257 BUILTIN(__builtin_msa_bclr_d, "V2ULLiV2ULLiV2ULLi", "nc")
    258 
    259 BUILTIN(__builtin_msa_bclri_b, "V16UcV16UcIUi", "nc")
    260 BUILTIN(__builtin_msa_bclri_h, "V8UsV8UsIUi", "nc")
    261 BUILTIN(__builtin_msa_bclri_w, "V4UiV4UiIUi", "nc")
    262 BUILTIN(__builtin_msa_bclri_d, "V2ULLiV2ULLiIUi", "nc")
    263 
    264 BUILTIN(__builtin_msa_binsl_b, "V16UcV16UcV16UcV16Uc", "nc")
    265 BUILTIN(__builtin_msa_binsl_h, "V8UsV8UsV8UsV8Us", "nc")
    266 BUILTIN(__builtin_msa_binsl_w, "V4UiV4UiV4UiV4Ui", "nc")
    267 BUILTIN(__builtin_msa_binsl_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
    268 
    269 BUILTIN(__builtin_msa_binsli_b, "V16UcV16UcV16UcIUi", "nc")
    270 BUILTIN(__builtin_msa_binsli_h, "V8UsV8UsV8UsIUi", "nc")
    271 BUILTIN(__builtin_msa_binsli_w, "V4UiV4UiV4UiIUi", "nc")
    272 BUILTIN(__builtin_msa_binsli_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
    273 
    274 BUILTIN(__builtin_msa_binsr_b, "V16UcV16UcV16UcV16Uc", "nc")
    275 BUILTIN(__builtin_msa_binsr_h, "V8UsV8UsV8UsV8Us", "nc")
    276 BUILTIN(__builtin_msa_binsr_w, "V4UiV4UiV4UiV4Ui", "nc")
    277 BUILTIN(__builtin_msa_binsr_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
    278 
    279 BUILTIN(__builtin_msa_binsri_b, "V16UcV16UcV16UcIUi", "nc")
    280 BUILTIN(__builtin_msa_binsri_h, "V8UsV8UsV8UsIUi", "nc")
    281 BUILTIN(__builtin_msa_binsri_w, "V4UiV4UiV4UiIUi", "nc")
    282 BUILTIN(__builtin_msa_binsri_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
    283 
    284 BUILTIN(__builtin_msa_bmnz_v, "V16UcV16UcV16UcV16Uc", "nc")
    285 
    286 BUILTIN(__builtin_msa_bmnzi_b, "V16UcV16UcV16UcIUi", "nc")
    287 
    288 BUILTIN(__builtin_msa_bmz_v, "V16UcV16UcV16UcV16Uc", "nc")
    289 
    290 BUILTIN(__builtin_msa_bmzi_b, "V16UcV16UcV16UcIUi", "nc")
    291 
    292 BUILTIN(__builtin_msa_bneg_b, "V16UcV16UcV16Uc", "nc")
    293 BUILTIN(__builtin_msa_bneg_h, "V8UsV8UsV8Us", "nc")
    294 BUILTIN(__builtin_msa_bneg_w, "V4UiV4UiV4Ui", "nc")
    295 BUILTIN(__builtin_msa_bneg_d, "V2ULLiV2ULLiV2ULLi", "nc")
    296 
    297 BUILTIN(__builtin_msa_bnegi_b, "V16UcV16UcIUi", "nc")
    298 BUILTIN(__builtin_msa_bnegi_h, "V8UsV8UsIUi", "nc")
    299 BUILTIN(__builtin_msa_bnegi_w, "V4UiV4UiIUi", "nc")
    300 BUILTIN(__builtin_msa_bnegi_d, "V2ULLiV2ULLiIUi", "nc")
    301 
    302 BUILTIN(__builtin_msa_bnz_b, "iV16Uc", "nc")
    303 BUILTIN(__builtin_msa_bnz_h, "iV8Us", "nc")
    304 BUILTIN(__builtin_msa_bnz_w, "iV4Ui", "nc")
    305 BUILTIN(__builtin_msa_bnz_d, "iV2ULLi", "nc")
    306 
    307 BUILTIN(__builtin_msa_bnz_v, "iV16Uc", "nc")
    308 
    309 BUILTIN(__builtin_msa_bsel_v, "V16UcV16UcV16UcV16Uc", "nc")
    310 
    311 BUILTIN(__builtin_msa_bseli_b, "V16UcV16UcV16UcIUi", "nc")
    312 
    313 BUILTIN(__builtin_msa_bset_b, "V16UcV16UcV16Uc", "nc")
    314 BUILTIN(__builtin_msa_bset_h, "V8UsV8UsV8Us", "nc")
    315 BUILTIN(__builtin_msa_bset_w, "V4UiV4UiV4Ui", "nc")
    316 BUILTIN(__builtin_msa_bset_d, "V2ULLiV2ULLiV2ULLi", "nc")
    317 
    318 BUILTIN(__builtin_msa_bseti_b, "V16UcV16UcIUi", "nc")
    319 BUILTIN(__builtin_msa_bseti_h, "V8UsV8UsIUi", "nc")
    320 BUILTIN(__builtin_msa_bseti_w, "V4UiV4UiIUi", "nc")
    321 BUILTIN(__builtin_msa_bseti_d, "V2ULLiV2ULLiIUi", "nc")
    322 
    323 BUILTIN(__builtin_msa_bz_b, "iV16Uc", "nc")
    324 BUILTIN(__builtin_msa_bz_h, "iV8Us", "nc")
    325 BUILTIN(__builtin_msa_bz_w, "iV4Ui", "nc")
    326 BUILTIN(__builtin_msa_bz_d, "iV2ULLi", "nc")
    327 
    328 BUILTIN(__builtin_msa_bz_v, "iV16Uc", "nc")
    329 
    330 BUILTIN(__builtin_msa_ceq_b, "V16ScV16ScV16Sc", "nc")
    331 BUILTIN(__builtin_msa_ceq_h, "V8SsV8SsV8Ss", "nc")
    332 BUILTIN(__builtin_msa_ceq_w, "V4SiV4SiV4Si", "nc")
    333 BUILTIN(__builtin_msa_ceq_d, "V2SLLiV2SLLiV2SLLi", "nc")
    334 
    335 BUILTIN(__builtin_msa_ceqi_b, "V16ScV16ScISi", "nc")
    336 BUILTIN(__builtin_msa_ceqi_h, "V8SsV8SsISi", "nc")
    337 BUILTIN(__builtin_msa_ceqi_w, "V4SiV4SiISi", "nc")
    338 BUILTIN(__builtin_msa_ceqi_d, "V2SLLiV2SLLiISi", "nc")
    339 
    340 BUILTIN(__builtin_msa_cfcmsa, "iIi", "n")
    341 
    342 BUILTIN(__builtin_msa_cle_s_b, "V16ScV16ScV16Sc", "nc")
    343 BUILTIN(__builtin_msa_cle_s_h, "V8SsV8SsV8Ss", "nc")
    344 BUILTIN(__builtin_msa_cle_s_w, "V4SiV4SiV4Si", "nc")
    345 BUILTIN(__builtin_msa_cle_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    346 
    347 BUILTIN(__builtin_msa_cle_u_b, "V16ScV16UcV16Uc", "nc")
    348 BUILTIN(__builtin_msa_cle_u_h, "V8SsV8UsV8Us", "nc")
    349 BUILTIN(__builtin_msa_cle_u_w, "V4SiV4UiV4Ui", "nc")
    350 BUILTIN(__builtin_msa_cle_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
    351 
    352 BUILTIN(__builtin_msa_clei_s_b, "V16ScV16ScISi", "nc")
    353 BUILTIN(__builtin_msa_clei_s_h, "V8SsV8SsISi", "nc")
    354 BUILTIN(__builtin_msa_clei_s_w, "V4SiV4SiISi", "nc")
    355 BUILTIN(__builtin_msa_clei_s_d, "V2SLLiV2SLLiISi", "nc")
    356 
    357 BUILTIN(__builtin_msa_clei_u_b, "V16ScV16UcIUi", "nc")
    358 BUILTIN(__builtin_msa_clei_u_h, "V8SsV8UsIUi", "nc")
    359 BUILTIN(__builtin_msa_clei_u_w, "V4SiV4UiIUi", "nc")
    360 BUILTIN(__builtin_msa_clei_u_d, "V2SLLiV2ULLiIUi", "nc")
    361 
    362 BUILTIN(__builtin_msa_clt_s_b, "V16ScV16ScV16Sc", "nc")
    363 BUILTIN(__builtin_msa_clt_s_h, "V8SsV8SsV8Ss", "nc")
    364 BUILTIN(__builtin_msa_clt_s_w, "V4SiV4SiV4Si", "nc")
    365 BUILTIN(__builtin_msa_clt_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    366 
    367 BUILTIN(__builtin_msa_clt_u_b, "V16ScV16UcV16Uc", "nc")
    368 BUILTIN(__builtin_msa_clt_u_h, "V8SsV8UsV8Us", "nc")
    369 BUILTIN(__builtin_msa_clt_u_w, "V4SiV4UiV4Ui", "nc")
    370 BUILTIN(__builtin_msa_clt_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
    371 
    372 BUILTIN(__builtin_msa_clti_s_b, "V16ScV16ScISi", "nc")
    373 BUILTIN(__builtin_msa_clti_s_h, "V8SsV8SsISi", "nc")
    374 BUILTIN(__builtin_msa_clti_s_w, "V4SiV4SiISi", "nc")
    375 BUILTIN(__builtin_msa_clti_s_d, "V2SLLiV2SLLiISi", "nc")
    376 
    377 BUILTIN(__builtin_msa_clti_u_b, "V16ScV16UcIUi", "nc")
    378 BUILTIN(__builtin_msa_clti_u_h, "V8SsV8UsIUi", "nc")
    379 BUILTIN(__builtin_msa_clti_u_w, "V4SiV4UiIUi", "nc")
    380 BUILTIN(__builtin_msa_clti_u_d, "V2SLLiV2ULLiIUi", "nc")
    381 
    382 BUILTIN(__builtin_msa_copy_s_b, "iV16ScIUi", "nc")
    383 BUILTIN(__builtin_msa_copy_s_h, "iV8SsIUi", "nc")
    384 BUILTIN(__builtin_msa_copy_s_w, "iV4SiIUi", "nc")
    385 BUILTIN(__builtin_msa_copy_s_d, "LLiV2SLLiIUi", "nc")
    386 
    387 BUILTIN(__builtin_msa_copy_u_b, "iV16UcIUi", "nc")
    388 BUILTIN(__builtin_msa_copy_u_h, "iV8UsIUi", "nc")
    389 BUILTIN(__builtin_msa_copy_u_w, "iV4UiIUi", "nc")
    390 BUILTIN(__builtin_msa_copy_u_d, "LLiV2ULLiIUi", "nc")
    391 
    392 BUILTIN(__builtin_msa_ctcmsa, "vIii", "n")
    393 
    394 BUILTIN(__builtin_msa_div_s_b, "V16ScV16ScV16Sc", "nc")
    395 BUILTIN(__builtin_msa_div_s_h, "V8SsV8SsV8Ss", "nc")
    396 BUILTIN(__builtin_msa_div_s_w, "V4SiV4SiV4Si", "nc")
    397 BUILTIN(__builtin_msa_div_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    398 
    399 BUILTIN(__builtin_msa_div_u_b, "V16UcV16UcV16Uc", "nc")
    400 BUILTIN(__builtin_msa_div_u_h, "V8UsV8UsV8Us", "nc")
    401 BUILTIN(__builtin_msa_div_u_w, "V4UiV4UiV4Ui", "nc")
    402 BUILTIN(__builtin_msa_div_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    403 
    404 BUILTIN(__builtin_msa_dotp_s_h, "V8SsV16ScV16Sc", "nc")
    405 BUILTIN(__builtin_msa_dotp_s_w, "V4SiV8SsV8Ss", "nc")
    406 BUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV4SiV4Si", "nc")
    407 
    408 BUILTIN(__builtin_msa_dotp_u_h, "V8UsV16UcV16Uc", "nc")
    409 BUILTIN(__builtin_msa_dotp_u_w, "V4UiV8UsV8Us", "nc")
    410 BUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV4UiV4Ui", "nc")
    411 
    412 BUILTIN(__builtin_msa_dpadd_s_h, "V8SsV8SsV16ScV16Sc", "nc")
    413 BUILTIN(__builtin_msa_dpadd_s_w, "V4SiV4SiV8SsV8Ss", "nc")
    414 BUILTIN(__builtin_msa_dpadd_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
    415 
    416 BUILTIN(__builtin_msa_dpadd_u_h, "V8UsV8UsV16UcV16Uc", "nc")
    417 BUILTIN(__builtin_msa_dpadd_u_w, "V4UiV4UiV8UsV8Us", "nc")
    418 BUILTIN(__builtin_msa_dpadd_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
    419 
    420 BUILTIN(__builtin_msa_dpsub_s_h, "V8SsV8SsV16ScV16Sc", "nc")
    421 BUILTIN(__builtin_msa_dpsub_s_w, "V4SiV4SiV8SsV8Ss", "nc")
    422 BUILTIN(__builtin_msa_dpsub_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
    423 
    424 BUILTIN(__builtin_msa_dpsub_u_h, "V8UsV8UsV16UcV16Uc", "nc")
    425 BUILTIN(__builtin_msa_dpsub_u_w, "V4UiV4UiV8UsV8Us", "nc")
    426 BUILTIN(__builtin_msa_dpsub_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
    427 
    428 BUILTIN(__builtin_msa_fadd_w, "V4fV4fV4f", "nc")
    429 BUILTIN(__builtin_msa_fadd_d, "V2dV2dV2d", "nc")
    430 
    431 BUILTIN(__builtin_msa_fcaf_w, "V4iV4fV4f", "nc")
    432 BUILTIN(__builtin_msa_fcaf_d, "V2LLiV2dV2d", "nc")
    433 
    434 BUILTIN(__builtin_msa_fceq_w, "V4iV4fV4f", "nc")
    435 BUILTIN(__builtin_msa_fceq_d, "V2LLiV2dV2d", "nc")
    436 
    437 BUILTIN(__builtin_msa_fclass_w, "V4iV4f", "nc")
    438 BUILTIN(__builtin_msa_fclass_d, "V2LLiV2d", "nc")
    439 
    440 BUILTIN(__builtin_msa_fcle_w, "V4iV4fV4f", "nc")
    441 BUILTIN(__builtin_msa_fcle_d, "V2LLiV2dV2d", "nc")
    442 
    443 BUILTIN(__builtin_msa_fclt_w, "V4iV4fV4f", "nc")
    444 BUILTIN(__builtin_msa_fclt_d, "V2LLiV2dV2d", "nc")
    445 
    446 BUILTIN(__builtin_msa_fcne_w, "V4iV4fV4f", "nc")
    447 BUILTIN(__builtin_msa_fcne_d, "V2LLiV2dV2d", "nc")
    448 
    449 BUILTIN(__builtin_msa_fcor_w, "V4iV4fV4f", "nc")
    450 BUILTIN(__builtin_msa_fcor_d, "V2LLiV2dV2d", "nc")
    451 
    452 BUILTIN(__builtin_msa_fcueq_w, "V4iV4fV4f", "nc")
    453 BUILTIN(__builtin_msa_fcueq_d, "V2LLiV2dV2d", "nc")
    454 
    455 BUILTIN(__builtin_msa_fcule_w, "V4iV4fV4f", "nc")
    456 BUILTIN(__builtin_msa_fcule_d, "V2LLiV2dV2d", "nc")
    457 
    458 BUILTIN(__builtin_msa_fcult_w, "V4iV4fV4f", "nc")
    459 BUILTIN(__builtin_msa_fcult_d, "V2LLiV2dV2d", "nc")
    460 
    461 BUILTIN(__builtin_msa_fcun_w, "V4iV4fV4f", "nc")
    462 BUILTIN(__builtin_msa_fcun_d, "V2LLiV2dV2d", "nc")
    463 
    464 BUILTIN(__builtin_msa_fcune_w, "V4iV4fV4f", "nc")
    465 BUILTIN(__builtin_msa_fcune_d, "V2LLiV2dV2d", "nc")
    466 
    467 BUILTIN(__builtin_msa_fdiv_w, "V4fV4fV4f", "nc")
    468 BUILTIN(__builtin_msa_fdiv_d, "V2dV2dV2d", "nc")
    469 
    470 BUILTIN(__builtin_msa_fexdo_h, "V8hV4fV4f", "nc")
    471 BUILTIN(__builtin_msa_fexdo_w, "V4fV2dV2d", "nc")
    472 
    473 BUILTIN(__builtin_msa_fexp2_w, "V4fV4fV4i", "nc")
    474 BUILTIN(__builtin_msa_fexp2_d, "V2dV2dV2LLi", "nc")
    475 
    476 BUILTIN(__builtin_msa_fexupl_w, "V4fV8h", "nc")
    477 BUILTIN(__builtin_msa_fexupl_d, "V2dV4f", "nc")
    478 
    479 BUILTIN(__builtin_msa_fexupr_w, "V4fV8h", "nc")
    480 BUILTIN(__builtin_msa_fexupr_d, "V2dV4f", "nc")
    481 
    482 BUILTIN(__builtin_msa_ffint_s_w, "V4fV4Si", "nc")
    483 BUILTIN(__builtin_msa_ffint_s_d, "V2dV2SLLi", "nc")
    484 
    485 BUILTIN(__builtin_msa_ffint_u_w, "V4fV4Ui", "nc")
    486 BUILTIN(__builtin_msa_ffint_u_d, "V2dV2ULLi", "nc")
    487 
    488 // ffql uses integers since long _Fract is not implemented
    489 BUILTIN(__builtin_msa_ffql_w, "V4fV8Ss", "nc")
    490 BUILTIN(__builtin_msa_ffql_d, "V2dV4Si", "nc")
    491 
    492 // ffqr uses integers since long _Fract is not implemented
    493 BUILTIN(__builtin_msa_ffqr_w, "V4fV8Ss", "nc")
    494 BUILTIN(__builtin_msa_ffqr_d, "V2dV4Si", "nc")
    495 
    496 BUILTIN(__builtin_msa_fill_b, "V16Sci", "nc")
    497 BUILTIN(__builtin_msa_fill_h, "V8Ssi", "nc")
    498 BUILTIN(__builtin_msa_fill_w, "V4Sii", "nc")
    499 BUILTIN(__builtin_msa_fill_d, "V2SLLiLLi", "nc")
    500 
    501 BUILTIN(__builtin_msa_flog2_w, "V4fV4f", "nc")
    502 BUILTIN(__builtin_msa_flog2_d, "V2dV2d", "nc")
    503 
    504 BUILTIN(__builtin_msa_fmadd_w, "V4fV4fV4fV4f", "nc")
    505 BUILTIN(__builtin_msa_fmadd_d, "V2dV2dV2dV2d", "nc")
    506 
    507 BUILTIN(__builtin_msa_fmax_w, "V4fV4fV4f", "nc")
    508 BUILTIN(__builtin_msa_fmax_d, "V2dV2dV2d", "nc")
    509 
    510 BUILTIN(__builtin_msa_fmax_a_w, "V4fV4fV4f", "nc")
    511 BUILTIN(__builtin_msa_fmax_a_d, "V2dV2dV2d", "nc")
    512 
    513 BUILTIN(__builtin_msa_fmin_w, "V4fV4fV4f", "nc")
    514 BUILTIN(__builtin_msa_fmin_d, "V2dV2dV2d", "nc")
    515 
    516 BUILTIN(__builtin_msa_fmin_a_w, "V4fV4fV4f", "nc")
    517 BUILTIN(__builtin_msa_fmin_a_d, "V2dV2dV2d", "nc")
    518 
    519 BUILTIN(__builtin_msa_fmsub_w, "V4fV4fV4fV4f", "nc")
    520 BUILTIN(__builtin_msa_fmsub_d, "V2dV2dV2dV2d", "nc")
    521 
    522 BUILTIN(__builtin_msa_fmul_w, "V4fV4fV4f", "nc")
    523 BUILTIN(__builtin_msa_fmul_d, "V2dV2dV2d", "nc")
    524 
    525 BUILTIN(__builtin_msa_frint_w, "V4fV4f", "nc")
    526 BUILTIN(__builtin_msa_frint_d, "V2dV2d", "nc")
    527 
    528 BUILTIN(__builtin_msa_frcp_w, "V4fV4f", "nc")
    529 BUILTIN(__builtin_msa_frcp_d, "V2dV2d", "nc")
    530 
    531 BUILTIN(__builtin_msa_frsqrt_w, "V4fV4f", "nc")
    532 BUILTIN(__builtin_msa_frsqrt_d, "V2dV2d", "nc")
    533 
    534 BUILTIN(__builtin_msa_fsaf_w, "V4iV4fV4f", "nc")
    535 BUILTIN(__builtin_msa_fsaf_d, "V2LLiV2dV2d", "nc")
    536 
    537 BUILTIN(__builtin_msa_fseq_w, "V4iV4fV4f", "nc")
    538 BUILTIN(__builtin_msa_fseq_d, "V2LLiV2dV2d", "nc")
    539 
    540 BUILTIN(__builtin_msa_fsle_w, "V4iV4fV4f", "nc")
    541 BUILTIN(__builtin_msa_fsle_d, "V2LLiV2dV2d", "nc")
    542 
    543 BUILTIN(__builtin_msa_fslt_w, "V4iV4fV4f", "nc")
    544 BUILTIN(__builtin_msa_fslt_d, "V2LLiV2dV2d", "nc")
    545 
    546 BUILTIN(__builtin_msa_fsne_w, "V4iV4fV4f", "nc")
    547 BUILTIN(__builtin_msa_fsne_d, "V2LLiV2dV2d", "nc")
    548 
    549 BUILTIN(__builtin_msa_fsor_w, "V4iV4fV4f", "nc")
    550 BUILTIN(__builtin_msa_fsor_d, "V2LLiV2dV2d", "nc")
    551 
    552 BUILTIN(__builtin_msa_fsqrt_w, "V4fV4f", "nc")
    553 BUILTIN(__builtin_msa_fsqrt_d, "V2dV2d", "nc")
    554 
    555 BUILTIN(__builtin_msa_fsub_w, "V4fV4fV4f", "nc")
    556 BUILTIN(__builtin_msa_fsub_d, "V2dV2dV2d", "nc")
    557 
    558 BUILTIN(__builtin_msa_fsueq_w, "V4iV4fV4f", "nc")
    559 BUILTIN(__builtin_msa_fsueq_d, "V2LLiV2dV2d", "nc")
    560 
    561 BUILTIN(__builtin_msa_fsule_w, "V4iV4fV4f", "nc")
    562 BUILTIN(__builtin_msa_fsule_d, "V2LLiV2dV2d", "nc")
    563 
    564 BUILTIN(__builtin_msa_fsult_w, "V4iV4fV4f", "nc")
    565 BUILTIN(__builtin_msa_fsult_d, "V2LLiV2dV2d", "nc")
    566 
    567 BUILTIN(__builtin_msa_fsun_w, "V4iV4fV4f", "nc")
    568 BUILTIN(__builtin_msa_fsun_d, "V2LLiV2dV2d", "nc")
    569 
    570 BUILTIN(__builtin_msa_fsune_w, "V4iV4fV4f", "nc")
    571 BUILTIN(__builtin_msa_fsune_d, "V2LLiV2dV2d", "nc")
    572 
    573 BUILTIN(__builtin_msa_ftint_s_w, "V4SiV4f", "nc")
    574 BUILTIN(__builtin_msa_ftint_s_d, "V2SLLiV2d", "nc")
    575 
    576 BUILTIN(__builtin_msa_ftint_u_w, "V4UiV4f", "nc")
    577 BUILTIN(__builtin_msa_ftint_u_d, "V2ULLiV2d", "nc")
    578 
    579 BUILTIN(__builtin_msa_ftq_h, "V4UiV4fV4f", "nc")
    580 BUILTIN(__builtin_msa_ftq_w, "V2ULLiV2dV2d", "nc")
    581 
    582 BUILTIN(__builtin_msa_ftrunc_s_w, "V4SiV4f", "nc")
    583 BUILTIN(__builtin_msa_ftrunc_s_d, "V2SLLiV2d", "nc")
    584 
    585 BUILTIN(__builtin_msa_ftrunc_u_w, "V4UiV4f", "nc")
    586 BUILTIN(__builtin_msa_ftrunc_u_d, "V2ULLiV2d", "nc")
    587 
    588 BUILTIN(__builtin_msa_hadd_s_h, "V8SsV16ScV16Sc", "nc")
    589 BUILTIN(__builtin_msa_hadd_s_w, "V4SiV8SsV8Ss", "nc")
    590 BUILTIN(__builtin_msa_hadd_s_d, "V2SLLiV4SiV4Si", "nc")
    591 
    592 BUILTIN(__builtin_msa_hadd_u_h, "V8UsV16UcV16Uc", "nc")
    593 BUILTIN(__builtin_msa_hadd_u_w, "V4UiV8UsV8Us", "nc")
    594 BUILTIN(__builtin_msa_hadd_u_d, "V2ULLiV4UiV4Ui", "nc")
    595 
    596 BUILTIN(__builtin_msa_hsub_s_h, "V8SsV16ScV16Sc", "nc")
    597 BUILTIN(__builtin_msa_hsub_s_w, "V4SiV8SsV8Ss", "nc")
    598 BUILTIN(__builtin_msa_hsub_s_d, "V2SLLiV4SiV4Si", "nc")
    599 
    600 BUILTIN(__builtin_msa_hsub_u_h, "V8UsV16UcV16Uc", "nc")
    601 BUILTIN(__builtin_msa_hsub_u_w, "V4UiV8UsV8Us", "nc")
    602 BUILTIN(__builtin_msa_hsub_u_d, "V2ULLiV4UiV4Ui", "nc")
    603 
    604 BUILTIN(__builtin_msa_ilvev_b, "V16cV16cV16c", "nc")
    605 BUILTIN(__builtin_msa_ilvev_h, "V8sV8sV8s", "nc")
    606 BUILTIN(__builtin_msa_ilvev_w, "V4iV4iV4i", "nc")
    607 BUILTIN(__builtin_msa_ilvev_d, "V2LLiV2LLiV2LLi", "nc")
    608 
    609 BUILTIN(__builtin_msa_ilvl_b, "V16cV16cV16c", "nc")
    610 BUILTIN(__builtin_msa_ilvl_h, "V8sV8sV8s", "nc")
    611 BUILTIN(__builtin_msa_ilvl_w, "V4iV4iV4i", "nc")
    612 BUILTIN(__builtin_msa_ilvl_d, "V2LLiV2LLiV2LLi", "nc")
    613 
    614 BUILTIN(__builtin_msa_ilvod_b, "V16cV16cV16c", "nc")
    615 BUILTIN(__builtin_msa_ilvod_h, "V8sV8sV8s", "nc")
    616 BUILTIN(__builtin_msa_ilvod_w, "V4iV4iV4i", "nc")
    617 BUILTIN(__builtin_msa_ilvod_d, "V2LLiV2LLiV2LLi", "nc")
    618 
    619 BUILTIN(__builtin_msa_ilvr_b, "V16cV16cV16c", "nc")
    620 BUILTIN(__builtin_msa_ilvr_h, "V8sV8sV8s", "nc")
    621 BUILTIN(__builtin_msa_ilvr_w, "V4iV4iV4i", "nc")
    622 BUILTIN(__builtin_msa_ilvr_d, "V2LLiV2LLiV2LLi", "nc")
    623 
    624 BUILTIN(__builtin_msa_insert_b, "V16ScV16ScIUii", "nc")
    625 BUILTIN(__builtin_msa_insert_h, "V8SsV8SsIUii", "nc")
    626 BUILTIN(__builtin_msa_insert_w, "V4SiV4SiIUii", "nc")
    627 BUILTIN(__builtin_msa_insert_d, "V2SLLiV2SLLiIUiLLi", "nc")
    628 
    629 BUILTIN(__builtin_msa_insve_b, "V16ScV16ScIUiV16Sc", "nc")
    630 BUILTIN(__builtin_msa_insve_h, "V8SsV8SsIUiV8Ss", "nc")
    631 BUILTIN(__builtin_msa_insve_w, "V4SiV4SiIUiV4Si", "nc")
    632 BUILTIN(__builtin_msa_insve_d, "V2SLLiV2SLLiIUiV2SLLi", "nc")
    633 
    634 BUILTIN(__builtin_msa_ld_b, "V16Scv*Ii", "nc")
    635 BUILTIN(__builtin_msa_ld_h, "V8Ssv*Ii", "nc")
    636 BUILTIN(__builtin_msa_ld_w, "V4Siv*Ii", "nc")
    637 BUILTIN(__builtin_msa_ld_d, "V2SLLiv*Ii", "nc")
    638 
    639 BUILTIN(__builtin_msa_ldi_b, "V16cIi", "nc")
    640 BUILTIN(__builtin_msa_ldi_h, "V8sIi", "nc")
    641 BUILTIN(__builtin_msa_ldi_w, "V4iIi", "nc")
    642 BUILTIN(__builtin_msa_ldi_d, "V2LLiIi", "nc")
    643 
    644 BUILTIN(__builtin_msa_madd_q_h, "V8SsV8SsV8SsV8Ss", "nc")
    645 BUILTIN(__builtin_msa_madd_q_w, "V4SiV4SiV4SiV4Si", "nc")
    646 
    647 BUILTIN(__builtin_msa_maddr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
    648 BUILTIN(__builtin_msa_maddr_q_w, "V4SiV4SiV4SiV4Si", "nc")
    649 
    650 BUILTIN(__builtin_msa_maddv_b, "V16ScV16ScV16ScV16Sc", "nc")
    651 BUILTIN(__builtin_msa_maddv_h, "V8SsV8SsV8SsV8Ss", "nc")
    652 BUILTIN(__builtin_msa_maddv_w, "V4SiV4SiV4SiV4Si", "nc")
    653 BUILTIN(__builtin_msa_maddv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
    654 
    655 BUILTIN(__builtin_msa_max_a_b, "V16ScV16ScV16Sc", "nc")
    656 BUILTIN(__builtin_msa_max_a_h, "V8SsV8SsV8Ss", "nc")
    657 BUILTIN(__builtin_msa_max_a_w, "V4SiV4SiV4Si", "nc")
    658 BUILTIN(__builtin_msa_max_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
    659 
    660 BUILTIN(__builtin_msa_max_s_b, "V16ScV16ScV16Sc", "nc")
    661 BUILTIN(__builtin_msa_max_s_h, "V8SsV8SsV8Ss", "nc")
    662 BUILTIN(__builtin_msa_max_s_w, "V4SiV4SiV4Si", "nc")
    663 BUILTIN(__builtin_msa_max_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    664 
    665 BUILTIN(__builtin_msa_max_u_b, "V16UcV16UcV16Uc", "nc")
    666 BUILTIN(__builtin_msa_max_u_h, "V8UsV8UsV8Us", "nc")
    667 BUILTIN(__builtin_msa_max_u_w, "V4UiV4UiV4Ui", "nc")
    668 BUILTIN(__builtin_msa_max_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    669 
    670 BUILTIN(__builtin_msa_maxi_s_b, "V16ScV16ScIi", "nc")
    671 BUILTIN(__builtin_msa_maxi_s_h, "V8SsV8SsIi", "nc")
    672 BUILTIN(__builtin_msa_maxi_s_w, "V4SiV4SiIi", "nc")
    673 BUILTIN(__builtin_msa_maxi_s_d, "V2SLLiV2SLLiIi", "nc")
    674 
    675 BUILTIN(__builtin_msa_maxi_u_b, "V16UcV16UcIi", "nc")
    676 BUILTIN(__builtin_msa_maxi_u_h, "V8UsV8UsIi", "nc")
    677 BUILTIN(__builtin_msa_maxi_u_w, "V4UiV4UiIi", "nc")
    678 BUILTIN(__builtin_msa_maxi_u_d, "V2ULLiV2ULLiIi", "nc")
    679 
    680 BUILTIN(__builtin_msa_min_a_b, "V16ScV16ScV16Sc", "nc")
    681 BUILTIN(__builtin_msa_min_a_h, "V8SsV8SsV8Ss", "nc")
    682 BUILTIN(__builtin_msa_min_a_w, "V4SiV4SiV4Si", "nc")
    683 BUILTIN(__builtin_msa_min_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
    684 
    685 BUILTIN(__builtin_msa_min_s_b, "V16ScV16ScV16Sc", "nc")
    686 BUILTIN(__builtin_msa_min_s_h, "V8SsV8SsV8Ss", "nc")
    687 BUILTIN(__builtin_msa_min_s_w, "V4SiV4SiV4Si", "nc")
    688 BUILTIN(__builtin_msa_min_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    689 
    690 BUILTIN(__builtin_msa_min_u_b, "V16UcV16UcV16Uc", "nc")
    691 BUILTIN(__builtin_msa_min_u_h, "V8UsV8UsV8Us", "nc")
    692 BUILTIN(__builtin_msa_min_u_w, "V4UiV4UiV4Ui", "nc")
    693 BUILTIN(__builtin_msa_min_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    694 
    695 BUILTIN(__builtin_msa_mini_s_b, "V16ScV16ScIi", "nc")
    696 BUILTIN(__builtin_msa_mini_s_h, "V8SsV8SsIi", "nc")
    697 BUILTIN(__builtin_msa_mini_s_w, "V4SiV4SiIi", "nc")
    698 BUILTIN(__builtin_msa_mini_s_d, "V2SLLiV2SLLiIi", "nc")
    699 
    700 BUILTIN(__builtin_msa_mini_u_b, "V16UcV16UcIi", "nc")
    701 BUILTIN(__builtin_msa_mini_u_h, "V8UsV8UsIi", "nc")
    702 BUILTIN(__builtin_msa_mini_u_w, "V4UiV4UiIi", "nc")
    703 BUILTIN(__builtin_msa_mini_u_d, "V2ULLiV2ULLiIi", "nc")
    704 
    705 BUILTIN(__builtin_msa_mod_s_b, "V16ScV16ScV16Sc", "nc")
    706 BUILTIN(__builtin_msa_mod_s_h, "V8SsV8SsV8Ss", "nc")
    707 BUILTIN(__builtin_msa_mod_s_w, "V4SiV4SiV4Si", "nc")
    708 BUILTIN(__builtin_msa_mod_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    709 
    710 BUILTIN(__builtin_msa_mod_u_b, "V16UcV16UcV16Uc", "nc")
    711 BUILTIN(__builtin_msa_mod_u_h, "V8UsV8UsV8Us", "nc")
    712 BUILTIN(__builtin_msa_mod_u_w, "V4UiV4UiV4Ui", "nc")
    713 BUILTIN(__builtin_msa_mod_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    714 
    715 BUILTIN(__builtin_msa_move_v, "V16ScV16Sc", "nc")
    716 
    717 BUILTIN(__builtin_msa_msub_q_h, "V8SsV8SsV8SsV8Ss", "nc")
    718 BUILTIN(__builtin_msa_msub_q_w, "V4SiV4SiV4SiV4Si", "nc")
    719 
    720 BUILTIN(__builtin_msa_msubr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
    721 BUILTIN(__builtin_msa_msubr_q_w, "V4SiV4SiV4SiV4Si", "nc")
    722 
    723 BUILTIN(__builtin_msa_msubv_b, "V16ScV16ScV16ScV16Sc", "nc")
    724 BUILTIN(__builtin_msa_msubv_h, "V8SsV8SsV8SsV8Ss", "nc")
    725 BUILTIN(__builtin_msa_msubv_w, "V4SiV4SiV4SiV4Si", "nc")
    726 BUILTIN(__builtin_msa_msubv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
    727 
    728 BUILTIN(__builtin_msa_mul_q_h, "V8SsV8SsV8Ss", "nc")
    729 BUILTIN(__builtin_msa_mul_q_w, "V4SiV4SiV4Si", "nc")
    730 
    731 BUILTIN(__builtin_msa_mulr_q_h, "V8SsV8SsV8Ss", "nc")
    732 BUILTIN(__builtin_msa_mulr_q_w, "V4SiV4SiV4Si", "nc")
    733 
    734 BUILTIN(__builtin_msa_mulv_b, "V16ScV16ScV16Sc", "nc")
    735 BUILTIN(__builtin_msa_mulv_h, "V8SsV8SsV8Ss", "nc")
    736 BUILTIN(__builtin_msa_mulv_w, "V4SiV4SiV4Si", "nc")
    737 BUILTIN(__builtin_msa_mulv_d, "V2SLLiV2SLLiV2SLLi", "nc")
    738 
    739 BUILTIN(__builtin_msa_nloc_b, "V16ScV16Sc", "nc")
    740 BUILTIN(__builtin_msa_nloc_h, "V8SsV8Ss", "nc")
    741 BUILTIN(__builtin_msa_nloc_w, "V4SiV4Si", "nc")
    742 BUILTIN(__builtin_msa_nloc_d, "V2SLLiV2SLLi", "nc")
    743 
    744 BUILTIN(__builtin_msa_nlzc_b, "V16ScV16Sc", "nc")
    745 BUILTIN(__builtin_msa_nlzc_h, "V8SsV8Ss", "nc")
    746 BUILTIN(__builtin_msa_nlzc_w, "V4SiV4Si", "nc")
    747 BUILTIN(__builtin_msa_nlzc_d, "V2SLLiV2SLLi", "nc")
    748 
    749 BUILTIN(__builtin_msa_nor_v, "V16UcV16UcV16Uc", "nc")
    750 
    751 BUILTIN(__builtin_msa_nori_b, "V16UcV16cIUi", "nc")
    752 
    753 BUILTIN(__builtin_msa_or_v, "V16UcV16UcV16Uc", "nc")
    754 
    755 BUILTIN(__builtin_msa_ori_b, "V16UcV16UcIUi", "nc")
    756 
    757 BUILTIN(__builtin_msa_pckev_b, "V16cV16cV16c", "nc")
    758 BUILTIN(__builtin_msa_pckev_h, "V8sV8sV8s", "nc")
    759 BUILTIN(__builtin_msa_pckev_w, "V4iV4iV4i", "nc")
    760 BUILTIN(__builtin_msa_pckev_d, "V2LLiV2LLiV2LLi", "nc")
    761 
    762 BUILTIN(__builtin_msa_pckod_b, "V16cV16cV16c", "nc")
    763 BUILTIN(__builtin_msa_pckod_h, "V8sV8sV8s", "nc")
    764 BUILTIN(__builtin_msa_pckod_w, "V4iV4iV4i", "nc")
    765 BUILTIN(__builtin_msa_pckod_d, "V2LLiV2LLiV2LLi", "nc")
    766 
    767 BUILTIN(__builtin_msa_pcnt_b, "V16ScV16Sc", "nc")
    768 BUILTIN(__builtin_msa_pcnt_h, "V8SsV8Ss", "nc")
    769 BUILTIN(__builtin_msa_pcnt_w, "V4SiV4Si", "nc")
    770 BUILTIN(__builtin_msa_pcnt_d, "V2SLLiV2SLLi", "nc")
    771 
    772 BUILTIN(__builtin_msa_sat_s_b, "V16ScV16ScIUi", "nc")
    773 BUILTIN(__builtin_msa_sat_s_h, "V8SsV8SsIUi", "nc")
    774 BUILTIN(__builtin_msa_sat_s_w, "V4SiV4SiIUi", "nc")
    775 BUILTIN(__builtin_msa_sat_s_d, "V2SLLiV2SLLiIUi", "nc")
    776 
    777 BUILTIN(__builtin_msa_sat_u_b, "V16UcV16UcIUi", "nc")
    778 BUILTIN(__builtin_msa_sat_u_h, "V8UsV8UsIUi", "nc")
    779 BUILTIN(__builtin_msa_sat_u_w, "V4UiV4UiIUi", "nc")
    780 BUILTIN(__builtin_msa_sat_u_d, "V2ULLiV2ULLiIUi", "nc")
    781 
    782 BUILTIN(__builtin_msa_shf_b, "V16cV16cIUi", "nc")
    783 BUILTIN(__builtin_msa_shf_h, "V8sV8sIUi", "nc")
    784 BUILTIN(__builtin_msa_shf_w, "V4iV4iIUi", "nc")
    785 
    786 BUILTIN(__builtin_msa_sld_b, "V16cV16cV16cUi", "nc")
    787 BUILTIN(__builtin_msa_sld_h, "V8sV8sV8sUi", "nc")
    788 BUILTIN(__builtin_msa_sld_w, "V4iV4iV4iUi", "nc")
    789 BUILTIN(__builtin_msa_sld_d, "V2LLiV2LLiV2LLiUi", "nc")
    790 
    791 BUILTIN(__builtin_msa_sldi_b, "V16cV16cV16cIUi", "nc")
    792 BUILTIN(__builtin_msa_sldi_h, "V8sV8sV8sIUi", "nc")
    793 BUILTIN(__builtin_msa_sldi_w, "V4iV4iV4iIUi", "nc")
    794 BUILTIN(__builtin_msa_sldi_d, "V2LLiV2LLiV2LLiIUi", "nc")
    795 
    796 BUILTIN(__builtin_msa_sll_b, "V16cV16cV16c", "nc")
    797 BUILTIN(__builtin_msa_sll_h, "V8sV8sV8s", "nc")
    798 BUILTIN(__builtin_msa_sll_w, "V4iV4iV4i", "nc")
    799 BUILTIN(__builtin_msa_sll_d, "V2LLiV2LLiV2LLi", "nc")
    800 
    801 BUILTIN(__builtin_msa_slli_b, "V16cV16cIUi", "nc")
    802 BUILTIN(__builtin_msa_slli_h, "V8sV8sIUi", "nc")
    803 BUILTIN(__builtin_msa_slli_w, "V4iV4iIUi", "nc")
    804 BUILTIN(__builtin_msa_slli_d, "V2LLiV2LLiIUi", "nc")
    805 
    806 BUILTIN(__builtin_msa_splat_b, "V16cV16cUi", "nc")
    807 BUILTIN(__builtin_msa_splat_h, "V8sV8sUi", "nc")
    808 BUILTIN(__builtin_msa_splat_w, "V4iV4iUi", "nc")
    809 BUILTIN(__builtin_msa_splat_d, "V2LLiV2LLiUi", "nc")
    810 
    811 BUILTIN(__builtin_msa_splati_b, "V16cV16cIUi", "nc")
    812 BUILTIN(__builtin_msa_splati_h, "V8sV8sIUi", "nc")
    813 BUILTIN(__builtin_msa_splati_w, "V4iV4iIUi", "nc")
    814 BUILTIN(__builtin_msa_splati_d, "V2LLiV2LLiIUi", "nc")
    815 
    816 BUILTIN(__builtin_msa_sra_b, "V16cV16cV16c", "nc")
    817 BUILTIN(__builtin_msa_sra_h, "V8sV8sV8s", "nc")
    818 BUILTIN(__builtin_msa_sra_w, "V4iV4iV4i", "nc")
    819 BUILTIN(__builtin_msa_sra_d, "V2LLiV2LLiV2LLi", "nc")
    820 
    821 BUILTIN(__builtin_msa_srai_b, "V16cV16cIUi", "nc")
    822 BUILTIN(__builtin_msa_srai_h, "V8sV8sIUi", "nc")
    823 BUILTIN(__builtin_msa_srai_w, "V4iV4iIUi", "nc")
    824 BUILTIN(__builtin_msa_srai_d, "V2LLiV2LLiIUi", "nc")
    825 
    826 BUILTIN(__builtin_msa_srar_b, "V16cV16cV16c", "nc")
    827 BUILTIN(__builtin_msa_srar_h, "V8sV8sV8s", "nc")
    828 BUILTIN(__builtin_msa_srar_w, "V4iV4iV4i", "nc")
    829 BUILTIN(__builtin_msa_srar_d, "V2LLiV2LLiV2LLi", "nc")
    830 
    831 BUILTIN(__builtin_msa_srari_b, "V16cV16cIUi", "nc")
    832 BUILTIN(__builtin_msa_srari_h, "V8sV8sIUi", "nc")
    833 BUILTIN(__builtin_msa_srari_w, "V4iV4iIUi", "nc")
    834 BUILTIN(__builtin_msa_srari_d, "V2LLiV2LLiIUi", "nc")
    835 
    836 BUILTIN(__builtin_msa_srl_b, "V16cV16cV16c", "nc")
    837 BUILTIN(__builtin_msa_srl_h, "V8sV8sV8s", "nc")
    838 BUILTIN(__builtin_msa_srl_w, "V4iV4iV4i", "nc")
    839 BUILTIN(__builtin_msa_srl_d, "V2LLiV2LLiV2LLi", "nc")
    840 
    841 BUILTIN(__builtin_msa_srli_b, "V16cV16cIUi", "nc")
    842 BUILTIN(__builtin_msa_srli_h, "V8sV8sIUi", "nc")
    843 BUILTIN(__builtin_msa_srli_w, "V4iV4iIUi", "nc")
    844 BUILTIN(__builtin_msa_srli_d, "V2LLiV2LLiIUi", "nc")
    845 
    846 BUILTIN(__builtin_msa_srlr_b, "V16cV16cV16c", "nc")
    847 BUILTIN(__builtin_msa_srlr_h, "V8sV8sV8s", "nc")
    848 BUILTIN(__builtin_msa_srlr_w, "V4iV4iV4i", "nc")
    849 BUILTIN(__builtin_msa_srlr_d, "V2LLiV2LLiV2LLi", "nc")
    850 
    851 BUILTIN(__builtin_msa_srlri_b, "V16cV16cIUi", "nc")
    852 BUILTIN(__builtin_msa_srlri_h, "V8sV8sIUi", "nc")
    853 BUILTIN(__builtin_msa_srlri_w, "V4iV4iIUi", "nc")
    854 BUILTIN(__builtin_msa_srlri_d, "V2LLiV2LLiIUi", "nc")
    855 
    856 BUILTIN(__builtin_msa_st_b, "vV16Scv*Ii", "nc")
    857 BUILTIN(__builtin_msa_st_h, "vV8Ssv*Ii", "nc")
    858 BUILTIN(__builtin_msa_st_w, "vV4Siv*Ii", "nc")
    859 BUILTIN(__builtin_msa_st_d, "vV2SLLiv*Ii", "nc")
    860 
    861 BUILTIN(__builtin_msa_subs_s_b, "V16ScV16ScV16Sc", "nc")
    862 BUILTIN(__builtin_msa_subs_s_h, "V8SsV8SsV8Ss", "nc")
    863 BUILTIN(__builtin_msa_subs_s_w, "V4SiV4SiV4Si", "nc")
    864 BUILTIN(__builtin_msa_subs_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
    865 
    866 BUILTIN(__builtin_msa_subs_u_b, "V16UcV16UcV16Uc", "nc")
    867 BUILTIN(__builtin_msa_subs_u_h, "V8UsV8UsV8Us", "nc")
    868 BUILTIN(__builtin_msa_subs_u_w, "V4UiV4UiV4Ui", "nc")
    869 BUILTIN(__builtin_msa_subs_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
    870 
    871 BUILTIN(__builtin_msa_subsus_u_b, "V16UcV16UcV16Sc", "nc")
    872 BUILTIN(__builtin_msa_subsus_u_h, "V8UsV8UsV8Ss", "nc")
    873 BUILTIN(__builtin_msa_subsus_u_w, "V4UiV4UiV4Si", "nc")
    874 BUILTIN(__builtin_msa_subsus_u_d, "V2ULLiV2ULLiV2SLLi", "nc")
    875 
    876 BUILTIN(__builtin_msa_subsuu_s_b, "V16ScV16UcV16Uc", "nc")
    877 BUILTIN(__builtin_msa_subsuu_s_h, "V8SsV8UsV8Us", "nc")
    878 BUILTIN(__builtin_msa_subsuu_s_w, "V4SiV4UiV4Ui", "nc")
    879 BUILTIN(__builtin_msa_subsuu_s_d, "V2SLLiV2ULLiV2ULLi", "nc")
    880 
    881 BUILTIN(__builtin_msa_subv_b, "V16cV16cV16c", "nc")
    882 BUILTIN(__builtin_msa_subv_h, "V8sV8sV8s", "nc")
    883 BUILTIN(__builtin_msa_subv_w, "V4iV4iV4i", "nc")
    884 BUILTIN(__builtin_msa_subv_d, "V2LLiV2LLiV2LLi", "nc")
    885 
    886 BUILTIN(__builtin_msa_subvi_b, "V16cV16cIUi", "nc")
    887 BUILTIN(__builtin_msa_subvi_h, "V8sV8sIUi", "nc")
    888 BUILTIN(__builtin_msa_subvi_w, "V4iV4iIUi", "nc")
    889 BUILTIN(__builtin_msa_subvi_d, "V2LLiV2LLiIUi", "nc")
    890 
    891 BUILTIN(__builtin_msa_vshf_b, "V16cV16cV16cV16c", "nc")
    892 BUILTIN(__builtin_msa_vshf_h, "V8sV8sV8sV8s", "nc")
    893 BUILTIN(__builtin_msa_vshf_w, "V4iV4iV4iV4i", "nc")
    894 BUILTIN(__builtin_msa_vshf_d, "V2LLiV2LLiV2LLiV2LLi", "nc")
    895 
    896 BUILTIN(__builtin_msa_xor_v, "V16cV16cV16c", "nc")
    897 
    898 BUILTIN(__builtin_msa_xori_b, "V16cV16cIUi", "nc")
    899 
    900 #undef BUILTIN
    901