50
50
#define LOG2VECTLENSP (LOG2VECTLENDP+1)
51
51
52
52
#define ENABLE_SP
53
+ //@#define ENABLE_SP
53
54
#define ENABLE_DP
55
+ //@#define ENABLE_DP
54
56
55
57
#if CONFIG != 2
56
58
#if defined(ENABLE_RVVM1NOFMA ) || defined(ENABLE_RVVM2NOFMA )
57
59
#error "RVV NOFMA only supported for CONFIG=2"
58
60
#else
59
61
#define ENABLE_FMA_SP
62
+ //@#define ENABLE_FMA_SP
60
63
#define ENABLE_FMA_DP
64
+ //@#define ENABLE_FMA_DP
61
65
#endif
62
66
#endif
63
67
@@ -155,9 +159,13 @@ typedef vfloat64m1x4_t tdi_t;
155
159
#if SLEEF_RVV_VLEN == 0
156
160
#define VECTLENSP (__riscv_vsetvlmax_e32m1())
157
161
#define VECTLENDP SLEEF_RVV_DP_RUNTIME_VL()
162
+ //@#define VECTLENSP __riscv_vsetvlmax_e32m1()
163
+ //@#define VECTLENDP __riscv_vsetvlmax_e64m1()
158
164
#else
159
165
#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
160
166
#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
167
+ //@#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
168
+ //@#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
161
169
#endif
162
170
#define SLEEF_RVV_SP_VCAST_VF_F __riscv_vfmv_v_f_f32m1
163
171
#define SLEEF_RVV_SP_VCAST_VI2_I __riscv_vmv_v_x_i32m1
@@ -280,9 +288,13 @@ typedef vfloat64m2x4_t tdi_t;
280
288
#if SLEEF_RVV_VLEN == 0
281
289
#define VECTLENSP (__riscv_vsetvlmax_e32m2())
282
290
#define VECTLENDP SLEEF_RVV_DP_RUNTIME_VL()
291
+ //@#define VECTLENSP __riscv_vsetvlmax_e32m2()
292
+ //@#define VECTLENDP __riscv_vsetvlmax_e64m2()
283
293
#else
284
294
#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
285
295
#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
296
+ //@#define VECTLENSP (SLEEF_RVV_SP_LMUL * SLEEF_RVV_VLEN / sizeof(float))
297
+ //@#define VECTLENDP (SLEEF_RVV_DP_LMUL * SLEEF_RVV_VLEN / sizeof(double))
286
298
#endif
287
299
#define SLEEF_RVV_SP_VCAST_VF_F __riscv_vfmv_v_f_f32m2
288
300
#define SLEEF_RVV_SP_VCAST_VI2_I __riscv_vmv_v_x_i32m2
@@ -1382,6 +1394,22 @@ static INLINE void vprefetch_v_p(const void *ptr) {}
1382
1394
#define vxor_vo_vo_vo rvv_sp_vxor_vo_vo_vo
1383
1395
#endif // ENABLE_RVV_SP
1384
1396
1397
+ //@#ifdef ENABLE_RVV_SP
1398
+ //@#define vmask rvv_sp_vmask
1399
+ //@#define vopmask rvv_sp_vopmask
1400
+ //
1401
+ //@#define vcast_vm_i_i rvv_sp_vcast_vm_i_i
1402
+ //@#define vcast_vi_vm rvv_sp_vcast_vi_vm
1403
+ //@#define vand_vm_vm_vm rvv_sp_vand_vm_vm_vm
1404
+ //@#define vor_vm_vm_vm rvv_sp_vor_vm_vm_vm
1405
+ //@#define vxor_vm_vm_vm rvv_sp_vxor_vm_vm_vm
1406
+ //@#define vandnot_vm_vm_vm rvv_sp_vandnot_vm_vm_vm
1407
+ //@#define vand_vo_vo_vo rvv_sp_vand_vo_vo_vo
1408
+ //@#define vandnot_vo_vo_vo rvv_sp_vandnot_vo_vo_vo
1409
+ //@#define vor_vo_vo_vo rvv_sp_vor_vo_vo_vo
1410
+ //@#define vxor_vo_vo_vo rvv_sp_vxor_vo_vo_vo
1411
+ //@#endif // ENABLE_RVV_SP
1412
+
1385
1413
// Types and functions that conflict with ENABLE_RVV_SP
1386
1414
#ifdef ENABLE_RVV_DP
1387
1415
#define vmask rvv_dp_vmask
@@ -1399,4 +1427,20 @@ static INLINE void vprefetch_v_p(const void *ptr) {}
1399
1427
#define vxor_vo_vo_vo rvv_dp_vxor_vo_vo_vo
1400
1428
#endif // ENABLE_RVV_DP
1401
1429
1430
+ //@#ifdef ENABLE_RVV_DP
1431
+ //@#define vmask rvv_dp_vmask
1432
+ //@#define vopmask rvv_dp_vopmask
1433
+ //
1434
+ //@#define vcast_vm_i_i rvv_dp_vcast_vm_i_i
1435
+ //@#define vcast_vi_vm rvv_dp_vcast_vi_vm
1436
+ //@#define vand_vm_vm_vm rvv_dp_vand_vm_vm_vm
1437
+ //@#define vor_vm_vm_vm rvv_dp_vor_vm_vm_vm
1438
+ //@#define vxor_vm_vm_vm rvv_dp_vxor_vm_vm_vm
1439
+ //@#define vandnot_vm_vm_vm rvv_dp_vandnot_vm_vm_vm
1440
+ //@#define vand_vo_vo_vo rvv_dp_vand_vo_vo_vo
1441
+ //@#define vandnot_vo_vo_vo rvv_dp_vandnot_vo_vo_vo
1442
+ //@#define vor_vo_vo_vo rvv_dp_vor_vo_vo_vo
1443
+ //@#define vxor_vo_vo_vo rvv_dp_vxor_vo_vo_vo
1444
+ //@#endif // ENABLE_RVV_DP
1445
+
1402
1446
#endif // HELPERRVV_H
0 commit comments