Skip to content

Commit 2eae1cc

Browse files
author
Simon Hosie
committed
Add helperrvv.h inline header defines.
1 parent 6cc4764 commit 2eae1cc

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

src/arch/helperrvv.h

+30
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,18 @@
5555
#define LOG2VECTLENSP (LOG2VECTLENDP+1)
5656

5757
#define ENABLE_SP
58+
//@#define ENABLE_SP
5859
#define ENABLE_DP
60+
//@#define ENABLE_DP
5961

6062
#if CONFIG != 2
6163
#if defined(ENABLE_RVVM1NOFMA) || defined(ENABLE_RVVM2NOFMA)
6264
#error "RVV NOFMA only supported for CONFIG=2"
6365
#else
6466
#define ENABLE_FMA_SP
67+
//@#define ENABLE_FMA_SP
6568
#define ENABLE_FMA_DP
69+
//@#define ENABLE_FMA_DP
6670
#endif
6771
#endif
6872

@@ -149,9 +153,13 @@ typedef vfloat64m1x4_t tdi_t;
149153
#if SLEEF_RVV_VLEN == 0
150154
#define VECTLENSP (__riscv_vsetvlmax_e32m1())
151155
#define VECTLENDP SLEEF_RVV_DP_RUNTIME_VL()
156+
//@#define VECTLENSP __riscv_vsetvlmax_e32m1()
157+
//@#define VECTLENDP __riscv_vsetvlmax_e64m1()
152158
#else
153159
#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
154160
#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
161+
//@#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
162+
//@#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
155163
#endif
156164
#define SLEEF_RVV_SP_VCAST_VF_F __riscv_vfmv_v_f_f32m1
157165
#define SLEEF_RVV_SP_VCAST_VI2_I __riscv_vmv_v_x_i32m1
@@ -250,9 +258,13 @@ typedef vfloat64m2x4_t tdi_t;
250258
#if SLEEF_RVV_VLEN == 0
251259
#define VECTLENSP (__riscv_vsetvlmax_e32m2())
252260
#define VECTLENDP SLEEF_RVV_DP_RUNTIME_VL()
261+
//@#define VECTLENSP __riscv_vsetvlmax_e32m2()
262+
//@#define VECTLENDP __riscv_vsetvlmax_e64m2()
253263
#else
254264
#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
255265
#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
266+
//@#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
267+
//@#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
256268
#endif
257269
#define SLEEF_RVV_SP_VCAST_VF_F __riscv_vfmv_v_f_f32m2
258270
#define SLEEF_RVV_SP_VCAST_VI2_I __riscv_vmv_v_x_i32m2
@@ -1321,6 +1333,15 @@ static INLINE void vprefetch_v_p(const void *ptr) {}
13211333
#define vxor_vo_vo_vo rvv_sp_vxor_vo_vo_vo
13221334
#endif // ENABLE_RVV_SP
13231335

1336+
//@#ifdef ENABLE_RVV_SP
1337+
//@#define vopmask rvv_sp_vopmask
1338+
//
1339+
//@#define vand_vo_vo_vo rvv_sp_vand_vo_vo_vo
1340+
//@#define vandnot_vo_vo_vo rvv_sp_vandnot_vo_vo_vo
1341+
//@#define vor_vo_vo_vo rvv_sp_vor_vo_vo_vo
1342+
//@#define vxor_vo_vo_vo rvv_sp_vxor_vo_vo_vo
1343+
//@#endif // ENABLE_RVV_SP
1344+
13241345
// Types and functions that conflict with ENABLE_RVV_SP
13251346
#ifdef ENABLE_RVV_DP
13261347
#define vopmask rvv_dp_vopmask
@@ -1331,4 +1352,13 @@ static INLINE void vprefetch_v_p(const void *ptr) {}
13311352
#define vxor_vo_vo_vo rvv_dp_vxor_vo_vo_vo
13321353
#endif // ENABLE_RVV_DP
13331354

1355+
//@#ifdef ENABLE_RVV_DP
1356+
//@#define vopmask rvv_dp_vopmask
1357+
//
1358+
//@#define vand_vo_vo_vo rvv_dp_vand_vo_vo_vo
1359+
//@#define vandnot_vo_vo_vo rvv_dp_vandnot_vo_vo_vo
1360+
//@#define vor_vo_vo_vo rvv_dp_vor_vo_vo_vo
1361+
//@#define vxor_vo_vo_vo rvv_dp_vxor_vo_vo_vo
1362+
//@#endif // ENABLE_RVV_DP
1363+
13341364
#endif // HELPERRVV_H

src/common/keywords.txt

+2
Original file line numberDiff line numberDiff line change
@@ -679,3 +679,5 @@ Sleef_rempitabdp
679679
Sleef_rempitabqp
680680
vcastu_vm_vi
681681
vcastu_vi_vm
682+
rvv_sp_vopmask
683+
rvv_dp_vopmask

0 commit comments

Comments
 (0)