Skip to content

Commit 1374a2d

Browse files
committed
This PR adapts latest spec changes
Add prefix (_riscv) for all riscv intrinsics Update some intrinsics' parameter, like vfredxxxx, vmerge
1 parent 19f17c8 commit 1374a2d

Some content is hidden

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

79 files changed

+2013
-2031
lines changed

kernel/riscv64/amax_rvv.c

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,33 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929
#include <float.h>
3030

3131
#if !defined(DOUBLE)
32-
#define VSETVL(n) vsetvl_e32m8(n)
33-
#define VSETVL_MAX vsetvlmax_e32m8()
34-
#define VSETVL_MAX_M1 vsetvlmax_e32m1()
35-
#define FLOAT_V_T vfloat32m8_t
36-
#define FLOAT_V_T_M1 vfloat32m1_t
37-
#define VLEV_FLOAT vle32_v_f32m8
38-
#define VLSEV_FLOAT vlse32_v_f32m8
39-
#define VFREDMAXVS_FLOAT vfredmax_vs_f32m8_f32m1
40-
#define VFMVVF_FLOAT vfmv_v_f_f32m8
41-
#define VFMVVF_FLOAT_M1 vfmv_v_f_f32m1
42-
#define VFMAXVV_FLOAT vfmax_vv_f32m8
43-
#define VFABSV_FLOAT vfabs_v_f32m8
44-
#define VFMVFS_FLOAT_M1 vfmv_f_s_f32m1_f32
32+
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
33+
#define VSETVL_MAX __riscv_vsetvlmax_e32m8()
34+
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e32m1()
35+
#define FLOAT_V_T vfloat32m8_t
36+
#define FLOAT_V_T_M1 vfloat32m1_t
37+
#define VLEV_FLOAT __riscv_vle32_v_f32m8
38+
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
39+
#define VFREDMAXVS_FLOAT __riscv_vfredmax_vs_f32m8_f32m1
40+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
41+
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
42+
#define VFMAXVV_FLOAT __riscv_vfmax_vv_f32m8
43+
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
44+
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f32m1_f32
4545
#else
46-
#define VSETVL(n) vsetvl_e64m8(n)
47-
#define VSETVL_MAX vsetvlmax_e64m8()
48-
#define VSETVL_MAX_M1 vsetvlmax_e64m1()
49-
#define FLOAT_V_T vfloat64m8_t
50-
#define FLOAT_V_T_M1 vfloat64m1_t
51-
#define VLEV_FLOAT vle64_v_f64m8
52-
#define VLSEV_FLOAT vlse64_v_f64m8
53-
#define VFREDMAXVS_FLOAT vfredmax_vs_f64m8_f64m1
54-
#define VFMVVF_FLOAT vfmv_v_f_f64m8
55-
#define VFMVVF_FLOAT_M1 vfmv_v_f_f64m1
56-
#define VFMAXVV_FLOAT vfmax_vv_f64m8
57-
#define VFABSV_FLOAT vfabs_v_f64m8
58-
#define VFMVFS_FLOAT_M1 vfmv_f_s_f64m1_f64
46+
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
47+
#define VSETVL_MAX __riscv_vsetvlmax_e64m8()
48+
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e64m1()
49+
#define FLOAT_V_T vfloat64m8_t
50+
#define FLOAT_V_T_M1 vfloat64m1_t
51+
#define VLEV_FLOAT __riscv_vle64_v_f64m8
52+
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
53+
#define VFREDMAXVS_FLOAT __riscv_vfredmax_vs_f64m8_f64m1
54+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
55+
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
56+
#define VFMAXVV_FLOAT __riscv_vfmax_vv_f64m8
57+
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
58+
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f64m1_f64
5959
#endif
6060

6161
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
@@ -95,7 +95,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
9595

9696
}
9797

98-
v_res = VFREDMAXVS_FLOAT(v_res, vmax, v_res, vlmax);
98+
v_res = VFREDMAXVS_FLOAT(vmax, v_res, vlmax);
9999
maxf = VFMVFS_FLOAT_M1(v_res);
100100

101101
return(maxf);

kernel/riscv64/amin_rvv.c

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,33 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929
#include <float.h>
3030

3131
#if !defined(DOUBLE)
32-
#define VSETVL(n) vsetvl_e32m8(n)
33-
#define VSETVL_MAX vsetvlmax_e32m8()
34-
#define VSETVL_MAX_M1 vsetvlmax_e32m1()
35-
#define FLOAT_V_T vfloat32m8_t
36-
#define FLOAT_V_T_M1 vfloat32m1_t
37-
#define VLEV_FLOAT vle32_v_f32m8
38-
#define VLSEV_FLOAT vlse32_v_f32m8
39-
#define VFREDMINVS_FLOAT vfredmin_vs_f32m8_f32m1
40-
#define VFMVVF_FLOAT vfmv_v_f_f32m8
41-
#define VFMVVF_FLOAT_M1 vfmv_v_f_f32m1
42-
#define VFMINVV_FLOAT vfmin_vv_f32m8
43-
#define VFABSV_FLOAT vfabs_v_f32m8
44-
#define VFMVFS_FLOAT_M1 vfmv_f_s_f32m1_f32
32+
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
33+
#define VSETVL_MAX __riscv_vsetvlmax_e32m8()
34+
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e32m1()
35+
#define FLOAT_V_T vfloat32m8_t
36+
#define FLOAT_V_T_M1 vfloat32m1_t
37+
#define VLEV_FLOAT __riscv_vle32_v_f32m8
38+
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
39+
#define VFREDMINVS_FLOAT __riscv_vfredmin_vs_f32m8_f32m1
40+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
41+
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
42+
#define VFMINVV_FLOAT __riscv_vfmin_vv_f32m8
43+
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
44+
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f32m1_f32
4545
#else
46-
#define VSETVL(n) vsetvl_e64m8(n)
47-
#define VSETVL_MAX vsetvlmax_e64m8()
48-
#define VSETVL_MAX_M1 vsetvlmax_e64m1()
49-
#define FLOAT_V_T vfloat64m8_t
50-
#define FLOAT_V_T_M1 vfloat64m1_t
51-
#define VLEV_FLOAT vle64_v_f64m8
52-
#define VLSEV_FLOAT vlse64_v_f64m8
53-
#define VFREDMINVS_FLOAT vfredmin_vs_f64m8_f64m1
54-
#define VFMVVF_FLOAT vfmv_v_f_f64m8
55-
#define VFMVVF_FLOAT_M1 vfmv_v_f_f64m1
56-
#define VFMINVV_FLOAT vfmin_vv_f64m8
57-
#define VFABSV_FLOAT vfabs_v_f64m8
58-
#define VFMVFS_FLOAT_M1 vfmv_f_s_f64m1_f64
46+
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
47+
#define VSETVL_MAX __riscv_vsetvlmax_e64m8()
48+
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e64m1()
49+
#define FLOAT_V_T vfloat64m8_t
50+
#define FLOAT_V_T_M1 vfloat64m1_t
51+
#define VLEV_FLOAT __riscv_vle64_v_f64m8
52+
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
53+
#define VFREDMINVS_FLOAT __riscv_vfredmin_vs_f64m8_f64m1
54+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
55+
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
56+
#define VFMINVV_FLOAT __riscv_vfmin_vv_f64m8
57+
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
58+
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f64m1_f64
5959
#endif
6060

6161
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
@@ -95,7 +95,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
9595

9696
}
9797

98-
v_res = VFREDMINVS_FLOAT(v_res, vmin, v_res, vlmax);
98+
v_res = VFREDMINVS_FLOAT(vmin, v_res, vlmax);
9999
minf = VFMVFS_FLOAT_M1(v_res);
100100

101101
return(minf);

kernel/riscv64/asum_rvv.c

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,33 +28,33 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#include "common.h"
2929

3030
#if !defined(DOUBLE)
31-
#define VSETVL(n) vsetvl_e32m8(n)
32-
#define VSETVL_MAX vsetvlmax_e32m8()
33-
#define VSETVL_MAX_M1 vsetvlmax_e32m1()
34-
#define FLOAT_V_T vfloat32m8_t
35-
#define FLOAT_V_T_M1 vfloat32m1_t
36-
#define VLEV_FLOAT vle32_v_f32m8
37-
#define VLSEV_FLOAT vlse32_v_f32m8
38-
#define VFMVVF_FLOAT vfmv_v_f_f32m8
39-
#define VFADDVV_FLOAT vfadd_vv_f32m8
40-
#define VFABSV_FLOAT vfabs_v_f32m8
41-
#define VFREDSUMVS_FLOAT vfredusum_vs_f32m8_f32m1
42-
#define VFMVVF_FLOAT_M1 vfmv_v_f_f32m1
43-
#define VFMVFS_FLOAT_M1 vfmv_f_s_f32m1_f32
31+
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
32+
#define VSETVL_MAX __riscv_vsetvlmax_e32m8()
33+
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e32m1()
34+
#define FLOAT_V_T vfloat32m8_t
35+
#define FLOAT_V_T_M1 vfloat32m1_t
36+
#define VLEV_FLOAT __riscv_vle32_v_f32m8
37+
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
38+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
39+
#define VFADDVV_FLOAT __riscv_vfadd_vv_f32m8
40+
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
41+
#define VFREDSUMVS_FLOAT __riscv_vfredusum_vs_f32m8_f32m1
42+
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
43+
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f32m1_f32
4444
#else
45-
#define VSETVL(n) vsetvl_e64m8(n)
46-
#define VSETVL_MAX vsetvlmax_e64m8()
47-
#define VSETVL_MAX_M1 vsetvlmax_e64m1()
48-
#define FLOAT_V_T vfloat64m8_t
49-
#define FLOAT_V_T_M1 vfloat64m1_t
50-
#define VLEV_FLOAT vle64_v_f64m8
51-
#define VLSEV_FLOAT vlse64_v_f64m8
52-
#define VFMVVF_FLOAT vfmv_v_f_f64m8
53-
#define VFADDVV_FLOAT vfadd_vv_f64m8
54-
#define VFABSV_FLOAT vfabs_v_f64m8
55-
#define VFREDSUMVS_FLOAT vfredusum_vs_f64m8_f64m1
56-
#define VFMVVF_FLOAT_M1 vfmv_v_f_f64m1
57-
#define VFMVFS_FLOAT_M1 vfmv_f_s_f64m1_f64
45+
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
46+
#define VSETVL_MAX __riscv_vsetvlmax_e64m8()
47+
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e64m1()
48+
#define FLOAT_V_T vfloat64m8_t
49+
#define FLOAT_V_T_M1 vfloat64m1_t
50+
#define VLEV_FLOAT __riscv_vle64_v_f64m8
51+
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
52+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
53+
#define VFADDVV_FLOAT __riscv_vfadd_vv_f64m8
54+
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
55+
#define VFREDSUMVS_FLOAT __riscv_vfredusum_vs_f64m8_f64m1
56+
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
57+
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f64m1_f64
5858
#endif
5959

6060
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
@@ -93,7 +93,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
9393

9494
}
9595

96-
v_res = VFREDSUMVS_FLOAT(v_res, vsum, v_res, vlmax);
96+
v_res = VFREDSUMVS_FLOAT(vsum, v_res, vlmax);
9797
asumf = VFMVFS_FLOAT_M1(v_res);
9898
return(asumf);
9999
}

kernel/riscv64/axpby_rvv.c

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#include "common.h"
2929

3030
#if !defined(DOUBLE)
31-
#define VSETVL(n) vsetvl_e32m8(n)
32-
#define FLOAT_V_T vfloat32m8_t
33-
#define VLEV_FLOAT vle32_v_f32m8
34-
#define VLSEV_FLOAT vlse32_v_f32m8
35-
#define VSEV_FLOAT vse32_v_f32m8
36-
#define VSSEV_FLOAT vsse32_v_f32m8
37-
#define VFMACCVF_FLOAT vfmacc_vf_f32m8
38-
#define VFMULVF_FLOAT vfmul_vf_f32m8
39-
#define VFMVVF_FLOAT vfmv_v_f_f32m8
31+
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
32+
#define FLOAT_V_T vfloat32m8_t
33+
#define VLEV_FLOAT __riscv_vle32_v_f32m8
34+
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
35+
#define VSEV_FLOAT __riscv_vse32_v_f32m8
36+
#define VSSEV_FLOAT __riscv_vsse32_v_f32m8
37+
#define VFMACCVF_FLOAT __riscv_vfmacc_vf_f32m8
38+
#define VFMULVF_FLOAT __riscv_vfmul_vf_f32m8
39+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
4040
#else
41-
#define VSETVL(n) vsetvl_e64m8(n)
42-
#define FLOAT_V_T vfloat64m8_t
43-
#define VLEV_FLOAT vle64_v_f64m8
44-
#define VLSEV_FLOAT vlse64_v_f64m8
45-
#define VSEV_FLOAT vse64_v_f64m8
46-
#define VSSEV_FLOAT vsse64_v_f64m8
47-
#define VFMACCVF_FLOAT vfmacc_vf_f64m8
48-
#define VFMULVF_FLOAT vfmul_vf_f64m8
49-
#define VFMVVF_FLOAT vfmv_v_f_f64m8
41+
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
42+
#define FLOAT_V_T vfloat64m8_t
43+
#define VLEV_FLOAT __riscv_vle64_v_f64m8
44+
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
45+
#define VSEV_FLOAT __riscv_vse64_v_f64m8
46+
#define VSSEV_FLOAT __riscv_vsse64_v_f64m8
47+
#define VFMACCVF_FLOAT __riscv_vfmacc_vf_f64m8
48+
#define VFMULVF_FLOAT __riscv_vfmul_vf_f64m8
49+
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
5050
#endif
5151

5252
int CNAME(BLASLONG n, FLOAT alpha, FLOAT *x, BLASLONG inc_x, FLOAT beta, FLOAT *y, BLASLONG inc_y)

kernel/riscv64/axpy_rvv.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,21 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#include "common.h"
2929

3030
#if !defined(DOUBLE)
31-
#define VSETVL(n) vsetvl_e32m8(n)
32-
#define FLOAT_V_T vfloat32m8_t
33-
#define VLEV_FLOAT vle32_v_f32m8
34-
#define VLSEV_FLOAT vlse32_v_f32m8
35-
#define VSEV_FLOAT vse32_v_f32m8
36-
#define VSSEV_FLOAT vsse32_v_f32m8
37-
#define VFMACCVF_FLOAT vfmacc_vf_f32m8
31+
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
32+
#define FLOAT_V_T vfloat32m8_t
33+
#define VLEV_FLOAT __riscv_vle32_v_f32m8
34+
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
35+
#define VSEV_FLOAT __riscv_vse32_v_f32m8
36+
#define VSSEV_FLOAT __riscv_vsse32_v_f32m8
37+
#define VFMACCVF_FLOAT __riscv_vfmacc_vf_f32m8
3838
#else
39-
#define VSETVL(n) vsetvl_e64m8(n)
40-
#define FLOAT_V_T vfloat64m8_t
41-
#define VLEV_FLOAT vle64_v_f64m8
42-
#define VLSEV_FLOAT vlse64_v_f64m8
43-
#define VSEV_FLOAT vse64_v_f64m8
44-
#define VSSEV_FLOAT vsse64_v_f64m8
45-
#define VFMACCVF_FLOAT vfmacc_vf_f64m8
39+
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
40+
#define FLOAT_V_T vfloat64m8_t
41+
#define VLEV_FLOAT __riscv_vle64_v_f64m8
42+
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
43+
#define VSEV_FLOAT __riscv_vse64_v_f64m8
44+
#define VSSEV_FLOAT __riscv_vsse64_v_f64m8
45+
#define VFMACCVF_FLOAT __riscv_vfmacc_vf_f64m8
4646
#endif
4747

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

kernel/riscv64/copy_rvv.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,19 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#include "common.h"
2929

3030
#if !defined(DOUBLE)
31-
#define VSETVL(n) vsetvl_e32m8(n)
32-
#define FLOAT_V_T vfloat32m8_t
33-
#define VLEV_FLOAT vle32_v_f32m8
34-
#define VLSEV_FLOAT vlse32_v_f32m8
35-
#define VSEV_FLOAT vse32_v_f32m8
36-
#define VSSEV_FLOAT vsse32_v_f32m8
31+
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
32+
#define FLOAT_V_T vfloat32m8_t
33+
#define VLEV_FLOAT __riscv_vle32_v_f32m8
34+
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
35+
#define VSEV_FLOAT __riscv_vse32_v_f32m8
36+
#define VSSEV_FLOAT __riscv_vsse32_v_f32m8
3737
#else
38-
#define VSETVL(n) vsetvl_e64m8(n)
39-
#define FLOAT_V_T vfloat64m8_t
40-
#define VLEV_FLOAT vle64_v_f64m8
41-
#define VLSEV_FLOAT vlse64_v_f64m8
42-
#define VSEV_FLOAT vse64_v_f64m8
43-
#define VSSEV_FLOAT vsse64_v_f64m8
38+
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
39+
#define FLOAT_V_T vfloat64m8_t
40+
#define VLEV_FLOAT __riscv_vle64_v_f64m8
41+
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
42+
#define VSEV_FLOAT __riscv_vse64_v_f64m8
43+
#define VSSEV_FLOAT __riscv_vsse64_v_f64m8
4444
#endif
4545

4646
int CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)

0 commit comments

Comments
 (0)