1 /* Enum for builtin intrinsics for TILEPro. 2 Copyright (C) 2011-2018 Free Software Foundation, Inc. 3 Contributed by Walter Lee (walt@tilera.com) 4 5 This file is part of GCC. 6 7 GCC is free software; you can redistribute it and/or modify it 8 under the terms of the GNU General Public License as published 9 by the Free Software Foundation; either version 3, or (at your 10 option) any later version. 11 12 GCC is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15 License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GCC; see the file COPYING3. If not see 19 <http://www.gnu.org/licenses/>. */ 20 21 #ifndef GCC_TILEPRO_BUILTINS_H 22 #define GCC_TILEPRO_BUILTINS_H 23 24 enum tilepro_builtin 25 { 26 TILEPRO_INSN_ADD, 27 TILEPRO_INSN_ADDB, 28 TILEPRO_INSN_ADDBS_U, 29 TILEPRO_INSN_ADDH, 30 TILEPRO_INSN_ADDHS, 31 TILEPRO_INSN_ADDIB, 32 TILEPRO_INSN_ADDIH, 33 TILEPRO_INSN_ADDLIS, 34 TILEPRO_INSN_ADDS, 35 TILEPRO_INSN_ADIFFB_U, 36 TILEPRO_INSN_ADIFFH, 37 TILEPRO_INSN_AND, 38 TILEPRO_INSN_AULI, 39 TILEPRO_INSN_AVGB_U, 40 TILEPRO_INSN_AVGH, 41 TILEPRO_INSN_BITX, 42 TILEPRO_INSN_BYTEX, 43 TILEPRO_INSN_CLZ, 44 TILEPRO_INSN_CRC32_32, 45 TILEPRO_INSN_CRC32_8, 46 TILEPRO_INSN_CTZ, 47 TILEPRO_INSN_DRAIN, 48 TILEPRO_INSN_DTLBPR, 49 TILEPRO_INSN_DWORD_ALIGN, 50 TILEPRO_INSN_FINV, 51 TILEPRO_INSN_FLUSH, 52 TILEPRO_INSN_FNOP, 53 TILEPRO_INSN_ICOH, 54 TILEPRO_INSN_ILL, 55 TILEPRO_INSN_INFO, 56 TILEPRO_INSN_INFOL, 57 TILEPRO_INSN_INTHB, 58 TILEPRO_INSN_INTHH, 59 TILEPRO_INSN_INTLB, 60 TILEPRO_INSN_INTLH, 61 TILEPRO_INSN_INV, 62 TILEPRO_INSN_LB, 63 TILEPRO_INSN_LB_U, 64 TILEPRO_INSN_LH, 65 TILEPRO_INSN_LH_U, 66 TILEPRO_INSN_LNK, 67 TILEPRO_INSN_LW, 68 TILEPRO_INSN_LW_NA, 69 TILEPRO_INSN_LB_L2, 70 TILEPRO_INSN_LB_U_L2, 71 TILEPRO_INSN_LH_L2, 72 TILEPRO_INSN_LH_U_L2, 73 TILEPRO_INSN_LW_L2, 74 TILEPRO_INSN_LW_NA_L2, 75 TILEPRO_INSN_LB_MISS, 76 TILEPRO_INSN_LB_U_MISS, 77 TILEPRO_INSN_LH_MISS, 78 TILEPRO_INSN_LH_U_MISS, 79 TILEPRO_INSN_LW_MISS, 80 TILEPRO_INSN_LW_NA_MISS, 81 TILEPRO_INSN_MAXB_U, 82 TILEPRO_INSN_MAXH, 83 TILEPRO_INSN_MAXIB_U, 84 TILEPRO_INSN_MAXIH, 85 TILEPRO_INSN_MF, 86 TILEPRO_INSN_MFSPR, 87 TILEPRO_INSN_MINB_U, 88 TILEPRO_INSN_MINH, 89 TILEPRO_INSN_MINIB_U, 90 TILEPRO_INSN_MINIH, 91 TILEPRO_INSN_MM, 92 TILEPRO_INSN_MNZ, 93 TILEPRO_INSN_MNZB, 94 TILEPRO_INSN_MNZH, 95 TILEPRO_INSN_MOVE, 96 TILEPRO_INSN_MOVELIS, 97 TILEPRO_INSN_MTSPR, 98 TILEPRO_INSN_MULHH_SS, 99 TILEPRO_INSN_MULHH_SU, 100 TILEPRO_INSN_MULHH_UU, 101 TILEPRO_INSN_MULHHA_SS, 102 TILEPRO_INSN_MULHHA_SU, 103 TILEPRO_INSN_MULHHA_UU, 104 TILEPRO_INSN_MULHHSA_UU, 105 TILEPRO_INSN_MULHL_SS, 106 TILEPRO_INSN_MULHL_SU, 107 TILEPRO_INSN_MULHL_US, 108 TILEPRO_INSN_MULHL_UU, 109 TILEPRO_INSN_MULHLA_SS, 110 TILEPRO_INSN_MULHLA_SU, 111 TILEPRO_INSN_MULHLA_US, 112 TILEPRO_INSN_MULHLA_UU, 113 TILEPRO_INSN_MULHLSA_UU, 114 TILEPRO_INSN_MULLL_SS, 115 TILEPRO_INSN_MULLL_SU, 116 TILEPRO_INSN_MULLL_UU, 117 TILEPRO_INSN_MULLLA_SS, 118 TILEPRO_INSN_MULLLA_SU, 119 TILEPRO_INSN_MULLLA_UU, 120 TILEPRO_INSN_MULLLSA_UU, 121 TILEPRO_INSN_MVNZ, 122 TILEPRO_INSN_MVZ, 123 TILEPRO_INSN_MZ, 124 TILEPRO_INSN_MZB, 125 TILEPRO_INSN_MZH, 126 TILEPRO_INSN_NAP, 127 TILEPRO_INSN_NOP, 128 TILEPRO_INSN_NOR, 129 TILEPRO_INSN_OR, 130 TILEPRO_INSN_PACKBS_U, 131 TILEPRO_INSN_PACKHB, 132 TILEPRO_INSN_PACKHS, 133 TILEPRO_INSN_PACKLB, 134 TILEPRO_INSN_PCNT, 135 TILEPRO_INSN_PREFETCH, 136 TILEPRO_INSN_PREFETCH_L1, 137 TILEPRO_INSN_RL, 138 TILEPRO_INSN_S1A, 139 TILEPRO_INSN_S2A, 140 TILEPRO_INSN_S3A, 141 TILEPRO_INSN_SADAB_U, 142 TILEPRO_INSN_SADAH, 143 TILEPRO_INSN_SADAH_U, 144 TILEPRO_INSN_SADB_U, 145 TILEPRO_INSN_SADH, 146 TILEPRO_INSN_SADH_U, 147 TILEPRO_INSN_SB, 148 TILEPRO_INSN_SEQ, 149 TILEPRO_INSN_SEQB, 150 TILEPRO_INSN_SEQH, 151 TILEPRO_INSN_SEQIB, 152 TILEPRO_INSN_SEQIH, 153 TILEPRO_INSN_SH, 154 TILEPRO_INSN_SHL, 155 TILEPRO_INSN_SHLB, 156 TILEPRO_INSN_SHLH, 157 TILEPRO_INSN_SHLIB, 158 TILEPRO_INSN_SHLIH, 159 TILEPRO_INSN_SHR, 160 TILEPRO_INSN_SHRB, 161 TILEPRO_INSN_SHRH, 162 TILEPRO_INSN_SHRIB, 163 TILEPRO_INSN_SHRIH, 164 TILEPRO_INSN_SLT, 165 TILEPRO_INSN_SLT_U, 166 TILEPRO_INSN_SLTB, 167 TILEPRO_INSN_SLTB_U, 168 TILEPRO_INSN_SLTE, 169 TILEPRO_INSN_SLTE_U, 170 TILEPRO_INSN_SLTEB, 171 TILEPRO_INSN_SLTEB_U, 172 TILEPRO_INSN_SLTEH, 173 TILEPRO_INSN_SLTEH_U, 174 TILEPRO_INSN_SLTH, 175 TILEPRO_INSN_SLTH_U, 176 TILEPRO_INSN_SLTIB, 177 TILEPRO_INSN_SLTIB_U, 178 TILEPRO_INSN_SLTIH, 179 TILEPRO_INSN_SLTIH_U, 180 TILEPRO_INSN_SNE, 181 TILEPRO_INSN_SNEB, 182 TILEPRO_INSN_SNEH, 183 TILEPRO_INSN_SRA, 184 TILEPRO_INSN_SRAB, 185 TILEPRO_INSN_SRAH, 186 TILEPRO_INSN_SRAIB, 187 TILEPRO_INSN_SRAIH, 188 TILEPRO_INSN_SUB, 189 TILEPRO_INSN_SUBB, 190 TILEPRO_INSN_SUBBS_U, 191 TILEPRO_INSN_SUBH, 192 TILEPRO_INSN_SUBHS, 193 TILEPRO_INSN_SUBS, 194 TILEPRO_INSN_SW, 195 TILEPRO_INSN_TBLIDXB0, 196 TILEPRO_INSN_TBLIDXB1, 197 TILEPRO_INSN_TBLIDXB2, 198 TILEPRO_INSN_TBLIDXB3, 199 TILEPRO_INSN_TNS, 200 TILEPRO_INSN_WH64, 201 TILEPRO_INSN_XOR, 202 TILEPRO_NETWORK_BARRIER, 203 TILEPRO_IDN0_RECEIVE, 204 TILEPRO_IDN1_RECEIVE, 205 TILEPRO_IDN_SEND, 206 TILEPRO_SN_RECEIVE, 207 TILEPRO_SN_SEND, 208 TILEPRO_UDN0_RECEIVE, 209 TILEPRO_UDN1_RECEIVE, 210 TILEPRO_UDN2_RECEIVE, 211 TILEPRO_UDN3_RECEIVE, 212 TILEPRO_UDN_SEND, 213 TILEPRO_BUILTIN_max 214 }; 215 216 #endif /* !GCC_TILEPRO_BUILTINS_H */ 217