```
- # r5: n
- # r5: x
- # r6: y
- # fp1: a
- mtctr 5 # move n to CTR
- addi r10,r6,0 # copy y-ptr into r10
+ # r5: n count
+ # r6: x ptr
+ # r7: y ptr
+ # fp1: a mul-scalar
+ mtctr 5 # move n to CTR
+ addi r10,r6,0 # copy y-ptr into r10
.L2
- setvl MAXVL=32,VL=CTR # could do more
- sv.lfdup/els *32,8(6) # load from x
- sv.lfdup/els *64,8(7) # load from y
- sv.fmadd *64,*64,1,*32 # fmadd
- stfdup/els *64,8(10) # store y-copy
- sv.bc/ctr .L2 # decrement VL by CTR
- blr # return
+ setvl MAXVL=32,VL=CTR # could do more
+ sv.lfdup/els *32,8(6) # load from x into fp32-63
+ sv.lfdup/els *64,8(7) # load from y into fp64-95
+ sv.fmadd *64,*64,1,*32 # (*y) = (*y) * (*x) + fp1
+ stfdup/els *64,8(10) # store y-copy
+ sv.bc/ctr .L2 # decrement VL by CTR
+ blr # return
```
# RVV version