BuiltinsMips.def revision 239462
1//===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines the MIPS-specific builtin function database. Users of 11// this file must define the BUILTIN macro to make use of this information. 12// 13//===----------------------------------------------------------------------===// 14 15// The format of this database matches clang/Basic/Builtins.def. 16 17// Add/subtract with optional saturation 18BUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n") 19BUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n") 20BUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n") 21BUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n") 22 23BUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n") 24BUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n") 25BUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n") 26BUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n") 27 28BUILTIN(__builtin_mips_madd, "LLiLLiii", "nc") 29BUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc") 30BUILTIN(__builtin_mips_msub, "LLiLLiii", "nc") 31BUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc") 32 33BUILTIN(__builtin_mips_addq_s_w, "iii", "n") 34BUILTIN(__builtin_mips_subq_s_w, "iii", "n") 35 36BUILTIN(__builtin_mips_addsc, "iii", "n") 37BUILTIN(__builtin_mips_addwc, "iii", "n") 38 39BUILTIN(__builtin_mips_modsub, "iii", "nc") 40 41BUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc") 42 43BUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n") 44BUILTIN(__builtin_mips_absq_s_w, "ii", "n") 45 46BUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc") 47BUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n") 48BUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc") 49BUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n") 50BUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc") 51BUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc") 52BUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc") 53BUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc") 54BUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc") 55BUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc") 56BUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc") 57BUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc") 58BUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc") 59BUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc") 60 61BUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n") 62BUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc") 63BUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n") 64BUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n") 65BUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc") 66BUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc") 67BUILTIN(__builtin_mips_shll_s_w, "iii", "n") 68BUILTIN(__builtin_mips_shra_r_w, "iii", "nc") 69BUILTIN(__builtin_mips_shilo, "LLiLLii", "nc") 70 71BUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n") 72BUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n") 73BUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n") 74BUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n") 75BUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n") 76BUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n") 77BUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n") 78BUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n") 79BUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n") 80BUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n") 81BUILTIN(__builtin_mips_mult, "LLiii", "nc") 82BUILTIN(__builtin_mips_multu, "LLiUiUi", "nc") 83 84BUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc") 85BUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc") 86BUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc") 87BUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc") 88BUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n") 89BUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n") 90BUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n") 91BUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n") 92 93BUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n") 94BUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n") 95BUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n") 96BUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n") 97BUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n") 98BUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n") 99BUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n") 100BUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n") 101BUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n") 102 103BUILTIN(__builtin_mips_extr_s_h, "iLLii", "n") 104BUILTIN(__builtin_mips_extr_w, "iLLii", "n") 105BUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n") 106BUILTIN(__builtin_mips_extr_r_w, "iLLii", "n") 107BUILTIN(__builtin_mips_extp, "iLLii", "n") 108BUILTIN(__builtin_mips_extpdp, "iLLii", "n") 109 110BUILTIN(__builtin_mips_wrdsp, "viIi", "n") 111BUILTIN(__builtin_mips_rddsp, "iIi", "n") 112BUILTIN(__builtin_mips_insv, "iii", "n") 113BUILTIN(__builtin_mips_bitrev, "ii", "nc") 114BUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc") 115BUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc") 116BUILTIN(__builtin_mips_repl_ph, "V2si", "nc") 117BUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n") 118BUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n") 119BUILTIN(__builtin_mips_mthlip, "LLiLLii", "n") 120BUILTIN(__builtin_mips_bposge32, "i", "n") 121BUILTIN(__builtin_mips_lbux, "iv*i", "n") 122BUILTIN(__builtin_mips_lhx, "iv*i", "n") 123BUILTIN(__builtin_mips_lwx, "iv*i", "n") 124 125#undef BUILTIN 126