1 /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics)
2 Copyright (C) 2020-2025 Free Software Foundation, Inc.
4 This file is part of GCC.
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)
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.
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/>. */
20 #ifndef GCC_AARCH64_SVE_BUILTINS_SVE2_H
21 #define GCC_AARCH64_SVE_BUILTINS_SVE2_H
27 extern const function_base
*const svaba
;
28 extern const function_base
*const svabalb
;
29 extern const function_base
*const svabalt
;
30 extern const function_base
*const svabdlb
;
31 extern const function_base
*const svabdlt
;
32 extern const function_base
*const svadalp
;
33 extern const function_base
*const svadclb
;
34 extern const function_base
*const svadclt
;
35 extern const function_base
*const svaddhnb
;
36 extern const function_base
*const svaddhnt
;
37 extern const function_base
*const svaddlb
;
38 extern const function_base
*const svaddlbt
;
39 extern const function_base
*const svaddlt
;
40 extern const function_base
*const svaddp
;
41 extern const function_base
*const svaddqv
;
42 extern const function_base
*const svaddwb
;
43 extern const function_base
*const svaddwt
;
44 extern const function_base
*const svaesd
;
45 extern const function_base
*const svaese
;
46 extern const function_base
*const svaesimc
;
47 extern const function_base
*const svaesmc
;
48 extern const function_base
*const svandqv
;
49 extern const function_base
*const svbcax
;
50 extern const function_base
*const svbdep
;
51 extern const function_base
*const svbext
;
52 extern const function_base
*const svbfmlslb
;
53 extern const function_base
*const svbfmlslb_lane
;
54 extern const function_base
*const svbfmlslt
;
55 extern const function_base
*const svbfmlslt_lane
;
56 extern const function_base
*const svbgrp
;
57 extern const function_base
*const svbsl
;
58 extern const function_base
*const svbsl1n
;
59 extern const function_base
*const svbsl2n
;
60 extern const function_base
*const svcdot
;
61 extern const function_base
*const svcdot_lane
;
62 extern const function_base
*const svclamp
;
63 extern const function_base
*const svcntp
;
64 extern const function_base
*const svcvt1
;
65 extern const function_base
*const svcvt2
;
66 extern const function_base
*const svcvtl
;
67 extern const function_base
*const svcvtlt
;
68 extern const function_base
*const svcvtlt1
;
69 extern const function_base
*const svcvtlt2
;
70 extern const function_base
*const svcvtn
;
71 extern const function_base
*const svcvtnb
;
72 extern const function_base
*const svcvtnt
;
73 extern const function_base
*const svcvtx
;
74 extern const function_base
*const svcvtxnt
;
75 extern const function_base
*const svdup_laneq
;
76 extern const function_base
*const sveor3
;
77 extern const function_base
*const sveorbt
;
78 extern const function_base
*const sveorqv
;
79 extern const function_base
*const sveortb
;
80 extern const function_base
*const svextq
;
81 extern const function_base
*const svhadd
;
82 extern const function_base
*const svhistcnt
;
83 extern const function_base
*const svhistseg
;
84 extern const function_base
*const svhsub
;
85 extern const function_base
*const svhsubr
;
86 extern const function_base
*const svld1q_gather
;
87 extern const function_base
*const svld1udq
;
88 extern const function_base
*const svld1uwq
;
89 extern const function_base
*const svld2q
;
90 extern const function_base
*const svld3q
;
91 extern const function_base
*const svld4q
;
92 extern const function_base
*const svldnt1_gather
;
93 extern const function_base
*const svldnt1sb_gather
;
94 extern const function_base
*const svldnt1sh_gather
;
95 extern const function_base
*const svldnt1sw_gather
;
96 extern const function_base
*const svldnt1ub_gather
;
97 extern const function_base
*const svldnt1uh_gather
;
98 extern const function_base
*const svldnt1uw_gather
;
99 extern const function_base
*const svlogb
;
100 extern const function_base
*const svmatch
;
101 extern const function_base
*const svmaxnmp
;
102 extern const function_base
*const svmaxnmqv
;
103 extern const function_base
*const svmaxp
;
104 extern const function_base
*const svmaxqv
;
105 extern const function_base
*const svminnmp
;
106 extern const function_base
*const svminnmqv
;
107 extern const function_base
*const svminp
;
108 extern const function_base
*const svminqv
;
109 extern const function_base
*const svmlalb
;
110 extern const function_base
*const svmlalb_lane
;
111 extern const function_base
*const svmlallbb_lane
;
112 extern const function_base
*const svmlallbb
;
113 extern const function_base
*const svmlallbt_lane
;
114 extern const function_base
*const svmlallbt
;
115 extern const function_base
*const svmlalltb_lane
;
116 extern const function_base
*const svmlalltb
;
117 extern const function_base
*const svmlalltt_lane
;
118 extern const function_base
*const svmlalltt
;
119 extern const function_base
*const svmlalt
;
120 extern const function_base
*const svmlalt_lane
;
121 extern const function_base
*const svmlslb
;
122 extern const function_base
*const svmlslb_lane
;
123 extern const function_base
*const svmlslt
;
124 extern const function_base
*const svmlslt_lane
;
125 extern const function_base
*const svmovlb
;
126 extern const function_base
*const svmovlt
;
127 extern const function_base
*const svmullb
;
128 extern const function_base
*const svmullb_lane
;
129 extern const function_base
*const svmullt
;
130 extern const function_base
*const svmullt_lane
;
131 extern const function_base
*const svnbsl
;
132 extern const function_base
*const svnmatch
;
133 extern const function_base
*const svorqv
;
134 extern const function_base
*const svpext_lane
;
135 extern const function_base
*const svpmov
;
136 extern const function_base
*const svpmov_lane
;
137 extern const function_base
*const svpmul
;
138 extern const function_base
*const svpmullb
;
139 extern const function_base
*const svpmullb_pair
;
140 extern const function_base
*const svpmullt
;
141 extern const function_base
*const svpmullt_pair
;
142 extern const function_base
*const svpsel_lane
;
143 extern const function_base
*const svqabs
;
144 extern const function_base
*const svqcadd
;
145 extern const function_base
*const svqcvt
;
146 extern const function_base
*const svqcvtn
;
147 extern const function_base
*const svqdmlalb
;
148 extern const function_base
*const svqdmlalb_lane
;
149 extern const function_base
*const svqdmlalbt
;
150 extern const function_base
*const svqdmlalt
;
151 extern const function_base
*const svqdmlalt_lane
;
152 extern const function_base
*const svqdmlslb
;
153 extern const function_base
*const svqdmlslb_lane
;
154 extern const function_base
*const svqdmlslbt
;
155 extern const function_base
*const svqdmlslt
;
156 extern const function_base
*const svqdmlslt_lane
;
157 extern const function_base
*const svqdmulh
;
158 extern const function_base
*const svqdmulh_lane
;
159 extern const function_base
*const svqdmullb
;
160 extern const function_base
*const svqdmullb_lane
;
161 extern const function_base
*const svqdmullt
;
162 extern const function_base
*const svqdmullt_lane
;
163 extern const function_base
*const svqneg
;
164 extern const function_base
*const svqrdcmlah
;
165 extern const function_base
*const svqrdcmlah_lane
;
166 extern const function_base
*const svqrdmlah
;
167 extern const function_base
*const svqrdmlah_lane
;
168 extern const function_base
*const svqrdmlsh
;
169 extern const function_base
*const svqrdmlsh_lane
;
170 extern const function_base
*const svqrdmulh
;
171 extern const function_base
*const svqrdmulh_lane
;
172 extern const function_base
*const svqrshl
;
173 extern const function_base
*const svqrshr
;
174 extern const function_base
*const svqrshrn
;
175 extern const function_base
*const svqrshrnb
;
176 extern const function_base
*const svqrshrnt
;
177 extern const function_base
*const svqrshru
;
178 extern const function_base
*const svqrshrun
;
179 extern const function_base
*const svqrshrunb
;
180 extern const function_base
*const svqrshrunt
;
181 extern const function_base
*const svqshl
;
182 extern const function_base
*const svqshlu
;
183 extern const function_base
*const svqshrnb
;
184 extern const function_base
*const svqshrnt
;
185 extern const function_base
*const svqshrunb
;
186 extern const function_base
*const svqshrunt
;
187 extern const function_base
*const svqsubr
;
188 extern const function_base
*const svqxtnb
;
189 extern const function_base
*const svqxtnt
;
190 extern const function_base
*const svqxtunb
;
191 extern const function_base
*const svqxtunt
;
192 extern const function_base
*const svraddhnb
;
193 extern const function_base
*const svraddhnt
;
194 extern const function_base
*const svrax1
;
195 extern const function_base
*const svrevd
;
196 extern const function_base
*const svrhadd
;
197 extern const function_base
*const svrshl
;
198 extern const function_base
*const svrshr
;
199 extern const function_base
*const svrshrnb
;
200 extern const function_base
*const svrshrnt
;
201 extern const function_base
*const svrsra
;
202 extern const function_base
*const svrsubhnb
;
203 extern const function_base
*const svrsubhnt
;
204 extern const function_base
*const svsbclb
;
205 extern const function_base
*const svsbclt
;
206 extern const function_base
*const svshllb
;
207 extern const function_base
*const svshllt
;
208 extern const function_base
*const svshrnb
;
209 extern const function_base
*const svshrnt
;
210 extern const function_base
*const svsli
;
211 extern const function_base
*const svsm4e
;
212 extern const function_base
*const svsm4ekey
;
213 extern const function_base
*const svsqadd
;
214 extern const function_base
*const svsra
;
215 extern const function_base
*const svsri
;
216 extern const function_base
*const svst1dq
;
217 extern const function_base
*const svst1q_scatter
;
218 extern const function_base
*const svst1wq
;
219 extern const function_base
*const svst2q
;
220 extern const function_base
*const svst3q
;
221 extern const function_base
*const svst4q
;
222 extern const function_base
*const svstnt1_scatter
;
223 extern const function_base
*const svstnt1b_scatter
;
224 extern const function_base
*const svstnt1h_scatter
;
225 extern const function_base
*const svstnt1w_scatter
;
226 extern const function_base
*const svsubhnb
;
227 extern const function_base
*const svsubhnt
;
228 extern const function_base
*const svsublb
;
229 extern const function_base
*const svsublbt
;
230 extern const function_base
*const svsublt
;
231 extern const function_base
*const svsubltb
;
232 extern const function_base
*const svsubwb
;
233 extern const function_base
*const svsubwt
;
234 extern const function_base
*const svtbl2
;
235 extern const function_base
*const svtblq
;
236 extern const function_base
*const svtbx
;
237 extern const function_base
*const svtbxq
;
238 extern const function_base
*const svunpk
;
239 extern const function_base
*const svuqadd
;
240 extern const function_base
*const svuzp
;
241 extern const function_base
*const svuzpq
;
242 extern const function_base
*const svuzpq1
;
243 extern const function_base
*const svuzpq2
;
244 extern const function_base
*const svwhilege
;
245 extern const function_base
*const svwhilegt
;
246 extern const function_base
*const svwhilerw
;
247 extern const function_base
*const svwhilewr
;
248 extern const function_base
*const svxar
;
249 extern const function_base
*const svzip
;
250 extern const function_base
*const svzipq
;
251 extern const function_base
*const svzipq1
;
252 extern const function_base
*const svzipq2
;
253 extern const function_base
*const svluti2_lane
;
254 extern const function_base
*const svluti4_lane
;