diff --git a/src/vortex_software/vortex_test.dump b/src/vortex_software/vortex_test.dump index 583a060d..b8a17d1d 100644 --- a/src/vortex_software/vortex_test.dump +++ b/src/vortex_software/vortex_test.dump @@ -6,8 +6,8 @@ Disassembly of section .text: 80000000 <_start>: 80000000: 7ffff137 lui sp,0x7ffff -80000004: 068000ef jal ra,8000006c -80000008: 6fd000ef jal ra,80000f04
+80000004: 188000ef jal ra,8000018c +80000008: 0c4010ef jal ra,800010cc
8000000c: 00000073 ecall 80000010 : @@ -38,7 +38,7 @@ Disassembly of section .text: 80000048: 00038d93 mv s11,t2 8000004c: 01bfe0eb 0x1bfe0eb 80000050: 00000517 auipc a0,0x0 -80000054: 08050513 addi a0,a0,128 # 800000d0 +80000054: 1a050513 addi a0,a0,416 # 800001f0 80000058: 0005406b 0x5406b 8000005c : @@ -47,1138 +47,1214 @@ Disassembly of section .text: 80000064: 0003006b 0x3006b 80000068: 00008067 ret -8000006c : -8000006c: fe010113 addi sp,sp,-32 -80000070: 00112e23 sw ra,28(sp) -80000074: 00812c23 sw s0,24(sp) -80000078: 02010413 addi s0,sp,32 -8000007c: fe042623 sw zero,-20(s0) -80000080: 0300006f j 800000b0 -80000084: fec42703 lw a4,-20(s0) -80000088: 4c400793 li a5,1220 -8000008c: 02f70733 mul a4,a4,a5 -80000090: 810007b7 lui a5,0x81000 -80000094: 29078793 addi a5,a5,656 # 81000290 -80000098: 00f707b3 add a5,a4,a5 -8000009c: 00078513 mv a0,a5 -800000a0: 37c000ef jal ra,8000041c -800000a4: fec42783 lw a5,-20(s0) -800000a8: 00178793 addi a5,a5,1 -800000ac: fef42623 sw a5,-20(s0) -800000b0: fec42703 lw a4,-20(s0) -800000b4: 00700793 li a5,7 -800000b8: fce7d6e3 bge a5,a4,80000084 -800000bc: 00000013 nop -800000c0: 01c12083 lw ra,28(sp) -800000c4: 01812403 lw s0,24(sp) -800000c8: 02010113 addi sp,sp,32 -800000cc: 00008067 ret +8000006c : +8000006c: 01000217 auipc tp,0x1000 +80000070: 25820213 addi tp,tp,600 # 810002c4 +80000074: 00022023 sw zero,0(tp) # 0 +80000078: 00122223 sw ra,4(tp) # 4 +8000007c: 00222423 sw sp,8(tp) # 8 +80000080: 00322623 sw gp,12(tp) # c +80000084: 00422823 sw tp,16(tp) # 10 +80000088: 00522a23 sw t0,20(tp) # 14 +8000008c: 00622c23 sw t1,24(tp) # 18 +80000090: 00722e23 sw t2,28(tp) # 1c +80000094: 02822023 sw s0,32(tp) # 20 +80000098: 02922223 sw s1,36(tp) # 24 +8000009c: 02a22423 sw a0,40(tp) # 28 +800000a0: 02b22623 sw a1,44(tp) # 2c +800000a4: 02c22823 sw a2,48(tp) # 30 +800000a8: 02d22a23 sw a3,52(tp) # 34 +800000ac: 02e22c23 sw a4,56(tp) # 38 +800000b0: 02f22e23 sw a5,60(tp) # 3c +800000b4: 05022023 sw a6,64(tp) # 40 +800000b8: 05122223 sw a7,68(tp) # 44 +800000bc: 05222423 sw s2,72(tp) # 48 +800000c0: 05322623 sw s3,76(tp) # 4c +800000c4: 05422823 sw s4,80(tp) # 50 +800000c8: 05522a23 sw s5,84(tp) # 54 +800000cc: 05622c23 sw s6,88(tp) # 58 +800000d0: 05722e23 sw s7,92(tp) # 5c +800000d4: 07822023 sw s8,96(tp) # 60 +800000d8: 07922223 sw s9,100(tp) # 64 +800000dc: 07a22423 sw s10,104(tp) # 68 +800000e0: 07b22623 sw s11,108(tp) # 6c +800000e4: 07c22823 sw t3,112(tp) # 70 +800000e8: 07d22a23 sw t4,116(tp) # 74 +800000ec: 07e22c23 sw t5,120(tp) # 78 +800000f0: 07f22e23 sw t6,124(tp) # 7c +800000f4: 00100213 li tp,1 +800000f8: 00008067 ret -800000d0 : -800000d0: fd010113 addi sp,sp,-48 -800000d4: 02112623 sw ra,44(sp) -800000d8: 02812423 sw s0,40(sp) -800000dc: 03a12223 sw s10,36(sp) -800000e0: 03010413 addi s0,sp,48 -800000e4: 000d0713 mv a4,s10 -800000e8: 4c400793 li a5,1220 -800000ec: 02f70733 mul a4,a4,a5 -800000f0: 810007b7 lui a5,0x81000 -800000f4: 29078793 addi a5,a5,656 # 81000290 -800000f8: 00f707b3 add a5,a4,a5 -800000fc: 00078513 mv a0,a5 -80000100: 430000ef jal ra,80000530 -80000104: 00050793 mv a5,a0 -80000108: 02078263 beqz a5,8000012c -8000010c: 000d0713 mv a4,s10 -80000110: 810007b7 lui a5,0x81000 -80000114: 00271713 slli a4,a4,0x2 -80000118: 27078793 addi a5,a5,624 # 81000270 -8000011c: 00f707b3 add a5,a4,a5 -80000120: 00100713 li a4,1 -80000124: 00e7a023 sw a4,0(a5) -80000128: 00000073 ecall -8000012c: 000d0713 mv a4,s10 -80000130: 4c400793 li a5,1220 -80000134: 02f70733 mul a4,a4,a5 -80000138: 810007b7 lui a5,0x81000 -8000013c: 29078793 addi a5,a5,656 # 81000290 -80000140: 00f707b3 add a5,a4,a5 -80000144: fd840713 addi a4,s0,-40 -80000148: 00070593 mv a1,a4 -8000014c: 00078513 mv a0,a5 -80000150: 358000ef jal ra,800004a8 -80000154: fe042783 lw a5,-32(s0) -80000158: 00078113 mv sp,a5 -8000015c: fdc42783 lw a5,-36(s0) -80000160: fd842583 lw a1,-40(s0) -80000164: fe442603 lw a2,-28(s0) -80000168: fe842683 lw a3,-24(s0) -8000016c: fec42703 lw a4,-20(s0) -80000170: 00078513 mv a0,a5 -80000174: e9dff0ef jal ra,80000010 -80000178: 00000073 ecall -8000017c: 00000013 nop -80000180: 02c12083 lw ra,44(sp) -80000184: 02812403 lw s0,40(sp) -80000188: 02412d03 lw s10,36(sp) -8000018c: 03010113 addi sp,sp,48 -80000190: 00008067 ret +800000fc : +800000fc: 01000217 auipc tp,0x1000 +80000100: 1c820213 addi tp,tp,456 # 810002c4 +80000104: 00022003 lw zero,0(tp) # 0 +80000108: 00422083 lw ra,4(tp) # 4 +8000010c: 00822103 lw sp,8(tp) # 8 +80000110: 00c22183 lw gp,12(tp) # c +80000114: 01022203 lw tp,16(tp) # 10 +80000118: 01422283 lw t0,20(tp) # 14 +8000011c: 01822303 lw t1,24(tp) # 18 +80000120: 01c22383 lw t2,28(tp) # 1c +80000124: 02022403 lw s0,32(tp) # 20 +80000128: 02422483 lw s1,36(tp) # 24 +8000012c: 02822503 lw a0,40(tp) # 28 +80000130: 02c22583 lw a1,44(tp) # 2c +80000134: 03022603 lw a2,48(tp) # 30 +80000138: 03422683 lw a3,52(tp) # 34 +8000013c: 03822703 lw a4,56(tp) # 38 +80000140: 03c22783 lw a5,60(tp) # 3c +80000144: 04022803 lw a6,64(tp) # 40 +80000148: 04422883 lw a7,68(tp) # 44 +8000014c: 04822903 lw s2,72(tp) # 48 +80000150: 04c22983 lw s3,76(tp) # 4c +80000154: 05022a03 lw s4,80(tp) # 50 +80000158: 05422a83 lw s5,84(tp) # 54 +8000015c: 05822b03 lw s6,88(tp) # 58 +80000160: 05c22b83 lw s7,92(tp) # 5c +80000164: 06022c03 lw s8,96(tp) # 60 +80000168: 06422c83 lw s9,100(tp) # 64 +8000016c: 06822d03 lw s10,104(tp) # 68 +80000170: 06c22d83 lw s11,108(tp) # 6c +80000174: 07022e03 lw t3,112(tp) # 70 +80000178: 07422e83 lw t4,116(tp) # 74 +8000017c: 07822f03 lw t5,120(tp) # 78 +80000180: 07c22f83 lw t6,124(tp) # 7c +80000184: 00000213 li tp,0 +80000188: 00008067 ret -80000194 : -80000194: fd010113 addi sp,sp,-48 -80000198: 02112623 sw ra,44(sp) -8000019c: 02812423 sw s0,40(sp) -800001a0: 03010413 addi s0,sp,48 -800001a4: 00010993 mv s3,sp -800001a8: fe042623 sw zero,-20(s0) -800001ac: 0840006f j 80000230 -800001b0: fec42703 lw a4,-20(s0) -800001b4: 4c400793 li a5,1220 -800001b8: 02f70733 mul a4,a4,a5 -800001bc: 810007b7 lui a5,0x81000 -800001c0: 29078793 addi a5,a5,656 # 81000290 -800001c4: 00f707b3 add a5,a4,a5 -800001c8: 00078513 mv a0,a5 -800001cc: 364000ef jal ra,80000530 -800001d0: 00050793 mv a5,a0 -800001d4: 04079863 bnez a5,80000224 -800001d8: fec42703 lw a4,-20(s0) -800001dc: 4c400793 li a5,1220 -800001e0: 02f70733 mul a4,a4,a5 -800001e4: 810007b7 lui a5,0x81000 -800001e8: 29078793 addi a5,a5,656 # 81000290 -800001ec: 00f707b3 add a5,a4,a5 -800001f0: fd440713 addi a4,s0,-44 -800001f4: 00070593 mv a1,a4 -800001f8: 00078513 mv a0,a5 -800001fc: 2ac000ef jal ra,800004a8 -80000200: fdc42783 lw a5,-36(s0) -80000204: 00078113 mv sp,a5 -80000208: fd842783 lw a5,-40(s0) -8000020c: fd442583 lw a1,-44(s0) -80000210: fe042603 lw a2,-32(s0) -80000214: fe442683 lw a3,-28(s0) -80000218: fe842703 lw a4,-24(s0) +8000018c : +8000018c: fe010113 addi sp,sp,-32 +80000190: 00112e23 sw ra,28(sp) +80000194: 00812c23 sw s0,24(sp) +80000198: 02010413 addi s0,sp,32 +8000019c: fe042623 sw zero,-20(s0) +800001a0: 0300006f j 800001d0 +800001a4: fec42703 lw a4,-20(s0) +800001a8: 4c400793 li a5,1220 +800001ac: 02f70733 mul a4,a4,a5 +800001b0: 810007b7 lui a5,0x81000 +800001b4: 34478793 addi a5,a5,836 # 81000344 +800001b8: 00f707b3 add a5,a4,a5 +800001bc: 00078513 mv a0,a5 +800001c0: 424000ef jal ra,800005e4 +800001c4: fec42783 lw a5,-20(s0) +800001c8: 00178793 addi a5,a5,1 +800001cc: fef42623 sw a5,-20(s0) +800001d0: fec42703 lw a4,-20(s0) +800001d4: 00700793 li a5,7 +800001d8: fce7d6e3 bge a5,a4,800001a4 +800001dc: 00000013 nop +800001e0: 01c12083 lw ra,28(sp) +800001e4: 01812403 lw s0,24(sp) +800001e8: 02010113 addi sp,sp,32 +800001ec: 00008067 ret + +800001f0 : +800001f0: fd010113 addi sp,sp,-48 +800001f4: 02112623 sw ra,44(sp) +800001f8: 02812423 sw s0,40(sp) +800001fc: 03a12223 sw s10,36(sp) +80000200: 03010413 addi s0,sp,48 +80000204: 000d0713 mv a4,s10 +80000208: 4c400793 li a5,1220 +8000020c: 02f70733 mul a4,a4,a5 +80000210: 810007b7 lui a5,0x81000 +80000214: 34478793 addi a5,a5,836 # 81000344 +80000218: 00f707b3 add a5,a4,a5 8000021c: 00078513 mv a0,a5 -80000220: e3dff0ef jal ra,8000005c -80000224: fec42783 lw a5,-20(s0) -80000228: 00178793 addi a5,a5,1 -8000022c: fef42623 sw a5,-20(s0) -80000230: fec42703 lw a4,-20(s0) -80000234: 00600793 li a5,6 -80000238: f6e7dce3 bge a5,a4,800001b0 -8000023c: 00098113 mv sp,s3 -80000240: 00000013 nop -80000244: 02c12083 lw ra,44(sp) -80000248: 02812403 lw s0,40(sp) -8000024c: 03010113 addi sp,sp,48 -80000250: 00008067 ret +80000220: 4d8000ef jal ra,800006f8 +80000224: 00050793 mv a5,a0 +80000228: 04078463 beqz a5,80000270 +8000022c: 000d0793 mv a5,s10 +80000230: 00078593 mv a1,a5 +80000234: 810007b7 lui a5,0x81000 +80000238: 04078513 addi a0,a5,64 # 81000040 +8000023c: 5ec000ef jal ra,80000828 +80000240: 000d0713 mv a4,s10 +80000244: 810007b7 lui a5,0x81000 +80000248: 00271713 slli a4,a4,0x2 +8000024c: 2a478793 addi a5,a5,676 # 810002a4 +80000250: 00f707b3 add a5,a4,a5 +80000254: 00100713 li a4,1 +80000258: 00e7a023 sw a4,0(a5) +8000025c: 000d0793 mv a5,s10 +80000260: 00079663 bnez a5,8000026c +80000264: e99ff0ef jal ra,800000fc +80000268: 0580006f j 800002c0 +8000026c: 00000073 ecall +80000270: 000d0713 mv a4,s10 +80000274: 4c400793 li a5,1220 +80000278: 02f70733 mul a4,a4,a5 +8000027c: 810007b7 lui a5,0x81000 +80000280: 34478793 addi a5,a5,836 # 81000344 +80000284: 00f707b3 add a5,a4,a5 +80000288: fd840713 addi a4,s0,-40 +8000028c: 00070593 mv a1,a4 +80000290: 00078513 mv a0,a5 +80000294: 3dc000ef jal ra,80000670 +80000298: fe042783 lw a5,-32(s0) +8000029c: 00078113 mv sp,a5 +800002a0: fdc42783 lw a5,-36(s0) +800002a4: fd842583 lw a1,-40(s0) +800002a8: fe442603 lw a2,-28(s0) +800002ac: fe842683 lw a3,-24(s0) +800002b0: fec42703 lw a4,-20(s0) +800002b4: 00078513 mv a0,a5 +800002b8: d59ff0ef jal ra,80000010 +800002bc: 00000073 ecall +800002c0: 02c12083 lw ra,44(sp) +800002c4: 02812403 lw s0,40(sp) +800002c8: 02412d03 lw s10,36(sp) +800002cc: 03010113 addi sp,sp,48 +800002d0: 00008067 ret -80000254 : -80000254: fc010113 addi sp,sp,-64 -80000258: 02112e23 sw ra,60(sp) -8000025c: 02812c23 sw s0,56(sp) -80000260: 04010413 addi s0,sp,64 -80000264: fca42623 sw a0,-52(s0) -80000268: fcb42423 sw a1,-56(s0) -8000026c: fcc42223 sw a2,-60(s0) -80000270: fcd42023 sw a3,-64(s0) -80000274: df9ff0ef jal ra,8000006c -80000278: 00010913 mv s2,sp -8000027c: fe042623 sw zero,-20(s0) -80000280: fe042423 sw zero,-24(s0) -80000284: 08c0006f j 80000310 -80000288: ffff09b7 lui s3,0xffff0 -8000028c: 01310133 add sp,sp,s3 -80000290: fe842783 lw a5,-24(s0) -80000294: fcf42823 sw a5,-48(s0) -80000298: fc842783 lw a5,-56(s0) -8000029c: fcf42a23 sw a5,-44(s0) -800002a0: 00010793 mv a5,sp -800002a4: fcf42c23 sw a5,-40(s0) -800002a8: fc442783 lw a5,-60(s0) -800002ac: fcf42e23 sw a5,-36(s0) -800002b0: fc042783 lw a5,-64(s0) -800002b4: fef42023 sw a5,-32(s0) -800002b8: fec42783 lw a5,-20(s0) -800002bc: fef42223 sw a5,-28(s0) -800002c0: fec42703 lw a4,-20(s0) -800002c4: 4c400793 li a5,1220 -800002c8: 02f70733 mul a4,a4,a5 -800002cc: 810007b7 lui a5,0x81000 -800002d0: 29078793 addi a5,a5,656 # 81000290 -800002d4: 00f707b3 add a5,a4,a5 -800002d8: fd040713 addi a4,s0,-48 -800002dc: 00070593 mv a1,a4 -800002e0: 00078513 mv a0,a5 -800002e4: 15c000ef jal ra,80000440 -800002e8: fec42783 lw a5,-20(s0) -800002ec: 00178793 addi a5,a5,1 -800002f0: fef42623 sw a5,-20(s0) +800002d4 : +800002d4: fb010113 addi sp,sp,-80 +800002d8: 04112623 sw ra,76(sp) +800002dc: 04812423 sw s0,72(sp) +800002e0: 05010413 addi s0,sp,80 +800002e4: 00010993 mv s3,sp +800002e8: 00100793 li a5,1 +800002ec: fef42623 sw a5,-20(s0) +800002f0: 0840006f j 80000374 800002f4: fec42703 lw a4,-20(s0) -800002f8: 00600793 li a5,6 -800002fc: 00e7d463 bge a5,a4,80000304 -80000300: fe042623 sw zero,-20(s0) -80000304: fe842783 lw a5,-24(s0) -80000308: 00178793 addi a5,a5,1 -8000030c: fef42423 sw a5,-24(s0) -80000310: fe842703 lw a4,-24(s0) -80000314: fcc42783 lw a5,-52(s0) -80000318: f6f768e3 bltu a4,a5,80000288 -8000031c: 00090113 mv sp,s2 -80000320: e75ff0ef jal ra,80000194 -80000324: 00000013 nop -80000328: 03c12083 lw ra,60(sp) -8000032c: 03812403 lw s0,56(sp) -80000330: 04010113 addi sp,sp,64 -80000334: 00008067 ret - -80000338 : -80000338: fd010113 addi sp,sp,-48 -8000033c: 02812623 sw s0,44(sp) -80000340: 03010413 addi s0,sp,48 -80000344: fca42e23 sw a0,-36(s0) -80000348: fe042623 sw zero,-20(s0) -8000034c: 0540006f j 800003a0 -80000350: fe042623 sw zero,-20(s0) -80000354: fe042423 sw zero,-24(s0) -80000358: 03c0006f j 80000394 -8000035c: 810007b7 lui a5,0x81000 -80000360: fe842703 lw a4,-24(s0) -80000364: 00271713 slli a4,a4,0x2 -80000368: 27078793 addi a5,a5,624 # 81000270 -8000036c: 00f707b3 add a5,a4,a5 -80000370: 0007a703 lw a4,0(a5) -80000374: 00100793 li a5,1 -80000378: 00f71863 bne a4,a5,80000388 -8000037c: fec42783 lw a5,-20(s0) -80000380: 00178793 addi a5,a5,1 -80000384: fef42623 sw a5,-20(s0) -80000388: fe842783 lw a5,-24(s0) -8000038c: 00178793 addi a5,a5,1 -80000390: fef42423 sw a5,-24(s0) -80000394: fe842703 lw a4,-24(s0) -80000398: 00700793 li a5,7 -8000039c: fce7d0e3 bge a5,a4,8000035c -800003a0: fec42703 lw a4,-20(s0) -800003a4: fdc42783 lw a5,-36(s0) -800003a8: faf714e3 bne a4,a5,80000350 -800003ac: fe042223 sw zero,-28(s0) -800003b0: 0280006f j 800003d8 -800003b4: 810007b7 lui a5,0x81000 -800003b8: fe442703 lw a4,-28(s0) -800003bc: 00271713 slli a4,a4,0x2 -800003c0: 27078793 addi a5,a5,624 # 81000270 -800003c4: 00f707b3 add a5,a4,a5 -800003c8: 0007a023 sw zero,0(a5) -800003cc: fe442783 lw a5,-28(s0) -800003d0: 00178793 addi a5,a5,1 -800003d4: fef42223 sw a5,-28(s0) -800003d8: fe442783 lw a5,-28(s0) -800003dc: fdc42703 lw a4,-36(s0) -800003e0: fce7eae3 bltu a5,a4,800003b4 -800003e4: 00000013 nop -800003e8: 02c12403 lw s0,44(sp) -800003ec: 03010113 addi sp,sp,48 -800003f0: 00008067 ret - -800003f4 : -800003f4: ff010113 addi sp,sp,-16 -800003f8: 00812623 sw s0,12(sp) -800003fc: 01712423 sw s7,8(sp) -80000400: 01010413 addi s0,sp,16 -80000404: 000b8793 mv a5,s7 -80000408: 00078513 mv a0,a5 -8000040c: 00c12403 lw s0,12(sp) -80000410: 00812b83 lw s7,8(sp) -80000414: 01010113 addi sp,sp,16 +800002f8: 4c400793 li a5,1220 +800002fc: 02f70733 mul a4,a4,a5 +80000300: 810007b7 lui a5,0x81000 +80000304: 34478793 addi a5,a5,836 # 81000344 +80000308: 00f707b3 add a5,a4,a5 +8000030c: 00078513 mv a0,a5 +80000310: 3e8000ef jal ra,800006f8 +80000314: 00050793 mv a5,a0 +80000318: 04079863 bnez a5,80000368 +8000031c: fec42703 lw a4,-20(s0) +80000320: 4c400793 li a5,1220 +80000324: 02f70733 mul a4,a4,a5 +80000328: 810007b7 lui a5,0x81000 +8000032c: 34478793 addi a5,a5,836 # 81000344 +80000330: 00f707b3 add a5,a4,a5 +80000334: fd440713 addi a4,s0,-44 +80000338: 00070593 mv a1,a4 +8000033c: 00078513 mv a0,a5 +80000340: 330000ef jal ra,80000670 +80000344: fdc42783 lw a5,-36(s0) +80000348: 00078113 mv sp,a5 +8000034c: fd842783 lw a5,-40(s0) +80000350: fd442583 lw a1,-44(s0) +80000354: fe042603 lw a2,-32(s0) +80000358: fe442683 lw a3,-28(s0) +8000035c: fe842703 lw a4,-24(s0) +80000360: 00078513 mv a0,a5 +80000364: cf9ff0ef jal ra,8000005c +80000368: fec42783 lw a5,-20(s0) +8000036c: 00178793 addi a5,a5,1 +80000370: fef42623 sw a5,-20(s0) +80000374: fec42703 lw a4,-20(s0) +80000378: 00700793 li a5,7 +8000037c: f6e7dce3 bge a5,a4,800002f4 +80000380: 00098113 mv sp,s3 +80000384: ce9ff0ef jal ra,8000006c +80000388: 810007b7 lui a5,0x81000 +8000038c: 04878513 addi a0,a5,72 # 81000048 +80000390: 398000ef jal ra,80000728 +80000394: 00020793 mv a5,tp +80000398: 06078863 beqz a5,80000408 +8000039c: 810007b7 lui a5,0x81000 +800003a0: 34478513 addi a0,a5,836 # 81000344 +800003a4: 354000ef jal ra,800006f8 +800003a8: 00050793 mv a5,a0 +800003ac: 04079e63 bnez a5,80000408 +800003b0: 810007b7 lui a5,0x81000 +800003b4: 05878513 addi a0,a5,88 # 81000058 +800003b8: 370000ef jal ra,80000728 +800003bc: fbc40793 addi a5,s0,-68 +800003c0: 00078593 mv a1,a5 +800003c4: 810007b7 lui a5,0x81000 +800003c8: 34478513 addi a0,a5,836 # 81000344 +800003cc: 2a4000ef jal ra,80000670 +800003d0: fc042783 lw a5,-64(s0) +800003d4: 00078593 mv a1,a5 +800003d8: 810007b7 lui a5,0x81000 +800003dc: 07078513 addi a0,a5,112 # 81000070 +800003e0: 448000ef jal ra,80000828 +800003e4: fc442783 lw a5,-60(s0) +800003e8: 00078113 mv sp,a5 +800003ec: fc042783 lw a5,-64(s0) +800003f0: fbc42583 lw a1,-68(s0) +800003f4: fc842603 lw a2,-56(s0) +800003f8: fcc42683 lw a3,-52(s0) +800003fc: fd042703 lw a4,-48(s0) +80000400: 00078513 mv a0,a5 +80000404: c0dff0ef jal ra,80000010 +80000408: 00000013 nop +8000040c: 04c12083 lw ra,76(sp) +80000410: 04812403 lw s0,72(sp) +80000414: 05010113 addi sp,sp,80 80000418: 00008067 ret -8000041c : -8000041c: 00050293 mv t0,a0 -80000420: 00000313 li t1,0 -80000424: 00700393 li t2,7 -80000428: 0062a023 sw t1,0(t0) -8000042c: 0062a223 sw t1,4(t0) -80000430: 0062a423 sw t1,8(t0) -80000434: 0072a623 sw t2,12(t0) -80000438: 0062a823 sw t1,16(t0) -8000043c: 00008067 ret +8000041c : +8000041c: fc010113 addi sp,sp,-64 +80000420: 02112e23 sw ra,60(sp) +80000424: 02812c23 sw s0,56(sp) +80000428: 04010413 addi s0,sp,64 +8000042c: fca42623 sw a0,-52(s0) +80000430: fcb42423 sw a1,-56(s0) +80000434: fcc42223 sw a2,-60(s0) +80000438: fcd42023 sw a3,-64(s0) +8000043c: d51ff0ef jal ra,8000018c +80000440: 00010913 mv s2,sp +80000444: fe042623 sw zero,-20(s0) +80000448: fe042423 sw zero,-24(s0) +8000044c: 08c0006f j 800004d8 +80000450: ffff09b7 lui s3,0xffff0 +80000454: 01310133 add sp,sp,s3 +80000458: fe842783 lw a5,-24(s0) +8000045c: fcf42823 sw a5,-48(s0) +80000460: fc842783 lw a5,-56(s0) +80000464: fcf42a23 sw a5,-44(s0) +80000468: 00010793 mv a5,sp +8000046c: fcf42c23 sw a5,-40(s0) +80000470: fc442783 lw a5,-60(s0) +80000474: fcf42e23 sw a5,-36(s0) +80000478: fc042783 lw a5,-64(s0) +8000047c: fef42023 sw a5,-32(s0) +80000480: fec42783 lw a5,-20(s0) +80000484: fef42223 sw a5,-28(s0) +80000488: fec42703 lw a4,-20(s0) +8000048c: 4c400793 li a5,1220 +80000490: 02f70733 mul a4,a4,a5 +80000494: 810007b7 lui a5,0x81000 +80000498: 34478793 addi a5,a5,836 # 81000344 +8000049c: 00f707b3 add a5,a4,a5 +800004a0: fd040713 addi a4,s0,-48 +800004a4: 00070593 mv a1,a4 +800004a8: 00078513 mv a0,a5 +800004ac: 15c000ef jal ra,80000608 +800004b0: fec42783 lw a5,-20(s0) +800004b4: 00178793 addi a5,a5,1 +800004b8: fef42623 sw a5,-20(s0) +800004bc: fec42703 lw a4,-20(s0) +800004c0: 00700793 li a5,7 +800004c4: 00e7d463 bge a5,a4,800004cc +800004c8: fe042623 sw zero,-20(s0) +800004cc: fe842783 lw a5,-24(s0) +800004d0: 00178793 addi a5,a5,1 +800004d4: fef42423 sw a5,-24(s0) +800004d8: fe842703 lw a4,-24(s0) +800004dc: fcc42783 lw a5,-52(s0) +800004e0: f6f768e3 bltu a4,a5,80000450 +800004e4: 00090113 mv sp,s2 +800004e8: dedff0ef jal ra,800002d4 +800004ec: 00000013 nop +800004f0: 03c12083 lw ra,60(sp) +800004f4: 03812403 lw s0,56(sp) +800004f8: 04010113 addi sp,sp,64 +800004fc: 00008067 ret -80000440 : -80000440: 00050293 mv t0,a0 -80000444: 0082a303 lw t1,8(t0) -80000448: 00130313 addi t1,t1,1 -8000044c: 0062a423 sw t1,8(t0) -80000450: 01428313 addi t1,t0,20 -80000454: 0042ae83 lw t4,4(t0) -80000458: 005e9393 slli t2,t4,0x5 -8000045c: 00730333 add t1,t1,t2 -80000460: 0005ae03 lw t3,0(a1) -80000464: 01c32023 sw t3,0(t1) -80000468: 0045ae03 lw t3,4(a1) -8000046c: 01c32223 sw t3,4(t1) -80000470: 0085ae03 lw t3,8(a1) -80000474: 01c32423 sw t3,8(t1) -80000478: 00c5ae03 lw t3,12(a1) -8000047c: 01c32623 sw t3,12(t1) -80000480: 0105ae03 lw t3,16(a1) -80000484: 01c32823 sw t3,16(t1) -80000488: 0145ae03 lw t3,20(a1) -8000048c: 01c32a23 sw t3,20(t1) -80000490: 001e8e93 addi t4,t4,1 -80000494: 03200f13 li t5,50 -80000498: 01ee9463 bne t4,t5,800004a0 -8000049c: 00000e93 li t4,0 +80000500 : +80000500: fd010113 addi sp,sp,-48 +80000504: 02812623 sw s0,44(sp) +80000508: 03010413 addi s0,sp,48 +8000050c: fca42e23 sw a0,-36(s0) +80000510: fe042623 sw zero,-20(s0) +80000514: 0540006f j 80000568 +80000518: fe042623 sw zero,-20(s0) +8000051c: fe042423 sw zero,-24(s0) +80000520: 03c0006f j 8000055c +80000524: 810007b7 lui a5,0x81000 +80000528: fe842703 lw a4,-24(s0) +8000052c: 00271713 slli a4,a4,0x2 +80000530: 2a478793 addi a5,a5,676 # 810002a4 +80000534: 00f707b3 add a5,a4,a5 +80000538: 0007a703 lw a4,0(a5) +8000053c: 00100793 li a5,1 +80000540: 00f71863 bne a4,a5,80000550 +80000544: fec42783 lw a5,-20(s0) +80000548: 00178793 addi a5,a5,1 +8000054c: fef42623 sw a5,-20(s0) +80000550: fe842783 lw a5,-24(s0) +80000554: 00178793 addi a5,a5,1 +80000558: fef42423 sw a5,-24(s0) +8000055c: fe842703 lw a4,-24(s0) +80000560: 00700793 li a5,7 +80000564: fce7d0e3 bge a5,a4,80000524 +80000568: fec42703 lw a4,-20(s0) +8000056c: fdc42783 lw a5,-36(s0) +80000570: faf714e3 bne a4,a5,80000518 +80000574: fe042223 sw zero,-28(s0) +80000578: 0280006f j 800005a0 +8000057c: 810007b7 lui a5,0x81000 +80000580: fe442703 lw a4,-28(s0) +80000584: 00271713 slli a4,a4,0x2 +80000588: 2a478793 addi a5,a5,676 # 810002a4 +8000058c: 00f707b3 add a5,a4,a5 +80000590: 0007a023 sw zero,0(a5) +80000594: fe442783 lw a5,-28(s0) +80000598: 00178793 addi a5,a5,1 +8000059c: fef42223 sw a5,-28(s0) +800005a0: fe442783 lw a5,-28(s0) +800005a4: fdc42703 lw a4,-36(s0) +800005a8: fce7eae3 bltu a5,a4,8000057c +800005ac: 00000013 nop +800005b0: 02c12403 lw s0,44(sp) +800005b4: 03010113 addi sp,sp,48 +800005b8: 00008067 ret -800004a0 : -800004a0: 01d2a223 sw t4,4(t0) -800004a4: 00008067 ret +800005bc : +800005bc: ff010113 addi sp,sp,-16 +800005c0: 00812623 sw s0,12(sp) +800005c4: 01712423 sw s7,8(sp) +800005c8: 01010413 addi s0,sp,16 +800005cc: 000b8793 mv a5,s7 +800005d0: 00078513 mv a0,a5 +800005d4: 00c12403 lw s0,12(sp) +800005d8: 00812b83 lw s7,8(sp) +800005dc: 01010113 addi sp,sp,16 +800005e0: 00008067 ret -800004a8 : -800004a8: 00050293 mv t0,a0 -800004ac: 0082a303 lw t1,8(t0) -800004b0: fff30313 addi t1,t1,-1 -800004b4: 0062a423 sw t1,8(t0) -800004b8: 01428313 addi t1,t0,20 -800004bc: 0002ae83 lw t4,0(t0) -800004c0: 03200f93 li t6,50 -800004c4: 000e8f13 mv t5,t4 -800004c8: 001f0f13 addi t5,t5,1 -800004cc: 01ff1463 bne t5,t6,800004d4 -800004d0: 00000f13 li t5,0 +800005e4 : +800005e4: 00050293 mv t0,a0 +800005e8: 00000313 li t1,0 +800005ec: 00700393 li t2,7 +800005f0: 0062a023 sw t1,0(t0) +800005f4: 0062a223 sw t1,4(t0) +800005f8: 0062a423 sw t1,8(t0) +800005fc: 0072a623 sw t2,12(t0) +80000600: 0062a823 sw t1,16(t0) +80000604: 00008067 ret -800004d4 : -800004d4: 01e2a023 sw t5,0(t0) -800004d8: 005e9393 slli t2,t4,0x5 -800004dc: 00730333 add t1,t1,t2 -800004e0: 00032e03 lw t3,0(t1) -800004e4: 01c5a023 sw t3,0(a1) -800004e8: 00432e03 lw t3,4(t1) -800004ec: 01c5a223 sw t3,4(a1) -800004f0: 00832e03 lw t3,8(t1) -800004f4: 01c5a423 sw t3,8(a1) -800004f8: 00c32e03 lw t3,12(t1) -800004fc: 01c5a623 sw t3,12(a1) -80000500: 01032e03 lw t3,16(t1) -80000504: 01c5a823 sw t3,16(a1) -80000508: 01432e03 lw t3,20(t1) -8000050c: 01c5aa23 sw t3,20(a1) -80000510: 00008067 ret +80000608 : +80000608: 00050293 mv t0,a0 +8000060c: 0082a303 lw t1,8(t0) +80000610: 00130313 addi t1,t1,1 +80000614: 0062a423 sw t1,8(t0) +80000618: 01428313 addi t1,t0,20 +8000061c: 0042ae83 lw t4,4(t0) +80000620: 005e9393 slli t2,t4,0x5 +80000624: 00730333 add t1,t1,t2 +80000628: 0005ae03 lw t3,0(a1) +8000062c: 01c32023 sw t3,0(t1) +80000630: 0045ae03 lw t3,4(a1) +80000634: 01c32223 sw t3,4(t1) +80000638: 0085ae03 lw t3,8(a1) +8000063c: 01c32423 sw t3,8(t1) +80000640: 00c5ae03 lw t3,12(a1) +80000644: 01c32623 sw t3,12(t1) +80000648: 0105ae03 lw t3,16(a1) +8000064c: 01c32823 sw t3,16(t1) +80000650: 0145ae03 lw t3,20(a1) +80000654: 01c32a23 sw t3,20(t1) +80000658: 001e8e93 addi t4,t4,1 +8000065c: 03200f13 li t5,50 +80000660: 01ee9463 bne t4,t5,80000668 +80000664: 00000e93 li t4,0 -80000514 : -80000514: 00050293 mv t0,a0 -80000518: 0082a303 lw t1,8(t0) -8000051c: 00000513 li a0,0 -80000520: 03200e13 li t3,50 -80000524: 006e1463 bne t3,t1,8000052c -80000528: 00150513 addi a0,a0,1 +80000668 : +80000668: 01d2a223 sw t4,4(t0) +8000066c: 00008067 ret -8000052c : -8000052c: 00008067 ret +80000670 : +80000670: 00050293 mv t0,a0 +80000674: 0082a303 lw t1,8(t0) +80000678: fff30313 addi t1,t1,-1 +8000067c: 0062a423 sw t1,8(t0) +80000680: 01428313 addi t1,t0,20 +80000684: 0002ae83 lw t4,0(t0) +80000688: 03200f93 li t6,50 +8000068c: 000e8f13 mv t5,t4 +80000690: 001f0f13 addi t5,t5,1 +80000694: 01ff1463 bne t5,t6,8000069c +80000698: 00000f13 li t5,0 -80000530 : -80000530: 00050293 mv t0,a0 -80000534: 0082a303 lw t1,8(t0) -80000538: 00000513 li a0,0 -8000053c: 00000e13 li t3,0 -80000540: 006e1463 bne t3,t1,80000548 -80000544: 00150513 addi a0,a0,1 +8000069c : +8000069c: 01e2a023 sw t5,0(t0) +800006a0: 005e9393 slli t2,t4,0x5 +800006a4: 00730333 add t1,t1,t2 +800006a8: 00032e03 lw t3,0(t1) +800006ac: 01c5a023 sw t3,0(a1) +800006b0: 00432e03 lw t3,4(t1) +800006b4: 01c5a223 sw t3,4(a1) +800006b8: 00832e03 lw t3,8(t1) +800006bc: 01c5a423 sw t3,8(a1) +800006c0: 00c32e03 lw t3,12(t1) +800006c4: 01c5a623 sw t3,12(a1) +800006c8: 01032e03 lw t3,16(t1) +800006cc: 01c5a823 sw t3,16(a1) +800006d0: 01432e03 lw t3,20(t1) +800006d4: 01c5aa23 sw t3,20(a1) +800006d8: 00008067 ret -80000548 : -80000548: 00008067 ret +800006dc : +800006dc: 00050293 mv t0,a0 +800006e0: 0082a303 lw t1,8(t0) +800006e4: 00000513 li a0,0 +800006e8: 03200e13 li t3,50 +800006ec: 006e1463 bne t3,t1,800006f4 +800006f0: 00150513 addi a0,a0,1 -8000054c : -8000054c: 00050293 mv t0,a0 -80000550: 00c2a303 lw t1,12(t0) -80000554: 0102a383 lw t2,16(t0) -80000558: 0063b533 sltu a0,t2,t1 -8000055c: 00008067 ret +800006f4 : +800006f4: 00008067 ret -80000560 : -80000560: ff410113 addi sp,sp,-12 -80000564: 00112023 sw ra,0(sp) -80000568: 00b12223 sw a1,4(sp) +800006f8 : +800006f8: 00050293 mv t0,a0 +800006fc: 0082a303 lw t1,8(t0) +80000700: 00000513 li a0,0 +80000704: 00000e13 li t3,0 +80000708: 006e1463 bne t3,t1,80000710 +8000070c: 00150513 addi a0,a0,1 -8000056c : -8000056c: 00054583 lbu a1,0(a0) -80000570: 00058863 beqz a1,80000580 -80000574: 01c000ef jal ra,80000590 -80000578: 00150513 addi a0,a0,1 -8000057c: ff1ff06f j 8000056c +80000710 : +80000710: 00008067 ret -80000580 : -80000580: 00012083 lw ra,0(sp) -80000584: 00412583 lw a1,4(sp) -80000588: 00c10113 addi sp,sp,12 -8000058c: 00008067 ret +80000714 : +80000714: 00050293 mv t0,a0 +80000718: 00c2a303 lw t1,12(t0) +8000071c: 0102a383 lw t2,16(t0) +80000720: 0063b533 sltu a0,t2,t1 +80000724: 00008067 ret -80000590 : -80000590: 000108b7 lui a7,0x10 -80000594: 00b8a023 sw a1,0(a7) # 10000 -80000598: 00008067 ret +80000728 : +80000728: ff410113 addi sp,sp,-12 +8000072c: 00112023 sw ra,0(sp) +80000730: 00b12223 sw a1,4(sp) -8000059c : -8000059c: fd010113 addi sp,sp,-48 -800005a0: 02112623 sw ra,44(sp) -800005a4: 02812423 sw s0,40(sp) -800005a8: 03010413 addi s0,sp,48 -800005ac: fca42e23 sw a0,-36(s0) -800005b0: fdc42703 lw a4,-36(s0) -800005b4: 00f00793 li a5,15 -800005b8: 02e7e463 bltu a5,a4,800005e0 -800005bc: 810007b7 lui a5,0x81000 -800005c0: fdc42703 lw a4,-36(s0) -800005c4: 00271713 slli a4,a4,0x2 -800005c8: 1b078793 addi a5,a5,432 # 810001b0 -800005cc: 00f707b3 add a5,a4,a5 -800005d0: 0007a783 lw a5,0(a5) -800005d4: 00078513 mv a0,a5 -800005d8: f89ff0ef jal ra,80000560 -800005dc: 0740006f j 80000650 -800005e0: 02000793 li a5,32 -800005e4: fef42623 sw a5,-20(s0) -800005e8: fe0405a3 sb zero,-21(s0) -800005ec: fec42783 lw a5,-20(s0) -800005f0: ffc78793 addi a5,a5,-4 -800005f4: fdc42703 lw a4,-36(s0) -800005f8: 00f757b3 srl a5,a4,a5 -800005fc: 00f7f793 andi a5,a5,15 -80000600: fef42223 sw a5,-28(s0) -80000604: fe442783 lw a5,-28(s0) -80000608: 00078663 beqz a5,80000614 -8000060c: 00100793 li a5,1 -80000610: fef405a3 sb a5,-21(s0) -80000614: feb44783 lbu a5,-21(s0) -80000618: 02078263 beqz a5,8000063c -8000061c: 810007b7 lui a5,0x81000 -80000620: fe442703 lw a4,-28(s0) -80000624: 00271713 slli a4,a4,0x2 -80000628: 1b078793 addi a5,a5,432 # 810001b0 -8000062c: 00f707b3 add a5,a4,a5 -80000630: 0007a783 lw a5,0(a5) -80000634: 00078513 mv a0,a5 -80000638: f29ff0ef jal ra,80000560 -8000063c: fec42783 lw a5,-20(s0) -80000640: ffc78793 addi a5,a5,-4 -80000644: fef42623 sw a5,-20(s0) -80000648: fec42783 lw a5,-20(s0) -8000064c: faf040e3 bgtz a5,800005ec -80000650: 02c12083 lw ra,44(sp) -80000654: 02812403 lw s0,40(sp) -80000658: 03010113 addi sp,sp,48 -8000065c: 00008067 ret +80000734 : +80000734: 00054583 lbu a1,0(a0) +80000738: 00058863 beqz a1,80000748 +8000073c: 01c000ef jal ra,80000758 +80000740: 00150513 addi a0,a0,1 +80000744: ff1ff06f j 80000734 -80000660 : -80000660: fe010113 addi sp,sp,-32 -80000664: 00112e23 sw ra,28(sp) -80000668: 00812c23 sw s0,24(sp) -8000066c: 02010413 addi s0,sp,32 -80000670: fea42623 sw a0,-20(s0) -80000674: feb42423 sw a1,-24(s0) -80000678: fec42503 lw a0,-20(s0) -8000067c: ee5ff0ef jal ra,80000560 -80000680: fe842503 lw a0,-24(s0) -80000684: f19ff0ef jal ra,8000059c -80000688: 810007b7 lui a5,0x81000 -8000068c: 08078513 addi a0,a5,128 # 81000080 -80000690: ed1ff0ef jal ra,80000560 -80000694: 00000013 nop -80000698: 01c12083 lw ra,28(sp) -8000069c: 01812403 lw s0,24(sp) -800006a0: 02010113 addi sp,sp,32 -800006a4: 00008067 ret +80000748 : +80000748: 00012083 lw ra,0(sp) +8000074c: 00412583 lw a1,4(sp) +80000750: 00c10113 addi sp,sp,12 +80000754: 00008067 ret -800006a8 : -800006a8: fd010113 addi sp,sp,-48 -800006ac: 02112623 sw ra,44(sp) -800006b0: 02812423 sw s0,40(sp) -800006b4: 03010413 addi s0,sp,48 -800006b8: fca42e23 sw a0,-36(s0) -800006bc: fcb42c23 sw a1,-40(s0) -800006c0: fcc42a23 sw a2,-44(s0) -800006c4: fcd42823 sw a3,-48(s0) -800006c8: 810037b7 lui a5,0x81003 -800006cc: fdc42703 lw a4,-36(s0) -800006d0: 8ce7a823 sw a4,-1840(a5) # 810028d0 -800006d4: 810037b7 lui a5,0x81003 -800006d8: 8d078793 addi a5,a5,-1840 # 810028d0 -800006dc: fd842703 lw a4,-40(s0) -800006e0: 00e7a223 sw a4,4(a5) -800006e4: 810037b7 lui a5,0x81003 -800006e8: 8d078793 addi a5,a5,-1840 # 810028d0 -800006ec: fd442703 lw a4,-44(s0) -800006f0: 00e7a423 sw a4,8(a5) -800006f4: 810037b7 lui a5,0x81003 -800006f8: 8d078793 addi a5,a5,-1840 # 810028d0 -800006fc: fd042703 lw a4,-48(s0) -80000700: 00e7a623 sw a4,12(a5) -80000704: fd042783 lw a5,-48(s0) -80000708: 0037d793 srli a5,a5,0x3 -8000070c: fef42623 sw a5,-20(s0) -80000710: fd042783 lw a5,-48(s0) -80000714: 0077f793 andi a5,a5,7 -80000718: 00078863 beqz a5,80000728 -8000071c: fec42783 lw a5,-20(s0) -80000720: 00178793 addi a5,a5,1 -80000724: fef42623 sw a5,-20(s0) -80000728: 810037b7 lui a5,0x81003 -8000072c: 8d078793 addi a5,a5,-1840 # 810028d0 -80000730: fec42703 lw a4,-20(s0) -80000734: 00e7a823 sw a4,16(a5) -80000738: fd042703 lw a4,-48(s0) -8000073c: 00700793 li a5,7 -80000740: 02e7f263 bgeu a5,a4,80000764 -80000744: 810037b7 lui a5,0x81003 -80000748: 8d078693 addi a3,a5,-1840 # 810028d0 -8000074c: 800007b7 lui a5,0x80000 -80000750: 7b478613 addi a2,a5,1972 # 800007b4 -80000754: 00800593 li a1,8 -80000758: fd042503 lw a0,-48(s0) -8000075c: af9ff0ef jal ra,80000254 -80000760: 0200006f j 80000780 -80000764: 810037b7 lui a5,0x81003 -80000768: 8d078693 addi a3,a5,-1840 # 810028d0 -8000076c: 800007b7 lui a5,0x80000 -80000770: 7b478613 addi a2,a5,1972 # 800007b4 -80000774: fd042583 lw a1,-48(s0) -80000778: fd042503 lw a0,-48(s0) -8000077c: ad9ff0ef jal ra,80000254 -80000780: fd042703 lw a4,-48(s0) -80000784: 00700793 li a5,7 -80000788: 00e7f863 bgeu a5,a4,80000798 -8000078c: 00700513 li a0,7 -80000790: ba9ff0ef jal ra,80000338 -80000794: 00c0006f j 800007a0 -80000798: fd042503 lw a0,-48(s0) -8000079c: b9dff0ef jal ra,80000338 -800007a0: 00000013 nop -800007a4: 02c12083 lw ra,44(sp) -800007a8: 02812403 lw s0,40(sp) -800007ac: 03010113 addi sp,sp,48 -800007b0: 00008067 ret +80000758 : +80000758: 000108b7 lui a7,0x10 +8000075c: 00b8a023 sw a1,0(a7) # 10000 +80000760: 00008067 ret -800007b4 <_vx_mat_mult>: -800007b4: fa010113 addi sp,sp,-96 -800007b8: 04112e23 sw ra,92(sp) -800007bc: 04812c23 sw s0,88(sp) -800007c0: 06010413 addi s0,sp,96 -800007c4: faa42623 sw a0,-84(s0) -800007c8: fab42423 sw a1,-88(s0) -800007cc: c29ff0ef jal ra,800003f4 -800007d0: fca42c23 sw a0,-40(s0) -800007d4: fd842783 lw a5,-40(s0) -800007d8: 0007a783 lw a5,0(a5) -800007dc: fcf42a23 sw a5,-44(s0) -800007e0: fd842783 lw a5,-40(s0) -800007e4: 0047a783 lw a5,4(a5) -800007e8: fcf42823 sw a5,-48(s0) -800007ec: fd842783 lw a5,-40(s0) -800007f0: 0087a783 lw a5,8(a5) -800007f4: fcf42623 sw a5,-52(s0) -800007f8: fd842783 lw a5,-40(s0) -800007fc: 0107a783 lw a5,16(a5) -80000800: fef42623 sw a5,-20(s0) -80000804: fec42703 lw a4,-20(s0) -80000808: fac42783 lw a5,-84(s0) -8000080c: 02f707b3 mul a5,a4,a5 -80000810: fef42423 sw a5,-24(s0) -80000814: fec42783 lw a5,-20(s0) -80000818: 00079a63 bnez a5,8000082c <_vx_mat_mult+0x78> -8000081c: 00100793 li a5,1 -80000820: fef42623 sw a5,-20(s0) -80000824: fac42783 lw a5,-84(s0) -80000828: fef42423 sw a5,-24(s0) -8000082c: fd842783 lw a5,-40(s0) -80000830: 00c7a783 lw a5,12(a5) -80000834: fcf42423 sw a5,-56(s0) -80000838: fe042223 sw zero,-28(s0) -8000083c: 1240006f j 80000960 <_vx_mat_mult+0x1ac> -80000840: fe042023 sw zero,-32(s0) -80000844: fc042e23 sw zero,-36(s0) -80000848: 0780006f j 800008c0 <_vx_mat_mult+0x10c> -8000084c: fa842703 lw a4,-88(s0) -80000850: fc842783 lw a5,-56(s0) -80000854: 02f707b3 mul a5,a4,a5 -80000858: fdc42703 lw a4,-36(s0) -8000085c: 00f707b3 add a5,a4,a5 -80000860: fcf42223 sw a5,-60(s0) -80000864: fc842703 lw a4,-56(s0) -80000868: fdc42783 lw a5,-36(s0) -8000086c: 02f707b3 mul a5,a4,a5 -80000870: fe842703 lw a4,-24(s0) -80000874: 00f707b3 add a5,a4,a5 -80000878: fcf42023 sw a5,-64(s0) -8000087c: fc442783 lw a5,-60(s0) -80000880: 00279793 slli a5,a5,0x2 -80000884: fd442703 lw a4,-44(s0) -80000888: 00f707b3 add a5,a4,a5 -8000088c: 0007a703 lw a4,0(a5) -80000890: fc042783 lw a5,-64(s0) -80000894: 00279793 slli a5,a5,0x2 -80000898: fd042683 lw a3,-48(s0) -8000089c: 00f687b3 add a5,a3,a5 -800008a0: 0007a783 lw a5,0(a5) -800008a4: 02f707b3 mul a5,a4,a5 -800008a8: fe042703 lw a4,-32(s0) -800008ac: 00f707b3 add a5,a4,a5 -800008b0: fef42023 sw a5,-32(s0) -800008b4: fdc42783 lw a5,-36(s0) -800008b8: 00178793 addi a5,a5,1 -800008bc: fcf42e23 sw a5,-36(s0) -800008c0: fdc42703 lw a4,-36(s0) -800008c4: fc842783 lw a5,-56(s0) -800008c8: f8f762e3 bltu a4,a5,8000084c <_vx_mat_mult+0x98> -800008cc: fa842703 lw a4,-88(s0) -800008d0: fc842783 lw a5,-56(s0) -800008d4: 02f70733 mul a4,a4,a5 -800008d8: fe842783 lw a5,-24(s0) -800008dc: 00f707b3 add a5,a4,a5 -800008e0: faf42e23 sw a5,-68(s0) -800008e4: fe842703 lw a4,-24(s0) -800008e8: fc842783 lw a5,-56(s0) -800008ec: 00f737b3 sltu a5,a4,a5 -800008f0: 0ff7f793 andi a5,a5,255 -800008f4: faf42c23 sw a5,-72(s0) -800008f8: fb842783 lw a5,-72(s0) -800008fc: 0017b793 seqz a5,a5 -80000900: faf40ba3 sb a5,-73(s0) -80000904: fb744783 lbu a5,-73(s0) -80000908: 00078f13 mv t5,a5 -8000090c: 800017b7 lui a5,0x80001 -80000910: 94c78f93 addi t6,a5,-1716 # 8000094c -80000914: 000f206b 0xf206b -80000918: 01ff707b 0x1ff707b -8000091c: fbc42783 lw a5,-68(s0) -80000920: 00279793 slli a5,a5,0x2 -80000924: fcc42703 lw a4,-52(s0) -80000928: 00f707b3 add a5,a4,a5 -8000092c: fe042703 lw a4,-32(s0) -80000930: 00e7a023 sw a4,0(a5) -80000934: fe842783 lw a5,-24(s0) -80000938: 00178793 addi a5,a5,1 -8000093c: fef42423 sw a5,-24(s0) -80000940: 800017b7 lui a5,0x80001 -80000944: 95078e13 addi t3,a5,-1712 # 80000950 -80000948: 000e0067 jr t3 -8000094c: 00000013 nop -80000950: 0000306b 0x306b -80000954: fe442783 lw a5,-28(s0) -80000958: 00178793 addi a5,a5,1 -8000095c: fef42223 sw a5,-28(s0) -80000960: fe442783 lw a5,-28(s0) -80000964: fec42703 lw a4,-20(s0) -80000968: ece7ece3 bltu a5,a4,80000840 <_vx_mat_mult+0x8c> -8000096c: 00000013 nop -80000970: 05c12083 lw ra,92(sp) -80000974: 05812403 lw s0,88(sp) -80000978: 06010113 addi sp,sp,96 -8000097c: 00008067 ret +80000764 : +80000764: fd010113 addi sp,sp,-48 +80000768: 02112623 sw ra,44(sp) +8000076c: 02812423 sw s0,40(sp) +80000770: 03010413 addi s0,sp,48 +80000774: fca42e23 sw a0,-36(s0) +80000778: fdc42703 lw a4,-36(s0) +8000077c: 00f00793 li a5,15 +80000780: 02e7e463 bltu a5,a4,800007a8 +80000784: 810007b7 lui a5,0x81000 +80000788: fdc42703 lw a4,-36(s0) +8000078c: 00271713 slli a4,a4,0x2 +80000790: 1e478793 addi a5,a5,484 # 810001e4 +80000794: 00f707b3 add a5,a4,a5 +80000798: 0007a783 lw a5,0(a5) +8000079c: 00078513 mv a0,a5 +800007a0: f89ff0ef jal ra,80000728 +800007a4: 0740006f j 80000818 +800007a8: 02000793 li a5,32 +800007ac: fef42623 sw a5,-20(s0) +800007b0: fe0405a3 sb zero,-21(s0) +800007b4: fec42783 lw a5,-20(s0) +800007b8: ffc78793 addi a5,a5,-4 +800007bc: fdc42703 lw a4,-36(s0) +800007c0: 00f757b3 srl a5,a4,a5 +800007c4: 00f7f793 andi a5,a5,15 +800007c8: fef42223 sw a5,-28(s0) +800007cc: fe442783 lw a5,-28(s0) +800007d0: 00078663 beqz a5,800007dc +800007d4: 00100793 li a5,1 +800007d8: fef405a3 sb a5,-21(s0) +800007dc: feb44783 lbu a5,-21(s0) +800007e0: 02078263 beqz a5,80000804 +800007e4: 810007b7 lui a5,0x81000 +800007e8: fe442703 lw a4,-28(s0) +800007ec: 00271713 slli a4,a4,0x2 +800007f0: 1e478793 addi a5,a5,484 # 810001e4 +800007f4: 00f707b3 add a5,a4,a5 +800007f8: 0007a783 lw a5,0(a5) +800007fc: 00078513 mv a0,a5 +80000800: f29ff0ef jal ra,80000728 +80000804: fec42783 lw a5,-20(s0) +80000808: ffc78793 addi a5,a5,-4 +8000080c: fef42623 sw a5,-20(s0) +80000810: fec42783 lw a5,-20(s0) +80000814: faf040e3 bgtz a5,800007b4 +80000818: 02c12083 lw ra,44(sp) +8000081c: 02812403 lw s0,40(sp) +80000820: 03010113 addi sp,sp,48 +80000824: 00008067 ret -80000980 : -80000980: fc010113 addi sp,sp,-64 -80000984: 02112e23 sw ra,60(sp) -80000988: 02812c23 sw s0,56(sp) -8000098c: 04010413 addi s0,sp,64 -80000990: fca42e23 sw a0,-36(s0) -80000994: fcb42c23 sw a1,-40(s0) -80000998: fcc42a23 sw a2,-44(s0) -8000099c: fcd42823 sw a3,-48(s0) -800009a0: fce42623 sw a4,-52(s0) -800009a4: 810037b7 lui a5,0x81003 -800009a8: fdc42703 lw a4,-36(s0) -800009ac: 8ee7a223 sw a4,-1820(a5) # 810028e4 -800009b0: 810037b7 lui a5,0x81003 -800009b4: 8e478793 addi a5,a5,-1820 # 810028e4 -800009b8: fd842703 lw a4,-40(s0) -800009bc: 00e7a223 sw a4,4(a5) -800009c0: 810037b7 lui a5,0x81003 -800009c4: 8e478793 addi a5,a5,-1820 # 810028e4 -800009c8: fd442703 lw a4,-44(s0) -800009cc: 00e7a423 sw a4,8(a5) -800009d0: 810037b7 lui a5,0x81003 -800009d4: 8e478793 addi a5,a5,-1820 # 810028e4 -800009d8: fcc42703 lw a4,-52(s0) -800009dc: 00e7a623 sw a4,12(a5) -800009e0: 810037b7 lui a5,0x81003 -800009e4: 8e478793 addi a5,a5,-1820 # 810028e4 -800009e8: fd042703 lw a4,-48(s0) -800009ec: 00e7a823 sw a4,16(a5) -800009f0: fcc42783 lw a5,-52(s0) -800009f4: 0037d793 srli a5,a5,0x3 -800009f8: fef42623 sw a5,-20(s0) -800009fc: fcc42783 lw a5,-52(s0) -80000a00: 0077f793 andi a5,a5,7 -80000a04: 00078863 beqz a5,80000a14 -80000a08: fec42783 lw a5,-20(s0) -80000a0c: 00178793 addi a5,a5,1 -80000a10: fef42623 sw a5,-20(s0) -80000a14: 810037b7 lui a5,0x81003 -80000a18: 8e478793 addi a5,a5,-1820 # 810028e4 -80000a1c: fec42703 lw a4,-20(s0) -80000a20: 00e7aa23 sw a4,20(a5) -80000a24: fcc42703 lw a4,-52(s0) -80000a28: 00700793 li a5,7 -80000a2c: 02e7f263 bgeu a5,a4,80000a50 -80000a30: 810037b7 lui a5,0x81003 -80000a34: 8e478693 addi a3,a5,-1820 # 810028e4 -80000a38: 800017b7 lui a5,0x80001 -80000a3c: aa078613 addi a2,a5,-1376 # 80000aa0 -80000a40: 00800593 li a1,8 -80000a44: fd042503 lw a0,-48(s0) -80000a48: 80dff0ef jal ra,80000254 -80000a4c: 0200006f j 80000a6c -80000a50: 810037b7 lui a5,0x81003 -80000a54: 8e478693 addi a3,a5,-1820 # 810028e4 -80000a58: 800017b7 lui a5,0x80001 -80000a5c: aa078613 addi a2,a5,-1376 # 80000aa0 -80000a60: fcc42583 lw a1,-52(s0) -80000a64: fd042503 lw a0,-48(s0) -80000a68: fecff0ef jal ra,80000254 -80000a6c: fd042703 lw a4,-48(s0) -80000a70: 00700793 li a5,7 -80000a74: 00e7f863 bgeu a5,a4,80000a84 -80000a78: 00700513 li a0,7 -80000a7c: 8bdff0ef jal ra,80000338 -80000a80: 00c0006f j 80000a8c -80000a84: fd042503 lw a0,-48(s0) -80000a88: 8b1ff0ef jal ra,80000338 -80000a8c: 00000013 nop -80000a90: 03c12083 lw ra,60(sp) -80000a94: 03812403 lw s0,56(sp) -80000a98: 04010113 addi sp,sp,64 -80000a9c: 00008067 ret +80000828 : +80000828: fe010113 addi sp,sp,-32 +8000082c: 00112e23 sw ra,28(sp) +80000830: 00812c23 sw s0,24(sp) +80000834: 02010413 addi s0,sp,32 +80000838: fea42623 sw a0,-20(s0) +8000083c: feb42423 sw a1,-24(s0) +80000840: fec42503 lw a0,-20(s0) +80000844: ee5ff0ef jal ra,80000728 +80000848: fe842503 lw a0,-24(s0) +8000084c: f19ff0ef jal ra,80000764 +80000850: 810007b7 lui a5,0x81000 +80000854: 0c078513 addi a0,a5,192 # 810000c0 +80000858: ed1ff0ef jal ra,80000728 +8000085c: 00000013 nop +80000860: 01c12083 lw ra,28(sp) +80000864: 01812403 lw s0,24(sp) +80000868: 02010113 addi sp,sp,32 +8000086c: 00008067 ret -80000aa0 <_vx_mat_add>: -80000aa0: fb010113 addi sp,sp,-80 -80000aa4: 04112623 sw ra,76(sp) -80000aa8: 04812423 sw s0,72(sp) -80000aac: 05010413 addi s0,sp,80 -80000ab0: faa42e23 sw a0,-68(s0) -80000ab4: fab42c23 sw a1,-72(s0) -80000ab8: 93dff0ef jal ra,800003f4 -80000abc: fea42023 sw a0,-32(s0) -80000ac0: fe042783 lw a5,-32(s0) -80000ac4: 0007a783 lw a5,0(a5) -80000ac8: fcf42e23 sw a5,-36(s0) -80000acc: fe042783 lw a5,-32(s0) -80000ad0: 0047a783 lw a5,4(a5) -80000ad4: fcf42c23 sw a5,-40(s0) -80000ad8: fe042783 lw a5,-32(s0) -80000adc: 0087a783 lw a5,8(a5) -80000ae0: fcf42a23 sw a5,-44(s0) -80000ae4: fe042783 lw a5,-32(s0) -80000ae8: 0147a783 lw a5,20(a5) -80000aec: fef42623 sw a5,-20(s0) -80000af0: fec42703 lw a4,-20(s0) -80000af4: fbc42783 lw a5,-68(s0) -80000af8: 02f707b3 mul a5,a4,a5 -80000afc: fef42423 sw a5,-24(s0) -80000b00: fec42783 lw a5,-20(s0) -80000b04: 00079a63 bnez a5,80000b18 <_vx_mat_add+0x78> -80000b08: 00100793 li a5,1 -80000b0c: fef42623 sw a5,-20(s0) -80000b10: fbc42783 lw a5,-68(s0) -80000b14: fef42423 sw a5,-24(s0) -80000b18: fe042783 lw a5,-32(s0) -80000b1c: 00c7a783 lw a5,12(a5) -80000b20: fcf42823 sw a5,-48(s0) -80000b24: fe042223 sw zero,-28(s0) -80000b28: 0c00006f j 80000be8 <_vx_mat_add+0x148> -80000b2c: fb842703 lw a4,-72(s0) -80000b30: fd042783 lw a5,-48(s0) -80000b34: 02f70733 mul a4,a4,a5 -80000b38: fe842783 lw a5,-24(s0) -80000b3c: 00f707b3 add a5,a4,a5 -80000b40: fcf42623 sw a5,-52(s0) -80000b44: fe842703 lw a4,-24(s0) -80000b48: fd042783 lw a5,-48(s0) -80000b4c: 00f737b3 sltu a5,a4,a5 -80000b50: 0ff7f793 andi a5,a5,255 -80000b54: fcf42423 sw a5,-56(s0) -80000b58: fc842783 lw a5,-56(s0) -80000b5c: 0017b793 seqz a5,a5 -80000b60: fcf403a3 sb a5,-57(s0) -80000b64: fc744783 lbu a5,-57(s0) -80000b68: 00078f13 mv t5,a5 -80000b6c: 800017b7 lui a5,0x80001 -80000b70: bd478f93 addi t6,a5,-1068 # 80000bd4 -80000b74: 000f206b 0xf206b -80000b78: 01ff707b 0x1ff707b -80000b7c: fcc42783 lw a5,-52(s0) -80000b80: 00279793 slli a5,a5,0x2 -80000b84: fdc42703 lw a4,-36(s0) -80000b88: 00f707b3 add a5,a4,a5 -80000b8c: 0007a683 lw a3,0(a5) -80000b90: fcc42783 lw a5,-52(s0) -80000b94: 00279793 slli a5,a5,0x2 -80000b98: fd842703 lw a4,-40(s0) -80000b9c: 00f707b3 add a5,a4,a5 -80000ba0: 0007a703 lw a4,0(a5) -80000ba4: fcc42783 lw a5,-52(s0) -80000ba8: 00279793 slli a5,a5,0x2 -80000bac: fd442603 lw a2,-44(s0) -80000bb0: 00f607b3 add a5,a2,a5 -80000bb4: 00e68733 add a4,a3,a4 -80000bb8: 00e7a023 sw a4,0(a5) -80000bbc: fe842783 lw a5,-24(s0) -80000bc0: 00178793 addi a5,a5,1 -80000bc4: fef42423 sw a5,-24(s0) -80000bc8: 800017b7 lui a5,0x80001 -80000bcc: bd878e13 addi t3,a5,-1064 # 80000bd8 -80000bd0: 000e0067 jr t3 -80000bd4: 00000013 nop -80000bd8: 0000306b 0x306b -80000bdc: fe442783 lw a5,-28(s0) -80000be0: 00178793 addi a5,a5,1 -80000be4: fef42223 sw a5,-28(s0) -80000be8: fe442783 lw a5,-28(s0) -80000bec: fec42703 lw a4,-20(s0) -80000bf0: f2e7eee3 bltu a5,a4,80000b2c <_vx_mat_add+0x8c> -80000bf4: 00000013 nop -80000bf8: 04c12083 lw ra,76(sp) -80000bfc: 04812403 lw s0,72(sp) -80000c00: 05010113 addi sp,sp,80 -80000c04: 00008067 ret +80000870 : +80000870: fd010113 addi sp,sp,-48 +80000874: 02112623 sw ra,44(sp) +80000878: 02812423 sw s0,40(sp) +8000087c: 03010413 addi s0,sp,48 +80000880: fca42e23 sw a0,-36(s0) +80000884: fcb42c23 sw a1,-40(s0) +80000888: fcc42a23 sw a2,-44(s0) +8000088c: fcd42823 sw a3,-48(s0) +80000890: 810037b7 lui a5,0x81003 +80000894: fdc42703 lw a4,-36(s0) +80000898: 98e7a223 sw a4,-1660(a5) # 81002984 +8000089c: 810037b7 lui a5,0x81003 +800008a0: 98478793 addi a5,a5,-1660 # 81002984 +800008a4: fd842703 lw a4,-40(s0) +800008a8: 00e7a223 sw a4,4(a5) +800008ac: 810037b7 lui a5,0x81003 +800008b0: 98478793 addi a5,a5,-1660 # 81002984 +800008b4: fd442703 lw a4,-44(s0) +800008b8: 00e7a423 sw a4,8(a5) +800008bc: 810037b7 lui a5,0x81003 +800008c0: 98478793 addi a5,a5,-1660 # 81002984 +800008c4: fd042703 lw a4,-48(s0) +800008c8: 00e7a623 sw a4,12(a5) +800008cc: fd042783 lw a5,-48(s0) +800008d0: 0037d793 srli a5,a5,0x3 +800008d4: fef42623 sw a5,-20(s0) +800008d8: fd042783 lw a5,-48(s0) +800008dc: 0077f793 andi a5,a5,7 +800008e0: 00078863 beqz a5,800008f0 +800008e4: fec42783 lw a5,-20(s0) +800008e8: 00178793 addi a5,a5,1 +800008ec: fef42623 sw a5,-20(s0) +800008f0: 810037b7 lui a5,0x81003 +800008f4: 98478793 addi a5,a5,-1660 # 81002984 +800008f8: fec42703 lw a4,-20(s0) +800008fc: 00e7a823 sw a4,16(a5) +80000900: fd042703 lw a4,-48(s0) +80000904: 00700793 li a5,7 +80000908: 02e7f263 bgeu a5,a4,8000092c +8000090c: 810037b7 lui a5,0x81003 +80000910: 98478693 addi a3,a5,-1660 # 81002984 +80000914: 800017b7 lui a5,0x80001 +80000918: 97c78613 addi a2,a5,-1668 # 8000097c +8000091c: 00800593 li a1,8 +80000920: fd042503 lw a0,-48(s0) +80000924: af9ff0ef jal ra,8000041c +80000928: 0200006f j 80000948 +8000092c: 810037b7 lui a5,0x81003 +80000930: 98478693 addi a3,a5,-1660 # 81002984 +80000934: 800017b7 lui a5,0x80001 +80000938: 97c78613 addi a2,a5,-1668 # 8000097c +8000093c: fd042583 lw a1,-48(s0) +80000940: fd042503 lw a0,-48(s0) +80000944: ad9ff0ef jal ra,8000041c +80000948: fd042703 lw a4,-48(s0) +8000094c: 00800793 li a5,8 +80000950: 00e7f863 bgeu a5,a4,80000960 +80000954: 00800513 li a0,8 +80000958: ba9ff0ef jal ra,80000500 +8000095c: 00c0006f j 80000968 +80000960: fd042503 lw a0,-48(s0) +80000964: b9dff0ef jal ra,80000500 +80000968: 00000013 nop +8000096c: 02c12083 lw ra,44(sp) +80000970: 02812403 lw s0,40(sp) +80000974: 03010113 addi sp,sp,48 +80000978: 00008067 ret -80000c08 : -80000c08: fc010113 addi sp,sp,-64 -80000c0c: 02112e23 sw ra,60(sp) -80000c10: 02812c23 sw s0,56(sp) -80000c14: 04010413 addi s0,sp,64 -80000c18: fca42e23 sw a0,-36(s0) -80000c1c: fcb42c23 sw a1,-40(s0) -80000c20: fcc42a23 sw a2,-44(s0) -80000c24: fcd42823 sw a3,-48(s0) -80000c28: fce42623 sw a4,-52(s0) -80000c2c: 810037b7 lui a5,0x81003 -80000c30: fdc42703 lw a4,-36(s0) -80000c34: 8ee7a223 sw a4,-1820(a5) # 810028e4 -80000c38: 810037b7 lui a5,0x81003 -80000c3c: 8e478793 addi a5,a5,-1820 # 810028e4 -80000c40: fd842703 lw a4,-40(s0) -80000c44: 00e7a223 sw a4,4(a5) -80000c48: 810037b7 lui a5,0x81003 -80000c4c: 8e478793 addi a5,a5,-1820 # 810028e4 -80000c50: fd442703 lw a4,-44(s0) -80000c54: 00e7a423 sw a4,8(a5) -80000c58: 810037b7 lui a5,0x81003 -80000c5c: 8e478793 addi a5,a5,-1820 # 810028e4 -80000c60: fcc42703 lw a4,-52(s0) -80000c64: 00e7a623 sw a4,12(a5) -80000c68: 810037b7 lui a5,0x81003 -80000c6c: 8e478793 addi a5,a5,-1820 # 810028e4 -80000c70: fd042703 lw a4,-48(s0) -80000c74: 00e7a823 sw a4,16(a5) -80000c78: fcc42783 lw a5,-52(s0) -80000c7c: 0037d793 srli a5,a5,0x3 -80000c80: fef42623 sw a5,-20(s0) -80000c84: fcc42783 lw a5,-52(s0) -80000c88: 0077f793 andi a5,a5,7 -80000c8c: 00078863 beqz a5,80000c9c -80000c90: fec42783 lw a5,-20(s0) -80000c94: 00178793 addi a5,a5,1 -80000c98: fef42623 sw a5,-20(s0) -80000c9c: 810037b7 lui a5,0x81003 -80000ca0: 8e478793 addi a5,a5,-1820 # 810028e4 -80000ca4: fec42703 lw a4,-20(s0) -80000ca8: 00e7aa23 sw a4,20(a5) -80000cac: fcc42703 lw a4,-52(s0) -80000cb0: 00700793 li a5,7 -80000cb4: 02e7f263 bgeu a5,a4,80000cd8 -80000cb8: 810037b7 lui a5,0x81003 -80000cbc: 8e478693 addi a3,a5,-1820 # 810028e4 -80000cc0: 800017b7 lui a5,0x80001 -80000cc4: d2878613 addi a2,a5,-728 # 80000d28 -80000cc8: 00800593 li a1,8 -80000ccc: fd042503 lw a0,-48(s0) -80000cd0: d84ff0ef jal ra,80000254 -80000cd4: 0200006f j 80000cf4 -80000cd8: 810037b7 lui a5,0x81003 -80000cdc: 8e478693 addi a3,a5,-1820 # 810028e4 -80000ce0: 800017b7 lui a5,0x80001 -80000ce4: d2878613 addi a2,a5,-728 # 80000d28 -80000ce8: fcc42583 lw a1,-52(s0) -80000cec: fd042503 lw a0,-48(s0) -80000cf0: d64ff0ef jal ra,80000254 -80000cf4: fd042703 lw a4,-48(s0) -80000cf8: 00700793 li a5,7 -80000cfc: 00e7f863 bgeu a5,a4,80000d0c -80000d00: 00700513 li a0,7 -80000d04: e34ff0ef jal ra,80000338 -80000d08: 00c0006f j 80000d14 -80000d0c: fd042503 lw a0,-48(s0) -80000d10: e28ff0ef jal ra,80000338 -80000d14: 00000013 nop -80000d18: 03c12083 lw ra,60(sp) -80000d1c: 03812403 lw s0,56(sp) -80000d20: 04010113 addi sp,sp,64 -80000d24: 00008067 ret +8000097c <_vx_mat_mult>: +8000097c: fa010113 addi sp,sp,-96 +80000980: 04112e23 sw ra,92(sp) +80000984: 04812c23 sw s0,88(sp) +80000988: 06010413 addi s0,sp,96 +8000098c: faa42623 sw a0,-84(s0) +80000990: fab42423 sw a1,-88(s0) +80000994: c29ff0ef jal ra,800005bc +80000998: fca42c23 sw a0,-40(s0) +8000099c: fd842783 lw a5,-40(s0) +800009a0: 0007a783 lw a5,0(a5) +800009a4: fcf42a23 sw a5,-44(s0) +800009a8: fd842783 lw a5,-40(s0) +800009ac: 0047a783 lw a5,4(a5) +800009b0: fcf42823 sw a5,-48(s0) +800009b4: fd842783 lw a5,-40(s0) +800009b8: 0087a783 lw a5,8(a5) +800009bc: fcf42623 sw a5,-52(s0) +800009c0: fd842783 lw a5,-40(s0) +800009c4: 0107a783 lw a5,16(a5) +800009c8: fef42623 sw a5,-20(s0) +800009cc: fec42703 lw a4,-20(s0) +800009d0: fac42783 lw a5,-84(s0) +800009d4: 02f707b3 mul a5,a4,a5 +800009d8: fef42423 sw a5,-24(s0) +800009dc: fec42783 lw a5,-20(s0) +800009e0: 00079a63 bnez a5,800009f4 <_vx_mat_mult+0x78> +800009e4: 00100793 li a5,1 +800009e8: fef42623 sw a5,-20(s0) +800009ec: fac42783 lw a5,-84(s0) +800009f0: fef42423 sw a5,-24(s0) +800009f4: fd842783 lw a5,-40(s0) +800009f8: 00c7a783 lw a5,12(a5) +800009fc: fcf42423 sw a5,-56(s0) +80000a00: fe042223 sw zero,-28(s0) +80000a04: 1240006f j 80000b28 <_vx_mat_mult+0x1ac> +80000a08: fe042023 sw zero,-32(s0) +80000a0c: fc042e23 sw zero,-36(s0) +80000a10: 0780006f j 80000a88 <_vx_mat_mult+0x10c> +80000a14: fa842703 lw a4,-88(s0) +80000a18: fc842783 lw a5,-56(s0) +80000a1c: 02f707b3 mul a5,a4,a5 +80000a20: fdc42703 lw a4,-36(s0) +80000a24: 00f707b3 add a5,a4,a5 +80000a28: fcf42223 sw a5,-60(s0) +80000a2c: fc842703 lw a4,-56(s0) +80000a30: fdc42783 lw a5,-36(s0) +80000a34: 02f707b3 mul a5,a4,a5 +80000a38: fe842703 lw a4,-24(s0) +80000a3c: 00f707b3 add a5,a4,a5 +80000a40: fcf42023 sw a5,-64(s0) +80000a44: fc442783 lw a5,-60(s0) +80000a48: 00279793 slli a5,a5,0x2 +80000a4c: fd442703 lw a4,-44(s0) +80000a50: 00f707b3 add a5,a4,a5 +80000a54: 0007a703 lw a4,0(a5) +80000a58: fc042783 lw a5,-64(s0) +80000a5c: 00279793 slli a5,a5,0x2 +80000a60: fd042683 lw a3,-48(s0) +80000a64: 00f687b3 add a5,a3,a5 +80000a68: 0007a783 lw a5,0(a5) +80000a6c: 02f707b3 mul a5,a4,a5 +80000a70: fe042703 lw a4,-32(s0) +80000a74: 00f707b3 add a5,a4,a5 +80000a78: fef42023 sw a5,-32(s0) +80000a7c: fdc42783 lw a5,-36(s0) +80000a80: 00178793 addi a5,a5,1 +80000a84: fcf42e23 sw a5,-36(s0) +80000a88: fdc42703 lw a4,-36(s0) +80000a8c: fc842783 lw a5,-56(s0) +80000a90: f8f762e3 bltu a4,a5,80000a14 <_vx_mat_mult+0x98> +80000a94: fa842703 lw a4,-88(s0) +80000a98: fc842783 lw a5,-56(s0) +80000a9c: 02f70733 mul a4,a4,a5 +80000aa0: fe842783 lw a5,-24(s0) +80000aa4: 00f707b3 add a5,a4,a5 +80000aa8: faf42e23 sw a5,-68(s0) +80000aac: fe842703 lw a4,-24(s0) +80000ab0: fc842783 lw a5,-56(s0) +80000ab4: 00f737b3 sltu a5,a4,a5 +80000ab8: 0ff7f793 andi a5,a5,255 +80000abc: faf42c23 sw a5,-72(s0) +80000ac0: fb842783 lw a5,-72(s0) +80000ac4: 0017b793 seqz a5,a5 +80000ac8: faf40ba3 sb a5,-73(s0) +80000acc: fb744783 lbu a5,-73(s0) +80000ad0: 00078f13 mv t5,a5 +80000ad4: 800017b7 lui a5,0x80001 +80000ad8: b1478f93 addi t6,a5,-1260 # 80000b14 +80000adc: 000f206b 0xf206b +80000ae0: 01ff707b 0x1ff707b +80000ae4: fbc42783 lw a5,-68(s0) +80000ae8: 00279793 slli a5,a5,0x2 +80000aec: fcc42703 lw a4,-52(s0) +80000af0: 00f707b3 add a5,a4,a5 +80000af4: fe042703 lw a4,-32(s0) +80000af8: 00e7a023 sw a4,0(a5) +80000afc: fe842783 lw a5,-24(s0) +80000b00: 00178793 addi a5,a5,1 +80000b04: fef42423 sw a5,-24(s0) +80000b08: 800017b7 lui a5,0x80001 +80000b0c: b1878e13 addi t3,a5,-1256 # 80000b18 +80000b10: 000e0067 jr t3 +80000b14: 00000013 nop +80000b18: 0000306b 0x306b +80000b1c: fe442783 lw a5,-28(s0) +80000b20: 00178793 addi a5,a5,1 +80000b24: fef42223 sw a5,-28(s0) +80000b28: fe442783 lw a5,-28(s0) +80000b2c: fec42703 lw a4,-20(s0) +80000b30: ece7ece3 bltu a5,a4,80000a08 <_vx_mat_mult+0x8c> +80000b34: 00000013 nop +80000b38: 05c12083 lw ra,92(sp) +80000b3c: 05812403 lw s0,88(sp) +80000b40: 06010113 addi sp,sp,96 +80000b44: 00008067 ret -80000d28 <_vx_mat_sub>: -80000d28: fb010113 addi sp,sp,-80 -80000d2c: 04112623 sw ra,76(sp) -80000d30: 04812423 sw s0,72(sp) -80000d34: 05010413 addi s0,sp,80 -80000d38: faa42e23 sw a0,-68(s0) -80000d3c: fab42c23 sw a1,-72(s0) -80000d40: eb4ff0ef jal ra,800003f4 -80000d44: fea42023 sw a0,-32(s0) -80000d48: fe042783 lw a5,-32(s0) -80000d4c: 0007a783 lw a5,0(a5) -80000d50: fcf42e23 sw a5,-36(s0) -80000d54: fe042783 lw a5,-32(s0) -80000d58: 0047a783 lw a5,4(a5) -80000d5c: fcf42c23 sw a5,-40(s0) -80000d60: fe042783 lw a5,-32(s0) -80000d64: 0087a783 lw a5,8(a5) -80000d68: fcf42a23 sw a5,-44(s0) -80000d6c: fe042783 lw a5,-32(s0) -80000d70: 0147a783 lw a5,20(a5) -80000d74: fef42623 sw a5,-20(s0) -80000d78: fec42703 lw a4,-20(s0) -80000d7c: fbc42783 lw a5,-68(s0) -80000d80: 02f707b3 mul a5,a4,a5 -80000d84: fef42423 sw a5,-24(s0) -80000d88: fec42783 lw a5,-20(s0) -80000d8c: 00079a63 bnez a5,80000da0 <_vx_mat_sub+0x78> -80000d90: 00100793 li a5,1 -80000d94: fef42623 sw a5,-20(s0) -80000d98: fbc42783 lw a5,-68(s0) -80000d9c: fef42423 sw a5,-24(s0) -80000da0: fe042783 lw a5,-32(s0) -80000da4: 00c7a783 lw a5,12(a5) -80000da8: fcf42823 sw a5,-48(s0) -80000dac: fe042223 sw zero,-28(s0) -80000db0: 0c00006f j 80000e70 <_vx_mat_sub+0x148> -80000db4: fb842703 lw a4,-72(s0) -80000db8: fd042783 lw a5,-48(s0) -80000dbc: 02f70733 mul a4,a4,a5 -80000dc0: fe842783 lw a5,-24(s0) -80000dc4: 00f707b3 add a5,a4,a5 -80000dc8: fcf42623 sw a5,-52(s0) -80000dcc: fe842703 lw a4,-24(s0) -80000dd0: fd042783 lw a5,-48(s0) -80000dd4: 00f737b3 sltu a5,a4,a5 -80000dd8: 0ff7f793 andi a5,a5,255 -80000ddc: fcf42423 sw a5,-56(s0) -80000de0: fc842783 lw a5,-56(s0) -80000de4: 0017b793 seqz a5,a5 -80000de8: fcf403a3 sb a5,-57(s0) -80000dec: fc744783 lbu a5,-57(s0) -80000df0: 00078f13 mv t5,a5 -80000df4: 800017b7 lui a5,0x80001 -80000df8: e5c78f93 addi t6,a5,-420 # 80000e5c -80000dfc: 000f206b 0xf206b -80000e00: 01ff707b 0x1ff707b -80000e04: fcc42783 lw a5,-52(s0) -80000e08: 00279793 slli a5,a5,0x2 -80000e0c: fdc42703 lw a4,-36(s0) -80000e10: 00f707b3 add a5,a4,a5 -80000e14: 0007a683 lw a3,0(a5) -80000e18: fcc42783 lw a5,-52(s0) -80000e1c: 00279793 slli a5,a5,0x2 -80000e20: fd842703 lw a4,-40(s0) -80000e24: 00f707b3 add a5,a4,a5 -80000e28: 0007a703 lw a4,0(a5) -80000e2c: fcc42783 lw a5,-52(s0) -80000e30: 00279793 slli a5,a5,0x2 -80000e34: fd442603 lw a2,-44(s0) -80000e38: 00f607b3 add a5,a2,a5 -80000e3c: 40e68733 sub a4,a3,a4 -80000e40: 00e7a023 sw a4,0(a5) -80000e44: fe842783 lw a5,-24(s0) -80000e48: 00178793 addi a5,a5,1 -80000e4c: fef42423 sw a5,-24(s0) -80000e50: 800017b7 lui a5,0x80001 -80000e54: e6078e13 addi t3,a5,-416 # 80000e60 -80000e58: 000e0067 jr t3 -80000e5c: 00000013 nop -80000e60: 0000306b 0x306b -80000e64: fe442783 lw a5,-28(s0) -80000e68: 00178793 addi a5,a5,1 -80000e6c: fef42223 sw a5,-28(s0) -80000e70: fe442783 lw a5,-28(s0) -80000e74: fec42703 lw a4,-20(s0) -80000e78: f2e7eee3 bltu a5,a4,80000db4 <_vx_mat_sub+0x8c> -80000e7c: 00000013 nop -80000e80: 04c12083 lw ra,76(sp) -80000e84: 04812403 lw s0,72(sp) -80000e88: 05010113 addi sp,sp,80 -80000e8c: 00008067 ret +80000b48 : +80000b48: fc010113 addi sp,sp,-64 +80000b4c: 02112e23 sw ra,60(sp) +80000b50: 02812c23 sw s0,56(sp) +80000b54: 04010413 addi s0,sp,64 +80000b58: fca42e23 sw a0,-36(s0) +80000b5c: fcb42c23 sw a1,-40(s0) +80000b60: fcc42a23 sw a2,-44(s0) +80000b64: fcd42823 sw a3,-48(s0) +80000b68: fce42623 sw a4,-52(s0) +80000b6c: 810037b7 lui a5,0x81003 +80000b70: fdc42703 lw a4,-36(s0) +80000b74: 98e7ac23 sw a4,-1640(a5) # 81002998 +80000b78: 810037b7 lui a5,0x81003 +80000b7c: 99878793 addi a5,a5,-1640 # 81002998 +80000b80: fd842703 lw a4,-40(s0) +80000b84: 00e7a223 sw a4,4(a5) +80000b88: 810037b7 lui a5,0x81003 +80000b8c: 99878793 addi a5,a5,-1640 # 81002998 +80000b90: fd442703 lw a4,-44(s0) +80000b94: 00e7a423 sw a4,8(a5) +80000b98: 810037b7 lui a5,0x81003 +80000b9c: 99878793 addi a5,a5,-1640 # 81002998 +80000ba0: fcc42703 lw a4,-52(s0) +80000ba4: 00e7a623 sw a4,12(a5) +80000ba8: 810037b7 lui a5,0x81003 +80000bac: 99878793 addi a5,a5,-1640 # 81002998 +80000bb0: fd042703 lw a4,-48(s0) +80000bb4: 00e7a823 sw a4,16(a5) +80000bb8: fcc42783 lw a5,-52(s0) +80000bbc: 0037d793 srli a5,a5,0x3 +80000bc0: fef42623 sw a5,-20(s0) +80000bc4: fcc42783 lw a5,-52(s0) +80000bc8: 0077f793 andi a5,a5,7 +80000bcc: 00078863 beqz a5,80000bdc +80000bd0: fec42783 lw a5,-20(s0) +80000bd4: 00178793 addi a5,a5,1 +80000bd8: fef42623 sw a5,-20(s0) +80000bdc: 810037b7 lui a5,0x81003 +80000be0: 99878793 addi a5,a5,-1640 # 81002998 +80000be4: fec42703 lw a4,-20(s0) +80000be8: 00e7aa23 sw a4,20(a5) +80000bec: fcc42703 lw a4,-52(s0) +80000bf0: 00700793 li a5,7 +80000bf4: 02e7f263 bgeu a5,a4,80000c18 +80000bf8: 810037b7 lui a5,0x81003 +80000bfc: 99878693 addi a3,a5,-1640 # 81002998 +80000c00: 800017b7 lui a5,0x80001 +80000c04: c6878613 addi a2,a5,-920 # 80000c68 +80000c08: 00800593 li a1,8 +80000c0c: fd042503 lw a0,-48(s0) +80000c10: 80dff0ef jal ra,8000041c +80000c14: 0200006f j 80000c34 +80000c18: 810037b7 lui a5,0x81003 +80000c1c: 99878693 addi a3,a5,-1640 # 81002998 +80000c20: 800017b7 lui a5,0x80001 +80000c24: c6878613 addi a2,a5,-920 # 80000c68 +80000c28: fcc42583 lw a1,-52(s0) +80000c2c: fd042503 lw a0,-48(s0) +80000c30: fecff0ef jal ra,8000041c +80000c34: fd042703 lw a4,-48(s0) +80000c38: 00800793 li a5,8 +80000c3c: 00e7f863 bgeu a5,a4,80000c4c +80000c40: 00800513 li a0,8 +80000c44: 8bdff0ef jal ra,80000500 +80000c48: 00c0006f j 80000c54 +80000c4c: fd042503 lw a0,-48(s0) +80000c50: 8b1ff0ef jal ra,80000500 +80000c54: 00000013 nop +80000c58: 03c12083 lw ra,60(sp) +80000c5c: 03812403 lw s0,56(sp) +80000c60: 04010113 addi sp,sp,64 +80000c64: 00008067 ret -80000e90 : -80000e90: fe010113 addi sp,sp,-32 -80000e94: 00812e23 sw s0,28(sp) -80000e98: 02010413 addi s0,sp,32 -80000e9c: fe042623 sw zero,-20(s0) -80000ea0: 0480006f j 80000ee8 -80000ea4: 810037b7 lui a5,0x81003 -80000ea8: fec42703 lw a4,-20(s0) -80000eac: 00271713 slli a4,a4,0x2 -80000eb0: 8fc78793 addi a5,a5,-1796 # 810028fc -80000eb4: 00f707b3 add a5,a4,a5 -80000eb8: 00300713 li a4,3 -80000ebc: 00e7a023 sw a4,0(a5) -80000ec0: 810047b7 lui a5,0x81004 -80000ec4: fec42703 lw a4,-20(s0) -80000ec8: 00271713 slli a4,a4,0x2 -80000ecc: 8fc78793 addi a5,a5,-1796 # 810038fc -80000ed0: 00f707b3 add a5,a4,a5 -80000ed4: 00200713 li a4,2 -80000ed8: 00e7a023 sw a4,0(a5) -80000edc: fec42783 lw a5,-20(s0) -80000ee0: 00178793 addi a5,a5,1 -80000ee4: fef42623 sw a5,-20(s0) -80000ee8: fec42703 lw a4,-20(s0) -80000eec: 3ff00793 li a5,1023 -80000ef0: fae7dae3 bge a5,a4,80000ea4 -80000ef4: 00000013 nop -80000ef8: 01c12403 lw s0,28(sp) -80000efc: 02010113 addi sp,sp,32 -80000f00: 00008067 ret +80000c68 <_vx_mat_add>: +80000c68: fb010113 addi sp,sp,-80 +80000c6c: 04112623 sw ra,76(sp) +80000c70: 04812423 sw s0,72(sp) +80000c74: 05010413 addi s0,sp,80 +80000c78: faa42e23 sw a0,-68(s0) +80000c7c: fab42c23 sw a1,-72(s0) +80000c80: 93dff0ef jal ra,800005bc +80000c84: fea42023 sw a0,-32(s0) +80000c88: fe042783 lw a5,-32(s0) +80000c8c: 0007a783 lw a5,0(a5) +80000c90: fcf42e23 sw a5,-36(s0) +80000c94: fe042783 lw a5,-32(s0) +80000c98: 0047a783 lw a5,4(a5) +80000c9c: fcf42c23 sw a5,-40(s0) +80000ca0: fe042783 lw a5,-32(s0) +80000ca4: 0087a783 lw a5,8(a5) +80000ca8: fcf42a23 sw a5,-44(s0) +80000cac: fe042783 lw a5,-32(s0) +80000cb0: 0147a783 lw a5,20(a5) +80000cb4: fef42623 sw a5,-20(s0) +80000cb8: fec42703 lw a4,-20(s0) +80000cbc: fbc42783 lw a5,-68(s0) +80000cc0: 02f707b3 mul a5,a4,a5 +80000cc4: fef42423 sw a5,-24(s0) +80000cc8: fec42783 lw a5,-20(s0) +80000ccc: 00079a63 bnez a5,80000ce0 <_vx_mat_add+0x78> +80000cd0: 00100793 li a5,1 +80000cd4: fef42623 sw a5,-20(s0) +80000cd8: fbc42783 lw a5,-68(s0) +80000cdc: fef42423 sw a5,-24(s0) +80000ce0: fe042783 lw a5,-32(s0) +80000ce4: 00c7a783 lw a5,12(a5) +80000ce8: fcf42823 sw a5,-48(s0) +80000cec: fe042223 sw zero,-28(s0) +80000cf0: 0c00006f j 80000db0 <_vx_mat_add+0x148> +80000cf4: fb842703 lw a4,-72(s0) +80000cf8: fd042783 lw a5,-48(s0) +80000cfc: 02f70733 mul a4,a4,a5 +80000d00: fe842783 lw a5,-24(s0) +80000d04: 00f707b3 add a5,a4,a5 +80000d08: fcf42623 sw a5,-52(s0) +80000d0c: fe842703 lw a4,-24(s0) +80000d10: fd042783 lw a5,-48(s0) +80000d14: 00f737b3 sltu a5,a4,a5 +80000d18: 0ff7f793 andi a5,a5,255 +80000d1c: fcf42423 sw a5,-56(s0) +80000d20: fc842783 lw a5,-56(s0) +80000d24: 0017b793 seqz a5,a5 +80000d28: fcf403a3 sb a5,-57(s0) +80000d2c: fc744783 lbu a5,-57(s0) +80000d30: 00078f13 mv t5,a5 +80000d34: 800017b7 lui a5,0x80001 +80000d38: d9c78f93 addi t6,a5,-612 # 80000d9c +80000d3c: 000f206b 0xf206b +80000d40: 01ff707b 0x1ff707b +80000d44: fcc42783 lw a5,-52(s0) +80000d48: 00279793 slli a5,a5,0x2 +80000d4c: fdc42703 lw a4,-36(s0) +80000d50: 00f707b3 add a5,a4,a5 +80000d54: 0007a683 lw a3,0(a5) +80000d58: fcc42783 lw a5,-52(s0) +80000d5c: 00279793 slli a5,a5,0x2 +80000d60: fd842703 lw a4,-40(s0) +80000d64: 00f707b3 add a5,a4,a5 +80000d68: 0007a703 lw a4,0(a5) +80000d6c: fcc42783 lw a5,-52(s0) +80000d70: 00279793 slli a5,a5,0x2 +80000d74: fd442603 lw a2,-44(s0) +80000d78: 00f607b3 add a5,a2,a5 +80000d7c: 00e68733 add a4,a3,a4 +80000d80: 00e7a023 sw a4,0(a5) +80000d84: fe842783 lw a5,-24(s0) +80000d88: 00178793 addi a5,a5,1 +80000d8c: fef42423 sw a5,-24(s0) +80000d90: 800017b7 lui a5,0x80001 +80000d94: da078e13 addi t3,a5,-608 # 80000da0 +80000d98: 000e0067 jr t3 +80000d9c: 00000013 nop +80000da0: 0000306b 0x306b +80000da4: fe442783 lw a5,-28(s0) +80000da8: 00178793 addi a5,a5,1 +80000dac: fef42223 sw a5,-28(s0) +80000db0: fe442783 lw a5,-28(s0) +80000db4: fec42703 lw a4,-20(s0) +80000db8: f2e7eee3 bltu a5,a4,80000cf4 <_vx_mat_add+0x8c> +80000dbc: 00000013 nop +80000dc0: 04c12083 lw ra,76(sp) +80000dc4: 04812403 lw s0,72(sp) +80000dc8: 05010113 addi sp,sp,80 +80000dcc: 00008067 ret -80000f04
: -80000f04: fe010113 addi sp,sp,-32 -80000f08: 00112e23 sw ra,28(sp) -80000f0c: 00812c23 sw s0,24(sp) -80000f10: 02010413 addi s0,sp,32 -80000f14: f7dff0ef jal ra,80000e90 -80000f18: 02000693 li a3,32 -80000f1c: 810057b7 lui a5,0x81005 -80000f20: 8fc78613 addi a2,a5,-1796 # 810048fc -80000f24: 810047b7 lui a5,0x81004 -80000f28: 8fc78593 addi a1,a5,-1796 # 810038fc -80000f2c: 810037b7 lui a5,0x81003 -80000f30: 8fc78513 addi a0,a5,-1796 # 810028fc -80000f34: f74ff0ef jal ra,800006a8 -80000f38: 810007b7 lui a5,0x81000 -80000f3c: 10478513 addi a0,a5,260 # 81000104 -80000f40: e20ff0ef jal ra,80000560 -80000f44: 810007b7 lui a5,0x81000 -80000f48: 12078513 addi a0,a5,288 # 81000120 -80000f4c: e14ff0ef jal ra,80000560 -80000f50: fe042623 sw zero,-20(s0) -80000f54: 0540006f j 80000fa8 -80000f58: fec42783 lw a5,-20(s0) -80000f5c: 01f7f793 andi a5,a5,31 -80000f60: 00079863 bnez a5,80000f70 -80000f64: 810007b7 lui a5,0x81000 -80000f68: 12c78513 addi a0,a5,300 # 8100012c -80000f6c: df4ff0ef jal ra,80000560 -80000f70: 810057b7 lui a5,0x81005 -80000f74: fec42703 lw a4,-20(s0) -80000f78: 00271713 slli a4,a4,0x2 -80000f7c: 8fc78793 addi a5,a5,-1796 # 810048fc -80000f80: 00f707b3 add a5,a4,a5 -80000f84: 0007a783 lw a5,0(a5) -80000f88: 00078513 mv a0,a5 -80000f8c: e10ff0ef jal ra,8000059c -80000f90: 810007b7 lui a5,0x81000 -80000f94: 13078513 addi a0,a5,304 # 81000130 -80000f98: dc8ff0ef jal ra,80000560 -80000f9c: fec42783 lw a5,-20(s0) -80000fa0: 00178793 addi a5,a5,1 -80000fa4: fef42623 sw a5,-20(s0) -80000fa8: fec42703 lw a4,-20(s0) -80000fac: 3ff00793 li a5,1023 -80000fb0: fae7d4e3 bge a5,a4,80000f58 -80000fb4: 810007b7 lui a5,0x81000 -80000fb8: 13478513 addi a0,a5,308 # 81000134 -80000fbc: da4ff0ef jal ra,80000560 -80000fc0: 02000713 li a4,32 -80000fc4: 02000693 li a3,32 -80000fc8: 810057b7 lui a5,0x81005 -80000fcc: 8fc78613 addi a2,a5,-1796 # 810048fc -80000fd0: 810047b7 lui a5,0x81004 -80000fd4: 8fc78593 addi a1,a5,-1796 # 810038fc -80000fd8: 810037b7 lui a5,0x81003 -80000fdc: 8fc78513 addi a0,a5,-1796 # 810028fc -80000fe0: 9a1ff0ef jal ra,80000980 -80000fe4: 810007b7 lui a5,0x81000 -80000fe8: 10478513 addi a0,a5,260 # 81000104 -80000fec: d74ff0ef jal ra,80000560 -80000ff0: 810007b7 lui a5,0x81000 -80000ff4: 15878513 addi a0,a5,344 # 81000158 -80000ff8: d68ff0ef jal ra,80000560 -80000ffc: fe042423 sw zero,-24(s0) -80001000: 0540006f j 80001054 -80001004: fe842783 lw a5,-24(s0) -80001008: 01f7f793 andi a5,a5,31 -8000100c: 00079863 bnez a5,8000101c -80001010: 810007b7 lui a5,0x81000 -80001014: 12c78513 addi a0,a5,300 # 8100012c -80001018: d48ff0ef jal ra,80000560 -8000101c: 810057b7 lui a5,0x81005 -80001020: fe842703 lw a4,-24(s0) -80001024: 00271713 slli a4,a4,0x2 -80001028: 8fc78793 addi a5,a5,-1796 # 810048fc -8000102c: 00f707b3 add a5,a4,a5 -80001030: 0007a783 lw a5,0(a5) -80001034: 00078513 mv a0,a5 -80001038: d64ff0ef jal ra,8000059c -8000103c: 810007b7 lui a5,0x81000 -80001040: 13078513 addi a0,a5,304 # 81000130 -80001044: d1cff0ef jal ra,80000560 -80001048: fe842783 lw a5,-24(s0) -8000104c: 00178793 addi a5,a5,1 -80001050: fef42423 sw a5,-24(s0) -80001054: fe842703 lw a4,-24(s0) -80001058: 3ff00793 li a5,1023 -8000105c: fae7d4e3 bge a5,a4,80001004 -80001060: 810007b7 lui a5,0x81000 -80001064: 13478513 addi a0,a5,308 # 81000134 -80001068: cf8ff0ef jal ra,80000560 -8000106c: 02000713 li a4,32 -80001070: 02000693 li a3,32 -80001074: 810057b7 lui a5,0x81005 -80001078: 8fc78613 addi a2,a5,-1796 # 810048fc -8000107c: 810047b7 lui a5,0x81004 -80001080: 8fc78593 addi a1,a5,-1796 # 810038fc -80001084: 810037b7 lui a5,0x81003 -80001088: 8fc78513 addi a0,a5,-1796 # 810028fc -8000108c: b7dff0ef jal ra,80000c08 -80001090: 810007b7 lui a5,0x81000 -80001094: 10478513 addi a0,a5,260 # 81000104 -80001098: cc8ff0ef jal ra,80000560 -8000109c: 810007b7 lui a5,0x81000 -800010a0: 16478513 addi a0,a5,356 # 81000164 -800010a4: cbcff0ef jal ra,80000560 -800010a8: fe042223 sw zero,-28(s0) -800010ac: 0540006f j 80001100 -800010b0: fe442783 lw a5,-28(s0) -800010b4: 01f7f793 andi a5,a5,31 -800010b8: 00079863 bnez a5,800010c8 -800010bc: 810007b7 lui a5,0x81000 -800010c0: 12c78513 addi a0,a5,300 # 8100012c -800010c4: c9cff0ef jal ra,80000560 -800010c8: 810057b7 lui a5,0x81005 -800010cc: fe442703 lw a4,-28(s0) -800010d0: 00271713 slli a4,a4,0x2 -800010d4: 8fc78793 addi a5,a5,-1796 # 810048fc -800010d8: 00f707b3 add a5,a4,a5 -800010dc: 0007a783 lw a5,0(a5) -800010e0: 00078513 mv a0,a5 -800010e4: cb8ff0ef jal ra,8000059c -800010e8: 810007b7 lui a5,0x81000 -800010ec: 13078513 addi a0,a5,304 # 81000130 -800010f0: c70ff0ef jal ra,80000560 -800010f4: fe442783 lw a5,-28(s0) -800010f8: 00178793 addi a5,a5,1 -800010fc: fef42223 sw a5,-28(s0) -80001100: fe442703 lw a4,-28(s0) -80001104: 3ff00793 li a5,1023 -80001108: fae7d4e3 bge a5,a4,800010b0 -8000110c: 810007b7 lui a5,0x81000 -80001110: 13478513 addi a0,a5,308 # 81000134 -80001114: c4cff0ef jal ra,80000560 -80001118: 00000793 li a5,0 -8000111c: 00078513 mv a0,a5 -80001120: 01c12083 lw ra,28(sp) -80001124: 01812403 lw s0,24(sp) -80001128: 02010113 addi sp,sp,32 -8000112c: 00008067 ret +80000dd0 : +80000dd0: fc010113 addi sp,sp,-64 +80000dd4: 02112e23 sw ra,60(sp) +80000dd8: 02812c23 sw s0,56(sp) +80000ddc: 04010413 addi s0,sp,64 +80000de0: fca42e23 sw a0,-36(s0) +80000de4: fcb42c23 sw a1,-40(s0) +80000de8: fcc42a23 sw a2,-44(s0) +80000dec: fcd42823 sw a3,-48(s0) +80000df0: fce42623 sw a4,-52(s0) +80000df4: 810037b7 lui a5,0x81003 +80000df8: fdc42703 lw a4,-36(s0) +80000dfc: 98e7ac23 sw a4,-1640(a5) # 81002998 +80000e00: 810037b7 lui a5,0x81003 +80000e04: 99878793 addi a5,a5,-1640 # 81002998 +80000e08: fd842703 lw a4,-40(s0) +80000e0c: 00e7a223 sw a4,4(a5) +80000e10: 810037b7 lui a5,0x81003 +80000e14: 99878793 addi a5,a5,-1640 # 81002998 +80000e18: fd442703 lw a4,-44(s0) +80000e1c: 00e7a423 sw a4,8(a5) +80000e20: 810037b7 lui a5,0x81003 +80000e24: 99878793 addi a5,a5,-1640 # 81002998 +80000e28: fcc42703 lw a4,-52(s0) +80000e2c: 00e7a623 sw a4,12(a5) +80000e30: 810037b7 lui a5,0x81003 +80000e34: 99878793 addi a5,a5,-1640 # 81002998 +80000e38: fd042703 lw a4,-48(s0) +80000e3c: 00e7a823 sw a4,16(a5) +80000e40: fcc42783 lw a5,-52(s0) +80000e44: 0037d793 srli a5,a5,0x3 +80000e48: fef42623 sw a5,-20(s0) +80000e4c: fcc42783 lw a5,-52(s0) +80000e50: 0077f793 andi a5,a5,7 +80000e54: 00078863 beqz a5,80000e64 +80000e58: fec42783 lw a5,-20(s0) +80000e5c: 00178793 addi a5,a5,1 +80000e60: fef42623 sw a5,-20(s0) +80000e64: 810037b7 lui a5,0x81003 +80000e68: 99878793 addi a5,a5,-1640 # 81002998 +80000e6c: fec42703 lw a4,-20(s0) +80000e70: 00e7aa23 sw a4,20(a5) +80000e74: fcc42703 lw a4,-52(s0) +80000e78: 00700793 li a5,7 +80000e7c: 02e7f263 bgeu a5,a4,80000ea0 +80000e80: 810037b7 lui a5,0x81003 +80000e84: 99878693 addi a3,a5,-1640 # 81002998 +80000e88: 800017b7 lui a5,0x80001 +80000e8c: ef078613 addi a2,a5,-272 # 80000ef0 +80000e90: 00800593 li a1,8 +80000e94: fd042503 lw a0,-48(s0) +80000e98: d84ff0ef jal ra,8000041c +80000e9c: 0200006f j 80000ebc +80000ea0: 810037b7 lui a5,0x81003 +80000ea4: 99878693 addi a3,a5,-1640 # 81002998 +80000ea8: 800017b7 lui a5,0x80001 +80000eac: ef078613 addi a2,a5,-272 # 80000ef0 +80000eb0: fcc42583 lw a1,-52(s0) +80000eb4: fd042503 lw a0,-48(s0) +80000eb8: d64ff0ef jal ra,8000041c +80000ebc: fd042703 lw a4,-48(s0) +80000ec0: 00800793 li a5,8 +80000ec4: 00e7f863 bgeu a5,a4,80000ed4 +80000ec8: 00800513 li a0,8 +80000ecc: e34ff0ef jal ra,80000500 +80000ed0: 00c0006f j 80000edc +80000ed4: fd042503 lw a0,-48(s0) +80000ed8: e28ff0ef jal ra,80000500 +80000edc: 00000013 nop +80000ee0: 03c12083 lw ra,60(sp) +80000ee4: 03812403 lw s0,56(sp) +80000ee8: 04010113 addi sp,sp,64 +80000eec: 00008067 ret + +80000ef0 <_vx_mat_sub>: +80000ef0: fb010113 addi sp,sp,-80 +80000ef4: 04112623 sw ra,76(sp) +80000ef8: 04812423 sw s0,72(sp) +80000efc: 05010413 addi s0,sp,80 +80000f00: faa42e23 sw a0,-68(s0) +80000f04: fab42c23 sw a1,-72(s0) +80000f08: eb4ff0ef jal ra,800005bc +80000f0c: fea42023 sw a0,-32(s0) +80000f10: fe042783 lw a5,-32(s0) +80000f14: 0007a783 lw a5,0(a5) +80000f18: fcf42e23 sw a5,-36(s0) +80000f1c: fe042783 lw a5,-32(s0) +80000f20: 0047a783 lw a5,4(a5) +80000f24: fcf42c23 sw a5,-40(s0) +80000f28: fe042783 lw a5,-32(s0) +80000f2c: 0087a783 lw a5,8(a5) +80000f30: fcf42a23 sw a5,-44(s0) +80000f34: fe042783 lw a5,-32(s0) +80000f38: 0147a783 lw a5,20(a5) +80000f3c: fef42623 sw a5,-20(s0) +80000f40: fec42703 lw a4,-20(s0) +80000f44: fbc42783 lw a5,-68(s0) +80000f48: 02f707b3 mul a5,a4,a5 +80000f4c: fef42423 sw a5,-24(s0) +80000f50: fec42783 lw a5,-20(s0) +80000f54: 00079a63 bnez a5,80000f68 <_vx_mat_sub+0x78> +80000f58: 00100793 li a5,1 +80000f5c: fef42623 sw a5,-20(s0) +80000f60: fbc42783 lw a5,-68(s0) +80000f64: fef42423 sw a5,-24(s0) +80000f68: fe042783 lw a5,-32(s0) +80000f6c: 00c7a783 lw a5,12(a5) +80000f70: fcf42823 sw a5,-48(s0) +80000f74: fe042223 sw zero,-28(s0) +80000f78: 0c00006f j 80001038 <_vx_mat_sub+0x148> +80000f7c: fb842703 lw a4,-72(s0) +80000f80: fd042783 lw a5,-48(s0) +80000f84: 02f70733 mul a4,a4,a5 +80000f88: fe842783 lw a5,-24(s0) +80000f8c: 00f707b3 add a5,a4,a5 +80000f90: fcf42623 sw a5,-52(s0) +80000f94: fe842703 lw a4,-24(s0) +80000f98: fd042783 lw a5,-48(s0) +80000f9c: 00f737b3 sltu a5,a4,a5 +80000fa0: 0ff7f793 andi a5,a5,255 +80000fa4: fcf42423 sw a5,-56(s0) +80000fa8: fc842783 lw a5,-56(s0) +80000fac: 0017b793 seqz a5,a5 +80000fb0: fcf403a3 sb a5,-57(s0) +80000fb4: fc744783 lbu a5,-57(s0) +80000fb8: 00078f13 mv t5,a5 +80000fbc: 800017b7 lui a5,0x80001 +80000fc0: 02478f93 addi t6,a5,36 # 80001024 +80000fc4: 000f206b 0xf206b +80000fc8: 01ff707b 0x1ff707b +80000fcc: fcc42783 lw a5,-52(s0) +80000fd0: 00279793 slli a5,a5,0x2 +80000fd4: fdc42703 lw a4,-36(s0) +80000fd8: 00f707b3 add a5,a4,a5 +80000fdc: 0007a683 lw a3,0(a5) +80000fe0: fcc42783 lw a5,-52(s0) +80000fe4: 00279793 slli a5,a5,0x2 +80000fe8: fd842703 lw a4,-40(s0) +80000fec: 00f707b3 add a5,a4,a5 +80000ff0: 0007a703 lw a4,0(a5) +80000ff4: fcc42783 lw a5,-52(s0) +80000ff8: 00279793 slli a5,a5,0x2 +80000ffc: fd442603 lw a2,-44(s0) +80001000: 00f607b3 add a5,a2,a5 +80001004: 40e68733 sub a4,a3,a4 +80001008: 00e7a023 sw a4,0(a5) +8000100c: fe842783 lw a5,-24(s0) +80001010: 00178793 addi a5,a5,1 +80001014: fef42423 sw a5,-24(s0) +80001018: 800017b7 lui a5,0x80001 +8000101c: 02878e13 addi t3,a5,40 # 80001028 +80001020: 000e0067 jr t3 +80001024: 00000013 nop +80001028: 0000306b 0x306b +8000102c: fe442783 lw a5,-28(s0) +80001030: 00178793 addi a5,a5,1 +80001034: fef42223 sw a5,-28(s0) +80001038: fe442783 lw a5,-28(s0) +8000103c: fec42703 lw a4,-20(s0) +80001040: f2e7eee3 bltu a5,a4,80000f7c <_vx_mat_sub+0x8c> +80001044: 00000013 nop +80001048: 04c12083 lw ra,76(sp) +8000104c: 04812403 lw s0,72(sp) +80001050: 05010113 addi sp,sp,80 +80001054: 00008067 ret + +80001058 : +80001058: fe010113 addi sp,sp,-32 +8000105c: 00812e23 sw s0,28(sp) +80001060: 02010413 addi s0,sp,32 +80001064: fe042623 sw zero,-20(s0) +80001068: 0480006f j 800010b0 +8000106c: 810037b7 lui a5,0x81003 +80001070: fec42703 lw a4,-20(s0) +80001074: 00271713 slli a4,a4,0x2 +80001078: 9b078793 addi a5,a5,-1616 # 810029b0 +8000107c: 00f707b3 add a5,a4,a5 +80001080: 00300713 li a4,3 +80001084: 00e7a023 sw a4,0(a5) +80001088: 810047b7 lui a5,0x81004 +8000108c: fec42703 lw a4,-20(s0) +80001090: 00271713 slli a4,a4,0x2 +80001094: 9b078793 addi a5,a5,-1616 # 810039b0 +80001098: 00f707b3 add a5,a4,a5 +8000109c: 00200713 li a4,2 +800010a0: 00e7a023 sw a4,0(a5) +800010a4: fec42783 lw a5,-20(s0) +800010a8: 00178793 addi a5,a5,1 +800010ac: fef42623 sw a5,-20(s0) +800010b0: fec42703 lw a4,-20(s0) +800010b4: 03f00793 li a5,63 +800010b8: fae7dae3 bge a5,a4,8000106c +800010bc: 00000013 nop +800010c0: 01c12403 lw s0,28(sp) +800010c4: 02010113 addi sp,sp,32 +800010c8: 00008067 ret + +800010cc
: +800010cc: fe010113 addi sp,sp,-32 +800010d0: 00112e23 sw ra,28(sp) +800010d4: 00812c23 sw s0,24(sp) +800010d8: 02010413 addi s0,sp,32 +800010dc: f7dff0ef jal ra,80001058 +800010e0: 00800713 li a4,8 +800010e4: 00100693 li a3,1 +800010e8: 810057b7 lui a5,0x81005 +800010ec: 9b078613 addi a2,a5,-1616 # 810049b0 +800010f0: 810047b7 lui a5,0x81004 +800010f4: 9b078593 addi a1,a5,-1616 # 810039b0 +800010f8: 810037b7 lui a5,0x81003 +800010fc: 9b078513 addi a0,a5,-1616 # 810029b0 +80001100: a49ff0ef jal ra,80000b48 +80001104: 810007b7 lui a5,0x81000 +80001108: 14478513 addi a0,a5,324 # 81000144 +8000110c: e1cff0ef jal ra,80000728 +80001110: 810007b7 lui a5,0x81000 +80001114: 16078513 addi a0,a5,352 # 81000160 +80001118: e10ff0ef jal ra,80000728 +8000111c: fe042623 sw zero,-20(s0) +80001120: 0540006f j 80001174 +80001124: fec42783 lw a5,-20(s0) +80001128: 0077f793 andi a5,a5,7 +8000112c: 00079863 bnez a5,8000113c +80001130: 810007b7 lui a5,0x81000 +80001134: 16c78513 addi a0,a5,364 # 8100016c +80001138: df0ff0ef jal ra,80000728 +8000113c: 810057b7 lui a5,0x81005 +80001140: fec42703 lw a4,-20(s0) +80001144: 00271713 slli a4,a4,0x2 +80001148: 9b078793 addi a5,a5,-1616 # 810049b0 +8000114c: 00f707b3 add a5,a4,a5 +80001150: 0007a783 lw a5,0(a5) +80001154: 00078513 mv a0,a5 +80001158: e0cff0ef jal ra,80000764 +8000115c: 810007b7 lui a5,0x81000 +80001160: 17078513 addi a0,a5,368 # 81000170 +80001164: dc4ff0ef jal ra,80000728 +80001168: fec42783 lw a5,-20(s0) +8000116c: 00178793 addi a5,a5,1 +80001170: fef42623 sw a5,-20(s0) +80001174: fec42703 lw a4,-20(s0) +80001178: 00700793 li a5,7 +8000117c: fae7d4e3 bge a5,a4,80001124 +80001180: 810007b7 lui a5,0x81000 +80001184: 17478513 addi a0,a5,372 # 81000174 +80001188: da0ff0ef jal ra,80000728 +8000118c: 00800713 li a4,8 +80001190: 00100693 li a3,1 +80001194: 810057b7 lui a5,0x81005 +80001198: 9b078613 addi a2,a5,-1616 # 810049b0 +8000119c: 810047b7 lui a5,0x81004 +800011a0: 9b078593 addi a1,a5,-1616 # 810039b0 +800011a4: 810037b7 lui a5,0x81003 +800011a8: 9b078513 addi a0,a5,-1616 # 810029b0 +800011ac: c25ff0ef jal ra,80000dd0 +800011b0: 810007b7 lui a5,0x81000 +800011b4: 14478513 addi a0,a5,324 # 81000144 +800011b8: d70ff0ef jal ra,80000728 +800011bc: 810007b7 lui a5,0x81000 +800011c0: 19878513 addi a0,a5,408 # 81000198 +800011c4: d64ff0ef jal ra,80000728 +800011c8: fe042423 sw zero,-24(s0) +800011cc: 0540006f j 80001220 +800011d0: fe842783 lw a5,-24(s0) +800011d4: 0077f793 andi a5,a5,7 +800011d8: 00079863 bnez a5,800011e8 +800011dc: 810007b7 lui a5,0x81000 +800011e0: 16c78513 addi a0,a5,364 # 8100016c +800011e4: d44ff0ef jal ra,80000728 +800011e8: 810057b7 lui a5,0x81005 +800011ec: fe842703 lw a4,-24(s0) +800011f0: 00271713 slli a4,a4,0x2 +800011f4: 9b078793 addi a5,a5,-1616 # 810049b0 +800011f8: 00f707b3 add a5,a4,a5 +800011fc: 0007a783 lw a5,0(a5) +80001200: 00078513 mv a0,a5 +80001204: d60ff0ef jal ra,80000764 +80001208: 810007b7 lui a5,0x81000 +8000120c: 17078513 addi a0,a5,368 # 81000170 +80001210: d18ff0ef jal ra,80000728 +80001214: fe842783 lw a5,-24(s0) +80001218: 00178793 addi a5,a5,1 +8000121c: fef42423 sw a5,-24(s0) +80001220: fe842703 lw a4,-24(s0) +80001224: 00700793 li a5,7 +80001228: fae7d4e3 bge a5,a4,800011d0 +8000122c: 810007b7 lui a5,0x81000 +80001230: 17478513 addi a0,a5,372 # 81000174 +80001234: cf4ff0ef jal ra,80000728 +80001238: 00000793 li a5,0 +8000123c: 00078513 mv a0,a5 +80001240: 01c12083 lw ra,28(sp) +80001244: 01812403 lw s0,24(sp) +80001248: 02010113 addi sp,sp,32 +8000124c: 00008067 ret Disassembly of section .rodata: @@ -1205,72 +1281,69 @@ 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: 0030 addi a2,sp,8 -81000042: 0000 unimp -81000044: 0031 c.nop 12 +81000040: 6f44 flw fs1,28(a4) +81000042: 656e flw fa0,216(sp) +81000044: 203a fld ft0,392(sp) 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 +81000048: 65766173 csrrsi sp,0x657,12 +8100004c: 2064 fld fs1,192(s0) +8100004e: 746e6f63 bltu t3,t1,810007ac +81000052: 7865 lui a6,0xffff9 +81000054: 0a74 addi a3,sp,284 81000056: 0000 unimp -81000058: 0036 c.slli zero,0xd -8100005a: 0000 unimp -8100005c: 00000037 lui zero,0x0 -81000060: 0038 addi a4,sp,8 -81000062: 0000 unimp -81000064: 0039 c.nop 14 -81000066: 0000 unimp -81000068: 0061 c.nop 24 -8100006a: 0000 unimp -8100006c: 0062 c.slli zero,0x18 -8100006e: 0000 unimp -81000070: 00000063 beqz zero,81000070 -81000074: 0064 addi s1,sp,12 -81000076: 0000 unimp -81000078: 0065 c.nop 25 -8100007a: 0000 unimp -8100007c: 0066 c.slli zero,0x19 +81000058: 6f66 flw ft10,88(sp) +8100005a: 6e75 lui t3,0x1d +8100005c: 2064 fld fs1,192(s0) +8100005e: 656d6f73 csrrsi t5,0x656,26 +81000062: 6874 flw fa3,84(s0) +81000064: 6e69 lui t3,0x1a +81000066: 6f662067 0x6f662067 +8100006a: 2072 fld ft0,280(sp) +8100006c: 000a3077 0xa3077 +81000070: 756e flw fa0,248(sp) +81000072: 5f6d li t5,-5 +81000074: 6874 flw fa3,84(s0) +81000076: 6572 flw fa0,28(sp) +81000078: 6461 lui s0,0x18 +8100007a: 00203a73 csrrc s4,frm,zero 8100007e: 0000 unimp -81000080: 000a c.slli zero,0x2 +81000080: 0030 addi a2,sp,8 81000082: 0000 unimp -81000084: 0030 addi a2,sp,8 +81000084: 0031 c.nop 12 81000086: 0000 unimp -81000088: 0031 c.nop 12 +81000088: 0032 c.slli zero,0xc 8100008a: 0000 unimp -8100008c: 0032 c.slli zero,0xc -8100008e: 0000 unimp -81000090: 00000033 add zero,zero,zero -81000094: 0034 addi a3,sp,8 +8100008c: 00000033 add zero,zero,zero +81000090: 0034 addi a3,sp,8 +81000092: 0000 unimp +81000094: 0035 c.nop 13 81000096: 0000 unimp -81000098: 0035 c.nop 13 +81000098: 0036 c.slli zero,0xd 8100009a: 0000 unimp -8100009c: 0036 c.slli zero,0xd -8100009e: 0000 unimp -810000a0: 00000037 lui zero,0x0 -810000a4: 0038 addi a4,sp,8 +8100009c: 00000037 lui zero,0x0 +810000a0: 0038 addi a4,sp,8 +810000a2: 0000 unimp +810000a4: 0039 c.nop 14 810000a6: 0000 unimp -810000a8: 0039 c.nop 14 +810000a8: 0061 c.nop 24 810000aa: 0000 unimp -810000ac: 0061 c.nop 24 +810000ac: 0062 c.slli zero,0x18 810000ae: 0000 unimp -810000b0: 0062 c.slli zero,0x18 -810000b2: 0000 unimp -810000b4: 00000063 beqz zero,810000b4 -810000b8: 0064 addi s1,sp,12 +810000b0: 00000063 beqz zero,810000b0 +810000b4: 0064 addi s1,sp,12 +810000b6: 0000 unimp +810000b8: 0065 c.nop 25 810000ba: 0000 unimp -810000bc: 0065 c.nop 25 +810000bc: 0066 c.slli zero,0x19 810000be: 0000 unimp -810000c0: 0066 c.slli zero,0x19 +810000c0: 000a c.slli zero,0x2 810000c2: 0000 unimp 810000c4: 0030 addi a2,sp,8 810000c6: 0000 unimp @@ -1294,244 +1367,270 @@ Disassembly of section .rodata: 810000ee: 0000 unimp 810000f0: 0062 c.slli zero,0x18 810000f2: 0000 unimp -810000f4: 00000063 beqz zero,810000f4 +810000f4: 00000063 beqz zero,810000f4 810000f8: 0064 addi s1,sp,12 810000fa: 0000 unimp 810000fc: 0065 c.nop 25 810000fe: 0000 unimp 81000100: 0066 c.slli zero,0x19 81000102: 0000 unimp -81000104: 2d2d jal 8100073e -81000106: 2d2d jal 81000740 -81000108: 2d2d jal 81000742 -8100010a: 2d2d jal 81000744 -8100010c: 2d2d jal 81000746 -8100010e: 2d2d jal 81000748 -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: 0a2d addi s4,s4,11 +81000104: 0030 addi a2,sp,8 +81000106: 0000 unimp +81000108: 0031 c.nop 12 +8100010a: 0000 unimp +8100010c: 0032 c.slli zero,0xc +8100010e: 0000 unimp +81000110: 00000033 add zero,zero,zero +81000114: 0034 addi a3,sp,8 +81000116: 0000 unimp +81000118: 0035 c.nop 13 +8100011a: 0000 unimp +8100011c: 0036 c.slli zero,0xd 8100011e: 0000 unimp -81000120: 4946 lw s2,80(sp) -81000122: 414e lw sp,208(sp) -81000124: 204c fld fa1,128(s0) -81000126: 414d li sp,19 -81000128: 0a54 addi a3,sp,276 +81000120: 00000037 lui zero,0x0 +81000124: 0038 addi a4,sp,8 +81000126: 0000 unimp +81000128: 0039 c.nop 14 8100012a: 0000 unimp -8100012c: 000a c.slli zero,0x2 +8100012c: 0061 c.nop 24 8100012e: 0000 unimp -81000130: 0020 addi s0,sp,8 +81000130: 0062 c.slli zero,0x18 81000132: 0000 unimp -81000134: 2d0a fld fs10,128(sp) -81000136: 2d2d jal 81000770 -81000138: 2d2d jal 81000772 -8100013a: 2d2d jal 81000774 -8100013c: 2d2d jal 81000776 -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: 000a c.slli zero,0x2 -81000156: 0000 unimp -81000158: 4946 lw s2,80(sp) -8100015a: 414e lw sp,208(sp) -8100015c: 204c fld fa1,128(s0) -8100015e: 4441 li s0,16 -81000160: 0a44 addi s1,sp,276 -81000162: 0000 unimp -81000164: 4946 lw s2,80(sp) -81000166: 414e lw sp,208(sp) -81000168: 204c fld fa1,128(s0) -8100016a: 0a627553 fsub.d fa0,ft4,ft6 +81000134: 00000063 beqz zero,81000134 +81000138: 0064 addi s1,sp,12 +8100013a: 0000 unimp +8100013c: 0065 c.nop 25 +8100013e: 0000 unimp +81000140: 0066 c.slli zero,0x19 +81000142: 0000 unimp +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: 0a2d addi s4,s4,11 +8100015e: 0000 unimp +81000160: 4946 lw s2,80(sp) +81000162: 414e lw sp,208(sp) +81000164: 204c fld fa1,128(s0) +81000166: 4441 li s0,16 +81000168: 0a44 addi s1,sp,276 +8100016a: 0000 unimp +8100016c: 000a c.slli zero,0x2 +8100016e: 0000 unimp +81000170: 0020 addi s0,sp,8 +81000172: 0000 unimp +81000174: 2d0a fld fs10,128(sp) +81000176: 2d2d jal 810007b0 +81000178: 2d2d jal 810007b2 +8100017a: 2d2d jal 810007b4 +8100017c: 2d2d jal 810007b6 +8100017e: 2d2d jal 810007b8 +81000180: 2d2d jal 810007ba +81000182: 2d2d jal 810007bc +81000184: 2d2d jal 810007be +81000186: 2d2d jal 810007c0 +81000188: 2d2d jal 810007c2 +8100018a: 2d2d jal 810007c4 +8100018c: 2d2d jal 810007c6 +8100018e: 2d2d jal 810007c8 +81000190: 2d2d jal 810007ca +81000192: 2d2d jal 810007cc +81000194: 000a c.slli zero,0x2 +81000196: 0000 unimp +81000198: 4946 lw s2,80(sp) +8100019a: 414e lw sp,208(sp) +8100019c: 204c fld fa1,128(s0) +8100019e: 0a627553 fsub.d fa0,ft4,ft6 ... Disassembly of section .data: -81000170 : -81000170: 0000 unimp -81000172: 8100 0x8100 -81000174: 0004 0x4 -81000176: 8100 0x8100 -81000178: 0008 0x8 -8100017a: 8100 0x8100 -8100017c: 000c 0xc -8100017e: 8100 0x8100 -81000180: 0010 0x10 -81000182: 8100 0x8100 -81000184: 0014 0x14 -81000186: 8100 0x8100 -81000188: 0018 0x18 -8100018a: 8100 0x8100 -8100018c: 001c 0x1c -8100018e: 8100 0x8100 -81000190: 0020 addi s0,sp,8 -81000192: 8100 0x8100 -81000194: 0024 addi s1,sp,8 -81000196: 8100 0x8100 -81000198: 0028 addi a0,sp,8 -8100019a: 8100 0x8100 -8100019c: 002c addi a1,sp,8 -8100019e: 8100 0x8100 -810001a0: 0030 addi a2,sp,8 -810001a2: 8100 0x8100 -810001a4: 0034 addi a3,sp,8 +810001a4 : +810001a4: 0000 unimp 810001a6: 8100 0x8100 -810001a8: 0038 addi a4,sp,8 +810001a8: 0004 0x4 810001aa: 8100 0x8100 -810001ac: 003c addi a5,sp,8 +810001ac: 0008 0x8 810001ae: 8100 0x8100 - -810001b0 : -810001b0: 0040 addi s0,sp,4 +810001b0: 000c 0xc 810001b2: 8100 0x8100 -810001b4: 0044 addi s1,sp,4 +810001b4: 0010 0x10 810001b6: 8100 0x8100 -810001b8: 0048 addi a0,sp,4 +810001b8: 0014 0x14 810001ba: 8100 0x8100 -810001bc: 004c addi a1,sp,4 +810001bc: 0018 0x18 810001be: 8100 0x8100 -810001c0: 0050 addi a2,sp,4 +810001c0: 001c 0x1c 810001c2: 8100 0x8100 -810001c4: 0054 addi a3,sp,4 +810001c4: 0020 addi s0,sp,8 810001c6: 8100 0x8100 -810001c8: 0058 addi a4,sp,4 +810001c8: 0024 addi s1,sp,8 810001ca: 8100 0x8100 -810001cc: 005c addi a5,sp,4 +810001cc: 0028 addi a0,sp,8 810001ce: 8100 0x8100 -810001d0: 0060 addi s0,sp,12 +810001d0: 002c addi a1,sp,8 810001d2: 8100 0x8100 -810001d4: 0064 addi s1,sp,12 +810001d4: 0030 addi a2,sp,8 810001d6: 8100 0x8100 -810001d8: 0068 addi a0,sp,12 +810001d8: 0034 addi a3,sp,8 810001da: 8100 0x8100 -810001dc: 006c addi a1,sp,12 +810001dc: 0038 addi a4,sp,8 810001de: 8100 0x8100 -810001e0: 0070 addi a2,sp,12 +810001e0: 003c addi a5,sp,8 810001e2: 8100 0x8100 -810001e4: 0074 addi a3,sp,12 + +810001e4 : +810001e4: 0080 addi s0,sp,64 810001e6: 8100 0x8100 -810001e8: 0078 addi a4,sp,12 +810001e8: 0084 addi s1,sp,64 810001ea: 8100 0x8100 -810001ec: 007c addi a5,sp,12 +810001ec: 0088 addi a0,sp,64 810001ee: 8100 0x8100 - -810001f0 : -810001f0: 0084 addi s1,sp,64 +810001f0: 008c addi a1,sp,64 810001f2: 8100 0x8100 -810001f4: 0088 addi a0,sp,64 +810001f4: 0090 addi a2,sp,64 810001f6: 8100 0x8100 -810001f8: 008c addi a1,sp,64 +810001f8: 0094 addi a3,sp,64 810001fa: 8100 0x8100 -810001fc: 0090 addi a2,sp,64 +810001fc: 0098 addi a4,sp,64 810001fe: 8100 0x8100 -81000200: 0094 addi a3,sp,64 +81000200: 009c addi a5,sp,64 81000202: 8100 0x8100 -81000204: 0098 addi a4,sp,64 +81000204: 00a0 addi s0,sp,72 81000206: 8100 0x8100 -81000208: 009c addi a5,sp,64 +81000208: 00a4 addi s1,sp,72 8100020a: 8100 0x8100 -8100020c: 00a0 addi s0,sp,72 +8100020c: 00a8 addi a0,sp,72 8100020e: 8100 0x8100 -81000210: 00a4 addi s1,sp,72 +81000210: 00ac addi a1,sp,72 81000212: 8100 0x8100 -81000214: 00a8 addi a0,sp,72 +81000214: 00b0 addi a2,sp,72 81000216: 8100 0x8100 -81000218: 00ac addi a1,sp,72 +81000218: 00b4 addi a3,sp,72 8100021a: 8100 0x8100 -8100021c: 00b0 addi a2,sp,72 +8100021c: 00b8 addi a4,sp,72 8100021e: 8100 0x8100 -81000220: 00b4 addi a3,sp,72 +81000220: 00bc addi a5,sp,72 81000222: 8100 0x8100 -81000224: 00b8 addi a4,sp,72 -81000226: 8100 0x8100 -81000228: 00bc addi a5,sp,72 -8100022a: 8100 0x8100 -8100022c: 00c0 addi s0,sp,68 -8100022e: 8100 0x8100 -81000230 : -81000230: 00c4 addi s1,sp,68 +81000224 : +81000224: 00c4 addi s1,sp,68 +81000226: 8100 0x8100 +81000228: 00c8 addi a0,sp,68 +8100022a: 8100 0x8100 +8100022c: 00cc addi a1,sp,68 +8100022e: 8100 0x8100 +81000230: 00d0 addi a2,sp,68 81000232: 8100 0x8100 -81000234: 00c8 addi a0,sp,68 +81000234: 00d4 addi a3,sp,68 81000236: 8100 0x8100 -81000238: 00cc addi a1,sp,68 +81000238: 00d8 addi a4,sp,68 8100023a: 8100 0x8100 -8100023c: 00d0 addi a2,sp,68 +8100023c: 00dc addi a5,sp,68 8100023e: 8100 0x8100 -81000240: 00d4 addi a3,sp,68 +81000240: 00e0 addi s0,sp,76 81000242: 8100 0x8100 -81000244: 00d8 addi a4,sp,68 +81000244: 00e4 addi s1,sp,76 81000246: 8100 0x8100 -81000248: 00dc addi a5,sp,68 +81000248: 00e8 addi a0,sp,76 8100024a: 8100 0x8100 -8100024c: 00e0 addi s0,sp,76 +8100024c: 00ec addi a1,sp,76 8100024e: 8100 0x8100 -81000250: 00e4 addi s1,sp,76 +81000250: 00f0 addi a2,sp,76 81000252: 8100 0x8100 -81000254: 00e8 addi a0,sp,76 +81000254: 00f4 addi a3,sp,76 81000256: 8100 0x8100 -81000258: 00ec addi a1,sp,76 +81000258: 00f8 addi a4,sp,76 8100025a: 8100 0x8100 -8100025c: 00f0 addi a2,sp,76 +8100025c: 00fc addi a5,sp,76 8100025e: 8100 0x8100 -81000260: 00f4 addi a3,sp,76 +81000260: 0100 addi s0,sp,128 81000262: 8100 0x8100 -81000264: 00f8 addi a4,sp,76 + +81000264 : +81000264: 0104 addi s1,sp,128 81000266: 8100 0x8100 -81000268: 00fc addi a5,sp,76 +81000268: 0108 addi a0,sp,128 8100026a: 8100 0x8100 -8100026c: 0100 addi s0,sp,128 +8100026c: 010c addi a1,sp,128 8100026e: 8100 0x8100 +81000270: 0110 addi a2,sp,128 +81000272: 8100 0x8100 +81000274: 0114 addi a3,sp,128 +81000276: 8100 0x8100 +81000278: 0118 addi a4,sp,128 +8100027a: 8100 0x8100 +8100027c: 011c addi a5,sp,128 +8100027e: 8100 0x8100 +81000280: 0120 addi s0,sp,136 +81000282: 8100 0x8100 +81000284: 0124 addi s1,sp,136 +81000286: 8100 0x8100 +81000288: 0128 addi a0,sp,136 +8100028a: 8100 0x8100 +8100028c: 012c addi a1,sp,136 +8100028e: 8100 0x8100 +81000290: 0130 addi a2,sp,136 +81000292: 8100 0x8100 +81000294: 0134 addi a3,sp,136 +81000296: 8100 0x8100 +81000298: 0138 addi a4,sp,136 +8100029a: 8100 0x8100 +8100029c: 013c addi a5,sp,136 +8100029e: 8100 0x8100 +810002a0: 0140 addi s0,sp,132 +810002a2: 8100 0x8100 Disassembly of section .bss: -81000270 : +810002a4 : ... -8100028c : -8100028c: 0000 unimp +810002c0 : +810002c0: 0000 unimp ... -81000290 : +810002c4 : ... -810028b0 : +81000344 : ... -810028cc : -810028cc: 0000 unimp +81002964 : ... -810028d0 : +81002980 : +81002980: 0000 unimp ... -810028e4 : +81002984 : ... -810028fc : +81002998 : ... -810038fc : +810029b0 : ... -810048fc : +810039b0 : ... -810058fc : +810049b0 : ... -81005918 : -81005918: 0000 unimp +810059b0 : + ... + +810059cc : +810059cc: 0000 unimp ... Disassembly of section .comment: diff --git a/src/vortex_software/vortex_test.elf b/src/vortex_software/vortex_test.elf index 5ad4ab48..da76494c 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 8a5198e7..efd68fb6 100644 --- a/src/vortex_software/vortex_test.hex +++ b/src/vortex_software/vortex_test.hex @@ -1,318 +1,340 @@ :0200000480007A -:1000000037F1FF7FEF008006EF00D06F7300000034 +:1000000037F1FF7FEF008018EF10400C7300000005 :10001000938B0600130D0700130F010093030500D7 :1000200013051000635C75001301018013030500C4 :100030006B500300130515006FF0DFFE13010F0076 :1000400013050000930F0600938D0300EBE0BF0142 -:1000500017050000130505086B4005001703000095 -:10006000130343FB6B00030067800000130101FED4 -:10007000232E1100232C810013040102232604FEE9 -:100080006F0000030327C4FE9307404C3307F702B9 -:10009000B707008193870729B307F7001385070087 -:1000A000EF00C0378327C4FE938717002326F4FE92 -:1000B0000327C4FE93077000E3D6E7FC130000009B -:1000C0008320C10103248101130101026780000024 -:1000D000130101FD23261102232481022322A103FF -:1000E0001304010313070D009307404C3307F70275 -:1000F000B707008193870729B307F7001385070027 -:10010000EF000043930705006382070213070D0009 -:10011000B70700811317270093870727B307F70056 -:100120001307100023A0E7007300000013070D0061 -:100130009307404C3307F702B707008193870729DD -:10014000B307F700130784FD930507001385070025 -:10015000EF008035832704FE138107008327C4FD49 -:10016000832584FD032644FE832684FE0327C4FEE4 -:1001700013850700EFF0DFE97300000013000000B3 -:100180008320C10203248102032D410213010103D4 -:1001900067800000130101FD232611022324810240 -:1001A0001304010393090100232604FE6F00400895 -:1001B0000327C4FE9307404C3307F702B7070081BB -:1001C00093870729B307F70013850700EF00403630 -:1001D00093070500639807040327C4FE9307404C68 -:1001E0003307F702B707008193870729B307F700A2 -:1001F000130744FD9305070013850700EF00C02A8D -:100200008327C4FD13810700832784FD832544FDD4 -:10021000032604FE832644FE032784FE138507007D -:10022000EFF0DFE38327C4FE938717002326F4FE55 -:100230000327C4FE93076000E3DCE7F6138109009F -:10024000130000008320C102032481021301010373 -:1002500067800000130101FC232E1102232C810270 -:10026000130401042326A4FC2324B4FC2322C4FC8D -:100270002320D4FCEFF09FDF13090100232604FEA6 -:10028000232404FE6F00C008B709FFFF33013101CA -:10029000832784FE2328F4FC832784FC232AF4FC90 -:1002A00093070100232CF4FC832744FC232EF4FC49 -:1002B000832704FC2320F4FE8327C4FE2322F4FEBC -:1002C0000327C4FE9307404C3307F702B7070081AA -:1002D00093870729B307F700130704FD9305070069 -:1002E00013850700EF00C0158327C4FE938717000E -:1002F0002326F4FE0327C4FE9307600063D4E700BF -:10030000232604FE832784FE938717002324F4FE0C -:10031000032784FE8327C4FCE368F7F61301090072 -:10032000EFF05FE7130000008320C1030324810383 -:100330001301010467800000130101FD23268102DF -:1003400013040103232EA4FC232604FE6F004005A2 -:10035000232604FE232404FE6F00C003B707008198 -:10036000032784FE1317270093870727B307F70097 -:1003700003A70700930710006318F7008327C4FE44 -:10038000938717002326F4FE832784FE93871700A4 -:100390002324F4FE032784FE93077000E3D0E7FCD8 -:1003A0000327C4FE8327C4FDE314F7FA232204FEC7 -:1003B0006F008002B7070081032744FE1317270050 -:1003C00093870727B307F70023A00700832744FE7E -:1003D000938717002322F4FE832744FE0327C4FDDE -:1003E000E3EAE7FC130000000324C1021301010348 -:1003F00067800000130101FF23268100232471017F -:100400001304010193870B00138507000324C10027 -:10041000832B810013010101678000009302050016 -:10042000130300009303700023A0620023A2620064 -:1004300023A4620023A6720023A862006780000044 -:100440009302050003A382001303130023A4620098 -:100450001383420183AE420093935E003303730023 -:1004600003AE05002320C30103AE45002322C301D0 -:1004700003AE85002324C30103AEC5002326C301B8 -:1004800003AE05012328C30103AE4501232AC3019E -:10049000938E1E00130F20036394EE01930E000051 -:1004A00023A2D201678000009302050003A382000B -:1004B0001303F3FF23A462001383420183AE0200FF -:1004C000930F2003138F0E00130F1F006314FF01FF -:1004D000130F000023A0E20193935E003303730027 -:1004E000032E030023A0C501032E430023A2C50150 -:1004F000032E830023A4C501032EC30023A6C50138 -:10050000032E030123A8C501032E430123AAC5011D -:10051000678000009302050003A38200130500001A -:10052000130E200363146E0013051500678000008E -:100530009302050003A3820013050000130E0000C0 -:1005400063146E0013051500678000009302050018 -:1005500003A3C20083A3020133B5630067800000D8 -:10056000130141FF232011002322B1008345050020 -:1005700063880500EF00C001130515006FF01FFF31 -:1005800083200100832541001301C1006780000022 -:10059000B708010023A0B80067800000130101FD27 -:1005A000232611022324810213040103232EA4FC19 -:1005B0000327C4FD9307F00063E4E702B707008157 -:1005C0000327C4FD131727009387071BB307F70002 -:1005D00083A7070013850700EFF09FF86F0040071F -:1005E000930700022326F4FEA30504FE8327C4FE1E -:1005F0009387C7FF0327C4FDB357F70093F7F700AE -:100600002322F4FE832744FE63860700930710002D -:10061000A305F4FE8347B4FE63820702B707008197 -:10062000032744FE131727009387071BB307F70020 -:1006300083A7070013850700EFF09FF28327C4FE0E -:100640009387C7FF2326F4FE8327C4FEE340F0FA16 -:100650008320C1020324810213010103678000008B -:10066000130101FE232E1100232C8100130401022B -:100670002326A4FE2324B4FE0325C4FEEFF05FEE80 -:10068000032584FEEFF09FF1B7070081138507086B -:10069000EFF01FED130000008320C101032481014E -:1006A0001301010267800000130101FD23261102DE -:1006B0002324810213040103232EA4FC232CB4FC65 -:1006C000232AC4FC2328D4FCB73700810327C4FDA8 -:1006D00023A8E78CB73700819387078D032784FD14 -:1006E00023A2E700B73700819387078D032744FDD6 -:1006F00023A4E700B73700819387078D032704FD04 -:1007000023A6E700832704FD93D737002326F4FEB2 -:10071000832704FD93F77700638807008327C4FECF -:10072000938717002326F4FEB73700819387078D40 -:100730000327C4FE23A8E700032704FD93077000E6 -:1007400063F2E702B73700819386078DB707008011 -:100750001386477B93058000032504FDEFF09FAFD0 -:100760006F000002B73700819386078DB7070080BE -:100770001386477B832504FD032504FDEFF09FAD21 -:10078000032704FD9307700063F8E700130570006A -:10079000EFF09FBA6F00C000032504FDEFF0DFB952 -:1007A000130000008320C10203248102130101030E -:1007B00067800000130101FA232E1104232C810409 -:1007C000130401062326A4FA2324B4FAEFF09FC2EF -:1007D000232CA4FC832784FD83A70700232AF4FC91 -:1007E000832784FD83A747002328F4FC832784FD07 -:1007F00083A787002326F4FC832784FD83A70701B2 -:100800002326F4FE0327C4FE8327C4FAB307F702A6 -:100810002324F4FE8327C4FE639A07009307100085 -:100820002326F4FE8327C4FA2324F4FE832784FDC1 -:1008300083A7C7002324F4FC232204FE6F00401288 -:10084000232004FE232E04FC6F008007032784FA74 -:10085000832784FCB307F7020327C4FDB307F7001F -:100860002322F4FC032784FC8327C4FDB307F7028B -:10087000032784FEB307F7002320F4FC832744FCFE -:1008800093972700032744FDB307F70003A707004A -:10089000832704FC93972700832604FDB387F60083 -:1008A00083A70700B307F702032704FEB307F70087 -:1008B0002320F4FE8327C4FD93871700232EF4FC26 -:1008C0000327C4FD832784FCE362F7F8032784FA37 -:1008D000832784FC3307F702832784FEB307F700DE -:1008E000232EF4FA032784FE832784FCB337F70012 -:1008F00093F7F70F232CF4FA832784FB93B71700A1 -:10090000A30BF4FA834774FB138F0700B71700801B -:10091000938FC7946B200F007B70FF018327C4FB6C -:10092000939727000327C4FCB307F700032704FEAF -:1009300023A0E700832784FE938717002324F4FE77 -:10094000B7170080138E079567000E001300000094 -:100950006B300000832744FE938717002322F4FEA8 -:10096000832744FE0327C4FEE3ECE7EC13000000FA -:100970008320C1050324810513010106678000005F -:10098000130101FC232E1102232C81021304010404 -:10099000232EA4FC232CB4FC232AC4FC2328D4FC3F -:1009A0002326E4FCB73700810327C4FD23A2E78E8A -:1009B000B73700819387478E032784FD23A2E70082 -:1009C000B73700819387478E032744FD23A4E700B0 -:1009D000B73700819387478E0327C4FC23A6E7001F -:1009E000B73700819387478E032704FD23A8E700CC -:1009F0008327C4FC93D737002326F4FE8327C4FC47 -:100A000093F77700638807008327C4FE9387170056 -:100A10002326F4FEB73700819387478E0327C4FE51 -:100A200023AAE7000327C4FC9307700063F2E702E0 -:100A3000B73700819386478EB7170080138607AAC1 -:100A400093058000032504FDEFF0DF806F000002B6 -:100A5000B73700819386478EB7170080138607AAA1 -:100A60008325C4FC032504FDEFF0CFFE032704FD1E -:100A70009307700063F8E70013057000EFF0DF8B59 -:100A80006F00C000032504FDEFF01F8B1300000072 -:100A90008320C10303248103130101046780000044 -:100AA000130101FB232611042324810413040105EF -:100AB000232EA4FA232CB4FAEFF0DF932320A4FE14 -:100AC000832704FE83A70700232EF4FC832704FE5C -:100AD00083A74700232CF4FC832704FE83A7870009 -:100AE000232AF4FC832704FE83A747012326F4FE70 -:100AF0000327C4FE8327C4FBB307F7022324F4FEB5 -:100B00008327C4FE639A0700930710002326F4FE90 -:100B10008327C4FB2324F4FE832704FE83A7C70096 -:100B20002328F4FC232204FE6F00000C032784FB1F -:100B3000832704FD3307F702832784FEB307F700FA -:100B40002326F4FC032784FE832704FDB337F70034 -:100B500093F7F70F2324F4FC832784FC93B7170043 -:100B6000A303F4FC834774FC138F0700B7170080BE -:100B7000938F47BD6B200F007B70FF018327C4FC60 -:100B8000939727000327C4FDB307F70083A6070048 -:100B90008327C4FC93972700032784FDB307F7003E -:100BA00003A707008327C4FC93972700032644FD6F -:100BB000B307F6003387E60023A0E700832784FE0F -:100BC000938717002324F4FEB7170080138E87BD88 -:100BD00067000E00130000006B300000832744FE06 -:100BE000938717002322F4FE832744FE0327C4FEC5 -:100BF000E3EEE7F2130000008320C1040324810424 -:100C00001301010567800000130101FC232E11026E -:100C1000232C810213040104232EA4FC232CB4FCF6 -:100C2000232AC4FC2328D4FC2326E4FCB737008104 -:100C30000327C4FD23A2E78EB73700819387478E31 -:100C4000032784FD23A2E700B73700819387478EEF -:100C5000032744FD23A4E700B73700819387478E1D -:100C60000327C4FC23A6E700B73700819387478E8C -:100C7000032704FD23A8E7008327C4FC93D737008C -:100C80002326F4FE8327C4FC93F7770063880700CC -:100C90008327C4FE938717002326F4FEB73700810D -:100CA0009387478E0327C4FE23AAE7000327C4FCCB -:100CB0009307700063F2E702B73700819386478E8F -:100CC000B7170080138687D293058000032504FDA3 -:100CD000EFF04FD86F000002B73700819386478E40 -:100CE000B7170080138687D28325C4FC032504FD33 -:100CF000EFF04FD6032704FD9307700063F8E70079 -:100D000013057000EFF04FE36F00C000032504FDF2 -:100D1000EFF08FE2130000008320C103032481035E -:100D20001301010467800000130101FB2326110455 -:100D30002324810413040105232EA4FA232CB4FADE -:100D4000EFF04FEB2320A4FE832704FE83A70700C8 -:100D5000232EF4FC832704FE83A74700232CF4FCF6 -:100D6000832704FE83A78700232AF4FC832704FE3D -:100D700083A747012326F4FE0327C4FE8327C4FB71 -:100D8000B307F7022324F4FE8327C4FE639A070007 -:100D9000930710002326F4FE8327C4FB2324F4FECC -:100DA000832704FE83A7C7002328F4FC232204FE24 -:100DB0006F00000C032784FB832704FD3307F70231 -:100DC000832784FEB307F7002326F4FC032784FE61 -:100DD000832704FDB337F70093F7F70F2324F4FCC0 -:100DE000832784FC93B71700A303F4FC834774FCA8 -:100DF000138F0700B7170080938FC7E56B200F0094 -:100E00007B70FF018327C4FC939727000327C4FD51 -:100E1000B307F70083A607008327C4FC9397270036 -:100E2000032784FDB307F70003A707008327C4FC4B -:100E300093972700032644FDB307F6003387E64067 -:100E400023A0E700832784FE938717002324F4FE62 -:100E5000B7170080138E07E667000E00130000002E -:100E60006B300000832744FE938717002322F4FE93 -:100E7000832744FE0327C4FEE3EEE7F213000000DD -:100E80008320C1040324810413010105678000004D -:100E9000130101FE232E810013040102232604FE08 -:100EA0006F008004B73700810327C4FE13172700A3 -:100EB0009387C78FB307F7001307300023A0E7001D -:100EC000B74700810327C4FE131727009387C78FF6 -:100ED000B307F7001307200023A0E7008327C4FE11 -:100EE000938717002326F4FE0327C4FE9307F03FE1 -:100EF000E3DAE7FA130000000324C1011301010241 -:100F000067800000130101FE232E1100232C8100B5 -:100F100013040102EFF0DFF793060002B7570081D8 -:100F20001386C78FB74700819385C78FB737008176 -:100F30001385C78FEFF04FF7B70700811385471070 -:100F4000EFF00FE2B707008113850712EFF04FE1D2 -:100F5000232604FE6F0040058327C4FE93F7F701A4 -:100F600063980700B70700811385C712EFF04FDFC2 -:100F7000B75700810327C4FE131727009387C78F35 -:100F8000B307F70083A7070013850700EFF00FE111 -:100F9000B707008113850713EFF08FDC8327C4FEAA -:100FA000938717002326F4FE0327C4FE9307F03F20 -:100FB000E3D4E7FAB707008113854713EFF04FDA60 -:100FC0001307000293060002B75700811386C78FEC -:100FD000B74700819385C78FB73700811385C78FC7 -:100FE000EFF01F9AB707008113854710EFF04FD736 -:100FF000B707008113858715EFF08FD6232404FEF1 -:101000006F004005832784FE93F7F701639807007C -:10101000B70700811385C712EFF08FD4B75700814F -:10102000032784FE131727009387C78FB307F700A2 -:1010300083A7070013850700EFF04FD6B70700819D -:1010400013850713EFF0CFD1832784FE9387170012 -:101050002324F4FE032784FE9307F03FE3D4E7FA4A -:10106000B707008113854713EFF08FCF13070002F6 -:1010700093060002B75700811386C78FB7470081D8 -:101080009385C78FB73700811385C78FEFF0DFB720 -:10109000B707008113854710EFF08FCCB7070081A9 -:1010A00013854716EFF0CFCB232204FE6F004005D7 -:1010B000832744FE93F7F70163980700B707008181 -:1010C0001385C712EFF0CFC9B7570081032744FE3D -:1010D000131727009387C78FB307F70083A707006D -:1010E00013850700EFF08FCBB70700811385071337 -:1010F000EFF00FC7832744FE938717002322F4FEE7 -:10110000032744FE9307F03FE3D4E7FAB7070081D3 -:1011100013854713EFF0CFC4930700001385070032 -:101120008320C101032481011301010267800000B3 +:10005000170500001305051A6B4005001703000083 +:10006000130343FB6B0003006780000017020001CD +:1000700013028225232002002322120023242200BF +:100080002326320023284200232A5200232C620018 +:10009000232E720023208202232292022324A20212 +:1000A0002326B2022328C202232AD202232CE202F0 +:1000B000232EF202232002052322120523242205E7 +:1000C0002326320523284205232A5205232C6205C4 +:1000D000232E720523208207232292072324A207BE +:1000E0002326B2072328C207232AD207232CE2079C +:1000F000232EF20713021000678000001702000190 +:100100001302821C0320020083204200032182008C +:100110008321C200032202018322420103238201C0 +:100120008323C201032402028324420203258202A4 +:100130008325C20203260203832642030327820388 +:100140008327C2030328020483284204032982046C +:100150008329C204032A0205832A4205032B820550 +:10016000832BC205032C0206832C4206032D820634 +:10017000832DC206032E0207832E4207032F820718 +:10018000832FC2071302000067800000130101FEE5 +:10019000232E1100232C810013040102232604FEC8 +:1001A0006F0000030327C4FE9307404C3307F70298 +:1001B000B707008193874734B307F700138507001B +:1001C000EF0040428327C4FE938717002326F4FEE6 +:1001D0000327C4FE93077000E3D6E7FC130000007A +:1001E0008320C10103248101130101026780000003 +:1001F000130101FD23261102232481022322A103DE +:100200001304010313070D009307404C3307F70253 +:10021000B707008193874734B307F70013850700BA +:10022000EF00804D930705006384070493070D00DA +:1002300093850700B707008113850704EF00C05EB0 +:1002400013070D00B7070081131727009387472A6C +:10025000B307F7001307100023A0E70093070D0072 +:1002600063960700EFF09FE96F00800573000000C0 +:1002700013070D009307404C3307F702B7070081BF +:1002800093874734B307F700130784FD93050700EE +:1002900013850700EF00C03D832704FE138107008C +:1002A0008327C4FD832584FD032644FE832684FE24 +:1002B0000327C4FE13850700EFF09FD573000000ED +:1002C0008320C10203248102032D41021301010393 +:1002D00067800000130101FB2326110423248104FD +:1002E0001304010593090100930710002326F4FE6F +:1002F0006F0040080327C4FE9307404C3307F70202 +:10030000B707008193874734B307F70013850700C9 +:10031000EF00803E93070500639807040327C4FE9F +:100320009307404C3307F702B707008193874734A0 +:10033000B307F700130744FD930507001385070073 +:10034000EF0000338327C4FD13810700832784FD5A +:10035000832544FD032604FE832644FE032784FEF2 +:1003600013850700EFF09FCF8327C4FE9387170004 +:100370002326F4FE0327C4FE93077000E3DCE7F6B0 +:1003800013810900EFF09FCEB70700811385870422 +:10039000EF0080399307020063880706B7070081E2 +:1003A00013854734EF00403593070500639E07042B +:1003B000B707008113858705EF0000379307C4FB5B +:1003C00093850700B707008113854734EF00402A63 +:1003D000832704FC93850700B7070081138507076F +:1003E000EF008044832744FC13810700832704FC2B +:1003F0008325C4FB032684FC8326C4FC032704FD59 +:1004000013850700EFF0DFC0130000008320C10454 +:10041000032481041301010567800000130101FC1E +:10042000232E1102232C8102130401042326A4FC91 +:100430002324B4FC2322C4FC2320D4FCEFF01FD5DA +:1004400013090100232604FE232404FE6F00C008C4 +:10045000B709FFFF33013101832784FE2328F4FC11 +:10046000832784FC232AF4FC93070100232CF4FC4B +:10047000832744FC232EF4FC832704FC2320F4FE72 +:100480008327C4FE2322F4FE0327C4FE9307404CB7 +:100490003307F702B707008193874734B307F700A4 +:1004A000130704FD9305070013850700EF00C0152F +:1004B0008327C4FE938717002326F4FE0327C4FE78 +:1004C0009307700063D4E700232604FE832784FE8D +:1004D000938717002324F4FE032784FE8327C4FC9C +:1004E000E368F7F613010900EFF0DFDE1300000008 +:1004F0008320C103032481031301010467800000EA +:10050000130101FD2326810213040103232EA4FC01 +:10051000232604FE6F004005232604FE232404FE48 +:100520006F00C003B7070081032784FE131727005D +:100530009387472AB307F70003A707009307100024 +:100540006318F7008327C4FE938717002326F4FE61 +:10055000832784FE938717002324F4FE032784FE59 +:1005600093077000E3D0E7FC0327C4FE8327C4FD94 +:10057000E314F7FA232204FE6F008002B70700811C +:10058000032744FE131727009387472AB307F70072 +:1005900023A00700832744FE938717002322F4FE3D +:1005A000832744FE0327C4FDE3EAE7FC13000000B1 +:1005B0000324C1021301010367800000130101FF3E +:1005C00023268100232471011304010193870B006A +:1005D000138507000324C100832B8100130101014F +:1005E000678000009302050013030000930370006E +:1005F00023A0620023A2620023A4620023A672004B +:1006000023A86200678000009302050003A3820014 +:100610001303130023A462001383420183AE42003C +:1006200093935E003303730003AE05002320C301E0 +:1006300003AE45002322C30103AE85002324C3017A +:1006400003AEC5002326C30103AE05012328C30161 +:1006500003AE4501232AC301938E1E00130F20030E +:100660006394EE01930E000023A2D2016780000084 +:100670009302050003A382001303F3FF23A4620087 +:100680001383420183AE0200930F2003138F0E00E9 +:10069000130F1F006314FF01130F000023A0E201DA +:1006A00093935E0033037300032E030023A0C50160 +:1006B000032E430023A2C501032E830023A4C501FA +:1006C000032EC30023A6C501032E030123A8C501E1 +:1006D000032E430123AAC501678000009302050091 +:1006E00003A3820013050000130E200363146E00A1 +:1006F00013051500678000009302050003A3820024 +:1007000013050000130E000063146E00130515009E +:10071000678000009302050003A3C20083A30201C7 +:1007200033B5630067800000130141FF23201100EF +:100730002322B1008345050063880500EF00C00156 +:10074000130515006FF01FFF832001008325410072 +:100750001301C10067800000B708010023A0B800A2 +:1007600067800000130101FD23261102232481026A +:1007700013040103232EA4FC0327C4FD9307F000F8 +:1007800063E4E702B70700810327C4FD13172700BE +:100790009387471EB307F70083A707001385070059 +:1007A000EFF09FF86F004007930700022326F4FE46 +:1007B000A30504FE8327C4FE9387C7FF0327C4FD58 +:1007C000B357F70093F7F7002322F4FE832744FE84 +:1007D0006386070093071000A305F4FE8347B4FE69 +:1007E00063820702B7070081032744FE131727001F +:1007F0009387471EB307F70083A7070013850700F9 +:10080000EFF09FF28327C4FE9387C7FF2326F4FEF1 +:100810008327C4FEE340F0FA8320C102032481024F +:100820001301010367800000130101FE232E110054 +:10083000232C8100130401022326A4FE2324B4FEEA +:100840000325C4FEEFF05FEE032584FEEFF09FF179 +:10085000B70700811385070CEFF01FED13000000B0 +:100860008320C1010324810113010102678000007C +:10087000130101FD23261102232481021304010325 +:10088000232EA4FC232CB4FC232AC4FC2328D4FC50 +:10089000B73700810327C4FD23A2E798B73700814B +:1008A00093874798032784FD23A2E700B737008189 +:1008B00093874798032744FD23A4E700B7370081B7 +:1008C00093874798032704FD23A6E700832704FDA9 +:1008D00093D737002326F4FE832704FD93F7770090 +:1008E000638807008327C4FE938717002326F4FE3E +:1008F000B7370081938747980327C4FE23A8E700F2 +:10090000032704FD9307700063F2E702B737008105 +:1009100093864798B71700801386C7979305800082 +:10092000032504FDEFF09FAF6F000002B737008191 +:1009300093864798B71700801386C797832504FDD1 +:10094000032504FDEFF09FAD032704FD930780000E +:1009500063F8E70013058000EFF09FBA6F00C00056 +:10096000032504FDEFF0DFB9130000008320C1026E +:10097000032481021301010367800000130101FABF +:10098000232E1104232C8104130401062326A4FA28 +:100990002324B4FAEFF09FC2232CA4FC832784FD08 +:1009A00083A70700232AF4FC832784FD83A747003D +:1009B0002328F4FC832784FD83A787002326F4FCE7 +:1009C000832784FD83A707012326F4FE0327C4FEA3 +:1009D0008327C4FAB307F7022324F4FE8327C4FE57 +:1009E000639A0700930710002326F4FE8327C4FAB6 +:1009F0002324F4FE832784FD83A7C7002324F4FC6B +:100A0000232204FE6F004012232004FE232E04FC48 +:100A10006F008007032784FA832784FCB307F7025B +:100A20000327C4FDB307F7002322F4FC032784FC4B +:100A30008327C4FDB307F702032784FEB307F7003B +:100A40002320F4FC832744FC93972700032744FDCD +:100A5000B307F70003A70700832704FC9397270039 +:100A6000832604FDB387F60083A70700B307F702C8 +:100A7000032704FEB307F7002320F4FE8327C4FDF9 +:100A800093871700232EF4FC0327C4FD832784FCDF +:100A9000E362F7F8032784FA832784FC3307F7021D +:100AA000832784FEB307F700232EF4FA032784FE7E +:100AB000832784FCB337F70093F7F70F232CF4FA5E +:100AC000832784FB93B71700A30BF4FA834774FBC7 +:100AD000138F0700B7170080938F47B16B200F006B +:100AE0007B70FF018327C4FB939727000327C4FC77 +:100AF000B307F700032704FE23A0E700832784FE43 +:100B0000938717002324F4FEB7170080138E87B154 +:100B100067000E00130000006B300000832744FEC6 +:100B2000938717002322F4FE832744FE0327C4FE85 +:100B3000E3ECE7EC130000008320C10503248105EA +:100B40001301010667800000130101FC232E11022E +:100B5000232C810213040104232EA4FC232CB4FCB7 +:100B6000232AC4FC2328D4FC2326E4FCB7370081C5 +:100B70000327C4FD23ACE798B73700819387879993 +:100B8000032784FD23A2E700B73700819387879965 +:100B9000032744FD23A4E700B73700819387879993 +:100BA0000327C4FC23A6E700B73700819387879902 +:100BB000032704FD23A8E7008327C4FC93D737004D +:100BC0002326F4FE8327C4FC93F77700638807008D +:100BD0008327C4FE938717002326F4FEB7370081CE +:100BE000938787990327C4FE23AAE7000327C4FC41 +:100BF0009307700063F2E702B73700819386879905 +:100C0000B7170080138687C693058000032504FD6F +:100C1000EFF0DF806F000002B7370081938687997D +:100C2000B7170080138687C68325C4FC032504FDFF +:100C3000EFF0CFFE032704FD9307800063F8E70081 +:100C400013058000EFF0DF8B6F00C000032504FD6B +:100C5000EFF01F8B130000008320C10303248103E6 +:100C60001301010467800000130101FB2326110416 +:100C70002324810413040105232EA4FA232CB4FA9F +:100C8000EFF0DF932320A4FE832704FE83A7070051 +:100C9000232EF4FC832704FE83A74700232CF4FCB7 +:100CA000832704FE83A78700232AF4FC832704FEFE +:100CB00083A747012326F4FE0327C4FE8327C4FB32 +:100CC000B307F7022324F4FE8327C4FE639A0700C8 +:100CD000930710002326F4FE8327C4FB2324F4FE8D +:100CE000832704FE83A7C7002328F4FC232204FEE5 +:100CF0006F00000C032784FB832704FD3307F702F2 +:100D0000832784FEB307F7002326F4FC032784FE21 +:100D1000832704FDB337F70093F7F70F2324F4FC80 +:100D2000832784FC93B71700A303F4FC834774FC68 +:100D3000138F0700B7170080938FC7D96B200F0060 +:100D40007B70FF018327C4FC939727000327C4FD12 +:100D5000B307F70083A607008327C4FC93972700F7 +:100D6000032784FDB307F70003A707008327C4FC0C +:100D700093972700032644FDB307F6003387E60068 +:100D800023A0E700832784FE938717002324F4FE23 +:100D9000B7170080138E07DA67000E0013000000FB +:100DA0006B300000832744FE938717002322F4FE54 +:100DB000832744FE0327C4FEE3EEE7F2130000009E +:100DC0008320C1040324810413010105678000000E +:100DD000130101FC232E1102232C810213040104B0 +:100DE000232EA4FC232CB4FC232AC4FC2328D4FCEB +:100DF0002326E4FCB73700810327C4FD23ACE79822 +:100E0000B737008193878799032784FD23A2E700E2 +:100E1000B737008193878799032744FD23A4E70010 +:100E2000B7370081938787990327C4FC23A6E7007F +:100E3000B737008193878799032704FD23A8E7002C +:100E40008327C4FC93D737002326F4FE8327C4FCF2 +:100E500093F77700638807008327C4FE9387170002 +:100E60002326F4FEB7370081938787990327C4FEB2 +:100E700023AAE7000327C4FC9307700063F2E7028C +:100E8000B737008193868799B7170080138607EFDD +:100E900093058000032504FDEFF04FD86F0000029A +:100EA000B737008193868799B7170080138607EFBD +:100EB0008325C4FC032504FDEFF04FD6032704FD72 +:100EC0009307800063F8E70013058000EFF04FE31D +:100ED0006F00C000032504FDEFF08FE21300000057 +:100EE0008320C103032481031301010467800000F0 +:100EF000130101FB2326110423248104130401059B +:100F0000232EA4FA232CB4FAEFF04FEB2320A4FEF7 +:100F1000832704FE83A70700232EF4FC832704FE07 +:100F200083A74700232CF4FC832704FE83A78700B4 +:100F3000232AF4FC832704FE83A747012326F4FE1B +:100F40000327C4FE8327C4FBB307F7022324F4FE60 +:100F50008327C4FE639A0700930710002326F4FE3C +:100F60008327C4FB2324F4FE832704FE83A7C70042 +:100F70002328F4FC232204FE6F00000C032784FBCB +:100F8000832704FD3307F702832784FEB307F700A6 +:100F90002326F4FC032784FE832704FDB337F700E0 +:100FA00093F7F70F2324F4FC832784FC93B71700EF +:100FB000A303F4FC834774FC138F0700B71700806A +:100FC000938F47026B200F007B70FF018327C4FCC7 +:100FD000939727000327C4FDB307F70083A60700F4 +:100FE0008327C4FC93972700032784FDB307F700EA +:100FF00003A707008327C4FC93972700032644FD1B +:10100000B307F6003387E64023A0E700832784FE7A +:10101000938717002324F4FEB7170080138E8702EE +:1010200067000E00130000006B300000832744FEB1 +:10103000938717002322F4FE832744FE0327C4FE70 +:10104000E3EEE7F2130000008320C10403248104CF +:101050001301010567800000130101FE232E8100AA +:1010600013040102232604FE6F008004B7370081B9 +:101070000327C4FE131727009387079BB307F700C6 +:101080001307300023A0E700B74700810327C4FE01 +:10109000131727009387079BB307F7001307200058 +:1010A00023A0E7008327C4FE938717002326F4FEBE +:1010B0000327C4FE9307F003E3DAE7FA1300000006 +:1010C0000324C1011301010267800000130101FE26 +:1010D000232E1100232C810013040102EFF0DFF70F +:1010E0001307800093061000B75700811386079BF3 +:1010F000B74700819385079BB73700811385079B0E +:10110000EFF09FA4B707008113854714EFF0CFE1FC +:10111000B707008113850716EFF00FE1232604FEC1 +:101120006F0040058327C4FE93F77700639807009C +:10113000B70700811385C716EFF00FDFB75700819F +:101140000327C4FE131727009387079BB307F700F5 +:1011500083A7070013850700EFF0CFE0B7070081F2 +:1011600013850717EFF04FDC8327C4FE9387170022 +:101170002326F4FE0327C4FE93077000E3D4E7FAA6 +:10118000B707008113854717EFF00FDA13078000C8 +:1011900093061000B75700811386079BB74700815D +:1011A0009385079BB73700811385079BEFF05FC2DC +:1011B000B707008113854714EFF00FD7B7070081F9 +:1011C00013858719EFF04FD6232404FE6F004005E6 +:1011D000832784FE93F7770063980700B7070081A1 +:1011E0001385C716EFF04FD4B7570081032784FE4D +:1011F000131727009387079BB307F70083A7070000 +:1012000013850700EFF00FD6B70700811385071786 +:10121000EFF08FD1832784FE938717002324F4FEF9 +:10122000032784FE93077000E3D4E7FAB707008131 +:1012300013854717EFF04FCF930700001385070082 +:101240008320C10103248101130101026780000092 :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A :10002000380000003900000061000000620000009C :10003000630000006400000065000000660000002E -:1000400030000000310000003200000033000000EA -:1000500034000000350000003600000037000000CA -:10006000380000003900000061000000620000005C -:1000700063000000640000006500000066000000EE -:100080000A000000300000003100000032000000D3 -:10009000330000003400000035000000360000008E -:1000A0003700000038000000390000006100000047 -:1000B00062000000630000006400000065000000B2 -:1000C0006600000030000000310000003200000037 +:10004000446F6E653A200000736176656420636FCB +:100050006E746578740A0000666F756E6420736F45 +:100060006D657468696E6720666F722077300A006C +:100070006E756D5F746872656164733A200000008C +:1000800030000000310000003200000033000000AA +:10009000340000003500000036000000370000008A +:1000A000380000003900000061000000620000001C +:1000B00063000000640000006500000066000000AE +:1000C0000A00000030000000310000003200000093 :1000D000330000003400000035000000360000004E :1000E0003700000038000000390000006100000007 :1000F0006200000063000000640000006500000072 -:10010000660000002D2D2D2D2D2D2D2D2D2D2D2D6D -:100110002D2D2D2D2D2D2D2D2D2D2D2D2D0A00008C -:1001200046494E414C204D41540A00000A0000004F -:10013000200000000A2D2D2D2D2D2D2D2D2D2D2DA6 -:100140002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DDF -:100150002D2D2D2D0A00000046494E414C204144D2 -:0F016000440A000046494E414C205375620A0084 -:100170000000008104000081080000810C00008163 -:100180001000008114000081180000811C00008113 -:100190002000008124000081280000812C000081C3 -:1001A0003000008134000081380000813C00008173 -:1001B0004000008144000081480000814C00008123 -:1001C0005000008154000081580000815C000081D3 -:1001D0006000008164000081680000816C00008183 -:1001E0007000008174000081780000817C00008133 -:1001F00084000081880000818C00008190000081D3 -:1002000094000081980000819C000081A000008182 -:10021000A4000081A8000081AC000081B000008132 -:10022000B4000081B8000081BC000081C0000081E2 -:10023000C4000081C8000081CC000081D000008192 -:10024000D4000081D8000081DC000081E000008142 -:10025000E4000081E8000081EC000081F0000081F2 -:10026000F4000081F8000081FC00008100010081A1 +:1001000066000000300000003100000032000000F6 +:10011000330000003400000035000000360000000D +:1001200037000000380000003900000061000000C6 +:100130006200000063000000640000006500000031 +:10014000660000002D2D2D2D2D2D2D2D2D2D2D2D2D +:100150002D2D2D2D2D2D2D2D2D2D2D2D2D0A00004C +:1001600046494E414C204144440A00000A00000028 +:10017000200000000A2D2D2D2D2D2D2D2D2D2D2D66 +:100180002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D9F +:100190002D2D2D2D0A00000046494E414C2053754F +:0301A000620A00F0 +:1001A4000000008104000081080000810C0000812F +:1001B4001000008114000081180000811C000081DF +:1001C4002000008124000081280000812C0000818F +:1001D4003000008134000081380000813C0000813F +:1001E4008000008184000081880000818C000081EF +:1001F4009000008194000081980000819C0000819F +:10020400A0000081A4000081A8000081AC0000814E +:10021400B0000081B4000081B8000081BC000081FE +:10022400C4000081C8000081CC000081D00000819E +:10023400D4000081D8000081DC000081E00000814E +:10024400E4000081E8000081EC000081F0000081FE +:10025400F4000081F8000081FC00008100010081AD +:1002640004010081080100810C010081100100815A +:1002740014010081180100811C010081200100810A +:1002840024010081280100812C01008130010081BA +:1002940034010081380100813C010081400100816A :040000058000000077 :00000001FF diff --git a/src/vortex_software/vx_include/vx_front.h b/src/vortex_software/vx_include/vx_front.h index 6eba7b50..b2f106e6 100644 --- a/src/vortex_software/vx_include/vx_front.h +++ b/src/vortex_software/vx_include/vx_front.h @@ -1,7 +1,7 @@ #include "../vx_os/vx_back/vx_back.h" #include "../vx_os/vx_io/vx_io.h" -#define MAX_WARPS 7 +#define MAX_WARPS 8 #define MAX_THREADS 8 diff --git a/src/vortex_software/vx_main.c b/src/vortex_software/vx_main.c index 390fbbbe..68697347 100644 --- a/src/vortex_software/vx_main.c +++ b/src/vortex_software/vx_main.c @@ -5,10 +5,10 @@ unsigned x[1024] = {0}; unsigned y[1024] = {0}; unsigned z[1024] = {0}; -#define MAT_DIM 32 +#define MAT_DIM 8 -#define NUM_COLS 32 -#define NUM_ROWS 32 +#define NUM_COLS 8 +#define NUM_ROWS 1 void initialize_mats() { @@ -24,19 +24,18 @@ int main() initialize_mats(); - // 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"); + // // 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"); // matrix addition 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 8b4c3d42..19374552 100644 --- a/src/vortex_software/vx_os/vx_back/vx_back.c +++ b/src/vortex_software/vx_os/vx_back/vx_back.c @@ -2,8 +2,6 @@ #include "vx_back.h" #include "../vx_io/vx_io.h" -extern void vx_createThreads(unsigned, unsigned, unsigned, void *, unsigned); -extern void vx_wspawn(unsigned, unsigned, unsigned, void *, unsigned); void vx_before_main() { @@ -22,8 +20,13 @@ void vx_reschedule_warps() if (queue_isEmpty(q+curr_warp)) { - // vx_printf("Done: ", curr_warp); + vx_printf("Done: ", curr_warp); done[curr_warp] = 1; + if (curr_warp == 0) + { + vx_load_context(); + return; + } ECALL; } @@ -40,9 +43,12 @@ void vx_reschedule_warps() void vx_schedule_warps() { + + + asm __volatile__("mv s3, sp"); - for (int curr_warp = 0; curr_warp < 7; ++curr_warp) + for (int curr_warp = 1; curr_warp < 8; ++curr_warp) { if (!queue_isEmpty(q+curr_warp)) { @@ -51,13 +57,29 @@ void vx_schedule_warps() asm __volatile__("mv sp,%0"::"r" (j.base_sp):); vx_wspawn(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp); } - else - { - } } asm __volatile__("mv sp, s3"); + + vx_save_context(); + + vx_print_str("saved context\n"); + + register unsigned val asm("tp"); + if (val) + { + if (!queue_isEmpty(q)) + { + vx_print_str("found something for w0\n"); + Job j; + queue_dequeue(q,&j); + vx_printf("num_threads: ", j.n_threads); + asm __volatile__("mv sp,%0"::"r" (j.base_sp):); + vx_createThreads(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp); + } + } + } @@ -83,7 +105,7 @@ void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void * args) queue_enqueue(q + warp,&j); ++warp; - if (warp >= 7) warp = 0; + if (warp >= 8) warp = 0; } asm __volatile__("addi sp, s2, 0"); diff --git a/src/vortex_software/vx_os/vx_back/vx_back.h b/src/vortex_software/vx_os/vx_back/vx_back.h index c84c3c9b..d23b19c7 100644 --- a/src/vortex_software/vx_os/vx_back/vx_back.h +++ b/src/vortex_software/vx_os/vx_back/vx_back.h @@ -33,7 +33,15 @@ static int done[] = {0, 0, 0, 0, 0, 0, 0}; static int main_sp[1]; +unsigned context[32]; +void vx_save_context(void); +void vx_load_context(void); + + #define FUNC void (func)(unsigned, unsigned) + +void vx_createThreads(unsigned, unsigned, unsigned, void *, unsigned); +void vx_wspawn(unsigned, unsigned, unsigned, void *, unsigned); void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void *); void vx_schedule_warps(void); void vx_reschedule_warps(void); diff --git a/src/vortex_software/vx_os/vx_back/vx_back.s b/src/vortex_software/vx_os/vx_back/vx_back.s index 0d90fe6e..a735b15e 100644 --- a/src/vortex_software/vx_os/vx_back/vx_back.s +++ b/src/vortex_software/vx_os/vx_back/vx_back.s @@ -46,3 +46,84 @@ vx_wspawn: .word 0x3006b # WSPAWN instruction ret +.global context + +.type vx_save_context, @function +.global vx_save_context +vx_save_context: +la tp, context +sw x0 , 0 (tp) +sw x1 , 4 (tp) +sw x2 , 8 (tp) +sw x3 , 12(tp) +sw x4 , 16(tp) +sw x5 , 20(tp) +sw x6 , 24(tp) +sw x7 , 28(tp) +sw x8 , 32(tp) +sw x9 , 36(tp) +sw x10, 40(tp) +sw x11, 44(tp) +sw x12, 48(tp) +sw x13, 52(tp) +sw x14, 56(tp) +sw x15, 60(tp) +sw x16, 64(tp) +sw x17, 68(tp) +sw x18, 72(tp) +sw x19, 76(tp) +sw x20, 80(tp) +sw x21, 84(tp) +sw x22, 88(tp) +sw x23, 92(tp) +sw x24, 96(tp) +sw x25, 100(tp) +sw x26, 104(tp) +sw x27, 108(tp) +sw x28, 112(tp) +sw x29, 116(tp) +sw x30, 120(tp) +sw x31, 124(tp) +li tp, 1 +ret + + +.type vx_load_context, @function +.global vx_load_context +vx_load_context: +la tp, context +lw x0 , 0 (tp) +lw x1 , 4 (tp) +lw x2 , 8 (tp) +lw x3 , 12(tp) +lw x4 , 16(tp) +lw x5 , 20(tp) +lw x6 , 24(tp) +lw x7 , 28(tp) +lw x8 , 32(tp) +lw x9 , 36(tp) +lw x10, 40(tp) +lw x11, 44(tp) +lw x12, 48(tp) +lw x13, 52(tp) +lw x14, 56(tp) +lw x15, 60(tp) +lw x16, 64(tp) +lw x17, 68(tp) +lw x18, 72(tp) +lw x19, 76(tp) +lw x20, 80(tp) +lw x21, 84(tp) +lw x22, 88(tp) +lw x23, 92(tp) +lw x24, 96(tp) +lw x25, 100(tp) +lw x26, 104(tp) +lw x27, 108(tp) +lw x28, 112(tp) +lw x29, 116(tp) +lw x30, 120(tp) +lw x31, 124(tp) +li tp, 0 +ret +