]>
git.ipfire.org Git - thirdparty/gcc.git/blob - 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.
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_ARM_MVE_BUILTINS_BASE_H
21 #define GCC_ARM_MVE_BUILTINS_BASE_H
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
;
186 } /* end namespace arm_mve::functions */
187 } /* end namespace arm_mve */