1fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan//===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==// 2fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// 3fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// The LLVM Compiler Infrastructure 4fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// 5fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// This file is distributed under the University of Illinois Open Source 6fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// License. See LICENSE.TXT for details. 7fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// 8fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan//===----------------------------------------------------------------------===// 9fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// 10fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// This file defines the MIPS-specific builtin function database. Users of 11fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// this file must define the BUILTIN macro to make use of this information. 12fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// 13fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan//===----------------------------------------------------------------------===// 14fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 15fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// The format of this database matches clang/Basic/Builtins.def. 16fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 17be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan// MIPS DSP Rev 1 18be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 19fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan// Add/subtract with optional saturation 20cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n") 21cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n") 22cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n") 23cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n") 24fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 25cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n") 26cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n") 27cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n") 28cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n") 29fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 30fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_madd, "LLiLLiii", "nc") 31fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc") 32fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_msub, "LLiLLiii", "nc") 33fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc") 34fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 35cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addq_s_w, "iii", "n") 36cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_subq_s_w, "iii", "n") 37fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 38cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addsc, "iii", "n") 39cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_addwc, "iii", "n") 40fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 41fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_modsub, "iii", "nc") 42fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 43fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc") 44fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 45cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n") 46cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_absq_s_w, "ii", "n") 47fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 48fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc") 49cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n") 50fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc") 51cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n") 52fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc") 53fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc") 54fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc") 55fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc") 56fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc") 57fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc") 58fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc") 59fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc") 60fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc") 61fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc") 62fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 63cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n") 64fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc") 65cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n") 66cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n") 67fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc") 68fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc") 69cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_shll_s_w, "iii", "n") 70fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_shra_r_w, "iii", "nc") 71e327aa81e38d9d17702f95ad4df56f8e3e9b7e91Benjamin KramerBUILTIN(__builtin_mips_shilo, "LLiLLii", "nc") 72fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 73cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n") 74cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n") 75cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n") 76cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n") 77cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n") 78cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n") 79cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n") 80cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n") 81cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n") 82cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n") 83fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_mult, "LLiii", "nc") 84fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_multu, "LLiUiUi", "nc") 85fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 86fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc") 87fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc") 88fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc") 89fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc") 90cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n") 91cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n") 92cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n") 93cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n") 94cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon Atanasyan 95cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n") 96cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n") 97cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n") 98cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n") 99cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n") 100cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n") 101cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n") 102cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n") 103cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n") 104cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon Atanasyan 105cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_extr_s_h, "iLLii", "n") 106cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_extr_w, "iLLii", "n") 107cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n") 108cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_extr_r_w, "iLLii", "n") 109cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_extp, "iLLii", "n") 110cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_extpdp, "iLLii", "n") 111cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon Atanasyan 112cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_wrdsp, "viIi", "n") 113cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_rddsp, "iIi", "n") 114cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_insv, "iii", "n") 115fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_bitrev, "ii", "nc") 116fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc") 117fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc") 118fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_repl_ph, "V2si", "nc") 119cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n") 120cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n") 121cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_mthlip, "LLiLLii", "n") 122cc83f26c48dfdc99ea5fbc3c28c9c9653bd71e8cSimon AtanasyanBUILTIN(__builtin_mips_bposge32, "i", "n") 123fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_lbux, "iv*i", "n") 124fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_lhx, "iv*i", "n") 125fbf7005138d199bad238f0dd1ff509931a24ab10Simon AtanasyanBUILTIN(__builtin_mips_lwx, "iv*i", "n") 126fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan 127be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan// MIPS DSP Rev 2 128be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 129be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n") 130be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 131be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc") 132be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc") 133be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_addqh_w, "iii", "nc") 134be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_addqh_r_w, "iii", "nc") 135be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 136be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n") 137be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n") 138be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 139be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc") 140be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc") 141be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 142be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_append, "iiiIi", "nc") 143be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_balign, "iiiIi", "nc") 144be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 145be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n") 146be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n") 147be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n") 148be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 149be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc") 150be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc") 151be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 152be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n") 153be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n") 154be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc") 155be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc") 156be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n") 157be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n") 158be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 159be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n") 160be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n") 161be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 162be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_mulq_rs_w, "iii", "n") 163be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n") 164be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_mulq_s_w, "iii", "n") 165be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc") 166be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 167be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n") 168be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc") 169be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc") 170be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 171be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_prepend, "iiiIi", "nc") 172be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 173be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc") 174be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc") 175be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc") 176be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 177be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc") 178be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc") 179be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subqh_w, "iii", "nc") 180be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subqh_r_w, "iii", "nc") 181be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 182be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n") 183be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n") 184be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 185be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc") 186be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon AtanasyanBUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc") 187be22cb84f32cfa6cf0b6bdaf523288b747bb0f18Simon Atanasyan 188fbf7005138d199bad238f0dd1ff509931a24ab10Simon Atanasyan#undef BUILTIN 189