summary refs log tree commit diff
path: root/src/test/abi4.ssa
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/abi4.ssa')
-rw-r--r--src/test/abi4.ssa38
1 files changed, 0 insertions, 38 deletions
diff --git a/src/test/abi4.ssa b/src/test/abi4.ssa
deleted file mode 100644
index 4c3d89b..0000000
--- a/src/test/abi4.ssa
+++ /dev/null
@@ -1,38 +0,0 @@
-# return a large struct to C
-
-type :mem = { b 17 }
-
-function $alpha(l %p, w %l, l %n) {
-@ini
-	%pe =l add %p, %n
-@lop
-	%p1 =l phi @ini %p, @lop %p2
-	%l1 =w phi @ini %l, @lop %l2
-	storeb %l1, %p1
-	%p2 =l add %p1, 1
-	%l2 =w add %l1, 1
-	%c1 =w ceql %p1, %pe
-	jnz %c1, @end, @lop
-@end
-	storeb 0, %pe
-	ret
-}
-
-function :mem $test() {
-@start
-	%p =l alloc4 17
-	%r0 =w call $alpha(l %p, w 65, l 16)
-	ret %p
-}
-
-
-# >>> driver
-# #include <stdio.h>
-# typedef struct { char t[17]; } mem;
-# extern mem test(void);
-# int main() { mem m = test(); printf("%s\n", m.t); return 0; }
-# <<<
-
-# >>> output
-# ABCDEFGHIJKLMNOP
-# <<<