[PR testsuite/116860] Testsuite adjustment for recently added tests
[official-gcc.git] / gcc / config / riscv / riscv-vector-builtins-shapes.h
blob858799b0391843e10e748616f3aa2b66bba3a926
1 /* function_shape declaration for RISC-V 'V' Extension for GNU compiler.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3 Contributed by Ju-Zhe Zhong (juzhe.zhong@rivai.ai), RiVAI Technologies Ltd.
5 This file is part of GCC.
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.
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.
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/>. */
21 #ifndef GCC_RISCV_VECTOR_BUILTINS_SHAPES_H
22 #define GCC_RISCV_VECTOR_BUILTINS_SHAPES_H
24 namespace riscv_vector {
26 namespace shapes {
27 extern const function_shape *const vsetvl;
28 extern const function_shape *const vsetvlmax;
29 extern const function_shape *const loadstore;
30 extern const function_shape *const indexed_loadstore;
31 extern const function_shape *const th_loadstore_width;
32 extern const function_shape *const th_indexed_loadstore_width;
33 extern const function_shape *const alu;
34 extern const function_shape *const alu_frm;
35 extern const function_shape *const widen_alu;
36 extern const function_shape *const widen_alu_frm;
37 extern const function_shape *const no_mask_policy;
38 extern const function_shape *const return_mask;
39 extern const function_shape *const narrow_alu;
40 extern const function_shape *const narrow_alu_frm;
41 extern const function_shape *const move;
42 extern const function_shape *const mask_alu;
43 extern const function_shape *const reduc_alu;
44 extern const function_shape *const reduc_alu_frm;
45 extern const function_shape *const scalar_move;
46 extern const function_shape *const th_extract;
47 extern const function_shape *const vundefined;
48 extern const function_shape *const misc;
49 extern const function_shape *const vset;
50 extern const function_shape *const vget;
51 extern const function_shape *const vcreate;
52 extern const function_shape *const read_vl;
53 extern const function_shape *const fault_load;
54 extern const function_shape *const vlenb;
55 extern const function_shape *const seg_loadstore;
56 extern const function_shape *const seg_indexed_loadstore;
57 extern const function_shape *const seg_fault_load;
58 /* Below function_shape are Vector Crypto*/
59 extern const function_shape *const crypto_vv;
60 extern const function_shape *const crypto_vi;
61 extern const function_shape *const crypto_vv_no_op_type;
62 /* Sifive vendor extension. */
63 extern const function_shape *const sf_vqmacc;
64 extern const function_shape *const sf_vfnrclip;
67 } // end namespace riscv_vector
69 #endif