Warp Scheduling + Control Divergence working and stable

This commit is contained in:
felsabbagh3
2019-02-22 07:00:35 -05:00
parent 087a39ccf4
commit af4303a4ca
13 changed files with 298246 additions and 496 deletions

View File

@@ -6,7 +6,7 @@ Disassembly of section .text:
80000000 <_start>:
80000000: 7ffff137 lui sp,0x7ffff
80000004: 18c000ef jal ra,80000190 <queue_initialize>
80000004: 1d4000ef jal ra,800001d8 <queue_initialize>
80000008: 068000ef jal ra,80000070 <main>
8000000c: 00000073 ecall
@@ -39,7 +39,7 @@ Disassembly of section .text:
8000004c: 00038d93 mv s11,t2
80000050: 01bfe0eb 0x1bfe0eb
80000054: 00000517 auipc a0,0x0
80000058: 2a850513 addi a0,a0,680 # 800002fc <reschedule_warps>
80000058: 2f050513 addi a0,a0,752 # 80000344 <reschedule_warps>
8000005c: 0005406b 0x5406b
80000060 <wspawn>:
@@ -61,11 +61,11 @@ Disassembly of section .text:
80000094: 5cc68693 addi a3,a3,1484 # 810005cc <y+0xffffffc0>
80000098: 80000637 lui a2,0x80000
8000009c: 0d460613 addi a2,a2,212 # 800000d4 <y+0xfefffac8>
800000a0: 00100593 li a1,1
800000a4: 01000513 li a0,16
800000a8: 390000ef jal ra,80000438 <createWarps>
800000a0: 00700593 li a1,7
800000a4: 00300513 li a0,3
800000a8: 3d8000ef jal ra,80000480 <createWarps>
800000ac: 00000013 nop
800000b0: 214000ef jal ra,800002c4 <queue_isEmpty>
800000b0: 25c000ef jal ra,8000030c <queue_isEmpty>
800000b4: 00050793 mv a5,a0
800000b8: fe078ce3 beqz a5,800000b0 <main+0x40>
800000bc: 00000793 li a5,0
@@ -76,334 +76,352 @@ Disassembly of section .text:
800000d0: 00008067 ret
800000d4 <matAddition>:
800000d4: fd010113 addi sp,sp,-48
800000d8: 02112623 sw ra,44(sp)
800000dc: 02812423 sw s0,40(sp)
800000e0: 03010413 addi s0,sp,48
800000e4: fca42e23 sw a0,-36(s0)
800000e8: fcb42c23 sw a1,-40(s0)
800000ec: 408000ef jal ra,800004f4 <get_1st_arg>
800000d4: fc010113 addi sp,sp,-64
800000d8: 02112e23 sw ra,60(sp)
800000dc: 02812c23 sw s0,56(sp)
800000e0: 04010413 addi s0,sp,64
800000e4: fca42623 sw a0,-52(s0)
800000e8: fcb42423 sw a1,-56(s0)
800000ec: 450000ef jal ra,8000053c <get_1st_arg>
800000f0: fea42623 sw a0,-20(s0)
800000f4: 428000ef jal ra,8000051c <get_2nd_arg>
800000f4: 470000ef jal ra,80000564 <get_2nd_arg>
800000f8: fea42423 sw a0,-24(s0)
800000fc: 448000ef jal ra,80000544 <get_3rd_arg>
800000fc: 490000ef jal ra,8000058c <get_3rd_arg>
80000100: fea42223 sw a0,-28(s0)
80000104: fd842703 lw a4,-40(s0)
80000108: fdc42783 lw a5,-36(s0)
8000010c: 00f707b3 add a5,a4,a5
80000110: fef42023 sw a5,-32(s0)
80000114: fe042783 lw a5,-32(s0)
80000118: 00279793 slli a5,a5,0x2
8000011c: fec42703 lw a4,-20(s0)
80000120: 00f707b3 add a5,a4,a5
80000124: 0007a683 lw a3,0(a5) # 81000000 <y+0xfffff9f4>
80000128: fe042783 lw a5,-32(s0)
8000012c: 00279793 slli a5,a5,0x2
80000130: fe842703 lw a4,-24(s0)
80000134: 00f707b3 add a5,a4,a5
80000138: 0007a703 lw a4,0(a5)
8000013c: fe042783 lw a5,-32(s0)
80000140: 00279793 slli a5,a5,0x2
80000144: fe442603 lw a2,-28(s0)
80000148: 00f607b3 add a5,a2,a5
8000014c: 00e68733 add a4,a3,a4
80000150: 00e7a023 sw a4,0(a5)
80000154: fd842783 lw a5,-40(s0)
80000158: 00178713 addi a4,a5,1
8000015c: 00070793 mv a5,a4
80000160: 00179793 slli a5,a5,0x1
80000164: 00e787b3 add a5,a5,a4
80000168: 00379793 slli a5,a5,0x3
8000016c: 00e787b3 add a5,a5,a4
80000170: 00279793 slli a5,a5,0x2
80000174: 00078513 mv a0,a5
80000178: 280000ef jal ra,800003f8 <sleep>
8000017c: 00000013 nop
80000180: 02c12083 lw ra,44(sp)
80000184: 02812403 lw s0,40(sp)
80000188: 03010113 addi sp,sp,48
8000018c: 00008067 ret
80000104: fc842703 lw a4,-56(s0)
80000108: 00070793 mv a5,a4
8000010c: 00379793 slli a5,a5,0x3
80000110: 40e787b3 sub a5,a5,a4
80000114: fcc42703 lw a4,-52(s0)
80000118: 00f707b3 add a5,a4,a5
8000011c: fef42023 sw a5,-32(s0)
80000120: fe042783 lw a5,-32(s0)
80000124: 00a7b793 sltiu a5,a5,10
80000128: 0017c793 xori a5,a5,1
8000012c: fcf40fa3 sb a5,-33(s0)
80000130: fdf44783 lbu a5,-33(s0)
80000134: 00078f13 mv t5,a5
80000138: 800007b7 lui a5,0x80000
8000013c: 19478f93 addi t6,a5,404 # 80000194 <y+0xfefffb88>
80000140: 000f206b 0xf206b
80000144: 01ff707b 0x1ff707b
80000148: fe042783 lw a5,-32(s0)
8000014c: 00279793 slli a5,a5,0x2
80000150: fec42703 lw a4,-20(s0)
80000154: 00f707b3 add a5,a4,a5
80000158: 0007a683 lw a3,0(a5)
8000015c: fe042783 lw a5,-32(s0)
80000160: 00279793 slli a5,a5,0x2
80000164: fe842703 lw a4,-24(s0)
80000168: 00f707b3 add a5,a4,a5
8000016c: 0007a703 lw a4,0(a5)
80000170: fe042783 lw a5,-32(s0)
80000174: 00279793 slli a5,a5,0x2
80000178: fe442603 lw a2,-28(s0)
8000017c: 00f607b3 add a5,a2,a5
80000180: 00e68733 add a4,a3,a4
80000184: 00e7a023 sw a4,0(a5)
80000188: 800007b7 lui a5,0x80000
8000018c: 19878e13 addi t3,a5,408 # 80000198 <y+0xfefffb8c>
80000190: 000e0067 jr t3
80000194: 00000013 nop
80000198: 0000306b 0x306b
8000019c: fc842783 lw a5,-56(s0)
800001a0: 00178713 addi a4,a5,1
800001a4: 00070793 mv a5,a4
800001a8: 00179793 slli a5,a5,0x1
800001ac: 00e787b3 add a5,a5,a4
800001b0: 00379793 slli a5,a5,0x3
800001b4: 00e787b3 add a5,a5,a4
800001b8: 00279793 slli a5,a5,0x2
800001bc: 00078513 mv a0,a5
800001c0: 280000ef jal ra,80000440 <sleep>
800001c4: 00000013 nop
800001c8: 03c12083 lw ra,60(sp)
800001cc: 03812403 lw s0,56(sp)
800001d0: 04010113 addi sp,sp,64
800001d4: 00008067 ret
80000190 <queue_initialize>:
80000190: 01000297 auipc t0,0x1000
80000194: eb028293 addi t0,t0,-336 # 81000040 <q>
80000198: 00000313 li t1,0
8000019c: 00700393 li t2,7
800001a0: 0062a023 sw t1,0(t0)
800001a4: 0062a223 sw t1,4(t0)
800001a8: 0062a423 sw t1,8(t0)
800001ac: 0072a623 sw t2,12(t0)
800001b0: 0062a823 sw t1,16(t0)
800001b4: 00008067 ret
800001d8 <queue_initialize>:
800001d8: 01000297 auipc t0,0x1000
800001dc: e6828293 addi t0,t0,-408 # 81000040 <q>
800001e0: 00000313 li t1,0
800001e4: 00700393 li t2,7
800001e8: 0062a023 sw t1,0(t0)
800001ec: 0062a223 sw t1,4(t0)
800001f0: 0062a423 sw t1,8(t0)
800001f4: 0072a623 sw t2,12(t0)
800001f8: 0062a823 sw t1,16(t0)
800001fc: 00008067 ret
800001b8 <queue_enqueue>:
800001b8: 01000297 auipc t0,0x1000
800001bc: e8828293 addi t0,t0,-376 # 81000040 <q>
800001c0: 0082a303 lw t1,8(t0)
800001c4: 00130313 addi t1,t1,1
800001c8: 0062a423 sw t1,8(t0)
800001cc: 01428313 addi t1,t0,20
800001d0: 0042ae83 lw t4,4(t0)
800001d4: 005e9393 slli t2,t4,0x5
800001d8: 00730333 add t1,t1,t2
800001dc: 00052e03 lw t3,0(a0)
800001e0: 01c32023 sw t3,0(t1)
800001e4: 00452e03 lw t3,4(a0)
800001e8: 01c32223 sw t3,4(t1)
800001ec: 00852e03 lw t3,8(a0)
800001f0: 01c32423 sw t3,8(t1)
800001f4: 00c52e03 lw t3,12(a0)
800001f8: 01c32623 sw t3,12(t1)
800001fc: 01052e03 lw t3,16(a0)
80000200: 01c32823 sw t3,16(t1)
80000204: 01452e03 lw t3,20(a0)
80000208: 01c32a23 sw t3,20(t1)
8000020c: 01852e03 lw t3,24(a0)
80000210: 01c32c23 sw t3,24(t1)
80000214: 001e8e93 addi t4,t4,1
80000218: 03200f13 li t5,50
8000021c: 01ee9463 bne t4,t5,80000224 <ec>
80000220: 00000e93 li t4,0
80000200 <queue_enqueue>:
80000200: 01000297 auipc t0,0x1000
80000204: e4028293 addi t0,t0,-448 # 81000040 <q>
80000208: 0082a303 lw t1,8(t0)
8000020c: 00130313 addi t1,t1,1
80000210: 0062a423 sw t1,8(t0)
80000214: 01428313 addi t1,t0,20
80000218: 0042ae83 lw t4,4(t0)
8000021c: 005e9393 slli t2,t4,0x5
80000220: 00730333 add t1,t1,t2
80000224: 00052e03 lw t3,0(a0)
80000228: 01c32023 sw t3,0(t1)
8000022c: 00452e03 lw t3,4(a0)
80000230: 01c32223 sw t3,4(t1)
80000234: 00852e03 lw t3,8(a0)
80000238: 01c32423 sw t3,8(t1)
8000023c: 00c52e03 lw t3,12(a0)
80000240: 01c32623 sw t3,12(t1)
80000244: 01052e03 lw t3,16(a0)
80000248: 01c32823 sw t3,16(t1)
8000024c: 01452e03 lw t3,20(a0)
80000250: 01c32a23 sw t3,20(t1)
80000254: 01852e03 lw t3,24(a0)
80000258: 01c32c23 sw t3,24(t1)
8000025c: 001e8e93 addi t4,t4,1
80000260: 03200f13 li t5,50
80000264: 01ee9463 bne t4,t5,8000026c <ec>
80000268: 00000e93 li t4,0
80000224 <ec>:
80000224: 01d2a223 sw t4,4(t0)
80000228: 00008067 ret
8000026c <ec>:
8000026c: 01d2a223 sw t4,4(t0)
80000270: 00008067 ret
8000022c <queue_dequeue>:
8000022c: 01000297 auipc t0,0x1000
80000230: e1428293 addi t0,t0,-492 # 81000040 <q>
80000234: 0082a303 lw t1,8(t0)
80000238: fff30313 addi t1,t1,-1
8000023c: 0062a423 sw t1,8(t0)
80000240: 01428313 addi t1,t0,20
80000244: 0002ae83 lw t4,0(t0)
80000248: 03200f93 li t6,50
8000024c: 000e8f13 mv t5,t4
80000250: 001f0f13 addi t5,t5,1
80000254: 01ff1463 bne t5,t6,8000025c <dc>
80000258: 00000f13 li t5,0
80000274 <queue_dequeue>:
80000274: 01000297 auipc t0,0x1000
80000278: dcc28293 addi t0,t0,-564 # 81000040 <q>
8000027c: 0082a303 lw t1,8(t0)
80000280: fff30313 addi t1,t1,-1
80000284: 0062a423 sw t1,8(t0)
80000288: 01428313 addi t1,t0,20
8000028c: 0002ae83 lw t4,0(t0)
80000290: 03200f93 li t6,50
80000294: 000e8f13 mv t5,t4
80000298: 001f0f13 addi t5,t5,1
8000029c: 01ff1463 bne t5,t6,800002a4 <dc>
800002a0: 00000f13 li t5,0
8000025c <dc>:
8000025c: 01e2a023 sw t5,0(t0)
80000260: 005e9393 slli t2,t4,0x5
80000264: 00730333 add t1,t1,t2
80000268: 00032e03 lw t3,0(t1)
8000026c: 01c52023 sw t3,0(a0)
80000270: 00432e03 lw t3,4(t1)
80000274: 01c52223 sw t3,4(a0)
80000278: 00832e03 lw t3,8(t1)
8000027c: 01c52423 sw t3,8(a0)
80000280: 00c32e03 lw t3,12(t1)
80000284: 01c52623 sw t3,12(a0)
80000288: 01032e03 lw t3,16(t1)
8000028c: 01c52823 sw t3,16(a0)
80000290: 01432e03 lw t3,20(t1)
80000294: 01c52a23 sw t3,20(a0)
80000298: 01832e03 lw t3,24(t1)
8000029c: 01c52c23 sw t3,24(a0)
800002a0: 00008067 ret
800002a4 <dc>:
800002a4: 01e2a023 sw t5,0(t0)
800002a8: 005e9393 slli t2,t4,0x5
800002ac: 00730333 add t1,t1,t2
800002b0: 00032e03 lw t3,0(t1)
800002b4: 01c52023 sw t3,0(a0)
800002b8: 00432e03 lw t3,4(t1)
800002bc: 01c52223 sw t3,4(a0)
800002c0: 00832e03 lw t3,8(t1)
800002c4: 01c52423 sw t3,8(a0)
800002c8: 00c32e03 lw t3,12(t1)
800002cc: 01c52623 sw t3,12(a0)
800002d0: 01032e03 lw t3,16(t1)
800002d4: 01c52823 sw t3,16(a0)
800002d8: 01432e03 lw t3,20(t1)
800002dc: 01c52a23 sw t3,20(a0)
800002e0: 01832e03 lw t3,24(t1)
800002e4: 01c52c23 sw t3,24(a0)
800002e8: 00008067 ret
800002a4 <queue_isFull>:
800002a4: 01000297 auipc t0,0x1000
800002a8: d9c28293 addi t0,t0,-612 # 81000040 <q>
800002ac: 0082a303 lw t1,8(t0)
800002b0: 00000513 li a0,0
800002b4: 03200e13 li t3,50
800002b8: 006e1463 bne t3,t1,800002c0 <qf>
800002bc: 00150513 addi a0,a0,1
800002ec <queue_isFull>:
800002ec: 01000297 auipc t0,0x1000
800002f0: d5428293 addi t0,t0,-684 # 81000040 <q>
800002f4: 0082a303 lw t1,8(t0)
800002f8: 00000513 li a0,0
800002fc: 03200e13 li t3,50
80000300: 006e1463 bne t3,t1,80000308 <qf>
80000304: 00150513 addi a0,a0,1
800002c0 <qf>:
800002c0: 00008067 ret
80000308 <qf>:
80000308: 00008067 ret
800002c4 <queue_isEmpty>:
800002c4: 01000297 auipc t0,0x1000
800002c8: d7c28293 addi t0,t0,-644 # 81000040 <q>
800002cc: 0082a303 lw t1,8(t0)
800002d0: 00000513 li a0,0
800002d4: 00000e13 li t3,0
800002d8: 006e1463 bne t3,t1,800002e0 <qe>
800002dc: 00150513 addi a0,a0,1
8000030c <queue_isEmpty>:
8000030c: 01000297 auipc t0,0x1000
80000310: d3428293 addi t0,t0,-716 # 81000040 <q>
80000314: 0082a303 lw t1,8(t0)
80000318: 00000513 li a0,0
8000031c: 00000e13 li t3,0
80000320: 006e1463 bne t3,t1,80000328 <qe>
80000324: 00150513 addi a0,a0,1
800002e0 <qe>:
800002e0: 00008067 ret
80000328 <qe>:
80000328: 00008067 ret
800002e4 <queue_availableWarps>:
800002e4: 01000297 auipc t0,0x1000
800002e8: d5c28293 addi t0,t0,-676 # 81000040 <q>
800002ec: 00c2a303 lw t1,12(t0)
800002f0: 0102a383 lw t2,16(t0)
800002f4: 0063b533 sltu a0,t2,t1
800002f8: 00008067 ret
8000032c <queue_availableWarps>:
8000032c: 01000297 auipc t0,0x1000
80000330: d1428293 addi t0,t0,-748 # 81000040 <q>
80000334: 00c2a303 lw t1,12(t0)
80000338: 0102a383 lw t2,16(t0)
8000033c: 0063b533 sltu a0,t2,t1
80000340: 00008067 ret
800002fc <reschedule_warps>:
800002fc: fd010113 addi sp,sp,-48
80000300: 02112623 sw ra,44(sp)
80000304: 02812423 sw s0,40(sp)
80000308: 03010413 addi s0,sp,48
8000030c: fb9ff0ef jal ra,800002c4 <queue_isEmpty>
80000310: 00050793 mv a5,a0
80000314: 00078463 beqz a5,8000031c <reschedule_warps+0x20>
80000318: 00000073 ecall
8000031c: fd440793 addi a5,s0,-44
80000320: 00078513 mv a0,a5
80000324: f09ff0ef jal ra,8000022c <queue_dequeue>
80000328: fdc42783 lw a5,-36(s0)
8000032c: 00078113 mv sp,a5
80000330: fd842503 lw a0,-40(s0)
80000334: fd442583 lw a1,-44(s0)
80000338: fe042603 lw a2,-32(s0)
8000033c: fe442683 lw a3,-28(s0)
80000340: fe842703 lw a4,-24(s0)
80000344: fec42783 lw a5,-20(s0)
80000348: cc9ff0ef jal ra,80000010 <createThreads>
8000034c: 00000073 ecall
80000350: 00000013 nop
80000354: 02c12083 lw ra,44(sp)
80000358: 02812403 lw s0,40(sp)
8000035c: 03010113 addi sp,sp,48
80000360: 00008067 ret
80000344 <reschedule_warps>:
80000344: fd010113 addi sp,sp,-48
80000348: 02112623 sw ra,44(sp)
8000034c: 02812423 sw s0,40(sp)
80000350: 03010413 addi s0,sp,48
80000354: fb9ff0ef jal ra,8000030c <queue_isEmpty>
80000358: 00050793 mv a5,a0
8000035c: 00078463 beqz a5,80000364 <reschedule_warps+0x20>
80000360: 00000073 ecall
80000364: fd440793 addi a5,s0,-44
80000368: 00078513 mv a0,a5
8000036c: f09ff0ef jal ra,80000274 <queue_dequeue>
80000370: fdc42783 lw a5,-36(s0)
80000374: 00078113 mv sp,a5
80000378: fd842503 lw a0,-40(s0)
8000037c: fd442583 lw a1,-44(s0)
80000380: fe042603 lw a2,-32(s0)
80000384: fe442683 lw a3,-28(s0)
80000388: fe842703 lw a4,-24(s0)
8000038c: fec42783 lw a5,-20(s0)
80000390: c81ff0ef jal ra,80000010 <createThreads>
80000394: 00000073 ecall
80000398: 00000013 nop
8000039c: 02c12083 lw ra,44(sp)
800003a0: 02812403 lw s0,40(sp)
800003a4: 03010113 addi sp,sp,48
800003a8: 00008067 ret
80000364 <schedule_warps>:
80000364: fd010113 addi sp,sp,-48
80000368: 02112623 sw ra,44(sp)
8000036c: 02812423 sw s0,40(sp)
80000370: 03010413 addi s0,sp,48
80000374: 00010993 mv s3,sp
80000378: 0500006f j 800003c8 <schedule_warps+0x64>
8000037c: 810007b7 lui a5,0x81000
80000380: 04078793 addi a5,a5,64 # 81000040 <y+0xfffffa34>
80000384: 0107a783 lw a5,16(a5)
80000388: 00178713 addi a4,a5,1
8000038c: 810007b7 lui a5,0x81000
80000390: 04078793 addi a5,a5,64 # 81000040 <y+0xfffffa34>
80000394: 00e7a823 sw a4,16(a5)
80000398: fd440793 addi a5,s0,-44
8000039c: 00078513 mv a0,a5
800003a0: e8dff0ef jal ra,8000022c <queue_dequeue>
800003a4: fdc42783 lw a5,-36(s0)
800003a8: 00078113 mv sp,a5
800003ac: fd842503 lw a0,-40(s0)
800003b0: fd442583 lw a1,-44(s0)
800003b4: fe042603 lw a2,-32(s0)
800003b8: fe442683 lw a3,-28(s0)
800003bc: fe842703 lw a4,-24(s0)
800003c0: fec42783 lw a5,-20(s0)
800003c4: c9dff0ef jal ra,80000060 <wspawn>
800003c8: efdff0ef jal ra,800002c4 <queue_isEmpty>
800003cc: 00050793 mv a5,a0
800003d0: 00079863 bnez a5,800003e0 <schedule_warps+0x7c>
800003d4: f11ff0ef jal ra,800002e4 <queue_availableWarps>
800003d8: 00050793 mv a5,a0
800003dc: fa0790e3 bnez a5,8000037c <schedule_warps+0x18>
800003e0: 00098113 mv sp,s3
800003e4: 00000013 nop
800003e8: 02c12083 lw ra,44(sp)
800003ec: 02812403 lw s0,40(sp)
800003f0: 03010113 addi sp,sp,48
800003f4: 00008067 ret
800003ac <schedule_warps>:
800003ac: fd010113 addi sp,sp,-48
800003b0: 02112623 sw ra,44(sp)
800003b4: 02812423 sw s0,40(sp)
800003b8: 03010413 addi s0,sp,48
800003bc: 00010993 mv s3,sp
800003c0: 0500006f j 80000410 <schedule_warps+0x64>
800003c4: 810007b7 lui a5,0x81000
800003c8: 04078793 addi a5,a5,64 # 81000040 <y+0xfffffa34>
800003cc: 0107a783 lw a5,16(a5)
800003d0: 00178713 addi a4,a5,1
800003d4: 810007b7 lui a5,0x81000
800003d8: 04078793 addi a5,a5,64 # 81000040 <y+0xfffffa34>
800003dc: 00e7a823 sw a4,16(a5)
800003e0: fd440793 addi a5,s0,-44
800003e4: 00078513 mv a0,a5
800003e8: e8dff0ef jal ra,80000274 <queue_dequeue>
800003ec: fdc42783 lw a5,-36(s0)
800003f0: 00078113 mv sp,a5
800003f4: fd842503 lw a0,-40(s0)
800003f8: fd442583 lw a1,-44(s0)
800003fc: fe042603 lw a2,-32(s0)
80000400: fe442683 lw a3,-28(s0)
80000404: fe842703 lw a4,-24(s0)
80000408: fec42783 lw a5,-20(s0)
8000040c: c55ff0ef jal ra,80000060 <wspawn>
80000410: efdff0ef jal ra,8000030c <queue_isEmpty>
80000414: 00050793 mv a5,a0
80000418: 00079863 bnez a5,80000428 <schedule_warps+0x7c>
8000041c: f11ff0ef jal ra,8000032c <queue_availableWarps>
80000420: 00050793 mv a5,a0
80000424: fa0790e3 bnez a5,800003c4 <schedule_warps+0x18>
80000428: 00098113 mv sp,s3
8000042c: 00000013 nop
80000430: 02c12083 lw ra,44(sp)
80000434: 02812403 lw s0,40(sp)
80000438: 03010113 addi sp,sp,48
8000043c: 00008067 ret
800003f8 <sleep>:
800003f8: fd010113 addi sp,sp,-48
800003fc: 02812623 sw s0,44(sp)
80000400: 03010413 addi s0,sp,48
80000404: fca42e23 sw a0,-36(s0)
80000408: fe042623 sw zero,-20(s0)
8000040c: 0100006f j 8000041c <sleep+0x24>
80000410: fec42783 lw a5,-20(s0)
80000414: 00178793 addi a5,a5,1
80000418: fef42623 sw a5,-20(s0)
8000041c: fec42703 lw a4,-20(s0)
80000420: fdc42783 lw a5,-36(s0)
80000424: fef746e3 blt a4,a5,80000410 <sleep+0x18>
80000428: 00000013 nop
8000042c: 02c12403 lw s0,44(sp)
80000430: 03010113 addi sp,sp,48
80000434: 00008067 ret
80000440 <sleep>:
80000440: fd010113 addi sp,sp,-48
80000444: 02812623 sw s0,44(sp)
80000448: 03010413 addi s0,sp,48
8000044c: fca42e23 sw a0,-36(s0)
80000450: fe042623 sw zero,-20(s0)
80000454: 0100006f j 80000464 <sleep+0x24>
80000458: fec42783 lw a5,-20(s0)
8000045c: 00178793 addi a5,a5,1
80000460: fef42623 sw a5,-20(s0)
80000464: fec42703 lw a4,-20(s0)
80000468: fdc42783 lw a5,-36(s0)
8000046c: fef746e3 blt a4,a5,80000458 <sleep+0x18>
80000470: 00000013 nop
80000474: 02c12403 lw s0,44(sp)
80000478: 03010113 addi sp,sp,48
8000047c: 00008067 ret
80000438 <createWarps>:
80000438: fb010113 addi sp,sp,-80
8000043c: 04112623 sw ra,76(sp)
80000440: 04812423 sw s0,72(sp)
80000444: 05010413 addi s0,sp,80
80000448: fca42623 sw a0,-52(s0)
8000044c: fcb42423 sw a1,-56(s0)
80000450: fcc42223 sw a2,-60(s0)
80000454: fcd42023 sw a3,-64(s0)
80000458: fae42e23 sw a4,-68(s0)
8000045c: faf42c23 sw a5,-72(s0)
80000460: 00010913 mv s2,sp
80000464: fe042623 sw zero,-20(s0)
80000468: 05c0006f j 800004c4 <createWarps+0x8c>
8000046c: ffff09b7 lui s3,0xffff0
80000470: 01310133 add sp,sp,s3
80000474: fec42783 lw a5,-20(s0)
80000478: fcf42823 sw a5,-48(s0)
8000047c: fc842783 lw a5,-56(s0)
80000480: fcf42a23 sw a5,-44(s0)
80000484: 00010793 mv a5,sp
80000488: fcf42c23 sw a5,-40(s0)
8000048c: fc442783 lw a5,-60(s0)
80000490: fcf42e23 sw a5,-36(s0)
80000494: fc042783 lw a5,-64(s0)
80000498: fef42023 sw a5,-32(s0)
8000049c: fbc42783 lw a5,-68(s0)
800004a0: fef42223 sw a5,-28(s0)
800004a4: fb842783 lw a5,-72(s0)
800004a8: fef42423 sw a5,-24(s0)
800004ac: fd040793 addi a5,s0,-48
800004b0: 00078513 mv a0,a5
800004b4: d05ff0ef jal ra,800001b8 <queue_enqueue>
800004b8: fec42783 lw a5,-20(s0)
800004bc: 00178793 addi a5,a5,1
800004c0: fef42623 sw a5,-20(s0)
800004c4: fec42703 lw a4,-20(s0)
800004c8: fcc42783 lw a5,-52(s0)
800004cc: faf760e3 bltu a4,a5,8000046c <createWarps+0x34>
800004d0: 00090113 mv sp,s2
800004d4: e91ff0ef jal ra,80000364 <schedule_warps>
800004d8: 06400513 li a0,100
800004dc: f1dff0ef jal ra,800003f8 <sleep>
800004e0: 00000013 nop
800004e4: 04c12083 lw ra,76(sp)
800004e8: 04812403 lw s0,72(sp)
800004ec: 05010113 addi sp,sp,80
800004f0: 00008067 ret
80000480 <createWarps>:
80000480: fb010113 addi sp,sp,-80
80000484: 04112623 sw ra,76(sp)
80000488: 04812423 sw s0,72(sp)
8000048c: 05010413 addi s0,sp,80
80000490: fca42623 sw a0,-52(s0)
80000494: fcb42423 sw a1,-56(s0)
80000498: fcc42223 sw a2,-60(s0)
8000049c: fcd42023 sw a3,-64(s0)
800004a0: fae42e23 sw a4,-68(s0)
800004a4: faf42c23 sw a5,-72(s0)
800004a8: 00010913 mv s2,sp
800004ac: fe042623 sw zero,-20(s0)
800004b0: 05c0006f j 8000050c <createWarps+0x8c>
800004b4: ffff09b7 lui s3,0xffff0
800004b8: 01310133 add sp,sp,s3
800004bc: fec42783 lw a5,-20(s0)
800004c0: fcf42823 sw a5,-48(s0)
800004c4: fc842783 lw a5,-56(s0)
800004c8: fcf42a23 sw a5,-44(s0)
800004cc: 00010793 mv a5,sp
800004d0: fcf42c23 sw a5,-40(s0)
800004d4: fc442783 lw a5,-60(s0)
800004d8: fcf42e23 sw a5,-36(s0)
800004dc: fc042783 lw a5,-64(s0)
800004e0: fef42023 sw a5,-32(s0)
800004e4: fbc42783 lw a5,-68(s0)
800004e8: fef42223 sw a5,-28(s0)
800004ec: fb842783 lw a5,-72(s0)
800004f0: fef42423 sw a5,-24(s0)
800004f4: fd040793 addi a5,s0,-48
800004f8: 00078513 mv a0,a5
800004fc: d05ff0ef jal ra,80000200 <queue_enqueue>
80000500: fec42783 lw a5,-20(s0)
80000504: 00178793 addi a5,a5,1
80000508: fef42623 sw a5,-20(s0)
8000050c: fec42703 lw a4,-20(s0)
80000510: fcc42783 lw a5,-52(s0)
80000514: faf760e3 bltu a4,a5,800004b4 <createWarps+0x34>
80000518: 00090113 mv sp,s2
8000051c: e91ff0ef jal ra,800003ac <schedule_warps>
80000520: 06400513 li a0,100
80000524: f1dff0ef jal ra,80000440 <sleep>
80000528: 00000013 nop
8000052c: 04c12083 lw ra,76(sp)
80000530: 04812403 lw s0,72(sp)
80000534: 05010113 addi sp,sp,80
80000538: 00008067 ret
800004f4 <get_1st_arg>:
800004f4: ff010113 addi sp,sp,-16
800004f8: 00812623 sw s0,12(sp)
800004fc: 01712423 sw s7,8(sp)
80000500: 01010413 addi s0,sp,16
80000504: 000b8793 mv a5,s7
80000508: 00078513 mv a0,a5
8000050c: 00c12403 lw s0,12(sp)
80000510: 00812b83 lw s7,8(sp)
80000514: 01010113 addi sp,sp,16
80000518: 00008067 ret
8000053c <get_1st_arg>:
8000053c: ff010113 addi sp,sp,-16
80000540: 00812623 sw s0,12(sp)
80000544: 01712423 sw s7,8(sp)
80000548: 01010413 addi s0,sp,16
8000054c: 000b8793 mv a5,s7
80000550: 00078513 mv a0,a5
80000554: 00c12403 lw s0,12(sp)
80000558: 00812b83 lw s7,8(sp)
8000055c: 01010113 addi sp,sp,16
80000560: 00008067 ret
8000051c <get_2nd_arg>:
8000051c: ff010113 addi sp,sp,-16
80000520: 00812623 sw s0,12(sp)
80000524: 01812423 sw s8,8(sp)
80000528: 01010413 addi s0,sp,16
8000052c: 000c0793 mv a5,s8
80000530: 00078513 mv a0,a5
80000534: 00c12403 lw s0,12(sp)
80000538: 00812c03 lw s8,8(sp)
8000053c: 01010113 addi sp,sp,16
80000540: 00008067 ret
80000564 <get_2nd_arg>:
80000564: ff010113 addi sp,sp,-16
80000568: 00812623 sw s0,12(sp)
8000056c: 01812423 sw s8,8(sp)
80000570: 01010413 addi s0,sp,16
80000574: 000c0793 mv a5,s8
80000578: 00078513 mv a0,a5
8000057c: 00c12403 lw s0,12(sp)
80000580: 00812c03 lw s8,8(sp)
80000584: 01010113 addi sp,sp,16
80000588: 00008067 ret
80000544 <get_3rd_arg>:
80000544: ff010113 addi sp,sp,-16
80000548: 00812623 sw s0,12(sp)
8000054c: 01912423 sw s9,8(sp)
80000550: 01010413 addi s0,sp,16
80000554: 000c8793 mv a5,s9
80000558: 00078513 mv a0,a5
8000055c: 00c12403 lw s0,12(sp)
80000560: 00812c83 lw s9,8(sp)
80000564: 01010113 addi sp,sp,16
80000568: 00008067 ret
8000058c <get_3rd_arg>:
8000058c: ff010113 addi sp,sp,-16
80000590: 00812623 sw s0,12(sp)
80000594: 01912423 sw s9,8(sp)
80000598: 01010413 addi s0,sp,16
8000059c: 000c8793 mv a5,s9
800005a0: 00078513 mv a0,a5
800005a4: 00c12403 lw s0,12(sp)
800005a8: 00812c83 lw s9,8(sp)
800005ac: 01010113 addi sp,sp,16
800005b0: 00008067 ret
Disassembly of section .bss: