Skip to content

Commit 9edb805

Browse files
committed
fix builds with t-head toolchains that use old versions of the intrinsics spec
1 parent 1332f8a commit 9edb805

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+900
-696
lines changed

common_riscv64.h

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,23 @@ static inline int blas_quickdivide(blasint x, blasint y){
9191
#define BUFFER_SIZE ( 32 << 20)
9292
#define SEEK_ADDRESS
9393

94-
#if defined(C910V) || defined(RISCV64_ZVL256B) || defined(__riscv_v)
94+
#if defined(C910V) || (defined(RISCV64_ZVL256B) && (defined(__clang__) || defined(RVV_COMPATIBLE_GCC)))
9595
# include <riscv_vector.h>
96+
#endif
97+
98+
#if defined( __riscv_xtheadc ) && defined( __riscv_v ) && ( __riscv_v <= 7000 )
99+
// t-head toolchain uses obsolete rvv intrinsics, can't build for C910V without this
100+
#define RISCV_0p10_INTRINSICS
101+
#define RISCV_RVV(x) x
102+
#else
103+
#define RISCV_RVV(x) __riscv_ ## x
104+
#endif
105+
106+
#if defined(C910V) || defined(RISCV64_ZVL256B)
96107
# if !defined(DOUBLE)
97-
# define EXTRACT_FLOAT(v) __riscv_vfmv_f_s_f32m1_f32(v)
108+
# define EXTRACT_FLOAT(v) RISCV_RVV(vfmv_f_s_f32m1_f32)(v)
98109
# else
99-
# define EXTRACT_FLOAT(v) __riscv_vfmv_f_s_f64m1_f64(v)
110+
# define EXTRACT_FLOAT(v) RISCV_RVV(vfmv_f_s_f64m1_f64)(v)
100111
# endif
101112
#else
102113
# define EXTRACT_FLOAT(v) (v[0])

cpuid_riscv64.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,13 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7272

7373
#define CPU_GENERIC 0
7474
#define CPU_C910V 1
75-
#define CPU_RISCV64_ZVL256B 2
75+
#define CPU_x280 2
76+
#define CPU_RISCV64_ZVL256B 3
7677

7778
static char *cpuname[] = {
7879
"RISCV64_GENERIC",
7980
"C910V",
81+
"x280",
8082
"CPU_RISCV64_ZVL256B"
8183
};
8284

kernel/riscv64/amax_vector.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,19 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4949
#define JOIN2(x, y) JOIN2_X(x, y)
5050
#define JOIN(v, w, x, y, z) JOIN2( JOIN2( JOIN2( JOIN2( v, w ), x), y), z)
5151

52-
#define VSETVL JOIN(__riscv_vsetvl, _e, ELEN, LMUL, _)
52+
#define VSETVL JOIN(RISCV_RVV(vsetvl), _e, ELEN, LMUL, _)
5353
#define FLOAT_V_T JOIN(vfloat, ELEN, LMUL, _t, _)
5454
#define FLOAT_V_T_M1 JOIN(vfloat, ELEN, m1, _t, _)
55-
#define VLEV_FLOAT JOIN(__riscv_vle, ELEN, _v_f, ELEN, LMUL)
56-
#define VLSEV_FLOAT JOIN(__riscv_vlse, ELEN, _v_f, ELEN, LMUL)
57-
#define VFREDMAXVS_FLOAT JOIN(__riscv_vfredmax_vs_f, ELEN, LMUL, _f, JOIN2( ELEN, m1))
58-
#define VFABS_FLOAT JOIN(__riscv_vfabs, _v_f, ELEN, LMUL, _)
59-
#define VFMVVF_FLOAT JOIN(__riscv_vfmv, _v_f_f, ELEN, LMUL, _)
60-
#define VFMVVF_FLOAT_M1 JOIN(__riscv_vfmv, _v_f_f, ELEN, m1, _)
55+
#define VLEV_FLOAT JOIN(RISCV_RVV(vle), ELEN, _v_f, ELEN, LMUL)
56+
#define VLSEV_FLOAT JOIN(RISCV_RVV(vlse), ELEN, _v_f, ELEN, LMUL)
57+
#ifdef RISCV_0p10_INTRINSICS
58+
#define VFREDMAXVS_FLOAT(va, vb, gvl) JOIN(RISCV_RVV(vfredmax_vs_f), ELEN, LMUL, _f, JOIN2( ELEN, m1))(v_res, va, vb, gvl)
59+
#else
60+
#define VFREDMAXVS_FLOAT JOIN(RISCV_RVV(vfredmax_vs_f), ELEN, LMUL, _f, JOIN2( ELEN, m1))
61+
#endif
62+
#define VFABS_FLOAT JOIN(RISCV_RVV(vfabs), _v_f, ELEN, LMUL, _)
63+
#define VFMVVF_FLOAT JOIN(RISCV_RVV(vfmv), _v_f_f, ELEN, LMUL, _)
64+
#define VFMVVF_FLOAT_M1 JOIN(RISCV_RVV(vfmv), _v_f_f, ELEN, m1, _)
6165

6266
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
6367
{

kernel/riscv64/amin_vector.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,19 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4848
#define JOIN2(x, y) JOIN2_X(x, y)
4949
#define JOIN(v, w, x, y, z) JOIN2( JOIN2( JOIN2( JOIN2( v, w ), x), y), z)
5050

51-
#define VSETVL JOIN(__riscv_vsetvl, _e, ELEN, LMUL, _)
51+
#define VSETVL JOIN(RISCV_RVV(vsetvl), _e, ELEN, LMUL, _)
5252
#define FLOAT_V_T JOIN(vfloat, ELEN, LMUL, _t, _)
5353
#define FLOAT_V_T_M1 JOIN(vfloat, ELEN, m1, _t, _)
54-
#define VLEV_FLOAT JOIN(__riscv_vle, ELEN, _v_f, ELEN, LMUL)
55-
#define VLSEV_FLOAT JOIN(__riscv_vlse, ELEN, _v_f, ELEN, LMUL)
56-
#define VFREDMINVS_FLOAT JOIN(__riscv_vfredmin_vs_f, ELEN, LMUL, _f, JOIN2( ELEN, m1))
57-
#define VFABS_FLOAT JOIN(__riscv_vfabs, _v_f, ELEN, LMUL, _)
58-
#define VFMVVF_FLOAT JOIN(__riscv_vfmv, _v_f_f ELEN, LMUL, _)
59-
#define VFMVVF_FLOAT_M1 JOIN(__riscv_vfmv, _v_f_f, ELEN, m1, _)
54+
#define VLEV_FLOAT JOIN(RISCV_RVV(vle), ELEN, _v_f, ELEN, LMUL)
55+
#define VLSEV_FLOAT JOIN(RISCV_RVV(vlse), ELEN, _v_f, ELEN, LMUL)
56+
#ifdef RISCV_0p10_INTRINSICS
57+
#define VFREDMINVS_FLOAT(va, vb, gvl) JOIN(RISCV_RVV(vfredmin_vs_f), ELEN, LMUL, _f, JOIN2( ELEN, m1))(v_res, va, vb, gvl)
58+
#else
59+
#define VFREDMINVS_FLOAT JOIN(RISCV_RVV(vfredmin_vs_f), ELEN, LMUL, _f, JOIN2( ELEN, m1))
60+
#endif
61+
#define VFABS_FLOAT JOIN(RISCV_RVV(vfabs), _v_f, ELEN, LMUL, _)
62+
#define VFMVVF_FLOAT JOIN(RISCV_RVV(vfmv), _v_f_f ELEN, LMUL, _)
63+
#define VFMVVF_FLOAT_M1 JOIN(RISCV_RVV(vfmv), _v_f_f, ELEN, m1, _)
6064

6165
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
6266
{

kernel/riscv64/asum_vector.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,20 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4949
#define JOIN2(x, y) JOIN2_X(x, y)
5050
#define JOIN(v, w, x, y, z) JOIN2( JOIN2( JOIN2( JOIN2( v, w ), x), y), z)
5151

52-
#define VSETVL JOIN(__riscv_vsetvl, _e, ELEN, LMUL, _)
52+
#define VSETVL JOIN(RISCV_RVV(vsetvl), _e, ELEN, LMUL, _)
5353
#define FLOAT_V_T JOIN(vfloat, ELEN, LMUL, _t, _)
5454
#define FLOAT_V_T_M1 JOIN(vfloat, ELEN, m1, _t, _)
55-
#define VLEV_FLOAT JOIN(__riscv_vle, ELEN, _v_f, ELEN, LMUL)
56-
#define VLSEV_FLOAT JOIN(__riscv_vlse, ELEN, _v_f, ELEN, LMUL)
57-
#define VFREDSUMVS_FLOAT JOIN(__riscv_vfredusum_vs_f, ELEN, LMUL, _f, JOIN2( ELEN, m1))
58-
#define VFABS_FLOAT JOIN(__riscv_vfabs, _v_f, ELEN, LMUL, _)
59-
#define VFMVVF_FLOAT JOIN(__riscv_vfmv, _v_f_f, ELEN, LMUL, _)
60-
#define VFMVVF_FLOAT_M1 JOIN(__riscv_vfmv, _v_f_f, ELEN, m1, _)
61-
#define VFADDVV_FLOAT JOIN(__riscv_vfadd, _vv_f, ELEN, LMUL, _)
55+
#define VLEV_FLOAT JOIN(RISCV_RVV(vle), ELEN, _v_f, ELEN, LMUL)
56+
#define VLSEV_FLOAT JOIN(RISCV_RVV(vlse), ELEN, _v_f, ELEN, LMUL)
57+
#ifdef RISCV_0p10_INTRINSICS
58+
#define VFREDSUMVS_FLOAT(va, vb, gvl) JOIN(RISCV_RVV(vfredusum_vs_f), ELEN, LMUL, _f, JOIN2( ELEN, m1))(v_res, va, vb, gvl)
59+
#else
60+
#define VFREDSUMVS_FLOAT JOIN(RISCV_RVV(vfredusum_vs_f), ELEN, LMUL, _f, JOIN2( ELEN, m1))
61+
#endif
62+
#define VFABS_FLOAT JOIN(RISCV_RVV(vfabs), _v_f, ELEN, LMUL, _)
63+
#define VFMVVF_FLOAT JOIN(RISCV_RVV(vfmv), _v_f_f, ELEN, LMUL, _)
64+
#define VFMVVF_FLOAT_M1 JOIN(RISCV_RVV(vfmv), _v_f_f, ELEN, m1, _)
65+
#define VFADDVV_FLOAT JOIN(RISCV_RVV(vfadd), _vv_f, ELEN, LMUL, _)
6266

6367
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
6468
{

kernel/riscv64/axpby_vector.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4848
#define JOIN2(x, y) JOIN2_X(x, y)
4949
#define JOIN(v, w, x, y, z) JOIN2( JOIN2( JOIN2( JOIN2( v, w ), x), y), z)
5050

51-
#define VSETVL JOIN(__riscv_vsetvl, _e, ELEN, LMUL, _)
51+
#define VSETVL JOIN(RISCV_RVV(vsetvl), _e, ELEN, LMUL, _)
5252
#define FLOAT_V_T JOIN(vfloat, ELEN, LMUL, _t, _)
53-
#define VLEV_FLOAT JOIN(__riscv_vle, ELEN, _v_f, ELEN, LMUL)
54-
#define VLSEV_FLOAT JOIN(__riscv_vlse, ELEN, _v_f, ELEN, LMUL)
55-
#define VSEV_FLOAT JOIN(__riscv_vse, ELEN, _v_f, ELEN, LMUL)
56-
#define VSSEV_FLOAT JOIN(__riscv_vsse, ELEN, _v_f, ELEN, LMUL)
57-
#define VFMACCVF_FLOAT JOIN(__riscv_vfmacc, _vf_f, ELEN, LMUL, _)
58-
#define VFMVVF_FLOAT JOIN(__riscv_vfmv, _v_f_f, ELEN, LMUL, _)
59-
#define VFMULVF_FLOAT JOIN(__riscv_vfmul, _vf_f, ELEN, LMUL, _)
53+
#define VLEV_FLOAT JOIN(RISCV_RVV(vle), ELEN, _v_f, ELEN, LMUL)
54+
#define VLSEV_FLOAT JOIN(RISCV_RVV(vlse), ELEN, _v_f, ELEN, LMUL)
55+
#define VSEV_FLOAT JOIN(RISCV_RVV(vse), ELEN, _v_f, ELEN, LMUL)
56+
#define VSSEV_FLOAT JOIN(RISCV_RVV(vsse), ELEN, _v_f, ELEN, LMUL)
57+
#define VFMACCVF_FLOAT JOIN(RISCV_RVV(vfmacc), _vf_f, ELEN, LMUL, _)
58+
#define VFMVVF_FLOAT JOIN(RISCV_RVV(vfmv), _v_f_f, ELEN, LMUL, _)
59+
#define VFMULVF_FLOAT JOIN(RISCV_RVV(vfmul), _vf_f, ELEN, LMUL, _)
6060

6161
int CNAME(BLASLONG n, FLOAT alpha, FLOAT *x, BLASLONG inc_x, FLOAT beta, FLOAT *y, BLASLONG inc_y)
6262
{

kernel/riscv64/axpy_vector.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,13 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4949
#define JOIN2(x, y) JOIN2_X(x, y)
5050
#define JOIN(v, w, x, y, z) JOIN2( JOIN2( JOIN2( JOIN2( v, w ), x), y), z)
5151

52-
#define VSETVL JOIN(__riscv_vsetvl, _e, ELEN, LMUL, _)
52+
#define VSETVL JOIN(RISCV_RVV(vsetvl), _e, ELEN, LMUL, _)
5353
#define FLOAT_V_T JOIN(vfloat, ELEN, LMUL, _t, _)
54-
#define VLEV_FLOAT JOIN(__riscv_vle, ELEN, _v_f, ELEN, LMUL)
55-
#define VLSEV_FLOAT JOIN(__riscv_vlse, ELEN, _v_f, ELEN, LMUL)
56-
#define VSEV_FLOAT JOIN(__riscv_vse, ELEN, _v_f, ELEN, LMUL)
57-
#define VSSEV_FLOAT JOIN(__riscv_vsse, ELEN, _v_f, ELEN, LMUL)
58-
#define VFMACCVF_FLOAT JOIN(__riscv_vfmacc, _vf_f, ELEN, LMUL, _)
54+
#define VLEV_FLOAT JOIN(RISCV_RVV(vle), ELEN, _v_f, ELEN, LMUL)
55+
#define VLSEV_FLOAT JOIN(RISCV_RVV(vlse), ELEN, _v_f, ELEN, LMUL)
56+
#define VSEV_FLOAT JOIN(RISCV_RVV(vse), ELEN, _v_f, ELEN, LMUL)
57+
#define VSSEV_FLOAT JOIN(RISCV_RVV(vsse), ELEN, _v_f, ELEN, LMUL)
58+
#define VFMACCVF_FLOAT JOIN(RISCV_RVV(vfmacc), _vf_f, ELEN, LMUL, _)
5959

6060
int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y, FLOAT *dummy, BLASLONG dummy2)
6161
{

kernel/riscv64/copy_vector.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4747
#define JOIN2(x, y) JOIN2_X(x, y)
4848
#define JOIN(v, w, x, y, z) JOIN2( JOIN2( JOIN2( JOIN2( v, w ), x), y), z)
4949

50-
#define VSETVL JOIN(__riscv_vsetvl, _e, ELEN, LMUL, _)
50+
#define VSETVL JOIN(RISCV_RVV(vsetvl), _e, ELEN, LMUL, _)
5151
#define FLOAT_V_T JOIN(vfloat, ELEN, LMUL, _t, _)
52-
#define VLEV_FLOAT JOIN(__riscv_vle, ELEN, _v_f, ELEN, LMUL)
53-
#define VLSEV_FLOAT JOIN(__riscv_vlse, ELEN, _v_f, ELEN, LMUL)
54-
#define VSEV_FLOAT JOIN(__riscv_vse, ELEN, _v_f, ELEN, LMUL)
55-
#define VSSEV_FLOAT JOIN(__riscv_vsse, ELEN, _v_f, ELEN, LMUL)
52+
#define VLEV_FLOAT JOIN(RISCV_RVV(vle), ELEN, _v_f, ELEN, LMUL)
53+
#define VLSEV_FLOAT JOIN(RISCV_RVV(vlse), ELEN, _v_f, ELEN, LMUL)
54+
#define VSEV_FLOAT JOIN(RISCV_RVV(vse), ELEN, _v_f, ELEN, LMUL)
55+
#define VSSEV_FLOAT JOIN(RISCV_RVV(vsse), ELEN, _v_f, ELEN, LMUL)
5656

5757
int CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
5858
{
@@ -71,7 +71,7 @@ int CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
7171
stride_x = inc_x * sizeof(FLOAT);
7272
if(gvl <= n/4){
7373
BLASLONG inc_xv = inc_x * gvl;
74-
BLASLONG gvl3 = gvl * 3;
74+
unsigned int gvl3 = gvl * 3;
7575
BLASLONG inc_xv3 = inc_xv * 3;
7676
for(i=0,j=0; i<n/(4*gvl); i++){
7777
v0 = VLSEV_FLOAT(&x[ix], stride_x, gvl);
@@ -99,7 +99,7 @@ int CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
9999
if(gvl <= n/4){
100100
BLASLONG inc_yv = inc_y * gvl;
101101
BLASLONG inc_yv3 = inc_yv * 3;
102-
BLASLONG gvl3 = gvl * 3;
102+
unsigned int gvl3 = gvl * 3;
103103
for(i=0,j=0; i<n/(4*gvl); i++){
104104
v0 = VLEV_FLOAT(&x[j], gvl);
105105
VSSEV_FLOAT(&y[iy], stride_y, v0, gvl);

kernel/riscv64/dot_vector.c

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,29 +27,37 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2727

2828
#include "common.h"
2929
#if !defined(DOUBLE)
30-
#define VSETVL(n) __riscv_vsetvl_e32m4(n)
31-
#define VSETVL_MAX __riscv_vsetvlmax_e32m1()
30+
#define VSETVL(n) RISCV_RVV(vsetvl_e32m4)(n)
31+
#define VSETVL_MAX RISCV_RVV(vsetvlmax_e32m1)()
3232
#define FLOAT_V_T vfloat32m4_t
3333
#define FLOAT_V_T_M1 vfloat32m1_t
34-
#define VLEV_FLOAT __riscv_vle32_v_f32m4
35-
#define VLSEV_FLOAT __riscv_vlse32_v_f32m4
36-
#define VFREDSUM_FLOAT __riscv_vfredusum_vs_f32m4_f32m1
37-
#define VFMACCVV_FLOAT __riscv_vfmacc_vv_f32m4
38-
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m4
39-
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
40-
#define VFDOTVV_FLOAT __riscv_vfdot_vv_f32m4
34+
#define VLEV_FLOAT RISCV_RVV(vle32_v_f32m4)
35+
#define VLSEV_FLOAT RISCV_RVV(vlse32_v_f32m4)
36+
#ifdef RISCV_0p10_INTRINSICS
37+
#define VFREDSUM_FLOAT(va, vb, gvl) vfredusum_vs_f32m4_f32m1(v_res, va, vb, gvl)
4138
#else
42-
#define VSETVL(n) __riscv_vsetvl_e64m4(n)
43-
#define VSETVL_MAX __riscv_vsetvlmax_e64m1()
39+
#define VFREDSUM_FLOAT RISCV_RVV(vfredusum_vs_f32m4_f32m1)
40+
#endif
41+
#define VFMACCVV_FLOAT RISCV_RVV(vfmacc_vv_f32m4)
42+
#define VFMVVF_FLOAT RISCV_RVV(vfmv_v_f_f32m4)
43+
#define VFMVVF_FLOAT_M1 RISCV_RVV(vfmv_v_f_f32m1)
44+
#define VFDOTVV_FLOAT RISCV_RVV(vfdot_vv_f32m4)
45+
#else
46+
#define VSETVL(n) RISCV_RVV(vsetvl_e64m4)(n)
47+
#define VSETVL_MAX RISCV_RVV(vsetvlmax_e64m1)()
4448
#define FLOAT_V_T vfloat64m4_t
4549
#define FLOAT_V_T_M1 vfloat64m1_t
46-
#define VLEV_FLOAT __riscv_vle64_v_f64m4
47-
#define VLSEV_FLOAT __riscv_vlse64_v_f64m4
48-
#define VFREDSUM_FLOAT __riscv_vfredusum_vs_f64m4_f64m1
49-
#define VFMACCVV_FLOAT __riscv_vfmacc_vv_f64m4
50-
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m4
51-
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
52-
#define VFDOTVV_FLOAT __riscv_vfdot_vv_f64m4
50+
#define VLEV_FLOAT RISCV_RVV(vle64_v_f64m4)
51+
#define VLSEV_FLOAT RISCV_RVV(vlse64_v_f64m4)
52+
#ifdef RISCV_0p10_INTRINSICS
53+
#define VFREDSUM_FLOAT(va, vb, gvl) vfredusum_vs_f64m4_f64m1(v_res, va, vb, gvl)
54+
#else
55+
#define VFREDSUM_FLOAT RISCV_RVV(vfredusum_vs_f64m4_f64m1)
56+
#endif
57+
#define VFMACCVV_FLOAT RISCV_RVV(vfmacc_vv_f64m4)
58+
#define VFMVVF_FLOAT RISCV_RVV(vfmv_v_f_f64m4)
59+
#define VFMVVF_FLOAT_M1 RISCV_RVV(vfmv_v_f_f64m1)
60+
#define VFDOTVV_FLOAT RISCV_RVV(vfdot_vv_f64m4)
5361
#endif
5462

5563
#if defined(DSDOT)

kernel/riscv64/gemv_n_vector.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,21 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2727

2828
#include "common.h"
2929
#if !defined(DOUBLE)
30-
#define VSETVL(n) __riscv_vsetvl_e32m4(n)
30+
#define VSETVL(n) RISCV_RVV(vsetvl_e32m4)(n)
3131
#define FLOAT_V_T vfloat32m4_t
32-
#define VLEV_FLOAT __riscv_vle32_v_f32m4
33-
#define VLSEV_FLOAT __riscv_vlse32_v_f32m4
34-
#define VSEV_FLOAT __riscv_vse32_v_f32m4
35-
#define VSSEV_FLOAT __riscv_vsse32_v_f32m4
36-
#define VFMACCVF_FLOAT __riscv_vfmacc_vf_f32m4
32+
#define VLEV_FLOAT RISCV_RVV(vle32_v_f32m4)
33+
#define VLSEV_FLOAT RISCV_RVV(vlse32_v_f32m4)
34+
#define VSEV_FLOAT RISCV_RVV(vse32_v_f32m4)
35+
#define VSSEV_FLOAT RISCV_RVV(vsse32_v_f32m4)
36+
#define VFMACCVF_FLOAT RISCV_RVV(vfmacc_vf_f32m4)
3737
#else
38-
#define VSETVL(n) __riscv_vsetvl_e64m4(n)
38+
#define VSETVL(n) RISCV_RVV(vsetvl_e64m4)(n)
3939
#define FLOAT_V_T vfloat64m4_t
40-
#define VLEV_FLOAT __riscv_vle64_v_f64m4
41-
#define VLSEV_FLOAT __riscv_vlse64_v_f64m4
42-
#define VSEV_FLOAT __riscv_vse64_v_f64m4
43-
#define VSSEV_FLOAT __riscv_vsse64_v_f64m4
44-
#define VFMACCVF_FLOAT __riscv_vfmacc_vf_f64m4
40+
#define VLEV_FLOAT RISCV_RVV(vle64_v_f64m4)
41+
#define VLSEV_FLOAT RISCV_RVV(vlse64_v_f64m4)
42+
#define VSEV_FLOAT RISCV_RVV(vse64_v_f64m4)
43+
#define VSSEV_FLOAT RISCV_RVV(vsse64_v_f64m4)
44+
#define VFMACCVF_FLOAT RISCV_RVV(vfmacc_vf_f64m4)
4545
#endif
4646

4747
int CNAME(BLASLONG m, BLASLONG n, BLASLONG dummy1, FLOAT alpha, FLOAT *a, BLASLONG lda, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y, FLOAT *buffer)

0 commit comments

Comments
 (0)