PR other/53317
[official-gcc.git] / gcc / config / tilepro / tilepro-builtins.h
blobfbd8c111a73d3cb9d2f9fe2f9a7b479f26a271c7
1 /* Enum for builtin intrinsics for TILEPro.
2 Copyright (C) 2011-2013 Free Software Foundation, Inc.
3 Contributed by Walter Lee (walt@tilera.com)
5 This file is part of GCC.
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.
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.
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/>. */
21 #ifndef GCC_TILEPRO_BUILTINS_H
22 #define GCC_TILEPRO_BUILTINS_H
24 enum tilepro_builtin
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
216 #endif /* !GCC_TILEPRO_BUILTINS_H */