111
|
1 /* Enum for builtin intrinsics for TILEPro.
|
|
2 Copyright (C) 2011-2017 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 */
|