diff options
Diffstat (limited to 'output/QuickSort.vaporm')
-rw-r--r-- | output/QuickSort.vaporm | 554 |
1 files changed, 393 insertions, 161 deletions
diff --git a/output/QuickSort.vaporm b/output/QuickSort.vaporm index 4fe47c6..5c53340 100644 --- a/output/QuickSort.vaporm +++ b/output/QuickSort.vaporm @@ -120,10 +120,10 @@ func QS_Start [in 0, out 0, local 14] $t6 = local[11] $t7 = local[12] $t8 = local[13] - $s4 = $v0 - $s4 = $s4 - $s4 = [$s6+0] - $s4 = [$s4+8] + $s2 = $v0 + $s4 = $s2 + $s2 = [$s6+0] + $s2 = [$s2+8] local[8] = $t3 local[9] = $t4 local[10] = $t5 @@ -131,7 +131,7 @@ func QS_Start [in 0, out 0, local 14] local[12] = $t7 local[13] = $t8 $a0 = $s6 - call $s4 + call $s2 $t3 = local[8] $t4 = local[9] $t5 = local[10] @@ -151,7 +151,7 @@ func QS_Start [in 0, out 0, local 14] $s6 = local[6] $s7 = local[7] ret -func QS_Sort [in 0, out 0, local 14] +func QS_Sort [in 0, out 0, local 42] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -160,208 +160,440 @@ func QS_Sort [in 0, out 0, local 14] local[5] = $s5 local[6] = $s6 local[7] = $s7 - $s5 = $a0 - $s6 = $a1 - $s7 = $a2 - $s4 = 0 - $s3 = $s6 - $s2 = $s7 + local[14] = $a0 + local[17] = $a1 + local[15] = $a2 + $t0 = local[18] + $t0 = 0 + local[18] = $t0 + $t0 = local[17] + $s3 = $t0 + local[17] = $t0 + $t0 = local[15] + $s2 = $t0 + local[15] = $t0 $s1 = LtS($s3 $s2 ) $s2 = $s1 if0 $s2 goto :if22_else if22_body: - $s2 = [$s5+16] - $s1 = MulS($s7 4 ) + $t0 = local[14] + $s2 = [$t0+16] + local[14] = $t0 + $t0 = local[15] + $s1 = MulS($t0 4 ) + local[15] = $t0 $s1 = Add($s1 4 ) $s1 = Add($s2 $s1 ) $s2 = [$s1+0] $s1 = $s2 - $s2 = $s6 + $t0 = local[17] + $s2 = $t0 + local[17] = $t0 $s3 = 1 $s0 = Sub($s2 $s3 ) - $s3 = $s0 - $s0 = $s7 - $s2 = 1 + $t0 = local[16] + $t0 = $s0 + local[16] = $t0 + $t0 = local[19] + $t1 = local[15] + $t0 = $t1 + local[15] = $t1 + local[19] = $t0 + $t0 = local[41] + $t0 = 1 + local[41] = $t0 while32_test: - $t7 = $s2 - if0 $t7 goto :while32_end + $t0 = local[40] + $t1 = local[41] + $t0 = $t1 + local[41] = $t1 + local[40] = $t0 + $t0 = local[40] + if0 $t0 goto :while32_end + local[40] = $t0 while32_body: - $t7 = 1 + $t0 = local[32] + $t0 = 1 + local[32] = $t0 while34_test: - $t6 = $t7 - if0 $t6 goto :while34_end + $t0 = local[31] + $t1 = local[32] + $t0 = $t1 + local[32] = $t1 + local[31] = $t0 + $t0 = local[31] + if0 $t0 goto :while34_end + local[31] = $t0 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 + $t0 = local[16] + $s7 = $t0 + local[16] = $t0 + $t4 = 1 + $s5 = Add($s7 $t4 ) + $t0 = local[16] + $t0 = $s5 + local[16] = $t0 + $t0 = local[14] + $s0 = [$t0+16] + local[14] = $t0 + $t0 = local[16] + $s3 = MulS($t0 4 ) + local[16] = $t0 + $s3 = Add($s3 4 ) + $s3 = Add($s0 $s3 ) + $s4 = [$s3+0] + $t3 = $s4 + $t7 = $t3 + $t5 = $s1 + $s2 = LtS($t7 $t5 ) + $s6 = Eq($s2 0 ) + $t6 = $s6 + if0 $t6 goto :if42_else if42_body: - $t7 = 0 + $t0 = local[32] + $t0 = 0 + local[32] = $t0 goto :if42_end if42_else: - $t7 = 1 + $t0 = local[32] + $t0 = 1 + local[32] = $t0 if42_end: goto :while34_test while34_end: - $t7 = 1 + $t0 = local[32] + $t0 = 1 + local[32] = $t0 while47_test: - $t3 = $t7 - if0 $t3 goto :while47_end + $t0 = local[26] + $t1 = local[32] + $t0 = $t1 + local[32] = $t1 + local[26] = $t0 + $t0 = local[26] + if0 $t0 goto :while47_end + local[26] = $t0 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 - $t6 = $t5 - $t5 = LtS($t4 $t6 ) - $t6 = Eq($t5 0 ) - $t5 = $t6 - if0 $t5 goto :if55_else + $t0 = local[19] + $s4 = $t0 + local[19] = $t0 + $s7 = 1 + $s0 = Sub($s4 $s7 ) + $t0 = local[19] + $t0 = $s0 + local[19] = $t0 + $t0 = local[14] + $s6 = [$t0+16] + local[14] = $t0 + $t0 = local[19] + $s3 = MulS($t0 4 ) + local[19] = $t0 + $s3 = Add($s3 4 ) + $s3 = Add($s6 $s3 ) + $s5 = [$s3+0] + $t3 = $s5 + $s2 = $s1 + $t5 = $t3 + $t7 = LtS($s2 $t5 ) + $t4 = Eq($t7 0 ) + $t6 = $t4 + if0 $t6 goto :if55_else if55_body: - $t7 = 0 + $t0 = local[32] + $t0 = 0 + local[32] = $t0 goto :if55_end if55_else: - $t7 = 1 + $t0 = local[32] + $t0 = 1 + local[32] = $t0 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] - $t6 = MulS($s0 4 ) - $t6 = Add($t6 4 ) - $t6 = Add($t7 $t6 ) - $t7 = [$t6+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 - $t6 = 1 - $t4 = Add($t7 $t6 ) - $t6 = $t4 - $t4 = LtS($t5 $t6 ) - $t6 = $t4 - if0 $t6 goto :if70_else + $t0 = local[34] + $t1 = local[14] + $t0 = [$t1+16] + local[14] = $t1 + local[34] = $t0 + $t0 = local[37] + $t1 = local[16] + $t0 = MulS($t1 4 ) + local[16] = $t1 + local[37] = $t0 + $t0 = local[37] + $t1 = local[37] + $t0 = Add($t1 4 ) + local[37] = $t1 + local[37] = $t0 + $t0 = local[37] + $t1 = local[34] + $t2 = local[37] + $t0 = Add($t1 $t2 ) + local[37] = $t2 + local[34] = $t1 + local[37] = $t0 + $t0 = local[33] + $t1 = local[37] + $t0 = [$t1+0] + local[37] = $t1 + local[33] = $t0 + $t0 = local[18] + $t1 = local[33] + $t0 = $t1 + local[33] = $t1 + local[18] = $t0 + $t0 = local[38] + $t1 = local[14] + $t0 = [$t1+16] + local[14] = $t1 + local[38] = $t0 + $t0 = local[35] + $t1 = local[16] + $t0 = MulS($t1 4 ) + local[16] = $t1 + local[35] = $t0 + $t0 = local[35] + $t1 = local[35] + $t0 = Add($t1 4 ) + local[35] = $t1 + local[35] = $t0 + $t0 = local[35] + $t1 = local[38] + $t2 = local[35] + $t0 = Add($t1 $t2 ) + local[35] = $t2 + local[38] = $t1 + local[35] = $t0 + $t0 = local[30] + $t1 = local[14] + $t0 = [$t1+16] + local[14] = $t1 + local[30] = $t0 + $t0 = local[21] + $t1 = local[19] + $t0 = MulS($t1 4 ) + local[19] = $t1 + local[21] = $t0 + $t0 = local[21] + $t1 = local[21] + $t0 = Add($t1 4 ) + local[21] = $t1 + local[21] = $t0 + $t0 = local[21] + $t1 = local[30] + $t2 = local[21] + $t0 = Add($t1 $t2 ) + local[21] = $t2 + local[30] = $t1 + local[21] = $t0 + $t0 = local[36] + $t1 = local[21] + $t0 = [$t1+0] + local[21] = $t1 + local[36] = $t0 + $t0 = local[35] + $t1 = local[36] + [$t0+0] = $t1 + local[36] = $t1 + local[35] = $t0 + $t0 = local[20] + $t1 = local[14] + $t0 = [$t1+16] + local[14] = $t1 + local[20] = $t0 + $t0 = local[27] + $t1 = local[19] + $t0 = MulS($t1 4 ) + local[19] = $t1 + local[27] = $t0 + $t0 = local[27] + $t1 = local[27] + $t0 = Add($t1 4 ) + local[27] = $t1 + local[27] = $t0 + $t0 = local[27] + $t1 = local[20] + $t2 = local[27] + $t0 = Add($t1 $t2 ) + local[27] = $t2 + local[20] = $t1 + local[27] = $t0 + $t0 = local[27] + $t1 = local[18] + [$t0+0] = $t1 + local[18] = $t1 + local[27] = $t0 + $t0 = local[29] + $t1 = local[19] + $t0 = $t1 + local[19] = $t1 + local[29] = $t0 + $t0 = local[23] + $t1 = local[16] + $t0 = $t1 + local[16] = $t1 + local[23] = $t0 + $t0 = local[22] + $t0 = 1 + local[22] = $t0 + $t0 = local[28] + $t1 = local[23] + $t2 = local[22] + $t0 = Add($t1 $t2 ) + local[22] = $t2 + local[23] = $t1 + local[28] = $t0 + $t0 = local[24] + $t1 = local[28] + $t0 = $t1 + local[28] = $t1 + local[24] = $t0 + $t0 = local[25] + $t1 = local[29] + $t2 = local[24] + $t0 = LtS($t1 $t2 ) + local[24] = $t2 + local[29] = $t1 + local[25] = $t0 + $t0 = local[39] + $t1 = local[25] + $t0 = $t1 + local[25] = $t1 + local[39] = $t0 + $t0 = local[39] + if0 $t0 goto :if70_else + local[39] = $t0 if70_body: - $s2 = 0 + $t0 = local[41] + $t0 = 0 + local[41] = $t0 goto :if70_end if70_else: - $s2 = 1 + $t0 = local[41] + $t0 = 1 + local[41] = $t0 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 ) + $t0 = local[14] + $s1 = [$t0+16] + local[14] = $t0 + $t0 = local[19] + $s0 = MulS($t0 4 ) + local[19] = $t0 $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($s1 $s0 ) + $t0 = local[14] + $s1 = [$t0+16] + local[14] = $t0 + $t0 = local[16] + $s4 = MulS($t0 4 ) + local[16] = $t0 + $s4 = Add($s4 4 ) + $s4 = Add($s1 $s4 ) + $s1 = [$s4+0] + [$s0+0] = $s1 + $t0 = local[14] + $s1 = [$t0+16] + local[14] = $t0 + $t0 = local[16] + $s0 = MulS($t0 4 ) + local[16] = $t0 $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] + $s0 = Add($s1 $s0 ) + $t0 = local[14] + $s1 = [$t0+16] + local[14] = $t0 + $t0 = local[15] + $s4 = MulS($t0 4 ) + local[15] = $t0 + $s4 = Add($s4 4 ) + $s4 = Add($s1 $s4 ) + $s1 = [$s4+0] + [$s0+0] = $s1 + $t0 = local[14] + $s1 = [$t0+16] + local[14] = $t0 + $t0 = local[15] + $s0 = MulS($t0 4 ) + local[15] = $t0 + $s0 = Add($s0 4 ) + $s0 = Add($s1 $s0 ) + $t0 = local[18] + [$s0+0] = $t0 + local[18] = $t0 + $t0 = local[14] + $s0 = [$t0+0] + local[14] = $t0 + $t0 = local[16] + $s1 = $t0 + local[16] = $t0 + $s4 = 1 + $s6 = Sub($s1 $s4 ) + $t0 = local[17] + $s1 = $t0 + local[17] = $t0 + $s1 = $s6 + $s0 = [$s0+4] local[8] = $t3 local[9] = $t4 local[10] = $t5 local[11] = $t6 local[12] = $t7 local[13] = $t8 - $a0 = $s5 - $a1 = $s2 - $a2 = $s4 - call $s1 + $t0 = local[14] + $a0 = $t0 + local[14] = $t0 + $a1 = $s4 + $a2 = $s1 + call $s0 $t3 = local[8] $t4 = local[9] $t5 = local[10] $t6 = local[11] $t7 = local[12] $t8 = local[13] - $s0 = $v0 - $s4 = $s0 - $s4 = [$s5+0] + $s6 = $v0 + $s1 = $s6 + $t0 = local[14] + $s6 = [$t0+0] + local[14] = $t0 + $t0 = local[16] + $s4 = $t0 + local[16] = $t0 + $s0 = 1 + $s3 = Add($s4 $s0 ) $s0 = $s3 - $s3 = 1 - $s2 = Add($s0 $s3 ) - $s3 = $s2 - $s2 = $s7 - $s4 = [$s4+4] + $t0 = local[15] + $s3 = $t0 + local[15] = $t0 + $s6 = [$s6+4] local[8] = $t3 local[9] = $t4 local[10] = $t5 local[11] = $t6 local[12] = $t7 local[13] = $t8 - $a0 = $s5 - $a1 = $s3 - $a2 = $s2 - call $s4 + $t0 = local[14] + $a0 = $t0 + local[14] = $t0 + $a1 = $s0 + $a2 = $s3 + call $s6 $t3 = local[8] $t4 = local[9] $t5 = local[10] $t6 = local[11] $t7 = local[12] $t8 = local[13] - $s7 = $v0 - $s4 = $s7 + $s4 = $v0 + $s1 = $s4 goto :if22_end if22_else: - $s4 = 0 + $s1 = 0 if22_end: - $s7 = 0 - $v0 = $s7 + $s1 = 0 + $v0 = $s1 $s0 = local[0] $s1 = local[1] $s2 = local[2] @@ -384,26 +616,26 @@ func QS_Print [in 0, out 0, local 14] $s7 = 0 while104_test: $s5 = $s7 - $s4 = [$s6+20] - $s3 = LtS($s5 $s4 ) - $s4 = $s3 - if0 $s4 goto :while104_end + $s1 = [$s6+20] + $s2 = LtS($s5 $s1 ) + $t7 = $s2 + if0 $t7 goto :while104_end while104_body: - $s4 = [$s6+16] - $s3 = MulS($s7 4 ) - $s3 = Add($s3 4 ) - $s3 = Add($s4 $s3 ) - $s4 = [$s3+0] - $s3 = $s4 - PrintIntS($s3 ) - $s3 = $s7 - $s4 = 1 - $s5 = Add($s3 $s4 ) - $s7 = $s5 + $t5 = [$s6+16] + $t6 = MulS($s7 4 ) + $t6 = Add($t6 4 ) + $t6 = Add($t5 $t6 ) + $s0 = [$t6+0] + $t3 = $s0 + PrintIntS($t3 ) + $s4 = $s7 + $s3 = 1 + $t4 = Add($s4 $s3 ) + $s7 = $t4 goto :while104_test while104_end: - $s6 = 0 - $v0 = $s6 + $t3 = 0 + $v0 = $t3 $s0 = local[0] $s1 = local[1] $s2 = local[2] |