BuiltinsMips.def revision 243830
1188808Sgonzo//===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==// 2188808Sgonzo// 3188808Sgonzo// The LLVM Compiler Infrastructure 4188808Sgonzo// 5188808Sgonzo// This file is distributed under the University of Illinois Open Source 6188808Sgonzo// License. See LICENSE.TXT for details. 7188808Sgonzo// 8188808Sgonzo//===----------------------------------------------------------------------===// 9188808Sgonzo// 10188808Sgonzo// This file defines the MIPS-specific builtin function database. Users of 11188808Sgonzo// this file must define the BUILTIN macro to make use of this information. 12188808Sgonzo// 13188808Sgonzo//===----------------------------------------------------------------------===// 14188808Sgonzo 15188808Sgonzo// The format of this database matches clang/Basic/Builtins.def. 16188808Sgonzo 17188808Sgonzo// MIPS DSP Rev 1 18188808Sgonzo 19188808Sgonzo// Add/subtract with optional saturation 20188808SgonzoBUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n") 21188808SgonzoBUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n") 22188808SgonzoBUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n") 23188808SgonzoBUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n") 24188808Sgonzo 25188808SgonzoBUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n") 26209802SadrianBUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n") 27209802SadrianBUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n") 28188808SgonzoBUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n") 29188808Sgonzo 30188808SgonzoBUILTIN(__builtin_mips_madd, "LLiLLiii", "nc") 31188808SgonzoBUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc") 32188808SgonzoBUILTIN(__builtin_mips_msub, "LLiLLiii", "nc") 33199234SgonzoBUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc") 34188808Sgonzo 35188808SgonzoBUILTIN(__builtin_mips_addq_s_w, "iii", "n") 36188808SgonzoBUILTIN(__builtin_mips_subq_s_w, "iii", "n") 37188808Sgonzo 38188808SgonzoBUILTIN(__builtin_mips_addsc, "iii", "n") 39188808SgonzoBUILTIN(__builtin_mips_addwc, "iii", "n") 40188808Sgonzo 41188808SgonzoBUILTIN(__builtin_mips_modsub, "iii", "nc") 42188808Sgonzo 43188808SgonzoBUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc") 44188808Sgonzo 45188808SgonzoBUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n") 46188808SgonzoBUILTIN(__builtin_mips_absq_s_w, "ii", "n") 47188808Sgonzo 48188808SgonzoBUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc") 49188808SgonzoBUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n") 50188808SgonzoBUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc") 51188808SgonzoBUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n") 52188808SgonzoBUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc") 53188808SgonzoBUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc") 54188808SgonzoBUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc") 55188808SgonzoBUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc") 56188808SgonzoBUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc") 57188808SgonzoBUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc") 58188808SgonzoBUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc") 59188808SgonzoBUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc") 60188808SgonzoBUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc") 61188808SgonzoBUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc") 62188808Sgonzo 63188808SgonzoBUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n") 64188808SgonzoBUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc") 65188808SgonzoBUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n") 66188808SgonzoBUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n") 67188808SgonzoBUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc") 68188808SgonzoBUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc") 69188808SgonzoBUILTIN(__builtin_mips_shll_s_w, "iii", "n") 70234862SadrianBUILTIN(__builtin_mips_shra_r_w, "iii", "nc") 71234862SadrianBUILTIN(__builtin_mips_shilo, "LLiLLii", "nc") 72234862Sadrian 73234862SadrianBUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n") 74199038SgonzoBUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n") 75261455SeadlerBUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n") 76188808SgonzoBUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n") 77188808SgonzoBUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n") 78188808SgonzoBUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n") 79188808SgonzoBUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n") 80188808SgonzoBUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n") 81188808SgonzoBUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n") 82188808SgonzoBUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n") 83188808SgonzoBUILTIN(__builtin_mips_mult, "LLiii", "nc") 84188808SgonzoBUILTIN(__builtin_mips_multu, "LLiUiUi", "nc") 85188808Sgonzo 86188808SgonzoBUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc") 87188808SgonzoBUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc") 88188808SgonzoBUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc") 89188808SgonzoBUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc") 90188808SgonzoBUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n") 91188808SgonzoBUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n") 92188808SgonzoBUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n") 93188808SgonzoBUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n") 94188808Sgonzo 95188808SgonzoBUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n") 96188808SgonzoBUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n") 97188808SgonzoBUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n") 98188808SgonzoBUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n") 99188808SgonzoBUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n") 100188808SgonzoBUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n") 101188808SgonzoBUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n") 102188808SgonzoBUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n") 103188808SgonzoBUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n") 104188808Sgonzo 105188808SgonzoBUILTIN(__builtin_mips_extr_s_h, "iLLii", "n") 106188808SgonzoBUILTIN(__builtin_mips_extr_w, "iLLii", "n") 107188808SgonzoBUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n") 108188808SgonzoBUILTIN(__builtin_mips_extr_r_w, "iLLii", "n") 109188808SgonzoBUILTIN(__builtin_mips_extp, "iLLii", "n") 110188808SgonzoBUILTIN(__builtin_mips_extpdp, "iLLii", "n") 111188808Sgonzo 112188808SgonzoBUILTIN(__builtin_mips_wrdsp, "viIi", "n") 113188808SgonzoBUILTIN(__builtin_mips_rddsp, "iIi", "n") 114188808SgonzoBUILTIN(__builtin_mips_insv, "iii", "n") 115188808SgonzoBUILTIN(__builtin_mips_bitrev, "ii", "nc") 116188808SgonzoBUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc") 117188808SgonzoBUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc") 118188808SgonzoBUILTIN(__builtin_mips_repl_ph, "V2si", "nc") 119188808SgonzoBUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n") 120188808SgonzoBUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n") 121234919SadrianBUILTIN(__builtin_mips_mthlip, "LLiLLii", "n") 122234919SadrianBUILTIN(__builtin_mips_bposge32, "i", "n") 123234919SadrianBUILTIN(__builtin_mips_lbux, "iv*i", "n") 124234919SadrianBUILTIN(__builtin_mips_lhx, "iv*i", "n") 125234919SadrianBUILTIN(__builtin_mips_lwx, "iv*i", "n") 126234919Sadrian 127234919Sadrian// MIPS DSP Rev 2 128234919Sadrian 129234919SadrianBUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n") 130188808Sgonzo 131188808SgonzoBUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc") 132188808SgonzoBUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc") 133199234SgonzoBUILTIN(__builtin_mips_addqh_w, "iii", "nc") 134199234SgonzoBUILTIN(__builtin_mips_addqh_r_w, "iii", "nc") 135199234Sgonzo 136199234SgonzoBUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n") 137199234SgonzoBUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n") 138199234Sgonzo 139234862SadrianBUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc") 140234862SadrianBUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc") 141188808Sgonzo 142188808SgonzoBUILTIN(__builtin_mips_append, "iiiIi", "nc") 143188808SgonzoBUILTIN(__builtin_mips_balign, "iiiIi", "nc") 144188808Sgonzo 145188808SgonzoBUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n") 146234862SadrianBUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n") 147234910SadrianBUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n") 148234919Sadrian 149188808SgonzoBUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc") 150188808SgonzoBUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc") 151188808Sgonzo 152188808SgonzoBUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n") 153188808SgonzoBUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n") 154188808SgonzoBUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc") 155188808SgonzoBUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc") 156188808SgonzoBUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n") 157188808SgonzoBUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n") 158188808Sgonzo 159188808SgonzoBUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n") 160198932SgonzoBUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n") 161209802Sadrian 162209809SadrianBUILTIN(__builtin_mips_mulq_rs_w, "iii", "n") 163209809SadrianBUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n") 164209809SadrianBUILTIN(__builtin_mips_mulq_s_w, "iii", "n") 165220356SadrianBUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc") 166220356Sadrian 167209809SadrianBUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n") 168188808SgonzoBUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc") 169188808SgonzoBUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc") 170188808Sgonzo 171BUILTIN(__builtin_mips_prepend, "iiiIi", "nc") 172 173BUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc") 174BUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc") 175BUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc") 176 177BUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc") 178BUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc") 179BUILTIN(__builtin_mips_subqh_w, "iii", "nc") 180BUILTIN(__builtin_mips_subqh_r_w, "iii", "nc") 181 182BUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n") 183BUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n") 184 185BUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc") 186BUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc") 187 188#undef BUILTIN 189