145
|
1 /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics)
|
|
2 Copyright (C) 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_SVE2_H
|
|
21 #define GCC_AARCH64_SVE_BUILTINS_SVE2_H
|
|
22
|
|
23 namespace aarch64_sve
|
|
24 {
|
|
25 namespace functions
|
|
26 {
|
|
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 svaddwb;
|
|
42 extern const function_base *const svaddwt;
|
|
43 extern const function_base *const svaesd;
|
|
44 extern const function_base *const svaese;
|
|
45 extern const function_base *const svaesimc;
|
|
46 extern const function_base *const svaesmc;
|
|
47 extern const function_base *const svbcax;
|
|
48 extern const function_base *const svbdep;
|
|
49 extern const function_base *const svbext;
|
|
50 extern const function_base *const svbgrp;
|
|
51 extern const function_base *const svbsl;
|
|
52 extern const function_base *const svbsl1n;
|
|
53 extern const function_base *const svbsl2n;
|
|
54 extern const function_base *const svcdot;
|
|
55 extern const function_base *const svcdot_lane;
|
|
56 extern const function_base *const svcvtlt;
|
|
57 extern const function_base *const svcvtx;
|
|
58 extern const function_base *const svcvtxnt;
|
|
59 extern const function_base *const sveor3;
|
|
60 extern const function_base *const sveorbt;
|
|
61 extern const function_base *const sveortb;
|
|
62 extern const function_base *const svhadd;
|
|
63 extern const function_base *const svhistcnt;
|
|
64 extern const function_base *const svhistseg;
|
|
65 extern const function_base *const svhsub;
|
|
66 extern const function_base *const svhsubr;
|
|
67 extern const function_base *const svldnt1_gather;
|
|
68 extern const function_base *const svldnt1sb_gather;
|
|
69 extern const function_base *const svldnt1sh_gather;
|
|
70 extern const function_base *const svldnt1sw_gather;
|
|
71 extern const function_base *const svldnt1ub_gather;
|
|
72 extern const function_base *const svldnt1uh_gather;
|
|
73 extern const function_base *const svldnt1uw_gather;
|
|
74 extern const function_base *const svlogb;
|
|
75 extern const function_base *const svmatch;
|
|
76 extern const function_base *const svmaxp;
|
|
77 extern const function_base *const svmaxnmp;
|
|
78 extern const function_base *const svmlalb;
|
|
79 extern const function_base *const svmlalb_lane;
|
|
80 extern const function_base *const svmlalt;
|
|
81 extern const function_base *const svmlalt_lane;
|
|
82 extern const function_base *const svmlslb;
|
|
83 extern const function_base *const svmlslb_lane;
|
|
84 extern const function_base *const svmlslt;
|
|
85 extern const function_base *const svmlslt_lane;
|
|
86 extern const function_base *const svminp;
|
|
87 extern const function_base *const svminnmp;
|
|
88 extern const function_base *const svmovlb;
|
|
89 extern const function_base *const svmovlt;
|
|
90 extern const function_base *const svmullb;
|
|
91 extern const function_base *const svmullb_lane;
|
|
92 extern const function_base *const svmullt;
|
|
93 extern const function_base *const svmullt_lane;
|
|
94 extern const function_base *const svnbsl;
|
|
95 extern const function_base *const svnmatch;
|
|
96 extern const function_base *const svpmul;
|
|
97 extern const function_base *const svpmullb;
|
|
98 extern const function_base *const svpmullb_pair;
|
|
99 extern const function_base *const svpmullt;
|
|
100 extern const function_base *const svpmullt_pair;
|
|
101 extern const function_base *const svqabs;
|
|
102 extern const function_base *const svqcadd;
|
|
103 extern const function_base *const svqdmlalb;
|
|
104 extern const function_base *const svqdmlalb_lane;
|
|
105 extern const function_base *const svqdmlalbt;
|
|
106 extern const function_base *const svqdmlalt;
|
|
107 extern const function_base *const svqdmlalt_lane;
|
|
108 extern const function_base *const svqdmlslb;
|
|
109 extern const function_base *const svqdmlslb_lane;
|
|
110 extern const function_base *const svqdmlslbt;
|
|
111 extern const function_base *const svqdmlslt;
|
|
112 extern const function_base *const svqdmlslt_lane;
|
|
113 extern const function_base *const svqdmulh;
|
|
114 extern const function_base *const svqdmulh_lane;
|
|
115 extern const function_base *const svqdmullb;
|
|
116 extern const function_base *const svqdmullb_lane;
|
|
117 extern const function_base *const svqdmullt;
|
|
118 extern const function_base *const svqdmullt_lane;
|
|
119 extern const function_base *const svqneg;
|
|
120 extern const function_base *const svqrdcmlah;
|
|
121 extern const function_base *const svqrdcmlah_lane;
|
|
122 extern const function_base *const svqrdmulh;
|
|
123 extern const function_base *const svqrdmulh_lane;
|
|
124 extern const function_base *const svqrdmlah;
|
|
125 extern const function_base *const svqrdmlah_lane;
|
|
126 extern const function_base *const svqrdmlsh;
|
|
127 extern const function_base *const svqrdmlsh_lane;
|
|
128 extern const function_base *const svqrshl;
|
|
129 extern const function_base *const svqrshrnb;
|
|
130 extern const function_base *const svqrshrnt;
|
|
131 extern const function_base *const svqrshrunb;
|
|
132 extern const function_base *const svqrshrunt;
|
|
133 extern const function_base *const svqshl;
|
|
134 extern const function_base *const svqshlu;
|
|
135 extern const function_base *const svqshrnb;
|
|
136 extern const function_base *const svqshrnt;
|
|
137 extern const function_base *const svqshrunb;
|
|
138 extern const function_base *const svqshrunt;
|
|
139 extern const function_base *const svqsubr;
|
|
140 extern const function_base *const svqxtnb;
|
|
141 extern const function_base *const svqxtnt;
|
|
142 extern const function_base *const svqxtunb;
|
|
143 extern const function_base *const svqxtunt;
|
|
144 extern const function_base *const svraddhnb;
|
|
145 extern const function_base *const svraddhnt;
|
|
146 extern const function_base *const svrax1;
|
|
147 extern const function_base *const svrhadd;
|
|
148 extern const function_base *const svrshl;
|
|
149 extern const function_base *const svrshr;
|
|
150 extern const function_base *const svrshrnb;
|
|
151 extern const function_base *const svrshrnt;
|
|
152 extern const function_base *const svrsra;
|
|
153 extern const function_base *const svrsubhnb;
|
|
154 extern const function_base *const svrsubhnt;
|
|
155 extern const function_base *const svsbclb;
|
|
156 extern const function_base *const svsbclt;
|
|
157 extern const function_base *const svshllb;
|
|
158 extern const function_base *const svshllt;
|
|
159 extern const function_base *const svshrnb;
|
|
160 extern const function_base *const svshrnt;
|
|
161 extern const function_base *const svsli;
|
|
162 extern const function_base *const svsm4e;
|
|
163 extern const function_base *const svsm4ekey;
|
|
164 extern const function_base *const svsqadd;
|
|
165 extern const function_base *const svsra;
|
|
166 extern const function_base *const svsri;
|
|
167 extern const function_base *const svstnt1_scatter;
|
|
168 extern const function_base *const svstnt1b_scatter;
|
|
169 extern const function_base *const svstnt1h_scatter;
|
|
170 extern const function_base *const svstnt1w_scatter;
|
|
171 extern const function_base *const svsubhnb;
|
|
172 extern const function_base *const svsubhnt;
|
|
173 extern const function_base *const svsublb;
|
|
174 extern const function_base *const svsublbt;
|
|
175 extern const function_base *const svsublt;
|
|
176 extern const function_base *const svsubltb;
|
|
177 extern const function_base *const svsubwb;
|
|
178 extern const function_base *const svsubwt;
|
|
179 extern const function_base *const svtbl2;
|
|
180 extern const function_base *const svtbx;
|
|
181 extern const function_base *const svuqadd;
|
|
182 extern const function_base *const svwhilege;
|
|
183 extern const function_base *const svwhilegt;
|
|
184 extern const function_base *const svwhilerw;
|
|
185 extern const function_base *const svwhilewr;
|
|
186 extern const function_base *const svxar;
|
|
187 }
|
|
188 }
|
|
189
|
|
190 #endif
|