]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/arm/arm-mve-builtins-base.h
arm: [MVE intrinsics] add support for mve_q_p_f
[thirdparty/gcc.git] / gcc / config / arm / arm-mve-builtins-base.h
CommitLineData
6f59caf1
CL
1/* ACLE support for Arm MVE (__ARM_FEATURE_MVE intrinsics)
2 Copyright (C) 2023 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
23namespace arm_mve {
24namespace functions {
25
6079d94a 26extern const function_base *const vabdq;
c32e1a71 27extern const function_base *const vabsq;
1942c5ab 28extern const function_base *const vaddq;
632f70d8 29extern const function_base *const vandq;
c32e1a71
CL
30extern const function_base *const vclsq;
31extern const function_base *const vclzq;
07685b39 32extern const function_base *const vcreateq;
632f70d8 33extern const function_base *const veorq;
6cff5f3d
CL
34extern const function_base *const vhaddq;
35extern const function_base *const vhsubq;
83fff825 36extern const function_base *const vmaxavq;
9c4fea24 37extern const function_base *const vmaxnmq;
644f4758 38extern const function_base *const vmaxq;
83fff825
CL
39extern const function_base *const vmaxvq;
40extern const function_base *const vminavq;
9c4fea24 41extern const function_base *const vminnmq;
644f4758 42extern const function_base *const vminq;
83fff825 43extern const function_base *const vminvq;
865c8956
CL
44extern const function_base *const vmovnbq;
45extern const function_base *const vmovntq;
6cff5f3d 46extern const function_base *const vmulhq;
1942c5ab 47extern const function_base *const vmulq;
c32e1a71 48extern const function_base *const vnegq;
f74588ac 49extern const function_base *const vorrq;
c32e1a71 50extern const function_base *const vqabsq;
6cff5f3d
CL
51extern const function_base *const vqaddq;
52extern const function_base *const vqdmulhq;
865c8956
CL
53extern const function_base *const vqmovnbq;
54extern const function_base *const vqmovntq;
55extern const function_base *const vqmovunbq;
56extern const function_base *const vqmovuntq;
c32e1a71 57extern const function_base *const vqnegq;
0c90fe02 58extern const function_base *const vqrdmulhq;
548e0613 59extern const function_base *const vqrshlq;
d8da15d6
CL
60extern const function_base *const vqrshrnbq;
61extern const function_base *const vqrshrntq;
b26c104f
CL
62extern const function_base *const vqrshrunbq;
63extern const function_base *const vqrshruntq;
9e838ad1 64extern const function_base *const vqshlq;
d8da15d6
CL
65extern const function_base *const vqshrnbq;
66extern const function_base *const vqshrntq;
b26c104f
CL
67extern const function_base *const vqshrunbq;
68extern const function_base *const vqshruntq;
6cff5f3d 69extern const function_base *const vqsubq;
00d97bf3 70extern const function_base *const vreinterpretq;
6cff5f3d
CL
71extern const function_base *const vrhaddq;
72extern const function_base *const vrmulhq;
95908b98
CL
73extern const function_base *const vrndaq;
74extern const function_base *const vrndmq;
75extern const function_base *const vrndnq;
76extern const function_base *const vrndpq;
865c8956 77extern const function_base *const vrndq;
95908b98 78extern const function_base *const vrndxq;
548e0613 79extern const function_base *const vrshlq;
d8da15d6
CL
80extern const function_base *const vrshrnbq;
81extern const function_base *const vrshrntq;
bb043cd3 82extern const function_base *const vrshrq;
8440230e
CL
83extern const function_base *const vshllbq;
84extern const function_base *const vshlltq;
9e838ad1 85extern const function_base *const vshlq;
d8da15d6
CL
86extern const function_base *const vshrnbq;
87extern const function_base *const vshrntq;
bb043cd3 88extern const function_base *const vshrq;
1942c5ab 89extern const function_base *const vsubq;
937ac2cd 90extern const function_base *const vuninitializedq;
00d97bf3 91
6f59caf1
CL
92} /* end namespace arm_mve::functions */
93} /* end namespace arm_mve */
94
95#endif