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