55
55
#define LOG2VECTLENSP (LOG2VECTLENDP+1)
56
56
57
57
#define ENABLE_SP
58
+ //@#define ENABLE_SP
58
59
#define ENABLE_DP
60
+ //@#define ENABLE_DP
59
61
60
62
#if CONFIG != 2
61
63
#if defined(ENABLE_RVVM1NOFMA ) || defined(ENABLE_RVVM2NOFMA )
62
64
#error "RVV NOFMA only supported for CONFIG=2"
63
65
#else
64
66
#define ENABLE_FMA_SP
67
+ //@#define ENABLE_FMA_SP
65
68
#define ENABLE_FMA_DP
69
+ //@#define ENABLE_FMA_DP
66
70
#endif
67
71
#endif
68
72
@@ -149,9 +153,13 @@ typedef vfloat64m1x4_t tdi_t;
149
153
#if SLEEF_RVV_VLEN == 0
150
154
#define VECTLENSP (__riscv_vsetvlmax_e32m1())
151
155
#define VECTLENDP SLEEF_RVV_DP_RUNTIME_VL()
156
+ //@#define VECTLENSP __riscv_vsetvlmax_e32m1()
157
+ //@#define VECTLENDP __riscv_vsetvlmax_e64m1()
152
158
#else
153
159
#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
154
160
#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))
155
163
#endif
156
164
#define SLEEF_RVV_SP_VCAST_VF_F __riscv_vfmv_v_f_f32m1
157
165
#define SLEEF_RVV_SP_VCAST_VI2_I __riscv_vmv_v_x_i32m1
@@ -250,9 +258,13 @@ typedef vfloat64m2x4_t tdi_t;
250
258
#if SLEEF_RVV_VLEN == 0
251
259
#define VECTLENSP (__riscv_vsetvlmax_e32m2())
252
260
#define VECTLENDP SLEEF_RVV_DP_RUNTIME_VL()
261
+ //@#define VECTLENSP __riscv_vsetvlmax_e32m2()
262
+ //@#define VECTLENDP __riscv_vsetvlmax_e64m2()
253
263
#else
254
264
#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
255
265
#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))
256
268
#endif
257
269
#define SLEEF_RVV_SP_VCAST_VF_F __riscv_vfmv_v_f_f32m2
258
270
#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) {}
1321
1333
#define vxor_vo_vo_vo rvv_sp_vxor_vo_vo_vo
1322
1334
#endif // ENABLE_RVV_SP
1323
1335
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
+
1324
1345
// Types and functions that conflict with ENABLE_RVV_SP
1325
1346
#ifdef ENABLE_RVV_DP
1326
1347
#define vopmask rvv_dp_vopmask
@@ -1331,4 +1352,13 @@ static INLINE void vprefetch_v_p(const void *ptr) {}
1331
1352
#define vxor_vo_vo_vo rvv_dp_vxor_vo_vo_vo
1332
1353
#endif // ENABLE_RVV_DP
1333
1354
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
+
1334
1364
#endif // HELPERRVV_H
0 commit comments