]>
Commit | Line | Data |
---|---|---|
dd552284 | 1 | /* Enum for builtin intrinsics for TILE-Gx. |
7adcbafe | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
dd552284 WL |
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_TILEGX_BUILTINS_H | |
22 | #define GCC_TILEGX_BUILTINS_H | |
23 | ||
24 | enum tilegx_builtin | |
25 | { | |
26 | TILEGX_INSN_ADD, | |
27 | TILEGX_INSN_ADDX, | |
28 | TILEGX_INSN_ADDXSC, | |
29 | TILEGX_INSN_AND, | |
30 | TILEGX_INSN_BFEXTS, | |
31 | TILEGX_INSN_BFEXTU, | |
32 | TILEGX_INSN_BFINS, | |
33 | TILEGX_INSN_CLZ, | |
34 | TILEGX_INSN_CMOVEQZ, | |
35 | TILEGX_INSN_CMOVNEZ, | |
36 | TILEGX_INSN_CMPEQ, | |
37 | TILEGX_INSN_CMPEXCH, | |
38 | TILEGX_INSN_CMPEXCH4, | |
39 | TILEGX_INSN_CMPLES, | |
40 | TILEGX_INSN_CMPLEU, | |
41 | TILEGX_INSN_CMPLTS, | |
42 | TILEGX_INSN_CMPLTU, | |
43 | TILEGX_INSN_CMPNE, | |
44 | TILEGX_INSN_CMUL, | |
45 | TILEGX_INSN_CMULA, | |
46 | TILEGX_INSN_CMULAF, | |
47 | TILEGX_INSN_CMULF, | |
48 | TILEGX_INSN_CMULFR, | |
49 | TILEGX_INSN_CMULH, | |
50 | TILEGX_INSN_CMULHR, | |
51 | TILEGX_INSN_CRC32_32, | |
52 | TILEGX_INSN_CRC32_8, | |
53 | TILEGX_INSN_CTZ, | |
54 | TILEGX_INSN_DBLALIGN, | |
55 | TILEGX_INSN_DBLALIGN2, | |
56 | TILEGX_INSN_DBLALIGN4, | |
57 | TILEGX_INSN_DBLALIGN6, | |
58 | TILEGX_INSN_DRAIN, | |
59 | TILEGX_INSN_DTLBPR, | |
60 | TILEGX_INSN_EXCH, | |
61 | TILEGX_INSN_EXCH4, | |
62 | TILEGX_INSN_FDOUBLE_ADD_FLAGS, | |
63 | TILEGX_INSN_FDOUBLE_ADDSUB, | |
64 | TILEGX_INSN_FDOUBLE_MUL_FLAGS, | |
65 | TILEGX_INSN_FDOUBLE_PACK1, | |
66 | TILEGX_INSN_FDOUBLE_PACK2, | |
67 | TILEGX_INSN_FDOUBLE_SUB_FLAGS, | |
68 | TILEGX_INSN_FDOUBLE_UNPACK_MAX, | |
69 | TILEGX_INSN_FDOUBLE_UNPACK_MIN, | |
70 | TILEGX_INSN_FETCHADD, | |
71 | TILEGX_INSN_FETCHADD4, | |
72 | TILEGX_INSN_FETCHADDGEZ, | |
73 | TILEGX_INSN_FETCHADDGEZ4, | |
74 | TILEGX_INSN_FETCHAND, | |
75 | TILEGX_INSN_FETCHAND4, | |
76 | TILEGX_INSN_FETCHOR, | |
77 | TILEGX_INSN_FETCHOR4, | |
78 | TILEGX_INSN_FINV, | |
79 | TILEGX_INSN_FLUSH, | |
80 | TILEGX_INSN_FLUSHWB, | |
81 | TILEGX_INSN_FNOP, | |
82 | TILEGX_INSN_FSINGLE_ADD1, | |
83 | TILEGX_INSN_FSINGLE_ADDSUB2, | |
84 | TILEGX_INSN_FSINGLE_MUL1, | |
85 | TILEGX_INSN_FSINGLE_MUL2, | |
86 | TILEGX_INSN_FSINGLE_PACK1, | |
87 | TILEGX_INSN_FSINGLE_PACK2, | |
88 | TILEGX_INSN_FSINGLE_SUB1, | |
89 | TILEGX_INSN_ICOH, | |
90 | TILEGX_INSN_ILL, | |
91 | TILEGX_INSN_INFO, | |
92 | TILEGX_INSN_INFOL, | |
93 | TILEGX_INSN_INV, | |
94 | TILEGX_INSN_LD, | |
95 | TILEGX_INSN_LD1S, | |
96 | TILEGX_INSN_LD1U, | |
97 | TILEGX_INSN_LD2S, | |
98 | TILEGX_INSN_LD2U, | |
99 | TILEGX_INSN_LD4S, | |
100 | TILEGX_INSN_LD4U, | |
101 | TILEGX_INSN_LDNA, | |
102 | TILEGX_INSN_LDNT, | |
103 | TILEGX_INSN_LDNT1S, | |
104 | TILEGX_INSN_LDNT1U, | |
105 | TILEGX_INSN_LDNT2S, | |
106 | TILEGX_INSN_LDNT2U, | |
107 | TILEGX_INSN_LDNT4S, | |
108 | TILEGX_INSN_LDNT4U, | |
109 | TILEGX_INSN_LD_L2, | |
110 | TILEGX_INSN_LD1S_L2, | |
111 | TILEGX_INSN_LD1U_L2, | |
112 | TILEGX_INSN_LD2S_L2, | |
113 | TILEGX_INSN_LD2U_L2, | |
114 | TILEGX_INSN_LD4S_L2, | |
115 | TILEGX_INSN_LD4U_L2, | |
116 | TILEGX_INSN_LDNA_L2, | |
117 | TILEGX_INSN_LDNT_L2, | |
118 | TILEGX_INSN_LDNT1S_L2, | |
119 | TILEGX_INSN_LDNT1U_L2, | |
120 | TILEGX_INSN_LDNT2S_L2, | |
121 | TILEGX_INSN_LDNT2U_L2, | |
122 | TILEGX_INSN_LDNT4S_L2, | |
123 | TILEGX_INSN_LDNT4U_L2, | |
124 | TILEGX_INSN_LD_MISS, | |
125 | TILEGX_INSN_LD1S_MISS, | |
126 | TILEGX_INSN_LD1U_MISS, | |
127 | TILEGX_INSN_LD2S_MISS, | |
128 | TILEGX_INSN_LD2U_MISS, | |
129 | TILEGX_INSN_LD4S_MISS, | |
130 | TILEGX_INSN_LD4U_MISS, | |
131 | TILEGX_INSN_LDNA_MISS, | |
132 | TILEGX_INSN_LDNT_MISS, | |
133 | TILEGX_INSN_LDNT1S_MISS, | |
134 | TILEGX_INSN_LDNT1U_MISS, | |
135 | TILEGX_INSN_LDNT2S_MISS, | |
136 | TILEGX_INSN_LDNT2U_MISS, | |
137 | TILEGX_INSN_LDNT4S_MISS, | |
138 | TILEGX_INSN_LDNT4U_MISS, | |
139 | TILEGX_INSN_LNK, | |
140 | TILEGX_INSN_MF, | |
141 | TILEGX_INSN_MFSPR, | |
142 | TILEGX_INSN_MM, | |
143 | TILEGX_INSN_MNZ, | |
144 | TILEGX_INSN_MOVE, | |
145 | TILEGX_INSN_MTSPR, | |
146 | TILEGX_INSN_MUL_HS_HS, | |
147 | TILEGX_INSN_MUL_HS_HU, | |
148 | TILEGX_INSN_MUL_HS_LS, | |
149 | TILEGX_INSN_MUL_HS_LU, | |
150 | TILEGX_INSN_MUL_HU_HU, | |
151 | TILEGX_INSN_MUL_HU_LS, | |
152 | TILEGX_INSN_MUL_HU_LU, | |
153 | TILEGX_INSN_MUL_LS_LS, | |
154 | TILEGX_INSN_MUL_LS_LU, | |
155 | TILEGX_INSN_MUL_LU_LU, | |
156 | TILEGX_INSN_MULA_HS_HS, | |
157 | TILEGX_INSN_MULA_HS_HU, | |
158 | TILEGX_INSN_MULA_HS_LS, | |
159 | TILEGX_INSN_MULA_HS_LU, | |
160 | TILEGX_INSN_MULA_HU_HU, | |
161 | TILEGX_INSN_MULA_HU_LS, | |
162 | TILEGX_INSN_MULA_HU_LU, | |
163 | TILEGX_INSN_MULA_LS_LS, | |
164 | TILEGX_INSN_MULA_LS_LU, | |
165 | TILEGX_INSN_MULA_LU_LU, | |
166 | TILEGX_INSN_MULAX, | |
167 | TILEGX_INSN_MULX, | |
168 | TILEGX_INSN_MZ, | |
169 | TILEGX_INSN_NAP, | |
170 | TILEGX_INSN_NOP, | |
171 | TILEGX_INSN_NOR, | |
172 | TILEGX_INSN_OR, | |
173 | TILEGX_INSN_PCNT, | |
174 | TILEGX_INSN_PREFETCH_L1, | |
175 | TILEGX_INSN_PREFETCH_L1_FAULT, | |
176 | TILEGX_INSN_PREFETCH_L2, | |
177 | TILEGX_INSN_PREFETCH_L2_FAULT, | |
178 | TILEGX_INSN_PREFETCH_L3, | |
179 | TILEGX_INSN_PREFETCH_L3_FAULT, | |
180 | TILEGX_INSN_REVBITS, | |
181 | TILEGX_INSN_REVBYTES, | |
182 | TILEGX_INSN_ROTL, | |
183 | TILEGX_INSN_SHL, | |
184 | TILEGX_INSN_SHL16INSLI, | |
185 | TILEGX_INSN_SHL1ADD, | |
186 | TILEGX_INSN_SHL1ADDX, | |
187 | TILEGX_INSN_SHL2ADD, | |
188 | TILEGX_INSN_SHL2ADDX, | |
189 | TILEGX_INSN_SHL3ADD, | |
190 | TILEGX_INSN_SHL3ADDX, | |
191 | TILEGX_INSN_SHLX, | |
192 | TILEGX_INSN_SHRS, | |
193 | TILEGX_INSN_SHRU, | |
194 | TILEGX_INSN_SHRUX, | |
195 | TILEGX_INSN_SHUFFLEBYTES, | |
0051d3ec | 196 | TILEGX_INSN_SHUFFLEBYTES1, |
dd552284 WL |
197 | TILEGX_INSN_ST, |
198 | TILEGX_INSN_ST1, | |
199 | TILEGX_INSN_ST2, | |
200 | TILEGX_INSN_ST4, | |
201 | TILEGX_INSN_STNT, | |
202 | TILEGX_INSN_STNT1, | |
203 | TILEGX_INSN_STNT2, | |
204 | TILEGX_INSN_STNT4, | |
205 | TILEGX_INSN_SUB, | |
206 | TILEGX_INSN_SUBX, | |
207 | TILEGX_INSN_SUBXSC, | |
208 | TILEGX_INSN_TBLIDXB0, | |
209 | TILEGX_INSN_TBLIDXB1, | |
210 | TILEGX_INSN_TBLIDXB2, | |
211 | TILEGX_INSN_TBLIDXB3, | |
212 | TILEGX_INSN_V1ADD, | |
213 | TILEGX_INSN_V1ADDI, | |
214 | TILEGX_INSN_V1ADDUC, | |
215 | TILEGX_INSN_V1ADIFFU, | |
216 | TILEGX_INSN_V1AVGU, | |
217 | TILEGX_INSN_V1CMPEQ, | |
218 | TILEGX_INSN_V1CMPEQI, | |
219 | TILEGX_INSN_V1CMPLES, | |
220 | TILEGX_INSN_V1CMPLEU, | |
221 | TILEGX_INSN_V1CMPLTS, | |
222 | TILEGX_INSN_V1CMPLTSI, | |
223 | TILEGX_INSN_V1CMPLTU, | |
224 | TILEGX_INSN_V1CMPLTUI, | |
225 | TILEGX_INSN_V1CMPNE, | |
226 | TILEGX_INSN_V1DDOTPU, | |
227 | TILEGX_INSN_V1DDOTPUA, | |
228 | TILEGX_INSN_V1DDOTPUS, | |
229 | TILEGX_INSN_V1DDOTPUSA, | |
230 | TILEGX_INSN_V1DOTP, | |
231 | TILEGX_INSN_V1DOTPA, | |
232 | TILEGX_INSN_V1DOTPU, | |
233 | TILEGX_INSN_V1DOTPUA, | |
234 | TILEGX_INSN_V1DOTPUS, | |
235 | TILEGX_INSN_V1DOTPUSA, | |
236 | TILEGX_INSN_V1INT_H, | |
237 | TILEGX_INSN_V1INT_L, | |
238 | TILEGX_INSN_V1MAXU, | |
239 | TILEGX_INSN_V1MAXUI, | |
240 | TILEGX_INSN_V1MINU, | |
241 | TILEGX_INSN_V1MINUI, | |
242 | TILEGX_INSN_V1MNZ, | |
243 | TILEGX_INSN_V1MULTU, | |
244 | TILEGX_INSN_V1MULU, | |
245 | TILEGX_INSN_V1MULUS, | |
246 | TILEGX_INSN_V1MZ, | |
247 | TILEGX_INSN_V1SADAU, | |
248 | TILEGX_INSN_V1SADU, | |
249 | TILEGX_INSN_V1SHL, | |
250 | TILEGX_INSN_V1SHLI, | |
251 | TILEGX_INSN_V1SHRS, | |
252 | TILEGX_INSN_V1SHRSI, | |
253 | TILEGX_INSN_V1SHRU, | |
254 | TILEGX_INSN_V1SHRUI, | |
255 | TILEGX_INSN_V1SUB, | |
256 | TILEGX_INSN_V1SUBUC, | |
257 | TILEGX_INSN_V2ADD, | |
258 | TILEGX_INSN_V2ADDI, | |
259 | TILEGX_INSN_V2ADDSC, | |
260 | TILEGX_INSN_V2ADIFFS, | |
261 | TILEGX_INSN_V2AVGS, | |
262 | TILEGX_INSN_V2CMPEQ, | |
263 | TILEGX_INSN_V2CMPEQI, | |
264 | TILEGX_INSN_V2CMPLES, | |
265 | TILEGX_INSN_V2CMPLEU, | |
266 | TILEGX_INSN_V2CMPLTS, | |
267 | TILEGX_INSN_V2CMPLTSI, | |
268 | TILEGX_INSN_V2CMPLTU, | |
269 | TILEGX_INSN_V2CMPLTUI, | |
270 | TILEGX_INSN_V2CMPNE, | |
271 | TILEGX_INSN_V2DOTP, | |
272 | TILEGX_INSN_V2DOTPA, | |
273 | TILEGX_INSN_V2INT_H, | |
274 | TILEGX_INSN_V2INT_L, | |
275 | TILEGX_INSN_V2MAXS, | |
276 | TILEGX_INSN_V2MAXSI, | |
277 | TILEGX_INSN_V2MINS, | |
278 | TILEGX_INSN_V2MINSI, | |
279 | TILEGX_INSN_V2MNZ, | |
280 | TILEGX_INSN_V2MULFSC, | |
281 | TILEGX_INSN_V2MULS, | |
282 | TILEGX_INSN_V2MULTS, | |
283 | TILEGX_INSN_V2MZ, | |
284 | TILEGX_INSN_V2PACKH, | |
285 | TILEGX_INSN_V2PACKL, | |
286 | TILEGX_INSN_V2PACKUC, | |
287 | TILEGX_INSN_V2SADAS, | |
288 | TILEGX_INSN_V2SADAU, | |
289 | TILEGX_INSN_V2SADS, | |
290 | TILEGX_INSN_V2SADU, | |
291 | TILEGX_INSN_V2SHL, | |
292 | TILEGX_INSN_V2SHLI, | |
293 | TILEGX_INSN_V2SHLSC, | |
294 | TILEGX_INSN_V2SHRS, | |
295 | TILEGX_INSN_V2SHRSI, | |
296 | TILEGX_INSN_V2SHRU, | |
297 | TILEGX_INSN_V2SHRUI, | |
298 | TILEGX_INSN_V2SUB, | |
299 | TILEGX_INSN_V2SUBSC, | |
300 | TILEGX_INSN_V4ADD, | |
301 | TILEGX_INSN_V4ADDSC, | |
302 | TILEGX_INSN_V4INT_H, | |
303 | TILEGX_INSN_V4INT_L, | |
304 | TILEGX_INSN_V4PACKSC, | |
305 | TILEGX_INSN_V4SHL, | |
306 | TILEGX_INSN_V4SHLSC, | |
307 | TILEGX_INSN_V4SHRS, | |
308 | TILEGX_INSN_V4SHRU, | |
309 | TILEGX_INSN_V4SUB, | |
310 | TILEGX_INSN_V4SUBSC, | |
311 | TILEGX_INSN_WH64, | |
312 | TILEGX_INSN_XOR, | |
313 | TILEGX_NETWORK_BARRIER, | |
314 | TILEGX_IDN0_RECEIVE, | |
315 | TILEGX_IDN1_RECEIVE, | |
316 | TILEGX_IDN_SEND, | |
317 | TILEGX_UDN0_RECEIVE, | |
318 | TILEGX_UDN1_RECEIVE, | |
319 | TILEGX_UDN2_RECEIVE, | |
320 | TILEGX_UDN3_RECEIVE, | |
321 | TILEGX_UDN_SEND, | |
322 | TILEGX_BUILTIN_max | |
323 | }; | |
324 | ||
325 | #endif /* !GCC_TILEGX_BUILTINS_H */ |