1239313Sdim//===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==// 2239313Sdim// 3239313Sdim// The LLVM Compiler Infrastructure 4239313Sdim// 5239313Sdim// This file is distributed under the University of Illinois Open Source 6239313Sdim// License. See LICENSE.TXT for details. 7239313Sdim// 8239313Sdim//===----------------------------------------------------------------------===// 9239313Sdim// 10239313Sdim// This file defines the MIPS-specific builtin function database. Users of 11239313Sdim// this file must define the BUILTIN macro to make use of this information. 12239313Sdim// 13239313Sdim//===----------------------------------------------------------------------===// 14239313Sdim 15239313Sdim// The format of this database matches clang/Basic/Builtins.def. 16239313Sdim 17243830Sdim// MIPS DSP Rev 1 18243830Sdim 19239313Sdim// Add/subtract with optional saturation 20239313SdimBUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n") 21239313SdimBUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n") 22239313SdimBUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n") 23239313SdimBUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n") 24239313Sdim 25239313SdimBUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n") 26239313SdimBUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n") 27239313SdimBUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n") 28239313SdimBUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n") 29239313Sdim 30239313SdimBUILTIN(__builtin_mips_madd, "LLiLLiii", "nc") 31239313SdimBUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc") 32239313SdimBUILTIN(__builtin_mips_msub, "LLiLLiii", "nc") 33239313SdimBUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc") 34239313Sdim 35239313SdimBUILTIN(__builtin_mips_addq_s_w, "iii", "n") 36239313SdimBUILTIN(__builtin_mips_subq_s_w, "iii", "n") 37239313Sdim 38239313SdimBUILTIN(__builtin_mips_addsc, "iii", "n") 39239313SdimBUILTIN(__builtin_mips_addwc, "iii", "n") 40239313Sdim 41239313SdimBUILTIN(__builtin_mips_modsub, "iii", "nc") 42239313Sdim 43239313SdimBUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc") 44239313Sdim 45239313SdimBUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n") 46239313SdimBUILTIN(__builtin_mips_absq_s_w, "ii", "n") 47239313Sdim 48239313SdimBUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc") 49239313SdimBUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n") 50239313SdimBUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc") 51239313SdimBUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n") 52239313SdimBUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc") 53239313SdimBUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc") 54239313SdimBUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc") 55239313SdimBUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc") 56239313SdimBUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc") 57239313SdimBUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc") 58239313SdimBUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc") 59239313SdimBUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc") 60239313SdimBUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc") 61239313SdimBUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc") 62239313Sdim 63239313SdimBUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n") 64239313SdimBUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc") 65239313SdimBUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n") 66239313SdimBUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n") 67239313SdimBUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc") 68239313SdimBUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc") 69239313SdimBUILTIN(__builtin_mips_shll_s_w, "iii", "n") 70239313SdimBUILTIN(__builtin_mips_shra_r_w, "iii", "nc") 71239313SdimBUILTIN(__builtin_mips_shilo, "LLiLLii", "nc") 72239313Sdim 73239313SdimBUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n") 74239313SdimBUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n") 75239313SdimBUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n") 76239313SdimBUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n") 77239313SdimBUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n") 78239313SdimBUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n") 79239313SdimBUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n") 80239313SdimBUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n") 81239313SdimBUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n") 82239313SdimBUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n") 83239313SdimBUILTIN(__builtin_mips_mult, "LLiii", "nc") 84239313SdimBUILTIN(__builtin_mips_multu, "LLiUiUi", "nc") 85239313Sdim 86239313SdimBUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc") 87239313SdimBUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc") 88239313SdimBUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc") 89239313SdimBUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc") 90239313SdimBUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n") 91239313SdimBUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n") 92239313SdimBUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n") 93239313SdimBUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n") 94239313Sdim 95239313SdimBUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n") 96239313SdimBUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n") 97239313SdimBUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n") 98239313SdimBUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n") 99239313SdimBUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n") 100239313SdimBUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n") 101239313SdimBUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n") 102239313SdimBUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n") 103239313SdimBUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n") 104239313Sdim 105239313SdimBUILTIN(__builtin_mips_extr_s_h, "iLLii", "n") 106239313SdimBUILTIN(__builtin_mips_extr_w, "iLLii", "n") 107239313SdimBUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n") 108239313SdimBUILTIN(__builtin_mips_extr_r_w, "iLLii", "n") 109239313SdimBUILTIN(__builtin_mips_extp, "iLLii", "n") 110239313SdimBUILTIN(__builtin_mips_extpdp, "iLLii", "n") 111239313Sdim 112239313SdimBUILTIN(__builtin_mips_wrdsp, "viIi", "n") 113239313SdimBUILTIN(__builtin_mips_rddsp, "iIi", "n") 114239313SdimBUILTIN(__builtin_mips_insv, "iii", "n") 115239313SdimBUILTIN(__builtin_mips_bitrev, "ii", "nc") 116239313SdimBUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc") 117239313SdimBUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc") 118239313SdimBUILTIN(__builtin_mips_repl_ph, "V2si", "nc") 119239313SdimBUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n") 120239313SdimBUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n") 121239313SdimBUILTIN(__builtin_mips_mthlip, "LLiLLii", "n") 122239313SdimBUILTIN(__builtin_mips_bposge32, "i", "n") 123239313SdimBUILTIN(__builtin_mips_lbux, "iv*i", "n") 124239313SdimBUILTIN(__builtin_mips_lhx, "iv*i", "n") 125239313SdimBUILTIN(__builtin_mips_lwx, "iv*i", "n") 126239313Sdim 127243830Sdim// MIPS DSP Rev 2 128243830Sdim 129243830SdimBUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n") 130243830Sdim 131243830SdimBUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc") 132243830SdimBUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc") 133243830SdimBUILTIN(__builtin_mips_addqh_w, "iii", "nc") 134243830SdimBUILTIN(__builtin_mips_addqh_r_w, "iii", "nc") 135243830Sdim 136243830SdimBUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n") 137243830SdimBUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n") 138243830Sdim 139243830SdimBUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc") 140243830SdimBUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc") 141243830Sdim 142243830SdimBUILTIN(__builtin_mips_append, "iiiIi", "nc") 143243830SdimBUILTIN(__builtin_mips_balign, "iiiIi", "nc") 144243830Sdim 145243830SdimBUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n") 146243830SdimBUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n") 147243830SdimBUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n") 148243830Sdim 149243830SdimBUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc") 150243830SdimBUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc") 151243830Sdim 152243830SdimBUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n") 153243830SdimBUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n") 154243830SdimBUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc") 155243830SdimBUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc") 156243830SdimBUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n") 157243830SdimBUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n") 158243830Sdim 159243830SdimBUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n") 160243830SdimBUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n") 161243830Sdim 162243830SdimBUILTIN(__builtin_mips_mulq_rs_w, "iii", "n") 163243830SdimBUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n") 164243830SdimBUILTIN(__builtin_mips_mulq_s_w, "iii", "n") 165243830SdimBUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc") 166243830Sdim 167243830SdimBUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n") 168243830SdimBUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc") 169243830SdimBUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc") 170243830Sdim 171243830SdimBUILTIN(__builtin_mips_prepend, "iiiIi", "nc") 172243830Sdim 173243830SdimBUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc") 174243830SdimBUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc") 175243830SdimBUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc") 176243830Sdim 177243830SdimBUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc") 178243830SdimBUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc") 179243830SdimBUILTIN(__builtin_mips_subqh_w, "iii", "nc") 180243830SdimBUILTIN(__builtin_mips_subqh_r_w, "iii", "nc") 181243830Sdim 182243830SdimBUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n") 183243830SdimBUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n") 184243830Sdim 185243830SdimBUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc") 186243830SdimBUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc") 187243830Sdim 188263508Sdim// MIPS MSA 189263508Sdim 190263508SdimBUILTIN(__builtin_msa_add_a_b, "V16ScV16ScV16Sc", "nc") 191263508SdimBUILTIN(__builtin_msa_add_a_h, "V8SsV8SsV8Ss", "nc") 192263508SdimBUILTIN(__builtin_msa_add_a_w, "V4SiV4SiV4Si", "nc") 193263508SdimBUILTIN(__builtin_msa_add_a_d, "V2SLLiV2SLLiV2SLLi", "nc") 194263508Sdim 195263508SdimBUILTIN(__builtin_msa_adds_a_b, "V16ScV16ScV16Sc", "nc") 196263508SdimBUILTIN(__builtin_msa_adds_a_h, "V8SsV8SsV8Ss", "nc") 197263508SdimBUILTIN(__builtin_msa_adds_a_w, "V4SiV4SiV4Si", "nc") 198263508SdimBUILTIN(__builtin_msa_adds_a_d, "V2SLLiV2SLLiV2SLLi", "nc") 199263508Sdim 200263508SdimBUILTIN(__builtin_msa_adds_s_b, "V16ScV16ScV16Sc", "nc") 201263508SdimBUILTIN(__builtin_msa_adds_s_h, "V8SsV8SsV8Ss", "nc") 202263508SdimBUILTIN(__builtin_msa_adds_s_w, "V4SiV4SiV4Si", "nc") 203263508SdimBUILTIN(__builtin_msa_adds_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 204263508Sdim 205263508SdimBUILTIN(__builtin_msa_adds_u_b, "V16UcV16UcV16Uc", "nc") 206263508SdimBUILTIN(__builtin_msa_adds_u_h, "V8UsV8UsV8Us", "nc") 207263508SdimBUILTIN(__builtin_msa_adds_u_w, "V4UiV4UiV4Ui", "nc") 208263508SdimBUILTIN(__builtin_msa_adds_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 209263508Sdim 210263508SdimBUILTIN(__builtin_msa_addv_b, "V16cV16cV16c", "nc") 211263508SdimBUILTIN(__builtin_msa_addv_h, "V8sV8sV8s", "nc") 212263508SdimBUILTIN(__builtin_msa_addv_w, "V4iV4iV4i", "nc") 213263508SdimBUILTIN(__builtin_msa_addv_d, "V2LLiV2LLiV2LLi", "nc") 214263508Sdim 215263508SdimBUILTIN(__builtin_msa_addvi_b, "V16cV16cIUi", "nc") 216263508SdimBUILTIN(__builtin_msa_addvi_h, "V8sV8sIUi", "nc") 217263508SdimBUILTIN(__builtin_msa_addvi_w, "V4iV4iIUi", "nc") 218263508SdimBUILTIN(__builtin_msa_addvi_d, "V2LLiV2LLiIUi", "nc") 219263508Sdim 220263508SdimBUILTIN(__builtin_msa_and_v, "V16UcV16UcV16Uc", "nc") 221263508Sdim 222263508SdimBUILTIN(__builtin_msa_andi_b, "V16UcV16UcIUi", "nc") 223263508Sdim 224263508SdimBUILTIN(__builtin_msa_asub_s_b, "V16ScV16ScV16Sc", "nc") 225263508SdimBUILTIN(__builtin_msa_asub_s_h, "V8SsV8SsV8Ss", "nc") 226263508SdimBUILTIN(__builtin_msa_asub_s_w, "V4SiV4SiV4Si", "nc") 227263508SdimBUILTIN(__builtin_msa_asub_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 228263508Sdim 229263508SdimBUILTIN(__builtin_msa_asub_u_b, "V16UcV16UcV16Uc", "nc") 230263508SdimBUILTIN(__builtin_msa_asub_u_h, "V8UsV8UsV8Us", "nc") 231263508SdimBUILTIN(__builtin_msa_asub_u_w, "V4UiV4UiV4Ui", "nc") 232263508SdimBUILTIN(__builtin_msa_asub_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 233263508Sdim 234263508SdimBUILTIN(__builtin_msa_ave_s_b, "V16ScV16ScV16Sc", "nc") 235263508SdimBUILTIN(__builtin_msa_ave_s_h, "V8SsV8SsV8Ss", "nc") 236263508SdimBUILTIN(__builtin_msa_ave_s_w, "V4SiV4SiV4Si", "nc") 237263508SdimBUILTIN(__builtin_msa_ave_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 238263508Sdim 239263508SdimBUILTIN(__builtin_msa_ave_u_b, "V16UcV16UcV16Uc", "nc") 240263508SdimBUILTIN(__builtin_msa_ave_u_h, "V8UsV8UsV8Us", "nc") 241263508SdimBUILTIN(__builtin_msa_ave_u_w, "V4UiV4UiV4Ui", "nc") 242263508SdimBUILTIN(__builtin_msa_ave_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 243263508Sdim 244263508SdimBUILTIN(__builtin_msa_aver_s_b, "V16ScV16ScV16Sc", "nc") 245263508SdimBUILTIN(__builtin_msa_aver_s_h, "V8SsV8SsV8Ss", "nc") 246263508SdimBUILTIN(__builtin_msa_aver_s_w, "V4SiV4SiV4Si", "nc") 247263508SdimBUILTIN(__builtin_msa_aver_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 248263508Sdim 249263508SdimBUILTIN(__builtin_msa_aver_u_b, "V16UcV16UcV16Uc", "nc") 250263508SdimBUILTIN(__builtin_msa_aver_u_h, "V8UsV8UsV8Us", "nc") 251263508SdimBUILTIN(__builtin_msa_aver_u_w, "V4UiV4UiV4Ui", "nc") 252263508SdimBUILTIN(__builtin_msa_aver_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 253263508Sdim 254263508SdimBUILTIN(__builtin_msa_bclr_b, "V16UcV16UcV16Uc", "nc") 255263508SdimBUILTIN(__builtin_msa_bclr_h, "V8UsV8UsV8Us", "nc") 256263508SdimBUILTIN(__builtin_msa_bclr_w, "V4UiV4UiV4Ui", "nc") 257263508SdimBUILTIN(__builtin_msa_bclr_d, "V2ULLiV2ULLiV2ULLi", "nc") 258263508Sdim 259263508SdimBUILTIN(__builtin_msa_bclri_b, "V16UcV16UcIUi", "nc") 260263508SdimBUILTIN(__builtin_msa_bclri_h, "V8UsV8UsIUi", "nc") 261263508SdimBUILTIN(__builtin_msa_bclri_w, "V4UiV4UiIUi", "nc") 262263508SdimBUILTIN(__builtin_msa_bclri_d, "V2ULLiV2ULLiIUi", "nc") 263263508Sdim 264263508SdimBUILTIN(__builtin_msa_binsl_b, "V16UcV16UcV16UcV16Uc", "nc") 265263508SdimBUILTIN(__builtin_msa_binsl_h, "V8UsV8UsV8UsV8Us", "nc") 266263508SdimBUILTIN(__builtin_msa_binsl_w, "V4UiV4UiV4UiV4Ui", "nc") 267263508SdimBUILTIN(__builtin_msa_binsl_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc") 268263508Sdim 269263508SdimBUILTIN(__builtin_msa_binsli_b, "V16UcV16UcV16UcIUi", "nc") 270263508SdimBUILTIN(__builtin_msa_binsli_h, "V8UsV8UsV8UsIUi", "nc") 271263508SdimBUILTIN(__builtin_msa_binsli_w, "V4UiV4UiV4UiIUi", "nc") 272263508SdimBUILTIN(__builtin_msa_binsli_d, "V2ULLiV2ULLiV2ULLiIUi", "nc") 273263508Sdim 274263508SdimBUILTIN(__builtin_msa_binsr_b, "V16UcV16UcV16UcV16Uc", "nc") 275263508SdimBUILTIN(__builtin_msa_binsr_h, "V8UsV8UsV8UsV8Us", "nc") 276263508SdimBUILTIN(__builtin_msa_binsr_w, "V4UiV4UiV4UiV4Ui", "nc") 277263508SdimBUILTIN(__builtin_msa_binsr_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc") 278263508Sdim 279263508SdimBUILTIN(__builtin_msa_binsri_b, "V16UcV16UcV16UcIUi", "nc") 280263508SdimBUILTIN(__builtin_msa_binsri_h, "V8UsV8UsV8UsIUi", "nc") 281263508SdimBUILTIN(__builtin_msa_binsri_w, "V4UiV4UiV4UiIUi", "nc") 282263508SdimBUILTIN(__builtin_msa_binsri_d, "V2ULLiV2ULLiV2ULLiIUi", "nc") 283263508Sdim 284263508SdimBUILTIN(__builtin_msa_bmnz_v, "V16UcV16UcV16UcV16Uc", "nc") 285263508Sdim 286263508SdimBUILTIN(__builtin_msa_bmnzi_b, "V16UcV16UcV16UcIUi", "nc") 287263508Sdim 288263508SdimBUILTIN(__builtin_msa_bmz_v, "V16UcV16UcV16UcV16Uc", "nc") 289263508Sdim 290263508SdimBUILTIN(__builtin_msa_bmzi_b, "V16UcV16UcV16UcIUi", "nc") 291263508Sdim 292263508SdimBUILTIN(__builtin_msa_bneg_b, "V16UcV16UcV16Uc", "nc") 293263508SdimBUILTIN(__builtin_msa_bneg_h, "V8UsV8UsV8Us", "nc") 294263508SdimBUILTIN(__builtin_msa_bneg_w, "V4UiV4UiV4Ui", "nc") 295263508SdimBUILTIN(__builtin_msa_bneg_d, "V2ULLiV2ULLiV2ULLi", "nc") 296263508Sdim 297263508SdimBUILTIN(__builtin_msa_bnegi_b, "V16UcV16UcIUi", "nc") 298263508SdimBUILTIN(__builtin_msa_bnegi_h, "V8UsV8UsIUi", "nc") 299263508SdimBUILTIN(__builtin_msa_bnegi_w, "V4UiV4UiIUi", "nc") 300263508SdimBUILTIN(__builtin_msa_bnegi_d, "V2ULLiV2ULLiIUi", "nc") 301263508Sdim 302263508SdimBUILTIN(__builtin_msa_bnz_b, "iV16Uc", "nc") 303263508SdimBUILTIN(__builtin_msa_bnz_h, "iV8Us", "nc") 304263508SdimBUILTIN(__builtin_msa_bnz_w, "iV4Ui", "nc") 305263508SdimBUILTIN(__builtin_msa_bnz_d, "iV2ULLi", "nc") 306263508Sdim 307263508SdimBUILTIN(__builtin_msa_bnz_v, "iV16Uc", "nc") 308263508Sdim 309263508SdimBUILTIN(__builtin_msa_bsel_v, "V16UcV16UcV16UcV16Uc", "nc") 310263508Sdim 311263508SdimBUILTIN(__builtin_msa_bseli_b, "V16UcV16UcV16UcIUi", "nc") 312263508Sdim 313263508SdimBUILTIN(__builtin_msa_bset_b, "V16UcV16UcV16Uc", "nc") 314263508SdimBUILTIN(__builtin_msa_bset_h, "V8UsV8UsV8Us", "nc") 315263508SdimBUILTIN(__builtin_msa_bset_w, "V4UiV4UiV4Ui", "nc") 316263508SdimBUILTIN(__builtin_msa_bset_d, "V2ULLiV2ULLiV2ULLi", "nc") 317263508Sdim 318263508SdimBUILTIN(__builtin_msa_bseti_b, "V16UcV16UcIUi", "nc") 319263508SdimBUILTIN(__builtin_msa_bseti_h, "V8UsV8UsIUi", "nc") 320263508SdimBUILTIN(__builtin_msa_bseti_w, "V4UiV4UiIUi", "nc") 321263508SdimBUILTIN(__builtin_msa_bseti_d, "V2ULLiV2ULLiIUi", "nc") 322263508Sdim 323263508SdimBUILTIN(__builtin_msa_bz_b, "iV16Uc", "nc") 324263508SdimBUILTIN(__builtin_msa_bz_h, "iV8Us", "nc") 325263508SdimBUILTIN(__builtin_msa_bz_w, "iV4Ui", "nc") 326263508SdimBUILTIN(__builtin_msa_bz_d, "iV2ULLi", "nc") 327263508Sdim 328263508SdimBUILTIN(__builtin_msa_bz_v, "iV16Uc", "nc") 329263508Sdim 330263508SdimBUILTIN(__builtin_msa_ceq_b, "V16ScV16ScV16Sc", "nc") 331263508SdimBUILTIN(__builtin_msa_ceq_h, "V8SsV8SsV8Ss", "nc") 332263508SdimBUILTIN(__builtin_msa_ceq_w, "V4SiV4SiV4Si", "nc") 333263508SdimBUILTIN(__builtin_msa_ceq_d, "V2SLLiV2SLLiV2SLLi", "nc") 334263508Sdim 335263508SdimBUILTIN(__builtin_msa_ceqi_b, "V16ScV16ScISi", "nc") 336263508SdimBUILTIN(__builtin_msa_ceqi_h, "V8SsV8SsISi", "nc") 337263508SdimBUILTIN(__builtin_msa_ceqi_w, "V4SiV4SiISi", "nc") 338263508SdimBUILTIN(__builtin_msa_ceqi_d, "V2SLLiV2SLLiISi", "nc") 339263508Sdim 340263508SdimBUILTIN(__builtin_msa_cfcmsa, "iIi", "n") 341263508Sdim 342263508SdimBUILTIN(__builtin_msa_cle_s_b, "V16ScV16ScV16Sc", "nc") 343263508SdimBUILTIN(__builtin_msa_cle_s_h, "V8SsV8SsV8Ss", "nc") 344263508SdimBUILTIN(__builtin_msa_cle_s_w, "V4SiV4SiV4Si", "nc") 345263508SdimBUILTIN(__builtin_msa_cle_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 346263508Sdim 347263508SdimBUILTIN(__builtin_msa_cle_u_b, "V16ScV16UcV16Uc", "nc") 348263508SdimBUILTIN(__builtin_msa_cle_u_h, "V8SsV8UsV8Us", "nc") 349263508SdimBUILTIN(__builtin_msa_cle_u_w, "V4SiV4UiV4Ui", "nc") 350263508SdimBUILTIN(__builtin_msa_cle_u_d, "V2SLLiV2ULLiV2ULLi", "nc") 351263508Sdim 352263508SdimBUILTIN(__builtin_msa_clei_s_b, "V16ScV16ScISi", "nc") 353263508SdimBUILTIN(__builtin_msa_clei_s_h, "V8SsV8SsISi", "nc") 354263508SdimBUILTIN(__builtin_msa_clei_s_w, "V4SiV4SiISi", "nc") 355263508SdimBUILTIN(__builtin_msa_clei_s_d, "V2SLLiV2SLLiISi", "nc") 356263508Sdim 357263508SdimBUILTIN(__builtin_msa_clei_u_b, "V16ScV16UcIUi", "nc") 358263508SdimBUILTIN(__builtin_msa_clei_u_h, "V8SsV8UsIUi", "nc") 359263508SdimBUILTIN(__builtin_msa_clei_u_w, "V4SiV4UiIUi", "nc") 360263508SdimBUILTIN(__builtin_msa_clei_u_d, "V2SLLiV2ULLiIUi", "nc") 361263508Sdim 362263508SdimBUILTIN(__builtin_msa_clt_s_b, "V16ScV16ScV16Sc", "nc") 363263508SdimBUILTIN(__builtin_msa_clt_s_h, "V8SsV8SsV8Ss", "nc") 364263508SdimBUILTIN(__builtin_msa_clt_s_w, "V4SiV4SiV4Si", "nc") 365263508SdimBUILTIN(__builtin_msa_clt_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 366263508Sdim 367263508SdimBUILTIN(__builtin_msa_clt_u_b, "V16ScV16UcV16Uc", "nc") 368263508SdimBUILTIN(__builtin_msa_clt_u_h, "V8SsV8UsV8Us", "nc") 369263508SdimBUILTIN(__builtin_msa_clt_u_w, "V4SiV4UiV4Ui", "nc") 370263508SdimBUILTIN(__builtin_msa_clt_u_d, "V2SLLiV2ULLiV2ULLi", "nc") 371263508Sdim 372263508SdimBUILTIN(__builtin_msa_clti_s_b, "V16ScV16ScISi", "nc") 373263508SdimBUILTIN(__builtin_msa_clti_s_h, "V8SsV8SsISi", "nc") 374263508SdimBUILTIN(__builtin_msa_clti_s_w, "V4SiV4SiISi", "nc") 375263508SdimBUILTIN(__builtin_msa_clti_s_d, "V2SLLiV2SLLiISi", "nc") 376263508Sdim 377263508SdimBUILTIN(__builtin_msa_clti_u_b, "V16ScV16UcIUi", "nc") 378263508SdimBUILTIN(__builtin_msa_clti_u_h, "V8SsV8UsIUi", "nc") 379263508SdimBUILTIN(__builtin_msa_clti_u_w, "V4SiV4UiIUi", "nc") 380263508SdimBUILTIN(__builtin_msa_clti_u_d, "V2SLLiV2ULLiIUi", "nc") 381263508Sdim 382263508SdimBUILTIN(__builtin_msa_copy_s_b, "iV16ScIUi", "nc") 383263508SdimBUILTIN(__builtin_msa_copy_s_h, "iV8SsIUi", "nc") 384263508SdimBUILTIN(__builtin_msa_copy_s_w, "iV4SiIUi", "nc") 385263508SdimBUILTIN(__builtin_msa_copy_s_d, "LLiV2SLLiIUi", "nc") 386263508Sdim 387263508SdimBUILTIN(__builtin_msa_copy_u_b, "iV16UcIUi", "nc") 388263508SdimBUILTIN(__builtin_msa_copy_u_h, "iV8UsIUi", "nc") 389263508SdimBUILTIN(__builtin_msa_copy_u_w, "iV4UiIUi", "nc") 390263508SdimBUILTIN(__builtin_msa_copy_u_d, "LLiV2ULLiIUi", "nc") 391263508Sdim 392263508SdimBUILTIN(__builtin_msa_ctcmsa, "vIii", "n") 393263508Sdim 394263508SdimBUILTIN(__builtin_msa_div_s_b, "V16ScV16ScV16Sc", "nc") 395263508SdimBUILTIN(__builtin_msa_div_s_h, "V8SsV8SsV8Ss", "nc") 396263508SdimBUILTIN(__builtin_msa_div_s_w, "V4SiV4SiV4Si", "nc") 397263508SdimBUILTIN(__builtin_msa_div_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 398263508Sdim 399263508SdimBUILTIN(__builtin_msa_div_u_b, "V16UcV16UcV16Uc", "nc") 400263508SdimBUILTIN(__builtin_msa_div_u_h, "V8UsV8UsV8Us", "nc") 401263508SdimBUILTIN(__builtin_msa_div_u_w, "V4UiV4UiV4Ui", "nc") 402263508SdimBUILTIN(__builtin_msa_div_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 403263508Sdim 404263508SdimBUILTIN(__builtin_msa_dotp_s_h, "V8SsV16ScV16Sc", "nc") 405263508SdimBUILTIN(__builtin_msa_dotp_s_w, "V4SiV8SsV8Ss", "nc") 406263508SdimBUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV4SiV4Si", "nc") 407263508Sdim 408263508SdimBUILTIN(__builtin_msa_dotp_u_h, "V8UsV16UcV16Uc", "nc") 409263508SdimBUILTIN(__builtin_msa_dotp_u_w, "V4UiV8UsV8Us", "nc") 410263508SdimBUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV4UiV4Ui", "nc") 411263508Sdim 412263508SdimBUILTIN(__builtin_msa_dpadd_s_h, "V8SsV8SsV16ScV16Sc", "nc") 413263508SdimBUILTIN(__builtin_msa_dpadd_s_w, "V4SiV4SiV8SsV8Ss", "nc") 414263508SdimBUILTIN(__builtin_msa_dpadd_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc") 415263508Sdim 416263508SdimBUILTIN(__builtin_msa_dpadd_u_h, "V8UsV8UsV16UcV16Uc", "nc") 417263508SdimBUILTIN(__builtin_msa_dpadd_u_w, "V4UiV4UiV8UsV8Us", "nc") 418263508SdimBUILTIN(__builtin_msa_dpadd_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc") 419263508Sdim 420263508SdimBUILTIN(__builtin_msa_dpsub_s_h, "V8SsV8SsV16ScV16Sc", "nc") 421263508SdimBUILTIN(__builtin_msa_dpsub_s_w, "V4SiV4SiV8SsV8Ss", "nc") 422263508SdimBUILTIN(__builtin_msa_dpsub_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc") 423263508Sdim 424263508SdimBUILTIN(__builtin_msa_dpsub_u_h, "V8UsV8UsV16UcV16Uc", "nc") 425263508SdimBUILTIN(__builtin_msa_dpsub_u_w, "V4UiV4UiV8UsV8Us", "nc") 426263508SdimBUILTIN(__builtin_msa_dpsub_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc") 427263508Sdim 428263508SdimBUILTIN(__builtin_msa_fadd_w, "V4fV4fV4f", "nc") 429263508SdimBUILTIN(__builtin_msa_fadd_d, "V2dV2dV2d", "nc") 430263508Sdim 431263508SdimBUILTIN(__builtin_msa_fcaf_w, "V4iV4fV4f", "nc") 432263508SdimBUILTIN(__builtin_msa_fcaf_d, "V2LLiV2dV2d", "nc") 433263508Sdim 434263508SdimBUILTIN(__builtin_msa_fceq_w, "V4iV4fV4f", "nc") 435263508SdimBUILTIN(__builtin_msa_fceq_d, "V2LLiV2dV2d", "nc") 436263508Sdim 437263508SdimBUILTIN(__builtin_msa_fclass_w, "V4iV4f", "nc") 438263508SdimBUILTIN(__builtin_msa_fclass_d, "V2LLiV2d", "nc") 439263508Sdim 440263508SdimBUILTIN(__builtin_msa_fcle_w, "V4iV4fV4f", "nc") 441263508SdimBUILTIN(__builtin_msa_fcle_d, "V2LLiV2dV2d", "nc") 442263508Sdim 443263508SdimBUILTIN(__builtin_msa_fclt_w, "V4iV4fV4f", "nc") 444263508SdimBUILTIN(__builtin_msa_fclt_d, "V2LLiV2dV2d", "nc") 445263508Sdim 446263508SdimBUILTIN(__builtin_msa_fcne_w, "V4iV4fV4f", "nc") 447263508SdimBUILTIN(__builtin_msa_fcne_d, "V2LLiV2dV2d", "nc") 448263508Sdim 449263508SdimBUILTIN(__builtin_msa_fcor_w, "V4iV4fV4f", "nc") 450263508SdimBUILTIN(__builtin_msa_fcor_d, "V2LLiV2dV2d", "nc") 451263508Sdim 452263508SdimBUILTIN(__builtin_msa_fcueq_w, "V4iV4fV4f", "nc") 453263508SdimBUILTIN(__builtin_msa_fcueq_d, "V2LLiV2dV2d", "nc") 454263508Sdim 455263508SdimBUILTIN(__builtin_msa_fcule_w, "V4iV4fV4f", "nc") 456263508SdimBUILTIN(__builtin_msa_fcule_d, "V2LLiV2dV2d", "nc") 457263508Sdim 458263508SdimBUILTIN(__builtin_msa_fcult_w, "V4iV4fV4f", "nc") 459263508SdimBUILTIN(__builtin_msa_fcult_d, "V2LLiV2dV2d", "nc") 460263508Sdim 461263508SdimBUILTIN(__builtin_msa_fcun_w, "V4iV4fV4f", "nc") 462263508SdimBUILTIN(__builtin_msa_fcun_d, "V2LLiV2dV2d", "nc") 463263508Sdim 464263508SdimBUILTIN(__builtin_msa_fcune_w, "V4iV4fV4f", "nc") 465263508SdimBUILTIN(__builtin_msa_fcune_d, "V2LLiV2dV2d", "nc") 466263508Sdim 467263508SdimBUILTIN(__builtin_msa_fdiv_w, "V4fV4fV4f", "nc") 468263508SdimBUILTIN(__builtin_msa_fdiv_d, "V2dV2dV2d", "nc") 469263508Sdim 470263508SdimBUILTIN(__builtin_msa_fexdo_h, "V8hV4fV4f", "nc") 471263508SdimBUILTIN(__builtin_msa_fexdo_w, "V4fV2dV2d", "nc") 472263508Sdim 473263508SdimBUILTIN(__builtin_msa_fexp2_w, "V4fV4fV4i", "nc") 474263508SdimBUILTIN(__builtin_msa_fexp2_d, "V2dV2dV2LLi", "nc") 475263508Sdim 476263508SdimBUILTIN(__builtin_msa_fexupl_w, "V4fV8h", "nc") 477263508SdimBUILTIN(__builtin_msa_fexupl_d, "V2dV4f", "nc") 478263508Sdim 479263508SdimBUILTIN(__builtin_msa_fexupr_w, "V4fV8h", "nc") 480263508SdimBUILTIN(__builtin_msa_fexupr_d, "V2dV4f", "nc") 481263508Sdim 482263508SdimBUILTIN(__builtin_msa_ffint_s_w, "V4fV4Si", "nc") 483263508SdimBUILTIN(__builtin_msa_ffint_s_d, "V2dV2SLLi", "nc") 484263508Sdim 485263508SdimBUILTIN(__builtin_msa_ffint_u_w, "V4fV4Ui", "nc") 486263508SdimBUILTIN(__builtin_msa_ffint_u_d, "V2dV2ULLi", "nc") 487263508Sdim 488263508Sdim// ffql uses integers since long _Fract is not implemented 489263508SdimBUILTIN(__builtin_msa_ffql_w, "V4fV8Ss", "nc") 490263508SdimBUILTIN(__builtin_msa_ffql_d, "V2dV4Si", "nc") 491263508Sdim 492263508Sdim// ffqr uses integers since long _Fract is not implemented 493263508SdimBUILTIN(__builtin_msa_ffqr_w, "V4fV8Ss", "nc") 494263508SdimBUILTIN(__builtin_msa_ffqr_d, "V2dV4Si", "nc") 495263508Sdim 496263508SdimBUILTIN(__builtin_msa_fill_b, "V16Sci", "nc") 497263508SdimBUILTIN(__builtin_msa_fill_h, "V8Ssi", "nc") 498263508SdimBUILTIN(__builtin_msa_fill_w, "V4Sii", "nc") 499263508SdimBUILTIN(__builtin_msa_fill_d, "V2SLLiLLi", "nc") 500263508Sdim 501263508SdimBUILTIN(__builtin_msa_flog2_w, "V4fV4f", "nc") 502263508SdimBUILTIN(__builtin_msa_flog2_d, "V2dV2d", "nc") 503263508Sdim 504263508SdimBUILTIN(__builtin_msa_fmadd_w, "V4fV4fV4fV4f", "nc") 505263508SdimBUILTIN(__builtin_msa_fmadd_d, "V2dV2dV2dV2d", "nc") 506263508Sdim 507263508SdimBUILTIN(__builtin_msa_fmax_w, "V4fV4fV4f", "nc") 508263508SdimBUILTIN(__builtin_msa_fmax_d, "V2dV2dV2d", "nc") 509263508Sdim 510263508SdimBUILTIN(__builtin_msa_fmax_a_w, "V4fV4fV4f", "nc") 511263508SdimBUILTIN(__builtin_msa_fmax_a_d, "V2dV2dV2d", "nc") 512263508Sdim 513263508SdimBUILTIN(__builtin_msa_fmin_w, "V4fV4fV4f", "nc") 514263508SdimBUILTIN(__builtin_msa_fmin_d, "V2dV2dV2d", "nc") 515263508Sdim 516263508SdimBUILTIN(__builtin_msa_fmin_a_w, "V4fV4fV4f", "nc") 517263508SdimBUILTIN(__builtin_msa_fmin_a_d, "V2dV2dV2d", "nc") 518263508Sdim 519263508SdimBUILTIN(__builtin_msa_fmsub_w, "V4fV4fV4fV4f", "nc") 520263508SdimBUILTIN(__builtin_msa_fmsub_d, "V2dV2dV2dV2d", "nc") 521263508Sdim 522263508SdimBUILTIN(__builtin_msa_fmul_w, "V4fV4fV4f", "nc") 523263508SdimBUILTIN(__builtin_msa_fmul_d, "V2dV2dV2d", "nc") 524263508Sdim 525263508SdimBUILTIN(__builtin_msa_frint_w, "V4fV4f", "nc") 526263508SdimBUILTIN(__builtin_msa_frint_d, "V2dV2d", "nc") 527263508Sdim 528263508SdimBUILTIN(__builtin_msa_frcp_w, "V4fV4f", "nc") 529263508SdimBUILTIN(__builtin_msa_frcp_d, "V2dV2d", "nc") 530263508Sdim 531263508SdimBUILTIN(__builtin_msa_frsqrt_w, "V4fV4f", "nc") 532263508SdimBUILTIN(__builtin_msa_frsqrt_d, "V2dV2d", "nc") 533263508Sdim 534263508SdimBUILTIN(__builtin_msa_fsaf_w, "V4iV4fV4f", "nc") 535263508SdimBUILTIN(__builtin_msa_fsaf_d, "V2LLiV2dV2d", "nc") 536263508Sdim 537263508SdimBUILTIN(__builtin_msa_fseq_w, "V4iV4fV4f", "nc") 538263508SdimBUILTIN(__builtin_msa_fseq_d, "V2LLiV2dV2d", "nc") 539263508Sdim 540263508SdimBUILTIN(__builtin_msa_fsle_w, "V4iV4fV4f", "nc") 541263508SdimBUILTIN(__builtin_msa_fsle_d, "V2LLiV2dV2d", "nc") 542263508Sdim 543263508SdimBUILTIN(__builtin_msa_fslt_w, "V4iV4fV4f", "nc") 544263508SdimBUILTIN(__builtin_msa_fslt_d, "V2LLiV2dV2d", "nc") 545263508Sdim 546263508SdimBUILTIN(__builtin_msa_fsne_w, "V4iV4fV4f", "nc") 547263508SdimBUILTIN(__builtin_msa_fsne_d, "V2LLiV2dV2d", "nc") 548263508Sdim 549263508SdimBUILTIN(__builtin_msa_fsor_w, "V4iV4fV4f", "nc") 550263508SdimBUILTIN(__builtin_msa_fsor_d, "V2LLiV2dV2d", "nc") 551263508Sdim 552263508SdimBUILTIN(__builtin_msa_fsqrt_w, "V4fV4f", "nc") 553263508SdimBUILTIN(__builtin_msa_fsqrt_d, "V2dV2d", "nc") 554263508Sdim 555263508SdimBUILTIN(__builtin_msa_fsub_w, "V4fV4fV4f", "nc") 556263508SdimBUILTIN(__builtin_msa_fsub_d, "V2dV2dV2d", "nc") 557263508Sdim 558263508SdimBUILTIN(__builtin_msa_fsueq_w, "V4iV4fV4f", "nc") 559263508SdimBUILTIN(__builtin_msa_fsueq_d, "V2LLiV2dV2d", "nc") 560263508Sdim 561263508SdimBUILTIN(__builtin_msa_fsule_w, "V4iV4fV4f", "nc") 562263508SdimBUILTIN(__builtin_msa_fsule_d, "V2LLiV2dV2d", "nc") 563263508Sdim 564263508SdimBUILTIN(__builtin_msa_fsult_w, "V4iV4fV4f", "nc") 565263508SdimBUILTIN(__builtin_msa_fsult_d, "V2LLiV2dV2d", "nc") 566263508Sdim 567263508SdimBUILTIN(__builtin_msa_fsun_w, "V4iV4fV4f", "nc") 568263508SdimBUILTIN(__builtin_msa_fsun_d, "V2LLiV2dV2d", "nc") 569263508Sdim 570263508SdimBUILTIN(__builtin_msa_fsune_w, "V4iV4fV4f", "nc") 571263508SdimBUILTIN(__builtin_msa_fsune_d, "V2LLiV2dV2d", "nc") 572263508Sdim 573263508SdimBUILTIN(__builtin_msa_ftint_s_w, "V4SiV4f", "nc") 574263508SdimBUILTIN(__builtin_msa_ftint_s_d, "V2SLLiV2d", "nc") 575263508Sdim 576263508SdimBUILTIN(__builtin_msa_ftint_u_w, "V4UiV4f", "nc") 577263508SdimBUILTIN(__builtin_msa_ftint_u_d, "V2ULLiV2d", "nc") 578263508Sdim 579263508SdimBUILTIN(__builtin_msa_ftq_h, "V4UiV4fV4f", "nc") 580263508SdimBUILTIN(__builtin_msa_ftq_w, "V2ULLiV2dV2d", "nc") 581263508Sdim 582263508SdimBUILTIN(__builtin_msa_ftrunc_s_w, "V4SiV4f", "nc") 583263508SdimBUILTIN(__builtin_msa_ftrunc_s_d, "V2SLLiV2d", "nc") 584263508Sdim 585263508SdimBUILTIN(__builtin_msa_ftrunc_u_w, "V4UiV4f", "nc") 586263508SdimBUILTIN(__builtin_msa_ftrunc_u_d, "V2ULLiV2d", "nc") 587263508Sdim 588263508SdimBUILTIN(__builtin_msa_hadd_s_h, "V8SsV16ScV16Sc", "nc") 589263508SdimBUILTIN(__builtin_msa_hadd_s_w, "V4SiV8SsV8Ss", "nc") 590263508SdimBUILTIN(__builtin_msa_hadd_s_d, "V2SLLiV4SiV4Si", "nc") 591263508Sdim 592263508SdimBUILTIN(__builtin_msa_hadd_u_h, "V8UsV16UcV16Uc", "nc") 593263508SdimBUILTIN(__builtin_msa_hadd_u_w, "V4UiV8UsV8Us", "nc") 594263508SdimBUILTIN(__builtin_msa_hadd_u_d, "V2ULLiV4UiV4Ui", "nc") 595263508Sdim 596263508SdimBUILTIN(__builtin_msa_hsub_s_h, "V8SsV16ScV16Sc", "nc") 597263508SdimBUILTIN(__builtin_msa_hsub_s_w, "V4SiV8SsV8Ss", "nc") 598263508SdimBUILTIN(__builtin_msa_hsub_s_d, "V2SLLiV4SiV4Si", "nc") 599263508Sdim 600263508SdimBUILTIN(__builtin_msa_hsub_u_h, "V8UsV16UcV16Uc", "nc") 601263508SdimBUILTIN(__builtin_msa_hsub_u_w, "V4UiV8UsV8Us", "nc") 602263508SdimBUILTIN(__builtin_msa_hsub_u_d, "V2ULLiV4UiV4Ui", "nc") 603263508Sdim 604263508SdimBUILTIN(__builtin_msa_ilvev_b, "V16cV16cV16c", "nc") 605263508SdimBUILTIN(__builtin_msa_ilvev_h, "V8sV8sV8s", "nc") 606263508SdimBUILTIN(__builtin_msa_ilvev_w, "V4iV4iV4i", "nc") 607263508SdimBUILTIN(__builtin_msa_ilvev_d, "V2LLiV2LLiV2LLi", "nc") 608263508Sdim 609263508SdimBUILTIN(__builtin_msa_ilvl_b, "V16cV16cV16c", "nc") 610263508SdimBUILTIN(__builtin_msa_ilvl_h, "V8sV8sV8s", "nc") 611263508SdimBUILTIN(__builtin_msa_ilvl_w, "V4iV4iV4i", "nc") 612263508SdimBUILTIN(__builtin_msa_ilvl_d, "V2LLiV2LLiV2LLi", "nc") 613263508Sdim 614263508SdimBUILTIN(__builtin_msa_ilvod_b, "V16cV16cV16c", "nc") 615263508SdimBUILTIN(__builtin_msa_ilvod_h, "V8sV8sV8s", "nc") 616263508SdimBUILTIN(__builtin_msa_ilvod_w, "V4iV4iV4i", "nc") 617263508SdimBUILTIN(__builtin_msa_ilvod_d, "V2LLiV2LLiV2LLi", "nc") 618263508Sdim 619263508SdimBUILTIN(__builtin_msa_ilvr_b, "V16cV16cV16c", "nc") 620263508SdimBUILTIN(__builtin_msa_ilvr_h, "V8sV8sV8s", "nc") 621263508SdimBUILTIN(__builtin_msa_ilvr_w, "V4iV4iV4i", "nc") 622263508SdimBUILTIN(__builtin_msa_ilvr_d, "V2LLiV2LLiV2LLi", "nc") 623263508Sdim 624263508SdimBUILTIN(__builtin_msa_insert_b, "V16ScV16ScIUii", "nc") 625263508SdimBUILTIN(__builtin_msa_insert_h, "V8SsV8SsIUii", "nc") 626263508SdimBUILTIN(__builtin_msa_insert_w, "V4SiV4SiIUii", "nc") 627263508SdimBUILTIN(__builtin_msa_insert_d, "V2SLLiV2SLLiIUiLLi", "nc") 628263508Sdim 629263508SdimBUILTIN(__builtin_msa_insve_b, "V16ScV16ScIUiV16Sc", "nc") 630263508SdimBUILTIN(__builtin_msa_insve_h, "V8SsV8SsIUiV8Ss", "nc") 631263508SdimBUILTIN(__builtin_msa_insve_w, "V4SiV4SiIUiV4Si", "nc") 632263508SdimBUILTIN(__builtin_msa_insve_d, "V2SLLiV2SLLiIUiV2SLLi", "nc") 633263508Sdim 634263508SdimBUILTIN(__builtin_msa_ld_b, "V16Scv*Ii", "nc") 635263508SdimBUILTIN(__builtin_msa_ld_h, "V8Ssv*Ii", "nc") 636263508SdimBUILTIN(__builtin_msa_ld_w, "V4Siv*Ii", "nc") 637263508SdimBUILTIN(__builtin_msa_ld_d, "V2SLLiv*Ii", "nc") 638263508Sdim 639263508SdimBUILTIN(__builtin_msa_ldi_b, "V16cIi", "nc") 640263508SdimBUILTIN(__builtin_msa_ldi_h, "V8sIi", "nc") 641263508SdimBUILTIN(__builtin_msa_ldi_w, "V4iIi", "nc") 642263508SdimBUILTIN(__builtin_msa_ldi_d, "V2LLiIi", "nc") 643263508Sdim 644263508SdimBUILTIN(__builtin_msa_madd_q_h, "V8SsV8SsV8SsV8Ss", "nc") 645263508SdimBUILTIN(__builtin_msa_madd_q_w, "V4SiV4SiV4SiV4Si", "nc") 646263508Sdim 647263508SdimBUILTIN(__builtin_msa_maddr_q_h, "V8SsV8SsV8SsV8Ss", "nc") 648263508SdimBUILTIN(__builtin_msa_maddr_q_w, "V4SiV4SiV4SiV4Si", "nc") 649263508Sdim 650263508SdimBUILTIN(__builtin_msa_maddv_b, "V16ScV16ScV16ScV16Sc", "nc") 651263508SdimBUILTIN(__builtin_msa_maddv_h, "V8SsV8SsV8SsV8Ss", "nc") 652263508SdimBUILTIN(__builtin_msa_maddv_w, "V4SiV4SiV4SiV4Si", "nc") 653263508SdimBUILTIN(__builtin_msa_maddv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc") 654263508Sdim 655263508SdimBUILTIN(__builtin_msa_max_a_b, "V16ScV16ScV16Sc", "nc") 656263508SdimBUILTIN(__builtin_msa_max_a_h, "V8SsV8SsV8Ss", "nc") 657263508SdimBUILTIN(__builtin_msa_max_a_w, "V4SiV4SiV4Si", "nc") 658263508SdimBUILTIN(__builtin_msa_max_a_d, "V2SLLiV2SLLiV2SLLi", "nc") 659263508Sdim 660263508SdimBUILTIN(__builtin_msa_max_s_b, "V16ScV16ScV16Sc", "nc") 661263508SdimBUILTIN(__builtin_msa_max_s_h, "V8SsV8SsV8Ss", "nc") 662263508SdimBUILTIN(__builtin_msa_max_s_w, "V4SiV4SiV4Si", "nc") 663263508SdimBUILTIN(__builtin_msa_max_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 664263508Sdim 665263508SdimBUILTIN(__builtin_msa_max_u_b, "V16UcV16UcV16Uc", "nc") 666263508SdimBUILTIN(__builtin_msa_max_u_h, "V8UsV8UsV8Us", "nc") 667263508SdimBUILTIN(__builtin_msa_max_u_w, "V4UiV4UiV4Ui", "nc") 668263508SdimBUILTIN(__builtin_msa_max_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 669263508Sdim 670263508SdimBUILTIN(__builtin_msa_maxi_s_b, "V16ScV16ScIi", "nc") 671263508SdimBUILTIN(__builtin_msa_maxi_s_h, "V8SsV8SsIi", "nc") 672263508SdimBUILTIN(__builtin_msa_maxi_s_w, "V4SiV4SiIi", "nc") 673263508SdimBUILTIN(__builtin_msa_maxi_s_d, "V2SLLiV2SLLiIi", "nc") 674263508Sdim 675263508SdimBUILTIN(__builtin_msa_maxi_u_b, "V16UcV16UcIi", "nc") 676263508SdimBUILTIN(__builtin_msa_maxi_u_h, "V8UsV8UsIi", "nc") 677263508SdimBUILTIN(__builtin_msa_maxi_u_w, "V4UiV4UiIi", "nc") 678263508SdimBUILTIN(__builtin_msa_maxi_u_d, "V2ULLiV2ULLiIi", "nc") 679263508Sdim 680263508SdimBUILTIN(__builtin_msa_min_a_b, "V16ScV16ScV16Sc", "nc") 681263508SdimBUILTIN(__builtin_msa_min_a_h, "V8SsV8SsV8Ss", "nc") 682263508SdimBUILTIN(__builtin_msa_min_a_w, "V4SiV4SiV4Si", "nc") 683263508SdimBUILTIN(__builtin_msa_min_a_d, "V2SLLiV2SLLiV2SLLi", "nc") 684263508Sdim 685263508SdimBUILTIN(__builtin_msa_min_s_b, "V16ScV16ScV16Sc", "nc") 686263508SdimBUILTIN(__builtin_msa_min_s_h, "V8SsV8SsV8Ss", "nc") 687263508SdimBUILTIN(__builtin_msa_min_s_w, "V4SiV4SiV4Si", "nc") 688263508SdimBUILTIN(__builtin_msa_min_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 689263508Sdim 690263508SdimBUILTIN(__builtin_msa_min_u_b, "V16UcV16UcV16Uc", "nc") 691263508SdimBUILTIN(__builtin_msa_min_u_h, "V8UsV8UsV8Us", "nc") 692263508SdimBUILTIN(__builtin_msa_min_u_w, "V4UiV4UiV4Ui", "nc") 693263508SdimBUILTIN(__builtin_msa_min_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 694263508Sdim 695263508SdimBUILTIN(__builtin_msa_mini_s_b, "V16ScV16ScIi", "nc") 696263508SdimBUILTIN(__builtin_msa_mini_s_h, "V8SsV8SsIi", "nc") 697263508SdimBUILTIN(__builtin_msa_mini_s_w, "V4SiV4SiIi", "nc") 698263508SdimBUILTIN(__builtin_msa_mini_s_d, "V2SLLiV2SLLiIi", "nc") 699263508Sdim 700263508SdimBUILTIN(__builtin_msa_mini_u_b, "V16UcV16UcIi", "nc") 701263508SdimBUILTIN(__builtin_msa_mini_u_h, "V8UsV8UsIi", "nc") 702263508SdimBUILTIN(__builtin_msa_mini_u_w, "V4UiV4UiIi", "nc") 703263508SdimBUILTIN(__builtin_msa_mini_u_d, "V2ULLiV2ULLiIi", "nc") 704263508Sdim 705263508SdimBUILTIN(__builtin_msa_mod_s_b, "V16ScV16ScV16Sc", "nc") 706263508SdimBUILTIN(__builtin_msa_mod_s_h, "V8SsV8SsV8Ss", "nc") 707263508SdimBUILTIN(__builtin_msa_mod_s_w, "V4SiV4SiV4Si", "nc") 708263508SdimBUILTIN(__builtin_msa_mod_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 709263508Sdim 710263508SdimBUILTIN(__builtin_msa_mod_u_b, "V16UcV16UcV16Uc", "nc") 711263508SdimBUILTIN(__builtin_msa_mod_u_h, "V8UsV8UsV8Us", "nc") 712263508SdimBUILTIN(__builtin_msa_mod_u_w, "V4UiV4UiV4Ui", "nc") 713263508SdimBUILTIN(__builtin_msa_mod_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 714263508Sdim 715263508SdimBUILTIN(__builtin_msa_move_v, "V16ScV16Sc", "nc") 716263508Sdim 717263508SdimBUILTIN(__builtin_msa_msub_q_h, "V8SsV8SsV8SsV8Ss", "nc") 718263508SdimBUILTIN(__builtin_msa_msub_q_w, "V4SiV4SiV4SiV4Si", "nc") 719263508Sdim 720263508SdimBUILTIN(__builtin_msa_msubr_q_h, "V8SsV8SsV8SsV8Ss", "nc") 721263508SdimBUILTIN(__builtin_msa_msubr_q_w, "V4SiV4SiV4SiV4Si", "nc") 722263508Sdim 723263508SdimBUILTIN(__builtin_msa_msubv_b, "V16ScV16ScV16ScV16Sc", "nc") 724263508SdimBUILTIN(__builtin_msa_msubv_h, "V8SsV8SsV8SsV8Ss", "nc") 725263508SdimBUILTIN(__builtin_msa_msubv_w, "V4SiV4SiV4SiV4Si", "nc") 726263508SdimBUILTIN(__builtin_msa_msubv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc") 727263508Sdim 728263508SdimBUILTIN(__builtin_msa_mul_q_h, "V8SsV8SsV8Ss", "nc") 729263508SdimBUILTIN(__builtin_msa_mul_q_w, "V4SiV4SiV4Si", "nc") 730263508Sdim 731263508SdimBUILTIN(__builtin_msa_mulr_q_h, "V8SsV8SsV8Ss", "nc") 732263508SdimBUILTIN(__builtin_msa_mulr_q_w, "V4SiV4SiV4Si", "nc") 733263508Sdim 734263508SdimBUILTIN(__builtin_msa_mulv_b, "V16ScV16ScV16Sc", "nc") 735263508SdimBUILTIN(__builtin_msa_mulv_h, "V8SsV8SsV8Ss", "nc") 736263508SdimBUILTIN(__builtin_msa_mulv_w, "V4SiV4SiV4Si", "nc") 737263508SdimBUILTIN(__builtin_msa_mulv_d, "V2SLLiV2SLLiV2SLLi", "nc") 738263508Sdim 739263508SdimBUILTIN(__builtin_msa_nloc_b, "V16ScV16Sc", "nc") 740263508SdimBUILTIN(__builtin_msa_nloc_h, "V8SsV8Ss", "nc") 741263508SdimBUILTIN(__builtin_msa_nloc_w, "V4SiV4Si", "nc") 742263508SdimBUILTIN(__builtin_msa_nloc_d, "V2SLLiV2SLLi", "nc") 743263508Sdim 744263508SdimBUILTIN(__builtin_msa_nlzc_b, "V16ScV16Sc", "nc") 745263508SdimBUILTIN(__builtin_msa_nlzc_h, "V8SsV8Ss", "nc") 746263508SdimBUILTIN(__builtin_msa_nlzc_w, "V4SiV4Si", "nc") 747263508SdimBUILTIN(__builtin_msa_nlzc_d, "V2SLLiV2SLLi", "nc") 748263508Sdim 749263508SdimBUILTIN(__builtin_msa_nor_v, "V16UcV16UcV16Uc", "nc") 750263508Sdim 751263508SdimBUILTIN(__builtin_msa_nori_b, "V16UcV16cIUi", "nc") 752263508Sdim 753263508SdimBUILTIN(__builtin_msa_or_v, "V16UcV16UcV16Uc", "nc") 754263508Sdim 755263508SdimBUILTIN(__builtin_msa_ori_b, "V16UcV16UcIUi", "nc") 756263508Sdim 757263508SdimBUILTIN(__builtin_msa_pckev_b, "V16cV16cV16c", "nc") 758263508SdimBUILTIN(__builtin_msa_pckev_h, "V8sV8sV8s", "nc") 759263508SdimBUILTIN(__builtin_msa_pckev_w, "V4iV4iV4i", "nc") 760263508SdimBUILTIN(__builtin_msa_pckev_d, "V2LLiV2LLiV2LLi", "nc") 761263508Sdim 762263508SdimBUILTIN(__builtin_msa_pckod_b, "V16cV16cV16c", "nc") 763263508SdimBUILTIN(__builtin_msa_pckod_h, "V8sV8sV8s", "nc") 764263508SdimBUILTIN(__builtin_msa_pckod_w, "V4iV4iV4i", "nc") 765263508SdimBUILTIN(__builtin_msa_pckod_d, "V2LLiV2LLiV2LLi", "nc") 766263508Sdim 767263508SdimBUILTIN(__builtin_msa_pcnt_b, "V16ScV16Sc", "nc") 768263508SdimBUILTIN(__builtin_msa_pcnt_h, "V8SsV8Ss", "nc") 769263508SdimBUILTIN(__builtin_msa_pcnt_w, "V4SiV4Si", "nc") 770263508SdimBUILTIN(__builtin_msa_pcnt_d, "V2SLLiV2SLLi", "nc") 771263508Sdim 772263508SdimBUILTIN(__builtin_msa_sat_s_b, "V16ScV16ScIUi", "nc") 773263508SdimBUILTIN(__builtin_msa_sat_s_h, "V8SsV8SsIUi", "nc") 774263508SdimBUILTIN(__builtin_msa_sat_s_w, "V4SiV4SiIUi", "nc") 775263508SdimBUILTIN(__builtin_msa_sat_s_d, "V2SLLiV2SLLiIUi", "nc") 776263508Sdim 777263508SdimBUILTIN(__builtin_msa_sat_u_b, "V16UcV16UcIUi", "nc") 778263508SdimBUILTIN(__builtin_msa_sat_u_h, "V8UsV8UsIUi", "nc") 779263508SdimBUILTIN(__builtin_msa_sat_u_w, "V4UiV4UiIUi", "nc") 780263508SdimBUILTIN(__builtin_msa_sat_u_d, "V2ULLiV2ULLiIUi", "nc") 781263508Sdim 782263508SdimBUILTIN(__builtin_msa_shf_b, "V16cV16cIUi", "nc") 783263508SdimBUILTIN(__builtin_msa_shf_h, "V8sV8sIUi", "nc") 784263508SdimBUILTIN(__builtin_msa_shf_w, "V4iV4iIUi", "nc") 785263508Sdim 786263508SdimBUILTIN(__builtin_msa_sld_b, "V16cV16cUi", "nc") 787263508SdimBUILTIN(__builtin_msa_sld_h, "V8sV8sUi", "nc") 788263508SdimBUILTIN(__builtin_msa_sld_w, "V4iV4iUi", "nc") 789263508SdimBUILTIN(__builtin_msa_sld_d, "V2LLiV2LLiUi", "nc") 790263508Sdim 791263508SdimBUILTIN(__builtin_msa_sldi_b, "V16cV16cIUi", "nc") 792263508SdimBUILTIN(__builtin_msa_sldi_h, "V8sV8sIUi", "nc") 793263508SdimBUILTIN(__builtin_msa_sldi_w, "V4iV4iIUi", "nc") 794263508SdimBUILTIN(__builtin_msa_sldi_d, "V2LLiV2LLiIUi", "nc") 795263508Sdim 796263508SdimBUILTIN(__builtin_msa_sll_b, "V16cV16cV16c", "nc") 797263508SdimBUILTIN(__builtin_msa_sll_h, "V8sV8sV8s", "nc") 798263508SdimBUILTIN(__builtin_msa_sll_w, "V4iV4iV4i", "nc") 799263508SdimBUILTIN(__builtin_msa_sll_d, "V2LLiV2LLiV2LLi", "nc") 800263508Sdim 801263508SdimBUILTIN(__builtin_msa_slli_b, "V16cV16cIUi", "nc") 802263508SdimBUILTIN(__builtin_msa_slli_h, "V8sV8sIUi", "nc") 803263508SdimBUILTIN(__builtin_msa_slli_w, "V4iV4iIUi", "nc") 804263508SdimBUILTIN(__builtin_msa_slli_d, "V2LLiV2LLiIUi", "nc") 805263508Sdim 806263508SdimBUILTIN(__builtin_msa_splat_b, "V16cV16cUi", "nc") 807263508SdimBUILTIN(__builtin_msa_splat_h, "V8sV8sUi", "nc") 808263508SdimBUILTIN(__builtin_msa_splat_w, "V4iV4iUi", "nc") 809263508SdimBUILTIN(__builtin_msa_splat_d, "V2LLiV2LLiUi", "nc") 810263508Sdim 811263508SdimBUILTIN(__builtin_msa_splati_b, "V16cV16cIUi", "nc") 812263508SdimBUILTIN(__builtin_msa_splati_h, "V8sV8sIUi", "nc") 813263508SdimBUILTIN(__builtin_msa_splati_w, "V4iV4iIUi", "nc") 814263508SdimBUILTIN(__builtin_msa_splati_d, "V2LLiV2LLiIUi", "nc") 815263508Sdim 816263508SdimBUILTIN(__builtin_msa_sra_b, "V16cV16cV16c", "nc") 817263508SdimBUILTIN(__builtin_msa_sra_h, "V8sV8sV8s", "nc") 818263508SdimBUILTIN(__builtin_msa_sra_w, "V4iV4iV4i", "nc") 819263508SdimBUILTIN(__builtin_msa_sra_d, "V2LLiV2LLiV2LLi", "nc") 820263508Sdim 821263508SdimBUILTIN(__builtin_msa_srai_b, "V16cV16cIUi", "nc") 822263508SdimBUILTIN(__builtin_msa_srai_h, "V8sV8sIUi", "nc") 823263508SdimBUILTIN(__builtin_msa_srai_w, "V4iV4iIUi", "nc") 824263508SdimBUILTIN(__builtin_msa_srai_d, "V2LLiV2LLiIUi", "nc") 825263508Sdim 826263508SdimBUILTIN(__builtin_msa_srar_b, "V16cV16cV16c", "nc") 827263508SdimBUILTIN(__builtin_msa_srar_h, "V8sV8sV8s", "nc") 828263508SdimBUILTIN(__builtin_msa_srar_w, "V4iV4iV4i", "nc") 829263508SdimBUILTIN(__builtin_msa_srar_d, "V2LLiV2LLiV2LLi", "nc") 830263508Sdim 831263508SdimBUILTIN(__builtin_msa_srari_b, "V16cV16cIUi", "nc") 832263508SdimBUILTIN(__builtin_msa_srari_h, "V8sV8sIUi", "nc") 833263508SdimBUILTIN(__builtin_msa_srari_w, "V4iV4iIUi", "nc") 834263508SdimBUILTIN(__builtin_msa_srari_d, "V2LLiV2LLiIUi", "nc") 835263508Sdim 836263508SdimBUILTIN(__builtin_msa_srl_b, "V16cV16cV16c", "nc") 837263508SdimBUILTIN(__builtin_msa_srl_h, "V8sV8sV8s", "nc") 838263508SdimBUILTIN(__builtin_msa_srl_w, "V4iV4iV4i", "nc") 839263508SdimBUILTIN(__builtin_msa_srl_d, "V2LLiV2LLiV2LLi", "nc") 840263508Sdim 841263508SdimBUILTIN(__builtin_msa_srli_b, "V16cV16cIUi", "nc") 842263508SdimBUILTIN(__builtin_msa_srli_h, "V8sV8sIUi", "nc") 843263508SdimBUILTIN(__builtin_msa_srli_w, "V4iV4iIUi", "nc") 844263508SdimBUILTIN(__builtin_msa_srli_d, "V2LLiV2LLiIUi", "nc") 845263508Sdim 846263508SdimBUILTIN(__builtin_msa_srlr_b, "V16cV16cV16c", "nc") 847263508SdimBUILTIN(__builtin_msa_srlr_h, "V8sV8sV8s", "nc") 848263508SdimBUILTIN(__builtin_msa_srlr_w, "V4iV4iV4i", "nc") 849263508SdimBUILTIN(__builtin_msa_srlr_d, "V2LLiV2LLiV2LLi", "nc") 850263508Sdim 851263508SdimBUILTIN(__builtin_msa_srlri_b, "V16cV16cIUi", "nc") 852263508SdimBUILTIN(__builtin_msa_srlri_h, "V8sV8sIUi", "nc") 853263508SdimBUILTIN(__builtin_msa_srlri_w, "V4iV4iIUi", "nc") 854263508SdimBUILTIN(__builtin_msa_srlri_d, "V2LLiV2LLiIUi", "nc") 855263508Sdim 856263508SdimBUILTIN(__builtin_msa_st_b, "vV16Scv*Ii", "nc") 857263508SdimBUILTIN(__builtin_msa_st_h, "vV8Ssv*Ii", "nc") 858263508SdimBUILTIN(__builtin_msa_st_w, "vV4Siv*Ii", "nc") 859263508SdimBUILTIN(__builtin_msa_st_d, "vV2SLLiv*Ii", "nc") 860263508Sdim 861263508SdimBUILTIN(__builtin_msa_subs_s_b, "V16ScV16ScV16Sc", "nc") 862263508SdimBUILTIN(__builtin_msa_subs_s_h, "V8SsV8SsV8Ss", "nc") 863263508SdimBUILTIN(__builtin_msa_subs_s_w, "V4SiV4SiV4Si", "nc") 864263508SdimBUILTIN(__builtin_msa_subs_s_d, "V2SLLiV2SLLiV2SLLi", "nc") 865263508Sdim 866263508SdimBUILTIN(__builtin_msa_subs_u_b, "V16UcV16UcV16Uc", "nc") 867263508SdimBUILTIN(__builtin_msa_subs_u_h, "V8UsV8UsV8Us", "nc") 868263508SdimBUILTIN(__builtin_msa_subs_u_w, "V4UiV4UiV4Ui", "nc") 869263508SdimBUILTIN(__builtin_msa_subs_u_d, "V2ULLiV2ULLiV2ULLi", "nc") 870263508Sdim 871263508SdimBUILTIN(__builtin_msa_subsus_u_b, "V16UcV16UcV16Sc", "nc") 872263508SdimBUILTIN(__builtin_msa_subsus_u_h, "V8UsV8UsV8Ss", "nc") 873263508SdimBUILTIN(__builtin_msa_subsus_u_w, "V4UiV4UiV4Si", "nc") 874263508SdimBUILTIN(__builtin_msa_subsus_u_d, "V2ULLiV2ULLiV2SLLi", "nc") 875263508Sdim 876263508SdimBUILTIN(__builtin_msa_subsuu_s_b, "V16ScV16UcV16Uc", "nc") 877263508SdimBUILTIN(__builtin_msa_subsuu_s_h, "V8SsV8UsV8Us", "nc") 878263508SdimBUILTIN(__builtin_msa_subsuu_s_w, "V4SiV4UiV4Ui", "nc") 879263508SdimBUILTIN(__builtin_msa_subsuu_s_d, "V2SLLiV2ULLiV2ULLi", "nc") 880263508Sdim 881263508SdimBUILTIN(__builtin_msa_subv_b, "V16cV16cV16c", "nc") 882263508SdimBUILTIN(__builtin_msa_subv_h, "V8sV8sV8s", "nc") 883263508SdimBUILTIN(__builtin_msa_subv_w, "V4iV4iV4i", "nc") 884263508SdimBUILTIN(__builtin_msa_subv_d, "V2LLiV2LLiV2LLi", "nc") 885263508Sdim 886263508SdimBUILTIN(__builtin_msa_subvi_b, "V16cV16cIUi", "nc") 887263508SdimBUILTIN(__builtin_msa_subvi_h, "V8sV8sIUi", "nc") 888263508SdimBUILTIN(__builtin_msa_subvi_w, "V4iV4iIUi", "nc") 889263508SdimBUILTIN(__builtin_msa_subvi_d, "V2LLiV2LLiIUi", "nc") 890263508Sdim 891263508SdimBUILTIN(__builtin_msa_vshf_b, "V16cV16cV16cV16c", "nc") 892263508SdimBUILTIN(__builtin_msa_vshf_h, "V8sV8sV8sV8s", "nc") 893263508SdimBUILTIN(__builtin_msa_vshf_w, "V4iV4iV4iV4i", "nc") 894263508SdimBUILTIN(__builtin_msa_vshf_d, "V2LLiV2LLiV2LLiV2LLi", "nc") 895263508Sdim 896263508SdimBUILTIN(__builtin_msa_xor_v, "V16cV16cV16c", "nc") 897263508Sdim 898263508SdimBUILTIN(__builtin_msa_xori_b, "V16cV16cIUi", "nc") 899263508Sdim 900239313Sdim#undef BUILTIN 901