clang 22.0.0git
riscv_nds.h
Go to the documentation of this file.
1/*===---- riscv_nds.h - Andes intrinsics -----------------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __RISCV_NDS_H
11#define __RISCV_NDS_H
12
13#include <stdint.h>
14
15#if defined(__cplusplus)
16extern "C" {
17#endif
18
19#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
20
21#if defined(__riscv_xandesperf)
22
23#if __riscv_xlen == 32
24
25static __inline__ int32_t __DEFAULT_FN_ATTRS __riscv_nds_ffb_32(uint32_t __a,
26 uint32_t __b) {
27 return __builtin_riscv_nds_ffb_32(__a, __b);
28}
29
30static __inline__ int32_t __DEFAULT_FN_ATTRS
31__riscv_nds_ffzmism_32(uint32_t __a, uint32_t __b) {
32 return __builtin_riscv_nds_ffzmism_32(__a, __b);
33}
34
35static __inline__ int32_t __DEFAULT_FN_ATTRS
36__riscv_nds_ffmism_32(uint32_t __a, uint32_t __b) {
37 return __builtin_riscv_nds_ffmism_32(__a, __b);
38}
39
40static __inline__ int32_t __DEFAULT_FN_ATTRS
41__riscv_nds_flmism_32(uint32_t __a, uint32_t __b) {
42 return __builtin_riscv_nds_flmism_32(__a, __b);
43}
44
45#endif
46
47#if __riscv_xlen == 64
48
49static __inline__ int64_t __DEFAULT_FN_ATTRS __riscv_nds_ffb_64(uint64_t __a,
50 uint64_t __b) {
51 return __builtin_riscv_nds_ffb_64(__a, __b);
52}
53
54static __inline__ int64_t __DEFAULT_FN_ATTRS
55__riscv_nds_ffzmism_64(uint64_t __a, uint64_t __b) {
56 return __builtin_riscv_nds_ffzmism_64(__a, __b);
57}
58
59static __inline__ int64_t __DEFAULT_FN_ATTRS
60__riscv_nds_ffmism_64(uint64_t __a, uint64_t __b) {
61 return __builtin_riscv_nds_ffmism_64(__a, __b);
62}
63
64static __inline__ int64_t __DEFAULT_FN_ATTRS
65__riscv_nds_flmism_64(uint64_t __a, uint64_t __b) {
66 return __builtin_riscv_nds_flmism_64(__a, __b);
67}
68
69#endif
70
71#endif // defined(__riscv_xandesperf)
72
73#if defined(__riscv_xandesbfhcvt)
74
75static __inline__ float __DEFAULT_FN_ATTRS __riscv_nds_fcvt_s_bf16(__bf16 bf) {
76 return __builtin_riscv_nds_fcvt_s_bf16(bf);
77}
78
79static __inline__ __bf16 __DEFAULT_FN_ATTRS __riscv_nds_fcvt_bf16_s(float sf) {
80 return __builtin_riscv_nds_fcvt_bf16_s(sf);
81}
82
83#endif // defined(__riscv_xandesbfhcvt)
84
85#if defined(__cplusplus)
86}
87#endif
88
89#endif // define __RISCV_NDS_H
#define __DEFAULT_FN_ATTRS
static __inline__ vector float vector float __b
Definition altivec.h:578
static __inline__ void int __a
Definition emmintrin.h:4077