refactoring fixes
This commit is contained in:
28
miscs/rvvector/benchmark_temp/vx_vec_saxpy_float.s
Normal file
28
miscs/rvvector/benchmark_temp/vx_vec_saxpy_float.s
Normal 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
|
||||
Reference in New Issue
Block a user