Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/aarch64/aarch64-sve-builtins-base.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics) | |
2 Copyright (C) 2018-2020 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GCC. | |
5 | |
6 GCC is free software; you can redistribute it and/or modify it | |
7 under the terms of the GNU General Public License as published by | |
8 the Free Software Foundation; either version 3, or (at your option) | |
9 any later version. | |
10 | |
11 GCC is distributed in the hope that it will be useful, but | |
12 WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GCC; see the file COPYING3. If not see | |
18 <http://www.gnu.org/licenses/>. */ | |
19 | |
20 #ifndef GCC_AARCH64_SVE_BUILTINS_BASE_H | |
21 #define GCC_AARCH64_SVE_BUILTINS_BASE_H | |
22 | |
23 namespace aarch64_sve | |
24 { | |
25 namespace functions | |
26 { | |
27 extern const function_base *const svabd; | |
28 extern const function_base *const svabs; | |
29 extern const function_base *const svacge; | |
30 extern const function_base *const svacgt; | |
31 extern const function_base *const svacle; | |
32 extern const function_base *const svaclt; | |
33 extern const function_base *const svadd; | |
34 extern const function_base *const svadda; | |
35 extern const function_base *const svaddv; | |
36 extern const function_base *const svadrb; | |
37 extern const function_base *const svadrd; | |
38 extern const function_base *const svadrh; | |
39 extern const function_base *const svadrw; | |
40 extern const function_base *const svand; | |
41 extern const function_base *const svandv; | |
42 extern const function_base *const svasr; | |
43 extern const function_base *const svasr_wide; | |
44 extern const function_base *const svasrd; | |
45 extern const function_base *const svbfdot; | |
46 extern const function_base *const svbfdot_lane; | |
47 extern const function_base *const svbfmlalb; | |
48 extern const function_base *const svbfmlalb_lane; | |
49 extern const function_base *const svbfmlalt; | |
50 extern const function_base *const svbfmlalt_lane; | |
51 extern const function_base *const svbfmmla; | |
52 extern const function_base *const svbic; | |
53 extern const function_base *const svbrka; | |
54 extern const function_base *const svbrkb; | |
55 extern const function_base *const svbrkn; | |
56 extern const function_base *const svbrkpa; | |
57 extern const function_base *const svbrkpb; | |
58 extern const function_base *const svcadd; | |
59 extern const function_base *const svclasta; | |
60 extern const function_base *const svclastb; | |
61 extern const function_base *const svcls; | |
62 extern const function_base *const svclz; | |
63 extern const function_base *const svcmla; | |
64 extern const function_base *const svcmla_lane; | |
65 extern const function_base *const svcmpeq; | |
66 extern const function_base *const svcmpeq_wide; | |
67 extern const function_base *const svcmpge; | |
68 extern const function_base *const svcmpge_wide; | |
69 extern const function_base *const svcmpgt; | |
70 extern const function_base *const svcmpgt_wide; | |
71 extern const function_base *const svcmple; | |
72 extern const function_base *const svcmple_wide; | |
73 extern const function_base *const svcmplt; | |
74 extern const function_base *const svcmplt_wide; | |
75 extern const function_base *const svcmpne; | |
76 extern const function_base *const svcmpne_wide; | |
77 extern const function_base *const svcmpuo; | |
78 extern const function_base *const svcnot; | |
79 extern const function_base *const svcnt; | |
80 extern const function_base *const svcntb; | |
81 extern const function_base *const svcntb_pat; | |
82 extern const function_base *const svcntd; | |
83 extern const function_base *const svcntd_pat; | |
84 extern const function_base *const svcnth; | |
85 extern const function_base *const svcnth_pat; | |
86 extern const function_base *const svcntp; | |
87 extern const function_base *const svcntw; | |
88 extern const function_base *const svcntw_pat; | |
89 extern const function_base *const svcompact; | |
90 extern const function_base *const svcreate2; | |
91 extern const function_base *const svcreate3; | |
92 extern const function_base *const svcreate4; | |
93 extern const function_base *const svcvt; | |
94 extern const function_base *const svcvtnt; | |
95 extern const function_base *const svdiv; | |
96 extern const function_base *const svdivr; | |
97 extern const function_base *const svdot; | |
98 extern const function_base *const svdot_lane; | |
99 extern const function_base *const svdup; | |
100 extern const function_base *const svdup_lane; | |
101 extern const function_base *const svdupq; | |
102 extern const function_base *const svdupq_lane; | |
103 extern const function_base *const sveor; | |
104 extern const function_base *const sveorv; | |
105 extern const function_base *const svexpa; | |
106 extern const function_base *const svext; | |
107 extern const function_base *const svextb; | |
108 extern const function_base *const svexth; | |
109 extern const function_base *const svextw; | |
110 extern const function_base *const svget2; | |
111 extern const function_base *const svget3; | |
112 extern const function_base *const svget4; | |
113 extern const function_base *const svindex; | |
114 extern const function_base *const svinsr; | |
115 extern const function_base *const svlasta; | |
116 extern const function_base *const svlastb; | |
117 extern const function_base *const svld1; | |
118 extern const function_base *const svld1_gather; | |
119 extern const function_base *const svld1ro; | |
120 extern const function_base *const svld1rq; | |
121 extern const function_base *const svld1sb; | |
122 extern const function_base *const svld1sb_gather; | |
123 extern const function_base *const svld1sh; | |
124 extern const function_base *const svld1sh_gather; | |
125 extern const function_base *const svld1sw; | |
126 extern const function_base *const svld1sw_gather; | |
127 extern const function_base *const svld1ub; | |
128 extern const function_base *const svld1ub_gather; | |
129 extern const function_base *const svld1uh; | |
130 extern const function_base *const svld1uh_gather; | |
131 extern const function_base *const svld1uw; | |
132 extern const function_base *const svld1uw_gather; | |
133 extern const function_base *const svld2; | |
134 extern const function_base *const svld3; | |
135 extern const function_base *const svld4; | |
136 extern const function_base *const svldff1; | |
137 extern const function_base *const svldff1_gather; | |
138 extern const function_base *const svldff1sb; | |
139 extern const function_base *const svldff1sb_gather; | |
140 extern const function_base *const svldff1sh; | |
141 extern const function_base *const svldff1sh_gather; | |
142 extern const function_base *const svldff1sw; | |
143 extern const function_base *const svldff1sw_gather; | |
144 extern const function_base *const svldff1ub; | |
145 extern const function_base *const svldff1ub_gather; | |
146 extern const function_base *const svldff1uh; | |
147 extern const function_base *const svldff1uh_gather; | |
148 extern const function_base *const svldff1uw; | |
149 extern const function_base *const svldff1uw_gather; | |
150 extern const function_base *const svldnf1; | |
151 extern const function_base *const svldnf1sb; | |
152 extern const function_base *const svldnf1sh; | |
153 extern const function_base *const svldnf1sw; | |
154 extern const function_base *const svldnf1ub; | |
155 extern const function_base *const svldnf1uh; | |
156 extern const function_base *const svldnf1uw; | |
157 extern const function_base *const svldnt1; | |
158 extern const function_base *const svlen; | |
159 extern const function_base *const svlsl; | |
160 extern const function_base *const svlsl_wide; | |
161 extern const function_base *const svlsr; | |
162 extern const function_base *const svlsr_wide; | |
163 extern const function_base *const svmad; | |
164 extern const function_base *const svmax; | |
165 extern const function_base *const svmaxnm; | |
166 extern const function_base *const svmaxnmv; | |
167 extern const function_base *const svmaxv; | |
168 extern const function_base *const svmin; | |
169 extern const function_base *const svminnm; | |
170 extern const function_base *const svminnmv; | |
171 extern const function_base *const svminv; | |
172 extern const function_base *const svmla; | |
173 extern const function_base *const svmla_lane; | |
174 extern const function_base *const svmls; | |
175 extern const function_base *const svmls_lane; | |
176 extern const function_base *const svmmla; | |
177 extern const function_base *const svmov; | |
178 extern const function_base *const svmsb; | |
179 extern const function_base *const svmul; | |
180 extern const function_base *const svmul_lane; | |
181 extern const function_base *const svmulh; | |
182 extern const function_base *const svmulx; | |
183 extern const function_base *const svnand; | |
184 extern const function_base *const svneg; | |
185 extern const function_base *const svnmad; | |
186 extern const function_base *const svnmla; | |
187 extern const function_base *const svnmls; | |
188 extern const function_base *const svnmsb; | |
189 extern const function_base *const svnor; | |
190 extern const function_base *const svnot; | |
191 extern const function_base *const svorn; | |
192 extern const function_base *const svorr; | |
193 extern const function_base *const svorv; | |
194 extern const function_base *const svpfalse; | |
195 extern const function_base *const svpfirst; | |
196 extern const function_base *const svpnext; | |
197 extern const function_base *const svprfb; | |
198 extern const function_base *const svprfb_gather; | |
199 extern const function_base *const svprfd; | |
200 extern const function_base *const svprfd_gather; | |
201 extern const function_base *const svprfh; | |
202 extern const function_base *const svprfh_gather; | |
203 extern const function_base *const svprfw; | |
204 extern const function_base *const svprfw_gather; | |
205 extern const function_base *const svptest_any; | |
206 extern const function_base *const svptest_first; | |
207 extern const function_base *const svptest_last; | |
208 extern const function_base *const svptrue; | |
209 extern const function_base *const svptrue_pat; | |
210 extern const function_base *const svqadd; | |
211 extern const function_base *const svqdecb; | |
212 extern const function_base *const svqdecb_pat; | |
213 extern const function_base *const svqdecd; | |
214 extern const function_base *const svqdecd_pat; | |
215 extern const function_base *const svqdech; | |
216 extern const function_base *const svqdech_pat; | |
217 extern const function_base *const svqdecp; | |
218 extern const function_base *const svqdecw; | |
219 extern const function_base *const svqdecw_pat; | |
220 extern const function_base *const svqincb; | |
221 extern const function_base *const svqincb_pat; | |
222 extern const function_base *const svqincd; | |
223 extern const function_base *const svqincd_pat; | |
224 extern const function_base *const svqinch; | |
225 extern const function_base *const svqinch_pat; | |
226 extern const function_base *const svqincp; | |
227 extern const function_base *const svqincw; | |
228 extern const function_base *const svqincw_pat; | |
229 extern const function_base *const svqsub; | |
230 extern const function_base *const svrbit; | |
231 extern const function_base *const svrdffr; | |
232 extern const function_base *const svrecpe; | |
233 extern const function_base *const svrecps; | |
234 extern const function_base *const svrecpx; | |
235 extern const function_base *const svreinterpret; | |
236 extern const function_base *const svrev; | |
237 extern const function_base *const svrevb; | |
238 extern const function_base *const svrevh; | |
239 extern const function_base *const svrevw; | |
240 extern const function_base *const svrinta; | |
241 extern const function_base *const svrinti; | |
242 extern const function_base *const svrintm; | |
243 extern const function_base *const svrintn; | |
244 extern const function_base *const svrintp; | |
245 extern const function_base *const svrintx; | |
246 extern const function_base *const svrintz; | |
247 extern const function_base *const svrsqrte; | |
248 extern const function_base *const svrsqrts; | |
249 extern const function_base *const svscale; | |
250 extern const function_base *const svsel; | |
251 extern const function_base *const svset2; | |
252 extern const function_base *const svset3; | |
253 extern const function_base *const svset4; | |
254 extern const function_base *const svsetffr; | |
255 extern const function_base *const svsplice; | |
256 extern const function_base *const svsqrt; | |
257 extern const function_base *const svst1; | |
258 extern const function_base *const svst1_scatter; | |
259 extern const function_base *const svst1b; | |
260 extern const function_base *const svst1b_scatter; | |
261 extern const function_base *const svst1h; | |
262 extern const function_base *const svst1h_scatter; | |
263 extern const function_base *const svst1w; | |
264 extern const function_base *const svst1w_scatter; | |
265 extern const function_base *const svst2; | |
266 extern const function_base *const svst3; | |
267 extern const function_base *const svst4; | |
268 extern const function_base *const svstnt1; | |
269 extern const function_base *const svsub; | |
270 extern const function_base *const svsubr; | |
271 extern const function_base *const svsudot; | |
272 extern const function_base *const svsudot_lane; | |
273 extern const function_base *const svtbl; | |
274 extern const function_base *const svtmad; | |
275 extern const function_base *const svtrn1; | |
276 extern const function_base *const svtrn1q; | |
277 extern const function_base *const svtrn2; | |
278 extern const function_base *const svtrn2q; | |
279 extern const function_base *const svtsmul; | |
280 extern const function_base *const svtssel; | |
281 extern const function_base *const svundef; | |
282 extern const function_base *const svundef2; | |
283 extern const function_base *const svundef3; | |
284 extern const function_base *const svundef4; | |
285 extern const function_base *const svunpkhi; | |
286 extern const function_base *const svunpklo; | |
287 extern const function_base *const svusdot; | |
288 extern const function_base *const svusdot_lane; | |
289 extern const function_base *const svusmmla; | |
290 extern const function_base *const svuzp1; | |
291 extern const function_base *const svuzp1q; | |
292 extern const function_base *const svuzp2; | |
293 extern const function_base *const svuzp2q; | |
294 extern const function_base *const svwhilele; | |
295 extern const function_base *const svwhilelt; | |
296 extern const function_base *const svwrffr; | |
297 extern const function_base *const svzip1; | |
298 extern const function_base *const svzip1q; | |
299 extern const function_base *const svzip2; | |
300 extern const function_base *const svzip2q; | |
301 } | |
302 } | |
303 | |
304 #endif |