summary refs log tree commit diff
path: root/src/test/abi3.ssa
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/abi3.ssa')
-rw-r--r--src/test/abi3.ssa43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/abi3.ssa b/src/test/abi3.ssa
deleted file mode 100644
index 608d1db..0000000
--- a/src/test/abi3.ssa
+++ /dev/null
@@ -1,43 +0,0 @@
-type :four = {l, b, w}
-
-data $z = { w 0 }
-
-function $test() {
- @start
-	%a  =w loadw $z
-	%y  =w add %a, %a
-
-	%s  =l alloc8 16   # allocate a :four struct
-	%s1 =l add %s, 12  # get address of the w
-	storel 4, %s       # set the l
-	storew 5, %s1      # set the w
-
-	# only the last argument should be on the stack
-	%f  =l add $F, %y
-	%x  =w call %f(w %y, w 1, w 2, w 3, :four %s, w 6)
-
-	# store the result in the
-	# global variable a
-
-	%x1 =w add %y, %x
-	storew %x1, $a
-	ret
-}
-
-# >>> driver
-# #include <stdio.h>
-# struct four { long l; char c; int i; };
-# extern void test(void);
-# int F(int a0, int a1, int a2, int a3, struct four s, int a6) {
-# 	printf("%d %d %d %d %d %d %d\n",
-# 		a0, a1, a2, a3, (int)s.l, s.i, a6);
-# 	return 42;
-# }
-# int a;
-# int main() { test(); printf("%d\n", a); return 0; }
-# <<<
-
-# >>> output
-# 0 1 2 3 4 5 6
-# 42
-# <<<