aboutsummaryrefslogtreecommitdiff
path: root/tests/varargs.qbe
diff options
context:
space:
mode:
Diffstat (limited to 'tests/varargs.qbe')
-rw-r--r--tests/varargs.qbe22
1 files changed, 14 insertions, 8 deletions
diff --git a/tests/varargs.qbe b/tests/varargs.qbe
index 16db877..42543a1 100644
--- a/tests/varargs.qbe
+++ b/tests/varargs.qbe
@@ -2,20 +2,26 @@ export
function $f(w %.1, ...) {
@start.1
%.2 =l alloc4 4
+ storew 0, %.2
storew %.1, %.2
%.3 =l alloc8 24
@body.2
+ storel 0, %.3
+ %.4 =l add %.3, 8
+ storel 0, %.4
+ %.5 =l add %.3, 16
+ storel 0, %.5
vastart %.3
@while_cond.3
- %.4 =w loadsw %.2
- jnz %.4, @while_body.4, @while_join.5
+ %.6 =w loadsw %.2
+ jnz %.6, @while_body.4, @while_join.5
@while_body.4
- %.5 =w vaarg %.3
- %.6 =s vaarg %.3
- %.7 =l vaarg %.3
- %.8 =w loadsw %.2
- %.9 =w sub %.8, 1
- storew %.9, %.2
+ %.7 =w vaarg %.3
+ %.8 =s vaarg %.3
+ %.9 =l vaarg %.3
+ %.10 =w loadsw %.2
+ %.11 =w sub %.10, 1
+ storew %.11, %.2
jmp @while_cond.3
@while_join.5
ret