diff options
Diffstat (limited to 'output/QuickSort.vaporm')
-rw-r--r-- | output/QuickSort.vaporm | 576 |
1 files changed, 576 insertions, 0 deletions
diff --git a/output/QuickSort.vaporm b/output/QuickSort.vaporm index e69de29..3338b43 100644 --- a/output/QuickSort.vaporm +++ b/output/QuickSort.vaporm @@ -0,0 +1,576 @@ +const functable_QS + :QS_Start + :QS_Sort + :QS_Print + :QS_Init +func Main [in 0, out 0, local 17] + local[0] = $s0 + local[1] = $s1 + local[2] = $s2 + local[3] = $s3 + local[4] = $s4 + local[5] = $s5 + local[6] = $s6 + local[7] = $s7 + $s7 = HeapAllocZ(24 ) + [$s7+0] = :functable_QS + $s6 = $s7 + $s7 = [$s6+0] + $s5 = [$s7+0] + $s7 = 10 + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s6 + $a1 = $s7 + call $s5 + $s4 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s7 = $s4 + PrintIntS($s7 ) + $s0 = local[0] + $s1 = local[1] + $s2 = local[2] + $s3 = local[3] + $s4 = local[4] + $s5 = local[5] + $s6 = local[6] + $s7 = local[7] + ret +func QS_Start [in 0, out 0, local 17] + local[0] = $s0 + local[1] = $s1 + local[2] = $s2 + local[3] = $s3 + local[4] = $s4 + local[5] = $s5 + local[6] = $s6 + local[7] = $s7 + $s6 = $a0 + $s7 = $a1 + $s5 = [$s6+0] + $s4 = $s7 + $s5 = [$s5+12] + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s6 + $a1 = $s4 + call $s5 + $s7 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s4 = $s7 + $s7 = [$s6+0] + $s7 = [$s7+8] + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s6 + call $s7 + $s5 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s4 = $s5 + $s5 = 9999 + PrintIntS($s5 ) + $s5 = [$s6+20] + $s7 = 1 + $s3 = Sub($s5 $s7 ) + $s4 = $s3 + $s3 = [$s6+0] + $s7 = 0 + $s5 = $s4 + $s3 = [$s3+4] + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s6 + $a1 = $s7 + $a2 = $s5 + call $s3 + $s2 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s4 = $s2 + $s2 = [$s6+0] + $s2 = [$s2+8] + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s6 + call $s2 + $s5 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s4 = $s5 + $s5 = 0 + $v0 = $s5 + $s0 = local[0] + $s1 = local[1] + $s2 = local[2] + $s3 = local[3] + $s4 = local[4] + $s5 = local[5] + $s6 = local[6] + $s7 = local[7] + ret +func QS_Sort [in 0, out 0, local 17] + local[0] = $s0 + local[1] = $s1 + local[2] = $s2 + local[3] = $s3 + local[4] = $s4 + local[5] = $s5 + local[6] = $s6 + local[7] = $s7 + $s5 = $a0 + $s6 = $a1 + $s7 = $a2 + $s4 = 0 + $s3 = $s6 + $s2 = $s7 + $s1 = LtS($s3 $s2 ) + $s2 = $s1 + if0 $s2 goto :if22_else +if22_body: + $s2 = [$s5+16] + $s1 = MulS($s7 4 ) + $s1 = Add($s1 4 ) + $s1 = Add($s2 $s1 ) + $s2 = [$s1+0] + $s1 = $s2 + $s2 = $s6 + $s3 = 1 + $s0 = Sub($s2 $s3 ) + $s3 = $s0 + $s0 = $s7 + $s2 = 1 +while32_test: + $t7 = $s2 + if0 $t7 goto :while32_end +while32_body: + $t7 = 1 +while34_test: + $t6 = $t7 + if0 $t6 goto :while34_end +while34_body: + $t6 = $s3 + $t5 = 1 + $t4 = Add($t6 $t5 ) + $s3 = $t4 + $t4 = [$s5+16] + $t5 = MulS($s3 4 ) + $t5 = Add($t5 4 ) + $t5 = Add($t4 $t5 ) + $t4 = [$t5+0] + $t5 = $t4 + $t4 = $t5 + $t6 = $s1 + $t3 = LtS($t4 $t6 ) + $t6 = Eq($t3 0 ) + $t3 = $t6 + if0 $t3 goto :if42_else +if42_body: + $t7 = 0 + goto :if42_end +if42_else: + $t7 = 1 +if42_end: + goto :while34_test +while34_end: + $t7 = 1 +while47_test: + $t3 = $t7 + if0 $t3 goto :while47_end +while47_body: + $t3 = $s0 + $t6 = 1 + $t4 = Sub($t3 $t6 ) + $s0 = $t4 + $t4 = [$s5+16] + $t6 = MulS($s0 4 ) + $t6 = Add($t6 4 ) + $t6 = Add($t4 $t6 ) + $t4 = [$t6+0] + $t5 = $t4 + $t4 = $s1 + $s1 = $t5 + $t5 = LtS($t4 $s1 ) + $s1 = Eq($t5 0 ) + $t5 = $s1 + if0 $t5 goto :if55_else +if55_body: + $t7 = 0 + goto :if55_end +if55_else: + $t7 = 1 +if55_end: + goto :while47_test +while47_end: + $t7 = [$s5+16] + $t5 = MulS($s3 4 ) + $t5 = Add($t5 4 ) + $t5 = Add($t7 $t5 ) + $t7 = [$t5+0] + $s4 = $t7 + $t7 = [$s5+16] + $t5 = MulS($s3 4 ) + $t5 = Add($t5 4 ) + $t5 = Add($t7 $t5 ) + $t7 = [$s5+16] + $s1 = MulS($s0 4 ) + $s1 = Add($s1 4 ) + $s1 = Add($t7 $s1 ) + $t7 = [$s1+0] + [$t5+0] = $t7 + $t7 = [$s5+16] + $t5 = MulS($s0 4 ) + $t5 = Add($t5 4 ) + $t5 = Add($t7 $t5 ) + [$t5+0] = $s4 + $t5 = $s0 + $t7 = $s3 + $s1 = 1 + $t4 = Add($t7 $s1 ) + $s1 = $t4 + $t4 = LtS($t5 $s1 ) + $s1 = $t4 + if0 $s1 goto :if70_else +if70_body: + $s2 = 0 + goto :if70_end +if70_else: + $s2 = 1 +if70_end: + goto :while32_test +while32_end: + $s2 = [$s5+16] + $s1 = MulS($s0 4 ) + $s1 = Add($s1 4 ) + $s1 = Add($s2 $s1 ) + $s2 = [$s5+16] + $s0 = MulS($s3 4 ) + $s0 = Add($s0 4 ) + $s0 = Add($s2 $s0 ) + $s2 = [$s0+0] + [$s1+0] = $s2 + $s2 = [$s5+16] + $s1 = MulS($s3 4 ) + $s1 = Add($s1 4 ) + $s1 = Add($s2 $s1 ) + $s2 = [$s5+16] + $s0 = MulS($s7 4 ) + $s0 = Add($s0 4 ) + $s0 = Add($s2 $s0 ) + $s2 = [$s0+0] + [$s1+0] = $s2 + $s2 = [$s5+16] + $s1 = MulS($s7 4 ) + $s1 = Add($s1 4 ) + $s1 = Add($s2 $s1 ) + [$s1+0] = $s4 + $s1 = [$s5+0] + $s4 = $s3 + $s2 = 1 + $s0 = Sub($s4 $s2 ) + $s4 = $s6 + $s4 = $s0 + $s1 = [$s1+4] + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s5 + $a1 = $s2 + $a2 = $s4 + call $s1 + $s0 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s4 = $s0 + $s0 = [$s5+0] + $s2 = $s3 + $s3 = 1 + $s1 = Add($s2 $s3 ) + $s3 = $s1 + $s1 = $s7 + $s0 = [$s0+4] + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s5 + $a1 = $s3 + $a2 = $s1 + call $s0 + $s7 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + $s4 = $s7 + goto :if22_end +if22_else: + $s4 = 0 +if22_end: + $s4 = 0 + $v0 = $s4 + $s0 = local[0] + $s1 = local[1] + $s2 = local[2] + $s3 = local[3] + $s4 = local[4] + $s5 = local[5] + $s6 = local[6] + $s7 = local[7] + ret +func QS_Print [in 0, out 0, local 17] + local[0] = $s0 + local[1] = $s1 + local[2] = $s2 + local[3] = $s3 + local[4] = $s4 + local[5] = $s5 + local[6] = $s6 + local[7] = $s7 + $s6 = $a0 + $s7 = 0 +while104_test: + $s5 = $s7 + $s4 = [$s6+20] + $s3 = LtS($s5 $s4 ) + $s4 = $s3 + if0 $s4 goto :while104_end +while104_body: + $s4 = [$s6+16] + $s6 = MulS($s7 4 ) + $s6 = Add($s6 4 ) + $s6 = Add($s4 $s6 ) + $s4 = [$s6+0] + $s6 = $s4 + PrintIntS($s6 ) + $s6 = $s7 + $s4 = 1 + $s3 = Add($s6 $s4 ) + $s7 = $s3 + goto :while104_test +while104_end: + $s3 = 0 + $v0 = $s3 + $s0 = local[0] + $s1 = local[1] + $s2 = local[2] + $s3 = local[3] + $s4 = local[4] + $s5 = local[5] + $s6 = local[6] + $s7 = local[7] + ret +func QS_Init [in 0, out 0, local 17] + local[0] = $s0 + local[1] = $s1 + local[2] = $s2 + local[3] = $s3 + local[4] = $s4 + local[5] = $s5 + local[6] = $s6 + local[7] = $s7 + $s6 = $a0 + $s7 = $a1 + [$s6+20] = $s7 + local[8] = $t0 + local[9] = $t1 + local[10] = $t2 + local[11] = $t3 + local[12] = $t4 + local[13] = $t5 + local[14] = $t6 + local[15] = $t7 + local[16] = $t8 + $a0 = $s7 + call :AllocArray + $s5 = $v0 + $t0 = local[8] + $t1 = local[9] + $t2 = local[10] + $t3 = local[11] + $t4 = local[12] + $t5 = local[13] + $t6 = local[14] + $t7 = local[15] + $t8 = local[16] + [$s6+16] = $s5 + $s5 = [$s6+16] + $s7 = MulS(0 4 ) + $s7 = Add($s7 4 ) + $s7 = Add($s5 $s7 ) + [$s7+0] = 20 + $s7 = [$s6+16] + $s5 = MulS(1 4 ) + $s5 = Add($s5 4 ) + $s5 = Add($s7 $s5 ) + [$s5+0] = 7 + $s5 = [$s6+16] + $s7 = MulS(2 4 ) + $s7 = Add($s7 4 ) + $s7 = Add($s5 $s7 ) + [$s7+0] = 12 + $s7 = [$s6+16] + $s5 = MulS(3 4 ) + $s5 = Add($s5 4 ) + $s5 = Add($s7 $s5 ) + [$s5+0] = 18 + $s5 = [$s6+16] + $s7 = MulS(4 4 ) + $s7 = Add($s7 4 ) + $s7 = Add($s5 $s7 ) + [$s7+0] = 2 + $s7 = [$s6+16] + $s5 = MulS(5 4 ) + $s5 = Add($s5 4 ) + $s5 = Add($s7 $s5 ) + [$s5+0] = 11 + $s5 = [$s6+16] + $s7 = MulS(6 4 ) + $s7 = Add($s7 4 ) + $s7 = Add($s5 $s7 ) + [$s7+0] = 6 + $s7 = [$s6+16] + $s5 = MulS(7 4 ) + $s5 = Add($s5 4 ) + $s5 = Add($s7 $s5 ) + [$s5+0] = 9 + $s5 = [$s6+16] + $s7 = MulS(8 4 ) + $s7 = Add($s7 4 ) + $s7 = Add($s5 $s7 ) + [$s7+0] = 19 + $s7 = [$s6+16] + $s6 = MulS(9 4 ) + $s6 = Add($s6 4 ) + $s6 = Add($s7 $s6 ) + [$s6+0] = 5 + $s6 = 0 + $v0 = $s6 + $s0 = local[0] + $s1 = local[1] + $s2 = local[2] + $s3 = local[3] + $s4 = local[4] + $s5 = local[5] + $s6 = local[6] + $s7 = local[7] + ret +func AllocArray [in 0, out 0, local 17] + local[0] = $s0 + local[1] = $s1 + local[2] = $s2 + local[3] = $s3 + local[4] = $s4 + local[5] = $s5 + local[6] = $s6 + local[7] = $s7 + $s7 = $a0 + $s6 = MulS($s7 4 ) + $s6 = Add($s6 4 ) + $s5 = HeapAllocZ($s6 ) + [$s5+0] = $s7 + $v0 = $s5 + $s0 = local[0] + $s1 = local[1] + $s2 = local[2] + $s3 = local[3] + $s4 = local[4] + $s5 = local[5] + $s6 = local[6] + $s7 = local[7] + ret |