]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/aarch64/aarch64-sve-builtins-sme.h
1ed8d980577c3471e98653f28b258b3b3e1540c7
[thirdparty/gcc.git] / gcc / config / aarch64 / aarch64-sve-builtins-sme.h
1 /* ACLE support for AArch64 SME.
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_AARCH64_SVE_BUILTINS_SME_H
21 #define GCC_AARCH64_SVE_BUILTINS_SME_H
22
23 namespace aarch64_sve
24 {
25 namespace functions
26 {
27 extern const function_base *const arm_has_sme;
28 extern const function_base *const arm_in_streaming_mode;
29 extern const function_base *const svadd_za;
30 extern const function_base *const svadd_write_za;
31 extern const function_base *const svaddha_za;
32 extern const function_base *const svaddva_za;
33 extern const function_base *const svbmopa_za;
34 extern const function_base *const svbmops_za;
35 extern const function_base *const svcntsb;
36 extern const function_base *const svcntsd;
37 extern const function_base *const svcntsh;
38 extern const function_base *const svcntsw;
39 extern const function_base *const svdot_za;
40 extern const function_base *const svdot_lane_za;
41 extern const function_base *const svld1_hor_za;
42 extern const function_base *const svld1_ver_za;
43 extern const function_base *const svldr_za;
44 extern const function_base *const svldr_zt;
45 extern const function_base *const svluti2_lane_zt;
46 extern const function_base *const svluti4_lane_zt;
47 extern const function_base *const svmla_za;
48 extern const function_base *const svmla_lane_za;
49 extern const function_base *const svmls_za;
50 extern const function_base *const svmls_lane_za;
51 extern const function_base *const svmopa_za;
52 extern const function_base *const svmops_za;
53 extern const function_base *const svread_za;
54 extern const function_base *const svread_hor_za;
55 extern const function_base *const svread_ver_za;
56 extern const function_base *const svst1_hor_za;
57 extern const function_base *const svst1_ver_za;
58 extern const function_base *const svstr_za;
59 extern const function_base *const svstr_zt;
60 extern const function_base *const svsub_za;
61 extern const function_base *const svsub_write_za;
62 extern const function_base *const svsudot_za;
63 extern const function_base *const svsudot_lane_za;
64 extern const function_base *const svsuvdot_lane_za;
65 extern const function_base *const svsumopa_za;
66 extern const function_base *const svsumops_za;
67 extern const function_base *const svusdot_za;
68 extern const function_base *const svusdot_lane_za;
69 extern const function_base *const svusvdot_lane_za;
70 extern const function_base *const svusmopa_za;
71 extern const function_base *const svusmops_za;
72 extern const function_base *const svwrite_za;
73 extern const function_base *const svwrite_hor_za;
74 extern const function_base *const svwrite_ver_za;
75 extern const function_base *const svundef_za;
76 extern const function_base *const svvdot_lane_za;
77 extern const function_base *const svzero_mask_za;
78 extern const function_base *const svzero_za;
79 extern const function_base *const svzero_zt;
80 }
81 }
82
83 #endif