1 /* ACLE support for AArch64 SME.
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_AARCH64_SVE_BUILTINS_SME_H
21 #define GCC_AARCH64_SVE_BUILTINS_SME_H
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
;