rtl refactoring

This commit is contained in:
Blaise Tine
2020-05-03 17:10:02 -04:00
parent a1dc90b951
commit 69f607b73e
83 changed files with 30487 additions and 30536 deletions

View File

@@ -11,10 +11,10 @@ CPY = /home/priya/dev/riscv_vec/riscv-gnu/bin/riscv32-unknown-elf-objcopy
NEWLIB = $(LIB_PATH)/newlib/newlib.c
VX_STR = $(LIB_PATH)/startup/vx_start.S
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.s
VX_IO = $(LIB_PATH)/io/vx_io.s $(LIB_PATH)/io/vx_io.c
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.S
VX_IO = $(LIB_PATH)/io/vx_io.S $(LIB_PATH)/io/vx_io.c
VX_API = $(LIB_PATH)/vx_api/vx_api.c
VX_FIO = $(LIB_PATH)/fileio/fileio.s
VX_FIO = $(LIB_PATH)/fileio/fileio.S
VX_VEC = vx_vec_saxpy.s #float --> int
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

View File

@@ -39,11 +39,11 @@ int main()
// for(int i = 0; i < n; ++i) printf("%d \n", b[i]);
#endif
int startCycles = vx_getCycles();
int startInst = vx_getInst();
int startCycles = vx_num_cycles();
int startInst = vx_num_instrs();
vx_vec_saxpy(n, factor, a, b);
int endCycles = vx_getCycles();
int endInst = vx_getInst();
int endCycles = vx_num_cycles();
int endInst = vx_num_instrs();
int totalInst = (endInst - startInst);
int totalCycles = (endCycles - startCycles);

View File

@@ -484,7 +484,7 @@ Disassembly of section .text:
800006e0: 00112623 sw ra,12(sp)
800006e4: 00812423 sw s0,8(sp)
800006e8: 01010413 addi s0,sp,16
800006ec: 0d4000ef jal ra,800007c0 <vx_threadID>
800006ec: 0d4000ef jal ra,800007c0 <vx_thread_id>
800006f0: 00050793 mv a5,a0
800006f4: 00078513 mv a0,a5
800006f8: 00c12083 lw ra,12(sp)
@@ -552,23 +552,23 @@ Disassembly of section .text:
800007b0: 0000306b 0x306b
800007b4: 00008067 ret
800007b8 <vx_warpID>:
800007b8 <vx_warp_id>:
800007b8: 02102573 csrr a0,0x21
800007bc: 00008067 ret
800007c0 <vx_threadID>:
800007c0 <vx_thread_id>:
800007c0: 02002573 csrr a0,0x20
800007c4: 00008067 ret
800007c8 <vx_getCycles>:
800007c8 <vx_num_cycles>:
800007c8: 02602573 csrr a0,0x26
800007cc: 00008067 ret
800007d0 <vx_getInst>:
800007d0 <vx_num_instrs>:
800007d0: 02502573 csrr a0,0x25
800007d4: 00008067 ret
800007d8 <vx_resetStack>:
800007d8 <vx_reset_stack>:
800007d8: 00400513 li a0,4
800007dc: 0005006b 0x5006b
800007e0: 021026f3 csrr a3,0x21
@@ -731,10 +731,10 @@ Disassembly of section .text:
80000a24: fe842703 lw a4,-24(s0)
80000a28: fe042783 lw a5,-32(s0)
80000a2c: fcf744e3 blt a4,a5,800009f4 <main+0x1a0>
80000a30: d99ff0ef jal ra,800007c8 <vx_getCycles>
80000a30: d99ff0ef jal ra,800007c8 <vx_num_cycles>
80000a34: 00050793 mv a5,a0
80000a38: fcf42623 sw a5,-52(s0)
80000a3c: d95ff0ef jal ra,800007d0 <vx_getInst>
80000a3c: d95ff0ef jal ra,800007d0 <vx_num_instrs>
80000a40: 00050793 mv a5,a0
80000a44: fcf42423 sw a5,-56(s0)
80000a48: fd842683 lw a3,-40(s0)
@@ -742,10 +742,10 @@ Disassembly of section .text:
80000a50: fd042583 lw a1,-48(s0)
80000a54: fe042503 lw a0,-32(s0)
80000a58: e54ff0ef jal ra,800000ac <vx_vec_saxpy>
80000a5c: d6dff0ef jal ra,800007c8 <vx_getCycles>
80000a5c: d6dff0ef jal ra,800007c8 <vx_num_cycles>
80000a60: 00050793 mv a5,a0
80000a64: fcf42223 sw a5,-60(s0)
80000a68: d69ff0ef jal ra,800007d0 <vx_getInst>
80000a68: d69ff0ef jal ra,800007d0 <vx_num_instrs>
80000a6c: 00050793 mv a5,a0
80000a70: fcf42023 sw a5,-64(s0)
80000a74: fc042703 lw a4,-64(s0)

View File

@@ -11,10 +11,10 @@ CPY = /home/priya/dev/riscv_vec/riscv-gnu/bin/riscv32-unknown-elf-objcopy
NEWLIB = $(LIB_PATH)/newlib/newlib.c
VX_STR = $(LIB_PATH)/startup/vx_start.S
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.s
VX_IO = $(LIB_PATH)/io/vx_io.s $(LIB_PATH)/io/vx_io.c
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.S
VX_IO = $(LIB_PATH)/io/vx_io.S $(LIB_PATH)/io/vx_io.c
VX_API = $(LIB_PATH)/vx_api/vx_api.c
VX_FIO = $(LIB_PATH)/fileio/fileio.s
VX_FIO = $(LIB_PATH)/fileio/fileio.S
VX_VEC = vx_vec_sfilter.s #float --> int
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

View File

@@ -36,15 +36,15 @@ int main()
}
int N = 4;
int startCycles = vx_getCycles();
int startInst = vx_getInst();
int startCycles = vx_num_cycles();
int startInst = vx_num_instrs();
for(int y = 1; y < (NUM_DATA-1); y++){
for(int x = 1; x < (NUM_DATA-1); x = x+N) {
vx_vec_sfilter(a, b, ldc, m, x, y, N);
}
}
int endCycles = vx_getCycles();
int endInst = vx_getInst();
int endCycles = vx_num_cycles();
int endInst = vx_num_instrs();
int totalInst = (endInst - startInst);
int totalCycles = (endCycles - startCycles);

View File

@@ -549,7 +549,7 @@ Disassembly of section .text:
800007e4: 00112623 sw ra,12(sp)
800007e8: 00812423 sw s0,8(sp)
800007ec: 01010413 addi s0,sp,16
800007f0: 0d4000ef jal ra,800008c4 <vx_threadID>
800007f0: 0d4000ef jal ra,800008c4 <vx_thread_id>
800007f4: 00050793 mv a5,a0
800007f8: 00078513 mv a0,a5
800007fc: 00c12083 lw ra,12(sp)
@@ -617,23 +617,23 @@ Disassembly of section .text:
800008b4: 0000306b 0x306b
800008b8: 00008067 ret
800008bc <vx_warpID>:
800008bc <vx_warp_id>:
800008bc: 02102573 csrr a0,0x21
800008c0: 00008067 ret
800008c4 <vx_threadID>:
800008c4 <vx_thread_id>:
800008c4: 02002573 csrr a0,0x20
800008c8: 00008067 ret
800008cc <vx_getCycles>:
800008cc <vx_num_cycles>:
800008cc: 02602573 csrr a0,0x26
800008d0: 00008067 ret
800008d4 <vx_getInst>:
800008d4 <vx_num_instrs>:
800008d4: 02502573 csrr a0,0x25
800008d8: 00008067 ret
800008dc <vx_resetStack>:
800008dc <vx_reset_stack>:
800008dc: 00400513 li a0,4
800008e0: 0005006b 0x5006b
800008e4: 021026f3 csrr a3,0x21
@@ -734,10 +734,10 @@ Disassembly of section .text:
80000a30: faf746e3 blt a4,a5,800009dc <main+0x84>
80000a34: 00400793 li a5,4
80000a38: fcf42023 sw a5,-64(s0)
80000a3c: e91ff0ef jal ra,800008cc <vx_getCycles>
80000a3c: e91ff0ef jal ra,800008cc <vx_num_cycles>
80000a40: 00050793 mv a5,a0
80000a44: faf42e23 sw a5,-68(s0)
80000a48: e8dff0ef jal ra,800008d4 <vx_getInst>
80000a48: e8dff0ef jal ra,800008d4 <vx_num_instrs>
80000a4c: 00050793 mv a5,a0
80000a50: faf42c23 sw a5,-72(s0)
80000a54: 00100793 li a5,1
@@ -767,10 +767,10 @@ Disassembly of section .text:
80000ab4: fe842703 lw a4,-24(s0)
80000ab8: 04000793 li a5,64
80000abc: fae7d2e3 bge a5,a4,80000a60 <main+0x108>
80000ac0: e0dff0ef jal ra,800008cc <vx_getCycles>
80000ac0: e0dff0ef jal ra,800008cc <vx_num_cycles>
80000ac4: 00050793 mv a5,a0
80000ac8: faf42a23 sw a5,-76(s0)
80000acc: e09ff0ef jal ra,800008d4 <vx_getInst>
80000acc: e09ff0ef jal ra,800008d4 <vx_num_instrs>
80000ad0: 00050793 mv a5,a0
80000ad4: faf42823 sw a5,-80(s0)
80000ad8: fb042703 lw a4,-80(s0)

View File

@@ -11,10 +11,10 @@ CPY = /home/priya/dev/riscv_vec/riscv-gnu/bin/riscv32-unknown-elf-objcopy
NEWLIB = $(LIB_PATH)/newlib/newlib.c
VX_STR = $(LIB_PATH)/startup/vx_start.S
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.s
VX_IO = $(LIB_PATH)/io/vx_io.s $(LIB_PATH)/io/vx_io.c
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.S
VX_IO = $(LIB_PATH)/io/vx_io.S $(LIB_PATH)/io/vx_io.c
VX_API = $(LIB_PATH)/vx_api/vx_api.c
VX_FIO = $(LIB_PATH)/fileio/fileio.s
VX_FIO = $(LIB_PATH)/fileio/fileio.S
VX_VEC = vx_vec_sgemm_nn.s #float --> int
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

View File

@@ -50,8 +50,8 @@ int main()
int vsize = 32;
int startCycles = vx_getCycles();
int startInst = vx_getInst();
int startCycles = vx_num_cycles();
int startInst = vx_num_instrs();
for (int r = 0; r < m; r++) {
for (int c = 0; c < n; c++) {
for (int i = 0; i < k;) {
@@ -61,8 +61,8 @@ int main()
}
}
}
int endCycles = vx_getCycles();
int endInst = vx_getInst();
int endCycles = vx_num_cycles();
int endInst = vx_num_instrs();
int totalInst = (endInst - startInst);
int totalCycles = (endCycles - startCycles);

View File

@@ -492,7 +492,7 @@ Disassembly of section .text:
80000700: 00112623 sw ra,12(sp)
80000704: 00812423 sw s0,8(sp)
80000708: 01010413 addi s0,sp,16
8000070c: 0d4000ef jal ra,800007e0 <vx_threadID>
8000070c: 0d4000ef jal ra,800007e0 <vx_thread_id>
80000710: 00050793 mv a5,a0
80000714: 00078513 mv a0,a5
80000718: 00c12083 lw ra,12(sp)
@@ -560,23 +560,23 @@ Disassembly of section .text:
800007d0: 0000306b 0x306b
800007d4: 00008067 ret
800007d8 <vx_warpID>:
800007d8 <vx_warp_id>:
800007d8: 02102573 csrr a0,0x21
800007dc: 00008067 ret
800007e0 <vx_threadID>:
800007e0 <vx_thread_id>:
800007e0: 02002573 csrr a0,0x20
800007e4: 00008067 ret
800007e8 <vx_getCycles>:
800007e8 <vx_num_cycles>:
800007e8: 02602573 csrr a0,0x26
800007ec: 00008067 ret
800007f0 <vx_getInst>:
800007f0 <vx_num_instrs>:
800007f0: 02502573 csrr a0,0x25
800007f4: 00008067 ret
800007f8 <vx_resetStack>:
800007f8 <vx_reset_stack>:
800007f8: 00400513 li a0,4
800007fc: 0005006b 0x5006b
80000800: 021026f3 csrr a3,0x21
@@ -734,10 +734,10 @@ Disassembly of section .text:
80000a30: f8f42e23 sw a5,-100(s0)
80000a34: 02000793 li a5,32
80000a38: f8f42c23 sw a5,-104(s0)
80000a3c: dadff0ef jal ra,800007e8 <vx_getCycles>
80000a3c: dadff0ef jal ra,800007e8 <vx_num_cycles>
80000a40: 00050793 mv a5,a0
80000a44: f8f42a23 sw a5,-108(s0)
80000a48: da9ff0ef jal ra,800007f0 <vx_getInst>
80000a48: da9ff0ef jal ra,800007f0 <vx_num_instrs>
80000a4c: 00050793 mv a5,a0
80000a50: f8f42823 sw a5,-112(s0)
80000a54: fc042e23 sw zero,-36(s0)
@@ -774,10 +774,10 @@ Disassembly of section .text:
80000ad0: fdc42703 lw a4,-36(s0)
80000ad4: fc042783 lw a5,-64(s0)
80000ad8: f8f742e3 blt a4,a5,80000a5c <main+0x1e8>
80000adc: d0dff0ef jal ra,800007e8 <vx_getCycles>
80000adc: d0dff0ef jal ra,800007e8 <vx_num_cycles>
80000ae0: 00050793 mv a5,a0
80000ae4: f8f42623 sw a5,-116(s0)
80000ae8: d09ff0ef jal ra,800007f0 <vx_getInst>
80000ae8: d09ff0ef jal ra,800007f0 <vx_num_instrs>
80000aec: 00050793 mv a5,a0
80000af0: f8f42423 sw a5,-120(s0)
80000af4: f8842703 lw a4,-120(s0)

View File

@@ -11,10 +11,10 @@ CPY = /nethome/ekim79/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objcopy
NEWLIB = $(LIB_PATH)/newlib/newlib.c
VX_STR = $(LIB_PATH)/startup/vx_start.S
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.s
VX_IO = $(LIB_PATH)/io/vx_io.s $(LIB_PATH)/io/vx_io.c
VX_INT = $(LIB_PATH)/intrinsics/vx_intrinsics.S
VX_IO = $(LIB_PATH)/io/vx_io.S $(LIB_PATH)/io/vx_io.c
VX_API = $(LIB_PATH)/vx_api/vx_api.c
VX_FIO = $(LIB_PATH)/fileio/fileio.s
VX_FIO = $(LIB_PATH)/fileio/fileio.S
VX_VEC1 = vx_vec_vvaddint32.s
#VX_VEC2 = vx_vec_saxpy.s #float --> int
#VX_VEC3 = vx_vec_sgemm.s #float --> int

View File

@@ -486,7 +486,7 @@ Disassembly of section .text:
800006e0: 00112623 sw ra,12(sp)
800006e4: 00812423 sw s0,8(sp)
800006e8: 01010413 addi s0,sp,16
800006ec: 0d4000ef jal ra,800007c0 <vx_threadID>
800006ec: 0d4000ef jal ra,800007c0 <vx_thread_id>
800006f0: 00050793 mv a5,a0
800006f4: 00078513 mv a0,a5
800006f8: 00c12083 lw ra,12(sp)
@@ -554,23 +554,23 @@ Disassembly of section .text:
800007b0: 0000306b 0x306b
800007b4: 00008067 ret
800007b8 <vx_warpID>:
800007b8 <vx_warp_id>:
800007b8: 02102573 csrr a0,0x21
800007bc: 00008067 ret
800007c0 <vx_threadID>:
800007c0 <vx_thread_id>:
800007c0: 02002573 csrr a0,0x20
800007c4: 00008067 ret
800007c8 <vx_getCycles>:
800007c8 <vx_num_cycles>:
800007c8: 02602573 csrr a0,0x26
800007cc: 00008067 ret
800007d0 <vx_getInst>:
800007d0 <vx_num_instrs>:
800007d0: 02502573 csrr a0,0x25
800007d4: 00008067 ret
800007d8 <vx_resetStack>:
800007d8 <vx_reset_stack>:
800007d8: 00400513 li a0,4
800007dc: 0005006b 0x5006b
800007e0: 021026f3 csrr a3,0x21