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 c496af45..6482f6dd 100755 Binary files a/src/vortex_software/vortex_test.elf and b/src/vortex_software/vortex_test.elf differ diff --git a/src/vortex_software/vortex_test.hex b/src/vortex_software/vortex_test.hex index 4514209d..669b4b87 100644 --- a/src/vortex_software/vortex_test.hex +++ b/src/vortex_software/vortex_test.hex @@ -1,13 +1,13 @@ :0200000480007A :1000000013054000731005021305800073101502DC :10001000731040F17310103037F1FF7FEF0080193B -:10002000EF10C01173000000938B0600130D070042 +:10002000EF10C06D73000000938B0600130D0700E6 :10003000130F01009303050013051000635C7500A6 :1000400013010180130305006B5003001305150015 :100050006FF0DFFE13010F0013050000930F060081 :10006000938D0300EBE0BF01170500001305051B8E :100070006B40050017030000130343FB6B000300F4 -:1000800067800000170200011302022323200200F0 +:1000800067800000170200011302022623200200ED :100090002322120023242200232632002328420098 :1000A000232A5200232C6200232E72002320820276 :1000B000232292022324A2022326B2022328C20270 @@ -16,7 +16,7 @@ :1000E000232A5205232C6205232E72052320820722 :1000F000232292072324A2072326B2072328C2071C :10010000232AD207232CE207232EF2071302100022 -:1001100067800000170200011302021A0320020088 +:1001100067800000170200011302021D0320020085 :1001200083204200032182008321C20003220201B6 :1001300083224201032382018323C201032402029A :1001400083244202032582028325C202032602037E @@ -28,20 +28,20 @@ :1001A000678000007325000267800000732510023D :1001B00067800000130101FE232E1100232C810013 :1001C00013040102232604FE6F0000030327C4FE6C -:1001D0009307404C3307F702B707008193874733F3 -:1001E000B307F70013850700EF0040418327C4FEE3 +:1001D0009307404C3307F702B707008193874736F0 +:1001E000B307F70013850700EF0040408327C4FEE4 :1001F000938717002326F4FE0327C4FE930770009D :10020000E3D6E7FC130000008320C1010324810131 :100210001301010267800000130101FD2326110272 :10022000232481022322A1031304010313070D00D9 -:100230009307404C3307F702B70700819387473392 -:10024000B307F70013850700EF00804C9307050004 +:100230009307404C3307F702B7070081938747368F +:10024000B307F70013850700EF00804B9307050005 :10025000638A070213070D00B707008113172700F1 -:1002600093874729B307F7001307100023A0E7007F +:100260009387472CB307F7001307100023A0E7007C :1002700093070D0063960700EFF0DFE96F0080053C :100280007300000013070D009307404C3307F7027B -:10029000B707008193874733B307F700130784FD3F -:1002A0009305070013850700EF00003E832704FE37 +:10029000B707008193874736B307F700130784FD3C +:1002A0009305070013850700EF00003D832704FE38 :1002B000138107008327C4FD832584FD032644FEA4 :1002C000832684FE0327C4FE13850700EFF0DFD5E5 :1002D000730000008320C10203248102032D410228 @@ -49,309 +49,390 @@ :1002F0002324810413040105EFF0DFEA2324A4FE84 :1003000093090100930710002326F4FE6F004008B4 :100310000327C4FE9307404C3307F702B707008159 -:1003200093874733B307F70013850700EF00403E7C +:1003200093874736B307F70013850700EF00403D7A :1003300093070500639807040327C4FE9307404C06 -:100340003307F702B707008193874733B307F700F6 -:10035000130704FD9305070013850700EF00C03263 +:100340003307F702B707008193874736B307F700F3 +:10035000130704FD9305070013850700EF00C03164 :10036000832784FD13810700832744FD832504FD33 :100370000326C4FD832604FE032744FE13850700DD :10038000EFF05FCF8327C4FE938717002326F4FE88 :100390008327C4FE032784FEE3ECE7F613810900FC :1003A000EFF05FCE9307020063880704B707008170 -:1003B00013854733EF00C03593070500639E07029E -:1003C000930784FB93850700B707008113854733A4 -:1003D000EF00802B832704FC138107008327C4FBD5 +:1003B00013854736EF00C03493070500639E07029C +:1003C000930784FB93850700B707008113854736A1 +:1003D000EF00802A832704FC138107008327C4FBD6 :1003E000832584FB032644FC832684FC0327C4FC6A :1003F00013850700EFF05FC3130000008320C104E2 :10040000032481041301010567800000130101FB2F :10041000232611042324810413040105232EA4FAA6 :10042000232CB4FA232AC4FA2328D4FAEFF09FD855 -:10043000EFF05FD72322A4FE832544FEB707008197 -:1004400013850704EF00C03F13090100232604FEB3 -:10045000232404FE6F00C008B709FFFF33013101F8 -:10046000832784FE2326F4FC832784FB2328F4FCC3 -:1004700093070100232AF4FC832744FB232CF4FC7C -:10048000832704FB232EF4FC8327C4FE2320F4FEE1 -:100490000327C4FE9307404C3307F702B7070081D8 -:1004A00093874733B307F7001307C4FC930507008E -:1004B00013850700EF00C0168327C4FE938717003B -:1004C0002326F4FE8327C4FE032744FE63E4E700EB -:1004D000232604FE832784FE938717002324F4FE3B -:1004E000032784FE8327C4FBE368F7F613010900A2 -:1004F000EFF09FDF130000008320C1040324810478 -:100500001301010567800000130101FD232611027C -:100510002324810213040103232EA4FCEFF09FC8BF -:100520002320A4FE232604FE6F004005232604FE9C -:10053000232404FE6F00C003B7070081032784FE55 -:100540001317270093874729B307F70003A707006E -:10055000930710006318F7008327C4FE93871700E2 -:100560002326F4FE832784FE938717002324F4FEBA -:10057000832784FE032704FEE3E0E7FC0327C4FE91 -:100580008327C4FDE314F7FA232204FE6F008002E0 -:10059000B7070081032744FE1317270093874729D5 -:1005A000B307F70023A00700832744FE93871700B3 -:1005B0002322F4FE832744FE032704FEE3EAE7FC3C -:1005C000130000008320C1020324810213010103F0 -:1005D00067800000130101FF23268100232471019D -:1005E0001304010193870B00138507000324C10046 -:1005F000832B810013010101678000009302050035 -:10060000130300009303700023A0620023A2620082 -:1006100023A4620023A6720023A862006780000062 -:100620009302050003A382001303130023A46200B6 -:100630001383420183AE420093935E003303730041 -:1006400003AE05002320C30103AE45002322C301EE -:1006500003AE85002324C30103AEC5002326C301D6 -:1006600003AE05012328C30103AE4501232AC301BC -:10067000938E1E00130F20036394EE01930E00006F -:1006800023A2D201678000009302050003A3820029 -:100690001303F3FF23A462001383420183AE02001D -:1006A000930F2003138F0E00130F1F006314FF011D -:1006B000130F000023A0E20193935E003303730045 -:1006C000032E030023A0C501032E430023A2C5016E -:1006D000032E830023A4C501032EC30023A6C50156 -:1006E000032E030123A8C501032E430123AAC5013C -:1006F000678000009302050003A382001305000039 -:10070000130E200363146E001305150067800000AC -:100710009302050003A3820013050000130E0000DE -:1007200063146E0013051500678000009302050036 -:1007300003A3C20083A3020133B5630067800000F6 -:10074000130141FF232011002322B100834505003E -:1007500063880500EF00C001130515006FF01FFF4F -:1007600083200100832541001301C1006780000040 -:10077000B708010023A0B80067800000130101FD45 -:10078000232611022324810213040103232EA4FC37 -:100790000327C4FD9307F00063E4E702B707008175 -:1007A0000327C4FD131727009387471DB307F700DE -:1007B00083A7070013850700EFF09FF86F0040073D -:1007C000930700022326F4FEA30504FE8327C4FE3C -:1007D0009387C7FF0327C4FDB357F70093F7F700CC -:1007E0002322F4FE832744FE63860700930710004C -:1007F000A305F4FE8347B4FE63820702B7070081B6 -:10080000032744FE131727009387471DB307F700FC -:1008100083A7070013850700EFF09FF28327C4FE2C -:100820009387C7FF2326F4FE8327C4FEE340F0FA34 -:100830008320C102032481021301010367800000A9 -:10084000130101FE232E1100232C81001304010249 -:100850002326A4FE2324B4FE0325C4FEEFF05FEE9E -:10086000032584FEEFF09FF1B70700811385870908 -:10087000EFF01FED130000008320C101032481016C -:100880001301010267800000130101FD23261102FC -:100890002324810213040103232EA4FC232CB4FC83 -:1008A000232AC4FC2328D4FCB73700810327C4FDC6 -:1008B00023AAE796B737008193874797032784FDDC -:1008C00023A2E700B737008193874797032744FDAA -:1008D00023A4E700B737008193874797032704FDD8 -:1008E00023A6E700EFF09F8C2324A4FE032704FD3A -:1008F000832784FEB357F7022326F4FE032704FD63 -:10090000832784FEB377F702638807008327C4FE3A -:10091000938717002326F4FE8325C4FEB7070081C2 -:100920001385C70DEFF0DFF1B73700819387479745 -:100930000327C4FE23A8E700032704FD832784FEC2 -:100940006362F702B737008193864797B717008035 -:100950001386C79B832584FE032504FDEFF01FABA0 -:100960006F000002B737008193864797B717008062 -:100970001386C79B832504FD032504FDEFF01FA903 -:10098000EFF05F822322A4FE032704FD832744FEA9 -:1009900063F8E700032544FEEFF01FB76F00C000C7 -:1009A000032504FDEFF05FB6130000008320C102B1 -:1009B000032481021301010367800000130101FA7F -:1009C000232E1104232C8104130401062326A4FAE8 -:1009D0002324B4FAEFF01FC0232CA4FC832784FD4A -:1009E00083A70700232AF4FC832784FD83A74700FD -:1009F0002328F4FC832784FD83A787002326F4FCA7 -:100A0000832784FD83A707012326F4FE0327C4FE62 -:100A10008327C4FAB307F7022324F4FE8327C4FE16 -:100A2000639A0700930710002326F4FE8327C4FA75 -:100A30002324F4FE832784FD83A7C7002324F4FC2A -:100A4000232204FE6F004012232004FE232E04FC08 -:100A50006F008007032784FA832784FCB307F7021B -:100A60000327C4FDB307F7002322F4FC032784FC0B -:100A70008327C4FDB307F702032784FEB307F700FB -:100A80002320F4FC832744FC93972700032744FD8D -:100A9000B307F70003A70700832704FC93972700F9 -:100AA000832604FDB387F60083A70700B307F70288 -:100AB000032704FEB307F7002320F4FE8327C4FDB9 -:100AC00093871700232EF4FC0327C4FD832784FC9F -:100AD000E362F7F8032784FA832784FC3307F702DD -:100AE000832784FEB307F700232EF4FA032784FE3E -:100AF000832784FCB337F70093F7F70F232CF4FA1E -:100B0000832784FB93B71700A30BF4FA834774FB86 -:100B1000138F0700B7170080938F47B56B200F0026 -:100B20007B70FF018327C4FB939727000327C4FC36 -:100B3000B307F700032704FE23A0E700832784FE02 -:100B4000938717002324F4FEB7170080138E87B510 -:100B500067000E00130000006B300000832744FE86 -:100B6000938717002322F4FE832744FE0327C4FE45 -:100B7000E3ECE7EC130000008320C10503248105AA -:100B80001301010667800000130101FC232E1102EE -:100B9000232C810213040104232EA4FC232CB4FC77 -:100BA000232AC4FC2328D4FC2326E4FCB737008185 -:100BB0000327C4FD23A4E798B7370081938787985C -:100BC000032784FD23A2E700B73700819387879826 -:100BD000032744FD23A4E700B73700819387879854 -:100BE0000327C4FC23A6E700B737008193878798C3 -:100BF000032704FD23A8E700EFF04FDB2324A4FE26 -:100C00000327C4FC832784FEB357F7022326F4FE90 -:100C10000327C4FC832784FEB377F70263880700A9 -:100C20008327C4FE938717002326F4FEB73700817D -:100C3000938787980327C4FE23AAE7000327C4FCF1 -:100C4000832784FE6362F702B73700819386879813 -:100C5000B7170080138607CC832584FE032504FD87 -:100C6000EFF0CFFA6F000002B737008193868798C4 -:100C7000B7170080138607CC8325C4FC032504FD29 -:100C8000EFF0CFF8EFF00FD22322A4FE032704FDEC -:100C9000832744FE63F8E700032544FEEFF0DF8678 -:100CA0006F00C000032504FDEFF01F861300000055 -:100CB0008320C10303248103130101046780000022 -:100CC000130101FB232611042324810413040105CD -:100CD000232EA4FA232CB4FAEFF0DF8F2320A4FEF6 -:100CE000832704FE83A70700232EF4FC832704FE3A -:100CF00083A74700232CF4FC832704FE83A78700E7 -:100D0000232AF4FC832704FE83A747012326F4FE4D -:100D10000327C4FE8327C4FBB307F7022324F4FE92 -:100D20008327C4FE639A0700930710002326F4FE6E -:100D30008327C4FB2324F4FE832704FE83A7C70074 -:100D40002328F4FC232204FE6F00000C032784FBFD -:100D5000832704FD3307F702832784FEB307F700D8 -:100D60002326F4FC032784FE832704FDB337F70012 -:100D700093F7F70F2324F4FC832784FC93B7170021 -:100D8000A303F4FC834774FC138F0700B71700809C -:100D9000938F47DF6B200F007B70FF018327C4FC1C -:100DA000939727000327C4FDB307F70083A6070026 -:100DB0008327C4FC93972700032784FDB307F7001C -:100DC00003A707008327C4FC93972700032644FD4D -:100DD000B307F6003387E60023A0E700832784FEED -:100DE000938717002324F4FEB7170080138E87DF44 -:100DF00067000E00130000006B300000832744FEE4 -:100E0000938717002322F4FE832744FE0327C4FEA2 -:100E1000E3EEE7F2130000008320C1040324810401 -:100E20001301010567800000130101FC232E11024C -:100E3000232C810213040104232EA4FC232CB4FCD4 -:100E4000232AC4FC2328D4FC2326E4FCB7370081E2 -:100E50000327C4FD23A4E798B737008193878798B9 -:100E6000032784FD23A2E700B73700819387879883 -:100E7000032744FD23A4E700B737008193878798B1 -:100E80000327C4FC23A6E700B73700819387879820 -:100E9000032704FD23A8E700EFF04FB12324A4FEAD -:100EA0000327C4FC832784FEB357F7022326F4FEEE -:100EB0000327C4FC832784FEB377F7026388070007 -:100EC0008327C4FE938717002326F4FEB7370081DB -:100ED000938787980327C4FE23AAE7000327C4FC4F -:100EE000832784FE6362F702B73700819386879871 -:100EF000B7170080138607F6832584FE032504FDBB -:100F0000EFF0CFD06F000002B7370081938687984B -:100F1000B7170080138607F68325C4FC032504FD5C -:100F2000EFF0CFCEEFF00FA82322A4FE032704FD9D -:100F3000832744FE63F8E700032544FEEFF0CFDC8F -:100F40006F00C000032504FDEFF00FDC130000006C -:100F50008320C1030324810313010104678000007F -:100F6000130101FB2326110423248104130401052A -:100F7000232EA4FA232CB4FAEFF0CFE52320A4FE0D -:100F8000832704FE83A70700232EF4FC832704FE97 -:100F900083A74700232CF4FC832704FE83A7870044 -:100FA000232AF4FC832704FE83A747012326F4FEAB -:100FB0000327C4FE8327C4FBB307F7022324F4FEF0 -:100FC0008327C4FE639A0700930710002326F4FECC -:100FD0008327C4FB2324F4FE832704FE83A7C700D2 -:100FE0002328F4FC232204FE6F00000C032784FB5B -:100FF000832704FD3307F702832784FEB307F70036 -:101000002326F4FC032784FE832704FDB337F7006F -:1010100093F7F70F2324F4FC832784FC93B717007E -:10102000A303F4FC834774FC138F0700B7170080F9 -:10103000938F47096B200F007B70FF018327C4FC4F -:10104000939727000327C4FDB307F70083A6070083 -:101050008327C4FC93972700032784FDB307F70079 -:1010600003A707008327C4FC93972700032644FDAA -:10107000B307F6003387E64023A0E700832784FE0A -:10108000938717002324F4FEB7170080138E870977 -:1010900067000E00130000006B300000832744FE41 -:1010A000938717002322F4FE832744FE0327C4FE00 -:1010B000E3EEE7F2130000008320C104032481045F -:1010C0001301010567800000130101FE232E81003A -:1010D00013040102232604FE6F008004B737008149 -:1010E0000327C4FE131727009387079AB307F70057 -:1010F0001307300023A0E700B74700810327C4FE91 -:10110000131727009387079AB307F70013072000E8 -:1011100023A0E7008327C4FE938717002326F4FE4D -:101120000327C4FE9307F00FE3DAE7FA1300000089 -:101130000324C1011301010267800000130101FEB5 -:10114000232E1100232C810013040102EFF0DFF79E -:1011500093060001B75700811386079AB7470081AD -:101160009385079AB73700811385079AEFF0CFF17F -:10117000B707008113858712EFF08FDCB707008176 -:1011800013854714EFF0CFDB232604FE6F004005E4 -:101190008327C4FE93F7F70063980700B707008121 -:1011A00013850715EFF0CFD9B75700810327C4FE89 -:1011B000131727009387079AB307F70083A7070041 -:1011C00013850700EFF08FDBB70700811385471504 -:1011D000EFF00FD78327C4FE938717002326F4FE72 -:1011E0000327C4FE9307F00FE3D4E7FAB7070081A3 -:1011F00013858715EFF0CFD4130700019306000184 -:10120000B75700811386079AB74700819385079ADD -:10121000B73700811385079AEFF01F97B707008152 -:1012200013858712EFF0CFD1B70700811385C71759 -:10123000EFF00FD1232404FE6F004005832784FEC6 -:1012400093F7F70063980700B70700811385071528 -:10125000EFF00FCFB7570081032784FE1317270045 -:101260009387079AB307F70083A707001385070042 -:10127000EFF0CFD0B707008113854715EFF04FCCC3 -:10128000832784FE938717002324F4FE032784FE1C -:101290009307F00FE3D4E7FAB707008113858715AA -:1012A000EFF00FCA1307000193060001B757008142 -:1012B0001386079AB74700819385079AB73700814D -:1012C0001385079AEFF05FB6B70700811385871281 -:1012D000EFF00FC7B707008113858718EFF04FC6EF -:1012E000232204FE6F004005832744FE93F7F70096 -:1012F00063980700B707008113850715EFF04FC407 -:10130000B7570081032744FE131727009387079AD6 -:10131000B307F70083A7070013850700EFF00FC698 -:10132000B707008113854715EFF08FC1832744FE6F -:10133000938717002322F4FE032744FE9307F00F40 -:10134000E3D4E7FAB707008113858715EFF04FBFA5 -:1013500093070000138507008320C1010324810146 -:08136000130101026780000087 +:10043000EFF05FD72322A4FE13090100232604FE58 +:10044000232404FE6F00C008B709FFFF3301310108 +:10045000832784FE2326F4FC832784FB2328F4FCD3 +:1004600093070100232AF4FC832744FB232CF4FC8C +:10047000832704FB232EF4FC8327C4FE2320F4FEF1 +:100480000327C4FE9307404C3307F702B7070081E8 +:1004900093874736B307F7001307C4FC930507009B +:1004A00013850700EF00C0168327C4FE938717004B +:1004B0002326F4FE8327C4FE032744FE63E4E700FB +:1004C000232604FE832784FE938717002324F4FE4B +:1004D000032784FE8327C4FBE368F7F613010900B2 +:1004E000EFF09FE0130000008320C1040324810487 +:1004F0001301010567800000130101FD232611028D +:100500002324810213040103232EA4FCEFF09FC9CE +:100510002320A4FE232604FE6F004005232604FEAC +:10052000232404FE6F00C003B7070081032784FE65 +:10053000131727009387472CB307F70003A707007B +:10054000930710006318F7008327C4FE93871700F2 +:100550002326F4FE832784FE938717002324F4FECA +:10056000832784FE032704FEE3E0E7FC0327C4FEA1 +:100570008327C4FDE314F7FA232204FE6F008002F0 +:10058000B7070081032744FE131727009387472CE2 +:10059000B307F70023A00700832744FE93871700C3 +:1005A0002322F4FE832744FE032704FEE3EAE7FC4C +:1005B000130000008320C102032481021301010300 +:1005C00067800000130101FF2326810023247101AD +:1005D0001304010193870B00138507000324C10056 +:1005E000832B810013010101678000009302050045 +:1005F000130300009303700023A0620023A2620093 +:1006000023A4620023A6720023A862006780000072 +:100610009302050003A382001303130023A46200C6 +:100620001383420183AE420093935E003303730051 +:1006300003AE05002320C30103AE45002322C301FE +:1006400003AE85002324C30103AEC5002326C301E6 +:1006500003AE05012328C30103AE4501232AC301CC +:10066000938E1E00130F20036394EE01930E00007F +:1006700023A2D201678000009302050003A3820039 +:100680001303F3FF23A462001383420183AE02002D +:10069000930F2003138F0E00130F1F006314FF012D +:1006A000130F000023A0E20193935E003303730055 +:1006B000032E030023A0C501032E430023A2C5017E +:1006C000032E830023A4C501032EC30023A6C50166 +:1006D000032E030123A8C501032E430123AAC5014C +:1006E000678000009302050003A382001305000049 +:1006F000130E200363146E001305150067800000BD +:100700009302050003A3820013050000130E0000EE +:1007100063146E0013051500678000009302050046 +:1007200003A3C20083A3020133B563006780000006 +:10073000130141FF232011002322B100834505004E +:1007400063880500EF00C001130515006FF01FFF5F +:1007500083200100832541001301C1006780000050 +:10076000B708010023A0B80067800000130101FD55 +:10077000232611022324810213040103232EA4FC47 +:100780000327C4FD9307F00063E4E702B707008185 +:100790000327C4FD1317270093874720B307F700EB +:1007A00083A7070013850700EFF09FF86F0040074D +:1007B000930700022326F4FEA30504FE8327C4FE4C +:1007C0009387C7FF0327C4FDB357F70093F7F700DC +:1007D0002322F4FE832744FE63860700930710005C +:1007E000A305F4FE8347B4FE63820702B7070081C6 +:1007F000032744FE1317270093874720B307F7000A +:1008000083A7070013850700EFF09FF28327C4FE3C +:100810009387C7FF2326F4FE8327C4FEE340F0FA44 +:100820008320C102032481021301010367800000B9 +:10083000130101FE232E1100232C81001304010259 +:100840002326A4FE2324B4FE0325C4FEEFF05FEEAE +:10085000032584FEEFF09FF1B70700811385070899 +:10086000EFF01FED130000008320C101032481017C +:100870001301010267800000130101FD232611020C +:100880002324810213040103232EA4FC232CB4FC93 +:10089000232AC4FC2328D4FCB73700810327C4FDD6 +:1008A00023A2E79AB73700819387479A032784FDED +:1008B00023A2E700B73700819387479A032744FDB7 +:1008C00023A4E700B73700819387479A032704FDE5 +:1008D00023A6E700EFF09F8D2324A4FE032704FD49 +:1008E000832784FEB357F7022326F4FE032704FD73 +:1008F000832784FEB377F702638807008327C4FE4B +:10090000938717002326F4FE8325C4FEB7070081D2 +:100910001385470CEFF0DFF1B73700819387479AD3 +:100920000327C4FE23A8E700032704FD832784FED2 +:100930006362F702B73700819386479AB717008042 +:100940001386C79A832584FE032504FDEFF01FACB0 +:100950006F000002B73700819386479AB71700806F +:100960001386C79A832504FD032504FDEFF01FAA13 +:10097000EFF05F832322A4FE032704FD832744FEB8 +:1009800063F8E700032544FEEFF01FB76F00C000D7 +:10099000032504FDEFF05FB6130000008320C102C1 +:1009A000032481021301010367800000130101FA8F +:1009B000232E1104232C8104130401062326A4FAF8 +:1009C0002324B4FAEFF01FC0232CA4FC832784FD5A +:1009D00083A70700232AF4FC832784FD83A747000D +:1009E0002328F4FC832784FD83A787002326F4FCB7 +:1009F000832784FD83A707012326F4FE0327C4FE73 +:100A00008327C4FAB307F7022324F4FE8327C4FE26 +:100A1000639A0700930710002326F4FE8327C4FA85 +:100A20002324F4FE832784FD83A7C7002324F4FC3A +:100A3000232204FE6F004012232004FE232E04FC18 +:100A40006F008007032784FA832784FCB307F7022B +:100A50000327C4FDB307F7002322F4FC032784FC1B +:100A60008327C4FDB307F702032784FEB307F7000B +:100A70002320F4FC832744FC93972700032744FD9D +:100A8000B307F70003A70700832704FC9397270009 +:100A9000832604FDB387F60083A70700B307F70298 +:100AA000032704FEB307F7002320F4FE8327C4FDC9 +:100AB00093871700232EF4FC0327C4FD832784FCAF +:100AC000E362F7F8032784FA832784FC3307F702ED +:100AD000832784FEB307F700232EF4FA032784FE4E +:100AE000832784FCB337F70093F7F70F232CF4FA2E +:100AF000832784FB93B71700A30BF4FA834774FB97 +:100B0000138F0700B7170080938F47B46B200F0037 +:100B10007B70FF018327C4FB939727000327C4FC46 +:100B2000B307F700032704FE23A0E700832784FE12 +:100B3000938717002324F4FEB7170080138E87B421 +:100B400067000E00130000006B300000832744FE96 +:100B5000938717002322F4FE832744FE0327C4FE55 +:100B6000E3ECE7EC130000008320C10503248105BA +:100B70001301010667800000130101FC232E1102FE +:100B8000232C810213040104232EA4FC232CB4FC87 +:100B9000232AC4FC2328D4FC2326E4FCB737008195 +:100BA0000327C4FD23ACE79AB73700819387879B5F +:100BB000032784FD23A2E700B73700819387879B33 +:100BC000032744FD23A4E700B73700819387879B61 +:100BD0000327C4FC23A6E700B73700819387879BD0 +:100BE000032704FD23A8E700EFF04FDC2324A4FE35 +:100BF0000327C4FC832784FEB357F7022326F4FEA1 +:100C00000327C4FC832784FEB377F70263880700B9 +:100C10008327C4FE938717002326F4FEB73700818D +:100C20009387879B0327C4FE23AAE7000327C4FCFE +:100C3000832784FE6362F702B73700819386879B20 +:100C4000B7170080138607CB832584FE032504FD98 +:100C5000EFF0CFFB6F000002B73700819386879BD0 +:100C6000B7170080138607CB8325C4FC032504FD3A +:100C7000EFF0CFF9EFF00FD32322A4FE032704FDFA +:100C8000832744FE63F8E700032544FEEFF0DF8688 +:100C90006F00C000032504FDEFF01F861300000065 +:100CA0008320C10303248103130101046780000032 +:100CB000130101FB232611042324810413040105DD +:100CC000232EA4FA232CB4FAEFF0DF8F2320A4FE06 +:100CD000832704FE83A70700232EF4FC832704FE4A +:100CE00083A74700232CF4FC832704FE83A78700F7 +:100CF000232AF4FC832704FE83A747012326F4FE5E +:100D00000327C4FE8327C4FBB307F7022324F4FEA2 +:100D10008327C4FE639A0700930710002326F4FE7E +:100D20008327C4FB2324F4FE832704FE83A7C70084 +:100D30002328F4FC232204FE6F00000C032784FB0D +:100D4000832704FD3307F702832784FEB307F700E8 +:100D50002326F4FC032784FE832704FDB337F70022 +:100D600093F7F70F2324F4FC832784FC93B7170031 +:100D7000A303F4FC834774FC138F0700B7170080AC +:100D8000938F47DE6B200F007B70FF018327C4FC2D +:100D9000939727000327C4FDB307F70083A6070036 +:100DA0008327C4FC93972700032784FDB307F7002C +:100DB00003A707008327C4FC93972700032644FD5D +:100DC000B307F6003387E60023A0E700832784FEFD +:100DD000938717002324F4FEB7170080138E87DE55 +:100DE00067000E00130000006B300000832744FEF4 +:100DF000938717002322F4FE832744FE0327C4FEB3 +:100E0000E3EEE7F2130000008320C1040324810411 +:100E10001301010567800000130101FC232E11025C +:100E2000232C810213040104232EA4FC232CB4FCE4 +:100E3000232AC4FC2328D4FC2326E4FCB7370081F2 +:100E40000327C4FD23ACE79AB73700819387879BBC +:100E5000032784FD23A2E700B73700819387879B90 +:100E6000032744FD23A4E700B73700819387879BBE +:100E70000327C4FC23A6E700B73700819387879B2D +:100E8000032704FD23A8E700EFF04FB22324A4FEBC +:100E90000327C4FC832784FEB357F7022326F4FEFE +:100EA0000327C4FC832784FEB377F7026388070017 +:100EB0008327C4FE938717002326F4FEB7370081EB +:100EC0009387879B0327C4FE23AAE7000327C4FC5C +:100ED000832784FE6362F702B73700819386879B7E +:100EE000B7170080138607F5832584FE032504FDCC +:100EF000EFF0CFD16F000002B73700819386879B58 +:100F0000B7170080138607F58325C4FC032504FD6D +:100F1000EFF0CFCFEFF00FA92322A4FE032704FDAB +:100F2000832744FE63F8E700032544FEEFF0CFDC9F +:100F30006F00C000032504FDEFF00FDC130000007C +:100F40008320C1030324810313010104678000008F +:100F5000130101FB2326110423248104130401053A +:100F6000232EA4FA232CB4FAEFF0CFE52320A4FE1D +:100F7000832704FE83A70700232EF4FC832704FEA7 +:100F800083A74700232CF4FC832704FE83A7870054 +:100F9000232AF4FC832704FE83A747012326F4FEBB +:100FA0000327C4FE8327C4FBB307F7022324F4FE00 +:100FB0008327C4FE639A0700930710002326F4FEDC +:100FC0008327C4FB2324F4FE832704FE83A7C700E2 +:100FD0002328F4FC232204FE6F00000C032784FB6B +:100FE000832704FD3307F702832784FEB307F70046 +:100FF0002326F4FC032784FE832704FDB337F70080 +:1010000093F7F70F2324F4FC832784FC93B717008E +:10101000A303F4FC834774FC138F0700B717008009 +:10102000938F47086B200F007B70FF018327C4FC60 +:10103000939727000327C4FDB307F70083A6070093 +:101040008327C4FC93972700032784FDB307F70089 +:1010500003A707008327C4FC93972700032644FDBA +:10106000B307F6003387E64023A0E700832784FE1A +:10107000938717002324F4FEB7170080138E870888 +:1010800067000E00130000006B300000832744FE51 +:10109000938717002322F4FE832744FE0327C4FE10 +:1010A000E3EEE7F2130000008320C104032481046F +:1010B0001301010567800000130101FC232E1102BA +:1010C000232C810213040104232EA4FC232CB4FC42 +:1010D000232AC4FC2328D4FC2326E4FCB737008150 +:1010E0000327C4FD23A8E79CB73700819387079D9A +:1010F000032784FD23A2E700B73700819387079D6C +:10110000032744FD23A4E700B73700819387079D99 +:101110000327C4FC23A6E700B73700819387079D08 +:10112000032704FD23A8E700EFF04F882324A4FE43 +:101130000327C4FC832784FEB357F7022326F4FE5B +:101140000327C4FC832784FEB377F7026388070074 +:101150008327C4FE938717002326F4FEB737008148 +:101160009387079D0327C4FE23AAE7000327C4FC37 +:10117000832784FE6362F702B73700819386079D59 +:10118000B71700801386071F832584FE032504FDFF +:10119000EFF0CFA76F000002B73700819386079D5D +:1011A000B71700801386071F8325C4FC032504FDA1 +:1011B000EFF0CFA5EFE01FFF2322A4FE032704FDDD +:1011C000832744FE63F8E700032544FEEFF0CFB227 +:1011D0006F00C000032504FDEFF00FB21300000004 +:1011E0008320C103032481031301010467800000ED +:1011F000130101FB23261104232481041304010598 +:10120000232EA4FA232CB4FAEFF0CFBB2320A4FEA4 +:10121000832704FE83A70700232EF4FC832704FE04 +:1012200083A7470083A70700232CF4FC832704FE31 +:1012300083A78700232AF4FC832704FE83A74701A2 +:101240002326F4FE0327C4FE8327C4FBB307F7025B +:101250002324F4FE8327C4FE639A0700930710003B +:101260002326F4FE8327C4FB2324F4FE832704FEF5 +:1012700083A7C7002328F4FC232204FE6F00000B81 +:10128000032784FB832704FD3307F702832784FEAB +:10129000B307F7002326F4FC032784FE832704FD0D +:1012A000B337F70093F7F70F2324F4FC832784FC6C +:1012B00093B71700A303F4FC834774FC138F070054 +:1012C000B7170080938F87316B200F007B70FF0171 +:1012D0008327C4FC939727000327C4FDB307F700B7 +:1012E00083A607008327C4FC93972700032744FDA8 +:1012F000B307F700032784FD3387E60023A0E70048 +:10130000832784FE938717002324F4FEB7170080F9 +:10131000138EC73167000E00130000006B30000011 +:10132000832744FE938717002322F4FE832744FE7D +:101330000327C4FEE3E6E7F4130000008320C104A2 +:10134000032481041301010567800000130101FCDF +:10135000232E1102232C810213040104232EA4FC4A +:10136000232CB4FC232AC4FC2328D4FC2326E4FC2D +:10137000B73700810327C4FD23A8E79CB737008156 +:101380009387079D032784FD23A2E700B7370081D9 +:101390009387079D032744FD23A4E700B737008107 +:1013A0009387079D0327C4FC23A6E700B737008176 +:1013B0009387079D032704FD23A8E700EFE01FDFC5 +:1013C0002324A4FE0327C4FC832784FEB357F7021B +:1013D0002326F4FE0327C4FC832784FEB377F70299 +:1013E000638807008327C4FE938717002326F4FE33 +:1013F000B73700819387079D0327C4FE23AAE70020 +:101400000327C4FC832784FE6362F702B737008199 +:101410009386079DB717008013864748832584FE6F +:10142000032504FDEFE09FFE6F000002B737008147 +:101430009386079DB7170080138647488325C4FC11 +:10144000032504FDEFE09FFCEFE0DFD52322A4FE9F +:10145000032704FD832744FE63F8E700032544FEC9 +:10146000EFF08F896F00C000032504FDEFF0CF88F7 +:10147000130000008320C10303248103130101042E +:1014800067800000130101FB23261104232481043B +:1014900013040105232EA4FA232CB4FAEFF08F9243 +:1014A0002320A4FE832704FE83A70700232EF4FC39 +:1014B000832704FE83A7470083A70700232CF4FC9F +:1014C000832704FE83A78700232AF4FC832704FED6 +:1014D00083A747012326F4FE0327C4FE8327C4FB0A +:1014E000B307F7022324F4FE8327C4FE639A0700A0 +:1014F000930710002326F4FE8327C4FB2324F4FE65 +:10150000832704FE83A7C7002328F4FC232204FEBC +:101510006F00000B032784FB832704FD3307F702CA +:10152000832784FEB307F7002326F4FC032784FEF9 +:10153000832704FDB337F70093F7F70F2324F4FC58 +:10154000832784FC93B71700A303F4FC834774FC40 +:10155000138F0700B7170080938FC75A6B200F00B7 +:101560007B70FF018327C4FC939727000327C4FDEA +:10157000B307F70083A607008327C4FC93972700CF +:10158000032744FDB307F700032784FD3387E602F2 +:1015900023A0E700832784FE938717002324F4FE0B +:1015A000B7170080138E075B67000E001300000062 +:1015B0006B300000832744FE938717002322F4FE3C +:1015C000832744FE0327C4FEE3E6E7F4130000008C +:1015D0008320C104032481041301010567800000F6 +:1015E000130101FE232E810013040102232604FEB1 +:1015F0006F008004B73700810327C4FE131727004C +:101600009387879EB307F7001307300023A0E700F6 +:10161000B74700810327C4FE131727009387879ECF +:10162000B307F7001307200023A0E7008327C4FEB9 +:10163000938717002326F4FE0327C4FE9307F00FB9 +:10164000E3DAE7FA130000000324C10113010102E9 +:1016500067800000130101FD23261102232481026B +:1016600013040103232EA4FCB7070081138507117F +:10167000EFF00F8C232604FE6F0080058327C4FE45 +:10168000638E07008327C4FE93F7F7006398070073 +:10169000B707008113854713EFF08F898327C4FEB6 +:1016A000939727000327C4FDB307F70083A707001C +:1016B00013850700EFF08F8BB70700811385871321 +:1016C000EFF00F878327C4FE938717002326F4FECD +:1016D0000327C4FE9307F00FE3D2E7FAB7070081B0 +:1016E0001385C713EFF0CF84130000008320C102DD +:1016F000032481021301010367800000130101FE2E +:10170000232E1100232C810013040102EFF05FED62 +:1017100093060001B75700811386879EB747008163 +:101720009385879EB73700811385879EEFF0CF940E +:10173000B707008113850716EFE09FFFB7570081B9 +:101740001385879EEFF01FF1130700019306000138 +:10175000B75700811386879EB74700819385879E80 +:10176000B73700811385879EEFF00FC1B70700815F +:101770001385C717EFE0DFFBB75700811385879EFE +:10178000EFF05FED1307000193060001B7570081EA +:101790001386879EB74700819385879EB737008160 +:1017A0001385879EEFF04FE7B70700811385071970 +:1017B000EFE01FF8B75700811385879EEFF09FE990 +:1017C000930730002326F4FE9305C4FE130700019F +:1017D00093060001B75700811386879EB757008193 +:1017E0001385879EEFF05F8DB70700811385871AF9 +:1017F000EFE01FF4B75700811385879EEFF09FE558 +:101800009305C4FE1307000193060001B75700813A +:101810001386879EB75700811385879EEFF01FB30D +:10182000B70700811385871AEFE09FF0B757008153 +:101830001385879EEFF01FE29307000013850700D2 +:101840008320C1010324810113010102678000008C :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A :10002000380000003900000061000000620000009C :10003000630000006400000065000000660000002E -:100040004E756D20617661696C61626C65207761C7 -:100050007270733A20000000300000003100000090 -:1000600032000000330000003400000035000000C2 -:1000700036000000370000003800000039000000A2 -:1000800061000000620000006300000064000000E6 -:1000900065000000660000000A000000300000005B -:1000A0003100000032000000330000003400000086 -:1000B0003500000036000000370000003800000066 -:1000C00039000000610000006200000063000000D1 -:1000D0006400000065000000660000004F66667363 -:1000E00065743A200000000030000000310000007C -:1000F0003200000033000000340000003500000032 -:100100003600000037000000380000003900000011 -:100110006100000062000000630000006400000055 -:1001200065000000660000002D2D2D2D2D2D2D2D9C -:100130002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DEF -:100140002D0A000046494E414C204D41540A000002 -:100150000A000000200000000A2D2D2D2D2D2D2D30 -:100160002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DBF -:100170002D2D2D2D2D2D2D2D0A00000046494E41EF -:100180004C204144440A000046494E414C205375DE -:03019000620A0000 -:100194000000008104000081080000810C0000813F -:1001A4001000008114000081180000811C000081EF -:1001B4002000008124000081280000812C0000819F -:1001C4003000008134000081380000813C0000814F -:1001D400580000815C00008160000081640000819F -:1001E400680000816C00008170000081740000814F -:1001F400780000817C0000818000008184000081FF -:10020400880000818C0000819000008194000081AE -:100214009C000081A0000081A4000081A80000814E -:10022400AC000081B0000081B4000081B8000081FE -:10023400BC000081C0000081C4000081C8000081AE -:10024400CC000081D0000081D4000081D80000815E -:10025400E8000081EC000081F0000081F4000081DE -:10026400F8000081FC00008100010081040100818C -:10027400080100810C01008110010081140100813A -:10028400180100811C0100812001008124010081EA +:1000400030000000310000003200000033000000EA +:1000500034000000350000003600000037000000CA +:10006000380000003900000061000000620000005C +:1000700063000000640000006500000066000000EE +:100080000A000000300000003100000032000000D3 +:10009000330000003400000035000000360000008E +:1000A0003700000038000000390000006100000047 +:1000B00062000000630000006400000065000000B2 +:1000C000660000004F66667365743A200000000009 +:1000D000300000003100000032000000330000005A +:1000E000340000003500000036000000370000003A +:1000F00038000000390000006100000062000000CC +:10010000630000006400000065000000660000005D +:100110002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0F +:100120002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0A22 +:10013000000000000A000000200000000A2D2D2D04 +:100140002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DDF +:100150002D2D2D2D2D2D2D2D2D2D2D2D0A00000079 +:100160000A0A4D6174726978206D756C7469706CDF +:1001700069636174696F6E0A000000000A0A4D61CC +:1001800074726978204164646974696F6E0A000052 +:100190000A0A4D61747269782053756274726163E2 +:1001A00074696F6E0A0000000A0A4D617472697802 +:1001B00020456C656D656E74204164646974696F77 +:0301C0006E0A00C4 +:1001C4000000008104000081080000810C0000810F +:1001D4001000008114000081180000811C000081BF +:1001E4002000008124000081280000812C0000816F +:1001F4003000008134000081380000813C0000811F +:100204004000008144000081480000814C000081CE +:100214005000008154000081580000815C0000817E +:100224006000008164000081680000816C0000812E +:100234007000008174000081780000817C000081DE +:1002440084000081880000818C000081900000817E +:1002540094000081980000819C000081A00000812E +:10026400A4000081A8000081AC000081B0000081DE +:10027400B4000081B8000081BC000081C00000818E +:10028400D0000081D4000081D8000081DC0000810E +:10029400E0000081E4000081E8000081EC000081BE +:1002A400F0000081F4000081F8000081FC0000816E +:1002B4000001008104010081080100810C0100811A :040000058000000077 :00000001FF diff --git a/src/vortex_software/vx_include/vx_front.c b/src/vortex_software/vx_include/vx_front.c index b4f6289e..c64db4c7 100644 --- a/src/vortex_software/vx_include/vx_front.c +++ b/src/vortex_software/vx_include/vx_front.c @@ -268,5 +268,172 @@ void _vx_mat_sub(unsigned tid, unsigned wid) +static mat_e_arg_t mat_e_args; +// -------------------------------------------------------------- + +void _vx_e_mat_add(unsigned, unsigned); +void vx_e_mat_add(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_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;