]>
Commit | Line | Data |
---|---|---|
624d0f07 | 1 | /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics) |
8d9254fc | 2 | Copyright (C) 2018-2020 Free Software Foundation, Inc. |
624d0f07 RS |
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 svbic; | |
46 | extern const function_base *const svbrka; | |
47 | extern const function_base *const svbrkb; | |
48 | extern const function_base *const svbrkn; | |
49 | extern const function_base *const svbrkpa; | |
50 | extern const function_base *const svbrkpb; | |
51 | extern const function_base *const svcadd; | |
52 | extern const function_base *const svclasta; | |
53 | extern const function_base *const svclastb; | |
54 | extern const function_base *const svcls; | |
55 | extern const function_base *const svclz; | |
56 | extern const function_base *const svcmla; | |
57 | extern const function_base *const svcmla_lane; | |
58 | extern const function_base *const svcmpeq; | |
59 | extern const function_base *const svcmpeq_wide; | |
60 | extern const function_base *const svcmpge; | |
61 | extern const function_base *const svcmpge_wide; | |
62 | extern const function_base *const svcmpgt; | |
63 | extern const function_base *const svcmpgt_wide; | |
64 | extern const function_base *const svcmple; | |
65 | extern const function_base *const svcmple_wide; | |
66 | extern const function_base *const svcmplt; | |
67 | extern const function_base *const svcmplt_wide; | |
68 | extern const function_base *const svcmpne; | |
69 | extern const function_base *const svcmpne_wide; | |
70 | extern const function_base *const svcmpuo; | |
71 | extern const function_base *const svcnot; | |
72 | extern const function_base *const svcnt; | |
73 | extern const function_base *const svcntb; | |
74 | extern const function_base *const svcntb_pat; | |
75 | extern const function_base *const svcntd; | |
76 | extern const function_base *const svcntd_pat; | |
77 | extern const function_base *const svcnth; | |
78 | extern const function_base *const svcnth_pat; | |
79 | extern const function_base *const svcntp; | |
80 | extern const function_base *const svcntw; | |
81 | extern const function_base *const svcntw_pat; | |
82 | extern const function_base *const svcompact; | |
83 | extern const function_base *const svcreate2; | |
84 | extern const function_base *const svcreate3; | |
85 | extern const function_base *const svcreate4; | |
86 | extern const function_base *const svcvt; | |
87 | extern const function_base *const svdiv; | |
88 | extern const function_base *const svdivr; | |
89 | extern const function_base *const svdot; | |
90 | extern const function_base *const svdot_lane; | |
91 | extern const function_base *const svdup; | |
92 | extern const function_base *const svdup_lane; | |
93 | extern const function_base *const svdupq; | |
94 | extern const function_base *const svdupq_lane; | |
95 | extern const function_base *const sveor; | |
96 | extern const function_base *const sveorv; | |
97 | extern const function_base *const svexpa; | |
98 | extern const function_base *const svext; | |
99 | extern const function_base *const svextb; | |
100 | extern const function_base *const svexth; | |
101 | extern const function_base *const svextw; | |
102 | extern const function_base *const svget2; | |
103 | extern const function_base *const svget3; | |
104 | extern const function_base *const svget4; | |
105 | extern const function_base *const svindex; | |
106 | extern const function_base *const svinsr; | |
107 | extern const function_base *const svlasta; | |
108 | extern const function_base *const svlastb; | |
109 | extern const function_base *const svld1; | |
110 | extern const function_base *const svld1_gather; | |
111 | extern const function_base *const svld1rq; | |
112 | extern const function_base *const svld1sb; | |
113 | extern const function_base *const svld1sb_gather; | |
114 | extern const function_base *const svld1sh; | |
115 | extern const function_base *const svld1sh_gather; | |
116 | extern const function_base *const svld1sw; | |
117 | extern const function_base *const svld1sw_gather; | |
118 | extern const function_base *const svld1ub; | |
119 | extern const function_base *const svld1ub_gather; | |
120 | extern const function_base *const svld1uh; | |
121 | extern const function_base *const svld1uh_gather; | |
122 | extern const function_base *const svld1uw; | |
123 | extern const function_base *const svld1uw_gather; | |
124 | extern const function_base *const svld2; | |
125 | extern const function_base *const svld3; | |
126 | extern const function_base *const svld4; | |
127 | extern const function_base *const svldff1; | |
128 | extern const function_base *const svldff1_gather; | |
129 | extern const function_base *const svldff1sb; | |
130 | extern const function_base *const svldff1sb_gather; | |
131 | extern const function_base *const svldff1sh; | |
132 | extern const function_base *const svldff1sh_gather; | |
133 | extern const function_base *const svldff1sw; | |
134 | extern const function_base *const svldff1sw_gather; | |
135 | extern const function_base *const svldff1ub; | |
136 | extern const function_base *const svldff1ub_gather; | |
137 | extern const function_base *const svldff1uh; | |
138 | extern const function_base *const svldff1uh_gather; | |
139 | extern const function_base *const svldff1uw; | |
140 | extern const function_base *const svldff1uw_gather; | |
141 | extern const function_base *const svldnf1; | |
142 | extern const function_base *const svldnf1sb; | |
143 | extern const function_base *const svldnf1sh; | |
144 | extern const function_base *const svldnf1sw; | |
145 | extern const function_base *const svldnf1ub; | |
146 | extern const function_base *const svldnf1uh; | |
147 | extern const function_base *const svldnf1uw; | |
148 | extern const function_base *const svldnt1; | |
149 | extern const function_base *const svlen; | |
150 | extern const function_base *const svlsl; | |
151 | extern const function_base *const svlsl_wide; | |
152 | extern const function_base *const svlsr; | |
153 | extern const function_base *const svlsr_wide; | |
154 | extern const function_base *const svmad; | |
155 | extern const function_base *const svmax; | |
156 | extern const function_base *const svmaxnm; | |
157 | extern const function_base *const svmaxnmv; | |
158 | extern const function_base *const svmaxv; | |
159 | extern const function_base *const svmin; | |
160 | extern const function_base *const svminnm; | |
161 | extern const function_base *const svminnmv; | |
162 | extern const function_base *const svminv; | |
163 | extern const function_base *const svmla; | |
164 | extern const function_base *const svmla_lane; | |
165 | extern const function_base *const svmls; | |
166 | extern const function_base *const svmls_lane; | |
167 | extern const function_base *const svmov; | |
168 | extern const function_base *const svmsb; | |
169 | extern const function_base *const svmul; | |
170 | extern const function_base *const svmul_lane; | |
171 | extern const function_base *const svmulh; | |
172 | extern const function_base *const svmulx; | |
173 | extern const function_base *const svnand; | |
174 | extern const function_base *const svneg; | |
175 | extern const function_base *const svnmad; | |
176 | extern const function_base *const svnmla; | |
177 | extern const function_base *const svnmls; | |
178 | extern const function_base *const svnmsb; | |
179 | extern const function_base *const svnor; | |
180 | extern const function_base *const svnot; | |
181 | extern const function_base *const svorn; | |
182 | extern const function_base *const svorr; | |
183 | extern const function_base *const svorv; | |
184 | extern const function_base *const svpfalse; | |
185 | extern const function_base *const svpfirst; | |
186 | extern const function_base *const svpnext; | |
187 | extern const function_base *const svprfb; | |
188 | extern const function_base *const svprfb_gather; | |
189 | extern const function_base *const svprfd; | |
190 | extern const function_base *const svprfd_gather; | |
191 | extern const function_base *const svprfh; | |
192 | extern const function_base *const svprfh_gather; | |
193 | extern const function_base *const svprfw; | |
194 | extern const function_base *const svprfw_gather; | |
195 | extern const function_base *const svptest_any; | |
196 | extern const function_base *const svptest_first; | |
197 | extern const function_base *const svptest_last; | |
198 | extern const function_base *const svptrue; | |
199 | extern const function_base *const svptrue_pat; | |
200 | extern const function_base *const svqadd; | |
201 | extern const function_base *const svqdecb; | |
202 | extern const function_base *const svqdecb_pat; | |
203 | extern const function_base *const svqdecd; | |
204 | extern const function_base *const svqdecd_pat; | |
205 | extern const function_base *const svqdech; | |
206 | extern const function_base *const svqdech_pat; | |
207 | extern const function_base *const svqdecp; | |
208 | extern const function_base *const svqdecw; | |
209 | extern const function_base *const svqdecw_pat; | |
210 | extern const function_base *const svqincb; | |
211 | extern const function_base *const svqincb_pat; | |
212 | extern const function_base *const svqincd; | |
213 | extern const function_base *const svqincd_pat; | |
214 | extern const function_base *const svqinch; | |
215 | extern const function_base *const svqinch_pat; | |
216 | extern const function_base *const svqincp; | |
217 | extern const function_base *const svqincw; | |
218 | extern const function_base *const svqincw_pat; | |
219 | extern const function_base *const svqsub; | |
220 | extern const function_base *const svrbit; | |
221 | extern const function_base *const svrdffr; | |
222 | extern const function_base *const svrecpe; | |
223 | extern const function_base *const svrecps; | |
224 | extern const function_base *const svrecpx; | |
225 | extern const function_base *const svreinterpret; | |
226 | extern const function_base *const svrev; | |
227 | extern const function_base *const svrevb; | |
228 | extern const function_base *const svrevh; | |
229 | extern const function_base *const svrevw; | |
230 | extern const function_base *const svrinta; | |
231 | extern const function_base *const svrinti; | |
232 | extern const function_base *const svrintm; | |
233 | extern const function_base *const svrintn; | |
234 | extern const function_base *const svrintp; | |
235 | extern const function_base *const svrintx; | |
236 | extern const function_base *const svrintz; | |
237 | extern const function_base *const svrsqrte; | |
238 | extern const function_base *const svrsqrts; | |
239 | extern const function_base *const svscale; | |
240 | extern const function_base *const svsel; | |
241 | extern const function_base *const svset2; | |
242 | extern const function_base *const svset3; | |
243 | extern const function_base *const svset4; | |
244 | extern const function_base *const svsetffr; | |
245 | extern const function_base *const svsplice; | |
246 | extern const function_base *const svsqrt; | |
247 | extern const function_base *const svst1; | |
248 | extern const function_base *const svst1_scatter; | |
249 | extern const function_base *const svst1b; | |
250 | extern const function_base *const svst1b_scatter; | |
251 | extern const function_base *const svst1h; | |
252 | extern const function_base *const svst1h_scatter; | |
253 | extern const function_base *const svst1w; | |
254 | extern const function_base *const svst1w_scatter; | |
255 | extern const function_base *const svst2; | |
256 | extern const function_base *const svst3; | |
257 | extern const function_base *const svst4; | |
258 | extern const function_base *const svstnt1; | |
259 | extern const function_base *const svsub; | |
260 | extern const function_base *const svsubr; | |
261 | extern const function_base *const svtbl; | |
262 | extern const function_base *const svtmad; | |
263 | extern const function_base *const svtrn1; | |
264 | extern const function_base *const svtrn2; | |
265 | extern const function_base *const svtsmul; | |
266 | extern const function_base *const svtssel; | |
267 | extern const function_base *const svundef; | |
268 | extern const function_base *const svundef2; | |
269 | extern const function_base *const svundef3; | |
270 | extern const function_base *const svundef4; | |
271 | extern const function_base *const svunpkhi; | |
272 | extern const function_base *const svunpklo; | |
273 | extern const function_base *const svuzp1; | |
274 | extern const function_base *const svuzp2; | |
275 | extern const function_base *const svwhilele; | |
276 | extern const function_base *const svwhilelt; | |
277 | extern const function_base *const svwrffr; | |
278 | extern const function_base *const svzip1; | |
279 | extern const function_base *const svzip2; | |
280 | } | |
281 | } | |
282 | ||
283 | #endif |