Skip to content

Commit deecfb1

Browse files
committed
Merge branch 'risc-v' into img-riscv64-zvl128b
2 parents e4586e8 + 88e9941 commit deecfb1

Some content is hidden

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

67 files changed

+1119
-912
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: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,14 @@ 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
76-
#define CPU_RISCV64_ZVL128B 3
75+
#define CPU_x280 2
76+
#define CPU_RISCV64_ZVL256B 3
77+
#define CPU_RISCV64_ZVL128B 4
7778

7879
static char *cpuname[] = {
7980
"RISCV64_GENERIC",
8081
"C910V",
82+
"x280",
8183
"CPU_RISCV64_ZVL256B",
8284
"CPU_RISCV64_ZVL128B"
8385
};

kernel/riscv64/amax_rvv.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3939
#define VFREDMAXVS_FLOAT __riscv_vfredmax_vs_f32m8_f32m1
4040
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
4141
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
42-
#define VFMAXVV_FLOAT __riscv_vfmax_vv_f32m8
42+
#define VFMAXVV_FLOAT_TU __riscv_vfmax_vv_f32m8_tu
4343
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
4444
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f32m1_f32
4545
#else
@@ -53,7 +53,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5353
#define VFREDMAXVS_FLOAT __riscv_vfredmax_vs_f64m8_f64m1
5454
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
5555
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
56-
#define VFMAXVV_FLOAT __riscv_vfmax_vv_f64m8
56+
#define VFMAXVV_FLOAT_TU __riscv_vfmax_vv_f64m8_tu
5757
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
5858
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f64m1_f64
5959
#endif
@@ -78,7 +78,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
7878

7979
vx = VLEV_FLOAT(x, vl);
8080
vx = VFABSV_FLOAT(vx, vl);
81-
vmax = VFMAXVV_FLOAT(vmax, vx, vl);
81+
vmax = VFMAXVV_FLOAT_TU(vmax, vmax, vx, vl);
8282
}
8383

8484
} else {
@@ -90,7 +90,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
9090

9191
vx = VLSEV_FLOAT(x, stride_x, vl);
9292
vx = VFABSV_FLOAT(vx, vl);
93-
vmax = VFMAXVV_FLOAT(vmax, vx, vl);
93+
vmax = VFMAXVV_FLOAT_TU(vmax, vmax, vx, vl);
9494
}
9595

9696
}

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_rvv.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3939
#define VFREDMINVS_FLOAT __riscv_vfredmin_vs_f32m8_f32m1
4040
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
4141
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
42-
#define VFMINVV_FLOAT __riscv_vfmin_vv_f32m8
42+
#define VFMINVV_FLOAT_TU __riscv_vfmin_vv_f32m8_tu
4343
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
4444
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f32m1_f32
4545
#else
@@ -53,7 +53,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5353
#define VFREDMINVS_FLOAT __riscv_vfredmin_vs_f64m8_f64m1
5454
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
5555
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
56-
#define VFMINVV_FLOAT __riscv_vfmin_vv_f64m8
56+
#define VFMINVV_FLOAT_TU __riscv_vfmin_vv_f64m8_tu
5757
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
5858
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f64m1_f64
5959
#endif
@@ -78,7 +78,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
7878

7979
vx = VLEV_FLOAT(x, vl);
8080
vx = VFABSV_FLOAT(vx, vl);
81-
vmin = VFMINVV_FLOAT(vmin, vx, vl);
81+
vmin = VFMINVV_FLOAT_TU(vmin, vmin, vx, vl);
8282
}
8383

8484
} else {
@@ -90,7 +90,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
9090

9191
vx = VLSEV_FLOAT(x, stride_x, vl);
9292
vx = VFABSV_FLOAT(vx, vl);
93-
vmin = VFMINVV_FLOAT(vmin, vx, vl);
93+
vmin = VFMINVV_FLOAT_TU(vmin, vmin, vx, vl);
9494
}
9595

9696
}

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_rvv.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3636
#define VLEV_FLOAT __riscv_vle32_v_f32m8
3737
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
3838
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
39-
#define VFADDVV_FLOAT __riscv_vfadd_vv_f32m8
39+
#define VFADDVV_FLOAT_TU __riscv_vfadd_vv_f32m8_tu
4040
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
4141
#define VFREDSUMVS_FLOAT __riscv_vfredusum_vs_f32m8_f32m1
4242
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
@@ -50,7 +50,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5050
#define VLEV_FLOAT __riscv_vle64_v_f64m8
5151
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
5252
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
53-
#define VFADDVV_FLOAT __riscv_vfadd_vv_f64m8
53+
#define VFADDVV_FLOAT_TU __riscv_vfadd_vv_f64m8_tu
5454
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
5555
#define VFREDSUMVS_FLOAT __riscv_vfredusum_vs_f64m8_f64m1
5656
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
@@ -76,7 +76,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
7676

7777
vx = VLEV_FLOAT(x, vl);
7878
vx = VFABSV_FLOAT(vx, vl);
79-
vsum = VFADDVV_FLOAT(vsum, vx, vl);
79+
vsum = VFADDVV_FLOAT_TU(vsum, vsum, vx, vl);
8080
}
8181

8282
} else {
@@ -88,7 +88,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
8888

8989
vx = VLSEV_FLOAT(x, stride_x, vl);
9090
vx = VFABSV_FLOAT(vx, vl);
91-
vsum = VFADDVV_FLOAT(vsum, vx, vl);
91+
vsum = VFADDVV_FLOAT_TU(vsum, vsum, vx, vl);
9292
}
9393

9494
}

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
{

0 commit comments

Comments
 (0)