temporary benchmark, <vvaddint32> working

This commit is contained in:
Euna Kim
2019-11-23 04:00:02 -05:00
parent ef8c512ebe
commit 07c51c6c77
12 changed files with 783 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
.type vx_vec_saxpy, @function
.global vx_vec_saxpy_float
# void
# saxpy(size_t n, const float a, const float *x, float *y)
# {
# size_t i;
# for (i=0; i<n; i++)
# y[i] = a * x[i] + y[i];
# }
#
# register arguments:
# a0 n
# fa0 a
# a1 x
# a2 y
vx_vec_saxpy_float:
vsetvli a4, a0, e32, m8
saxpy:
vlw.v v0, (a1)
sub a0, a0, a4
slli a4, a4, 2
add a1, a1, a4
vlw.v v8, (a2)
vfmacc.vf v8, fa0, v0
vsw.v v8, (a2)
add a2, a2, a4
bnez a0, saxpy
ret