]>
Commit | Line | Data |
---|---|---|
f56d48b2 | 1 | /* function_base declaration for RISC-V 'V' Extension for GNU compiler. |
83ffe9cd | 2 | Copyright (C) 2022-2023 Free Software Foundation, Inc. |
f56d48b2 JZZ |
3 | Contributed by Ju-Zhe Zhong (juzhe.zhong@rivai.ai), RiVAI Technologies Ltd. |
4 | ||
5 | This file is part of GCC. | |
6 | ||
7 | GCC is free software; you can redistribute it and/or modify it | |
8 | under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 3, or (at your option) | |
10 | any later version. | |
11 | ||
12 | GCC is distributed in the hope that it will be useful, but | |
13 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GCC; see the file COPYING3. If not see | |
19 | <http://www.gnu.org/licenses/>. */ | |
20 | ||
21 | #ifndef GCC_RISCV_VECTOR_BUILTINS_BASES_H | |
22 | #define GCC_RISCV_VECTOR_BUILTINS_BASES_H | |
23 | ||
24 | namespace riscv_vector { | |
25 | ||
26 | namespace bases { | |
27 | extern const function_base *const vsetvl; | |
28 | extern const function_base *const vsetvlmax; | |
a143c3f7 JZZ |
29 | extern const function_base *const vle; |
30 | extern const function_base *const vse; | |
ab39fa8c JZZ |
31 | extern const function_base *const vlm; |
32 | extern const function_base *const vsm; | |
eb1c2960 JZZ |
33 | extern const function_base *const vlse; |
34 | extern const function_base *const vsse; | |
6c9bcb6c JZZ |
35 | extern const function_base *const vluxei8; |
36 | extern const function_base *const vluxei16; | |
37 | extern const function_base *const vluxei32; | |
38 | extern const function_base *const vluxei64; | |
39 | extern const function_base *const vloxei8; | |
40 | extern const function_base *const vloxei16; | |
41 | extern const function_base *const vloxei32; | |
42 | extern const function_base *const vloxei64; | |
43 | extern const function_base *const vsuxei8; | |
44 | extern const function_base *const vsuxei16; | |
45 | extern const function_base *const vsuxei32; | |
46 | extern const function_base *const vsuxei64; | |
47 | extern const function_base *const vsoxei8; | |
48 | extern const function_base *const vsoxei16; | |
49 | extern const function_base *const vsoxei32; | |
50 | extern const function_base *const vsoxei64; | |
2a937fb5 JZZ |
51 | extern const function_base *const vadd; |
52 | extern const function_base *const vsub; | |
a035d133 | 53 | extern const function_base *const vrsub; |
2a937fb5 JZZ |
54 | extern const function_base *const vand; |
55 | extern const function_base *const vor; | |
56 | extern const function_base *const vxor; | |
57 | extern const function_base *const vsll; | |
58 | extern const function_base *const vsra; | |
59 | extern const function_base *const vsrl; | |
60 | extern const function_base *const vmin; | |
61 | extern const function_base *const vmax; | |
62 | extern const function_base *const vminu; | |
63 | extern const function_base *const vmaxu; | |
64 | extern const function_base *const vmul; | |
65 | extern const function_base *const vdiv; | |
66 | extern const function_base *const vrem; | |
67 | extern const function_base *const vdivu; | |
68 | extern const function_base *const vremu; | |
d7f8c79a JZZ |
69 | extern const function_base *const vneg; |
70 | extern const function_base *const vnot; | |
99fa5d94 JZZ |
71 | extern const function_base *const vsext; |
72 | extern const function_base *const vzext; | |
7ad729a0 JZZ |
73 | extern const function_base *const vsadd; |
74 | extern const function_base *const vssub; | |
75 | extern const function_base *const vsaddu; | |
76 | extern const function_base *const vssubu; | |
f56d48b2 JZZ |
77 | } |
78 | ||
79 | } // end namespace riscv_vector | |
80 | ||
81 | #endif |