Added scalar multiplication and addition, vector multiplication, saxpy passing

This commit is contained in:
proshan3
2019-11-24 00:23:21 -05:00
parent cec065b6fd
commit 36a81f7a77
7 changed files with 92860 additions and 7 deletions

View File

@@ -1,11 +1,11 @@
LIB_PATH = ../../runtime
COMP = /nethome/ekim79/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-gcc
COMP = /home/priya/dev/riscv_vec/riscv-gnu/bin/riscv32-unknown-elf-gcc
CC_FLAGS = -ffreestanding -O0 -Wl,--gc-sections -nostartfiles -nostdlib -nostartfiles -nodefaultlibs -Wl,-Bstatic,-T,$(LIB_PATH)/mains/vortex_link.ld -march=rv32imv -mabi=ilp32
DMP = /nethome/ekim79/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objdump
CPY = /nethome/ekim79/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objcopy
DMP = /home/priya/dev/riscv_vec/riscv-gnu/bin/riscv32-unknown-elf-objdump
CPY = /home/priya/dev/riscv_vec/riscv-gnu/bin/riscv32-unknown-elf-objcopy
# VX_STR = ../../startup/vx_start.s
@@ -21,7 +21,7 @@ VX_VEC2 = vx_vec_saxpy.s #float --> int
VX_VEC3 = vx_vec_sgemm_float.s #float --> int
VX_VEC4 = vx_vec_vsadd.s
VX_VEC5 = vx_vec_memcpy.s
LIBS = /nethome/ekim79/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libc.a /nethome/ekim79/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
LIBS = /home/priya/dev/riscv_vec/riscv-gnu/riscv32-unknown-elf/lib/libc.a /home/priya/dev/riscv_vec/riscv-gnu/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
VX_MAIN = vx_vec_benchmark

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -28,15 +28,21 @@
# ret
# a0 n, rs1 a, a2 x, a3 y
# a0 n, a1 a, a2 x, a3 y
vx_vec_saxpy:
vsetvli a4, a0, e32, m8
vsetvli a4, a0, e32, m1
saxpy:
vlw.v v0, (a2)
sub a0, a0, a4
slli a4, a4, 2
add a2, a2, a4
vlw.v v1, (a3)
vmacc.vx v1, rs1, v0
vmul.vx v0, v0, a1
# vmul.vv v0, v0, v1
# li x1, 10
# vmul.vx v0, v0, x1
vadd.vv v1, v0, v1
vsw.v v1, (a3)
add a3, a3, a4
bnez a0, saxpy