summary refs log tree commit diff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/dynalloc.ssa27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/dynalloc.ssa b/test/dynalloc.ssa
new file mode 100644
index 0000000..7c54e88
--- /dev/null
+++ b/test/dynalloc.ssa
@@ -0,0 +1,27 @@
+# make sure dynamic allocations
+# and caller-save regs interact
+# soundly
+
+function $g() {
+@start
+	ret
+}
+
+function w $f(w %arg) {
+@start
+	call $g()
+@alloc
+	%r =l alloc8 16
+	storel 180388626474, %r
+	%r8 =l add 8, %r
+	storel 180388626474, %r8
+	ret %arg
+}
+
+export
+function w $main() {
+@start
+	%a =w call $f(w 0)
+	%b =w call $f(w 0)
+	ret %a
+}