]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/arm/arm-mve-builtins-base.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / arm / arm-mve-builtins-base.h
1 /* ACLE support for Arm MVE (__ARM_FEATURE_MVE intrinsics)
2 Copyright (C) 2023-2024 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_ARM_MVE_BUILTINS_BASE_H
21 #define GCC_ARM_MVE_BUILTINS_BASE_H
22
23 namespace arm_mve {
24 namespace functions {
25
26 extern const function_base *const vabavq;
27 extern const function_base *const vabdq;
28 extern const function_base *const vabsq;
29 extern const function_base *const vaddlvaq;
30 extern const function_base *const vaddlvq;
31 extern const function_base *const vaddq;
32 extern const function_base *const vaddvaq;
33 extern const function_base *const vaddvq;
34 extern const function_base *const vandq;
35 extern const function_base *const vbrsrq;
36 extern const function_base *const vcaddq_rot270;
37 extern const function_base *const vcaddq_rot90;
38 extern const function_base *const vclsq;
39 extern const function_base *const vclzq;
40 extern const function_base *const vcmlaq;
41 extern const function_base *const vcmlaq_rot180;
42 extern const function_base *const vcmlaq_rot270;
43 extern const function_base *const vcmlaq_rot90;
44 extern const function_base *const vcmpcsq;
45 extern const function_base *const vcmpeqq;
46 extern const function_base *const vcmpgeq;
47 extern const function_base *const vcmpgtq;
48 extern const function_base *const vcmphiq;
49 extern const function_base *const vcmpleq;
50 extern const function_base *const vcmpltq;
51 extern const function_base *const vcmpneq;
52 extern const function_base *const vcmulq;
53 extern const function_base *const vcmulq_rot180;
54 extern const function_base *const vcmulq_rot270;
55 extern const function_base *const vcmulq_rot90;
56 extern const function_base *const vcreateq;
57 extern const function_base *const vdupq;
58 extern const function_base *const veorq;
59 extern const function_base *const vfmaq;
60 extern const function_base *const vfmasq;
61 extern const function_base *const vfmsq;
62 extern const function_base *const vhaddq;
63 extern const function_base *const vhcaddq_rot270;
64 extern const function_base *const vhcaddq_rot90;
65 extern const function_base *const vhsubq;
66 extern const function_base *const vld1q;
67 extern const function_base *const vmaxaq;
68 extern const function_base *const vmaxavq;
69 extern const function_base *const vmaxnmaq;
70 extern const function_base *const vmaxnmavq;
71 extern const function_base *const vmaxnmq;
72 extern const function_base *const vmaxnmvq;
73 extern const function_base *const vmaxq;
74 extern const function_base *const vmaxvq;
75 extern const function_base *const vminaq;
76 extern const function_base *const vminavq;
77 extern const function_base *const vminnmaq;
78 extern const function_base *const vminnmavq;
79 extern const function_base *const vminnmq;
80 extern const function_base *const vminnmvq;
81 extern const function_base *const vminq;
82 extern const function_base *const vminvq;
83 extern const function_base *const vmladavaq;
84 extern const function_base *const vmladavaxq;
85 extern const function_base *const vmladavq;
86 extern const function_base *const vmladavxq;
87 extern const function_base *const vmlaldavaq;
88 extern const function_base *const vmlaldavaxq;
89 extern const function_base *const vmlaldavq;
90 extern const function_base *const vmlaldavxq;
91 extern const function_base *const vmlaq;
92 extern const function_base *const vmlasq;
93 extern const function_base *const vmlsdavaq;
94 extern const function_base *const vmlsdavaxq;
95 extern const function_base *const vmlsdavq;
96 extern const function_base *const vmlsdavxq;
97 extern const function_base *const vmlsldavaq;
98 extern const function_base *const vmlsldavaxq;
99 extern const function_base *const vmlsldavq;
100 extern const function_base *const vmlsldavxq;
101 extern const function_base *const vmovlbq;
102 extern const function_base *const vmovltq;
103 extern const function_base *const vmovnbq;
104 extern const function_base *const vmovntq;
105 extern const function_base *const vmulhq;
106 extern const function_base *const vmullbq_int;
107 extern const function_base *const vmullbq_poly;
108 extern const function_base *const vmulltq_int;
109 extern const function_base *const vmulltq_poly;
110 extern const function_base *const vmulq;
111 extern const function_base *const vmvnq;
112 extern const function_base *const vnegq;
113 extern const function_base *const vorrq;
114 extern const function_base *const vpselq;
115 extern const function_base *const vqabsq;
116 extern const function_base *const vqaddq;
117 extern const function_base *const vqdmladhq;
118 extern const function_base *const vqdmladhxq;
119 extern const function_base *const vqdmlahq;
120 extern const function_base *const vqdmlashq;
121 extern const function_base *const vqdmlsdhq;
122 extern const function_base *const vqdmlsdhxq;
123 extern const function_base *const vqdmulhq;
124 extern const function_base *const vqdmullbq;
125 extern const function_base *const vqdmulltq;
126 extern const function_base *const vqmovnbq;
127 extern const function_base *const vqmovntq;
128 extern const function_base *const vqmovunbq;
129 extern const function_base *const vqmovuntq;
130 extern const function_base *const vqnegq;
131 extern const function_base *const vqrdmladhq;
132 extern const function_base *const vqrdmladhxq;
133 extern const function_base *const vqrdmlahq;
134 extern const function_base *const vqrdmlashq;
135 extern const function_base *const vqrdmlsdhq;
136 extern const function_base *const vqrdmlsdhxq;
137 extern const function_base *const vqrdmulhq;
138 extern const function_base *const vqrshlq;
139 extern const function_base *const vqrshrnbq;
140 extern const function_base *const vqrshrntq;
141 extern const function_base *const vqrshrunbq;
142 extern const function_base *const vqrshruntq;
143 extern const function_base *const vqshlq;
144 extern const function_base *const vqshluq;
145 extern const function_base *const vqshrnbq;
146 extern const function_base *const vqshrntq;
147 extern const function_base *const vqshrunbq;
148 extern const function_base *const vqshruntq;
149 extern const function_base *const vqsubq;
150 extern const function_base *const vreinterpretq;
151 extern const function_base *const vrev16q;
152 extern const function_base *const vrev32q;
153 extern const function_base *const vrev64q;
154 extern const function_base *const vrhaddq;
155 extern const function_base *const vrmlaldavhaq;
156 extern const function_base *const vrmlaldavhaxq;
157 extern const function_base *const vrmlaldavhq;
158 extern const function_base *const vrmlaldavhxq;
159 extern const function_base *const vrmlsldavhaq;
160 extern const function_base *const vrmlsldavhaxq;
161 extern const function_base *const vrmlsldavhq;
162 extern const function_base *const vrmlsldavhxq;
163 extern const function_base *const vrmulhq;
164 extern const function_base *const vrndaq;
165 extern const function_base *const vrndmq;
166 extern const function_base *const vrndnq;
167 extern const function_base *const vrndpq;
168 extern const function_base *const vrndq;
169 extern const function_base *const vrndxq;
170 extern const function_base *const vrshlq;
171 extern const function_base *const vrshrnbq;
172 extern const function_base *const vrshrntq;
173 extern const function_base *const vrshrq;
174 extern const function_base *const vshllbq;
175 extern const function_base *const vshlltq;
176 extern const function_base *const vshlq;
177 extern const function_base *const vshrnbq;
178 extern const function_base *const vshrntq;
179 extern const function_base *const vshrq;
180 extern const function_base *const vsliq;
181 extern const function_base *const vsriq;
182 extern const function_base *const vst1q;
183 extern const function_base *const vsubq;
184 extern const function_base *const vuninitializedq;
185
186 } /* end namespace arm_mve::functions */
187 } /* end namespace arm_mve */
188
189 #endif