RISC-V: Allow RVV intrinsic when function target("arch=+v")
[official-gcc.git] / gcc / config / riscv / riscv_vector.h
blobaa0c3aa69c08e08f9619e289739244275195f113
1 /* RISC-V 'V' Extension intrinsics include file.
2 Copyright (C) 2022-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
8 by the Free Software Foundation; either version 3, or (at your
9 option) any later version.
11 GCC is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
14 License for more details.
16 Under Section 7 of GPL version 3, you are granted additional
17 permissions described in the GCC Runtime Library Exception, version
18 3.1, as published by the Free Software Foundation.
20 You should have received a copy of the GNU General Public License and
21 a copy of the GCC Runtime Library Exception along with this program;
22 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23 <http://www.gnu.org/licenses/>. */
25 #ifndef __RISCV_VECTOR_H
26 #define __RISCV_VECTOR_H
28 #include <stdint.h>
29 #include <stddef.h>
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 /* NOTE: This implementation of riscv_vector.h is intentionally short. It does
36 not define the RVV types and intrinsic functions directly in C and C++
37 code, but instead uses the following pragma to tell GCC to insert the
38 necessary type and function definitions itself. The net effect is the
39 same, and the file is a complete implementation of riscv_vector.h. */
40 #pragma riscv intrinsic "vector"
42 #ifdef __cplusplus
44 #endif // __cplusplus
45 #endif // __RISCV_VECTOR_H