From 1892feefbfea0e820229ade9729f2de451932835 Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Tue, 19 Mar 2019 16:37:49 -0400 Subject: [PATCH] Improved Efficiency + Added Matrix Scalar functions --- src/vortex_software/vortex_test.dump | 2809 +++++++++++-------- src/vortex_software/vortex_test.elf | Bin 15336 -> 15536 bytes src/vortex_software/vortex_test.hex | 677 +++-- src/vortex_software/vx_include/vx_front.c | 167 ++ src/vortex_software/vx_include/vx_front.h | 38 +- src/vortex_software/vx_main.c | 58 +- src/vortex_software/vx_os/vx_back/vx_back.c | 2 +- 7 files changed, 2186 insertions(+), 1565 deletions(-) diff --git a/src/vortex_software/vortex_test.dump b/src/vortex_software/vortex_test.dump index 70acafbe..672a1437 100644 --- a/src/vortex_software/vortex_test.dump +++ b/src/vortex_software/vortex_test.dump @@ -13,7 +13,7 @@ Disassembly of section .text: 80000014: 30101073 csrw misa,zero 80000018: 7ffff137 lui sp,0x7ffff 8000001c: 198000ef jal ra,800001b4 -80000020: 11c010ef jal ra,8000113c
+80000020: 6dc010ef jal ra,800016fc
80000024: 00000073 ecall 80000028 : @@ -55,7 +55,7 @@ Disassembly of section .text: 80000084 : 80000084: 01000217 auipc tp,0x1000 -80000088: 23020213 addi tp,tp,560 # 810002b4 +80000088: 26020213 addi tp,tp,608 # 810002e4 8000008c: 00022023 sw zero,0(tp) # 0 80000090: 00122223 sw ra,4(tp) # 4 80000094: 00222423 sw sp,8(tp) # 8 @@ -93,7 +93,7 @@ Disassembly of section .text: 80000114 : 80000114: 01000217 auipc tp,0x1000 -80000118: 1a020213 addi tp,tp,416 # 810002b4 +80000118: 1d020213 addi tp,tp,464 # 810002e4 8000011c: 00022003 lw zero,0(tp) # 0 80000120: 00422083 lw ra,4(tp) # 4 80000124: 00822103 lw sp,8(tp) # 8 @@ -148,10 +148,10 @@ Disassembly of section .text: 800001d0: 4c400793 li a5,1220 800001d4: 02f70733 mul a4,a4,a5 800001d8: 810007b7 lui a5,0x81000 -800001dc: 33478793 addi a5,a5,820 # 81000334 +800001dc: 36478793 addi a5,a5,868 # 81000364 800001e0: 00f707b3 add a5,a4,a5 800001e4: 00078513 mv a0,a5 -800001e8: 414000ef jal ra,800005fc +800001e8: 404000ef jal ra,800005ec 800001ec: fec42783 lw a5,-20(s0) 800001f0: 00178793 addi a5,a5,1 800001f4: fef42623 sw a5,-20(s0) @@ -174,16 +174,16 @@ Disassembly of section .text: 80000230: 4c400793 li a5,1220 80000234: 02f70733 mul a4,a4,a5 80000238: 810007b7 lui a5,0x81000 -8000023c: 33478793 addi a5,a5,820 # 81000334 +8000023c: 36478793 addi a5,a5,868 # 81000364 80000240: 00f707b3 add a5,a4,a5 80000244: 00078513 mv a0,a5 -80000248: 4c8000ef jal ra,80000710 +80000248: 4b8000ef jal ra,80000700 8000024c: 00050793 mv a5,a0 80000250: 02078a63 beqz a5,80000284 80000254: 000d0713 mv a4,s10 80000258: 810007b7 lui a5,0x81000 8000025c: 00271713 slli a4,a4,0x2 -80000260: 29478793 addi a5,a5,660 # 81000294 +80000260: 2c478793 addi a5,a5,708 # 810002c4 80000264: 00f707b3 add a5,a4,a5 80000268: 00100713 li a4,1 8000026c: 00e7a023 sw a4,0(a5) @@ -196,12 +196,12 @@ Disassembly of section .text: 80000288: 4c400793 li a5,1220 8000028c: 02f70733 mul a4,a4,a5 80000290: 810007b7 lui a5,0x81000 -80000294: 33478793 addi a5,a5,820 # 81000334 +80000294: 36478793 addi a5,a5,868 # 81000364 80000298: 00f707b3 add a5,a4,a5 8000029c: fd840713 addi a4,s0,-40 800002a0: 00070593 mv a1,a4 800002a4: 00078513 mv a0,a5 -800002a8: 3e0000ef jal ra,80000688 +800002a8: 3d0000ef jal ra,80000678 800002ac: fe042783 lw a5,-32(s0) 800002b0: 00078113 mv sp,a5 800002b4: fdc42783 lw a5,-36(s0) @@ -233,22 +233,22 @@ Disassembly of section .text: 80000314: 4c400793 li a5,1220 80000318: 02f70733 mul a4,a4,a5 8000031c: 810007b7 lui a5,0x81000 -80000320: 33478793 addi a5,a5,820 # 81000334 +80000320: 36478793 addi a5,a5,868 # 81000364 80000324: 00f707b3 add a5,a4,a5 80000328: 00078513 mv a0,a5 -8000032c: 3e4000ef jal ra,80000710 +8000032c: 3d4000ef jal ra,80000700 80000330: 00050793 mv a5,a0 80000334: 04079863 bnez a5,80000384 80000338: fec42703 lw a4,-20(s0) 8000033c: 4c400793 li a5,1220 80000340: 02f70733 mul a4,a4,a5 80000344: 810007b7 lui a5,0x81000 -80000348: 33478793 addi a5,a5,820 # 81000334 +80000348: 36478793 addi a5,a5,868 # 81000364 8000034c: 00f707b3 add a5,a4,a5 80000350: fd040713 addi a4,s0,-48 80000354: 00070593 mv a1,a4 80000358: 00078513 mv a0,a5 -8000035c: 32c000ef jal ra,80000688 +8000035c: 31c000ef jal ra,80000678 80000360: fd842783 lw a5,-40(s0) 80000364: 00078113 mv sp,a5 80000368: fd442783 lw a5,-44(s0) @@ -269,15 +269,15 @@ Disassembly of section .text: 800003a4: 00020793 mv a5,tp 800003a8: 04078863 beqz a5,800003f8 800003ac: 810007b7 lui a5,0x81000 -800003b0: 33478513 addi a0,a5,820 # 81000334 -800003b4: 35c000ef jal ra,80000710 +800003b0: 36478513 addi a0,a5,868 # 81000364 +800003b4: 34c000ef jal ra,80000700 800003b8: 00050793 mv a5,a0 800003bc: 02079e63 bnez a5,800003f8 800003c0: fb840793 addi a5,s0,-72 800003c4: 00078593 mv a1,a5 800003c8: 810007b7 lui a5,0x81000 -800003cc: 33478513 addi a0,a5,820 # 81000334 -800003d0: 2b8000ef jal ra,80000688 +800003cc: 36478513 addi a0,a5,868 # 81000364 +800003d0: 2a8000ef jal ra,80000678 800003d4: fc042783 lw a5,-64(s0) 800003d8: 00078113 mv sp,a5 800003dc: fbc42783 lw a5,-68(s0) @@ -305,1030 +305,1354 @@ Disassembly of section .text: 8000042c: d89ff0ef jal ra,800001b4 80000430: d75ff0ef jal ra,800001a4 80000434: fea42223 sw a0,-28(s0) -80000438: fe442583 lw a1,-28(s0) -8000043c: 810007b7 lui a5,0x81000 -80000440: 04078513 addi a0,a5,64 # 81000040 -80000444: 3fc000ef jal ra,80000840 -80000448: 00010913 mv s2,sp -8000044c: fe042623 sw zero,-20(s0) -80000450: fe042423 sw zero,-24(s0) -80000454: 08c0006f j 800004e0 -80000458: ffff09b7 lui s3,0xffff0 -8000045c: 01310133 add sp,sp,s3 -80000460: fe842783 lw a5,-24(s0) -80000464: fcf42623 sw a5,-52(s0) -80000468: fb842783 lw a5,-72(s0) -8000046c: fcf42823 sw a5,-48(s0) -80000470: 00010793 mv a5,sp -80000474: fcf42a23 sw a5,-44(s0) -80000478: fb442783 lw a5,-76(s0) -8000047c: fcf42c23 sw a5,-40(s0) -80000480: fb042783 lw a5,-80(s0) -80000484: fcf42e23 sw a5,-36(s0) -80000488: fec42783 lw a5,-20(s0) -8000048c: fef42023 sw a5,-32(s0) -80000490: fec42703 lw a4,-20(s0) -80000494: 4c400793 li a5,1220 -80000498: 02f70733 mul a4,a4,a5 -8000049c: 810007b7 lui a5,0x81000 -800004a0: 33478793 addi a5,a5,820 # 81000334 -800004a4: 00f707b3 add a5,a4,a5 -800004a8: fcc40713 addi a4,s0,-52 -800004ac: 00070593 mv a1,a4 -800004b0: 00078513 mv a0,a5 -800004b4: 16c000ef jal ra,80000620 -800004b8: fec42783 lw a5,-20(s0) -800004bc: 00178793 addi a5,a5,1 -800004c0: fef42623 sw a5,-20(s0) -800004c4: fec42783 lw a5,-20(s0) -800004c8: fe442703 lw a4,-28(s0) -800004cc: 00e7e463 bltu a5,a4,800004d4 -800004d0: fe042623 sw zero,-20(s0) -800004d4: fe842783 lw a5,-24(s0) -800004d8: 00178793 addi a5,a5,1 -800004dc: fef42423 sw a5,-24(s0) -800004e0: fe842703 lw a4,-24(s0) -800004e4: fbc42783 lw a5,-68(s0) -800004e8: f6f768e3 bltu a4,a5,80000458 -800004ec: 00090113 mv sp,s2 -800004f0: df9ff0ef jal ra,800002e8 -800004f4: 00000013 nop -800004f8: 04c12083 lw ra,76(sp) -800004fc: 04812403 lw s0,72(sp) -80000500: 05010113 addi sp,sp,80 -80000504: 00008067 ret +80000438: 00010913 mv s2,sp +8000043c: fe042623 sw zero,-20(s0) +80000440: fe042423 sw zero,-24(s0) +80000444: 08c0006f j 800004d0 +80000448: ffff09b7 lui s3,0xffff0 +8000044c: 01310133 add sp,sp,s3 +80000450: fe842783 lw a5,-24(s0) +80000454: fcf42623 sw a5,-52(s0) +80000458: fb842783 lw a5,-72(s0) +8000045c: fcf42823 sw a5,-48(s0) +80000460: 00010793 mv a5,sp +80000464: fcf42a23 sw a5,-44(s0) +80000468: fb442783 lw a5,-76(s0) +8000046c: fcf42c23 sw a5,-40(s0) +80000470: fb042783 lw a5,-80(s0) +80000474: fcf42e23 sw a5,-36(s0) +80000478: fec42783 lw a5,-20(s0) +8000047c: fef42023 sw a5,-32(s0) +80000480: fec42703 lw a4,-20(s0) +80000484: 4c400793 li a5,1220 +80000488: 02f70733 mul a4,a4,a5 +8000048c: 810007b7 lui a5,0x81000 +80000490: 36478793 addi a5,a5,868 # 81000364 +80000494: 00f707b3 add a5,a4,a5 +80000498: fcc40713 addi a4,s0,-52 +8000049c: 00070593 mv a1,a4 +800004a0: 00078513 mv a0,a5 +800004a4: 16c000ef jal ra,80000610 +800004a8: fec42783 lw a5,-20(s0) +800004ac: 00178793 addi a5,a5,1 +800004b0: fef42623 sw a5,-20(s0) +800004b4: fec42783 lw a5,-20(s0) +800004b8: fe442703 lw a4,-28(s0) +800004bc: 00e7e463 bltu a5,a4,800004c4 +800004c0: fe042623 sw zero,-20(s0) +800004c4: fe842783 lw a5,-24(s0) +800004c8: 00178793 addi a5,a5,1 +800004cc: fef42423 sw a5,-24(s0) +800004d0: fe842703 lw a4,-24(s0) +800004d4: fbc42783 lw a5,-68(s0) +800004d8: f6f768e3 bltu a4,a5,80000448 +800004dc: 00090113 mv sp,s2 +800004e0: e09ff0ef jal ra,800002e8 +800004e4: 00000013 nop +800004e8: 04c12083 lw ra,76(sp) +800004ec: 04812403 lw s0,72(sp) +800004f0: 05010113 addi sp,sp,80 +800004f4: 00008067 ret -80000508 : -80000508: fd010113 addi sp,sp,-48 -8000050c: 02112623 sw ra,44(sp) -80000510: 02812423 sw s0,40(sp) -80000514: 03010413 addi s0,sp,48 -80000518: fca42e23 sw a0,-36(s0) -8000051c: c89ff0ef jal ra,800001a4 -80000520: fea42023 sw a0,-32(s0) -80000524: fe042623 sw zero,-20(s0) -80000528: 0540006f j 8000057c -8000052c: fe042623 sw zero,-20(s0) -80000530: fe042423 sw zero,-24(s0) -80000534: 03c0006f j 80000570 -80000538: 810007b7 lui a5,0x81000 -8000053c: fe842703 lw a4,-24(s0) -80000540: 00271713 slli a4,a4,0x2 -80000544: 29478793 addi a5,a5,660 # 81000294 -80000548: 00f707b3 add a5,a4,a5 -8000054c: 0007a703 lw a4,0(a5) -80000550: 00100793 li a5,1 -80000554: 00f71863 bne a4,a5,80000564 -80000558: fec42783 lw a5,-20(s0) -8000055c: 00178793 addi a5,a5,1 -80000560: fef42623 sw a5,-20(s0) -80000564: fe842783 lw a5,-24(s0) -80000568: 00178793 addi a5,a5,1 -8000056c: fef42423 sw a5,-24(s0) -80000570: fe842783 lw a5,-24(s0) -80000574: fe042703 lw a4,-32(s0) -80000578: fce7e0e3 bltu a5,a4,80000538 -8000057c: fec42703 lw a4,-20(s0) -80000580: fdc42783 lw a5,-36(s0) -80000584: faf714e3 bne a4,a5,8000052c -80000588: fe042223 sw zero,-28(s0) -8000058c: 0280006f j 800005b4 -80000590: 810007b7 lui a5,0x81000 -80000594: fe442703 lw a4,-28(s0) -80000598: 00271713 slli a4,a4,0x2 -8000059c: 29478793 addi a5,a5,660 # 81000294 -800005a0: 00f707b3 add a5,a4,a5 -800005a4: 0007a023 sw zero,0(a5) -800005a8: fe442783 lw a5,-28(s0) -800005ac: 00178793 addi a5,a5,1 -800005b0: fef42223 sw a5,-28(s0) -800005b4: fe442783 lw a5,-28(s0) -800005b8: fe042703 lw a4,-32(s0) -800005bc: fce7eae3 bltu a5,a4,80000590 -800005c0: 00000013 nop -800005c4: 02c12083 lw ra,44(sp) -800005c8: 02812403 lw s0,40(sp) -800005cc: 03010113 addi sp,sp,48 -800005d0: 00008067 ret +800004f8 : +800004f8: fd010113 addi sp,sp,-48 +800004fc: 02112623 sw ra,44(sp) +80000500: 02812423 sw s0,40(sp) +80000504: 03010413 addi s0,sp,48 +80000508: fca42e23 sw a0,-36(s0) +8000050c: c99ff0ef jal ra,800001a4 +80000510: fea42023 sw a0,-32(s0) +80000514: fe042623 sw zero,-20(s0) +80000518: 0540006f j 8000056c +8000051c: fe042623 sw zero,-20(s0) +80000520: fe042423 sw zero,-24(s0) +80000524: 03c0006f j 80000560 +80000528: 810007b7 lui a5,0x81000 +8000052c: fe842703 lw a4,-24(s0) +80000530: 00271713 slli a4,a4,0x2 +80000534: 2c478793 addi a5,a5,708 # 810002c4 +80000538: 00f707b3 add a5,a4,a5 +8000053c: 0007a703 lw a4,0(a5) +80000540: 00100793 li a5,1 +80000544: 00f71863 bne a4,a5,80000554 +80000548: fec42783 lw a5,-20(s0) +8000054c: 00178793 addi a5,a5,1 +80000550: fef42623 sw a5,-20(s0) +80000554: fe842783 lw a5,-24(s0) +80000558: 00178793 addi a5,a5,1 +8000055c: fef42423 sw a5,-24(s0) +80000560: fe842783 lw a5,-24(s0) +80000564: fe042703 lw a4,-32(s0) +80000568: fce7e0e3 bltu a5,a4,80000528 +8000056c: fec42703 lw a4,-20(s0) +80000570: fdc42783 lw a5,-36(s0) +80000574: faf714e3 bne a4,a5,8000051c +80000578: fe042223 sw zero,-28(s0) +8000057c: 0280006f j 800005a4 +80000580: 810007b7 lui a5,0x81000 +80000584: fe442703 lw a4,-28(s0) +80000588: 00271713 slli a4,a4,0x2 +8000058c: 2c478793 addi a5,a5,708 # 810002c4 +80000590: 00f707b3 add a5,a4,a5 +80000594: 0007a023 sw zero,0(a5) +80000598: fe442783 lw a5,-28(s0) +8000059c: 00178793 addi a5,a5,1 +800005a0: fef42223 sw a5,-28(s0) +800005a4: fe442783 lw a5,-28(s0) +800005a8: fe042703 lw a4,-32(s0) +800005ac: fce7eae3 bltu a5,a4,80000580 +800005b0: 00000013 nop +800005b4: 02c12083 lw ra,44(sp) +800005b8: 02812403 lw s0,40(sp) +800005bc: 03010113 addi sp,sp,48 +800005c0: 00008067 ret -800005d4 : -800005d4: ff010113 addi sp,sp,-16 -800005d8: 00812623 sw s0,12(sp) -800005dc: 01712423 sw s7,8(sp) -800005e0: 01010413 addi s0,sp,16 -800005e4: 000b8793 mv a5,s7 -800005e8: 00078513 mv a0,a5 -800005ec: 00c12403 lw s0,12(sp) -800005f0: 00812b83 lw s7,8(sp) -800005f4: 01010113 addi sp,sp,16 -800005f8: 00008067 ret +800005c4 : +800005c4: ff010113 addi sp,sp,-16 +800005c8: 00812623 sw s0,12(sp) +800005cc: 01712423 sw s7,8(sp) +800005d0: 01010413 addi s0,sp,16 +800005d4: 000b8793 mv a5,s7 +800005d8: 00078513 mv a0,a5 +800005dc: 00c12403 lw s0,12(sp) +800005e0: 00812b83 lw s7,8(sp) +800005e4: 01010113 addi sp,sp,16 +800005e8: 00008067 ret -800005fc : -800005fc: 00050293 mv t0,a0 -80000600: 00000313 li t1,0 -80000604: 00700393 li t2,7 -80000608: 0062a023 sw t1,0(t0) -8000060c: 0062a223 sw t1,4(t0) -80000610: 0062a423 sw t1,8(t0) -80000614: 0072a623 sw t2,12(t0) -80000618: 0062a823 sw t1,16(t0) -8000061c: 00008067 ret +800005ec : +800005ec: 00050293 mv t0,a0 +800005f0: 00000313 li t1,0 +800005f4: 00700393 li t2,7 +800005f8: 0062a023 sw t1,0(t0) +800005fc: 0062a223 sw t1,4(t0) +80000600: 0062a423 sw t1,8(t0) +80000604: 0072a623 sw t2,12(t0) +80000608: 0062a823 sw t1,16(t0) +8000060c: 00008067 ret -80000620 : -80000620: 00050293 mv t0,a0 -80000624: 0082a303 lw t1,8(t0) -80000628: 00130313 addi t1,t1,1 -8000062c: 0062a423 sw t1,8(t0) -80000630: 01428313 addi t1,t0,20 -80000634: 0042ae83 lw t4,4(t0) -80000638: 005e9393 slli t2,t4,0x5 -8000063c: 00730333 add t1,t1,t2 -80000640: 0005ae03 lw t3,0(a1) -80000644: 01c32023 sw t3,0(t1) -80000648: 0045ae03 lw t3,4(a1) -8000064c: 01c32223 sw t3,4(t1) -80000650: 0085ae03 lw t3,8(a1) -80000654: 01c32423 sw t3,8(t1) -80000658: 00c5ae03 lw t3,12(a1) -8000065c: 01c32623 sw t3,12(t1) -80000660: 0105ae03 lw t3,16(a1) -80000664: 01c32823 sw t3,16(t1) -80000668: 0145ae03 lw t3,20(a1) -8000066c: 01c32a23 sw t3,20(t1) -80000670: 001e8e93 addi t4,t4,1 -80000674: 03200f13 li t5,50 -80000678: 01ee9463 bne t4,t5,80000680 -8000067c: 00000e93 li t4,0 +80000610 : +80000610: 00050293 mv t0,a0 +80000614: 0082a303 lw t1,8(t0) +80000618: 00130313 addi t1,t1,1 +8000061c: 0062a423 sw t1,8(t0) +80000620: 01428313 addi t1,t0,20 +80000624: 0042ae83 lw t4,4(t0) +80000628: 005e9393 slli t2,t4,0x5 +8000062c: 00730333 add t1,t1,t2 +80000630: 0005ae03 lw t3,0(a1) +80000634: 01c32023 sw t3,0(t1) +80000638: 0045ae03 lw t3,4(a1) +8000063c: 01c32223 sw t3,4(t1) +80000640: 0085ae03 lw t3,8(a1) +80000644: 01c32423 sw t3,8(t1) +80000648: 00c5ae03 lw t3,12(a1) +8000064c: 01c32623 sw t3,12(t1) +80000650: 0105ae03 lw t3,16(a1) +80000654: 01c32823 sw t3,16(t1) +80000658: 0145ae03 lw t3,20(a1) +8000065c: 01c32a23 sw t3,20(t1) +80000660: 001e8e93 addi t4,t4,1 +80000664: 03200f13 li t5,50 +80000668: 01ee9463 bne t4,t5,80000670 +8000066c: 00000e93 li t4,0 -80000680 : -80000680: 01d2a223 sw t4,4(t0) -80000684: 00008067 ret +80000670 : +80000670: 01d2a223 sw t4,4(t0) +80000674: 00008067 ret -80000688 : -80000688: 00050293 mv t0,a0 -8000068c: 0082a303 lw t1,8(t0) -80000690: fff30313 addi t1,t1,-1 -80000694: 0062a423 sw t1,8(t0) -80000698: 01428313 addi t1,t0,20 -8000069c: 0002ae83 lw t4,0(t0) -800006a0: 03200f93 li t6,50 -800006a4: 000e8f13 mv t5,t4 -800006a8: 001f0f13 addi t5,t5,1 -800006ac: 01ff1463 bne t5,t6,800006b4 -800006b0: 00000f13 li t5,0 +80000678 : +80000678: 00050293 mv t0,a0 +8000067c: 0082a303 lw t1,8(t0) +80000680: fff30313 addi t1,t1,-1 +80000684: 0062a423 sw t1,8(t0) +80000688: 01428313 addi t1,t0,20 +8000068c: 0002ae83 lw t4,0(t0) +80000690: 03200f93 li t6,50 +80000694: 000e8f13 mv t5,t4 +80000698: 001f0f13 addi t5,t5,1 +8000069c: 01ff1463 bne t5,t6,800006a4 +800006a0: 00000f13 li t5,0 -800006b4 : -800006b4: 01e2a023 sw t5,0(t0) -800006b8: 005e9393 slli t2,t4,0x5 -800006bc: 00730333 add t1,t1,t2 -800006c0: 00032e03 lw t3,0(t1) -800006c4: 01c5a023 sw t3,0(a1) -800006c8: 00432e03 lw t3,4(t1) -800006cc: 01c5a223 sw t3,4(a1) -800006d0: 00832e03 lw t3,8(t1) -800006d4: 01c5a423 sw t3,8(a1) -800006d8: 00c32e03 lw t3,12(t1) -800006dc: 01c5a623 sw t3,12(a1) -800006e0: 01032e03 lw t3,16(t1) -800006e4: 01c5a823 sw t3,16(a1) -800006e8: 01432e03 lw t3,20(t1) -800006ec: 01c5aa23 sw t3,20(a1) -800006f0: 00008067 ret +800006a4 : +800006a4: 01e2a023 sw t5,0(t0) +800006a8: 005e9393 slli t2,t4,0x5 +800006ac: 00730333 add t1,t1,t2 +800006b0: 00032e03 lw t3,0(t1) +800006b4: 01c5a023 sw t3,0(a1) +800006b8: 00432e03 lw t3,4(t1) +800006bc: 01c5a223 sw t3,4(a1) +800006c0: 00832e03 lw t3,8(t1) +800006c4: 01c5a423 sw t3,8(a1) +800006c8: 00c32e03 lw t3,12(t1) +800006cc: 01c5a623 sw t3,12(a1) +800006d0: 01032e03 lw t3,16(t1) +800006d4: 01c5a823 sw t3,16(a1) +800006d8: 01432e03 lw t3,20(t1) +800006dc: 01c5aa23 sw t3,20(a1) +800006e0: 00008067 ret -800006f4 : -800006f4: 00050293 mv t0,a0 -800006f8: 0082a303 lw t1,8(t0) -800006fc: 00000513 li a0,0 -80000700: 03200e13 li t3,50 -80000704: 006e1463 bne t3,t1,8000070c -80000708: 00150513 addi a0,a0,1 +800006e4 : +800006e4: 00050293 mv t0,a0 +800006e8: 0082a303 lw t1,8(t0) +800006ec: 00000513 li a0,0 +800006f0: 03200e13 li t3,50 +800006f4: 006e1463 bne t3,t1,800006fc +800006f8: 00150513 addi a0,a0,1 -8000070c : -8000070c: 00008067 ret +800006fc : +800006fc: 00008067 ret -80000710 : -80000710: 00050293 mv t0,a0 -80000714: 0082a303 lw t1,8(t0) -80000718: 00000513 li a0,0 -8000071c: 00000e13 li t3,0 -80000720: 006e1463 bne t3,t1,80000728 -80000724: 00150513 addi a0,a0,1 +80000700 : +80000700: 00050293 mv t0,a0 +80000704: 0082a303 lw t1,8(t0) +80000708: 00000513 li a0,0 +8000070c: 00000e13 li t3,0 +80000710: 006e1463 bne t3,t1,80000718 +80000714: 00150513 addi a0,a0,1 -80000728 : -80000728: 00008067 ret +80000718 : +80000718: 00008067 ret -8000072c : -8000072c: 00050293 mv t0,a0 -80000730: 00c2a303 lw t1,12(t0) -80000734: 0102a383 lw t2,16(t0) -80000738: 0063b533 sltu a0,t2,t1 -8000073c: 00008067 ret +8000071c : +8000071c: 00050293 mv t0,a0 +80000720: 00c2a303 lw t1,12(t0) +80000724: 0102a383 lw t2,16(t0) +80000728: 0063b533 sltu a0,t2,t1 +8000072c: 00008067 ret -80000740 : -80000740: ff410113 addi sp,sp,-12 -80000744: 00112023 sw ra,0(sp) -80000748: 00b12223 sw a1,4(sp) +80000730 : +80000730: ff410113 addi sp,sp,-12 +80000734: 00112023 sw ra,0(sp) +80000738: 00b12223 sw a1,4(sp) -8000074c : -8000074c: 00054583 lbu a1,0(a0) -80000750: 00058863 beqz a1,80000760 -80000754: 01c000ef jal ra,80000770 -80000758: 00150513 addi a0,a0,1 -8000075c: ff1ff06f j 8000074c +8000073c : +8000073c: 00054583 lbu a1,0(a0) +80000740: 00058863 beqz a1,80000750 +80000744: 01c000ef jal ra,80000760 +80000748: 00150513 addi a0,a0,1 +8000074c: ff1ff06f j 8000073c -80000760 : -80000760: 00012083 lw ra,0(sp) -80000764: 00412583 lw a1,4(sp) -80000768: 00c10113 addi sp,sp,12 -8000076c: 00008067 ret +80000750 : +80000750: 00012083 lw ra,0(sp) +80000754: 00412583 lw a1,4(sp) +80000758: 00c10113 addi sp,sp,12 +8000075c: 00008067 ret -80000770 : -80000770: 000108b7 lui a7,0x10 -80000774: 00b8a023 sw a1,0(a7) # 10000 -80000778: 00008067 ret +80000760 : +80000760: 000108b7 lui a7,0x10 +80000764: 00b8a023 sw a1,0(a7) # 10000 +80000768: 00008067 ret -8000077c : -8000077c: fd010113 addi sp,sp,-48 -80000780: 02112623 sw ra,44(sp) -80000784: 02812423 sw s0,40(sp) -80000788: 03010413 addi s0,sp,48 -8000078c: fca42e23 sw a0,-36(s0) +8000076c : +8000076c: fd010113 addi sp,sp,-48 +80000770: 02112623 sw ra,44(sp) +80000774: 02812423 sw s0,40(sp) +80000778: 03010413 addi s0,sp,48 +8000077c: fca42e23 sw a0,-36(s0) +80000780: fdc42703 lw a4,-36(s0) +80000784: 00f00793 li a5,15 +80000788: 02e7e463 bltu a5,a4,800007b0 +8000078c: 810007b7 lui a5,0x81000 80000790: fdc42703 lw a4,-36(s0) -80000794: 00f00793 li a5,15 -80000798: 02e7e463 bltu a5,a4,800007c0 -8000079c: 810007b7 lui a5,0x81000 -800007a0: fdc42703 lw a4,-36(s0) -800007a4: 00271713 slli a4,a4,0x2 -800007a8: 1d478793 addi a5,a5,468 # 810001d4 -800007ac: 00f707b3 add a5,a4,a5 -800007b0: 0007a783 lw a5,0(a5) -800007b4: 00078513 mv a0,a5 -800007b8: f89ff0ef jal ra,80000740 -800007bc: 0740006f j 80000830 -800007c0: 02000793 li a5,32 -800007c4: fef42623 sw a5,-20(s0) -800007c8: fe0405a3 sb zero,-21(s0) -800007cc: fec42783 lw a5,-20(s0) -800007d0: ffc78793 addi a5,a5,-4 -800007d4: fdc42703 lw a4,-36(s0) -800007d8: 00f757b3 srl a5,a4,a5 -800007dc: 00f7f793 andi a5,a5,15 -800007e0: fef42223 sw a5,-28(s0) -800007e4: fe442783 lw a5,-28(s0) -800007e8: 00078663 beqz a5,800007f4 -800007ec: 00100793 li a5,1 -800007f0: fef405a3 sb a5,-21(s0) -800007f4: feb44783 lbu a5,-21(s0) -800007f8: 02078263 beqz a5,8000081c -800007fc: 810007b7 lui a5,0x81000 -80000800: fe442703 lw a4,-28(s0) -80000804: 00271713 slli a4,a4,0x2 -80000808: 1d478793 addi a5,a5,468 # 810001d4 -8000080c: 00f707b3 add a5,a4,a5 -80000810: 0007a783 lw a5,0(a5) -80000814: 00078513 mv a0,a5 -80000818: f29ff0ef jal ra,80000740 -8000081c: fec42783 lw a5,-20(s0) -80000820: ffc78793 addi a5,a5,-4 -80000824: fef42623 sw a5,-20(s0) -80000828: fec42783 lw a5,-20(s0) -8000082c: faf040e3 bgtz a5,800007cc -80000830: 02c12083 lw ra,44(sp) -80000834: 02812403 lw s0,40(sp) -80000838: 03010113 addi sp,sp,48 -8000083c: 00008067 ret +80000794: 00271713 slli a4,a4,0x2 +80000798: 20478793 addi a5,a5,516 # 81000204 +8000079c: 00f707b3 add a5,a4,a5 +800007a0: 0007a783 lw a5,0(a5) +800007a4: 00078513 mv a0,a5 +800007a8: f89ff0ef jal ra,80000730 +800007ac: 0740006f j 80000820 +800007b0: 02000793 li a5,32 +800007b4: fef42623 sw a5,-20(s0) +800007b8: fe0405a3 sb zero,-21(s0) +800007bc: fec42783 lw a5,-20(s0) +800007c0: ffc78793 addi a5,a5,-4 +800007c4: fdc42703 lw a4,-36(s0) +800007c8: 00f757b3 srl a5,a4,a5 +800007cc: 00f7f793 andi a5,a5,15 +800007d0: fef42223 sw a5,-28(s0) +800007d4: fe442783 lw a5,-28(s0) +800007d8: 00078663 beqz a5,800007e4 +800007dc: 00100793 li a5,1 +800007e0: fef405a3 sb a5,-21(s0) +800007e4: feb44783 lbu a5,-21(s0) +800007e8: 02078263 beqz a5,8000080c +800007ec: 810007b7 lui a5,0x81000 +800007f0: fe442703 lw a4,-28(s0) +800007f4: 00271713 slli a4,a4,0x2 +800007f8: 20478793 addi a5,a5,516 # 81000204 +800007fc: 00f707b3 add a5,a4,a5 +80000800: 0007a783 lw a5,0(a5) +80000804: 00078513 mv a0,a5 +80000808: f29ff0ef jal ra,80000730 +8000080c: fec42783 lw a5,-20(s0) +80000810: ffc78793 addi a5,a5,-4 +80000814: fef42623 sw a5,-20(s0) +80000818: fec42783 lw a5,-20(s0) +8000081c: faf040e3 bgtz a5,800007bc +80000820: 02c12083 lw ra,44(sp) +80000824: 02812403 lw s0,40(sp) +80000828: 03010113 addi sp,sp,48 +8000082c: 00008067 ret -80000840 : -80000840: fe010113 addi sp,sp,-32 -80000844: 00112e23 sw ra,28(sp) -80000848: 00812c23 sw s0,24(sp) -8000084c: 02010413 addi s0,sp,32 -80000850: fea42623 sw a0,-20(s0) -80000854: feb42423 sw a1,-24(s0) -80000858: fec42503 lw a0,-20(s0) -8000085c: ee5ff0ef jal ra,80000740 -80000860: fe842503 lw a0,-24(s0) -80000864: f19ff0ef jal ra,8000077c -80000868: 810007b7 lui a5,0x81000 -8000086c: 09878513 addi a0,a5,152 # 81000098 -80000870: ed1ff0ef jal ra,80000740 -80000874: 00000013 nop -80000878: 01c12083 lw ra,28(sp) -8000087c: 01812403 lw s0,24(sp) -80000880: 02010113 addi sp,sp,32 -80000884: 00008067 ret +80000830 : +80000830: fe010113 addi sp,sp,-32 +80000834: 00112e23 sw ra,28(sp) +80000838: 00812c23 sw s0,24(sp) +8000083c: 02010413 addi s0,sp,32 +80000840: fea42623 sw a0,-20(s0) +80000844: feb42423 sw a1,-24(s0) +80000848: fec42503 lw a0,-20(s0) +8000084c: ee5ff0ef jal ra,80000730 +80000850: fe842503 lw a0,-24(s0) +80000854: f19ff0ef jal ra,8000076c +80000858: 810007b7 lui a5,0x81000 +8000085c: 08078513 addi a0,a5,128 # 81000080 +80000860: ed1ff0ef jal ra,80000730 +80000864: 00000013 nop +80000868: 01c12083 lw ra,28(sp) +8000086c: 01812403 lw s0,24(sp) +80000870: 02010113 addi sp,sp,32 +80000874: 00008067 ret -80000888 : -80000888: fd010113 addi sp,sp,-48 -8000088c: 02112623 sw ra,44(sp) -80000890: 02812423 sw s0,40(sp) -80000894: 03010413 addi s0,sp,48 -80000898: fca42e23 sw a0,-36(s0) -8000089c: fcb42c23 sw a1,-40(s0) -800008a0: fcc42a23 sw a2,-44(s0) -800008a4: fcd42823 sw a3,-48(s0) -800008a8: 810037b7 lui a5,0x81003 -800008ac: fdc42703 lw a4,-36(s0) -800008b0: 96e7aa23 sw a4,-1676(a5) # 81002974 +80000878 : +80000878: fd010113 addi sp,sp,-48 +8000087c: 02112623 sw ra,44(sp) +80000880: 02812423 sw s0,40(sp) +80000884: 03010413 addi s0,sp,48 +80000888: fca42e23 sw a0,-36(s0) +8000088c: fcb42c23 sw a1,-40(s0) +80000890: fcc42a23 sw a2,-44(s0) +80000894: fcd42823 sw a3,-48(s0) +80000898: 810037b7 lui a5,0x81003 +8000089c: fdc42703 lw a4,-36(s0) +800008a0: 9ae7a223 sw a4,-1628(a5) # 810029a4 +800008a4: 810037b7 lui a5,0x81003 +800008a8: 9a478793 addi a5,a5,-1628 # 810029a4 +800008ac: fd842703 lw a4,-40(s0) +800008b0: 00e7a223 sw a4,4(a5) 800008b4: 810037b7 lui a5,0x81003 -800008b8: 97478793 addi a5,a5,-1676 # 81002974 -800008bc: fd842703 lw a4,-40(s0) -800008c0: 00e7a223 sw a4,4(a5) +800008b8: 9a478793 addi a5,a5,-1628 # 810029a4 +800008bc: fd442703 lw a4,-44(s0) +800008c0: 00e7a423 sw a4,8(a5) 800008c4: 810037b7 lui a5,0x81003 -800008c8: 97478793 addi a5,a5,-1676 # 81002974 -800008cc: fd442703 lw a4,-44(s0) -800008d0: 00e7a423 sw a4,8(a5) -800008d4: 810037b7 lui a5,0x81003 -800008d8: 97478793 addi a5,a5,-1676 # 81002974 +800008c8: 9a478793 addi a5,a5,-1628 # 810029a4 +800008cc: fd042703 lw a4,-48(s0) +800008d0: 00e7a623 sw a4,12(a5) +800008d4: 8d9ff0ef jal ra,800001ac +800008d8: fea42423 sw a0,-24(s0) 800008dc: fd042703 lw a4,-48(s0) -800008e0: 00e7a623 sw a4,12(a5) -800008e4: 8c9ff0ef jal ra,800001ac -800008e8: fea42423 sw a0,-24(s0) +800008e0: fe842783 lw a5,-24(s0) +800008e4: 02f757b3 divu a5,a4,a5 +800008e8: fef42623 sw a5,-20(s0) 800008ec: fd042703 lw a4,-48(s0) 800008f0: fe842783 lw a5,-24(s0) -800008f4: 02f757b3 divu a5,a4,a5 -800008f8: fef42623 sw a5,-20(s0) -800008fc: fd042703 lw a4,-48(s0) -80000900: fe842783 lw a5,-24(s0) -80000904: 02f777b3 remu a5,a4,a5 -80000908: 00078863 beqz a5,80000918 -8000090c: fec42783 lw a5,-20(s0) -80000910: 00178793 addi a5,a5,1 -80000914: fef42623 sw a5,-20(s0) -80000918: fec42583 lw a1,-20(s0) -8000091c: 810007b7 lui a5,0x81000 -80000920: 0dc78513 addi a0,a5,220 # 810000dc -80000924: f1dff0ef jal ra,80000840 -80000928: 810037b7 lui a5,0x81003 -8000092c: 97478793 addi a5,a5,-1676 # 81002974 -80000930: fec42703 lw a4,-20(s0) -80000934: 00e7a823 sw a4,16(a5) -80000938: fd042703 lw a4,-48(s0) -8000093c: fe842783 lw a5,-24(s0) -80000940: 02f76263 bltu a4,a5,80000964 -80000944: 810037b7 lui a5,0x81003 -80000948: 97478693 addi a3,a5,-1676 # 81002974 -8000094c: 800017b7 lui a5,0x80001 -80000950: 9bc78613 addi a2,a5,-1604 # 800009bc -80000954: fe842583 lw a1,-24(s0) -80000958: fd042503 lw a0,-48(s0) -8000095c: ab1ff0ef jal ra,8000040c -80000960: 0200006f j 80000980 -80000964: 810037b7 lui a5,0x81003 -80000968: 97478693 addi a3,a5,-1676 # 81002974 -8000096c: 800017b7 lui a5,0x80001 -80000970: 9bc78613 addi a2,a5,-1604 # 800009bc -80000974: fd042583 lw a1,-48(s0) -80000978: fd042503 lw a0,-48(s0) -8000097c: a91ff0ef jal ra,8000040c -80000980: 825ff0ef jal ra,800001a4 -80000984: fea42223 sw a0,-28(s0) -80000988: fd042703 lw a4,-48(s0) -8000098c: fe442783 lw a5,-28(s0) -80000990: 00e7f863 bgeu a5,a4,800009a0 -80000994: fe442503 lw a0,-28(s0) -80000998: b71ff0ef jal ra,80000508 -8000099c: 00c0006f j 800009a8 -800009a0: fd042503 lw a0,-48(s0) -800009a4: b65ff0ef jal ra,80000508 -800009a8: 00000013 nop -800009ac: 02c12083 lw ra,44(sp) -800009b0: 02812403 lw s0,40(sp) -800009b4: 03010113 addi sp,sp,48 -800009b8: 00008067 ret +800008f4: 02f777b3 remu a5,a4,a5 +800008f8: 00078863 beqz a5,80000908 +800008fc: fec42783 lw a5,-20(s0) +80000900: 00178793 addi a5,a5,1 +80000904: fef42623 sw a5,-20(s0) +80000908: fec42583 lw a1,-20(s0) +8000090c: 810007b7 lui a5,0x81000 +80000910: 0c478513 addi a0,a5,196 # 810000c4 +80000914: f1dff0ef jal ra,80000830 +80000918: 810037b7 lui a5,0x81003 +8000091c: 9a478793 addi a5,a5,-1628 # 810029a4 +80000920: fec42703 lw a4,-20(s0) +80000924: 00e7a823 sw a4,16(a5) +80000928: fd042703 lw a4,-48(s0) +8000092c: fe842783 lw a5,-24(s0) +80000930: 02f76263 bltu a4,a5,80000954 +80000934: 810037b7 lui a5,0x81003 +80000938: 9a478693 addi a3,a5,-1628 # 810029a4 +8000093c: 800017b7 lui a5,0x80001 +80000940: 9ac78613 addi a2,a5,-1620 # 800009ac +80000944: fe842583 lw a1,-24(s0) +80000948: fd042503 lw a0,-48(s0) +8000094c: ac1ff0ef jal ra,8000040c +80000950: 0200006f j 80000970 +80000954: 810037b7 lui a5,0x81003 +80000958: 9a478693 addi a3,a5,-1628 # 810029a4 +8000095c: 800017b7 lui a5,0x80001 +80000960: 9ac78613 addi a2,a5,-1620 # 800009ac +80000964: fd042583 lw a1,-48(s0) +80000968: fd042503 lw a0,-48(s0) +8000096c: aa1ff0ef jal ra,8000040c +80000970: 835ff0ef jal ra,800001a4 +80000974: fea42223 sw a0,-28(s0) +80000978: fd042703 lw a4,-48(s0) +8000097c: fe442783 lw a5,-28(s0) +80000980: 00e7f863 bgeu a5,a4,80000990 +80000984: fe442503 lw a0,-28(s0) +80000988: b71ff0ef jal ra,800004f8 +8000098c: 00c0006f j 80000998 +80000990: fd042503 lw a0,-48(s0) +80000994: b65ff0ef jal ra,800004f8 +80000998: 00000013 nop +8000099c: 02c12083 lw ra,44(sp) +800009a0: 02812403 lw s0,40(sp) +800009a4: 03010113 addi sp,sp,48 +800009a8: 00008067 ret -800009bc <_vx_mat_mult>: -800009bc: fa010113 addi sp,sp,-96 -800009c0: 04112e23 sw ra,92(sp) -800009c4: 04812c23 sw s0,88(sp) -800009c8: 06010413 addi s0,sp,96 -800009cc: faa42623 sw a0,-84(s0) -800009d0: fab42423 sw a1,-88(s0) -800009d4: c01ff0ef jal ra,800005d4 -800009d8: fca42c23 sw a0,-40(s0) -800009dc: fd842783 lw a5,-40(s0) -800009e0: 0007a783 lw a5,0(a5) -800009e4: fcf42a23 sw a5,-44(s0) -800009e8: fd842783 lw a5,-40(s0) -800009ec: 0047a783 lw a5,4(a5) -800009f0: fcf42823 sw a5,-48(s0) -800009f4: fd842783 lw a5,-40(s0) -800009f8: 0087a783 lw a5,8(a5) -800009fc: fcf42623 sw a5,-52(s0) -80000a00: fd842783 lw a5,-40(s0) -80000a04: 0107a783 lw a5,16(a5) -80000a08: fef42623 sw a5,-20(s0) -80000a0c: fec42703 lw a4,-20(s0) -80000a10: fac42783 lw a5,-84(s0) -80000a14: 02f707b3 mul a5,a4,a5 -80000a18: fef42423 sw a5,-24(s0) -80000a1c: fec42783 lw a5,-20(s0) -80000a20: 00079a63 bnez a5,80000a34 <_vx_mat_mult+0x78> -80000a24: 00100793 li a5,1 -80000a28: fef42623 sw a5,-20(s0) -80000a2c: fac42783 lw a5,-84(s0) -80000a30: fef42423 sw a5,-24(s0) -80000a34: fd842783 lw a5,-40(s0) -80000a38: 00c7a783 lw a5,12(a5) -80000a3c: fcf42423 sw a5,-56(s0) -80000a40: fe042223 sw zero,-28(s0) -80000a44: 1240006f j 80000b68 <_vx_mat_mult+0x1ac> -80000a48: fe042023 sw zero,-32(s0) -80000a4c: fc042e23 sw zero,-36(s0) -80000a50: 0780006f j 80000ac8 <_vx_mat_mult+0x10c> -80000a54: fa842703 lw a4,-88(s0) -80000a58: fc842783 lw a5,-56(s0) -80000a5c: 02f707b3 mul a5,a4,a5 -80000a60: fdc42703 lw a4,-36(s0) -80000a64: 00f707b3 add a5,a4,a5 -80000a68: fcf42223 sw a5,-60(s0) -80000a6c: fc842703 lw a4,-56(s0) -80000a70: fdc42783 lw a5,-36(s0) -80000a74: 02f707b3 mul a5,a4,a5 -80000a78: fe842703 lw a4,-24(s0) -80000a7c: 00f707b3 add a5,a4,a5 -80000a80: fcf42023 sw a5,-64(s0) -80000a84: fc442783 lw a5,-60(s0) -80000a88: 00279793 slli a5,a5,0x2 -80000a8c: fd442703 lw a4,-44(s0) -80000a90: 00f707b3 add a5,a4,a5 -80000a94: 0007a703 lw a4,0(a5) -80000a98: fc042783 lw a5,-64(s0) -80000a9c: 00279793 slli a5,a5,0x2 -80000aa0: fd042683 lw a3,-48(s0) -80000aa4: 00f687b3 add a5,a3,a5 -80000aa8: 0007a783 lw a5,0(a5) -80000aac: 02f707b3 mul a5,a4,a5 -80000ab0: fe042703 lw a4,-32(s0) -80000ab4: 00f707b3 add a5,a4,a5 -80000ab8: fef42023 sw a5,-32(s0) -80000abc: fdc42783 lw a5,-36(s0) -80000ac0: 00178793 addi a5,a5,1 -80000ac4: fcf42e23 sw a5,-36(s0) -80000ac8: fdc42703 lw a4,-36(s0) -80000acc: fc842783 lw a5,-56(s0) -80000ad0: f8f762e3 bltu a4,a5,80000a54 <_vx_mat_mult+0x98> -80000ad4: fa842703 lw a4,-88(s0) -80000ad8: fc842783 lw a5,-56(s0) -80000adc: 02f70733 mul a4,a4,a5 -80000ae0: fe842783 lw a5,-24(s0) -80000ae4: 00f707b3 add a5,a4,a5 -80000ae8: faf42e23 sw a5,-68(s0) -80000aec: fe842703 lw a4,-24(s0) -80000af0: fc842783 lw a5,-56(s0) -80000af4: 00f737b3 sltu a5,a4,a5 -80000af8: 0ff7f793 andi a5,a5,255 -80000afc: faf42c23 sw a5,-72(s0) -80000b00: fb842783 lw a5,-72(s0) -80000b04: 0017b793 seqz a5,a5 -80000b08: faf40ba3 sb a5,-73(s0) -80000b0c: fb744783 lbu a5,-73(s0) -80000b10: 00078f13 mv t5,a5 -80000b14: 800017b7 lui a5,0x80001 -80000b18: b5478f93 addi t6,a5,-1196 # 80000b54 -80000b1c: 000f206b 0xf206b -80000b20: 01ff707b 0x1ff707b -80000b24: fbc42783 lw a5,-68(s0) -80000b28: 00279793 slli a5,a5,0x2 -80000b2c: fcc42703 lw a4,-52(s0) -80000b30: 00f707b3 add a5,a4,a5 -80000b34: fe042703 lw a4,-32(s0) -80000b38: 00e7a023 sw a4,0(a5) -80000b3c: fe842783 lw a5,-24(s0) -80000b40: 00178793 addi a5,a5,1 -80000b44: fef42423 sw a5,-24(s0) -80000b48: 800017b7 lui a5,0x80001 -80000b4c: b5878e13 addi t3,a5,-1192 # 80000b58 -80000b50: 000e0067 jr t3 -80000b54: 00000013 nop -80000b58: 0000306b 0x306b -80000b5c: fe442783 lw a5,-28(s0) -80000b60: 00178793 addi a5,a5,1 -80000b64: fef42223 sw a5,-28(s0) -80000b68: fe442783 lw a5,-28(s0) -80000b6c: fec42703 lw a4,-20(s0) -80000b70: ece7ece3 bltu a5,a4,80000a48 <_vx_mat_mult+0x8c> -80000b74: 00000013 nop -80000b78: 05c12083 lw ra,92(sp) -80000b7c: 05812403 lw s0,88(sp) -80000b80: 06010113 addi sp,sp,96 -80000b84: 00008067 ret +800009ac <_vx_mat_mult>: +800009ac: fa010113 addi sp,sp,-96 +800009b0: 04112e23 sw ra,92(sp) +800009b4: 04812c23 sw s0,88(sp) +800009b8: 06010413 addi s0,sp,96 +800009bc: faa42623 sw a0,-84(s0) +800009c0: fab42423 sw a1,-88(s0) +800009c4: c01ff0ef jal ra,800005c4 +800009c8: fca42c23 sw a0,-40(s0) +800009cc: fd842783 lw a5,-40(s0) +800009d0: 0007a783 lw a5,0(a5) +800009d4: fcf42a23 sw a5,-44(s0) +800009d8: fd842783 lw a5,-40(s0) +800009dc: 0047a783 lw a5,4(a5) +800009e0: fcf42823 sw a5,-48(s0) +800009e4: fd842783 lw a5,-40(s0) +800009e8: 0087a783 lw a5,8(a5) +800009ec: fcf42623 sw a5,-52(s0) +800009f0: fd842783 lw a5,-40(s0) +800009f4: 0107a783 lw a5,16(a5) +800009f8: fef42623 sw a5,-20(s0) +800009fc: fec42703 lw a4,-20(s0) +80000a00: fac42783 lw a5,-84(s0) +80000a04: 02f707b3 mul a5,a4,a5 +80000a08: fef42423 sw a5,-24(s0) +80000a0c: fec42783 lw a5,-20(s0) +80000a10: 00079a63 bnez a5,80000a24 <_vx_mat_mult+0x78> +80000a14: 00100793 li a5,1 +80000a18: fef42623 sw a5,-20(s0) +80000a1c: fac42783 lw a5,-84(s0) +80000a20: fef42423 sw a5,-24(s0) +80000a24: fd842783 lw a5,-40(s0) +80000a28: 00c7a783 lw a5,12(a5) +80000a2c: fcf42423 sw a5,-56(s0) +80000a30: fe042223 sw zero,-28(s0) +80000a34: 1240006f j 80000b58 <_vx_mat_mult+0x1ac> +80000a38: fe042023 sw zero,-32(s0) +80000a3c: fc042e23 sw zero,-36(s0) +80000a40: 0780006f j 80000ab8 <_vx_mat_mult+0x10c> +80000a44: fa842703 lw a4,-88(s0) +80000a48: fc842783 lw a5,-56(s0) +80000a4c: 02f707b3 mul a5,a4,a5 +80000a50: fdc42703 lw a4,-36(s0) +80000a54: 00f707b3 add a5,a4,a5 +80000a58: fcf42223 sw a5,-60(s0) +80000a5c: fc842703 lw a4,-56(s0) +80000a60: fdc42783 lw a5,-36(s0) +80000a64: 02f707b3 mul a5,a4,a5 +80000a68: fe842703 lw a4,-24(s0) +80000a6c: 00f707b3 add a5,a4,a5 +80000a70: fcf42023 sw a5,-64(s0) +80000a74: fc442783 lw a5,-60(s0) +80000a78: 00279793 slli a5,a5,0x2 +80000a7c: fd442703 lw a4,-44(s0) +80000a80: 00f707b3 add a5,a4,a5 +80000a84: 0007a703 lw a4,0(a5) +80000a88: fc042783 lw a5,-64(s0) +80000a8c: 00279793 slli a5,a5,0x2 +80000a90: fd042683 lw a3,-48(s0) +80000a94: 00f687b3 add a5,a3,a5 +80000a98: 0007a783 lw a5,0(a5) +80000a9c: 02f707b3 mul a5,a4,a5 +80000aa0: fe042703 lw a4,-32(s0) +80000aa4: 00f707b3 add a5,a4,a5 +80000aa8: fef42023 sw a5,-32(s0) +80000aac: fdc42783 lw a5,-36(s0) +80000ab0: 00178793 addi a5,a5,1 +80000ab4: fcf42e23 sw a5,-36(s0) +80000ab8: fdc42703 lw a4,-36(s0) +80000abc: fc842783 lw a5,-56(s0) +80000ac0: f8f762e3 bltu a4,a5,80000a44 <_vx_mat_mult+0x98> +80000ac4: fa842703 lw a4,-88(s0) +80000ac8: fc842783 lw a5,-56(s0) +80000acc: 02f70733 mul a4,a4,a5 +80000ad0: fe842783 lw a5,-24(s0) +80000ad4: 00f707b3 add a5,a4,a5 +80000ad8: faf42e23 sw a5,-68(s0) +80000adc: fe842703 lw a4,-24(s0) +80000ae0: fc842783 lw a5,-56(s0) +80000ae4: 00f737b3 sltu a5,a4,a5 +80000ae8: 0ff7f793 andi a5,a5,255 +80000aec: faf42c23 sw a5,-72(s0) +80000af0: fb842783 lw a5,-72(s0) +80000af4: 0017b793 seqz a5,a5 +80000af8: faf40ba3 sb a5,-73(s0) +80000afc: fb744783 lbu a5,-73(s0) +80000b00: 00078f13 mv t5,a5 +80000b04: 800017b7 lui a5,0x80001 +80000b08: b4478f93 addi t6,a5,-1212 # 80000b44 +80000b0c: 000f206b 0xf206b +80000b10: 01ff707b 0x1ff707b +80000b14: fbc42783 lw a5,-68(s0) +80000b18: 00279793 slli a5,a5,0x2 +80000b1c: fcc42703 lw a4,-52(s0) +80000b20: 00f707b3 add a5,a4,a5 +80000b24: fe042703 lw a4,-32(s0) +80000b28: 00e7a023 sw a4,0(a5) +80000b2c: fe842783 lw a5,-24(s0) +80000b30: 00178793 addi a5,a5,1 +80000b34: fef42423 sw a5,-24(s0) +80000b38: 800017b7 lui a5,0x80001 +80000b3c: b4878e13 addi t3,a5,-1208 # 80000b48 +80000b40: 000e0067 jr t3 +80000b44: 00000013 nop +80000b48: 0000306b 0x306b +80000b4c: fe442783 lw a5,-28(s0) +80000b50: 00178793 addi a5,a5,1 +80000b54: fef42223 sw a5,-28(s0) +80000b58: fe442783 lw a5,-28(s0) +80000b5c: fec42703 lw a4,-20(s0) +80000b60: ece7ece3 bltu a5,a4,80000a38 <_vx_mat_mult+0x8c> +80000b64: 00000013 nop +80000b68: 05c12083 lw ra,92(sp) +80000b6c: 05812403 lw s0,88(sp) +80000b70: 06010113 addi sp,sp,96 +80000b74: 00008067 ret -80000b88 : -80000b88: fc010113 addi sp,sp,-64 -80000b8c: 02112e23 sw ra,60(sp) -80000b90: 02812c23 sw s0,56(sp) -80000b94: 04010413 addi s0,sp,64 -80000b98: fca42e23 sw a0,-36(s0) -80000b9c: fcb42c23 sw a1,-40(s0) -80000ba0: fcc42a23 sw a2,-44(s0) -80000ba4: fcd42823 sw a3,-48(s0) -80000ba8: fce42623 sw a4,-52(s0) -80000bac: 810037b7 lui a5,0x81003 -80000bb0: fdc42703 lw a4,-36(s0) -80000bb4: 98e7a423 sw a4,-1656(a5) # 81002988 +80000b78 : +80000b78: fc010113 addi sp,sp,-64 +80000b7c: 02112e23 sw ra,60(sp) +80000b80: 02812c23 sw s0,56(sp) +80000b84: 04010413 addi s0,sp,64 +80000b88: fca42e23 sw a0,-36(s0) +80000b8c: fcb42c23 sw a1,-40(s0) +80000b90: fcc42a23 sw a2,-44(s0) +80000b94: fcd42823 sw a3,-48(s0) +80000b98: fce42623 sw a4,-52(s0) +80000b9c: 810037b7 lui a5,0x81003 +80000ba0: fdc42703 lw a4,-36(s0) +80000ba4: 9ae7ac23 sw a4,-1608(a5) # 810029b8 +80000ba8: 810037b7 lui a5,0x81003 +80000bac: 9b878793 addi a5,a5,-1608 # 810029b8 +80000bb0: fd842703 lw a4,-40(s0) +80000bb4: 00e7a223 sw a4,4(a5) 80000bb8: 810037b7 lui a5,0x81003 -80000bbc: 98878793 addi a5,a5,-1656 # 81002988 -80000bc0: fd842703 lw a4,-40(s0) -80000bc4: 00e7a223 sw a4,4(a5) +80000bbc: 9b878793 addi a5,a5,-1608 # 810029b8 +80000bc0: fd442703 lw a4,-44(s0) +80000bc4: 00e7a423 sw a4,8(a5) 80000bc8: 810037b7 lui a5,0x81003 -80000bcc: 98878793 addi a5,a5,-1656 # 81002988 -80000bd0: fd442703 lw a4,-44(s0) -80000bd4: 00e7a423 sw a4,8(a5) +80000bcc: 9b878793 addi a5,a5,-1608 # 810029b8 +80000bd0: fcc42703 lw a4,-52(s0) +80000bd4: 00e7a623 sw a4,12(a5) 80000bd8: 810037b7 lui a5,0x81003 -80000bdc: 98878793 addi a5,a5,-1656 # 81002988 -80000be0: fcc42703 lw a4,-52(s0) -80000be4: 00e7a623 sw a4,12(a5) -80000be8: 810037b7 lui a5,0x81003 -80000bec: 98878793 addi a5,a5,-1656 # 81002988 -80000bf0: fd042703 lw a4,-48(s0) -80000bf4: 00e7a823 sw a4,16(a5) -80000bf8: db4ff0ef jal ra,800001ac -80000bfc: fea42423 sw a0,-24(s0) +80000bdc: 9b878793 addi a5,a5,-1608 # 810029b8 +80000be0: fd042703 lw a4,-48(s0) +80000be4: 00e7a823 sw a4,16(a5) +80000be8: dc4ff0ef jal ra,800001ac +80000bec: fea42423 sw a0,-24(s0) +80000bf0: fcc42703 lw a4,-52(s0) +80000bf4: fe842783 lw a5,-24(s0) +80000bf8: 02f757b3 divu a5,a4,a5 +80000bfc: fef42623 sw a5,-20(s0) 80000c00: fcc42703 lw a4,-52(s0) 80000c04: fe842783 lw a5,-24(s0) -80000c08: 02f757b3 divu a5,a4,a5 -80000c0c: fef42623 sw a5,-20(s0) -80000c10: fcc42703 lw a4,-52(s0) -80000c14: fe842783 lw a5,-24(s0) -80000c18: 02f777b3 remu a5,a4,a5 -80000c1c: 00078863 beqz a5,80000c2c -80000c20: fec42783 lw a5,-20(s0) -80000c24: 00178793 addi a5,a5,1 -80000c28: fef42623 sw a5,-20(s0) -80000c2c: 810037b7 lui a5,0x81003 -80000c30: 98878793 addi a5,a5,-1656 # 81002988 -80000c34: fec42703 lw a4,-20(s0) -80000c38: 00e7aa23 sw a4,20(a5) -80000c3c: fcc42703 lw a4,-52(s0) -80000c40: fe842783 lw a5,-24(s0) -80000c44: 02f76263 bltu a4,a5,80000c68 -80000c48: 810037b7 lui a5,0x81003 -80000c4c: 98878693 addi a3,a5,-1656 # 81002988 -80000c50: 800017b7 lui a5,0x80001 -80000c54: cc078613 addi a2,a5,-832 # 80000cc0 -80000c58: fe842583 lw a1,-24(s0) -80000c5c: fd042503 lw a0,-48(s0) -80000c60: facff0ef jal ra,8000040c -80000c64: 0200006f j 80000c84 -80000c68: 810037b7 lui a5,0x81003 -80000c6c: 98878693 addi a3,a5,-1656 # 81002988 -80000c70: 800017b7 lui a5,0x80001 -80000c74: cc078613 addi a2,a5,-832 # 80000cc0 -80000c78: fcc42583 lw a1,-52(s0) -80000c7c: fd042503 lw a0,-48(s0) -80000c80: f8cff0ef jal ra,8000040c -80000c84: d20ff0ef jal ra,800001a4 -80000c88: fea42223 sw a0,-28(s0) -80000c8c: fd042703 lw a4,-48(s0) -80000c90: fe442783 lw a5,-28(s0) -80000c94: 00e7f863 bgeu a5,a4,80000ca4 -80000c98: fe442503 lw a0,-28(s0) -80000c9c: 86dff0ef jal ra,80000508 -80000ca0: 00c0006f j 80000cac -80000ca4: fd042503 lw a0,-48(s0) -80000ca8: 861ff0ef jal ra,80000508 -80000cac: 00000013 nop -80000cb0: 03c12083 lw ra,60(sp) -80000cb4: 03812403 lw s0,56(sp) -80000cb8: 04010113 addi sp,sp,64 -80000cbc: 00008067 ret +80000c08: 02f777b3 remu a5,a4,a5 +80000c0c: 00078863 beqz a5,80000c1c +80000c10: fec42783 lw a5,-20(s0) +80000c14: 00178793 addi a5,a5,1 +80000c18: fef42623 sw a5,-20(s0) +80000c1c: 810037b7 lui a5,0x81003 +80000c20: 9b878793 addi a5,a5,-1608 # 810029b8 +80000c24: fec42703 lw a4,-20(s0) +80000c28: 00e7aa23 sw a4,20(a5) +80000c2c: fcc42703 lw a4,-52(s0) +80000c30: fe842783 lw a5,-24(s0) +80000c34: 02f76263 bltu a4,a5,80000c58 +80000c38: 810037b7 lui a5,0x81003 +80000c3c: 9b878693 addi a3,a5,-1608 # 810029b8 +80000c40: 800017b7 lui a5,0x80001 +80000c44: cb078613 addi a2,a5,-848 # 80000cb0 +80000c48: fe842583 lw a1,-24(s0) +80000c4c: fd042503 lw a0,-48(s0) +80000c50: fbcff0ef jal ra,8000040c +80000c54: 0200006f j 80000c74 +80000c58: 810037b7 lui a5,0x81003 +80000c5c: 9b878693 addi a3,a5,-1608 # 810029b8 +80000c60: 800017b7 lui a5,0x80001 +80000c64: cb078613 addi a2,a5,-848 # 80000cb0 +80000c68: fcc42583 lw a1,-52(s0) +80000c6c: fd042503 lw a0,-48(s0) +80000c70: f9cff0ef jal ra,8000040c +80000c74: d30ff0ef jal ra,800001a4 +80000c78: fea42223 sw a0,-28(s0) +80000c7c: fd042703 lw a4,-48(s0) +80000c80: fe442783 lw a5,-28(s0) +80000c84: 00e7f863 bgeu a5,a4,80000c94 +80000c88: fe442503 lw a0,-28(s0) +80000c8c: 86dff0ef jal ra,800004f8 +80000c90: 00c0006f j 80000c9c +80000c94: fd042503 lw a0,-48(s0) +80000c98: 861ff0ef jal ra,800004f8 +80000c9c: 00000013 nop +80000ca0: 03c12083 lw ra,60(sp) +80000ca4: 03812403 lw s0,56(sp) +80000ca8: 04010113 addi sp,sp,64 +80000cac: 00008067 ret -80000cc0 <_vx_mat_add>: -80000cc0: fb010113 addi sp,sp,-80 -80000cc4: 04112623 sw ra,76(sp) -80000cc8: 04812423 sw s0,72(sp) -80000ccc: 05010413 addi s0,sp,80 -80000cd0: faa42e23 sw a0,-68(s0) -80000cd4: fab42c23 sw a1,-72(s0) -80000cd8: 8fdff0ef jal ra,800005d4 -80000cdc: fea42023 sw a0,-32(s0) -80000ce0: fe042783 lw a5,-32(s0) -80000ce4: 0007a783 lw a5,0(a5) -80000ce8: fcf42e23 sw a5,-36(s0) -80000cec: fe042783 lw a5,-32(s0) -80000cf0: 0047a783 lw a5,4(a5) -80000cf4: fcf42c23 sw a5,-40(s0) -80000cf8: fe042783 lw a5,-32(s0) -80000cfc: 0087a783 lw a5,8(a5) -80000d00: fcf42a23 sw a5,-44(s0) -80000d04: fe042783 lw a5,-32(s0) -80000d08: 0147a783 lw a5,20(a5) -80000d0c: fef42623 sw a5,-20(s0) -80000d10: fec42703 lw a4,-20(s0) -80000d14: fbc42783 lw a5,-68(s0) -80000d18: 02f707b3 mul a5,a4,a5 -80000d1c: fef42423 sw a5,-24(s0) -80000d20: fec42783 lw a5,-20(s0) -80000d24: 00079a63 bnez a5,80000d38 <_vx_mat_add+0x78> -80000d28: 00100793 li a5,1 -80000d2c: fef42623 sw a5,-20(s0) -80000d30: fbc42783 lw a5,-68(s0) -80000d34: fef42423 sw a5,-24(s0) -80000d38: fe042783 lw a5,-32(s0) -80000d3c: 00c7a783 lw a5,12(a5) -80000d40: fcf42823 sw a5,-48(s0) -80000d44: fe042223 sw zero,-28(s0) -80000d48: 0c00006f j 80000e08 <_vx_mat_add+0x148> -80000d4c: fb842703 lw a4,-72(s0) -80000d50: fd042783 lw a5,-48(s0) -80000d54: 02f70733 mul a4,a4,a5 -80000d58: fe842783 lw a5,-24(s0) -80000d5c: 00f707b3 add a5,a4,a5 -80000d60: fcf42623 sw a5,-52(s0) -80000d64: fe842703 lw a4,-24(s0) -80000d68: fd042783 lw a5,-48(s0) -80000d6c: 00f737b3 sltu a5,a4,a5 -80000d70: 0ff7f793 andi a5,a5,255 -80000d74: fcf42423 sw a5,-56(s0) -80000d78: fc842783 lw a5,-56(s0) -80000d7c: 0017b793 seqz a5,a5 -80000d80: fcf403a3 sb a5,-57(s0) -80000d84: fc744783 lbu a5,-57(s0) -80000d88: 00078f13 mv t5,a5 -80000d8c: 800017b7 lui a5,0x80001 -80000d90: df478f93 addi t6,a5,-524 # 80000df4 -80000d94: 000f206b 0xf206b -80000d98: 01ff707b 0x1ff707b -80000d9c: fcc42783 lw a5,-52(s0) -80000da0: 00279793 slli a5,a5,0x2 -80000da4: fdc42703 lw a4,-36(s0) -80000da8: 00f707b3 add a5,a4,a5 -80000dac: 0007a683 lw a3,0(a5) -80000db0: fcc42783 lw a5,-52(s0) -80000db4: 00279793 slli a5,a5,0x2 -80000db8: fd842703 lw a4,-40(s0) -80000dbc: 00f707b3 add a5,a4,a5 -80000dc0: 0007a703 lw a4,0(a5) -80000dc4: fcc42783 lw a5,-52(s0) -80000dc8: 00279793 slli a5,a5,0x2 -80000dcc: fd442603 lw a2,-44(s0) -80000dd0: 00f607b3 add a5,a2,a5 -80000dd4: 00e68733 add a4,a3,a4 -80000dd8: 00e7a023 sw a4,0(a5) -80000ddc: fe842783 lw a5,-24(s0) -80000de0: 00178793 addi a5,a5,1 -80000de4: fef42423 sw a5,-24(s0) -80000de8: 800017b7 lui a5,0x80001 -80000dec: df878e13 addi t3,a5,-520 # 80000df8 -80000df0: 000e0067 jr t3 -80000df4: 00000013 nop -80000df8: 0000306b 0x306b -80000dfc: fe442783 lw a5,-28(s0) -80000e00: 00178793 addi a5,a5,1 -80000e04: fef42223 sw a5,-28(s0) -80000e08: fe442783 lw a5,-28(s0) -80000e0c: fec42703 lw a4,-20(s0) -80000e10: f2e7eee3 bltu a5,a4,80000d4c <_vx_mat_add+0x8c> -80000e14: 00000013 nop -80000e18: 04c12083 lw ra,76(sp) -80000e1c: 04812403 lw s0,72(sp) -80000e20: 05010113 addi sp,sp,80 -80000e24: 00008067 ret +80000cb0 <_vx_mat_add>: +80000cb0: fb010113 addi sp,sp,-80 +80000cb4: 04112623 sw ra,76(sp) +80000cb8: 04812423 sw s0,72(sp) +80000cbc: 05010413 addi s0,sp,80 +80000cc0: faa42e23 sw a0,-68(s0) +80000cc4: fab42c23 sw a1,-72(s0) +80000cc8: 8fdff0ef jal ra,800005c4 +80000ccc: fea42023 sw a0,-32(s0) +80000cd0: fe042783 lw a5,-32(s0) +80000cd4: 0007a783 lw a5,0(a5) +80000cd8: fcf42e23 sw a5,-36(s0) +80000cdc: fe042783 lw a5,-32(s0) +80000ce0: 0047a783 lw a5,4(a5) +80000ce4: fcf42c23 sw a5,-40(s0) +80000ce8: fe042783 lw a5,-32(s0) +80000cec: 0087a783 lw a5,8(a5) +80000cf0: fcf42a23 sw a5,-44(s0) +80000cf4: fe042783 lw a5,-32(s0) +80000cf8: 0147a783 lw a5,20(a5) +80000cfc: fef42623 sw a5,-20(s0) +80000d00: fec42703 lw a4,-20(s0) +80000d04: fbc42783 lw a5,-68(s0) +80000d08: 02f707b3 mul a5,a4,a5 +80000d0c: fef42423 sw a5,-24(s0) +80000d10: fec42783 lw a5,-20(s0) +80000d14: 00079a63 bnez a5,80000d28 <_vx_mat_add+0x78> +80000d18: 00100793 li a5,1 +80000d1c: fef42623 sw a5,-20(s0) +80000d20: fbc42783 lw a5,-68(s0) +80000d24: fef42423 sw a5,-24(s0) +80000d28: fe042783 lw a5,-32(s0) +80000d2c: 00c7a783 lw a5,12(a5) +80000d30: fcf42823 sw a5,-48(s0) +80000d34: fe042223 sw zero,-28(s0) +80000d38: 0c00006f j 80000df8 <_vx_mat_add+0x148> +80000d3c: fb842703 lw a4,-72(s0) +80000d40: fd042783 lw a5,-48(s0) +80000d44: 02f70733 mul a4,a4,a5 +80000d48: fe842783 lw a5,-24(s0) +80000d4c: 00f707b3 add a5,a4,a5 +80000d50: fcf42623 sw a5,-52(s0) +80000d54: fe842703 lw a4,-24(s0) +80000d58: fd042783 lw a5,-48(s0) +80000d5c: 00f737b3 sltu a5,a4,a5 +80000d60: 0ff7f793 andi a5,a5,255 +80000d64: fcf42423 sw a5,-56(s0) +80000d68: fc842783 lw a5,-56(s0) +80000d6c: 0017b793 seqz a5,a5 +80000d70: fcf403a3 sb a5,-57(s0) +80000d74: fc744783 lbu a5,-57(s0) +80000d78: 00078f13 mv t5,a5 +80000d7c: 800017b7 lui a5,0x80001 +80000d80: de478f93 addi t6,a5,-540 # 80000de4 +80000d84: 000f206b 0xf206b +80000d88: 01ff707b 0x1ff707b +80000d8c: fcc42783 lw a5,-52(s0) +80000d90: 00279793 slli a5,a5,0x2 +80000d94: fdc42703 lw a4,-36(s0) +80000d98: 00f707b3 add a5,a4,a5 +80000d9c: 0007a683 lw a3,0(a5) +80000da0: fcc42783 lw a5,-52(s0) +80000da4: 00279793 slli a5,a5,0x2 +80000da8: fd842703 lw a4,-40(s0) +80000dac: 00f707b3 add a5,a4,a5 +80000db0: 0007a703 lw a4,0(a5) +80000db4: fcc42783 lw a5,-52(s0) +80000db8: 00279793 slli a5,a5,0x2 +80000dbc: fd442603 lw a2,-44(s0) +80000dc0: 00f607b3 add a5,a2,a5 +80000dc4: 00e68733 add a4,a3,a4 +80000dc8: 00e7a023 sw a4,0(a5) +80000dcc: fe842783 lw a5,-24(s0) +80000dd0: 00178793 addi a5,a5,1 +80000dd4: fef42423 sw a5,-24(s0) +80000dd8: 800017b7 lui a5,0x80001 +80000ddc: de878e13 addi t3,a5,-536 # 80000de8 +80000de0: 000e0067 jr t3 +80000de4: 00000013 nop +80000de8: 0000306b 0x306b +80000dec: fe442783 lw a5,-28(s0) +80000df0: 00178793 addi a5,a5,1 +80000df4: fef42223 sw a5,-28(s0) +80000df8: fe442783 lw a5,-28(s0) +80000dfc: fec42703 lw a4,-20(s0) +80000e00: f2e7eee3 bltu a5,a4,80000d3c <_vx_mat_add+0x8c> +80000e04: 00000013 nop +80000e08: 04c12083 lw ra,76(sp) +80000e0c: 04812403 lw s0,72(sp) +80000e10: 05010113 addi sp,sp,80 +80000e14: 00008067 ret -80000e28 : -80000e28: fc010113 addi sp,sp,-64 -80000e2c: 02112e23 sw ra,60(sp) -80000e30: 02812c23 sw s0,56(sp) -80000e34: 04010413 addi s0,sp,64 -80000e38: fca42e23 sw a0,-36(s0) -80000e3c: fcb42c23 sw a1,-40(s0) -80000e40: fcc42a23 sw a2,-44(s0) -80000e44: fcd42823 sw a3,-48(s0) -80000e48: fce42623 sw a4,-52(s0) -80000e4c: 810037b7 lui a5,0x81003 -80000e50: fdc42703 lw a4,-36(s0) -80000e54: 98e7a423 sw a4,-1656(a5) # 81002988 +80000e18 : +80000e18: fc010113 addi sp,sp,-64 +80000e1c: 02112e23 sw ra,60(sp) +80000e20: 02812c23 sw s0,56(sp) +80000e24: 04010413 addi s0,sp,64 +80000e28: fca42e23 sw a0,-36(s0) +80000e2c: fcb42c23 sw a1,-40(s0) +80000e30: fcc42a23 sw a2,-44(s0) +80000e34: fcd42823 sw a3,-48(s0) +80000e38: fce42623 sw a4,-52(s0) +80000e3c: 810037b7 lui a5,0x81003 +80000e40: fdc42703 lw a4,-36(s0) +80000e44: 9ae7ac23 sw a4,-1608(a5) # 810029b8 +80000e48: 810037b7 lui a5,0x81003 +80000e4c: 9b878793 addi a5,a5,-1608 # 810029b8 +80000e50: fd842703 lw a4,-40(s0) +80000e54: 00e7a223 sw a4,4(a5) 80000e58: 810037b7 lui a5,0x81003 -80000e5c: 98878793 addi a5,a5,-1656 # 81002988 -80000e60: fd842703 lw a4,-40(s0) -80000e64: 00e7a223 sw a4,4(a5) +80000e5c: 9b878793 addi a5,a5,-1608 # 810029b8 +80000e60: fd442703 lw a4,-44(s0) +80000e64: 00e7a423 sw a4,8(a5) 80000e68: 810037b7 lui a5,0x81003 -80000e6c: 98878793 addi a5,a5,-1656 # 81002988 -80000e70: fd442703 lw a4,-44(s0) -80000e74: 00e7a423 sw a4,8(a5) +80000e6c: 9b878793 addi a5,a5,-1608 # 810029b8 +80000e70: fcc42703 lw a4,-52(s0) +80000e74: 00e7a623 sw a4,12(a5) 80000e78: 810037b7 lui a5,0x81003 -80000e7c: 98878793 addi a5,a5,-1656 # 81002988 -80000e80: fcc42703 lw a4,-52(s0) -80000e84: 00e7a623 sw a4,12(a5) -80000e88: 810037b7 lui a5,0x81003 -80000e8c: 98878793 addi a5,a5,-1656 # 81002988 -80000e90: fd042703 lw a4,-48(s0) -80000e94: 00e7a823 sw a4,16(a5) -80000e98: b14ff0ef jal ra,800001ac -80000e9c: fea42423 sw a0,-24(s0) +80000e7c: 9b878793 addi a5,a5,-1608 # 810029b8 +80000e80: fd042703 lw a4,-48(s0) +80000e84: 00e7a823 sw a4,16(a5) +80000e88: b24ff0ef jal ra,800001ac +80000e8c: fea42423 sw a0,-24(s0) +80000e90: fcc42703 lw a4,-52(s0) +80000e94: fe842783 lw a5,-24(s0) +80000e98: 02f757b3 divu a5,a4,a5 +80000e9c: fef42623 sw a5,-20(s0) 80000ea0: fcc42703 lw a4,-52(s0) 80000ea4: fe842783 lw a5,-24(s0) -80000ea8: 02f757b3 divu a5,a4,a5 -80000eac: fef42623 sw a5,-20(s0) -80000eb0: fcc42703 lw a4,-52(s0) -80000eb4: fe842783 lw a5,-24(s0) -80000eb8: 02f777b3 remu a5,a4,a5 -80000ebc: 00078863 beqz a5,80000ecc -80000ec0: fec42783 lw a5,-20(s0) -80000ec4: 00178793 addi a5,a5,1 -80000ec8: fef42623 sw a5,-20(s0) -80000ecc: 810037b7 lui a5,0x81003 -80000ed0: 98878793 addi a5,a5,-1656 # 81002988 -80000ed4: fec42703 lw a4,-20(s0) -80000ed8: 00e7aa23 sw a4,20(a5) -80000edc: fcc42703 lw a4,-52(s0) -80000ee0: fe842783 lw a5,-24(s0) -80000ee4: 02f76263 bltu a4,a5,80000f08 -80000ee8: 810037b7 lui a5,0x81003 -80000eec: 98878693 addi a3,a5,-1656 # 81002988 -80000ef0: 800017b7 lui a5,0x80001 -80000ef4: f6078613 addi a2,a5,-160 # 80000f60 -80000ef8: fe842583 lw a1,-24(s0) -80000efc: fd042503 lw a0,-48(s0) -80000f00: d0cff0ef jal ra,8000040c -80000f04: 0200006f j 80000f24 -80000f08: 810037b7 lui a5,0x81003 -80000f0c: 98878693 addi a3,a5,-1656 # 81002988 -80000f10: 800017b7 lui a5,0x80001 -80000f14: f6078613 addi a2,a5,-160 # 80000f60 -80000f18: fcc42583 lw a1,-52(s0) -80000f1c: fd042503 lw a0,-48(s0) -80000f20: cecff0ef jal ra,8000040c -80000f24: a80ff0ef jal ra,800001a4 -80000f28: fea42223 sw a0,-28(s0) -80000f2c: fd042703 lw a4,-48(s0) -80000f30: fe442783 lw a5,-28(s0) -80000f34: 00e7f863 bgeu a5,a4,80000f44 -80000f38: fe442503 lw a0,-28(s0) -80000f3c: dccff0ef jal ra,80000508 -80000f40: 00c0006f j 80000f4c -80000f44: fd042503 lw a0,-48(s0) -80000f48: dc0ff0ef jal ra,80000508 -80000f4c: 00000013 nop -80000f50: 03c12083 lw ra,60(sp) -80000f54: 03812403 lw s0,56(sp) -80000f58: 04010113 addi sp,sp,64 -80000f5c: 00008067 ret +80000ea8: 02f777b3 remu a5,a4,a5 +80000eac: 00078863 beqz a5,80000ebc +80000eb0: fec42783 lw a5,-20(s0) +80000eb4: 00178793 addi a5,a5,1 +80000eb8: fef42623 sw a5,-20(s0) +80000ebc: 810037b7 lui a5,0x81003 +80000ec0: 9b878793 addi a5,a5,-1608 # 810029b8 +80000ec4: fec42703 lw a4,-20(s0) +80000ec8: 00e7aa23 sw a4,20(a5) +80000ecc: fcc42703 lw a4,-52(s0) +80000ed0: fe842783 lw a5,-24(s0) +80000ed4: 02f76263 bltu a4,a5,80000ef8 +80000ed8: 810037b7 lui a5,0x81003 +80000edc: 9b878693 addi a3,a5,-1608 # 810029b8 +80000ee0: 800017b7 lui a5,0x80001 +80000ee4: f5078613 addi a2,a5,-176 # 80000f50 +80000ee8: fe842583 lw a1,-24(s0) +80000eec: fd042503 lw a0,-48(s0) +80000ef0: d1cff0ef jal ra,8000040c +80000ef4: 0200006f j 80000f14 +80000ef8: 810037b7 lui a5,0x81003 +80000efc: 9b878693 addi a3,a5,-1608 # 810029b8 +80000f00: 800017b7 lui a5,0x80001 +80000f04: f5078613 addi a2,a5,-176 # 80000f50 +80000f08: fcc42583 lw a1,-52(s0) +80000f0c: fd042503 lw a0,-48(s0) +80000f10: cfcff0ef jal ra,8000040c +80000f14: a90ff0ef jal ra,800001a4 +80000f18: fea42223 sw a0,-28(s0) +80000f1c: fd042703 lw a4,-48(s0) +80000f20: fe442783 lw a5,-28(s0) +80000f24: 00e7f863 bgeu a5,a4,80000f34 +80000f28: fe442503 lw a0,-28(s0) +80000f2c: dccff0ef jal ra,800004f8 +80000f30: 00c0006f j 80000f3c +80000f34: fd042503 lw a0,-48(s0) +80000f38: dc0ff0ef jal ra,800004f8 +80000f3c: 00000013 nop +80000f40: 03c12083 lw ra,60(sp) +80000f44: 03812403 lw s0,56(sp) +80000f48: 04010113 addi sp,sp,64 +80000f4c: 00008067 ret -80000f60 <_vx_mat_sub>: -80000f60: fb010113 addi sp,sp,-80 -80000f64: 04112623 sw ra,76(sp) -80000f68: 04812423 sw s0,72(sp) -80000f6c: 05010413 addi s0,sp,80 -80000f70: faa42e23 sw a0,-68(s0) -80000f74: fab42c23 sw a1,-72(s0) -80000f78: e5cff0ef jal ra,800005d4 -80000f7c: fea42023 sw a0,-32(s0) -80000f80: fe042783 lw a5,-32(s0) -80000f84: 0007a783 lw a5,0(a5) -80000f88: fcf42e23 sw a5,-36(s0) -80000f8c: fe042783 lw a5,-32(s0) -80000f90: 0047a783 lw a5,4(a5) -80000f94: fcf42c23 sw a5,-40(s0) -80000f98: fe042783 lw a5,-32(s0) -80000f9c: 0087a783 lw a5,8(a5) -80000fa0: fcf42a23 sw a5,-44(s0) -80000fa4: fe042783 lw a5,-32(s0) -80000fa8: 0147a783 lw a5,20(a5) -80000fac: fef42623 sw a5,-20(s0) -80000fb0: fec42703 lw a4,-20(s0) -80000fb4: fbc42783 lw a5,-68(s0) -80000fb8: 02f707b3 mul a5,a4,a5 -80000fbc: fef42423 sw a5,-24(s0) -80000fc0: fec42783 lw a5,-20(s0) -80000fc4: 00079a63 bnez a5,80000fd8 <_vx_mat_sub+0x78> -80000fc8: 00100793 li a5,1 -80000fcc: fef42623 sw a5,-20(s0) -80000fd0: fbc42783 lw a5,-68(s0) -80000fd4: fef42423 sw a5,-24(s0) -80000fd8: fe042783 lw a5,-32(s0) -80000fdc: 00c7a783 lw a5,12(a5) -80000fe0: fcf42823 sw a5,-48(s0) -80000fe4: fe042223 sw zero,-28(s0) -80000fe8: 0c00006f j 800010a8 <_vx_mat_sub+0x148> -80000fec: fb842703 lw a4,-72(s0) -80000ff0: fd042783 lw a5,-48(s0) -80000ff4: 02f70733 mul a4,a4,a5 -80000ff8: fe842783 lw a5,-24(s0) -80000ffc: 00f707b3 add a5,a4,a5 -80001000: fcf42623 sw a5,-52(s0) -80001004: fe842703 lw a4,-24(s0) -80001008: fd042783 lw a5,-48(s0) -8000100c: 00f737b3 sltu a5,a4,a5 -80001010: 0ff7f793 andi a5,a5,255 -80001014: fcf42423 sw a5,-56(s0) -80001018: fc842783 lw a5,-56(s0) -8000101c: 0017b793 seqz a5,a5 -80001020: fcf403a3 sb a5,-57(s0) -80001024: fc744783 lbu a5,-57(s0) -80001028: 00078f13 mv t5,a5 -8000102c: 800017b7 lui a5,0x80001 -80001030: 09478f93 addi t6,a5,148 # 80001094 -80001034: 000f206b 0xf206b -80001038: 01ff707b 0x1ff707b -8000103c: fcc42783 lw a5,-52(s0) -80001040: 00279793 slli a5,a5,0x2 -80001044: fdc42703 lw a4,-36(s0) -80001048: 00f707b3 add a5,a4,a5 -8000104c: 0007a683 lw a3,0(a5) -80001050: fcc42783 lw a5,-52(s0) -80001054: 00279793 slli a5,a5,0x2 -80001058: fd842703 lw a4,-40(s0) -8000105c: 00f707b3 add a5,a4,a5 -80001060: 0007a703 lw a4,0(a5) -80001064: fcc42783 lw a5,-52(s0) -80001068: 00279793 slli a5,a5,0x2 -8000106c: fd442603 lw a2,-44(s0) -80001070: 00f607b3 add a5,a2,a5 -80001074: 40e68733 sub a4,a3,a4 -80001078: 00e7a023 sw a4,0(a5) -8000107c: fe842783 lw a5,-24(s0) -80001080: 00178793 addi a5,a5,1 -80001084: fef42423 sw a5,-24(s0) -80001088: 800017b7 lui a5,0x80001 -8000108c: 09878e13 addi t3,a5,152 # 80001098 -80001090: 000e0067 jr t3 -80001094: 00000013 nop -80001098: 0000306b 0x306b -8000109c: fe442783 lw a5,-28(s0) -800010a0: 00178793 addi a5,a5,1 -800010a4: fef42223 sw a5,-28(s0) -800010a8: fe442783 lw a5,-28(s0) -800010ac: fec42703 lw a4,-20(s0) -800010b0: f2e7eee3 bltu a5,a4,80000fec <_vx_mat_sub+0x8c> -800010b4: 00000013 nop -800010b8: 04c12083 lw ra,76(sp) -800010bc: 04812403 lw s0,72(sp) -800010c0: 05010113 addi sp,sp,80 -800010c4: 00008067 ret +80000f50 <_vx_mat_sub>: +80000f50: fb010113 addi sp,sp,-80 +80000f54: 04112623 sw ra,76(sp) +80000f58: 04812423 sw s0,72(sp) +80000f5c: 05010413 addi s0,sp,80 +80000f60: faa42e23 sw a0,-68(s0) +80000f64: fab42c23 sw a1,-72(s0) +80000f68: e5cff0ef jal ra,800005c4 +80000f6c: fea42023 sw a0,-32(s0) +80000f70: fe042783 lw a5,-32(s0) +80000f74: 0007a783 lw a5,0(a5) +80000f78: fcf42e23 sw a5,-36(s0) +80000f7c: fe042783 lw a5,-32(s0) +80000f80: 0047a783 lw a5,4(a5) +80000f84: fcf42c23 sw a5,-40(s0) +80000f88: fe042783 lw a5,-32(s0) +80000f8c: 0087a783 lw a5,8(a5) +80000f90: fcf42a23 sw a5,-44(s0) +80000f94: fe042783 lw a5,-32(s0) +80000f98: 0147a783 lw a5,20(a5) +80000f9c: fef42623 sw a5,-20(s0) +80000fa0: fec42703 lw a4,-20(s0) +80000fa4: fbc42783 lw a5,-68(s0) +80000fa8: 02f707b3 mul a5,a4,a5 +80000fac: fef42423 sw a5,-24(s0) +80000fb0: fec42783 lw a5,-20(s0) +80000fb4: 00079a63 bnez a5,80000fc8 <_vx_mat_sub+0x78> +80000fb8: 00100793 li a5,1 +80000fbc: fef42623 sw a5,-20(s0) +80000fc0: fbc42783 lw a5,-68(s0) +80000fc4: fef42423 sw a5,-24(s0) +80000fc8: fe042783 lw a5,-32(s0) +80000fcc: 00c7a783 lw a5,12(a5) +80000fd0: fcf42823 sw a5,-48(s0) +80000fd4: fe042223 sw zero,-28(s0) +80000fd8: 0c00006f j 80001098 <_vx_mat_sub+0x148> +80000fdc: fb842703 lw a4,-72(s0) +80000fe0: fd042783 lw a5,-48(s0) +80000fe4: 02f70733 mul a4,a4,a5 +80000fe8: fe842783 lw a5,-24(s0) +80000fec: 00f707b3 add a5,a4,a5 +80000ff0: fcf42623 sw a5,-52(s0) +80000ff4: fe842703 lw a4,-24(s0) +80000ff8: fd042783 lw a5,-48(s0) +80000ffc: 00f737b3 sltu a5,a4,a5 +80001000: 0ff7f793 andi a5,a5,255 +80001004: fcf42423 sw a5,-56(s0) +80001008: fc842783 lw a5,-56(s0) +8000100c: 0017b793 seqz a5,a5 +80001010: fcf403a3 sb a5,-57(s0) +80001014: fc744783 lbu a5,-57(s0) +80001018: 00078f13 mv t5,a5 +8000101c: 800017b7 lui a5,0x80001 +80001020: 08478f93 addi t6,a5,132 # 80001084 +80001024: 000f206b 0xf206b +80001028: 01ff707b 0x1ff707b +8000102c: fcc42783 lw a5,-52(s0) +80001030: 00279793 slli a5,a5,0x2 +80001034: fdc42703 lw a4,-36(s0) +80001038: 00f707b3 add a5,a4,a5 +8000103c: 0007a683 lw a3,0(a5) +80001040: fcc42783 lw a5,-52(s0) +80001044: 00279793 slli a5,a5,0x2 +80001048: fd842703 lw a4,-40(s0) +8000104c: 00f707b3 add a5,a4,a5 +80001050: 0007a703 lw a4,0(a5) +80001054: fcc42783 lw a5,-52(s0) +80001058: 00279793 slli a5,a5,0x2 +8000105c: fd442603 lw a2,-44(s0) +80001060: 00f607b3 add a5,a2,a5 +80001064: 40e68733 sub a4,a3,a4 +80001068: 00e7a023 sw a4,0(a5) +8000106c: fe842783 lw a5,-24(s0) +80001070: 00178793 addi a5,a5,1 +80001074: fef42423 sw a5,-24(s0) +80001078: 800017b7 lui a5,0x80001 +8000107c: 08878e13 addi t3,a5,136 # 80001088 +80001080: 000e0067 jr t3 +80001084: 00000013 nop +80001088: 0000306b 0x306b +8000108c: fe442783 lw a5,-28(s0) +80001090: 00178793 addi a5,a5,1 +80001094: fef42223 sw a5,-28(s0) +80001098: fe442783 lw a5,-28(s0) +8000109c: fec42703 lw a4,-20(s0) +800010a0: f2e7eee3 bltu a5,a4,80000fdc <_vx_mat_sub+0x8c> +800010a4: 00000013 nop +800010a8: 04c12083 lw ra,76(sp) +800010ac: 04812403 lw s0,72(sp) +800010b0: 05010113 addi sp,sp,80 +800010b4: 00008067 ret -800010c8 : -800010c8: fe010113 addi sp,sp,-32 -800010cc: 00812e23 sw s0,28(sp) -800010d0: 02010413 addi s0,sp,32 -800010d4: fe042623 sw zero,-20(s0) -800010d8: 0480006f j 80001120 +800010b8 : +800010b8: fc010113 addi sp,sp,-64 +800010bc: 02112e23 sw ra,60(sp) +800010c0: 02812c23 sw s0,56(sp) +800010c4: 04010413 addi s0,sp,64 +800010c8: fca42e23 sw a0,-36(s0) +800010cc: fcb42c23 sw a1,-40(s0) +800010d0: fcc42a23 sw a2,-44(s0) +800010d4: fcd42823 sw a3,-48(s0) +800010d8: fce42623 sw a4,-52(s0) 800010dc: 810037b7 lui a5,0x81003 -800010e0: fec42703 lw a4,-20(s0) -800010e4: 00271713 slli a4,a4,0x2 -800010e8: 9a078793 addi a5,a5,-1632 # 810029a0 -800010ec: 00f707b3 add a5,a4,a5 -800010f0: 00300713 li a4,3 -800010f4: 00e7a023 sw a4,0(a5) -800010f8: 810047b7 lui a5,0x81004 -800010fc: fec42703 lw a4,-20(s0) -80001100: 00271713 slli a4,a4,0x2 -80001104: 9a078793 addi a5,a5,-1632 # 810039a0 -80001108: 00f707b3 add a5,a4,a5 -8000110c: 00200713 li a4,2 -80001110: 00e7a023 sw a4,0(a5) -80001114: fec42783 lw a5,-20(s0) -80001118: 00178793 addi a5,a5,1 -8000111c: fef42623 sw a5,-20(s0) -80001120: fec42703 lw a4,-20(s0) -80001124: 0ff00793 li a5,255 -80001128: fae7dae3 bge a5,a4,800010dc -8000112c: 00000013 nop -80001130: 01c12403 lw s0,28(sp) -80001134: 02010113 addi sp,sp,32 -80001138: 00008067 ret +800010e0: fdc42703 lw a4,-36(s0) +800010e4: 9ce7a823 sw a4,-1584(a5) # 810029d0 +800010e8: 810037b7 lui a5,0x81003 +800010ec: 9d078793 addi a5,a5,-1584 # 810029d0 +800010f0: fd842703 lw a4,-40(s0) +800010f4: 00e7a223 sw a4,4(a5) +800010f8: 810037b7 lui a5,0x81003 +800010fc: 9d078793 addi a5,a5,-1584 # 810029d0 +80001100: fd442703 lw a4,-44(s0) +80001104: 00e7a423 sw a4,8(a5) +80001108: 810037b7 lui a5,0x81003 +8000110c: 9d078793 addi a5,a5,-1584 # 810029d0 +80001110: fcc42703 lw a4,-52(s0) +80001114: 00e7a623 sw a4,12(a5) +80001118: 810037b7 lui a5,0x81003 +8000111c: 9d078793 addi a5,a5,-1584 # 810029d0 +80001120: fd042703 lw a4,-48(s0) +80001124: 00e7a823 sw a4,16(a5) +80001128: 884ff0ef jal ra,800001ac +8000112c: fea42423 sw a0,-24(s0) +80001130: fcc42703 lw a4,-52(s0) +80001134: fe842783 lw a5,-24(s0) +80001138: 02f757b3 divu a5,a4,a5 +8000113c: fef42623 sw a5,-20(s0) +80001140: fcc42703 lw a4,-52(s0) +80001144: fe842783 lw a5,-24(s0) +80001148: 02f777b3 remu a5,a4,a5 +8000114c: 00078863 beqz a5,8000115c +80001150: fec42783 lw a5,-20(s0) +80001154: 00178793 addi a5,a5,1 +80001158: fef42623 sw a5,-20(s0) +8000115c: 810037b7 lui a5,0x81003 +80001160: 9d078793 addi a5,a5,-1584 # 810029d0 +80001164: fec42703 lw a4,-20(s0) +80001168: 00e7aa23 sw a4,20(a5) +8000116c: fcc42703 lw a4,-52(s0) +80001170: fe842783 lw a5,-24(s0) +80001174: 02f76263 bltu a4,a5,80001198 +80001178: 810037b7 lui a5,0x81003 +8000117c: 9d078693 addi a3,a5,-1584 # 810029d0 +80001180: 800017b7 lui a5,0x80001 +80001184: 1f078613 addi a2,a5,496 # 800011f0 +80001188: fe842583 lw a1,-24(s0) +8000118c: fd042503 lw a0,-48(s0) +80001190: a7cff0ef jal ra,8000040c +80001194: 0200006f j 800011b4 +80001198: 810037b7 lui a5,0x81003 +8000119c: 9d078693 addi a3,a5,-1584 # 810029d0 +800011a0: 800017b7 lui a5,0x80001 +800011a4: 1f078613 addi a2,a5,496 # 800011f0 +800011a8: fcc42583 lw a1,-52(s0) +800011ac: fd042503 lw a0,-48(s0) +800011b0: a5cff0ef jal ra,8000040c +800011b4: ff1fe0ef jal ra,800001a4 +800011b8: fea42223 sw a0,-28(s0) +800011bc: fd042703 lw a4,-48(s0) +800011c0: fe442783 lw a5,-28(s0) +800011c4: 00e7f863 bgeu a5,a4,800011d4 +800011c8: fe442503 lw a0,-28(s0) +800011cc: b2cff0ef jal ra,800004f8 +800011d0: 00c0006f j 800011dc +800011d4: fd042503 lw a0,-48(s0) +800011d8: b20ff0ef jal ra,800004f8 +800011dc: 00000013 nop +800011e0: 03c12083 lw ra,60(sp) +800011e4: 03812403 lw s0,56(sp) +800011e8: 04010113 addi sp,sp,64 +800011ec: 00008067 ret -8000113c
: -8000113c: fe010113 addi sp,sp,-32 -80001140: 00112e23 sw ra,28(sp) -80001144: 00812c23 sw s0,24(sp) -80001148: 02010413 addi s0,sp,32 -8000114c: f7dff0ef jal ra,800010c8 -80001150: 01000693 li a3,16 -80001154: 810057b7 lui a5,0x81005 -80001158: 9a078613 addi a2,a5,-1632 # 810049a0 -8000115c: 810047b7 lui a5,0x81004 -80001160: 9a078593 addi a1,a5,-1632 # 810039a0 -80001164: 810037b7 lui a5,0x81003 -80001168: 9a078513 addi a0,a5,-1632 # 810029a0 -8000116c: f1cff0ef jal ra,80000888 -80001170: 810007b7 lui a5,0x81000 -80001174: 12878513 addi a0,a5,296 # 81000128 -80001178: dc8ff0ef jal ra,80000740 -8000117c: 810007b7 lui a5,0x81000 -80001180: 14478513 addi a0,a5,324 # 81000144 -80001184: dbcff0ef jal ra,80000740 -80001188: fe042623 sw zero,-20(s0) -8000118c: 0540006f j 800011e0 -80001190: fec42783 lw a5,-20(s0) -80001194: 00f7f793 andi a5,a5,15 -80001198: 00079863 bnez a5,800011a8 -8000119c: 810007b7 lui a5,0x81000 -800011a0: 15078513 addi a0,a5,336 # 81000150 -800011a4: d9cff0ef jal ra,80000740 -800011a8: 810057b7 lui a5,0x81005 -800011ac: fec42703 lw a4,-20(s0) -800011b0: 00271713 slli a4,a4,0x2 -800011b4: 9a078793 addi a5,a5,-1632 # 810049a0 -800011b8: 00f707b3 add a5,a4,a5 -800011bc: 0007a783 lw a5,0(a5) -800011c0: 00078513 mv a0,a5 -800011c4: db8ff0ef jal ra,8000077c -800011c8: 810007b7 lui a5,0x81000 -800011cc: 15478513 addi a0,a5,340 # 81000154 -800011d0: d70ff0ef jal ra,80000740 -800011d4: fec42783 lw a5,-20(s0) -800011d8: 00178793 addi a5,a5,1 -800011dc: fef42623 sw a5,-20(s0) -800011e0: fec42703 lw a4,-20(s0) -800011e4: 0ff00793 li a5,255 -800011e8: fae7d4e3 bge a5,a4,80001190 -800011ec: 810007b7 lui a5,0x81000 -800011f0: 15878513 addi a0,a5,344 # 81000158 -800011f4: d4cff0ef jal ra,80000740 -800011f8: 01000713 li a4,16 -800011fc: 01000693 li a3,16 -80001200: 810057b7 lui a5,0x81005 -80001204: 9a078613 addi a2,a5,-1632 # 810049a0 -80001208: 810047b7 lui a5,0x81004 -8000120c: 9a078593 addi a1,a5,-1632 # 810039a0 -80001210: 810037b7 lui a5,0x81003 -80001214: 9a078513 addi a0,a5,-1632 # 810029a0 -80001218: 971ff0ef jal ra,80000b88 -8000121c: 810007b7 lui a5,0x81000 -80001220: 12878513 addi a0,a5,296 # 81000128 -80001224: d1cff0ef jal ra,80000740 -80001228: 810007b7 lui a5,0x81000 -8000122c: 17c78513 addi a0,a5,380 # 8100017c -80001230: d10ff0ef jal ra,80000740 -80001234: fe042423 sw zero,-24(s0) -80001238: 0540006f j 8000128c -8000123c: fe842783 lw a5,-24(s0) -80001240: 00f7f793 andi a5,a5,15 -80001244: 00079863 bnez a5,80001254 -80001248: 810007b7 lui a5,0x81000 -8000124c: 15078513 addi a0,a5,336 # 81000150 -80001250: cf0ff0ef jal ra,80000740 -80001254: 810057b7 lui a5,0x81005 -80001258: fe842703 lw a4,-24(s0) -8000125c: 00271713 slli a4,a4,0x2 -80001260: 9a078793 addi a5,a5,-1632 # 810049a0 -80001264: 00f707b3 add a5,a4,a5 -80001268: 0007a783 lw a5,0(a5) -8000126c: 00078513 mv a0,a5 -80001270: d0cff0ef jal ra,8000077c -80001274: 810007b7 lui a5,0x81000 -80001278: 15478513 addi a0,a5,340 # 81000154 -8000127c: cc4ff0ef jal ra,80000740 -80001280: fe842783 lw a5,-24(s0) -80001284: 00178793 addi a5,a5,1 -80001288: fef42423 sw a5,-24(s0) -8000128c: fe842703 lw a4,-24(s0) -80001290: 0ff00793 li a5,255 -80001294: fae7d4e3 bge a5,a4,8000123c -80001298: 810007b7 lui a5,0x81000 -8000129c: 15878513 addi a0,a5,344 # 81000158 -800012a0: ca0ff0ef jal ra,80000740 -800012a4: 01000713 li a4,16 -800012a8: 01000693 li a3,16 -800012ac: 810057b7 lui a5,0x81005 -800012b0: 9a078613 addi a2,a5,-1632 # 810049a0 -800012b4: 810047b7 lui a5,0x81004 -800012b8: 9a078593 addi a1,a5,-1632 # 810039a0 -800012bc: 810037b7 lui a5,0x81003 -800012c0: 9a078513 addi a0,a5,-1632 # 810029a0 -800012c4: b65ff0ef jal ra,80000e28 -800012c8: 810007b7 lui a5,0x81000 -800012cc: 12878513 addi a0,a5,296 # 81000128 -800012d0: c70ff0ef jal ra,80000740 -800012d4: 810007b7 lui a5,0x81000 -800012d8: 18878513 addi a0,a5,392 # 81000188 -800012dc: c64ff0ef jal ra,80000740 -800012e0: fe042223 sw zero,-28(s0) -800012e4: 0540006f j 80001338 -800012e8: fe442783 lw a5,-28(s0) -800012ec: 00f7f793 andi a5,a5,15 -800012f0: 00079863 bnez a5,80001300 -800012f4: 810007b7 lui a5,0x81000 -800012f8: 15078513 addi a0,a5,336 # 81000150 -800012fc: c44ff0ef jal ra,80000740 -80001300: 810057b7 lui a5,0x81005 -80001304: fe442703 lw a4,-28(s0) -80001308: 00271713 slli a4,a4,0x2 -8000130c: 9a078793 addi a5,a5,-1632 # 810049a0 -80001310: 00f707b3 add a5,a4,a5 -80001314: 0007a783 lw a5,0(a5) -80001318: 00078513 mv a0,a5 -8000131c: c60ff0ef jal ra,8000077c -80001320: 810007b7 lui a5,0x81000 -80001324: 15478513 addi a0,a5,340 # 81000154 -80001328: c18ff0ef jal ra,80000740 +800011f0 <_vx_e_mat_add>: +800011f0: fb010113 addi sp,sp,-80 +800011f4: 04112623 sw ra,76(sp) +800011f8: 04812423 sw s0,72(sp) +800011fc: 05010413 addi s0,sp,80 +80001200: faa42e23 sw a0,-68(s0) +80001204: fab42c23 sw a1,-72(s0) +80001208: bbcff0ef jal ra,800005c4 +8000120c: fea42023 sw a0,-32(s0) +80001210: fe042783 lw a5,-32(s0) +80001214: 0007a783 lw a5,0(a5) +80001218: fcf42e23 sw a5,-36(s0) +8000121c: fe042783 lw a5,-32(s0) +80001220: 0047a783 lw a5,4(a5) +80001224: 0007a783 lw a5,0(a5) +80001228: fcf42c23 sw a5,-40(s0) +8000122c: fe042783 lw a5,-32(s0) +80001230: 0087a783 lw a5,8(a5) +80001234: fcf42a23 sw a5,-44(s0) +80001238: fe042783 lw a5,-32(s0) +8000123c: 0147a783 lw a5,20(a5) +80001240: fef42623 sw a5,-20(s0) +80001244: fec42703 lw a4,-20(s0) +80001248: fbc42783 lw a5,-68(s0) +8000124c: 02f707b3 mul a5,a4,a5 +80001250: fef42423 sw a5,-24(s0) +80001254: fec42783 lw a5,-20(s0) +80001258: 00079a63 bnez a5,8000126c <_vx_e_mat_add+0x7c> +8000125c: 00100793 li a5,1 +80001260: fef42623 sw a5,-20(s0) +80001264: fbc42783 lw a5,-68(s0) +80001268: fef42423 sw a5,-24(s0) +8000126c: fe042783 lw a5,-32(s0) +80001270: 00c7a783 lw a5,12(a5) +80001274: fcf42823 sw a5,-48(s0) +80001278: fe042223 sw zero,-28(s0) +8000127c: 0b00006f j 8000132c <_vx_e_mat_add+0x13c> +80001280: fb842703 lw a4,-72(s0) +80001284: fd042783 lw a5,-48(s0) +80001288: 02f70733 mul a4,a4,a5 +8000128c: fe842783 lw a5,-24(s0) +80001290: 00f707b3 add a5,a4,a5 +80001294: fcf42623 sw a5,-52(s0) +80001298: fe842703 lw a4,-24(s0) +8000129c: fd042783 lw a5,-48(s0) +800012a0: 00f737b3 sltu a5,a4,a5 +800012a4: 0ff7f793 andi a5,a5,255 +800012a8: fcf42423 sw a5,-56(s0) +800012ac: fc842783 lw a5,-56(s0) +800012b0: 0017b793 seqz a5,a5 +800012b4: fcf403a3 sb a5,-57(s0) +800012b8: fc744783 lbu a5,-57(s0) +800012bc: 00078f13 mv t5,a5 +800012c0: 800017b7 lui a5,0x80001 +800012c4: 31878f93 addi t6,a5,792 # 80001318 +800012c8: 000f206b 0xf206b +800012cc: 01ff707b 0x1ff707b +800012d0: fcc42783 lw a5,-52(s0) +800012d4: 00279793 slli a5,a5,0x2 +800012d8: fdc42703 lw a4,-36(s0) +800012dc: 00f707b3 add a5,a4,a5 +800012e0: 0007a683 lw a3,0(a5) +800012e4: fcc42783 lw a5,-52(s0) +800012e8: 00279793 slli a5,a5,0x2 +800012ec: fd442703 lw a4,-44(s0) +800012f0: 00f707b3 add a5,a4,a5 +800012f4: fd842703 lw a4,-40(s0) +800012f8: 00e68733 add a4,a3,a4 +800012fc: 00e7a023 sw a4,0(a5) +80001300: fe842783 lw a5,-24(s0) +80001304: 00178793 addi a5,a5,1 +80001308: fef42423 sw a5,-24(s0) +8000130c: 800017b7 lui a5,0x80001 +80001310: 31c78e13 addi t3,a5,796 # 8000131c +80001314: 000e0067 jr t3 +80001318: 00000013 nop +8000131c: 0000306b 0x306b +80001320: fe442783 lw a5,-28(s0) +80001324: 00178793 addi a5,a5,1 +80001328: fef42223 sw a5,-28(s0) 8000132c: fe442783 lw a5,-28(s0) -80001330: 00178793 addi a5,a5,1 -80001334: fef42223 sw a5,-28(s0) -80001338: fe442703 lw a4,-28(s0) -8000133c: 0ff00793 li a5,255 -80001340: fae7d4e3 bge a5,a4,800012e8 -80001344: 810007b7 lui a5,0x81000 -80001348: 15878513 addi a0,a5,344 # 81000158 -8000134c: bf4ff0ef jal ra,80000740 -80001350: 00000793 li a5,0 -80001354: 00078513 mv a0,a5 -80001358: 01c12083 lw ra,28(sp) -8000135c: 01812403 lw s0,24(sp) -80001360: 02010113 addi sp,sp,32 -80001364: 00008067 ret +80001330: fec42703 lw a4,-20(s0) +80001334: f4e7e6e3 bltu a5,a4,80001280 <_vx_e_mat_add+0x90> +80001338: 00000013 nop +8000133c: 04c12083 lw ra,76(sp) +80001340: 04812403 lw s0,72(sp) +80001344: 05010113 addi sp,sp,80 +80001348: 00008067 ret + +8000134c : +8000134c: fc010113 addi sp,sp,-64 +80001350: 02112e23 sw ra,60(sp) +80001354: 02812c23 sw s0,56(sp) +80001358: 04010413 addi s0,sp,64 +8000135c: fca42e23 sw a0,-36(s0) +80001360: fcb42c23 sw a1,-40(s0) +80001364: fcc42a23 sw a2,-44(s0) +80001368: fcd42823 sw a3,-48(s0) +8000136c: fce42623 sw a4,-52(s0) +80001370: 810037b7 lui a5,0x81003 +80001374: fdc42703 lw a4,-36(s0) +80001378: 9ce7a823 sw a4,-1584(a5) # 810029d0 +8000137c: 810037b7 lui a5,0x81003 +80001380: 9d078793 addi a5,a5,-1584 # 810029d0 +80001384: fd842703 lw a4,-40(s0) +80001388: 00e7a223 sw a4,4(a5) +8000138c: 810037b7 lui a5,0x81003 +80001390: 9d078793 addi a5,a5,-1584 # 810029d0 +80001394: fd442703 lw a4,-44(s0) +80001398: 00e7a423 sw a4,8(a5) +8000139c: 810037b7 lui a5,0x81003 +800013a0: 9d078793 addi a5,a5,-1584 # 810029d0 +800013a4: fcc42703 lw a4,-52(s0) +800013a8: 00e7a623 sw a4,12(a5) +800013ac: 810037b7 lui a5,0x81003 +800013b0: 9d078793 addi a5,a5,-1584 # 810029d0 +800013b4: fd042703 lw a4,-48(s0) +800013b8: 00e7a823 sw a4,16(a5) +800013bc: df1fe0ef jal ra,800001ac +800013c0: fea42423 sw a0,-24(s0) +800013c4: fcc42703 lw a4,-52(s0) +800013c8: fe842783 lw a5,-24(s0) +800013cc: 02f757b3 divu a5,a4,a5 +800013d0: fef42623 sw a5,-20(s0) +800013d4: fcc42703 lw a4,-52(s0) +800013d8: fe842783 lw a5,-24(s0) +800013dc: 02f777b3 remu a5,a4,a5 +800013e0: 00078863 beqz a5,800013f0 +800013e4: fec42783 lw a5,-20(s0) +800013e8: 00178793 addi a5,a5,1 +800013ec: fef42623 sw a5,-20(s0) +800013f0: 810037b7 lui a5,0x81003 +800013f4: 9d078793 addi a5,a5,-1584 # 810029d0 +800013f8: fec42703 lw a4,-20(s0) +800013fc: 00e7aa23 sw a4,20(a5) +80001400: fcc42703 lw a4,-52(s0) +80001404: fe842783 lw a5,-24(s0) +80001408: 02f76263 bltu a4,a5,8000142c +8000140c: 810037b7 lui a5,0x81003 +80001410: 9d078693 addi a3,a5,-1584 # 810029d0 +80001414: 800017b7 lui a5,0x80001 +80001418: 48478613 addi a2,a5,1156 # 80001484 +8000141c: fe842583 lw a1,-24(s0) +80001420: fd042503 lw a0,-48(s0) +80001424: fe9fe0ef jal ra,8000040c +80001428: 0200006f j 80001448 +8000142c: 810037b7 lui a5,0x81003 +80001430: 9d078693 addi a3,a5,-1584 # 810029d0 +80001434: 800017b7 lui a5,0x80001 +80001438: 48478613 addi a2,a5,1156 # 80001484 +8000143c: fcc42583 lw a1,-52(s0) +80001440: fd042503 lw a0,-48(s0) +80001444: fc9fe0ef jal ra,8000040c +80001448: d5dfe0ef jal ra,800001a4 +8000144c: fea42223 sw a0,-28(s0) +80001450: fd042703 lw a4,-48(s0) +80001454: fe442783 lw a5,-28(s0) +80001458: 00e7f863 bgeu a5,a4,80001468 +8000145c: fe442503 lw a0,-28(s0) +80001460: 898ff0ef jal ra,800004f8 +80001464: 00c0006f j 80001470 +80001468: fd042503 lw a0,-48(s0) +8000146c: 88cff0ef jal ra,800004f8 +80001470: 00000013 nop +80001474: 03c12083 lw ra,60(sp) +80001478: 03812403 lw s0,56(sp) +8000147c: 04010113 addi sp,sp,64 +80001480: 00008067 ret + +80001484 <_vx_e_mat_mult>: +80001484: fb010113 addi sp,sp,-80 +80001488: 04112623 sw ra,76(sp) +8000148c: 04812423 sw s0,72(sp) +80001490: 05010413 addi s0,sp,80 +80001494: faa42e23 sw a0,-68(s0) +80001498: fab42c23 sw a1,-72(s0) +8000149c: 928ff0ef jal ra,800005c4 +800014a0: fea42023 sw a0,-32(s0) +800014a4: fe042783 lw a5,-32(s0) +800014a8: 0007a783 lw a5,0(a5) +800014ac: fcf42e23 sw a5,-36(s0) +800014b0: fe042783 lw a5,-32(s0) +800014b4: 0047a783 lw a5,4(a5) +800014b8: 0007a783 lw a5,0(a5) +800014bc: fcf42c23 sw a5,-40(s0) +800014c0: fe042783 lw a5,-32(s0) +800014c4: 0087a783 lw a5,8(a5) +800014c8: fcf42a23 sw a5,-44(s0) +800014cc: fe042783 lw a5,-32(s0) +800014d0: 0147a783 lw a5,20(a5) +800014d4: fef42623 sw a5,-20(s0) +800014d8: fec42703 lw a4,-20(s0) +800014dc: fbc42783 lw a5,-68(s0) +800014e0: 02f707b3 mul a5,a4,a5 +800014e4: fef42423 sw a5,-24(s0) +800014e8: fec42783 lw a5,-20(s0) +800014ec: 00079a63 bnez a5,80001500 <_vx_e_mat_mult+0x7c> +800014f0: 00100793 li a5,1 +800014f4: fef42623 sw a5,-20(s0) +800014f8: fbc42783 lw a5,-68(s0) +800014fc: fef42423 sw a5,-24(s0) +80001500: fe042783 lw a5,-32(s0) +80001504: 00c7a783 lw a5,12(a5) +80001508: fcf42823 sw a5,-48(s0) +8000150c: fe042223 sw zero,-28(s0) +80001510: 0b00006f j 800015c0 <_vx_e_mat_mult+0x13c> +80001514: fb842703 lw a4,-72(s0) +80001518: fd042783 lw a5,-48(s0) +8000151c: 02f70733 mul a4,a4,a5 +80001520: fe842783 lw a5,-24(s0) +80001524: 00f707b3 add a5,a4,a5 +80001528: fcf42623 sw a5,-52(s0) +8000152c: fe842703 lw a4,-24(s0) +80001530: fd042783 lw a5,-48(s0) +80001534: 00f737b3 sltu a5,a4,a5 +80001538: 0ff7f793 andi a5,a5,255 +8000153c: fcf42423 sw a5,-56(s0) +80001540: fc842783 lw a5,-56(s0) +80001544: 0017b793 seqz a5,a5 +80001548: fcf403a3 sb a5,-57(s0) +8000154c: fc744783 lbu a5,-57(s0) +80001550: 00078f13 mv t5,a5 +80001554: 800017b7 lui a5,0x80001 +80001558: 5ac78f93 addi t6,a5,1452 # 800015ac +8000155c: 000f206b 0xf206b +80001560: 01ff707b 0x1ff707b +80001564: fcc42783 lw a5,-52(s0) +80001568: 00279793 slli a5,a5,0x2 +8000156c: fdc42703 lw a4,-36(s0) +80001570: 00f707b3 add a5,a4,a5 +80001574: 0007a683 lw a3,0(a5) +80001578: fcc42783 lw a5,-52(s0) +8000157c: 00279793 slli a5,a5,0x2 +80001580: fd442703 lw a4,-44(s0) +80001584: 00f707b3 add a5,a4,a5 +80001588: fd842703 lw a4,-40(s0) +8000158c: 02e68733 mul a4,a3,a4 +80001590: 00e7a023 sw a4,0(a5) +80001594: fe842783 lw a5,-24(s0) +80001598: 00178793 addi a5,a5,1 +8000159c: fef42423 sw a5,-24(s0) +800015a0: 800017b7 lui a5,0x80001 +800015a4: 5b078e13 addi t3,a5,1456 # 800015b0 +800015a8: 000e0067 jr t3 +800015ac: 00000013 nop +800015b0: 0000306b 0x306b +800015b4: fe442783 lw a5,-28(s0) +800015b8: 00178793 addi a5,a5,1 +800015bc: fef42223 sw a5,-28(s0) +800015c0: fe442783 lw a5,-28(s0) +800015c4: fec42703 lw a4,-20(s0) +800015c8: f4e7e6e3 bltu a5,a4,80001514 <_vx_e_mat_mult+0x90> +800015cc: 00000013 nop +800015d0: 04c12083 lw ra,76(sp) +800015d4: 04812403 lw s0,72(sp) +800015d8: 05010113 addi sp,sp,80 +800015dc: 00008067 ret + +800015e0 : +800015e0: fe010113 addi sp,sp,-32 +800015e4: 00812e23 sw s0,28(sp) +800015e8: 02010413 addi s0,sp,32 +800015ec: fe042623 sw zero,-20(s0) +800015f0: 0480006f j 80001638 +800015f4: 810037b7 lui a5,0x81003 +800015f8: fec42703 lw a4,-20(s0) +800015fc: 00271713 slli a4,a4,0x2 +80001600: 9e878793 addi a5,a5,-1560 # 810029e8 +80001604: 00f707b3 add a5,a4,a5 +80001608: 00300713 li a4,3 +8000160c: 00e7a023 sw a4,0(a5) +80001610: 810047b7 lui a5,0x81004 +80001614: fec42703 lw a4,-20(s0) +80001618: 00271713 slli a4,a4,0x2 +8000161c: 9e878793 addi a5,a5,-1560 # 810039e8 +80001620: 00f707b3 add a5,a4,a5 +80001624: 00200713 li a4,2 +80001628: 00e7a023 sw a4,0(a5) +8000162c: fec42783 lw a5,-20(s0) +80001630: 00178793 addi a5,a5,1 +80001634: fef42623 sw a5,-20(s0) +80001638: fec42703 lw a4,-20(s0) +8000163c: 0ff00793 li a5,255 +80001640: fae7dae3 bge a5,a4,800015f4 +80001644: 00000013 nop +80001648: 01c12403 lw s0,28(sp) +8000164c: 02010113 addi sp,sp,32 +80001650: 00008067 ret + +80001654 : +80001654: fd010113 addi sp,sp,-48 +80001658: 02112623 sw ra,44(sp) +8000165c: 02812423 sw s0,40(sp) +80001660: 03010413 addi s0,sp,48 +80001664: fca42e23 sw a0,-36(s0) +80001668: 810007b7 lui a5,0x81000 +8000166c: 11078513 addi a0,a5,272 # 81000110 +80001670: 8c0ff0ef jal ra,80000730 +80001674: fe042623 sw zero,-20(s0) +80001678: 0580006f j 800016d0 +8000167c: fec42783 lw a5,-20(s0) +80001680: 00078e63 beqz a5,8000169c +80001684: fec42783 lw a5,-20(s0) +80001688: 00f7f793 andi a5,a5,15 +8000168c: 00079863 bnez a5,8000169c +80001690: 810007b7 lui a5,0x81000 +80001694: 13478513 addi a0,a5,308 # 81000134 +80001698: 898ff0ef jal ra,80000730 +8000169c: fec42783 lw a5,-20(s0) +800016a0: 00279793 slli a5,a5,0x2 +800016a4: fdc42703 lw a4,-36(s0) +800016a8: 00f707b3 add a5,a4,a5 +800016ac: 0007a783 lw a5,0(a5) +800016b0: 00078513 mv a0,a5 +800016b4: 8b8ff0ef jal ra,8000076c +800016b8: 810007b7 lui a5,0x81000 +800016bc: 13878513 addi a0,a5,312 # 81000138 +800016c0: 870ff0ef jal ra,80000730 +800016c4: fec42783 lw a5,-20(s0) +800016c8: 00178793 addi a5,a5,1 +800016cc: fef42623 sw a5,-20(s0) +800016d0: fec42703 lw a4,-20(s0) +800016d4: 0ff00793 li a5,255 +800016d8: fae7d2e3 bge a5,a4,8000167c +800016dc: 810007b7 lui a5,0x81000 +800016e0: 13c78513 addi a0,a5,316 # 8100013c +800016e4: 84cff0ef jal ra,80000730 +800016e8: 00000013 nop +800016ec: 02c12083 lw ra,44(sp) +800016f0: 02812403 lw s0,40(sp) +800016f4: 03010113 addi sp,sp,48 +800016f8: 00008067 ret + +800016fc
: +800016fc: fe010113 addi sp,sp,-32 +80001700: 00112e23 sw ra,28(sp) +80001704: 00812c23 sw s0,24(sp) +80001708: 02010413 addi s0,sp,32 +8000170c: ed5ff0ef jal ra,800015e0 +80001710: 01000693 li a3,16 +80001714: 810057b7 lui a5,0x81005 +80001718: 9e878613 addi a2,a5,-1560 # 810049e8 +8000171c: 810047b7 lui a5,0x81004 +80001720: 9e878593 addi a1,a5,-1560 # 810039e8 +80001724: 810037b7 lui a5,0x81003 +80001728: 9e878513 addi a0,a5,-1560 # 810029e8 +8000172c: 94cff0ef jal ra,80000878 +80001730: 810007b7 lui a5,0x81000 +80001734: 16078513 addi a0,a5,352 # 81000160 +80001738: ff9fe0ef jal ra,80000730 +8000173c: 810057b7 lui a5,0x81005 +80001740: 9e878513 addi a0,a5,-1560 # 810049e8 +80001744: f11ff0ef jal ra,80001654 +80001748: 01000713 li a4,16 +8000174c: 01000693 li a3,16 +80001750: 810057b7 lui a5,0x81005 +80001754: 9e878613 addi a2,a5,-1560 # 810049e8 +80001758: 810047b7 lui a5,0x81004 +8000175c: 9e878593 addi a1,a5,-1560 # 810039e8 +80001760: 810037b7 lui a5,0x81003 +80001764: 9e878513 addi a0,a5,-1560 # 810029e8 +80001768: c10ff0ef jal ra,80000b78 +8000176c: 810007b7 lui a5,0x81000 +80001770: 17c78513 addi a0,a5,380 # 8100017c +80001774: fbdfe0ef jal ra,80000730 +80001778: 810057b7 lui a5,0x81005 +8000177c: 9e878513 addi a0,a5,-1560 # 810049e8 +80001780: ed5ff0ef jal ra,80001654 +80001784: 01000713 li a4,16 +80001788: 01000693 li a3,16 +8000178c: 810057b7 lui a5,0x81005 +80001790: 9e878613 addi a2,a5,-1560 # 810049e8 +80001794: 810047b7 lui a5,0x81004 +80001798: 9e878593 addi a1,a5,-1560 # 810039e8 +8000179c: 810037b7 lui a5,0x81003 +800017a0: 9e878513 addi a0,a5,-1560 # 810029e8 +800017a4: e74ff0ef jal ra,80000e18 +800017a8: 810007b7 lui a5,0x81000 +800017ac: 19078513 addi a0,a5,400 # 81000190 +800017b0: f81fe0ef jal ra,80000730 +800017b4: 810057b7 lui a5,0x81005 +800017b8: 9e878513 addi a0,a5,-1560 # 810049e8 +800017bc: e99ff0ef jal ra,80001654 +800017c0: 00300793 li a5,3 +800017c4: fef42623 sw a5,-20(s0) +800017c8: fec40593 addi a1,s0,-20 +800017cc: 01000713 li a4,16 +800017d0: 01000693 li a3,16 +800017d4: 810057b7 lui a5,0x81005 +800017d8: 9e878613 addi a2,a5,-1560 # 810049e8 +800017dc: 810057b7 lui a5,0x81005 +800017e0: 9e878513 addi a0,a5,-1560 # 810049e8 +800017e4: 8d5ff0ef jal ra,800010b8 +800017e8: 810007b7 lui a5,0x81000 +800017ec: 1a878513 addi a0,a5,424 # 810001a8 +800017f0: f41fe0ef jal ra,80000730 +800017f4: 810057b7 lui a5,0x81005 +800017f8: 9e878513 addi a0,a5,-1560 # 810049e8 +800017fc: e59ff0ef jal ra,80001654 +80001800: fec40593 addi a1,s0,-20 +80001804: 01000713 li a4,16 +80001808: 01000693 li a3,16 +8000180c: 810057b7 lui a5,0x81005 +80001810: 9e878613 addi a2,a5,-1560 # 810049e8 +80001814: 810057b7 lui a5,0x81005 +80001818: 9e878513 addi a0,a5,-1560 # 810049e8 +8000181c: b31ff0ef jal ra,8000134c +80001820: 810007b7 lui a5,0x81000 +80001824: 1a878513 addi a0,a5,424 # 810001a8 +80001828: f09fe0ef jal ra,80000730 +8000182c: 810057b7 lui a5,0x81005 +80001830: 9e878513 addi a0,a5,-1560 # 810049e8 +80001834: e21ff0ef jal ra,80001654 +80001838: 00000793 li a5,0 +8000183c: 00078513 mv a0,a5 +80001840: 01c12083 lw ra,28(sp) +80001844: 01812403 lw s0,24(sp) +80001848: 02010113 addi sp,sp,32 +8000184c: 00008067 ret Disassembly of section .rodata: @@ -1355,351 +1679,380 @@ Disassembly of section .rodata: 8100002a: 0000 unimp 8100002c: 0062 c.slli zero,0x18 8100002e: 0000 unimp -81000030: 00000063 beqz zero,81000030 +81000030: 00000063 beqz zero,81000030 81000034: 0064 addi s1,sp,12 81000036: 0000 unimp 81000038: 0065 c.nop 25 8100003a: 0000 unimp 8100003c: 0066 c.slli zero,0x19 8100003e: 0000 unimp -81000040: 754e flw fa0,240(sp) -81000042: 206d jal 810000ec -81000044: 7661 lui a2,0xffff8 -81000046: 6961 lui s2,0x18 -81000048: 616c flw fa1,68(a0) -8100004a: 6c62 flw fs8,24(sp) -8100004c: 2065 jal 810000f4 -8100004e: 70726177 0x70726177 -81000052: 00203a73 csrrc s4,frm,zero +81000040: 0030 addi a2,sp,8 +81000042: 0000 unimp +81000044: 0031 c.nop 12 +81000046: 0000 unimp +81000048: 0032 c.slli zero,0xc +8100004a: 0000 unimp +8100004c: 00000033 add zero,zero,zero +81000050: 0034 addi a3,sp,8 +81000052: 0000 unimp +81000054: 0035 c.nop 13 81000056: 0000 unimp -81000058: 0030 addi a2,sp,8 +81000058: 0036 c.slli zero,0xd 8100005a: 0000 unimp -8100005c: 0031 c.nop 12 -8100005e: 0000 unimp -81000060: 0032 c.slli zero,0xc +8100005c: 00000037 lui zero,0x0 +81000060: 0038 addi a4,sp,8 81000062: 0000 unimp -81000064: 00000033 add zero,zero,zero -81000068: 0034 addi a3,sp,8 +81000064: 0039 c.nop 14 +81000066: 0000 unimp +81000068: 0061 c.nop 24 8100006a: 0000 unimp -8100006c: 0035 c.nop 13 +8100006c: 0062 c.slli zero,0x18 8100006e: 0000 unimp -81000070: 0036 c.slli zero,0xd -81000072: 0000 unimp -81000074: 00000037 lui zero,0x0 -81000078: 0038 addi a4,sp,8 +81000070: 00000063 beqz zero,81000070 +81000074: 0064 addi s1,sp,12 +81000076: 0000 unimp +81000078: 0065 c.nop 25 8100007a: 0000 unimp -8100007c: 0039 c.nop 14 +8100007c: 0066 c.slli zero,0x19 8100007e: 0000 unimp -81000080: 0061 c.nop 24 +81000080: 000a c.slli zero,0x2 81000082: 0000 unimp -81000084: 0062 c.slli zero,0x18 +81000084: 0030 addi a2,sp,8 81000086: 0000 unimp -81000088: 00000063 beqz zero,81000088 -8100008c: 0064 addi s1,sp,12 +81000088: 0031 c.nop 12 +8100008a: 0000 unimp +8100008c: 0032 c.slli zero,0xc 8100008e: 0000 unimp -81000090: 0065 c.nop 25 -81000092: 0000 unimp -81000094: 0066 c.slli zero,0x19 +81000090: 00000033 add zero,zero,zero +81000094: 0034 addi a3,sp,8 81000096: 0000 unimp -81000098: 000a c.slli zero,0x2 +81000098: 0035 c.nop 13 8100009a: 0000 unimp -8100009c: 0030 addi a2,sp,8 +8100009c: 0036 c.slli zero,0xd 8100009e: 0000 unimp -810000a0: 0031 c.nop 12 -810000a2: 0000 unimp -810000a4: 0032 c.slli zero,0xc +810000a0: 00000037 lui zero,0x0 +810000a4: 0038 addi a4,sp,8 810000a6: 0000 unimp -810000a8: 00000033 add zero,zero,zero -810000ac: 0034 addi a3,sp,8 +810000a8: 0039 c.nop 14 +810000aa: 0000 unimp +810000ac: 0061 c.nop 24 810000ae: 0000 unimp -810000b0: 0035 c.nop 13 +810000b0: 0062 c.slli zero,0x18 810000b2: 0000 unimp -810000b4: 0036 c.slli zero,0xd -810000b6: 0000 unimp -810000b8: 00000037 lui zero,0x0 -810000bc: 0038 addi a4,sp,8 +810000b4: 00000063 beqz zero,810000b4 +810000b8: 0064 addi s1,sp,12 +810000ba: 0000 unimp +810000bc: 0065 c.nop 25 810000be: 0000 unimp -810000c0: 0039 c.nop 14 +810000c0: 0066 c.slli zero,0x19 810000c2: 0000 unimp -810000c4: 0061 c.nop 24 -810000c6: 0000 unimp -810000c8: 0062 c.slli zero,0x18 -810000ca: 0000 unimp -810000cc: 00000063 beqz zero,810000cc -810000d0: 0064 addi s1,sp,12 +810000c4: 7366664f fnmadd.d fa2,fa2,fs6,fa4,unknown +810000c8: 7465 lui s0,0xffff9 +810000ca: 203a fld ft0,392(sp) +810000cc: 0000 unimp +810000ce: 0000 unimp +810000d0: 0030 addi a2,sp,8 810000d2: 0000 unimp -810000d4: 0065 c.nop 25 +810000d4: 0031 c.nop 12 810000d6: 0000 unimp -810000d8: 0066 c.slli zero,0x19 +810000d8: 0032 c.slli zero,0xc 810000da: 0000 unimp -810000dc: 7366664f fnmadd.d fa2,fa2,fs6,fa4,unknown -810000e0: 7465 lui s0,0xffff9 -810000e2: 203a fld ft0,392(sp) -810000e4: 0000 unimp +810000dc: 00000033 add zero,zero,zero +810000e0: 0034 addi a3,sp,8 +810000e2: 0000 unimp +810000e4: 0035 c.nop 13 810000e6: 0000 unimp -810000e8: 0030 addi a2,sp,8 +810000e8: 0036 c.slli zero,0xd 810000ea: 0000 unimp -810000ec: 0031 c.nop 12 -810000ee: 0000 unimp -810000f0: 0032 c.slli zero,0xc +810000ec: 00000037 lui zero,0x0 +810000f0: 0038 addi a4,sp,8 810000f2: 0000 unimp -810000f4: 00000033 add zero,zero,zero -810000f8: 0034 addi a3,sp,8 +810000f4: 0039 c.nop 14 +810000f6: 0000 unimp +810000f8: 0061 c.nop 24 810000fa: 0000 unimp -810000fc: 0035 c.nop 13 +810000fc: 0062 c.slli zero,0x18 810000fe: 0000 unimp -81000100: 0036 c.slli zero,0xd -81000102: 0000 unimp -81000104: 00000037 lui zero,0x0 -81000108: 0038 addi a4,sp,8 +81000100: 00000063 beqz zero,81000100 +81000104: 0064 addi s1,sp,12 +81000106: 0000 unimp +81000108: 0065 c.nop 25 8100010a: 0000 unimp -8100010c: 0039 c.nop 14 +8100010c: 0066 c.slli zero,0x19 8100010e: 0000 unimp -81000110: 0061 c.nop 24 -81000112: 0000 unimp -81000114: 0062 c.slli zero,0x18 -81000116: 0000 unimp -81000118: 00000063 beqz zero,81000118 -8100011c: 0064 addi s1,sp,12 -8100011e: 0000 unimp -81000120: 0065 c.nop 25 -81000122: 0000 unimp -81000124: 0066 c.slli zero,0x19 -81000126: 0000 unimp -81000128: 2d2d jal 81000762 -8100012a: 2d2d jal 81000764 -8100012c: 2d2d jal 81000766 -8100012e: 2d2d jal 81000768 -81000130: 2d2d jal 8100076a -81000132: 2d2d jal 8100076c -81000134: 2d2d jal 8100076e -81000136: 2d2d jal 81000770 -81000138: 2d2d jal 81000772 -8100013a: 2d2d jal 81000774 -8100013c: 2d2d jal 81000776 -8100013e: 2d2d jal 81000778 -81000140: 0a2d addi s4,s4,11 -81000142: 0000 unimp -81000144: 4946 lw s2,80(sp) -81000146: 414e lw sp,208(sp) -81000148: 204c fld fa1,128(s0) -8100014a: 414d li sp,19 -8100014c: 0a54 addi a3,sp,276 -8100014e: 0000 unimp -81000150: 000a c.slli zero,0x2 -81000152: 0000 unimp -81000154: 0020 addi s0,sp,8 -81000156: 0000 unimp -81000158: 2d0a fld fs10,128(sp) -8100015a: 2d2d jal 81000794 -8100015c: 2d2d jal 81000796 -8100015e: 2d2d jal 81000798 -81000160: 2d2d jal 8100079a -81000162: 2d2d jal 8100079c -81000164: 2d2d jal 8100079e -81000166: 2d2d jal 810007a0 -81000168: 2d2d jal 810007a2 -8100016a: 2d2d jal 810007a4 -8100016c: 2d2d jal 810007a6 -8100016e: 2d2d jal 810007a8 -81000170: 2d2d jal 810007aa -81000172: 2d2d jal 810007ac -81000174: 2d2d jal 810007ae -81000176: 2d2d jal 810007b0 -81000178: 000a c.slli zero,0x2 +81000110: 2d2d jal 8100074a +81000112: 2d2d jal 8100074c +81000114: 2d2d jal 8100074e +81000116: 2d2d jal 81000750 +81000118: 2d2d jal 81000752 +8100011a: 2d2d jal 81000754 +8100011c: 2d2d jal 81000756 +8100011e: 2d2d jal 81000758 +81000120: 2d2d jal 8100075a +81000122: 2d2d jal 8100075c +81000124: 2d2d jal 8100075e +81000126: 2d2d jal 81000760 +81000128: 2d2d jal 81000762 +8100012a: 2d2d jal 81000764 +8100012c: 2d2d jal 81000766 +8100012e: 0a2d addi s4,s4,11 +81000130: 0000 unimp +81000132: 0000 unimp +81000134: 000a c.slli zero,0x2 +81000136: 0000 unimp +81000138: 0020 addi s0,sp,8 +8100013a: 0000 unimp +8100013c: 2d0a fld fs10,128(sp) +8100013e: 2d2d jal 81000778 +81000140: 2d2d jal 8100077a +81000142: 2d2d jal 8100077c +81000144: 2d2d jal 8100077e +81000146: 2d2d jal 81000780 +81000148: 2d2d jal 81000782 +8100014a: 2d2d jal 81000784 +8100014c: 2d2d jal 81000786 +8100014e: 2d2d jal 81000788 +81000150: 2d2d jal 8100078a +81000152: 2d2d jal 8100078c +81000154: 2d2d jal 8100078e +81000156: 2d2d jal 81000790 +81000158: 2d2d jal 81000792 +8100015a: 2d2d jal 81000794 +8100015c: 000a c.slli zero,0x2 +8100015e: 0000 unimp +81000160: 0a0a slli s4,s4,0x2 +81000162: 614d addi sp,sp,176 +81000164: 7274 flw fa3,100(a2) +81000166: 7869 lui a6,0xffffa +81000168: 6d20 flw fs0,88(a0) +8100016a: 6c75 lui s8,0x1d +8100016c: 6974 flw fa3,84(a0) +8100016e: 6c70 flw fa2,92(s0) +81000170: 6369 lui t1,0x1a +81000172: 7461 lui s0,0xffff8 +81000174: 6f69 lui t5,0x1a +81000176: 0a6e slli s4,s4,0x1b +81000178: 0000 unimp 8100017a: 0000 unimp -8100017c: 4946 lw s2,80(sp) -8100017e: 414e lw sp,208(sp) -81000180: 204c fld fa1,128(s0) -81000182: 4441 li s0,16 -81000184: 0a44 addi s1,sp,276 -81000186: 0000 unimp -81000188: 4946 lw s2,80(sp) -8100018a: 414e lw sp,208(sp) -8100018c: 204c fld fa1,128(s0) -8100018e: 0a627553 fsub.d fa0,ft4,ft6 +8100017c: 0a0a slli s4,s4,0x2 +8100017e: 614d addi sp,sp,176 +81000180: 7274 flw fa3,100(a2) +81000182: 7869 lui a6,0xffffa +81000184: 4120 lw s0,64(a0) +81000186: 6464 flw fs1,76(s0) +81000188: 7469 lui s0,0xffffa +8100018a: 6f69 lui t5,0x1a +8100018c: 0a6e slli s4,s4,0x1b +8100018e: 0000 unimp +81000190: 0a0a slli s4,s4,0x2 +81000192: 614d addi sp,sp,176 +81000194: 7274 flw fa3,100(a2) +81000196: 7869 lui a6,0xffffa +81000198: 5320 lw s0,96(a4) +8100019a: 6275 lui tp,0x1d +8100019c: 7274 flw fa3,100(a2) +8100019e: 6361 lui t1,0x18 +810001a0: 6974 flw fa3,84(a0) +810001a2: 000a6e6f jal t3,810a61a2 +810001a6: 0000 unimp +810001a8: 0a0a slli s4,s4,0x2 +810001aa: 614d addi sp,sp,176 +810001ac: 7274 flw fa3,100(a2) +810001ae: 7869 lui a6,0xffffa +810001b0: 4520 lw s0,72(a0) +810001b2: 656c flw fa1,76(a0) +810001b4: 656d lui a0,0x1b +810001b6: 746e flw fs0,248(sp) +810001b8: 4120 lw s0,64(a0) +810001ba: 6464 flw fs1,76(s0) +810001bc: 7469 lui s0,0xffffa +810001be: 6f69 lui t5,0x1a +810001c0: 0a6e slli s4,s4,0x1b ... Disassembly of section .data: -81000194 : -81000194: 0000 unimp -81000196: 8100 0x8100 -81000198: 0004 0x4 -8100019a: 8100 0x8100 -8100019c: 0008 0x8 -8100019e: 8100 0x8100 -810001a0: 000c 0xc -810001a2: 8100 0x8100 -810001a4: 0010 0x10 -810001a6: 8100 0x8100 -810001a8: 0014 0x14 -810001aa: 8100 0x8100 -810001ac: 0018 0x18 -810001ae: 8100 0x8100 -810001b0: 001c 0x1c -810001b2: 8100 0x8100 -810001b4: 0020 addi s0,sp,8 -810001b6: 8100 0x8100 -810001b8: 0024 addi s1,sp,8 -810001ba: 8100 0x8100 -810001bc: 0028 addi a0,sp,8 -810001be: 8100 0x8100 -810001c0: 002c addi a1,sp,8 -810001c2: 8100 0x8100 -810001c4: 0030 addi a2,sp,8 +810001c4 : +810001c4: 0000 unimp 810001c6: 8100 0x8100 -810001c8: 0034 addi a3,sp,8 +810001c8: 0004 0x4 810001ca: 8100 0x8100 -810001cc: 0038 addi a4,sp,8 +810001cc: 0008 0x8 810001ce: 8100 0x8100 -810001d0: 003c addi a5,sp,8 +810001d0: 000c 0xc 810001d2: 8100 0x8100 - -810001d4 : -810001d4: 0058 addi a4,sp,4 +810001d4: 0010 0x10 810001d6: 8100 0x8100 -810001d8: 005c addi a5,sp,4 +810001d8: 0014 0x14 810001da: 8100 0x8100 -810001dc: 0060 addi s0,sp,12 +810001dc: 0018 0x18 810001de: 8100 0x8100 -810001e0: 0064 addi s1,sp,12 +810001e0: 001c 0x1c 810001e2: 8100 0x8100 -810001e4: 0068 addi a0,sp,12 +810001e4: 0020 addi s0,sp,8 810001e6: 8100 0x8100 -810001e8: 006c addi a1,sp,12 +810001e8: 0024 addi s1,sp,8 810001ea: 8100 0x8100 -810001ec: 0070 addi a2,sp,12 +810001ec: 0028 addi a0,sp,8 810001ee: 8100 0x8100 -810001f0: 0074 addi a3,sp,12 +810001f0: 002c addi a1,sp,8 810001f2: 8100 0x8100 -810001f4: 0078 addi a4,sp,12 +810001f4: 0030 addi a2,sp,8 810001f6: 8100 0x8100 -810001f8: 007c addi a5,sp,12 +810001f8: 0034 addi a3,sp,8 810001fa: 8100 0x8100 -810001fc: 0080 addi s0,sp,64 +810001fc: 0038 addi a4,sp,8 810001fe: 8100 0x8100 -81000200: 0084 addi s1,sp,64 +81000200: 003c addi a5,sp,8 81000202: 8100 0x8100 -81000204: 0088 addi a0,sp,64 + +81000204 : +81000204: 0040 addi s0,sp,4 81000206: 8100 0x8100 -81000208: 008c addi a1,sp,64 +81000208: 0044 addi s1,sp,4 8100020a: 8100 0x8100 -8100020c: 0090 addi a2,sp,64 +8100020c: 0048 addi a0,sp,4 8100020e: 8100 0x8100 -81000210: 0094 addi a3,sp,64 +81000210: 004c addi a1,sp,4 81000212: 8100 0x8100 - -81000214 : -81000214: 009c addi a5,sp,64 +81000214: 0050 addi a2,sp,4 81000216: 8100 0x8100 -81000218: 00a0 addi s0,sp,72 +81000218: 0054 addi a3,sp,4 8100021a: 8100 0x8100 -8100021c: 00a4 addi s1,sp,72 +8100021c: 0058 addi a4,sp,4 8100021e: 8100 0x8100 -81000220: 00a8 addi a0,sp,72 +81000220: 005c addi a5,sp,4 81000222: 8100 0x8100 -81000224: 00ac addi a1,sp,72 +81000224: 0060 addi s0,sp,12 81000226: 8100 0x8100 -81000228: 00b0 addi a2,sp,72 +81000228: 0064 addi s1,sp,12 8100022a: 8100 0x8100 -8100022c: 00b4 addi a3,sp,72 +8100022c: 0068 addi a0,sp,12 8100022e: 8100 0x8100 -81000230: 00b8 addi a4,sp,72 +81000230: 006c addi a1,sp,12 81000232: 8100 0x8100 -81000234: 00bc addi a5,sp,72 +81000234: 0070 addi a2,sp,12 81000236: 8100 0x8100 -81000238: 00c0 addi s0,sp,68 +81000238: 0074 addi a3,sp,12 8100023a: 8100 0x8100 -8100023c: 00c4 addi s1,sp,68 +8100023c: 0078 addi a4,sp,12 8100023e: 8100 0x8100 -81000240: 00c8 addi a0,sp,68 +81000240: 007c addi a5,sp,12 81000242: 8100 0x8100 -81000244: 00cc addi a1,sp,68 -81000246: 8100 0x8100 -81000248: 00d0 addi a2,sp,68 -8100024a: 8100 0x8100 -8100024c: 00d4 addi a3,sp,68 -8100024e: 8100 0x8100 -81000250: 00d8 addi a4,sp,68 -81000252: 8100 0x8100 -81000254 : -81000254: 00e8 addi a0,sp,76 +81000244 : +81000244: 0084 addi s1,sp,64 +81000246: 8100 0x8100 +81000248: 0088 addi a0,sp,64 +8100024a: 8100 0x8100 +8100024c: 008c addi a1,sp,64 +8100024e: 8100 0x8100 +81000250: 0090 addi a2,sp,64 +81000252: 8100 0x8100 +81000254: 0094 addi a3,sp,64 81000256: 8100 0x8100 -81000258: 00ec addi a1,sp,76 +81000258: 0098 addi a4,sp,64 8100025a: 8100 0x8100 -8100025c: 00f0 addi a2,sp,76 +8100025c: 009c addi a5,sp,64 8100025e: 8100 0x8100 -81000260: 00f4 addi a3,sp,76 +81000260: 00a0 addi s0,sp,72 81000262: 8100 0x8100 -81000264: 00f8 addi a4,sp,76 +81000264: 00a4 addi s1,sp,72 81000266: 8100 0x8100 -81000268: 00fc addi a5,sp,76 +81000268: 00a8 addi a0,sp,72 8100026a: 8100 0x8100 -8100026c: 0100 addi s0,sp,128 +8100026c: 00ac addi a1,sp,72 8100026e: 8100 0x8100 -81000270: 0104 addi s1,sp,128 +81000270: 00b0 addi a2,sp,72 81000272: 8100 0x8100 -81000274: 0108 addi a0,sp,128 +81000274: 00b4 addi a3,sp,72 81000276: 8100 0x8100 -81000278: 010c addi a1,sp,128 +81000278: 00b8 addi a4,sp,72 8100027a: 8100 0x8100 -8100027c: 0110 addi a2,sp,128 +8100027c: 00bc addi a5,sp,72 8100027e: 8100 0x8100 -81000280: 0114 addi a3,sp,128 +81000280: 00c0 addi s0,sp,68 81000282: 8100 0x8100 -81000284: 0118 addi a4,sp,128 + +81000284 : +81000284: 00d0 addi a2,sp,68 81000286: 8100 0x8100 -81000288: 011c addi a5,sp,128 +81000288: 00d4 addi a3,sp,68 8100028a: 8100 0x8100 -8100028c: 0120 addi s0,sp,136 +8100028c: 00d8 addi a4,sp,68 8100028e: 8100 0x8100 -81000290: 0124 addi s1,sp,136 +81000290: 00dc addi a5,sp,68 81000292: 8100 0x8100 +81000294: 00e0 addi s0,sp,76 +81000296: 8100 0x8100 +81000298: 00e4 addi s1,sp,76 +8100029a: 8100 0x8100 +8100029c: 00e8 addi a0,sp,76 +8100029e: 8100 0x8100 +810002a0: 00ec addi a1,sp,76 +810002a2: 8100 0x8100 +810002a4: 00f0 addi a2,sp,76 +810002a6: 8100 0x8100 +810002a8: 00f4 addi a3,sp,76 +810002aa: 8100 0x8100 +810002ac: 00f8 addi a4,sp,76 +810002ae: 8100 0x8100 +810002b0: 00fc addi a5,sp,76 +810002b2: 8100 0x8100 +810002b4: 0100 addi s0,sp,128 +810002b6: 8100 0x8100 +810002b8: 0104 addi s1,sp,128 +810002ba: 8100 0x8100 +810002bc: 0108 addi a0,sp,128 +810002be: 8100 0x8100 +810002c0: 010c addi a1,sp,128 +810002c2: 8100 0x8100 Disassembly of section .bss: -81000294 : +810002c4 : ... -810002b0 : -810002b0: 0000 unimp +810002e0 : +810002e0: 0000 unimp ... -810002b4 : +810002e4 : ... -81000334 : +81000364 : ... -81002954 : +81002984 : ... -81002970 : -81002970: 0000 unimp +810029a0 : +810029a0: 0000 unimp ... -81002974 : +810029a4 : ... -81002988 : +810029b8 : ... -810029a0 : +810029d0 : ... -810039a0 : +810029e8 : ... -810049a0 : +810039e8 : ... -810059a0 : +810049e8 : ... -810059bc : -810059bc: 0000 unimp +810059e8 : + ... + +81005a04 : +81005a04: 0000 unimp ... Disassembly of section .comment: diff --git a/src/vortex_software/vortex_test.elf b/src/vortex_software/vortex_test.elf index c496af45779fdb644a0aa06486d0a03bc820654a..6482f6dd1a2ff1b347ec5b7751d30cb65bfad028 100755 GIT binary patch delta 3190 zcmb_ee@v8R9RI$@aWDQLI1l6$^iEG8#Wg?#fm}c&RF+rTG_6hqGMp&6Q?Wm~V|RL5 z8R^$8XDQB6sbgj0hOVvIy3JZ`WZLGI%bTf3o9@m<(-O`;&wDTTzD#re(F@P}@cI6D zzMt>sdG6r`HXqyaf!$DFxoi4#lhaD%wC;LlvMFdFN?HEpnp0^~E6+$@E#>ih>7CLP z&M|+RTG}h$BFk2pB2-ny*UgJ_br$clEGJXrJF>wdr&6Cx9hR(o;y~SOZkjMBGaf1X zhdEhR*P!{_Ghy?nRp)b|C3_^+sEa*a#49a}r_q>>Hy|7axY^7Z;BeJDvMI464!-p=gix}Fhc zfsaNr6Ijno;NXy87N;UGm>w2P7hU9`?6Q|cM9gtCOd`^k?~gUEx}{PId=#fF|DaLs zzoSvs`-4Mq%Kd*wqG{)Px95zLq~CbYlofbKr~F@(k3Tf!zjTz(-iI>$3CjJTe5ChL z8z`r6iG2m$g7V?;$8pu<{i9VDSg*3cL7mD1Csf`J%B3D9CUFutkVTFegE58P`)7)9_NFCW3lDO} z)aw65osjL)L#tC)pHL^%6}wj*;aAlObqz&AmwvgwI-NT-b^5o*)%h}KrlE89edIZ_ z{9bts_m@Xrk&x$vz0?pmz}M}Q#gsCwjNi4IJ@H#fHe*xXbL1J(f;ZWR&tBvEGSm*n z_|`3I+?%+)ERksE4#oaqzW8h^JA}=P-<8qMcjM~?5SJEE;>2#{4dOsxEjgO@`_JKj z;xT6s(=Yk?bY>R!nNvNuRBo_|q`sxNleYy9^wr^(+lm>todq+Z_o!?qMnYY8l{m$2 zyJ?Y0dT?&qH)_=^Y{DHa*L6e9^*o^PqOe+c63+K+ExGFtmJ5~kI5`-*hlFTEA?Vr} z&ksyS{-7@Zs+RYduJc5qtyfFzifW0r%e_v=ck=GSD*W=^!Xw;PWJ(%K#LpK!)-ZPL za}DkdE$#N!jceU4ZEIT^8{94H*TGGc@KrZ8wW!vFZSlrc?hOr%Bf$y#Q)`=Bo7cJR zBRRaQ=*i3~qK;aOdW?k_PK+gdwy0otafY;)&BX?7XF}`?*h)y5neCyb%Z^u zVYmXxy|4<&HUSsv3RrPU+sA2=`QUF?kC`Bp3p_NDyh~JqqLG1ejnFZnz$04zF2rLy zMLE%shYrDzqbt}4d_`9PpA705LtY`hD0mjQDTzAld2zz$gkRSo&I8?s#6QLh&_BTb z3{Al?Xed3get|?;FdQ4N?YRSZ2|7BgE^r46EVQ5lt}c7rR8zisk^3$7m35e&TvJ=K zw4BGzbD9=Zw{BUmhF8v;o7~#qb~SV7yvwPsP3^8`m%t58P25&~YOZDxcND$3v3X;& zt9hL=lW?lR)V85zom(K>XIxY9I)74;WpG;g>xw+-TfSOhOAg{13G$dq#~29I5iBOE v<++s(DabEZ=BHi&retwai1K-7Wwz-;8TK`aKd+o_O{pZB568#@VU_1!=K(-?}c8n=N~)mx%Yg} z?{|K`&v~^MkKS)S;m}DXC)3iR8q7ou=93!|qx?Fe{%x1`eqj(yEZz8`;AF>*9YP{Y zHhmrE>J_KR+$vIl$}8Bq4E7!ro8Vf#-BW zy{rLm zo8-c?JZX33>B%l7bbHr)GOo2`Tn|ojvaml$&v4SJ3D)m?YOCxLa-N$c?%I;&3+=3* zQkmMj6lQTG%sl!i%&fH!PAkl#zXgJZ?|Y9VFBGua+cPrRxs(F5Zm0ZT+?W14_pci6 z>wm!w`yBUo;6Br9vx7TE=HB2aKc`9!@=!Hx;U@*qhioDDz9LE00@nfWlp2Qe{dxH~@i zNKMWIj+;di{u$QZ8HODlQ`$obh(G2`pM~{lU_J6IIl!nw>ziAm`Lv_gm0%pUYJ?v< z#$nSrEZTp9HGK2$usc5Q^YGuDR=%``A(h;Q1lOEtv$Spv?JR87paSdu8(71&Fl@&_ zOBP~q*fb7{wgxsD$@z@F>MhD17B8K+uYW7I+`9SDen;Kmx;^{q>i6w-G}pb-c(BC5 zyt%8HlzY~;fN1Ud%@rFRn<}c&#+MwZ3z%tnYT^@ID&`8ed(L&sp?Ws3d^JnX%N8V7 zk(a=>=Ve<5iM+$8BdFI=$5C&vck`B7jRJWss5aDOR0nE08_0Xc}7E-ef3&^mG*Oi_m&ib9X=c*0pN66h#sQiaYd8KqdjLR2A`@1w z75&3Tk}yWLzYTpXnj{X+{ZHdvYappX)fWX1(KHgmUv?OP0Zwyz9NMP=xCh;+E+-H8 z3$zVD*nD}s4nVPblBQK{guaY;yHst5E(g#$Rp)rnVblaHgzi}%o>4LMtFRBM1J*)Y zG=N*7Q6&E0K%1d2V?}ufUy&D}%Qf+X(8m^%R0MGD@7c>c)MLau5~0gXBrU_6Yfj!% z90vLb1G5)}0~~=Lwu|SJ{a=S(rb&1T`k^NNdFZP#B#kHl8|Vr;@*~LW$W(~GgubAe z;V5)8wg`7jPH+d>p$Qm(?vKTuva!OlsOD{lo2r|bxyT!Jbkj@ExvE%q(X&x&US3mt z$jyR91uVDtCQB^2!tRtLvgp#?tg+OhYcR96(oBJ|PfP8Qe%wz#8!L6j@H^?x!*tk8 zsZ;Q?C1qJpo`LSs6N#V!Fjg4*hZ=*b+-EdU))f*x*0IB7X|~lRL@ShD`H6|k= num_avail_threads) + { + vx_spawnWarps(num_rows, num_avail_threads, _vx_e_mat_add, (void *) (&mat_e_args)); + } + else + { + vx_spawnWarps(num_rows, num_cols, _vx_e_mat_add, (void *) (&mat_e_args)); + } + + unsigned num_avail_warps = vx_available_warps(); + + if (num_rows > num_avail_warps) + { + vx_wait_for_warps(num_avail_warps); + } + else + { + vx_wait_for_warps(num_rows); + } +} + +void _vx_e_mat_add(unsigned tid, unsigned wid) +{ + // vx_print_str("*"); + // for (int z = 0; z < ((wid * 1000) + 1000); z++); + + mat_e_arg_t * args = (mat_e_arg_t *) vx_get_arg_struct(); + + unsigned * x_ptr = args->x; + unsigned scal = *((unsigned *) args->scal); + + unsigned * z_ptr = args->z; + + unsigned off = args->offset; + + unsigned i_index = off * tid; + + if (off == 0) + { + off = 1; + i_index = tid; + } + + unsigned num_cols = args->num_cols; + + for (int iter = 0; iter < off; ++iter) + { + int final_i = (wid * num_cols) + i_index; + unsigned cond = i_index < num_cols; + __if(cond) + { + z_ptr[final_i] = x_ptr[final_i] + scal; + i_index++; + } + __else + __end_if + } + return; + +} + +void _vx_e_mat_mult(unsigned, unsigned); +void vx_e_mat_mult(void * x, void * scal, void * z, unsigned num_rows, unsigned num_cols) +{ + mat_e_args.x = x; + mat_e_args.scal = scal; + mat_e_args.z = z; + mat_e_args.num_cols = num_cols; + mat_e_args.num_rows = num_rows; + + + unsigned num_avail_threads = vx_available_threads(); + + unsigned off = (num_cols/num_avail_threads); + + if ((num_cols%num_avail_threads) != 0) + { + off += 1; + } + + mat_e_args.offset = off; + + if (num_cols >= num_avail_threads) + { + vx_spawnWarps(num_rows, num_avail_threads, _vx_e_mat_mult, (void *) (&mat_e_args)); + } + else + { + vx_spawnWarps(num_rows, num_cols, _vx_e_mat_mult, (void *) (&mat_e_args)); + } + + unsigned num_avail_warps = vx_available_warps(); + + if (num_rows > num_avail_warps) + { + vx_wait_for_warps(num_avail_warps); + } + else + { + vx_wait_for_warps(num_rows); + } +} + +void _vx_e_mat_mult(unsigned tid, unsigned wid) +{ + // vx_print_str("*"); + // for (int z = 0; z < ((wid * 1000) + 1000); z++); + + mat_e_arg_t * args = (mat_e_arg_t *) vx_get_arg_struct(); + + unsigned * x_ptr = args->x; + unsigned scal = *((unsigned *) args->scal); + + unsigned * z_ptr = args->z; + + unsigned off = args->offset; + + unsigned i_index = off * tid; + + if (off == 0) + { + off = 1; + i_index = tid; + } + + unsigned num_cols = args->num_cols; + + for (int iter = 0; iter < off; ++iter) + { + int final_i = (wid * num_cols) + i_index; + unsigned cond = i_index < num_cols; + __if(cond) + { + z_ptr[final_i] = x_ptr[final_i] * scal; + i_index++; + } + __else + __end_if + } + return; + +} + diff --git a/src/vortex_software/vx_include/vx_front.h b/src/vortex_software/vx_include/vx_front.h index 99bf9640..b78b8284 100644 --- a/src/vortex_software/vx_include/vx_front.h +++ b/src/vortex_software/vx_include/vx_front.h @@ -6,9 +6,9 @@ typedef struct { - unsigned * x; - unsigned * y; - unsigned * z; + void * x; + void * y; + void * z; unsigned mat_dim; unsigned offset; @@ -16,20 +16,40 @@ typedef struct void vx_sq_mat_mult(void *, void *, void *, unsigned); - +// -------------------------------------------------------------------------- typedef struct { - unsigned * x; - unsigned * y; - unsigned * z; + void * x; + void * y; + void * z; unsigned num_cols; unsigned num_rows; unsigned offset; } mat_r_arg_t; -// -------------------------- Matrix Addition -------------------------- +// -------------------------- Matrix Addition ----------------------------- void vx_mat_add(void *, void *, void *, unsigned, unsigned); // -------------------------- Matrix Subtraction -------------------------- -void vx_mat_sub(void *, void *, void *, unsigned, unsigned); \ No newline at end of file +void vx_mat_sub(void *, void *, void *, unsigned, unsigned); + + + +// ----------------------------------------------------------------------- +typedef struct +{ + void * x; + void * scal; + void * z; + unsigned num_cols; + unsigned num_rows; + unsigned offset; + +} mat_e_arg_t; + +// -------------------------- Matrix element Addition ------------------ +void vx_e_mat_add(void *, void *, void *, unsigned, unsigned); + +// -------------------------- Matrix element Addition ------------------ +void vx_e_mat_mult(void *, void *, void *, unsigned, unsigned); \ No newline at end of file diff --git a/src/vortex_software/vx_main.c b/src/vortex_software/vx_main.c index c9b9dc9f..0d70faad 100644 --- a/src/vortex_software/vx_main.c +++ b/src/vortex_software/vx_main.c @@ -19,6 +19,18 @@ void initialize_mats() } } +void print_matrix(unsigned * z) +{ + vx_print_str("-------------------------------\n"); + for (int j = 0; j < (MAT_DIM * MAT_DIM); j++) + { + if (j!=0) if ((j % MAT_DIM) == 0) vx_print_str("\n"); + vx_print_hex(z[j]); + vx_print_str(" "); + } + vx_print_str("\n-------------------------------\n"); +} + int main() { @@ -26,44 +38,32 @@ int main() // matrix multiplication vx_sq_mat_mult(x, y, z, MAT_DIM); - vx_print_str("-------------------------\n"); - vx_print_str("FINAL MAT\n"); - - for (int j = 0; j < (MAT_DIM * MAT_DIM); j++) - { - if ((j % MAT_DIM) == 0) vx_print_str("\n"); - vx_print_hex(z[j]); - vx_print_str(" "); - } - vx_print_str("\n-------------------------------\n"); + vx_print_str("\n\nMatrix multiplication\n"); + print_matrix(z); // matrix addition vx_mat_add(x, y, z, NUM_ROWS, NUM_COLS); - vx_print_str("-------------------------\n"); - vx_print_str("FINAL ADD\n"); - - for (int j = 0; j < (NUM_COLS * NUM_ROWS); j++) - { - if ((j % NUM_COLS) == 0) vx_print_str("\n"); - vx_print_hex(z[j]); - vx_print_str(" "); - } - vx_print_str("\n-------------------------------\n"); + vx_print_str("\n\nMatrix Addition\n"); + print_matrix(z); // matrix sub vx_mat_sub(x, y, z, NUM_ROWS, NUM_COLS); - vx_print_str("-------------------------\n"); - vx_print_str("FINAL Sub\n"); + vx_print_str("\n\nMatrix Subtraction\n"); + print_matrix(z); - for (int j = 0; j < (NUM_COLS * NUM_ROWS); j++) - { - if ((j % NUM_COLS) == 0) vx_print_str("\n"); - vx_print_hex(z[j]); - vx_print_str(" "); - } - vx_print_str("\n-------------------------------\n"); + unsigned scal = 3; + + // matrix element add + vx_e_mat_add(z, &scal, z, NUM_ROWS, NUM_COLS); + vx_print_str("\n\nMatrix Element Addition\n"); + print_matrix(z); + + // matrix element add + vx_e_mat_mult(z, &scal, z, NUM_ROWS, NUM_COLS); + vx_print_str("\n\nMatrix Element Addition\n"); + print_matrix(z); return 0; diff --git a/src/vortex_software/vx_os/vx_back/vx_back.c b/src/vortex_software/vx_os/vx_back/vx_back.c index b8a8f3c5..9f3d7cee 100644 --- a/src/vortex_software/vx_os/vx_back/vx_back.c +++ b/src/vortex_software/vx_os/vx_back/vx_back.c @@ -89,7 +89,7 @@ void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void * args) vx_before_main(); unsigned num_available_warps = vx_available_warps(); - vx_printf("Num available warps: ", num_available_warps); + // vx_printf("Num available warps: ", num_available_warps); asm __volatile__("addi s2, sp, 0"); int warp = 0;