fixed some bugs

This commit is contained in:
felsabbagh3 2019-02-17 07:19:20 -05:00
parent 3958beef09
commit 96a8615a5f
6 changed files with 119231 additions and 17592 deletions

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,7 @@ unsigned z[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
// unsigned y[] = {0, 2, 2, 0, 5, 0, 1, 1, 4, 2, 0, 0, 3, 2, 3, 2};
// unsigned z[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
#define NUM_WARPS 7
#define NUM_WARPS 8
#define NUM_THREADS 2
int main()

View file

@ -9,8 +9,8 @@ Disassembly of section .text:
80000004: 00112623 sw ra,12(sp)
80000008: 00812423 sw s0,8(sp)
8000000c: 01010413 addi s0,sp,16
80000010: 468000ef jal ra,80000478 <initiate_stack>
80000014: 484000ef jal ra,80000498 <queue_initialize>
80000010: 464000ef jal ra,80000474 <initiate_stack>
80000014: 480000ef jal ra,80000494 <queue_initialize>
80000018: 810007b7 lui a5,0x81000
8000001c: 00078793 mv a5,a5
80000020: 81000737 lui a4,0x81000
@ -20,10 +20,10 @@ Disassembly of section .text:
80000030: 80000637 lui a2,0x80000
80000034: 07060613 addi a2,a2,112 # 80000070 <y+0xfefffed4>
80000038: 00200593 li a1,2
8000003c: 00700513 li a0,7
80000040: 2e0000ef jal ra,80000320 <createWarps>
8000003c: 00800513 li a0,8
80000040: 2dc000ef jal ra,8000031c <createWarps>
80000044: 00000013 nop
80000048: 7e8000ef jal ra,80000830 <queue_isEmpty>
80000048: 7e4000ef jal ra,8000082c <queue_isEmpty>
8000004c: 00050793 mv a5,a0
80000050: fe078ce3 beqz a5,80000048 <main+0x48>
80000054: 00000073 ecall
@ -41,11 +41,11 @@ Disassembly of section .text:
8000007c: 03010413 addi s0,sp,48
80000080: fca42e23 sw a0,-36(s0)
80000084: fcb42c23 sw a1,-40(s0)
80000088: 378000ef jal ra,80000400 <get_1st_arg>
80000088: 374000ef jal ra,800003fc <get_1st_arg>
8000008c: fea42623 sw a0,-20(s0)
80000090: 398000ef jal ra,80000428 <get_2nd_arg>
80000090: 394000ef jal ra,80000424 <get_2nd_arg>
80000094: fea42423 sw a0,-24(s0)
80000098: 3b8000ef jal ra,80000450 <get_3rd_arg>
80000098: 3b4000ef jal ra,8000044c <get_3rd_arg>
8000009c: fea42223 sw a0,-28(s0)
800000a0: fd842783 lw a5,-40(s0)
800000a4: 00179793 slli a5,a5,0x1
@ -78,46 +78,46 @@ Disassembly of section .text:
80000108: fc010113 addi sp,sp,-64
8000010c: 02812e23 sw s0,60(sp)
80000110: 03a12c23 sw s10,56(sp)
80000114: 03b12a23 sw s11,52(sp)
80000118: 04010413 addi s0,sp,64
8000011c: fca42e23 sw a0,-36(s0)
80000120: fcb42c23 sw a1,-40(s0)
80000124: fcc42a23 sw a2,-44(s0)
80000128: fcd42823 sw a3,-48(s0)
8000012c: fce42623 sw a4,-52(s0)
80000130: fcf42423 sw a5,-56(s0)
80000134: 00050f93 mv t6,a0
80000114: 04010413 addi s0,sp,64
80000118: fca42e23 sw a0,-36(s0)
8000011c: fcb42c23 sw a1,-40(s0)
80000120: fcc42a23 sw a2,-44(s0)
80000124: fcd42823 sw a3,-48(s0)
80000128: fce42623 sw a4,-52(s0)
8000012c: fcf42423 sw a5,-56(s0)
80000130: 00050f93 mv t6,a0
80000134: 00060093 mv ra,a2
80000138: 00058593 mv a1,a1
8000013c: 00068b93 mv s7,a3
80000140: 00070c13 mv s8,a4
80000144: 00078c93 mv s9,a5
80000144: 00038c93 mv s9,t2
80000148: 00010f13 mv t5,sp
8000014c: 00100793 li a5,1
80000150: fef42623 sw a5,-20(s0)
80000154: 0200006f j 80000174 <createThreads+0x6c>
80000158: fec42503 lw a0,-20(s0)
8000015c: fec42303 lw t1,-20(s0)
80000160: 80010113 addi sp,sp,-2048
80000164: 0003506b 0x3506b
80000168: fec42783 lw a5,-20(s0)
8000016c: 00178793 addi a5,a5,1
80000170: fef42623 sw a5,-20(s0)
80000174: 000f8713 mv a4,t6
80000178: fec42783 lw a5,-20(s0)
8000017c: fce7eee3 bltu a5,a4,80000158 <createThreads+0x50>
80000180: 000f0113 mv sp,t5
80000184: 00000513 li a0,0
80000188: fd442f83 lw t6,-44(s0)
8000018c: fdc42d83 lw s11,-36(s0)
80000190: 01bfe0eb 0x1bfe0eb
80000194: 800007b7 lui a5,0x80000
80000198: 20478793 addi a5,a5,516 # 80000204 <y+0xff000068>
8000019c: 00078513 mv a0,a5
800001a0: 0005406b 0x5406b
800001a4: 00000013 nop
800001a8: 03c12403 lw s0,60(sp)
800001ac: 03812d03 lw s10,56(sp)
800001b0: 03412d83 lw s11,52(sp)
8000014c: 000f8213 mv tp,t6
80000150: 00100793 li a5,1
80000154: fef42623 sw a5,-20(s0)
80000158: 0200006f j 80000178 <createThreads+0x70>
8000015c: fec42503 lw a0,-20(s0)
80000160: fec42303 lw t1,-20(s0)
80000164: 80010113 addi sp,sp,-2048
80000168: 0003506b 0x3506b
8000016c: fec42783 lw a5,-20(s0)
80000170: 00178793 addi a5,a5,1
80000174: fef42623 sw a5,-20(s0)
80000178: 000f8713 mv a4,t6
8000017c: fec42783 lw a5,-20(s0)
80000180: fce7eee3 bltu a5,a4,8000015c <createThreads+0x54>
80000184: 000f0113 mv sp,t5
80000188: 00000513 li a0,0
8000018c: 00008f93 mv t6,ra
80000190: 00020d93 mv s11,tp
80000194: 01bfe0eb 0x1bfe0eb
80000198: 800007b7 lui a5,0x80000
8000019c: 20478793 addi a5,a5,516 # 80000204 <y+0xff000068>
800001a0: 00078513 mv a0,a5
800001a4: 0005406b 0x5406b
800001a8: 00000013 nop
800001ac: 03c12403 lw s0,60(sp)
800001b0: 03812d03 lw s10,56(sp)
800001b4: 04010113 addi sp,sp,64
800001b8: 00008067 ret
@ -146,13 +146,13 @@ Disassembly of section .text:
80000208: 02112623 sw ra,44(sp)
8000020c: 02812423 sw s0,40(sp)
80000210: 03010413 addi s0,sp,48
80000214: 61c000ef jal ra,80000830 <queue_isEmpty>
80000214: 618000ef jal ra,8000082c <queue_isEmpty>
80000218: 00050793 mv a5,a0
8000021c: 00078463 beqz a5,80000224 <reschedule_warps+0x20>
80000220: 00000073 ecall
80000224: fd440793 addi a5,s0,-44
80000228: 00078513 mv a0,a5
8000022c: 4b4000ef jal ra,800006e0 <queue_dequeue>
8000022c: 4b0000ef jal ra,800006dc <queue_dequeue>
80000230: fdc42783 lw a5,-36(s0)
80000234: 00078113 mv sp,a5
80000238: fd842503 lw a0,-40(s0)
@ -161,7 +161,7 @@ Disassembly of section .text:
80000244: fe442683 lw a3,-28(s0)
80000248: fe842703 lw a4,-24(s0)
8000024c: fec42783 lw a5,-20(s0)
80000250: f6dff0ef jal ra,800001bc <wspawn>
80000250: eb9ff0ef jal ra,80000108 <createThreads>
80000254: 00000013 nop
80000258: 02c12083 lw ra,44(sp)
8000025c: 02812403 lw s0,40(sp)
@ -177,7 +177,7 @@ Disassembly of section .text:
8000027c: 0340006f j 800002b0 <schedule_warps+0x48>
80000280: fd440793 addi a5,s0,-44
80000284: 00078513 mv a0,a5
80000288: 458000ef jal ra,800006e0 <queue_dequeue>
80000288: 454000ef jal ra,800006dc <queue_dequeue>
8000028c: fdc42783 lw a5,-36(s0)
80000290: 00078113 mv sp,a5
80000294: fd842503 lw a0,-40(s0)
@ -187,10 +187,10 @@ Disassembly of section .text:
800002a4: fe842703 lw a4,-24(s0)
800002a8: fec42783 lw a5,-20(s0)
800002ac: f11ff0ef jal ra,800001bc <wspawn>
800002b0: 580000ef jal ra,80000830 <queue_isEmpty>
800002b0: 57c000ef jal ra,8000082c <queue_isEmpty>
800002b4: 00050793 mv a5,a0
800002b8: 00079863 bnez a5,800002c8 <schedule_warps+0x60>
800002bc: 5a4000ef jal ra,80000860 <queue_availableWarps>
800002bc: 5a0000ef jal ra,8000085c <queue_availableWarps>
800002c0: 00050793 mv a5,a0
800002c4: fa079ee3 bnez a5,80000280 <schedule_warps+0x18>
800002c8: 000f0113 mv sp,t5
@ -210,388 +210,387 @@ Disassembly of section .text:
800002f8: 00178793 addi a5,a5,1
800002fc: fef42623 sw a5,-20(s0)
80000300: fec42703 lw a4,-20(s0)
80000304: 000027b7 lui a5,0x2
80000308: 70f78793 addi a5,a5,1807 # 270f <main-0x7fffd8f1>
8000030c: fee7d4e3 bge a5,a4,800002f4 <sleep+0x14>
80000310: 00000013 nop
80000314: 01c12403 lw s0,28(sp)
80000318: 02010113 addi sp,sp,32
8000031c: 00008067 ret
80000304: 06300793 li a5,99
80000308: fee7d6e3 bge a5,a4,800002f4 <sleep+0x14>
8000030c: 00000013 nop
80000310: 01c12403 lw s0,28(sp)
80000314: 02010113 addi sp,sp,32
80000318: 00008067 ret
80000320 <createWarps>:
80000320: fb010113 addi sp,sp,-80
80000324: 04112623 sw ra,76(sp)
80000328: 04812423 sw s0,72(sp)
8000032c: 05010413 addi s0,sp,80
80000330: fca42623 sw a0,-52(s0)
80000334: fcb42423 sw a1,-56(s0)
80000338: fcc42223 sw a2,-60(s0)
8000033c: fcd42023 sw a3,-64(s0)
80000340: fae42e23 sw a4,-68(s0)
80000344: faf42c23 sw a5,-72(s0)
80000348: 00010f13 mv t5,sp
8000034c: fe042623 sw zero,-20(s0)
80000350: 05c0006f j 800003ac <createWarps+0x8c>
80000354: ffff0fb7 lui t6,0xffff0
80000358: 01f10133 add sp,sp,t6
8000035c: fec42783 lw a5,-20(s0)
80000360: fcf42823 sw a5,-48(s0)
80000364: fc842783 lw a5,-56(s0)
80000368: fcf42a23 sw a5,-44(s0)
8000036c: 00010793 mv a5,sp
80000370: fcf42c23 sw a5,-40(s0)
80000374: fc442783 lw a5,-60(s0)
80000378: fcf42e23 sw a5,-36(s0)
8000037c: fc042783 lw a5,-64(s0)
80000380: fef42023 sw a5,-32(s0)
80000384: fbc42783 lw a5,-68(s0)
80000388: fef42223 sw a5,-28(s0)
8000038c: fb842783 lw a5,-72(s0)
80000390: fef42423 sw a5,-24(s0)
80000394: fd040793 addi a5,s0,-48
80000398: 00078513 mv a0,a5
8000039c: 158000ef jal ra,800004f4 <queue_enqueue>
800003a0: fec42783 lw a5,-20(s0)
800003a4: 00178793 addi a5,a5,1
800003a8: fef42623 sw a5,-20(s0)
800003ac: fec42703 lw a4,-20(s0)
800003b0: fcc42783 lw a5,-52(s0)
800003b4: faf760e3 bltu a4,a5,80000354 <createWarps+0x34>
800003b8: 000f0113 mv sp,t5
800003bc: eadff0ef jal ra,80000268 <schedule_warps>
800003c0: f21ff0ef jal ra,800002e0 <sleep>
800003c4: 00000013 nop
800003c8: 04c12083 lw ra,76(sp)
800003cc: 04812403 lw s0,72(sp)
800003d0: 05010113 addi sp,sp,80
800003d4: 00008067 ret
8000031c <createWarps>:
8000031c: fb010113 addi sp,sp,-80
80000320: 04112623 sw ra,76(sp)
80000324: 04812423 sw s0,72(sp)
80000328: 05010413 addi s0,sp,80
8000032c: fca42623 sw a0,-52(s0)
80000330: fcb42423 sw a1,-56(s0)
80000334: fcc42223 sw a2,-60(s0)
80000338: fcd42023 sw a3,-64(s0)
8000033c: fae42e23 sw a4,-68(s0)
80000340: faf42c23 sw a5,-72(s0)
80000344: 00010f13 mv t5,sp
80000348: fe042623 sw zero,-20(s0)
8000034c: 05c0006f j 800003a8 <createWarps+0x8c>
80000350: ffff0fb7 lui t6,0xffff0
80000354: 01f10133 add sp,sp,t6
80000358: fec42783 lw a5,-20(s0)
8000035c: fcf42823 sw a5,-48(s0)
80000360: fc842783 lw a5,-56(s0)
80000364: fcf42a23 sw a5,-44(s0)
80000368: 00010793 mv a5,sp
8000036c: fcf42c23 sw a5,-40(s0)
80000370: fc442783 lw a5,-60(s0)
80000374: fcf42e23 sw a5,-36(s0)
80000378: fc042783 lw a5,-64(s0)
8000037c: fef42023 sw a5,-32(s0)
80000380: fbc42783 lw a5,-68(s0)
80000384: fef42223 sw a5,-28(s0)
80000388: fb842783 lw a5,-72(s0)
8000038c: fef42423 sw a5,-24(s0)
80000390: fd040793 addi a5,s0,-48
80000394: 00078513 mv a0,a5
80000398: 158000ef jal ra,800004f0 <queue_enqueue>
8000039c: fec42783 lw a5,-20(s0)
800003a0: 00178793 addi a5,a5,1
800003a4: fef42623 sw a5,-20(s0)
800003a8: fec42703 lw a4,-20(s0)
800003ac: fcc42783 lw a5,-52(s0)
800003b0: faf760e3 bltu a4,a5,80000350 <createWarps+0x34>
800003b4: 000f0113 mv sp,t5
800003b8: eb1ff0ef jal ra,80000268 <schedule_warps>
800003bc: f25ff0ef jal ra,800002e0 <sleep>
800003c0: 00000013 nop
800003c4: 04c12083 lw ra,76(sp)
800003c8: 04812403 lw s0,72(sp)
800003cc: 05010113 addi sp,sp,80
800003d0: 00008067 ret
800003d8 <get_wid>:
800003d8: ff010113 addi sp,sp,-16
800003dc: 00812623 sw s0,12(sp)
800003e0: 01712423 sw s7,8(sp)
800003e4: 01010413 addi s0,sp,16
800003e8: 000b8793 mv a5,s7
800003ec: 00078513 mv a0,a5
800003f0: 00c12403 lw s0,12(sp)
800003f4: 00812b83 lw s7,8(sp)
800003f8: 01010113 addi sp,sp,16
800003fc: 00008067 ret
800003d4 <get_wid>:
800003d4: ff010113 addi sp,sp,-16
800003d8: 00812623 sw s0,12(sp)
800003dc: 01712423 sw s7,8(sp)
800003e0: 01010413 addi s0,sp,16
800003e4: 000b8793 mv a5,s7
800003e8: 00078513 mv a0,a5
800003ec: 00c12403 lw s0,12(sp)
800003f0: 00812b83 lw s7,8(sp)
800003f4: 01010113 addi sp,sp,16
800003f8: 00008067 ret
80000400 <get_1st_arg>:
80000400: ff010113 addi sp,sp,-16
80000404: 00812623 sw s0,12(sp)
80000408: 01712423 sw s7,8(sp)
8000040c: 01010413 addi s0,sp,16
80000410: 000b8793 mv a5,s7
80000414: 00078513 mv a0,a5
80000418: 00c12403 lw s0,12(sp)
8000041c: 00812b83 lw s7,8(sp)
80000420: 01010113 addi sp,sp,16
80000424: 00008067 ret
800003fc <get_1st_arg>:
800003fc: ff010113 addi sp,sp,-16
80000400: 00812623 sw s0,12(sp)
80000404: 01712423 sw s7,8(sp)
80000408: 01010413 addi s0,sp,16
8000040c: 000b8793 mv a5,s7
80000410: 00078513 mv a0,a5
80000414: 00c12403 lw s0,12(sp)
80000418: 00812b83 lw s7,8(sp)
8000041c: 01010113 addi sp,sp,16
80000420: 00008067 ret
80000428 <get_2nd_arg>:
80000428: ff010113 addi sp,sp,-16
8000042c: 00812623 sw s0,12(sp)
80000430: 01812423 sw s8,8(sp)
80000434: 01010413 addi s0,sp,16
80000438: 000c0793 mv a5,s8
8000043c: 00078513 mv a0,a5
80000440: 00c12403 lw s0,12(sp)
80000444: 00812c03 lw s8,8(sp)
80000448: 01010113 addi sp,sp,16
8000044c: 00008067 ret
80000424 <get_2nd_arg>:
80000424: ff010113 addi sp,sp,-16
80000428: 00812623 sw s0,12(sp)
8000042c: 01812423 sw s8,8(sp)
80000430: 01010413 addi s0,sp,16
80000434: 000c0793 mv a5,s8
80000438: 00078513 mv a0,a5
8000043c: 00c12403 lw s0,12(sp)
80000440: 00812c03 lw s8,8(sp)
80000444: 01010113 addi sp,sp,16
80000448: 00008067 ret
80000450 <get_3rd_arg>:
80000450: ff010113 addi sp,sp,-16
80000454: 00812623 sw s0,12(sp)
80000458: 01912423 sw s9,8(sp)
8000045c: 01010413 addi s0,sp,16
80000460: 000c8793 mv a5,s9
80000464: 00078513 mv a0,a5
80000468: 00c12403 lw s0,12(sp)
8000046c: 00812c83 lw s9,8(sp)
80000470: 01010113 addi sp,sp,16
80000474: 00008067 ret
8000044c <get_3rd_arg>:
8000044c: ff010113 addi sp,sp,-16
80000450: 00812623 sw s0,12(sp)
80000454: 01912423 sw s9,8(sp)
80000458: 01010413 addi s0,sp,16
8000045c: 000c8793 mv a5,s9
80000460: 00078513 mv a0,a5
80000464: 00c12403 lw s0,12(sp)
80000468: 00812c83 lw s9,8(sp)
8000046c: 01010113 addi sp,sp,16
80000470: 00008067 ret
80000478 <initiate_stack>:
80000478: ff010113 addi sp,sp,-16
8000047c: 00812623 sw s0,12(sp)
80000480: 01010413 addi s0,sp,16
80000484: 7ffff137 lui sp,0x7ffff
80000488: 00000013 nop
8000048c: 00c12403 lw s0,12(sp) # 7ffff00c <main-0xff4>
80000490: 01010113 addi sp,sp,16
80000494: 00008067 ret
80000474 <initiate_stack>:
80000474: ff010113 addi sp,sp,-16
80000478: 00812623 sw s0,12(sp)
8000047c: 01010413 addi s0,sp,16
80000480: 7ffff137 lui sp,0x7ffff
80000484: 00000013 nop
80000488: 00c12403 lw s0,12(sp) # 7ffff00c <main-0xff4>
8000048c: 01010113 addi sp,sp,16
80000490: 00008067 ret
80000498 <queue_initialize>:
80000498: ff010113 addi sp,sp,-16
8000049c: 00812623 sw s0,12(sp)
800004a0: 01010413 addi s0,sp,16
800004a4: 810007b7 lui a5,0x81000
800004a8: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004ac: 1007ac23 sw zero,280(a5)
800004b0: 810007b7 lui a5,0x81000
800004b4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004b8: 1007ae23 sw zero,284(a5)
800004bc: 810007b7 lui a5,0x81000
800004c0: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004c4: 1207a023 sw zero,288(a5)
800004c8: 810007b7 lui a5,0x81000
800004cc: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004d0: 00700713 li a4,7
800004d4: 12e7a223 sw a4,292(a5)
800004d8: 810007b7 lui a5,0x81000
800004dc: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004e0: 1207a423 sw zero,296(a5)
800004e4: 00000013 nop
800004e8: 00c12403 lw s0,12(sp)
800004ec: 01010113 addi sp,sp,16
800004f0: 00008067 ret
80000494 <queue_initialize>:
80000494: ff010113 addi sp,sp,-16
80000498: 00812623 sw s0,12(sp)
8000049c: 01010413 addi s0,sp,16
800004a0: 810007b7 lui a5,0x81000
800004a4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004a8: 1007ac23 sw zero,280(a5)
800004ac: 810007b7 lui a5,0x81000
800004b0: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004b4: 1007ae23 sw zero,284(a5)
800004b8: 810007b7 lui a5,0x81000
800004bc: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004c0: 1207a023 sw zero,288(a5)
800004c4: 810007b7 lui a5,0x81000
800004c8: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004cc: 00700713 li a4,7
800004d0: 12e7a223 sw a4,292(a5)
800004d4: 810007b7 lui a5,0x81000
800004d8: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800004dc: 1207a423 sw zero,296(a5)
800004e0: 00000013 nop
800004e4: 00c12403 lw s0,12(sp)
800004e8: 01010113 addi sp,sp,16
800004ec: 00008067 ret
800004f4 <queue_enqueue>:
800004f4: fe010113 addi sp,sp,-32
800004f8: 00812e23 sw s0,28(sp)
800004fc: 02010413 addi s0,sp,32
80000500: fea42623 sw a0,-20(s0)
80000504: 810007b7 lui a5,0x81000
80000508: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000050c: 1207a783 lw a5,288(a5)
80000510: 00178713 addi a4,a5,1
80000514: 810007b7 lui a5,0x81000
80000518: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000051c: 12e7a023 sw a4,288(a5)
80000520: 810007b7 lui a5,0x81000
80000524: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000528: 11c7a703 lw a4,284(a5)
8000052c: fec42783 lw a5,-20(s0)
80000530: 0007a683 lw a3,0(a5)
80000534: 81000637 lui a2,0x81000
80000538: 00070793 mv a5,a4
8000053c: 00379793 slli a5,a5,0x3
80000540: 40e787b3 sub a5,a5,a4
80000544: 00279793 slli a5,a5,0x2
80000548: 03860713 addi a4,a2,56 # 81000038 <y+0xfffffe9c>
8000054c: 00e787b3 add a5,a5,a4
80000550: 00d7a023 sw a3,0(a5)
80000554: 810007b7 lui a5,0x81000
80000558: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000055c: 11c7a703 lw a4,284(a5)
80000560: fec42783 lw a5,-20(s0)
80000564: 0047a683 lw a3,4(a5)
80000568: 810007b7 lui a5,0x81000
8000056c: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
80000570: 00070793 mv a5,a4
80000574: 00379793 slli a5,a5,0x3
80000578: 40e787b3 sub a5,a5,a4
8000057c: 00279793 slli a5,a5,0x2
80000580: 00f607b3 add a5,a2,a5
80000584: 00d7a223 sw a3,4(a5)
80000588: 810007b7 lui a5,0x81000
8000058c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000590: 11c7a703 lw a4,284(a5)
80000594: fec42783 lw a5,-20(s0)
80000598: 0087a683 lw a3,8(a5)
8000059c: 810007b7 lui a5,0x81000
800005a0: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
800005a4: 00070793 mv a5,a4
800005a8: 00379793 slli a5,a5,0x3
800005ac: 40e787b3 sub a5,a5,a4
800005b0: 00279793 slli a5,a5,0x2
800005b4: 00f607b3 add a5,a2,a5
800005b8: 00d7a423 sw a3,8(a5)
800005bc: 810007b7 lui a5,0x81000
800005c0: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800005c4: 11c7a703 lw a4,284(a5)
800005c8: fec42783 lw a5,-20(s0)
800005cc: 00c7a683 lw a3,12(a5)
800005d0: 810007b7 lui a5,0x81000
800005d4: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
800005d8: 00070793 mv a5,a4
800005dc: 00379793 slli a5,a5,0x3
800005e0: 40e787b3 sub a5,a5,a4
800005e4: 00279793 slli a5,a5,0x2
800005e8: 00f607b3 add a5,a2,a5
800005ec: 00d7a623 sw a3,12(a5)
800005f0: 810007b7 lui a5,0x81000
800005f4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800005f8: 11c7a703 lw a4,284(a5)
800005fc: fec42783 lw a5,-20(s0)
80000600: 0107a683 lw a3,16(a5)
80000604: 81000637 lui a2,0x81000
80000608: 00070793 mv a5,a4
8000060c: 00379793 slli a5,a5,0x3
80000610: 40e787b3 sub a5,a5,a4
80000614: 00279793 slli a5,a5,0x2
80000618: 03860713 addi a4,a2,56 # 81000038 <y+0xfffffe9c>
8000061c: 00e787b3 add a5,a5,a4
80000620: 00d7a823 sw a3,16(a5)
80000624: 810007b7 lui a5,0x81000
80000628: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000062c: 11c7a703 lw a4,284(a5)
80000630: fec42783 lw a5,-20(s0)
80000634: 0147a683 lw a3,20(a5)
80000638: 810007b7 lui a5,0x81000
8000063c: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
80000640: 00070793 mv a5,a4
80000644: 00379793 slli a5,a5,0x3
80000648: 40e787b3 sub a5,a5,a4
8000064c: 00279793 slli a5,a5,0x2
80000650: 00f607b3 add a5,a2,a5
80000654: 00d7aa23 sw a3,20(a5)
80000658: 810007b7 lui a5,0x81000
8000065c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000660: 11c7a703 lw a4,284(a5)
80000664: fec42783 lw a5,-20(s0)
80000668: 0187a683 lw a3,24(a5)
8000066c: 810007b7 lui a5,0x81000
80000670: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
80000674: 00070793 mv a5,a4
80000678: 00379793 slli a5,a5,0x3
8000067c: 40e787b3 sub a5,a5,a4
80000680: 00279793 slli a5,a5,0x2
80000684: 00f607b3 add a5,a2,a5
80000688: 00d7ac23 sw a3,24(a5)
8000068c: 810007b7 lui a5,0x81000
80000690: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000694: 11c7a783 lw a5,284(a5)
80000698: 00178713 addi a4,a5,1
8000069c: 00900793 li a5,9
800006a0: 02e7e263 bltu a5,a4,800006c4 <queue_enqueue+0x1d0>
800006a4: 810007b7 lui a5,0x81000
800006a8: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006ac: 11c7a783 lw a5,284(a5)
800006b0: 00178713 addi a4,a5,1
800006b4: 810007b7 lui a5,0x81000
800006b8: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006bc: 10e7ae23 sw a4,284(a5)
800006c0: 0100006f j 800006d0 <queue_enqueue+0x1dc>
800006c4: 810007b7 lui a5,0x81000
800006c8: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006cc: 1007ae23 sw zero,284(a5)
800006d0: 00000013 nop
800006d4: 01c12403 lw s0,28(sp)
800006d8: 02010113 addi sp,sp,32
800006dc: 00008067 ret
800004f0 <queue_enqueue>:
800004f0: fe010113 addi sp,sp,-32
800004f4: 00812e23 sw s0,28(sp)
800004f8: 02010413 addi s0,sp,32
800004fc: fea42623 sw a0,-20(s0)
80000500: 810007b7 lui a5,0x81000
80000504: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000508: 1207a783 lw a5,288(a5)
8000050c: 00178713 addi a4,a5,1
80000510: 810007b7 lui a5,0x81000
80000514: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000518: 12e7a023 sw a4,288(a5)
8000051c: 810007b7 lui a5,0x81000
80000520: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000524: 11c7a703 lw a4,284(a5)
80000528: fec42783 lw a5,-20(s0)
8000052c: 0007a683 lw a3,0(a5)
80000530: 81000637 lui a2,0x81000
80000534: 00070793 mv a5,a4
80000538: 00379793 slli a5,a5,0x3
8000053c: 40e787b3 sub a5,a5,a4
80000540: 00279793 slli a5,a5,0x2
80000544: 03860713 addi a4,a2,56 # 81000038 <y+0xfffffe9c>
80000548: 00e787b3 add a5,a5,a4
8000054c: 00d7a023 sw a3,0(a5)
80000550: 810007b7 lui a5,0x81000
80000554: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000558: 11c7a703 lw a4,284(a5)
8000055c: fec42783 lw a5,-20(s0)
80000560: 0047a683 lw a3,4(a5)
80000564: 810007b7 lui a5,0x81000
80000568: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
8000056c: 00070793 mv a5,a4
80000570: 00379793 slli a5,a5,0x3
80000574: 40e787b3 sub a5,a5,a4
80000578: 00279793 slli a5,a5,0x2
8000057c: 00f607b3 add a5,a2,a5
80000580: 00d7a223 sw a3,4(a5)
80000584: 810007b7 lui a5,0x81000
80000588: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000058c: 11c7a703 lw a4,284(a5)
80000590: fec42783 lw a5,-20(s0)
80000594: 0087a683 lw a3,8(a5)
80000598: 810007b7 lui a5,0x81000
8000059c: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
800005a0: 00070793 mv a5,a4
800005a4: 00379793 slli a5,a5,0x3
800005a8: 40e787b3 sub a5,a5,a4
800005ac: 00279793 slli a5,a5,0x2
800005b0: 00f607b3 add a5,a2,a5
800005b4: 00d7a423 sw a3,8(a5)
800005b8: 810007b7 lui a5,0x81000
800005bc: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800005c0: 11c7a703 lw a4,284(a5)
800005c4: fec42783 lw a5,-20(s0)
800005c8: 00c7a683 lw a3,12(a5)
800005cc: 810007b7 lui a5,0x81000
800005d0: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
800005d4: 00070793 mv a5,a4
800005d8: 00379793 slli a5,a5,0x3
800005dc: 40e787b3 sub a5,a5,a4
800005e0: 00279793 slli a5,a5,0x2
800005e4: 00f607b3 add a5,a2,a5
800005e8: 00d7a623 sw a3,12(a5)
800005ec: 810007b7 lui a5,0x81000
800005f0: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800005f4: 11c7a703 lw a4,284(a5)
800005f8: fec42783 lw a5,-20(s0)
800005fc: 0107a683 lw a3,16(a5)
80000600: 81000637 lui a2,0x81000
80000604: 00070793 mv a5,a4
80000608: 00379793 slli a5,a5,0x3
8000060c: 40e787b3 sub a5,a5,a4
80000610: 00279793 slli a5,a5,0x2
80000614: 03860713 addi a4,a2,56 # 81000038 <y+0xfffffe9c>
80000618: 00e787b3 add a5,a5,a4
8000061c: 00d7a823 sw a3,16(a5)
80000620: 810007b7 lui a5,0x81000
80000624: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000628: 11c7a703 lw a4,284(a5)
8000062c: fec42783 lw a5,-20(s0)
80000630: 0147a683 lw a3,20(a5)
80000634: 810007b7 lui a5,0x81000
80000638: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
8000063c: 00070793 mv a5,a4
80000640: 00379793 slli a5,a5,0x3
80000644: 40e787b3 sub a5,a5,a4
80000648: 00279793 slli a5,a5,0x2
8000064c: 00f607b3 add a5,a2,a5
80000650: 00d7aa23 sw a3,20(a5)
80000654: 810007b7 lui a5,0x81000
80000658: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000065c: 11c7a703 lw a4,284(a5)
80000660: fec42783 lw a5,-20(s0)
80000664: 0187a683 lw a3,24(a5)
80000668: 810007b7 lui a5,0x81000
8000066c: 03878613 addi a2,a5,56 # 81000038 <y+0xfffffe9c>
80000670: 00070793 mv a5,a4
80000674: 00379793 slli a5,a5,0x3
80000678: 40e787b3 sub a5,a5,a4
8000067c: 00279793 slli a5,a5,0x2
80000680: 00f607b3 add a5,a2,a5
80000684: 00d7ac23 sw a3,24(a5)
80000688: 810007b7 lui a5,0x81000
8000068c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000690: 11c7a783 lw a5,284(a5)
80000694: 00178713 addi a4,a5,1
80000698: 00900793 li a5,9
8000069c: 02e7e263 bltu a5,a4,800006c0 <queue_enqueue+0x1d0>
800006a0: 810007b7 lui a5,0x81000
800006a4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006a8: 11c7a783 lw a5,284(a5)
800006ac: 00178713 addi a4,a5,1
800006b0: 810007b7 lui a5,0x81000
800006b4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006b8: 10e7ae23 sw a4,284(a5)
800006bc: 0100006f j 800006cc <queue_enqueue+0x1dc>
800006c0: 810007b7 lui a5,0x81000
800006c4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006c8: 1007ae23 sw zero,284(a5)
800006cc: 00000013 nop
800006d0: 01c12403 lw s0,28(sp)
800006d4: 02010113 addi sp,sp,32
800006d8: 00008067 ret
800006e0 <queue_dequeue>:
800006e0: fd010113 addi sp,sp,-48
800006e4: 02812623 sw s0,44(sp)
800006e8: 03010413 addi s0,sp,48
800006ec: fca42e23 sw a0,-36(s0)
800006f0: 810007b7 lui a5,0x81000
800006f4: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006f8: 1207a783 lw a5,288(a5)
800006fc: fff78713 addi a4,a5,-1
80000700: 810007b7 lui a5,0x81000
80000704: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000708: 12e7a023 sw a4,288(a5)
8000070c: 810007b7 lui a5,0x81000
80000710: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000714: 1187a703 lw a4,280(a5)
80000718: 00070793 mv a5,a4
8000071c: 00379793 slli a5,a5,0x3
80000720: 40e787b3 sub a5,a5,a4
80000724: 00279793 slli a5,a5,0x2
80000728: 81000737 lui a4,0x81000
8000072c: 03870713 addi a4,a4,56 # 81000038 <y+0xfffffe9c>
80000730: 00e787b3 add a5,a5,a4
80000734: fef42623 sw a5,-20(s0)
80000738: 810007b7 lui a5,0x81000
8000073c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000740: 1187a783 lw a5,280(a5)
80000744: 00178713 addi a4,a5,1
80000748: 00900793 li a5,9
8000074c: 02e7e263 bltu a5,a4,80000770 <queue_dequeue+0x90>
80000750: 810007b7 lui a5,0x81000
80000754: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000758: 1187a783 lw a5,280(a5)
8000075c: 00178713 addi a4,a5,1
80000760: 810007b7 lui a5,0x81000
80000764: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000768: 10e7ac23 sw a4,280(a5)
8000076c: 0100006f j 8000077c <queue_dequeue+0x9c>
80000770: 810007b7 lui a5,0x81000
80000774: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000778: 1007ac23 sw zero,280(a5)
8000077c: fec42783 lw a5,-20(s0)
80000780: 0007a703 lw a4,0(a5)
80000784: fdc42783 lw a5,-36(s0)
80000788: 00e7a023 sw a4,0(a5)
8000078c: fec42783 lw a5,-20(s0)
80000790: 0047a703 lw a4,4(a5)
80000794: fdc42783 lw a5,-36(s0)
80000798: 00e7a223 sw a4,4(a5)
8000079c: fec42783 lw a5,-20(s0)
800007a0: 0087a703 lw a4,8(a5)
800007a4: fdc42783 lw a5,-36(s0)
800007a8: 00e7a423 sw a4,8(a5)
800007ac: fec42783 lw a5,-20(s0)
800007b0: 00c7a703 lw a4,12(a5)
800007b4: fdc42783 lw a5,-36(s0)
800007b8: 00e7a623 sw a4,12(a5)
800007bc: fec42783 lw a5,-20(s0)
800007c0: 0107a703 lw a4,16(a5)
800007c4: fdc42783 lw a5,-36(s0)
800007c8: 00e7a823 sw a4,16(a5)
800007cc: fec42783 lw a5,-20(s0)
800007d0: 0147a703 lw a4,20(a5)
800007d4: fdc42783 lw a5,-36(s0)
800007d8: 00e7aa23 sw a4,20(a5)
800007dc: fec42783 lw a5,-20(s0)
800007e0: 0187a703 lw a4,24(a5)
800007e4: fdc42783 lw a5,-36(s0)
800007e8: 00e7ac23 sw a4,24(a5)
800007ec: 00000013 nop
800007f0: 02c12403 lw s0,44(sp)
800007f4: 03010113 addi sp,sp,48
800007f8: 00008067 ret
800006dc <queue_dequeue>:
800006dc: fd010113 addi sp,sp,-48
800006e0: 02812623 sw s0,44(sp)
800006e4: 03010413 addi s0,sp,48
800006e8: fca42e23 sw a0,-36(s0)
800006ec: 810007b7 lui a5,0x81000
800006f0: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
800006f4: 1207a783 lw a5,288(a5)
800006f8: fff78713 addi a4,a5,-1
800006fc: 810007b7 lui a5,0x81000
80000700: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000704: 12e7a023 sw a4,288(a5)
80000708: 810007b7 lui a5,0x81000
8000070c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000710: 1187a703 lw a4,280(a5)
80000714: 00070793 mv a5,a4
80000718: 00379793 slli a5,a5,0x3
8000071c: 40e787b3 sub a5,a5,a4
80000720: 00279793 slli a5,a5,0x2
80000724: 81000737 lui a4,0x81000
80000728: 03870713 addi a4,a4,56 # 81000038 <y+0xfffffe9c>
8000072c: 00e787b3 add a5,a5,a4
80000730: fef42623 sw a5,-20(s0)
80000734: 810007b7 lui a5,0x81000
80000738: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000073c: 1187a783 lw a5,280(a5)
80000740: 00178713 addi a4,a5,1
80000744: 00900793 li a5,9
80000748: 02e7e263 bltu a5,a4,8000076c <queue_dequeue+0x90>
8000074c: 810007b7 lui a5,0x81000
80000750: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000754: 1187a783 lw a5,280(a5)
80000758: 00178713 addi a4,a5,1
8000075c: 810007b7 lui a5,0x81000
80000760: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000764: 10e7ac23 sw a4,280(a5)
80000768: 0100006f j 80000778 <queue_dequeue+0x9c>
8000076c: 810007b7 lui a5,0x81000
80000770: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000774: 1007ac23 sw zero,280(a5)
80000778: fec42783 lw a5,-20(s0)
8000077c: 0007a703 lw a4,0(a5)
80000780: fdc42783 lw a5,-36(s0)
80000784: 00e7a023 sw a4,0(a5)
80000788: fec42783 lw a5,-20(s0)
8000078c: 0047a703 lw a4,4(a5)
80000790: fdc42783 lw a5,-36(s0)
80000794: 00e7a223 sw a4,4(a5)
80000798: fec42783 lw a5,-20(s0)
8000079c: 0087a703 lw a4,8(a5)
800007a0: fdc42783 lw a5,-36(s0)
800007a4: 00e7a423 sw a4,8(a5)
800007a8: fec42783 lw a5,-20(s0)
800007ac: 00c7a703 lw a4,12(a5)
800007b0: fdc42783 lw a5,-36(s0)
800007b4: 00e7a623 sw a4,12(a5)
800007b8: fec42783 lw a5,-20(s0)
800007bc: 0107a703 lw a4,16(a5)
800007c0: fdc42783 lw a5,-36(s0)
800007c4: 00e7a823 sw a4,16(a5)
800007c8: fec42783 lw a5,-20(s0)
800007cc: 0147a703 lw a4,20(a5)
800007d0: fdc42783 lw a5,-36(s0)
800007d4: 00e7aa23 sw a4,20(a5)
800007d8: fec42783 lw a5,-20(s0)
800007dc: 0187a703 lw a4,24(a5)
800007e0: fdc42783 lw a5,-36(s0)
800007e4: 00e7ac23 sw a4,24(a5)
800007e8: 00000013 nop
800007ec: 02c12403 lw s0,44(sp)
800007f0: 03010113 addi sp,sp,48
800007f4: 00008067 ret
800007fc <queue_isFull>:
800007fc: ff010113 addi sp,sp,-16
80000800: 00812623 sw s0,12(sp)
80000804: 01010413 addi s0,sp,16
80000808: 810007b7 lui a5,0x81000
8000080c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000810: 1207a783 lw a5,288(a5)
80000814: ff678793 addi a5,a5,-10
80000818: 0017b793 seqz a5,a5
8000081c: 0ff7f793 andi a5,a5,255
80000820: 00078513 mv a0,a5
80000824: 00c12403 lw s0,12(sp)
80000828: 01010113 addi sp,sp,16
8000082c: 00008067 ret
800007f8 <queue_isFull>:
800007f8: ff010113 addi sp,sp,-16
800007fc: 00812623 sw s0,12(sp)
80000800: 01010413 addi s0,sp,16
80000804: 810007b7 lui a5,0x81000
80000808: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000080c: 1207a783 lw a5,288(a5)
80000810: ff678793 addi a5,a5,-10
80000814: 0017b793 seqz a5,a5
80000818: 0ff7f793 andi a5,a5,255
8000081c: 00078513 mv a0,a5
80000820: 00c12403 lw s0,12(sp)
80000824: 01010113 addi sp,sp,16
80000828: 00008067 ret
80000830 <queue_isEmpty>:
80000830: ff010113 addi sp,sp,-16
80000834: 00812623 sw s0,12(sp)
80000838: 01010413 addi s0,sp,16
8000083c: 810007b7 lui a5,0x81000
80000840: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000844: 1207a783 lw a5,288(a5)
80000848: 0017b793 seqz a5,a5
8000084c: 0ff7f793 andi a5,a5,255
80000850: 00078513 mv a0,a5
80000854: 00c12403 lw s0,12(sp)
80000858: 01010113 addi sp,sp,16
8000085c: 00008067 ret
8000082c <queue_isEmpty>:
8000082c: ff010113 addi sp,sp,-16
80000830: 00812623 sw s0,12(sp)
80000834: 01010413 addi s0,sp,16
80000838: 810007b7 lui a5,0x81000
8000083c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000840: 1207a783 lw a5,288(a5)
80000844: 0017b793 seqz a5,a5
80000848: 0ff7f793 andi a5,a5,255
8000084c: 00078513 mv a0,a5
80000850: 00c12403 lw s0,12(sp)
80000854: 01010113 addi sp,sp,16
80000858: 00008067 ret
80000860 <queue_availableWarps>:
80000860: ff010113 addi sp,sp,-16
80000864: 00812623 sw s0,12(sp)
80000868: 01010413 addi s0,sp,16
8000086c: 810007b7 lui a5,0x81000
80000870: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000874: 1287a703 lw a4,296(a5)
80000878: 810007b7 lui a5,0x81000
8000087c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000880: 1247a783 lw a5,292(a5)
80000884: 00f737b3 sltu a5,a4,a5
80000888: 0ff7f793 andi a5,a5,255
8000088c: 00078513 mv a0,a5
80000890: 00c12403 lw s0,12(sp)
80000894: 01010113 addi sp,sp,16
80000898: 00008067 ret
8000085c <queue_availableWarps>:
8000085c: ff010113 addi sp,sp,-16
80000860: 00812623 sw s0,12(sp)
80000864: 01010413 addi s0,sp,16
80000868: 810007b7 lui a5,0x81000
8000086c: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
80000870: 1287a703 lw a4,296(a5)
80000874: 810007b7 lui a5,0x81000
80000878: 03878793 addi a5,a5,56 # 81000038 <y+0xfffffe9c>
8000087c: 1247a783 lw a5,292(a5)
80000880: 00f737b3 sltu a5,a4,a5
80000884: 0ff7f793 andi a5,a5,255
80000888: 00078513 mv a0,a5
8000088c: 00c12403 lw s0,12(sp)
80000890: 01010113 addi sp,sp,16
80000894: 00008067 ret
Disassembly of section .bss:

Binary file not shown.

View file

@ -1,14 +1,14 @@
:0200000480007A
:10000000130101FF232611002324810013040101A1
:10001000EF008046EF004048B70700819387070054
:10001000EF004046EF000048B707008193870700D4
:10002000370700811307C719B70600819386461664
:10003000370600801306060793052000130570009D
:10004000EF00002E13000000EF00807E93070500F4
:10003000370600801306060793052000130580008D
:10004000EF00C02D13000000EF00407E9307050075
:10005000E38C07FE73000000930700001385070080
:100060008320C10003248100130101016780000087
:10007000130101FD2326110223248102130401032D
:10008000232EA4FC232CB4FCEF0080372326A4FEEF
:10009000EF0080392324A4FEEF00803B2322A4FE3E
:10008000232EA4FC232CB4FCEF0040372326A4FE2F
:10009000EF0040392324A4FEEF00403B2322A4FEBE
:1000A000832784FD939717000327C4FDB307F70048
:1000B0002320F4FE832704FE939727000327C4FE22
:1000C000B307F70083A60700832704FE9397270052
@ -16,127 +16,127 @@
:1000E00093972700032644FEB307F6003387E60004
:1000F00023A0E700130000008320C1020324810233
:100100001301010367800000130101FC232E81020B
:10011000232CA103232AB10313040104232EA4FCDE
:10012000232CB4FC232AC4FC2328D4FC2326E4FC7F
:100130002324F4FC930F050093850500938B0600A0
:10014000130C0700938C0700130F01009307100096
:100150002326F4FE6F0000020325C4FE0323C4FE21
:10016000130101806B5003008327C4FE938717009F
:100170002326F4FE13870F008327C4FEE3EEE7FC7B
:1001800013010F0013050000832F44FD832DC4FDD0
:10019000EBE0BF01B7070080938747201385070076
:1001A0006B400500130000000324C103032D8103ED
:1001B000832D41031301010467800000130101FD39
:10011000232CA10313040104232EA4FC232CB4FCE0
:10012000232AC4FC2328D4FC2326E4FC2324F4FC47
:10013000930F05009300060093850500938B06003E
:10014000130C0700938C0300130F010013820F00A0
:10015000930710002326F4FE6F0000020325C4FE5F
:100160000323C4FE130101806B5003008327C4FEE8
:10017000938717002326F4FE13870F008327C4FEFE
:10018000E3EEE7FC13010F0013050000938F00005E
:10019000930D0200EBE0BF01B70700809387472073
:1001A000138507006B400500130000000324C10302
:1001B000032D81031301010467800000130101FD79
:1001C00023268102130401032326A4FE2324B4FE64
:1001D0002322C4FE2320D4FE232EE4FC232CF4FC93
:1001E00093830700B7070080938787101383070066
:1001F0006B000300130000000324C102130101037C
:1002000067800000130101FD2326110223248102CF
:1002100013040103EF00C061930705006384070026
:1002200073000000930744FD13850700EF00404B67
:1002100013040103EF008061930705006384070066
:1002200073000000930744FD13850700EF00004BA7
:100230008327C4FD13810700032584FD832544FD26
:10024000032604FE832644FE032784FE8327C4FE80
:10025000EFF0DFF6130000008320C10203248102C7
:10025000EFF09FEB130000008320C1020324810212
:100260001301010367800000130101FD2326110221
:100270002324810213040103130F01006F004003C4
:10028000930744FD13850700EF0080458327C4FDD5
:10028000930744FD13850700EF0040458327C4FD15
:1002900013810700032584FD832544FD032604FE06
:1002A000832644FE032784FE8327C4FEEFF01FF15C
:1002B000EF0000589307050063980700EF00405ACD
:1002B000EF00C0579307050063980700EF00005A4E
:1002C00093070500E39E07FA13010F0013000000D7
:1002D0008320C1020324810213010103678000000F
:1002E000130101FE232E810013040102232604FEC4
:1002F0006F0000018327C4FE938717002326F4FEB6
:100300000327C4FEB72700009387F770E3D4E7FE06
:10031000130000000324C1011301010267800000E3
:10032000130101FB23261104232481041304010576
:100330002326A4FC2324B4FC2322C4FC2320D4FCC5
:10034000232EE4FA232CF4FA130F0100232604FED3
:100350006F00C005B70FFFFF3301F1018327C4FE13
:100360002328F4FC832784FC232AF4FC9307010050
:10037000232CF4FC832744FC232EF4FC832704FC69
:100380002320F4FE8327C4FB2322F4FE832784FB6F
:100390002324F4FE930704FD13850700EF00801566
:1003A0008327C4FE938717002326F4FE0327C4FE89
:1003B0008327C4FCE360F7FA13010F00EFF0DFEAD4
:1003C000EFF01FF2130000008320C1040324810416
:1003D0001301010567800000130101FF232681003E
:1003E000232471011304010193870B001385070077
:1003F0000324C100832B81001301010167800000E9
:10040000130101FF2326810023247101130401013C
:1004100093870B00138507000324C100832B810001
:100420001301010167800000130101FF23268100F1
:10043000232481011304010193070C001385070095
:100440000324C100032C8100130101016780000017
:10045000130101FF232681002324910113040101CC
:1004600093870C00138507000324C100832C8100AF
:100470001301010167800000130101FF23268100A1
:100480001304010137F1FF7F130000000324C100B2
:100490001301010167800000130101FF2326810081
:1004A00013040101B70700819387870323AC07106A
:1004B000B70700819387870323AE0710B707008132
:1004C0009387870323A00712B707008193878703C9
:1004D0001307700023A2E712B707008193878703F1
:1004E00023A40712130000000324C100130101011B
:1004F00067800000130101FE232E81001304010216
:100500002326A4FEB70700819387870383A70712DA
:1005100013871700B70700819387870323A0E7128B
:10052000B70700819387870303A7C7118327C4FEFA
:1005300083A60700370600819307070093973700CB
:10054000B387E7409397270013078603B387E70035
:1005500023A0D700B70700819387870303A7C7119C
:100560008327C4FE83A64700B7070081138687034D
:100570009307070093973700B387E74093972700C7
:10058000B307F60023A2D700B7070081938787033C
:1005900003A7C7118327C4FE83A68700B70700817E
:1005A000138687039307070093973700B387E740C5
:1005B00093972700B307F60023A4D700B70700815D
:1005C0009387870303A7C7118327C4FE83A6C700A9
:1005D000B7070081138687039307070093973700B7
:1005E000B387E74093972700B307F60023A6D70009
:1005F000B70700819387870303A7C7118327C4FE2A
:1006000083A60701370600819307070093973700F9
:10061000B387E7409397270013078603B387E70064
:1006200023A8D700B70700819387870303A7C711C3
:100630008327C4FE83A64701B7070081138687037B
:100640009307070093973700B387E74093972700F6
:10065000B307F60023AAD700B70700819387870363
:1006600003A7C7118327C4FE83A68701B7070081AC
:10067000138687039307070093973700B387E740F4
:1006800093972700B307F60023ACD700B707008184
:100690009387870383A7C7111387170093079000D9
:1006A00063E2E702B70700819387870383A7C71137
:1006B00013871700B70700819387870323AEE710DE
:1006C0006F000001B70700819387870323AE0710EF
:1006D000130000000324C101130101026780000020
:1006E000130101FD2326810213040103232EA4FC20
:1006F000B70700819387870383A707121387F7FF44
:10070000B70700819387870323A0E712B70700810B
:100710009387870303A787119307070093973700F1
:10072000B387E740939727003707008113078703B4
:10073000B387E7002326F4FEB7070081938787037A
:1007400083A78711138717009307900063E2E702DE
:10075000B70700819387870383A787111387170043
:10076000B70700819387870323ACE7106F00000170
:10077000B70700819387870323AC07108327C4FE44
:1007800003A707008327C4FD23A0E7008327C4FE37
:1007900003A747008327C4FD23A2E7008327C4FEE5
:1007A00003A787008327C4FD23A4E7008327C4FE93
:1007B00003A7C7008327C4FD23A6E7008327C4FE41
:1007C00003A707018327C4FD23A8E7008327C4FEEE
:1007D00003A747018327C4FD23AAE7008327C4FE9C
:1007E00003A787018327C4FD23ACE70013000000A3
:1007F0000324C1021301010367800000130101FFFC
:100800002326810013040101B70700819387870322
:1008100083A70712938767FF93B7170093F7F70F24
:10082000138507000324C100130101016780000044
:10083000130101FF2326810013040101B707008182
:100840009387870383A7071293B7170093F7F70FD0
:10085000138507000324C100130101016780000014
:10086000130101FF2326810013040101B707008152
:100870009387870303A78712B707008193878703AE
:1008800083A74712B337F70093F7F70F13850700D5
:0C0890000324C100130101016780000077
:100300000327C4FE93073006E3D6E7FE1300000080
:100310000324C1011301010267800000130101FBE6
:100320002326110423248104130401052326A4FC9D
:100330002324B4FC2322C4FC2320D4FC232EE4FA7F
:10034000232CF4FA130F0100232604FE6F00C005CE
:10035000B70FFFFF3301F1018327C4FE2328F4FC0C
:10036000832784FC232AF4FC93070100232CF4FC4C
:10037000832744FC232EF4FC832704FC2320F4FE73
:100380008327C4FB2322F4FE832784FB2324F4FE6B
:10039000930704FD13850700EF0080158327C4FE33
:1003A000938717002326F4FE0327C4FE8327C4FC8B
:1003B000E360F7FA13010F00EFF01FEBEFF05FF2CD
:1003C000130000008320C1040324810413010105EC
:1003D00067800000130101FF23268100232471019F
:1003E0001304010193870B00138507000324C10048
:1003F000832B81001301010167800000130101FFBD
:1004000023268100232471011304010193870B002B
:10041000138507000324C100832B81001301010110
:1004200067800000130101FF23268100232481013E
:100430001304010193070C00138507000324C10076
:10044000032C81001301010167800000130101FFEB
:1004500023268100232491011304010193870C00BA
:10046000138507000324C100832C810013010101BF
:1004700067800000130101FF23268100130401019E
:1004800037F1FF7F130000000324C10013010101B5
:1004900067800000130101FF23268100130401017E
:1004A000B70700819387870323AC0710B707008144
:1004B0009387870323AE0710B707008193878703CD
:1004C00023A00712B70700819387870313077000E3
:1004D00023A2E712B70700819387870323A407129B
:1004E000130000000324C100130101016780000014
:1004F000130101FE232E8100130401022326A4FE12
:10050000B70700819387870383A707121387170014
:10051000B70700819387870323A0E712B7070081FD
:100520009387870303A7C7118327C4FE83A6070009
:10053000370600819307070093973700B387E7409A
:100540009397270013078603B387E70023A0D700FC
:10055000B70700819387870303A7C7118327C4FECA
:1005600083A64700B7070081138687039307070018
:1005700093973700B387E74093972700B307F600B8
:1005800023A2D700B70700819387870303A7C7116A
:100590008327C4FE83A68700B707008113868703DD
:1005A0009307070093973700B387E7409397270097
:1005B000B307F60023A4D700B7070081938787030A
:1005C00003A7C7118327C4FE83A6C700B70700810E
:1005D000138687039307070093973700B387E74095
:1005E00093972700B307F60023A6D700B70700812B
:1005F0009387870303A7C7118327C4FE83A6070138
:10060000370600819307070093973700B387E740C9
:100610009397270013078603B387E70023A8D70023
:10062000B70700819387870303A7C7118327C4FEF9
:1006300083A64701B7070081138687039307070046
:1006400093973700B387E74093972700B307F600E7
:1006500023AAD700B70700819387870303A7C71191
:100660008327C4FE83A68701B7070081138687030B
:100670009307070093973700B387E74093972700C6
:10068000B307F60023ACD700B70700819387870331
:1006900083A7C711138717009307900063E2E7024F
:1006A000B70700819387870383A7C71113871700B4
:1006B000B70700819387870323AEE7106F0000011F
:1006C000B70700819387870323AE0710130000004C
:1006D0000324C1011301010267800000130101FD21
:1006E0002326810213040103232EA4FCB7070081F3
:1006F0009387870383A707121387F7FFB707008144
:100700009387870323A0E712B707008193878703A6
:1007100003A787119307070093973700B387E74034
:10072000939727003707008113078703B387E700F4
:100730002326F4FEB70700819387870383A78711D9
:10074000138717009307900063E2E702B707008161
:100750009387870383A7871113871700B707008143
:100760009387870323ACE7106F000001B707008170
:100770009387870323AC07108327C4FE03A70700D2
:100780008327C4FD23A0E7008327C4FE03A74700F7
:100790008327C4FD23A2E7008327C4FE03A78700A5
:1007A0008327C4FD23A4E7008327C4FE03A7C70053
:1007B0008327C4FD23A6E7008327C4FE03A7070100
:1007C0008327C4FD23A8E7008327C4FE03A74701AE
:1007D0008327C4FD23AAE7008327C4FE03A787015C
:1007E0008327C4FD23ACE700130000000324C102EB
:1007F0001301010367800000130101FF232681001C
:1008000013040101B70700819387870383A70712A9
:10081000938767FF93B7170093F7F70F13850700C8
:100820000324C1001301010167800000130101FFCF
:100830002326810013040101B707008193878703F2
:1008400083A7071293B7170093F7F70F13850700D5
:100850000324C1001301010167800000130101FF9F
:100860002326810013040101B707008193878703C2
:1008700003A78712B70700819387870383A74712CF
:10088000B337F70093F7F70F138507000324C10070
:08089000130101016780000063
:02000004810079
:100164000100000001000000060000000000000083
:100174000300000001000000010000000200000074

View file

@ -4,16 +4,18 @@ void createThreads(unsigned num_threads, unsigned wid, unsigned func_addr, unsig
{
asm __volatile__("mv t6, a0");
asm __volatile__("mv ra, a2");
asm __volatile__("mv a1, a1");
asm __volatile__("mv s7, a3");
asm __volatile__("mv s8, a4");
asm __volatile__("mv s9, a5");
asm __volatile__("mv s9, t2");
asm __volatile__("addi t5, sp, 0");
register unsigned num_threads_ asm("t6");
asm __volatile__("mv tp, t6");
for (unsigned i = 1; i < num_threads_; i++)
{
@ -29,8 +31,10 @@ void createThreads(unsigned num_threads, unsigned wid, unsigned func_addr, unsig
// jalis TO FUNC
register unsigned num_lanes asm("t6") = func_addr;
register unsigned link asm("s11") = num_threads;
// register unsigned num_lanes asm("t6") = func_addr;
// register unsigned link asm("s11") = num_threads;
asm __volatile__("mv t6, ra");
asm __volatile__("mv s11, tp");
JALRS;
@ -114,7 +118,7 @@ void reschedule_warps()
Job j;
queue_dequeue(&j);
asm __volatile__("mv sp,%0"::"r" (j.base_sp):);
wspawn(j.n_threads, j.wid, j.func_ptr, j.x, j.y, j.z);
createThreads(j.n_threads, j.wid, j.func_ptr, j.x, j.y, j.z);
}
@ -134,7 +138,7 @@ void schedule_warps()
void sleep()
{
for(int z = 0; z < 10000; z++) {}
for(int z = 0; z < 100; z++) {}
}