NMSIS-Core  Version 1.4.0
NMSIS-Core support for Nuclei processor-based devices
core_feature_vector.h
1 /*
2  * Copyright (c) 2019 Nuclei Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Licensed under the Apache License, Version 2.0 (the License); you may
7  * not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #ifndef __CORE_FEATURE_VECTOR__
19 #define __CORE_FEATURE_VECTOR__
20 
25 /*
26  * Vector Feature Configuration Macro:
27  * 1. __VECTOR_PRESENT: Define whether Vector Unit is present or not
28  * * 0: Not present
29  * * 1: Present
30  */
31 #ifdef __cplusplus
32  extern "C" {
33 #endif
34 
35 #include "core_feature_base.h"
36 
37 #if defined(__VECTOR_PRESENT) && (__VECTOR_PRESENT == 1)
38 
39 /* ########################### CPU Vector Intrinsic Functions ########################### */
62 #if defined(__INC_INTRINSIC_API) && (__INC_INTRINSIC_API == 1)
63 #include <riscv_vector.h>
64 #endif
65 
73 {
76 }
77 
84 {
86 }
87  /* End of Doxygen Group NMSIS_Core_Vector_Intrinsic */
89 #endif /* defined(__VECTOR_PRESENT) && (__VECTOR_PRESENT == 1) */
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
95 #endif /* __CORE_FEATURE_VECTOR__ */
#define MSTATUS_VS
#define MSTATUS_VS_INITIAL
#define __RV_CSR_CLEAR(csr, val)
CSR operation Macro for csrc instruction.
#define __RV_CSR_SET(csr, val)
CSR operation Macro for csrs instruction.
#define CSR_MSTATUS
#define __STATIC_FORCEINLINE
Define a static function that should be always inlined by the compiler.
Definition: nmsis_gcc.h:70
__STATIC_FORCEINLINE void __enable_vector(void)
Enable Vector Unit.
__STATIC_FORCEINLINE void __disable_vector(void)
Disable Vector Unit.