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