comparison gcc/config/aarch64/aarch64-sve-builtins-sve2.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) 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